(57)【要約】【課題】文字列の抽出に失敗してから正しい文字列を得るまでに必要な手間を削減可能な文字列抽出装置を提供する。【解決手段】文字認識装置１の文字列抽出部１１４は、文字データ記憶部１１８に記憶されている文字データの示す文字群から、文字列を抽出する。文字列再構成候補作成部１１６は、上記抽出した文字列に対して再構成が指示された場合、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する。これにより、ユーザは、正しい順序に整列された文字列を、少ない手間で取得することができる。【選択図】図１
2007206985.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に記憶された文字情報が示す文字群から、当該文字群に含まれる１以上の文字列を抽出する文字列抽出手段を有する文字列抽出装置において、
上記抽出した文字列に対して再構成が指示された場合、再構成結果文字列として、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する再構成手段を備えていることを特徴とする文字列抽出装置。
【請求項２】
上記再構成手段は、上記文字列抽出手段が抽出した全ての文字列のうちの一部の文字列のみへの再構成指示を受付可能であることを特徴とする請求項１記載の文字列抽出装置。
【請求項３】
上記文字情報は、文字の画像を示す情報であり、
上記文字列抽出手段は、文字群の文字情報の示す画像を文字認識して、当該文字群を構成する文字の文字コードを認識し、当該文字コードを上記記憶装置に記憶する文字認識手段を備え、
上記再構成手段は、上記記憶手段に格納された文字コードを参照して、上記再構成結果文字列として、上記再構成が指示された文字列と同じ文字コードの文字から構成され、しかも、当該指示された文字列とは異なる少なくとも１つの文字列を生成することを特徴とする請求項１記載の文字列抽出装置。
【請求項４】
上記再構成手段は、再構成指示として、文字列の統合指示を受け付けた場合、再構成が指示された文字列を結合して、上記再構成結果文字列を生成することを特徴とする請求項１記載の文字列抽出装置。
【請求項５】
上記再構成手段は、再構成指示として、文字列の分離指示を受け付けた場合、再構成が指示された文字列を複数の文字列に分離して、上記再構成結果文字列を生成することを特徴とする請求項１記載の文字列抽出装置。
【請求項６】
上記記憶装置に記憶された文字情報には、文字の文字コードを示す文字データに加えて、当該文字が配置される座標を示す位置データが含まれており、
上記再構成手段は、再構成が指示された文字列を構成する文字の文字情報の位置データを参照して、上記再構成結果文字列を生成することを特徴とする請求項１記載の文字列抽出装置。
【請求項７】
上記文字列が、文字列の種類を示す項目として予め定められた項目群のうち、いずれの項目の文字列であるかを判定する項目判定手段を備え、
上記再構成手段は、上記項目判定手段によって判定された、上記指示された文字列の項目を参照して、上記再構成結果文字列を生成することを特徴とする請求項１記載の文字列抽出装置。
【請求項８】
上記再構成手段は、再構成結果文字列の候補として、複数の候補が存在するか否かを判定すると共に、複数の候補が存在する場合、それらの候補を提示して、いずれの候補を選択するかの入力を促し、選択された候補を上記再構成結果文字列とすることを特徴とする請求項１記載の文字列抽出装置。
【請求項９】
上記再構成手段は、上記記憶装置に記憶されたルールに従って、上記再構成文字列を生成するものであり、
ユーザからの入力に従って、上記記憶装置に記憶されたルールを更新する更新手段を備えていることを特徴とする請求項１記載の文字列抽出装置。
【請求項１０】
記憶装置に記憶された文字情報が示す文字群から、当該文字群に含まれる１以上の文字列を抽出する文字列抽出工程を有する文字列抽出方法において、
上記抽出した文字列に対して再構成が指示された場合、再構成結果文字列として、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する再構成工程を含んでいることを特徴とする文字列抽出方法。
【請求項１１】
請求項１〜９のいずれか１項に記載の文字列抽出装置の各手段として、コンピュータを動作させるプログラム。
【請求項１２】
請求項１１記載のプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字群から当該文字群に含まれる文字列を抽出する文字列抽出装置、文字列抽出方法、そのプログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
従来、紙面などに記載された文字を認識し文字コードとして出力する文字認識装置は、様々な場面で使用されており、用途に応じて、一般文書認識用、名刺認識用など種々の専用の文字認識装置がある。文字認識装置には、各文字を高精度に認識することが求められるだけではなく、認識された文字からなる文字列を順序どおりに正しい範囲で検出することが求められる。以下、それを、図１７から図１９に基づいて、具体的に説明する。
【０００３】
図１７、図１８、図１９は、認識対象である名刺と、その名刺を名刺認識装置で認識することによって得られた、項目付き認識結果との対の例である。この例の名刺認識装置は、対象文書内の文字列を抽出し、予め定められた会社名、肩書、氏名、または住所などの項目情報を付与して出力する。また、当該名刺認識装置は、２つ以上の項目がある場合、住所１、住所２、または住所３のように項目名に番号を付与している。
【０００４】
図１７は、過統合された場合を示す図であり、（ａ）は、名刺画像、（ｂ）は、当該名刺画像の画像文字列を誤って過統合した結果得られた認識結果、（ｃ）は、正しい認識結果を示している。ここで、過統合とは、統合すべきでない２つ以上の文字列が統合されて、１つの文字列になることである。
【０００５】
より詳細には、図１７（ａ）の名刺１７１において、
”（本社）  ◎◎県○○市△△町１２  （支社）  ◎◎県□□市××町３４”
の文字列は、”（本社）  ◎◎県○○市△△町１２”と、”（支社）  ◎◎県□□市××町３４”との２つの文字列から構成されており、上記名刺認識装置が正しく文字列を認識できれば、図１７（ｃ）の項目「住所１」および「住所２」に示すように、認識結果文字列として、２つの文字列が生成されるはずである。
【０００６】
しかしながら、名刺認識装置は、図１７（ｂ）に示すように、統合すべきでない２つ以上の文字列を統合してしまう虞れがある。なお、図１７（ｂ）の例では、項目「住所」に示すように、２つの住所が過統合され、１つの住所として出力されている。
【０００７】
ここで、図１７の例は、一例であり、過統合を起こしやすいパターンは他にも種々のパターンが存在している。したがって、現在の文字（名刺）認識技術では、過統合が全く生じないようにすることは一般に不可能である。
【０００８】
一方、図１８は、文字列生成の誤りの他の例として、過分離が発生した場合を示しており、（ａ）は、名刺画像、（ｂ）は、その名刺画像の画像文字列を誤って過分離した結果得られた認識結果、（ｃ）は、正しい認識結果を示している。ここで、過分離とは、分離すべきでない１つの文字列が分離されて、２つ以上の文字列になることである。
【０００９】
より詳細には、図１８（ａ）の名刺１７１において、
”本社  ◎◎県○○市△△町１２ＡＢＣビル１Ｆ  （ＤＥＦ駅から北へ徒歩３分）”
は、本来１つの文字列であり、上記名刺認識装置が正しく文字列を認識できれば、図１８（ｃ）の項目「住所」に示すように、認識結果文字列として、１つの文字列が生成されるはずである。
【００１０】
しかしながら、過分離が全く生じないようにすることは、過統合の例と同様、現在の文字（名刺）認識技術では一般に不可能であり、図１８（ｂ）に示すように、分離すべきでない１つの文字列が分離される虞れがある。
【００１１】
ここで、図１８（ａ）の例では、上記住所の文字列のうち、”本社”と、”◎◎県○○市△△町１２ＡＢＣビルＦ”と、”（ＤＥＦ駅から北へ徒歩３分）”との間の間隔が、当該住所の文字列の他の文字間隔と比べて大きくなっており、上記名刺認識装置は、図１８（ｂ）の例では、項目「不明１」、「住所」および「不明２」に示すように、１つの住所を過分離して、３つの項目として出力している。
【００１２】
また、図１９は、過分離の他の例を示すものであり、（ａ）は、名刺画像、（ｂ）は、その名刺画像の画像文字列を誤って過分離した結果得られた認識結果、（ｃ）は、正しい認識結果を示している。
【００１３】
より詳細には、図１９（ａ）の名刺１７１には、３つの住所、すなわち、”（本社）  ◎◎県○○市△△町１２”、”（第１工場）◎◎県□□市××町３４”および”（第２工場）◇◇県★★市☆☆町５６”と、１つのＵＲＬ、すなわち、”ｈｔｔｐ：／／ｗｗｗ.ｘｙｚ.ｃｏ.ｊｐ”とが記載されており、上記名刺認識装置が正しく文字列を認識できれば、図１９（ｃ）に示す項目「住所１」、「住所２」および「住所３」と項目「ＵＲＬ」とのように、各項目の文字列が生成されるはずである。
【００１４】
しかしながら、図１９（ａ）の例では、住所の配置が一様でなく、かつ、”（本社）  ◎◎県○○市△△町１２”と、”（第２工場）◇◇県★★市☆☆町５６”との２つの文字列間の空白が狭くなっており、上記名刺認識装置は、図１９（ｂ）に示す認識結果１７２を出力している。
【００１５】
具体的には、図１９（ｂ）の認識結果１７２では、本来一つの項目の文字列であるべき、”（本社）”および”◎◎県○○市△△町１２”が２つの文字列、すなわち、項目「不明」文字列と、項目「住所２」の文字列として認識されている。さらに、両項目の間には、項目「住所１」の文字列”（第１工場）◎◎県□□市××町３４”が存在している。
【００１６】
ここで、上記図１８および図１９は、あくまで一例であり、過分離を起こしやすいパターンは他にも種々のパターンが存在している。したがって、過分離が全く生じないようにすることは、過統合の例と同様、現在の文字（名刺）認識技術では一般に不可能である。
【００１７】
以上のように、現在の文字認識装置は、各文字の認識結果は正しくても、文字列の正しい範囲の検出を誤ることがあるので、正しい認識結果を得るために修正が必要になる場合がある。
【００１８】
ここで、後述の特許文献１に記載には、移動対象文字列および移動先を指定するシステムが記載されている。具体的には、当該システムでは、ホスト装置側において、ＣＰＵはＩＦを通じて文字認識装置からの各項目毎の認識データを名刺データとしてＲＡＭに読込むと、表示部に名刺読込み画面を表示する。さらに、名刺読込み画面上で移動対象文字列および移動先を指定し入力部を通じて移動指示を行うと、ＣＰＵによる編集処理が実行され、上記移動対象文字列が上記移動先に移動する。また、名刺読込み画面上で２つの入れ替え対象項目を指定し入力部を通じて入替え指示を行うと、ＣＰＵによる編集処理が実行され、上記２つの項目間でその内容が入れ替わる。したがって、ユーザは、移動対象文字列と移動先とを指定すれば、移動対象文字列を移動させることが可能である。
【００１９】
また、文書編集装置においては、カット、アンド、ペースト、あるいは、コピー、アンド、ペーストと呼ばれている編集方法が使用されている。さらに、データの修正方法としては、ユーザが、入力キーなどを用いて、誤っているデータを削除したり、正しいデータを、直接入力したりする方法も挙げられる。
【特許文献１】特開平７−２９５９６５号公報（１９９５年１１月１０日公開）
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、上記構成を認識結果文字列の修正に適用したとしても、正しい認識結果文字列を得るために必要なユーザの手間は充分には低減されておらず、ユーザに負担がかかる虞れがある。
【００２１】
具体的には、誤った認識結果文字列に対して、ユーザが名刺認識装置の入力キーなどを通して、直接文字を入力したり、不要な文字を削除したりする方法を採用したとしても、ユーザに比較的大きな負担をかけてしまう。
【００２２】
特に、小型情報機器においては、このような直接入力処理は、一般に、小型で扱いにくいキーボードや、または、携帯電話のように限られたキーを使って修正することになるため、ＰＣ（パーソナルコンピュータ）におけるキーボード、及びマウスが使える入力処理と比較して大きな負担であるといえる。
【００２３】
さらに、直接入力によってしか修正できない名刺認識装置では、上述した例のように、別の項目箇所に正しい認識結果文字があった場合でも、ユーザは、正しい認識結果文字を利用することなく、全く同じ文字をわざわざ直接入力しなければならない。そのため、ユーザは、無駄な労力を強いられているという不満を持つことも十分有り得る。
【００２４】
また、上記特許文献１の構成、あるいは、上記カット、アンド、ペースト（または、コピー、アンド、ペースト）と呼ばれている編集方法を認識結果文字列の修正に適用したとしても、文字列の移動に関して、ユーザは、文字列の先頭および末尾と、移動先とを指定する必要がある。さらに、これらの指定は、過統合において分離しなければならない箇所毎、および、過分離において統合するべき文字列毎に行う必要があるので、指定を繰り返す必要がある。言い換えると、過統合において、分離しなければならない箇所が複数ある場合、１度に２箇所以上を分離することは不可能なので、ユーザは、同じ処理を繰り返す必要がある。同様に、過分離においても、統合するべき文字列が複数ある場合、ユーザは、それぞれの文字列を探して指定する必要がある。
【００２５】
より詳細に説明すると、名刺認識装置の認識結果の修正に当該構成を適用した場合、例えば、図１８（ｂ）の認識結果１７２において、項目「住所」の”◎◎県○○市△△町１２ＡＢＣビル１Ｆ”の前後に、項目「不明１」の”（本社）”および項目「不明２」の”（ＤＥＦ駅から北へ徒歩３分）”を複写し、貼り付けるという操作を行えば、ユーザは、認識結果を修正できる。このように、文字列の過分離の問題が生じたとき、上述した例のように、過分離した認識結果文字列を複写し、貼り付けることにより、分離した文字列を連結できる。
【００２６】
しかしながら、このとき、ユーザには次の２つの処理が負担となってくる。まず、１つ目の負担として、ユーザは、修正しようとしている認識結果文字列と連結すべき文字列が、全認識結果のどこに存在するかを探さなければならない。
【００２７】
ここで、特に、名刺認識装置の認識結果文字列表示画面が小さく、それに比べて認識結果文字列の量が多く、名刺認識装置が、一括して認識文字列を表示できない場合、ユーザの負担は、さらに大きくなってしまう。
【００２８】
２つ目の負担として、ユーザは、文字列の複写範囲、及び、複写先の指定しなければならない。文字列を複写する場合、一般的には、(1) 「複写元の文字列の先頭にカーソルを合わせ」、(2) 「キーの押下などにより複写開始状態にし」、その後、(3) 「複写元文字列の末尾にカーソルを合わせ」、(4) 「キーの押下などにより複写完了状態にする」と共に、その後、(5) 「複写先にカーソルを合わせ」、(6) 「キーの押下などにより複写を実行する」という一連の処理が必要である。
【００２９】
ここで、特に、小型情報機器では、ＰＣに接続されるマウスのように比較的自由にカーソルが操作できる入力手段が備わっていない場合も多い。カーソル合わせの処理が、例えば、矢印キーの押下でカーソルが１文字分移動する、などのような処理であった場合、負担は大きいものとなってくる。
【００３０】
したがって、上記特許文献１の構成、あるいは、上記カット、アンド、ペースト（または、コピー、アンド、ペースト）と呼ばれている編集方法を認識結果文字列の修正に適用したとしても、過分離文字列を修正することは、必ずしも容易ではない。
【００３１】
また、これらの構成は、過統合文字列を分離する修正に適しておらず、強いて、文字列の過統合を修正する方法を挙げれば、修正しようとしている文字列を必要な回数だけ複写、及び貼り付け処理をした後、各認識結果文字列から不要な認識結果文字の削除処理をするという方法になってしまう。
【００３２】
具体的には、図１７（ｂ）の誤りを修正する場合、ユーザは、項目「住所」の”（本社）  ◎◎県○○市△△町１２   （支社）  ◎◎県□□市××町３４”を複写、及び、貼り付けにより、もう一つ別の認識結果文字列を生成し、新たな住所項目「住所２」の文字列とする。なお、これに伴って、最初の項目「住所」は、「住所１」になる。
【００３３】
そして、ユーザは、最初の住所項目「住所１」では、”（支社）  ◎◎県□□市××町３４”を除去し、次の住所項目「住所２」では、”（本社）  ◎◎県○○市△△町１２”を除去する操作を行う。これにより、図１７（ｃ）の認識結果１７２が得られる。
【００３４】
しかしながら、この場合は、過分離のときと同じように複写範囲の指定の負担が生じるだけではなく、過分離の場合の操作に加えて、項目の作成、および、各項目の文字列の一部削除という操作が増えている。なお、一般的に、文字（情報）の削除方法は、削除（デリート、クリア）キーの押下などであることが多く、文字の入力方法と比較して容易であるので、上述した直接入力するよりは容易であることが多い。
【００３５】
なお、他の方法として、文字列の過統合の修正にしか適用できない方法であり、また、一般的な方法であるとは必ずしも言えないが、例えば、「過統合した文字列を分離する位置にカーソル（入力（待ち）の位置を表示する下線や記号）を合わせ」、その後、「そのカーソル位置で、前後２つの文字列に分離する」といった方法を採用したとしても、ユーザには、次の２つの処理が負担となってくる。
【００３６】
１つ目の負担として、ユーザは、まず、過統合となってしまった認識結果文字列の分離すべき箇所にカーソルを合わせるという作業をしなければならない。上述のとおり、カーソル合わせの処理が、例えば、矢印キーの押下により、カーソルが１文字分移動する、などのような処理であった場合、ユーザにとって負担は大きい。
【００３７】
また、基本的にカーソルは１個であるため、ユーザは、１回の作業で、過統合した文字列を２つにしか分離できない。したがって、２つ目の負担として、３個以上の文字列が連結してしまった場合、ユーザは、過統合の修正を繰り返さなければならなく、効率的とはいえない。また、この方法は、過分離の問題に対応できない。
【００３８】
このように、上記のいずれにおいても、過統合、過分離などが生じた場合、正しい文字列を得るまでに必要なユーザの手間は充分には低減されておらず、ユーザに負担がかかる虞れがある。なお、上記では、名刺認識装置を例にして説明したが、他の文字認識装置でも同様の問題が生じる。さらに、画像の文字認識の有無に拘わらず、文字群から当該文字群に含まれる文字列を抽出する文字列抽出装置であれば、同様の問題が生じる。
【００３９】
本発明は、上記の問題点を鑑みてなされたものであり、その目的は、文字列の抽出に失敗してから正しい文字列を得るまでに必要な手間を削減可能な文字列抽出装置を提供することにある。
【課題を解決するための手段】
【００４０】
本発明に係る文字列抽出装置は、上記課題を解決するために、記憶装置に記憶された文字情報が示す文字群から、当該文字群に含まれる１以上の文字列を抽出する文字列抽出手段を有する文字列抽出装置において、上記抽出した文字列に対して再構成が指示された場合、再構成結果文字列として、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する再構成手段を備えていることを特徴としている。
【００４１】
また、本発明に係る文字列抽出方法は、上記課題を解決するために、記憶装置に記憶された文字情報が示す文字群から、当該文字群に含まれる１以上の文字列を抽出する文字列抽出工程を有する文字列抽出方法において、上記抽出した文字列に対して再構成が指示された場合、再構成結果文字列として、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する再構成工程を含んでいることを特徴としている。
【００４２】
なお、上記文字情報は、文字を示す情報であり、文字群の文字情報から文字列を抽出できる情報であれば、文字コードを含んでいてもよいし、文字の画像を示すデータを含んでいてもよい。ここで、文字の画像を示すデータの場合、文字列抽出手段は、例えば、画像に対する文字認識処理によって文字の文字コードを生成できる。
【００４３】
上記構成では、記憶装置に記憶された文字情報に基づいて、当該文字情報の示す文字群から文字列が抽出される。上記抽出した文字列の少なくとも１つに対して再構成が指示された場合、当該指示された文字列を示す文字情報から、再構成結果文字列として、当該指示された文字列とは異なる少なくとも１つの文字列が生成される。
【００４４】
ここで、文字群から文字列を抽出する際には、不適切な位置で文字列を区切らず、抽出される文字列が複数の場合は、適切な位置で文字列を区切る必要があるが、一般に、文字群がどのような文字群であっても、当該文字群から適切に文字列を抽出することは難しく、例えば、不適切な位置で文字列を区切ってしまい、本来１つであるべき文字列を複数の文字列に過分離して抽出してしまったり、あるいは、区切るべき位置で文字列を区切らず、本来複数であるべき文字列を１つの文字列に過統合してしまったりすることがある。
【００４５】
この場合に、上述したように、例えば、抽出に失敗した文字列に代えて、新たな文字列を入力するように促したり、抽出に失敗した文字列の中から、使用可能な部分を選択し、正しい抽出結果として貼り付けるように促したり、あるいは、抽出された文字列において、分離すべき部分を指定するように促したりすると、文字列の抽出に失敗してから正しい文字列を得るまでに必要な指示が増えて、ユーザの負担が大きくなってしまう。
【００４６】
これに対して、上記構成では、再構成が指示された場合、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列が生成される。ここで、文字列の抽出に成功していれば、文字列の再構成処理、すなわち、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する処理は不要であり、文字列の再構成が指示されるのは、抽出された文字列が不適切であった場合である。そして、再構成が指示された文字列を示す文字情報から、再構成結果文字列として、当該指示された文字列、すなわち、上記不適切であると判明している文字列とは異なった文字列が生成される。したがって、再構成結果文字列が生成される場合には、記憶装置に記憶された文字情報が示す文字群から文字列を抽出するよりも、より高い確率で、正しい文字列が生成される。この結果、上述した各構成と比較して、文字列の抽出に失敗してから正しい文字列を得るまでに必要な手間を削減できる。
【００４７】
また、上記構成に加えて、上記再構成手段は、上記文字列抽出手段が抽出した全ての文字列のうちの一部の文字列のみへの再構成指示を受付可能であってもよい。
【００４８】
当該構成において、上記文字列抽出手段が抽出した全ての文字列のうちの一部の文字列のみへの再構成指示を受け付けた場合、再構成手段は、再構成結果文字列として、当該一部の文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する。
【００４９】
したがって、常に文字列抽出手段が抽出した全ての文字列を再構成するように構成されている場合と比較して、より高い確率で、正しい文字列を生成でき、上記文字列抽出手段が文字列の抽出に失敗してから正しい文字列を得るまでに必要な手間を削減できる。
【００５０】
また、上記構成に加えて、上記文字情報は、文字の画像を示す情報であり、上記文字列抽出手段は、文字群の文字情報の示す画像を文字認識して、当該文字群を構成する文字の文字コードを認識し、当該文字コードを上記記憶装置に記憶する文字認識手段を備え、上記再構成手段は、上記記憶手段に格納された文字コードを参照して、上記再構成結果文字列として、上記再構成が指示された文字列と同じ文字コードの文字から構成され、しかも、当該指示された文字列とは異なる少なくとも１つの文字列を生成してもよい。
【００５１】
当該構成では、文字群の文字情報の示す画像の文字認識によって取得された文字群の文字コードが記憶装置に記憶されると共に、再構成が指示された場合、上記再構成が指示された文字列と同じ文字コードの文字から構成され、しかも、当該指示された文字列とは異なる少なくとも１つの文字列が、再構成結果文字列として生成される。したがって、例えば、再構成の度に文字の画像を文字認識する構成よりも効率良く再構成結果文字列を生成できる。
【００５２】
さらに、上記構成に加えて、上記再構成手段は、再構成指示として、文字列の統合指示を受け付けた場合、再構成が指示された文字列を結合して、上記再構成結果文字列を生成してもよい。
【００５３】
当該構成では、例えば、文字列の統合指示として予め定められた操作を受け付けたり、上記文字列抽出手段が抽出した文字列の複数に対して再構成を指示したりして、文字列の統合が指示されると、再構成手段は、再構成が指示された文字列を結合する。したがって、文字列抽出手段が、本来１つであるべき文字列を複数の文字列に過分離して抽出してしまった場合でも、より少ない手間で正しい文字列を得ることができる。
【００５４】
なお、再構成手段は、文字列の統合指示として予め定められた操作と再構成が指示された文字列の一部を指定する操作によって、再構成が指示された文字列全体の指定を受け付けてもよい。この場合、再構成手段は、例えば、指定された一部の近傍の文字列（上下または左右の文字列）を検索するなど、予め定められた手順で、指定された一部に基づいて、再構成が指示された文字列全体を決定すればよい。
【００５５】
また、上記再構成手段は、再構成指示として、文字列の分離指示を受け付けた場合、再構成が指示された文字列を複数の文字列に分離して、上記再構成結果文字列を生成してもよい。
【００５６】
当該構成では、例えば、文字列の分離指示として予め定められた操作を受け付けたり、上記文字列抽出手段が抽出した文字列の単数に対して再構成を指示したりして、文字列の分離が指示されると、再構成手段は、再構成が指示された文字列を複数の文字列に分離する。したがって、文字列抽出手段が、区切るべき位置で文字列を区切らず、本来複数であるべき文字列を１つの文字列に過統合してしまった場合でも、より少ない手間で正しい文字列を得ることができる。
【００５７】
さらに、上記構成に加えて、上記記憶装置に記憶された文字情報には、文字の文字コードを示す文字データに加えて、当該文字が配置される座標を示す位置データが含まれており、上記再構成手段は、再構成が指示された文字列を構成する文字の文字情報の位置データを参照して、上記再構成結果文字列を生成してもよい。なお、上記座標は、１次元の座標であってもよいし、２次元以上の座標であってもよい。
【００５８】
ここで、文字群を構成する文字のうち、どの文字が、ある文字列を構成する可能性が高く、どの文字が、その文字列とは別の文字列を構成する可能性が高いかは、各文字が配置される座標によって変化する。一例として、互いに異なる文字列同士の間隔は、１つの文字列内の文字同士の間隔よりも広いことが多い。
【００５９】
したがって、上記再構成手段が、上記位置データを参照して再構成結果文字列を生成することによって、より正しい文字列を生成できる。この結果、より少ない手間で正しい文字列を得ることが可能な文字列抽出装置を実現できる。
【００６０】
また、上記構成に加えて、上記文字列が、文字列の種類を示す項目として予め定められた項目群のうち、いずれの項目の文字列であるかを判定する項目判定手段を備え、上記再構成手段は、上記項目判定手段によって判定された、上記指示された文字列の項目を参照して、上記再構成結果文字列を生成してもよい。
【００６１】
上記構成では、当該指示された文字列を示す文字情報だけではなく、当該文字列の項目をも参照して、再構成結果文字列が生成されるので、上記再構成手段は、より正しい文字列を生成できる。この結果、より少ない手間で正しい文字列を得ることが可能な文字列抽出装置を実現できる。
【００６２】
さらに、上記構成に加えて、上記再構成手段は、再構成結果文字列の候補として、複数の候補が存在するか否かを判定すると共に、複数の候補が存在する場合、それらの候補を提示して、いずれの候補を選択するかの入力を促し、選択された候補を上記再構成結果文字列としてもよい。
【００６３】
当該構成では、複数の候補が存在する場合、それらの候補が提示され、それらのうちの選択された候補が上記再構成結果文字列になる。したがって、以下の構成、すなわち、複数の候補が存在した場合に誤った候補を再構成結果文字列としてしまい、その後、再度、再構成手段が再構成指示に従って再構成結果文字列を生成する構成よりも、ユーザの手間を低減できる。この結果、複数の候補が存在する場合でも、より少ない手間で正しい文字列を得ることが可能な文字列抽出装置を実現できる。
【００６４】
また、上記構成に加えて、上記再構成手段は、上記記憶装置に記憶されたルールに従って、上記再構成文字列を生成するものであり、ユーザからの入力に従って、上記記憶装置に記憶されたルールを更新する更新手段を備えていてもよい。
【００６５】
なお、当該ルールとしては、例えば、「文字間の距離が、あるルールを満たしていれば、それらの文字を互いに異なる文字列とする」とするルール、あるいは、「文字間の距離が、あるルールを満たしていれば、それらの文字を互いに異なる文字列とする」というルールなどのように、文字間の距離に関するルールであってもよいし、例えば、「ある文字が、あるルールにマッチする場合は、その文字の前（あるいは後）で文字列を分離する」というルール、あるいは、「ある文字が、あるルールにマッチする場合は、その文字の前（あるいは後）で文字列を分離しない」といったルールなどのように、言語に基づくルール（文字の意味内容に基づくルール）であってもよい。
【００６６】
ここで、多くの場合、あるルールが適切な状況は、ルール毎に決まっており、いずれの状況でも正しい文字列を高い確度で生成可能なルールを作成することは極めて困難である。したがって、ルールが固定されていると、ある状況では高い確度で正しい再構成結果文字列を生成できたとしても、他の状況では、正しく再構成結果文字列を生成できる可能性が低下する虞れがある。
【００６７】
特に、言語に基づくルールの場合、ユーザの属している組織の構造が変化すると、最適なルールも変化することが多く、例えば、ある組織では、文字列間の分離に適した文字であったとしても、他の組織では、文字列の分離に適した文字ではなくなってしまうことがある。したがって、特に、言語に基づくルールの場合には、いずれの状況でも正しい文字列を高い確度で生成可能なルールを作成することが難しい。
【００６８】
これに対して、上記構成では、ユーザからの入力によって記憶装置に格納されたルールが更新されると、再構成手段は、当該更新されたルールに従って再構成結果文字列を生成する。したがって、状況に応じて再構成結果文字列を生成する際のルールを変更できる。この結果、ルールが固定されている構成とは異なり、状況に応じてルールを更新することによって、状況が変化しても、高い確度で正しい再構成結果文字列を生成可能な文字列抽出装置を実現できる。
【００６９】
ところで、上記文字列抽出装置は、ハードウェアで実現してもよいし、プログラムをコンピュータに実行させることによって実現してもよい。具体的には、本発明に係るプログラムは、上記文字列抽出装置の各手段としてコンピュータを動作させるプログラムであり、本発明に係る記録媒体には、当該プログラムが記録されている。
【００７０】
例えば、上記記録媒体をコンピュータが読み取るなどして、これらのプログラムがコンピュータによって実行されると、当該コンピュータは、上記文字列抽出装置として動作する。したがって、上記文字列抽出装置と同様に、文字列の抽出に失敗してから正しい文字列を得るまでに必要な手間を削減できる。
【発明の効果】
【００７１】
以上のように、本発明によれば、記憶装置に記憶された文字情報に基づいて、当該文字情報の示す文字群から文字列が抽出される。さらに、上記抽出した文字列の少なくとも１つに対して再構成が指示された場合、当該指示された文字列を示す文字情報から、再構成結果文字列として、当該指示された文字列とは異なる少なくとも１つの文字列が生成される。この結果、上述した各構成と比較して、文字列の抽出に失敗してから正しい文字列を得るまでに必要な手間を削減できる。
【発明を実施するための最良の形態】
【００７２】
以下の本発明に係る実施形態では、本発明の文字列抽出装置の一例を、カメラの搭載された携帯情報端末に内蔵された文字認識装置１を用いて説明する。
【００７３】
本発明の一実施形態について、図１〜図１９を参照して以下に説明する。なお、本明細書を通じ、以下のように用語を定義するものとする。画像文字列とは、画像としての文字列である。認識結果文字群とは、文字列を含む画像を文字認識した結果を示すものであり、認識結果文字群を示す情報は、各文字毎の認識結果情報である認識結果文字の情報を含んでいる。また、認識結果文字列は、認識結果文字群から抽出された文字列であり、認識結果文字列の情報は、抽出された文字列の情報を示している。なお、これらの情報の詳しい構成例は、後述する。
【００７４】
（文字認識装置１）
図１は、本実施の形態における文字認識装置１の内部構成を示すブロック図である。
【００７５】
図１に示すように、本実施形態に係る文字認識装置１は、文字列抽出手段としての文字列抽出部１１４および再構成手段としての文字列再構成候補作成部１１５を含む制御部１０１と、記憶装置としての文字データ記憶部１１８が含まれた一時記憶部１０２と、記憶装置としてのルール記憶部１１９と、更新手段としてのルール設定部１２９、並びに、再構成手段としての文字列選択部１２１、文字列構成変更指示部１２２、文字列変更候補選択部１２３および文字列変更候補決定部１２４を含む入力部１０３と、再構成手段としての文字列変更候補出力部１２７を含む出力部１０４と、出力装置としての表示部１２８と、入力装置としての操作部１２５とを備えている。また、本実施形態では、これらの部材は、データバス１０５で接続されている。なお、本実施形態では、操作部１２５は、データバス１０５を介さず、入力部１０３に接続されている。
【００７６】
〔制御部１０１〕
制御部１０１は、画像文字列抽出部１１１、文字認識処理部１１２、項目判定部（項目判定手段）１１３、文字列抽出部１１４、文字列再構成候補作成部１１５、文字列距離演算部１１６を含んでいる。
【００７７】
（画像文字列抽出部１１１）
画像文字列抽出部１１１は、画像一時記憶部１１７に一時記憶された画像データから、画像文字列を抽出する。画像文字列の抽出方法は、現在種々の手法が存在しており、どのような方法でも構わない。
【００７８】
（文字認識処理部１１２）
文字認識処理部１１２は、画像文字列抽出部１１１によって抽出された画像文字列を文字認識して、画像文字列に含まれる各文字の文字コードからなる文字群に変換できる。画像文字列の文字認識方法は、現在種々の手法が存在しており、どのような方法でも構わない。また、本実施形態に係る文字認識処理部１１２は、認識結果文字群を、後述するデータ構造で、文字データ記憶部１１８に格納している。
【００７９】
（項目判定部１１３）
項目判定部１１３は、後述する文字列抽出部１１４により生成された認識結果文字列が、予め定めておいた項目情報のいずれに該当するかを判定する。項目情報は、氏名、肩書、会社名、住所などである。項目情報を判定する方法も、現在種々の手法が存在しており、どのような方法でも構わない。また、本実施形態に係る項目判定部１１３は、判定した項目情報を、認識結果文字列と関連付けて、文字データ記憶部１１８に格納している。
【００８０】
（文字列抽出部１１４）
文字列抽出部１１４は、文字データ記憶部１１８に一時記憶された認識結果文字群から、文字列を抽出する。認識結果文字列の抽出方法は、現在種々の手法が存在しており、どのような方法でも構わない。また、本実施形態に係る文字列抽出部１１４は、認識結果文字列を、後述するデータ構造で、文字データ記憶部１１８に格納している。
【００８１】
（文字列再構成作成部１１５）
文字列構成変更部１１５は、上記抽出した文字列に対して再構成が指示された場合、文字データ記憶部１１８に一時記憶された認識結果文字列の構成を変更して、再構成結果文字列として、再構成が指示された文字列とは異なる少なくとも１つの文字列を生成できる。ここで、認識結果文字列は認識結果文字から成り立っているが、文字列構成変更部１１５は、文字データ記憶部１１８に記憶された上記認識結果文字列のデータ、あるいは、認識結果文字群のデータを参照し、例えば、文字の順序、文字数、あるいは、文字列が要素としている文字を変更したりして、再構成結果文字列を生成できる。なお、文字列を再構成する際、文字列構成変更部１１５は、例えば、画像文字列抽出部１１１および文字認識処理部１１２へ、前回の認識結果が誤っており、上記文字列に対して再構成が指示されたことを通知し、再度の文字認識を指示するなどして、再度文字認識させてもよい。また、本実施形態に係る文字列構成変更部１１５は、再構成結果文字列を、認識結果文字列と同様のデータ構造で、文字データ記憶部１１８に格納している。
【００８２】
（文字列間距離演算部１１６）
文字列間距離演算部１１６は、認識結果文字間の距離を計算する。認識結果文字間の距離を計算する方法は、現在種々の手法が存在しており、どのような方法でも構わない。また、本実施形態に係る文字列再構成作成部１１５は、認識結果文字列を再構成する際、文字列間距離演算部１１６によって算出された認識結果文字間の距離を参照している。なお、上記文字列抽出部１１４が文字列を抽出する際に認識結果文字間の距離を参照してもよい。
【００８３】
〔一時記憶部１０２〕
一時記憶部１０２は、画像一時記憶部１１７と、文字データ記憶部１１８とを含み、データを一時的に記憶する機能を有する。一時記憶部１０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ＤＤＲ−ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭ）、ＲＤＲＡＭ（Ｒａｍｂｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、Ｄｉｒｅｃｔ−ＲＤＲＡＭ（Ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、その他、データを揮発的に記憶保持可能な構成を有する回路のいずれであってもよい。
【００８４】
（画像一時記憶部１１７）
画像一時記憶部１１７は、画像を一時的に記憶する。
【００８５】
（文字データ記憶部１１８）
文字データ記憶部１１８は、認識結果文字群、認識結果文字列（それを再構成した再構成結果文字列を含む）の情報および項目情報を一時的に記憶する。
【００８６】
（認識結果文字の情報、および、その文字座標）
文字データ記憶部１１８は、認識結果文字群を構成する認識結果文字を、図２および図３の３０１に示すデータ構造で記憶している。図２は、文字データ記憶部１１８における、認識結果文字のデータ構造（文字記憶構成）を示している。各認識結果文字の文字記憶構成２０１は、当該認識結果文字の文字コード、認識結果文字に対応する画像文字の外接枠の左上Ｘ，Ｙ座標、右下Ｘ，Ｙ座標の情報を含んでいる。なお、画像において、画像文字が占有している領域を特定できれば、外接枠の左上Ｘ，Ｙ座標、右下Ｘ，Ｙ座標の情報に代えて、例えば、ある隅のＸ，Ｙ座標と、大きさの情報など、他の形式の位置データを用いてもよい。
【００８７】
ここで、本実施形態に係る文字列間距離演算部１１６は、各文字の座標値の足し引きより文字間の距離を計算している。したがって、上記のように、各認識結果文字の位置データを文字データ記憶部１１８に記憶し、文字列間距離演算部１１６が当該位置データを参照することによって、文字列間距離演算部１１６は、文字間の距離を容易に算出することができ、文字間の距離を算出する処理にかかる時間を短縮できる。
【００８８】
また、文字データ記憶部１１８は、図３の文字列配列３０１のように、認識結果文字群を、上記認識結果文字のデータの配列として記憶している。なお、図３の文字列配列３０１では、説明の便宜上、各認識結果文字のデータを、その認識結果文字で図示している。
【００８９】
（項目情報および認識結果文字列）
文字データ記憶部１１８は、認識結果文字列を、図３に示すデータ構造で記憶している。図３は、文字データ記憶部１１８による、認識結果文字列のデータ構造（文字列記憶形式）を示している。
【００９０】
ここで、上述したように、本実施形態では、認識結果文字列の情報が項目情報と関連付けて記憶されている。より詳細には、各項目の認識結果文字列を示す項目別情報３０２は、項目情報と認識結果文字列を示す情報とを含んでいる。本実施形態では、認識結果文字列を示す情報として、認識結果文字列を構成する各文字の認識結果文字情報が、認識結果文字全体の文字列配列３０１のどの文字であるかを指し示す番号（ポインタ情報）として、文字数分だけ格納されている。また、本実施形態では、認識結果文字列を示す情報に、文字列を構成する文字数の情報も含まれている。なお、本実施形態では、上記項目情報、文字列を構成する文字数の情報が、項目別情報３０２の最初に配置され、その後に、上記各ポインタ情報が配置されている。
【００９１】
例えば、項目別情報３０３は、項目「肩書」の認識結果文字列が”主任”である場合を示しており、項目情報として”肩書”、文字数としての２を含んでいる。さらに、項目別情報３０３には、最初の文字のポインタ情報として、上記文字列配列３０１の３番目の文字”主”を示す番号３と、最後の文字のポインタ情報として、文字列配列３０１の５番目の文字”任”を示す番号５とが含まれている。なお、図３では、項目「肩書」の項目別情報３０３のみを例示したが、文字データ記憶部１１８には、全ての項目の認識結果文字列が一時記憶されている。
【００９２】
ここで、上記構成では、認識結果文字列を構成する各文字の認識結果文字情報が、認識結果文字情報自体ではなく、そのポインタ情報として記憶されているので、文字列再構成候補作成部１１５は、過分離、過統合誤りを修正するために、認識結果文字列を再構成する際、項目別情報３０２の文字数と、ポインタ情報とを修正するだけで、各認識結果文字列を再構成できる。
【００９３】
〔ルール記憶部１１９〕
ルール記憶部１１９は、文字列再構成候補作成部１１５が、認識結果文字列を再構成するときに用いられるルールを記憶する。なお、当該ルールとしては、詳細は後述するが、例えば、「文字間の距離が、あるルールを満たしていれば、それらの文字を互いに異なる文字列とする」とするルール、あるいは、「文字間の距離が、あるルールを満たしていれば、それらの文字を互いに異なる文字列とする」というルールなどのように、文字間の距離に関するルールが挙げられる。また、他のルールとして、例えば、「ある文字が、あるルールにマッチする場合は、その文字の前（あるいは後）で文字列を分離する」というルール、あるいは、「ある文字が、あるルールにマッチする場合は、その文字の前（あるいは後）で文字列を分離しない」といったルールなどのように、言語に基づくルール（文字の意味内容に基づくルール）であってもよい。また、上記文字列再構成候補作成部１１５だけではなく、文字列抽出部１１４がルール記憶部１１９のルールを参照して、認識結果文字群から、文字列を抽出してもよい。
【００９４】
〔入力部１０３〕
入力部１０３は、文字列選択部１２１、文字列構成変更指示部１２２、文字列変更候補選択部１２３、文字列変更候補決定部１２４を含んでいる。上記入力部１０３は、ユーザによる操作部１２５の入力操作を検知し、制御部１０１へ選択、指示、決定などの情報を送信できる。
【００９５】
（文字列選択部１２１）
文字列選択部１２１は、後述する文字列出力部１２６が文字列抽出部１１４によって抽出された認識結果文字列を表示部１２８に表示している状態において、例えば、入力キーの押下状態を示す信号など、ユーザによる操作部１２５の入力状態（信号）に基づいて、上記表示部１２８に表示された認識結果文字列の中から、ユーザがいずれの認識結果文字列の選択を指示したかを判定すると共に、ユーザにより選択された文字列についての情報を、制御部１０１へ送信する。
【００９６】
（文字列構成変更指示部１２２）
文字列構成変更指示部１２２は、例えば、入力キーの押下状態を示す信号など、ユーザによる操作部１２５の入力状態（信号）に基づいて、上記選択された認識結果文字列に対して、ユーザがどのような処理を指示しているかを判定すると共に、ユーザが指示している処理の情報を、制御部１０１（文字列再構成候補作成部１１５）へ送信する。なお、認識結果文字列の選択操作と処理内容の指示操作とはいずれが先であってもよい。また、例えば、文字列構成変更指示部１２２が、複数の認識結果文字列が指定された場合は、統合指示と判断し、単数の認識結果文字列が指定された場合は、分離指示と判断するなどして、一方の操作を他方の操作でもあると処理してもよい。
【００９７】
（文字列変更候補選択部１２３）
文字列変更候補選択部１２３は、後述する文字列変更候補出力部１２７が文字列再構成候補作成部１１５によって生成された文字列変更候補を表示部１２８に表示している状態において、例えば、カーソルキーの押下状態を示す信号など、ユーザによる操作部１２５の入力状態（信号）に基づいて、上記文字列変更候補の中のいずれをユーザが選択しているかを判定すると共に、ユーザにより選択されている候補の情報（候補情報）を、制御部１０１へ送信できる。
【００９８】
（文字列変更候補決定部１２４）
文字列変更候補決定部１２４は、例えば、決定キーの押下状態を示す信号など、ユーザによる操作部１２５の入力状態（信号）に基づいて、上記選択された文字列変更候補をユーザが選択結果として確定したことを検出し、確定したことを示す情報を、制御部１０１へ送信できる。なお、上記文字列変更候補選択部１２３は、選択している候補が変化する度に候補情報を送信してもよいし、選択結果の確定が検出された時点にのみ、候補情報を送信してもよい。この場合は、候補情報の送信で確定したことを示す情報を代用できる。
【００９９】
（ルール設定部１２９）
ルール設定部１２９は、ユーザによる操作部１２５へのルール情報の入力操作に基づいて、ユーザが入力したルールを特定すると共に、当該ルールを示すルール情報を制御部１０１へ送信して、ルール記憶部１１９に記憶させることができる。
【０１００】
〔操作部１２５〕
操作部１２５は、入力部１０３に入力信号を送るための入力装置である。例えば、入力キーなど、文字認識装置の形態によっていろいろな種類のものがあるが、例えば、いわゆるキーボードを構成するキー、十字キー、数字キーなどを、操作部１２５として、好適に用いることができる。
【０１０１】
〔出力部１０４〕
出力手段としての出力部１０４は、文字列出力部１２６、文字列変更候補出力部１２７を含んでいる。
【０１０２】
（文字列出力部１２６）
文字列出力部１２６は、文字列抽出部１１４からの認識結果文字列を表示部１２８に出力する。文字列出力部１２６は、項目判定部１１３にて、項目が付与された後の認識結果文字列を出力してもよい。
【０１０３】
（文字列変更候補出力部１２７）
文字列変更候補出力部１２７は、文字列再構成候補作成部１１５によって、再構成された認識結果文字列の候補を表示部１２８に出力できる。また、文字列変更候補出力部１２７も、文字列出力部１２６と同様に、項目判定部１１３にて、項目が付与された後の認識結果文字列を出力してもよい。なお、文字列出力部１２６および文字列変更候補出力部１２７は、文字列抽出部１１４からの認識結果文字列、あるいは、項目判定部１１３からの項目を直接受け取ってもよいし、文字データ記憶部１１８を介して受け取ってもよい。
【０１０４】
〔表示部１２８〕
表示部１２８は、液晶ディスプレイ（ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ））、ＦＥＤ（Ｆｉｅｌｄ  Ｅｍｉｓｓｉｏｎ  Ｄｉｓｐｌａｙ）、有機ＥＬディスプレイ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ  ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）、ドットマトリクスなど、その他の画像表示方式の表示機器のいずれであってもよい。表示部１２８は、出力部１０４（文字列出力部１２６、文字列変更候補出力部１２７）からの出力情報を表示できる。
【０１０５】
〔データバス１０５〕
データバス１０５には、制御部１０１、一時記憶部１０２、入力部１０３、出力部１０４、表示部１２８が接続されている。
【０１０６】
このように、本実施形態に係る文字認識装置１は、文字データ記憶部１１８により記憶されている文字データから、文字列抽出部１１４は、文字列を抽出し、文字列再構成候補作成部１１６は、上記文字列を再構成し、再構成候補を作っている。したがって、ユーザは、正しい順序に整列された文字列を、少ない手間で取得することができる。
【０１０７】
（認識結果文字列再構成候補作成処理）
図４は、本実施形態に係る文字認識装置１が認識結果文字列を再構成し、候補を作成する処理のフローチャートである。以下、図４を参照して説明する。
【０１０８】
ステップＳ１０１において、画像文字列抽出部１１１は、画像一時記憶部１１７に記憶された画像から、文字列とみなされる画像を抽出し、ステップＳ１０２において、抽出された文字列とみなされる画像が、文字認識処理部１１２により、文字として認識される。さらに、ステップＳ１０３において、項目判定部１１３は、認識結果文字列に対して、付与されるべき項目情報を判定し、認識結果文字列に項目情報を付与する。さらに、ステップＳ１０４において、認識結果文字列が、文字データ記憶部１１８により、図２および図３に示すデータ構造で一時記憶される。ステップＳ１０５において、文字列出力部１２６は、上記認識結果文字列を出力し、表示部１２８は、当該認識結果文字列を表示する。
【０１０９】
ここで、過分離や過統合などが発生せず、正しく文字列を認識できていれば、修正が不要である。この場合、文字列選択部１２１および文字列構成変更指示部１１２は、認識結果文字列の選択指示など、ユーザによる認識結果文字列の修正指示を受け付けないので（ステップＳ１０６またはＳ１０７にてNO）、認識結果文字列の修正処理は終了される。
【０１１０】
一方、過分離や過統合などが発生して、認識された文字列の少なくとも１つが不適切であれば、ユーザは、表示部１２８により表示された認識結果文字列の中から、これから修正をしようとする認識結果文字列を選択し、文字列選択部１２１は、選択結果を受け付ける（Ｓ１０６にてYES ）。
【０１１１】
ここで、図５は、ステップＳ１０６において、ユーザが文字列を選択するための、操作部１２５と表示部１２８との例である。この図において、５０１は、携帯情報端末の操作キー、５０２は、携帯情報端末のディスプレイである。携帯情報端末のディスプレイ５０２において、ユーザは、操作キー４０１の矢印キーの上下キーを押下する。これに連動して、文字列選択部１２１は、表示されている認識結果文字列を選択する。なお、図５は、ユーザが、選択領域５０３で囲まれた文字列を現在選択している場合を例示している。
【０１１２】
ステップＳ１０７において、ユーザが、文字列構成変更指示部１２２により、認識結果文字列の構成を変更する指示をした場合、文字認識装置１による認識結果文字列の修正処理はステップＳ１０８に進む。
【０１１３】
具体的な変更の指示例として、図５を参照して説明する。ユーザは、操作キー５０１の数字キー１を押下すれば、文字列構成変更指示部１２２は、表示された認識文字列を分離処理する指示を出す。また、ユーザは、数字キー２を押下すれば、文字列構成変更指示部１２２は、表示された認識文字列を統合処理する指示を出す。ユーザが、操作キー５０１により、表示された認識文字列を統合、または、分離するための操作をしない場合（ステップＳ１０７にてNOの場合）、認識結果文字列の修正処理は終了される。
【０１１４】
ステップＳ１０８において、文字列再構成候補作成部１１５は、ユーザにより、統合または分離するための指示を出された認識結果文字列を特定し、ステップＳ１０９において、文字列再構成候補作成部１１５は、抽出された認識結果文字列に対し、上記ステップＳ１０７にて指示された処理、すなわち、統合処理、または、分離処理を行う。さらに、文字列再構成候補作成部１１５は、統合処理または分離処理された結果作成された認識結果文字列の候補を作成する。
【０１１５】
（分離処理）
以下、ステップＳ１０７において、文字列変更指示部１２２による指示が、分離の指示であった場合の分離処理について、図６のフローチャートを基づいて説明する。
【０１１６】
図６は、文字列再構成候補作成部１１５が、文字列変更指示部１２２により分離処理を指示された認識結果文字列を、文字間の距離に基づいて分離する処理を示したフローチャートである。
【０１１７】
（文字間距離による分離処理）
以下において、文字列変更指示部１２２により指示された認識結果文字列は、図１７（ｂ）の認識結果１７２の住所項目であるとする。なお、文字列抽出部１１４が図１７（ｂ）に示すように、過統合してしまう理由としては、例えば、文字列間の空白が文字間と比較してそれほど大きいものではない場合に後述する文字間距離のルールのみに基づいて文字列を抽出したという理由、後述する言語に基づくルールを採用したとしても、分離位置の単語の認識誤りや、もともと辞書にないなどの理由が挙げられる。
【０１１８】
このように、文字列を誤って抽出した場合に文字列の再構成が指示されると、ステップＳ２０１において、文字列間距離演算部１１６は、上記認識結果文字文字列を構成する、各文字間の距離の累積ヒストグラムを作成する。
【０１１９】
具体的には、文字列間距離演算部１１６は、図１７（ｂ）の認識結果１７２の住所項目の認識結果文字列”（本社）◎◎県○○市△△町１２  （支社）◎◎県□□市××町３４”において、隣合う二文字の文字間距離値を測り、上記文字間距離値からヒストグラムを作成する。
【０１２０】
認識結果文字、認識結果文字列は、図２、図３の文字記憶構成２０１、文字列配列３０１、項目別情報３０２、３０３のような構成となっている。そのため、文字列間距離演算部１１６は、構成する認識結果文字において、隣同士の文字の座標を調べることにより、容易に、隣合う二文字の文字間距離値を測ることができる。
【０１２１】
ここで、一般的に、文字間距離  ＜  文字列間距離である。そのため、文字間距離値からなるヒストグラムは、図７のように、文字間距離値による山と文字列間距離値による山との２つの山を持つことが多い。
【０１２２】
次に、ステップＳ２０２において、文字列間距離演算部１１６は、ステップＳ２０１にて作成したヒストグラムに基づいて、各文字間距離値と分離対象の文字列間距離値とを分離する閾値Ｔを算出する。なお、認識結果文字間の距離を計算する方法は、現在種々の手法が存在しており、どのような方法でも構わない。今回の場合において、閾値Ｔを求める方法は、判別分析法（大津のアルゴリズム）と呼ばれる、２つの山を分離する閾値を求める手法を用いる。なお、上記では、文字列間距離演算部１１６はヒストグラムに基づいて閾値Ｔを算出する場合を例にして説明したが、これに限るものではなく、平均値を閾値Ｔとしてもよい。ただし、上記のようにヒストグラムに基づいて閾値Ｔを算出する方が、より的確に閾値Ｔを決定できる。
【０１２３】
次に、文字列再構成候補作成部１１５は、ステップＳ２０３からステップＳ２０８の処理において、分離対象の文字列内の分離可能な場所（文字と文字との間全て）の中から、文字間距離値が閾値Ｔ以上である場所と、その個数Ｎ（文字列分離箇所数）とを求める。なお、本実施形態に係る文字列再構成候補作成部１１５は、必要に応じて文字列間距離演算部１１６へ問い合わせるなどして、文字間距離値を取得している。
プＳ２０３において、文字列分離箇所数Ｎを初期値（Ｎ＝０）とする。さらに、ステップＳ２０４において、文字間のカウンタｎを初期値（ｎ＝１）とする。
【０１２４】
ステップＳ２０５において、文字間のカウンタｎが、文字間の総数ＳＮｕｍ以下であれば、処理はステップＳ２０６に進む。なお、文字間の総数ＳＮｕｍは、文字同士の接触がなければ、（文字の総数−１）であり、文字同士が接触していれば（それらの文字を分離できない場合には）、その分だけ減少する。
【０１２５】
ステップＳ２０６において、第ｎ番目の文字間距離値Ｓｎが、閾値Ｔ以上であれば、文字列再構成候補作成部１１５は、上記第ｎ番目の文字間位置が、分離されるべき文字列同士の間であると判定する。これにより、処理はステップＳ２０７に進み、Ｎの値は、１つ増加する。このとき、文字列再構成候補作成部１１５は、上記分離されるべき文字列同士の間の位置についての情報を、文字データ記憶部１１８に記憶する。また、第ｎ番目の文字間距離値Ｓｎが、閾値Ｔ以上でない場合、処理はステップＳ２０８に進む。さらに、閾値Ｔ以上であるか否かに拘わらず、ステップＳ２０８において、文字間のカウンタｎは、１増加される。
【０１２６】
上記ステップＳ２０５からステップＳ２０８までの処理は、ステップＳ２０５において、ｎ≦ＳＮｕｍになるまで、繰り返される。
【０１２７】
ここで、一例として、上記名刺認識結果１６２の住所項目の認識結果文字列”（本社）◎◎県○○市△△町１２  （支社）◎◎県□□市××町３４”において、”（本社）”と”◎◎県○○市△△町１２”との間、”◎◎県○○市△△町１２”と”（支社）”との間、並びに、”（支社）”と”◎◎県□□市××町３４”との間の３箇所の距離値が、閾値Ｔ以上であるとする。この場合、ステップＳ２０３からステップＳ２０８までの処理をした結果、文字列分離箇所数Ｎの値は３となり、上記３箇所の情報が記憶される。
【０１２８】
（文字列再構成候補作成）
次に、文字列再構成候補作成部１１５は、上記ステップＳ２８１からステップＳ２８４の処理において、各場所で分離した文字列を、それぞれ再構成の候補として列挙する。なお、本実施形態に係る文字列再構成候補作成部１１５は、場所の個数Ｎが複数の場合、それらの場所のうち、少なくとも１つで文字列を分離して生成される文字列の組み合わせ全てを、再構成の候補として列挙している。
【０１２９】
より詳細には、ステップＳ２８１において、変数ｎは１に設定される。ステップＳ２８２において、ｎ≦Ｎであれば、処理はステップＳ２８３に進む。そうでなければ処理は、終了する。
【０１３０】
ステップＳ２８３において、文字列再構成候補作成部１１５は、対象となっている認識結果文字列をｎ個に分離する候補を作成して列挙する。さらに、ステップＳ２８４において、ｎは１増加し、処理はステップＳ２８２に戻る。なお、本実施形態では、文字列再構成候補作成部１１５が、当該列挙された候補（分離文字列の組み合わせ）を示す組み合せ情報を文字データ記憶部１１８に記憶し、図６のフローチャート終了後、文字列変更候補出力部１２７が、上記分離の組み合せ情報に基づいて、分離して生成された文字列の組み合わせを出力している。
【０１３１】
上述の例では、Ｎ＝３であるので、ｎは、１、２、または３のいずれかである。この場合、ｎ＝１のときの上記ステップＳ２８３では、１箇所で分離する場合の組み合わせとして、以下の３通りを示す組み合わせ情報（分離候補）が列挙される。すなわち、分離候補１を示す組み合せ情報は、”（本社）”と”◎◎県○○市△△町１２（支社）◎◎県□□市××町３４”との組み合わせを示している。また、分離候補２を示す組み合わせ情報は、”（本社）◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”との組み合わせを示し、分離候補３を示す組み合わせ情報は、”（本社）◎◎県○○市△△町１２（支社）”と”◎◎県□□市××町３４”との組み合わせを示している。
【０１３２】
同様に、ｎ＝２のときの上記ステップＳ２８３では、２箇所で分離する場合の組み合わせとして、以下の３通りを示す組み合わせ情報（分離候補）が列挙される。すなわち、分離候補４〜６として、”（本社）”と”◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”との組み合わせ、分離候補５  ”（本社）”と”◎◎県○○市△△町１２（支社）”と”◎◎県□□市××町３４”との組み合わせ、並びに、”（本社）◎◎県○○市△△町１２”と”（支社）”と”◎◎県□□市××町３４”との組み合わせが列挙される。
【０１３３】
また、ｎ＝３のときの上記ステップＳ２８３では、３箇所で分離する場合の組み合せとして、１通りの組み合わせ、すなわち、”（本社）”と”◎◎県○○市△△町１２”と” （支社）”と”◎◎県□□市××町３４”との組み合わせが、分離候補７として列挙される。
【０１３４】
（言語に基づくルールによる分離処理）
なお、図６において、文字列再構成候補作成部１１５は、認識結果文字列を分離するために、文字間距離のルール（上述の例では、文字間距離値が閾値Ｔ以上であると分離するというルール）のみに従い、文字列再構成候補作成部１１５が、文字間距離の情報のみを用いて、再構成の候補を生成した場合について説明した。
【０１３５】
そのため、文字列間距離と文字間距離とが同じくらいで極めて小さければ、文字列間距離演算部１１６は、文字列間距離と文字間距離とを区別できない。言い換えると、文字列間の空白が文字間と比較してそれほど大きいものではない場合には、文字間の空白情報のみにより、文字列を、２つの文字列に分離することは困難である。
【０１３６】
例えば、”（本社）◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”との間の距離が極めて小さいとき、文字列間距離演算部１１６は、上記距離を、各文字間の距離と区別できない。これにより、「文字列再構成候補作成部１１５は、”（本社）◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”とを、分離できない」といった可能性も考えられる。
【０１３７】
以下では、そのような場合のためのルールとして、文字列再構成候補作成部１１５が言語に基づくルールに従って分割する場合について説明する。なお、文字列再構成候補作成部１１５は、距離と言語とのうちの一方のルールに従ってのみ動作可能に構成されていてもよいが、本実施形態に係る文字列再構成候補作成部１１５は、距離と言語とのいずれのルールに従っても動作可能に構成されており、ルール記憶部１１９に記憶されているルールに従って動作している。また、ルール記憶部１１９に上記ルールの双方が記憶されている場合、予め定められた方のルールのみに従って動作してもよいが、本実施形態に係る文字列再構成候補作成部１１５は、上記ルールの双方が記憶されている場合、上述した距離による分離のルールと上記言語に基づくルールとを併用している。
【０１３８】
（分離ルール）
図８は、ルール記憶部１１９内の分離ルールの一例を示す図である。図８では、一例として、言語に基づく分離ルールが、「認識結果文字列中の文字Ｃｎから始まる部分文字列が、予め定められた文字列（単語）と一致した場合、文字Ｃｎの前で文字列を分離する」というルールである場合を示しており、図８に示す言語ルールテーブルには、上記予め定められた文字列（単語）のそれぞれが記憶されている。さらに、文字列再構成候補作成部１１５は、認識結果文字列中の文字Ｃｎから始まる部分文字列が上記言語ルールテーブル内のいずれかの単語と一致した場合、文字Ｃｎの前で文字列を分離可能と判断している。
【０１３９】
例えば、図８では、”（”の前で文字列を区切るというルール、”北海道”、”青森県”などのような”◎◎県”の前で文字列を区切るというルール、並びに、”本社”、”支社”または”事業所”の前で文字列を区切るというルールが、上記言語ルールテーブルに記憶されている場合を例示している。
【０１４０】
ここで、上述したように、文字間距離の情報のみによって分離した場合、文字列間距離が文字間距離と同じくらいで極めて小さいときは、図１７（ｂ）認識結果１７２の住所項目”（本社）◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”とを分離できない可能性がある。ところが、上述した言語に基づく分離ルールを用いれば、文字列再構成候補作成部１１５は、文字列間距離が文字間距離と同じくらいで極めて小さい場合であっても、何ら支障なく、認識結果文字列を分離することができる。
【０１４１】
なお、図８に示すルールおよび記憶方法は一例であって、言語に基づくルールとしては、例えば、あるルールにマッチする場合は、その文字の前（あるいは後）で文字列を分離する」というルール、あるいは、「ある文字が、あるルールにマッチする場合は、その文字の前（あるいは後）で文字列を分離しない」といったルールなどが挙げられる。また、他のルールおよび記憶方法として、言語ルールテーブルに代えて、住所として使用される文字列を登録した住所辞書のように、項目毎の辞書を設けたり、単語が登録された単語辞書を設け、文字列再構成候補作成部１１５は、「これらの辞書に登録されている文字列の途中では分離しない」というルールに従って分離の可否を判断してもよい。なお、この場合でも、辞書に登録する文字列を更新すれば、ルールを更新できる。また、上記では、部分文字列と、予め定められた文字列（単語）とが完全一致しているか否かによって判定しているが、例えば、正規表現などによって、部分文字列が予め定められたパターンにマッチしているか否かによって判定してもよい。いずれの場合であっても、文字列再構成候補作成部１１５が、上記ルール記憶部１１９に記憶されたルールに従って、分離の可否を判定できれば、同様の効果が得られる。
【０１４２】
また、図９は、文字列再構成候補作成部１１５が、文字列変更指示部１２２により分離処理を指示された認識結果文字列を、言語に基づくルールに基づいて分離する処理を示すフローチャートである。
【０１４３】
すなわち、文字列再構成候補作成部１１５は、ステップＳ２２１からステップＳ２２６の処理において、分離対象の文字列内の分離可能な場所（文字と文字との間全て）の中から、ルール記憶部１１９に記憶されたルールによって分離可能な場所と、その個数Ｎ（文字列分離箇所数）とを求める。
【０１４４】
より詳細には、ステップＳ２２１において、文字列分離箇所数Ｎが初期値（Ｎ＝０）に設定され、ステップＳ２２２において、文字カウンタｎが初期値（ｎ＝１）に設定される。ステップＳ２２３において、文字カウンタｎが文字総数ＣＮｕｍ以下であれば、処理はステップＳ２２４に進む。そうではなく、文字カウンタｎが文字総数ＣＮｕｍ以下でないならば、処理はステップＳ２９１に進む。
【０１４５】
次に、ステップＳ２２４において、文字列再構成候補作成部１１５は、ｎ番目の文字Ｃｎの直前で文字列を分離する規則が、ルール記憶部１１９内の分離ルール（テーブル）に存在するか否かを判定する。存在する場合、ステップＳ２２５において、Ｎの値は１増加される。また、存在するか否かに拘わらず、ステップＳ２２６において、文字カウンタｎは１増加する。上記ステップＳ２２１からステップＳ２２６の処理は、図６のステップＳ２０５からステップＳ２０８までの処理と同様、ステップＳ２２３において、ｎ≦ＣＮｕｍになるまで、繰り返される。
【０１４６】
また、文字列再構成候補作成部１１５は、上記ステップＳ２９１からステップＳ２９４の処理において、図６に示すステップＳ２９１からステップＳ２９４と同様に、各場所で分離した文字列を、それぞれ再構成の候補として列挙する。
【０１４７】
ところで、上記ルール記憶部１１９のルールは、固定されていてもよいが、本実施形態に係る文字認識装置１には、より望ましい構成として、ルール設定部１２９が設けられており、ルール設定部１２９は、ユーザにより入力されたデータを、ルールとしてルール記憶部１１９に設定できる。
【０１４８】
例えば、ユーザは、キーボードなどの操作部１２５により、「”会社”の後で、文字列を分離する」というルールを示すデータ（例えば、”会社”など）を入力し、文字認識装置１（ルール設定部１２９）が当該データの入力を受け付けると、ルール設定部１２９は、ユーザにより入力された「”会社”の後で、文字列を分離する」というルールを、ルール記憶部１１９に設定する。したがって、文字列再構成作成部１１５は、例えば、文字列”ＡＢＣ株式会社ＤＥＦ支店”を、”会社”の後で分離できるようになる。これにより、文字列再構成作成部１１５は、再構成候補として、「”ＡＢＣ株式会社”、”ＤＥＦ支店”」を作成する。ここで、項目情報として、”会社”、”支店”があるならば、上記２つの文字列を、それぞれ正しい項目情報に分類されることになる。なお、認識対象となる文字群において、”支店”ではなく”支部”が使用される場合は、”支部”で区切るルールを設定すればよい。
【０１４９】
ここで、言語に基づくルールの場合、ユーザの属している組織の構造や認識対象となる文字列の内容などが変化すると、最適なルールも変化することが多く、例えば、ある組織では、文字列間の分離に適した文字であったとしても、他の組織では、文字列の分離に適した文字ではなくなってしまうことがある。
【０１５０】
したがって、ルール設定部１２９は、ユーザにより入力されたデータをルールとして設定することによって、状況に応じた適切なルールを設定でき、文字列再構成作成部１１５は、より高い確度で、正しい分離箇所を検出できる。
【０１５１】
一例として、「”（支社）”という単語は、住所の先頭につきやすい単語であり、”（支社）”の後に住所を意味する文字列が続いた場合、”（支社）”の前で文字列を分離する」というルールが、例えば、上述した言語ルールテーブル、住所辞書あるいは単語辞書などの形態でルール記憶部１１９に記憶されていれば、文字列再構成作成部１１５は、”（支社）”の前で、正しく文字列を分離できる。ところが、”（支社）”ではなく、”支部”で区切るような組織の場合には、上記”（支社）”に関するルールが登録されていたとしても、”支部”に関するルールが登録されていなければ、文字認識装置１は、当該組織に関連する文字群から、正しい文字列を抽出したり、正しく文字列を分離することが難しい。したがって、この場合は、”支部”で区切るルールを設定すれば、より高い確度で、正しい分離箇所を検出できる。なお、一般に、あるユーザが文字認識しようとする文字群は、ある程度パターン化されていることが多いので、当該パターンに関するルールを入力すると、文字認識装置１は、それ以降は、そのパターンの文字列を正しく抽出したり、再構成したりできる。したがって、ルールを入力したとしたとしても、全体的には、ユーザの手間を低減できる。
【０１５２】
（分離候補出力）
上述した図６または図９に示すように文字列の再生構成候補が生成されると（図４に示すステップＳ１０９）、ステップＳ１１０において、文字列変更候補出力部１２７は、ステップＳ１０９にて作成された認識結果文字列候補を表示部１２８に出力する。これにより、表示部１２８には、上記認識結果文字列候補が表示される。
【０１５３】
（分離候補表示）
図１０は、図５のディスプレイに表示されている住所の認識結果文字列を、１箇所で分離した分離候補を表示した例を示す。この図において、１２８は表示部、５０２は携帯情報端末のディスプレイである。
【０１５４】
より詳細には、図１０（ａ）は、分離候補１として、”（本社）”と”◎◎県○○市△△町１２（支社）◎◎県□□市××町３４”との組み合わせを表示した場合である。また、図１０（ｂ）は、分離候補２として、”（本社）◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”との組み合わせを表示した場合である。さらに、図１０（ｃ）は、分離候補３として、”（本社）◎◎県○○市△△町１２（支社）”と”◎◎県□□市××町３４”との組み合わせを表示した場合を示している。
【０１５５】
一方、図１１は、図５のディスプレイに表示されている住所の認識結果文字列を、２箇所、または、３箇所で分離した分離候補を表示した例を示している。この図において、１２８は表示部、５０２は携帯情報端末のディスプレイである。
【０１５６】
より詳細には、図１１（ａ）は、分離候補４として、”（本社）”と”◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”との組み合わせを表示した場合を示している。また、図１１（ｂ）は、分離候補５として、”（本社）”と”◎◎県○○市△△町１２（支社）”と”◎◎県□□市××町３４”との組み合わせを表示した場合を示している。さらに、図１１（ｃ）は、分離候補６として、”（本社）◎◎県○○市△△町１２”と”（支社）”と”◎◎県□□市××町３４”との組み合わせを表示した場合を示しており、図１１（ｄ）は、分離候補７として、”（本社）”と”◎◎県○○市△△町１２”と”（支社）”と”◎◎県□□市××町３４”との組み合わせを表示した場合を示している。
【０１５７】
（分離候補選択）
図１０または図１１において、ユーザは、操作部１２５により、携帯情報端末のディスプレイ５０２に表示されている分離候補１から分離候補７のいずれかを選択する。これに応じて、文字列変更候補選択部１２３は、分離候補を選択する。実際の構成では、ユーザが操作キー５０１の矢印キーの上下キーを押下することにより、携帯情報端末のディスプレイ５０２において、分離候補１から分離候補７の表示が変わる構成とすればよい。
【０１５８】
（分離候補決定）
ステップＳ１１１において、ユーザは、操作部１２５により、正しい構成を決定する。これに応じて、文字列変更候補決定部１２４は、ユーザにより指定された分離候補を、確定された文字列変更候補と決定する。図１０または図１１において、ユーザは、図５の操作部１２５の矢印キーを押下することで正しい文字列再構成候補結果（すなわち分離候補２）を表示した後（本例では表示することが、そのまま選択することになる）、操作部１２５の決定キーを押下して確定すればよい。
【０１５９】
ステップＳ１１２において、文字列再構成候補作成部１１５は、上記ステップＳ１１１にて確定された文字列変更候補（分離候補）に基づいて、文字データ記憶部１１８内に記憶されている認識結果文字列の情報を更新し、認識結果文字列の構成を変更する。なお、上記ステップＳ１１２の後、処理は、ステップＳ１０６へ戻る。
【０１６０】
これにより、例えば、図１７（ｂ）の認識結果１７２における、住所項目の認識結果文字列”（本社）◎◎県○○市△△町１２  （支社）◎◎県□□市××町３４”は、分離処理の結果として、”（本社）◎◎県○○市△△町１２”と”（支社）◎◎県□□市××町３４”とに変更される。
【０１６１】
（統合処理）
次に、過分離された認識結果文字列を統合する処理の説明を行う。以下、図１２、図１３のフローチャートを用いて、図４のステップＳ１０７にて統合が指示され、ステップＳ１０９において、文字列再構成候補作成部１１５が過分離を修正する場合の動作を説明する。
【０１６２】
（統合処理フローチャート）
図１２は、選択した認識結果文字列が、左右方向または上下方向にある認識結果文字列との統合をする処理を示すフローチャートである。以下、図１２を参照して説明をする。
【０１６３】
ステップＳ３０１において、文字列再構成候補作成部１１５は、現在選択している認識結果文字列と、左右方向にある文字列との統合の組み合せを列挙し、ステップＳ３０２において、文字列再構成候補作成部１１５は、現在選択している認識結果文字列と、上下方向にある文字列との統合の組み合せを列挙した後、候補の列挙処理を終了する。なお、分離する場合と同様に、文字列再構成候補作成部１１５が組み合せを列挙する度に文字列変更候補出力部１２７が組み合わせを出力してもよいが、本実施形態に係る文字列再構成候補作成部１１５は、列挙された統合の組み合わせを文字データ記憶部１１８に一時記憶し、文字列変更候補出力部１２７は、全てが列挙された後で組み合わせを出力している。
【０１６４】
（左右方向の統合処理）
以下では、図１３のフローチャートを用いて、ユーザが現在選択している認識結果文字列と、左右方向にある文字列との統合の組み合せを列挙する処理を説明する。なお、上下方向にある文字列との統合の組み合せを列挙する処理は、左右の文字列を検索する代わりに上下の文字列を検索する点を除いては、左右の場合と同一なので、詳しい説明は省略する。
【０１６５】
ステップＳ４０１において、ユーザは、表示部１２８に表示されている認識結果文字列を選択し変更指示を出す。これに応じて、文字列選択部１２１は、認識結果文字列を選択し、文字列構成変更指示部１２２は、認識結果文字列に変更指示を出す。
【０１６６】
ステップＳ４０２からステップＳ４０７までにおいて、文字列再構成候補作成部１１５は、選択した認識結果文字列の左右にある認識結果文字列を列挙し、文字データ記憶部１１８は、選択した認識結果文字列の左右にある認識結果文字列を一時記憶する。
【０１６７】
より詳細には、ステップＳ４０２において、選択した認識結果文字列の左右にある認識結果文字列の個数Ｎを、初期値（Ｎ＝０）に設定する。また、ステップＳ４０３において、文字列カウンタｎも初期値（ｎ＝１）に設定される。
【０１６８】
ステップＳ４０４において、文字列カウンタｎがＳｔＮｕｍ以下であれば、処理は、ステップＳ４０５に進む。本実施形態では、選択した認識結果文字列を除く全ての統合可能な認識結果文字列について、左右方向で重なっているか否かを判定しており、文字列カウンタｎの上限値としてのＳｔＮｕｍの値は、選択した文字列を除いた値、すなわち、（統合可能な認識結果文字列総数−１）に設定される。また、選択した認識結果文字列を除く全ての統合可能な認識結果文字列は、文字列カウンタｎで順序付けまたは対応付けられている。
【０１６９】
ステップＳ４０５において、文字列再構成候補作成部１１５は、文字列カウンタｎ番目の認識結果文字列と、選択した認識結果文字列とが、左右方向で重なっているか否かを判定する。
【０１７０】
本実施形態では、図３に示すように、文字データ記憶部１１８に記憶される認識結果文字列の情報は、それを構成する認識結果文字を示す情報を含んでいる。また、文字データ記憶部１１８には、図２に示すデータ構造で認識結果文字が記憶されており、認識結果文字の情報（文字記憶構成２０１）は、当該認識結果文字に対応する画像文字の位置データを含んでいる。ここで、文字列の座標値は、文字列内の各文字の座標を包含する座標値であり、認識結果文字列の座標値は、認識結果文字列内の認識結果文字の座標値から算出できる。したがって、文字列再構成候補作成部１１５は、文字データ記憶部１１８を参照することによって、認識結果文字列と左右方向の認識結果文字列とが重なっているか否かを容易に判定できる。
【０１７１】
ステップＳ４０５において、ｎ番目の文字列が選択した文字列の左右にあると判定された場合、処理は、ステップＳ４０６に進み、Ｎが１増加される。また、左右にあると判定されたか否かに拘わらず、ステップＳ４０７において、ｎを１増加した後、上記ステップＳ４０４以降の処理が繰り返される。
【０１７２】
一例として、図１９（ａ）の名刺１７１を認識した結果、図１９（ｂ）に示すように認識してしまい、統合処理する場合について説明する。なお、図１８の過分離に対する統合処理の例も図１９の例と同様であるため、図１８を用いた説明は省略する。
【０１７３】
また、以下の例では、図１９（ｂ）に示す各認識結果文字列のうち、”（本社）”、”（第１工場）◎◎県□□市××町３４”、”◎◎県○○市△△町１２”、”（第２工場）◇◇県★★市☆☆町５６”または”ｈｔｔｐ：／／ｗｗｗ.ｘｙｚ.ｃｏ.ｊｐ”の５つの認識結果文字列が統合可能な認識結果である。この場合、統合可能な認識結果文字列総数が５なので、ＳｔＮｕｍは４になる。
【０１７４】
この場合に、一例として、”（本社）”が選択されると、例えば、上記ステップＳ４０５では、上記の５つの認識結果文字列のうち、”（本社）”を除いた各文字列と、図１９（ａ）の名刺１７１の”（本社）”とが左右方向で重なっているか否かが判定される。したがって、”（第１工場）◎◎県□□市××町３４”という文字列１つのみが、”（本社）”の左または右にあると判定される。なお、その他の文字列は、認識結果文字列の座標値計算から、左右にあるものではないと判定される。
【０１７５】
上記ステップＳ４０２からステップＳ４０７までにおいて、選択した認識結果文字列の左右にある認識結果文字列が見出されると、文字列再構成候補作成部１１５は、ステップＳ４０８からステップＳ４１３において、これら見出された認識結果文字列の少なくとも１つを元の認識結果文字列に統合して得られる認識結果文字列（連結認識結果文字列）を列挙する。
【０１７６】
より詳細には、ステップＳ４０８において、文字列の組み合せ数カウンタｎが初期値（ｎ＝２）に設定される。さらに、ステップＳ４０９において、ｎ≦Ｎであれば、処理は、ステップＳ４１０に進む。そうでなく、ｎ≦Ｎでない場合、処理は終了する。
【０１７７】
また、文字列再構成候補作成部１１５は、ステップＳ４１０において、ユーザが選択した文字列（上記元の認識結果文字列）を含む合計ｎ個の認識結果文字列の組み合せ全てが特定される。次に、ステップＳ４１１において、文字列再構成候補作成部１１５は、ステップＳ４１０にて特定された組み合わせ全てについて、当該組み合わせを構成するｎ個の認識結果文字列を連結して得られる連結認識結果文字列が妥当であるか否かを、各連結認識結果毎に（各組み合わせ毎に）判定する。さらに、文字列再構成候補作成部１１５は、ステップＳ４１２において、妥当と判断された組み合わせを構成するｎ個の認識結果文字列を統合して得られる連結認識結果文字列のみを、連結候補として、文字データ記憶部１１８に記憶する。また、ステップＳ４１３において、ｎを１増加させ、ステップＳ４０９へ戻る。
【０１７８】
上述した例のように、ユーザが選択した文字列が、”（本社）”の場合、左右方向で重なっている文字列として、”（第１工場）◎◎県□□市××町３４”が記憶されている。したがって、文字データ記憶部１１８には、認識結果文字列の組み合わせとして、”（本社）”と”（第１工場）◎◎県□□市××町３４”との組み合わせが得られ、特に妥当性に支障がなければ、これらを統合した連結認識結果文字列、すなわち、”（本社）（第１工場）◎◎県□□市××町３４”のみが、連結候補として記憶される。
【０１７９】
（連結認識結果文字列の妥当性判定）
以下では、上記ステップＳ４１１において連結認識結果文字列の妥当性を判定する処理について、図１４を参照して説明する。
【０１８０】
ステップＳ４２１において、組み合せ文字列カウンタｍを初期値（ｍ＝１）に設定する。また、各組み合せ文字列は、カウンタｍで順序または対応付けられるものとする。
【０１８１】
ステップＳ４２２において、ｍ≦Ｍであれば、処理はステップＳ４２３に進む。そうでなければ、妥当性判定処理は、終了する。なお、Ｍは、ステップＳ４１０において、合計ｎ個の認識結果文字列の組み合せ全ての個数である。
【０１８２】
ステップＳ４２３において、文字列再構成候補作成部１１５は、ｍ番目の組み合せ文字列Ｓｍが、連結不可能な不適当文字列でないかの判定をする。さらに、ステップＳ４２４において、文字列再構成候補作成部１１５は、ステップＳ４２３にて不適当文字列でないと判定された認識結果文字列を文字データ記憶部１１８に記憶する。また、不適当文字列であるか否かに拘わらず、ステップＳ４２５において、ｍを１増加させ、Ｓ４２２へ戻る。
【０１８３】
この判定の処理は、ルール記憶部１１９に具備された図１５のようなルールに基づいて実行してもよい。
【０１８４】
（連結不可能ルール）
ここで、図１５は、認識結果文字列を連結することが不可能な、認識結果文字列の組み合わせに係るルールを例示しており、ルール１として、「”項目が住所”である文字列と”項目がＵＲＬ”である文字列とを含む場合は、認識結果文字列の連結は不可能である」というルールが設定されている。
【０１８５】
ここで、例えば、各項目の認識文字列を互いに連結可能であるか否かなど、再構成が指示された文字列を、適切な再構成結果文字列に変換する際に必要な判断は、認識文字列の項目に依存して決まることが多い。したがって、項目情報と関連付けられたルールに基づいて判断することによって、文字列再構成作成部１１５は、より高い確度で、正しい再構成結果文字列を生成できる。
【０１８６】
なお、上記では、ルールの一例として、項目情報と関連付けられたルールについて説明したが、ルール記憶部１１９には、図１５のルール３に示すように、文字列の内容に基づくルールも記憶でき、このルールが記憶されていた場合、文字列再構成候補作成部１１５は、当該文字列の内容がルールにマッチしているか否かによって、統合の可否を判定できる。ここで、図１５では、ルール１に加えて、住所項目とメールアドレス項目の文字列の組み合せ（ルール２）や、”◎◎県”を含む文字列と”◇◇県”を含む文字列の組み合せ（１つの文字列が２つ以上の都道府県を含むことは一般に有り得ない（ルール３））といったルールが記憶されいてる場合を例示している。なお、文字列再構成候補作成部１１５が、ルール記憶部１１９に記憶されているルールに従って、文字データ記憶部１１８に格納されている認識結果文字列の情報に基づいて、これらの認識結果文字列の組み合わせの統合の可否を判定できれば、これら以外のルールであっても、これら以外にも種々のルールを採用できる。
【０１８７】
以下では、図１９において、上下方向に統合する場合を例にして、妥当性判断の一例を説明する。すなわち、図１９（ａ）において、ユーザにより選択された認識結果文字列が”（本社）”であるとすると、文字列再構成候補作成部１１５は、上述したように、ステップＳ４０１からステップＳ４０９までと略同様の処理によって、”◎◎県○○市△△町１２”と”ｈｔｔｐ：／／ｗｗｗ.ｘｙｚ.ｃｏ.ｊｐ”とが、”（本社）”に上下方向に重なる文字列として見出される。なお、この場合、Ｎ＝３となる。
【０１８８】
この場合、ｎ＝２のときのステップＳ４１０では、認識結果文字列の第１の組み合わせとして、”（本社）”と”◎◎県○○市△△町１２”との組み合わせ１通りが列挙されれる。また、ｎ＝３のときのステップＳ４１０では、認識結果文字列の第２の組み合わせとして、”（本社）”と”◎◎県○○市△△町１２”と”ｈｔｔｐ：／／ｗｗｗ.ｘｙｚ.ｃｏ.ｊｐ”との組み合わせ１通りが列挙される。したがって、連結される認識結果文字列の組み合わせは、合計２通りとなる。
【０１８９】
ここで、上記第２の組み合わせにおいて、”◎◎県○○市△△町１２”は、住所の項目であり、”ｈｔｔｐ：／／ｗｗｗ.ｘｙｚ.ｃｏ.ｊｐ”は、ＵＲＬの項目である。また、図１５のルール１において、”項目が住所”である文字列と”項目がＵＲＬ”である文字列とを含む場合は、認識結果文字列の連結は不可能であると定められている。
【０１９０】
この場合、ｎ＝３のときのステップＳ４１１において、”（本社）”と”◎◎県○○市△△町１２”と”ｈｔｔｐ：／／ｗｗｗ.ｘｙｚ.ｃｏ.ｊｐ”との統合の組み合せは起こりえないものとして組み合せから除外される。この結果、認識結果文字列の第１の組み合わせを阻害するルールが他に設定されていなければ、第１の組み合わせを連結して得られる文字列”（本社）◎◎県○○市△△町１２”のみが、連結候補として記憶される。
【０１９１】
上述のように、認識結果文字列の項目情報を利用すれば、連結された認識結果文字列の総組み合せ数が少なくなり、ユーザにとって、選択が容易になるという利点が生じる。
【０１９２】
上述について、ルール設定部１２９は、ユーザにより入力されたデータを、ルールとして設定することが好ましい。例えば、ユーザは、操作部１２５により、会社項目と会社項目の組み合わせを不可能にする内容を、文字認識装置１に入力する。これにより、ルール設定部１２９は、上記内容を、ルールとして設定する。
【０１９３】
（連結結果表示）
図１６は、図１９において、”（本社）”と、左右方向に文字列との、統合の例を示す図である。この図において、１２８は表示部、５０２は携帯情報端末のディスプレイである。
【０１９４】
分離処理の例と同様、ユーザは、操作キー５０１の矢印キーの上下キーを押下する。これにより、文字列変更候補選択部１２３は、（ａ）の画面、または、（ｂ）の画面を選択する。ユーザは、正しい統合候補（（ａ）の画面）を選択した状態で、操作キー５０１の確定キーを押下することにより、正しい統合候補を確定することが可能である。
【０１９５】
なお、図１６において、統合した文字列の項目は、統合を行うために、不明項目としているが、このときに項目判定部１１３により、項目の再付与をするようにしてもよい。
【０１９６】
また、上述したとおり、通常起こりえない組み合せ（図１６の（ｂ））を省けば、統合の組み合せは、図１６の（ａ）のみである。このように、１つの組み合せしかない場合、文字認識装置１は、候補の表示出力、及び、ユーザの選択、確定といった一連の処理を省き、そのまま確定するようにしてもよい。
【０１９７】
なお、本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲において種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１９８】
また、本実施形態に係る文字列認識装置を、以下のように表現することも可能である。
【０１９９】
（第１の構成）
画像を一時記憶する画像一時記憶手段（１１７）と、
上記画像一時記憶手段に一時記憶された文書画像から画像文字列を抽出する画像文字列抽出手段（１１１）と、
上記画像文字列抽出手段によって抽出された画像文字列から、一文字の文字認識結果情報である認識結果文字にて構成される認識結果文字列を生成する画像文字列認識手段（１１２・１１４）と、
上記画像文字列認識手段によって認識された認識結果文字列を一時記憶する文字列一時記憶手段（１１８）と、
上記文字列一時記憶手段に一時記憶された認識結果文字列を出力する文字列出力手段（１２６）とを備えた文字認識装置であって、
上記文字列出力手段によって出力された認識結果文字列を選択する文字列選択手段（１２１）と、
上記文字列選択手段によって選択された認識結果文字列に対して、文字列の構成の変更を指示する文字列構成変更指示手段（１２２）と、
上記文字列構成変更指示手段の指示に応じて、選択された認識結果文字列の構成を変更する文字列構成変更手段（１２３）とを備え、
上記文字列構成変更手段は、上記文字列一時記憶手段内に記憶された認識結果文字列を用いて認識結果文字列の構成を変更することを特徴とする文字認識装置。
【０２００】
（第２の構成）
上記構成に加えて、上記文字列構成変更指示手段からの指示は、上記文字列選択手段によって選択された認識結果文字列の統合の指示であって、
当該指示により、上記文字列構成変更手段は、上記文字列選択手段によって選択された認識結果文字列と、他の認識結果文字列とを結合することを特徴とする文字認識装置。
【０２０１】
（第３の構成）
上記構成に加えて、上記文字列構成変更指示手段からの指示は、上記文字列選択手段によって選択された認識結果文字列の分離の指示であって、
当該指示により、上記文字列構成変更手段は、上記文字列選択手段によって選択された認識結果文字列を複数の認識結果文字列に分離することを特徴とする文字認識装置。
【０２０２】
（第４の構成）
上記構成に加えて、上記一文字の文字認識結果情報である認識文字は、文字座標情報を具備したものであって、
上記文字列構成変更手段は、上記文字座標情報を用いて、上記文字列選択手段によって選択された認識結果文字列の構成を変更することを特徴とする文字認識装置。
【０２０３】
（第５の構成）
上記構成に加えて、上記認識結果文字列が予め定めておいた文字列の種類を表す項目情報のいずれに適合するかを判定する項目判定手段（１１３）を備え、
上記文字列構成変更手段は、上記項目判定手段からの項目情報を用いて、上記文字列選択手段によって選択された認識結果文字列の構成を変更することを特徴とする文字認識装置。
【０２０４】
（第６の構成）
上記構成に加えて、上記文字列選択手段にて選択された認識結果文字列に対して、上記文字列構成変更手段によって一つ乃至は複数の文字列が構成され、
上記文字列構成変更手段によって構成された一つ乃至は複数の文字列を出力する文字列変更候補出力手段（１２７）と、
上記文字列変更候補出力手段によって出力された一つ乃至は複数の文字列の一つを選択する文字列変更候補選択手段（１２３）と、
上記文字列変更候補選択手段によって選択された文字列を決定する文字列変更候補決定手段（１２４）とを備えることを特徴とする文字認識装置。
【０２０５】
〔プログラムおよび記録媒体〕
さらに、文字認識装置１に含まれている各ブロックは、ハードウェアロジックによって構成すればよい。または、次のように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてソフトウェアによって実現してもよい。
【０２０６】
すなわち、文字認識装置１は、各機能を実現する制御プログラムの命令を実行するＣＰＵ、この制御プログラムを格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、上記制御プログラムを実行可能な形式に展開するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、および、上記制御プログラムおよび各種データを格納するメモリなどの記憶装置（記録媒体）を備えている。
【０２０７】
この構成により、本発明の目的は、所定の記録媒体によっても、達成できる。この記録媒体は、上述した機能を実現するソフトウェアである文字認識装置１の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録していればよい。文字認識装置１に、この記録媒体を供給する。これにより、コンピュータとしての文字認識装置１（またはＣＰＵやＭＰＵ）が、供給された記録媒体に記録されているプログラムコードを読み出し、実行すればよい。
【０２０８】
プログラムコードを文字認識装置１に供給する記録媒体は、特定の構造または種類のものに限定されない。すなわち、この記録媒体は、たとえば、磁気テープやカセットテープなどのテープ系、フロッピー（登録商標）ディスク／ハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒなどの光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カードなどのカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭなどの半導体メモリ系などとすることができる。
【０２０９】
また、文字認識装置１を、通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介して文字認識装置１に供給する。この通信ネットワークは、文字認識装置１にプログラムコードを供給できるものであればよく、特定の種類または形態に限定されない。たとえば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、電話回線網、移動体通信網、衛星通信網などであればよい。
【０２１０】
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成または種類のものに限定されない。たとえば、ＩＥＥＥ１３９４、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）回線などの有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
【０２１１】
プログラムコードを供給する記録媒体は、特定の構造または種類のものに限定されない。すなわち、この記録媒体は、たとえば、磁気テープやカセットテープなどのテープ系、フロッピー（登録商標）ディスク／ハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒなどの光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カードなどのカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭなどの半導体メモリ系などとすることができる。
【０２１２】
また、文字認識装置１を、通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介して文字認識装置１に供給する。この通信ネットワークは、文字認識装置１にプログラムコードを供給できるものであればよく、特定の種類または形態に限定されない。たとえば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、電話回線網、移動体通信網、衛星通信網などであればよい。
【０２１３】
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成または種類のものに限定されない。たとえば、ＩＥＥＥ１３９４、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）回線などの有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０２１４】
また、本実施形態に係るプログラムを、以下のように表現することも可能である。
【０２１５】
画像を一時記憶する画像一時記憶ステップと、
画像一時記憶ステップで一時記憶された文書画像から画像文字列を抽出する画像文字列抽出ステップと、
一文字の文字認識結果情報である認識結果文字にて構成される認識結果文字列を生成する画像文字列認識ステップと、
認識結果文字列を一時記憶する文字列一時記憶ステップと、
一時記憶された認識結果文字列を出力する文字列出力ステップと、
認識結果文字列を選択する文字列選択ステップと、
文字列選択ステップによって選択された認識結果文字列に対して、文字列の構成の変更を指示する文字列構成変更指示ステップと、
文字列構成変更指示ステップの指示に応じて、文字列一時記憶ステップで記憶された認識結果文字列を用いて、選択された認識結果文字列の構成を変更する文字列構成変更ステップとを、コンピュータに実行させるプログラム。
【０２１６】
なお、本実施形態に係る文字認識装置１は、上述したように、文字列選択部１２１および文字列構成変更指示指示部１２２を備え、上記文字列抽出部１１４が抽出した全ての文字列のうちの一部の文字列のみへの再構成指示を受付可能であるが、これに限るものではない。例えば、文字認識装置１は、認識文字群全体のみに対して再構成を指示可能に構成されていてもよい。
【０２１７】
この場合であっても、文字列再構成作成部１１５は、少なくとも文字列抽出部１１４による文字列の抽出が誤っていることを把握している。したがって、文字列再構成作成部１１５と文字列抽出部１１４とが互いに同じ手順で文字列を再構成したとしても、文字列再構成作成部１１５は、いずれの文字列の抽出に誤りがあるかを把握していない場合（文字列抽出部１１４の場合）よりも高い確度で、正しい文字列に再構成できる。
【０２１８】
ただし、本実施形態に係る文字認識装置１のように、一部の文字列のみへの再構成指示を受付可能であれば、再構成する時点において、上述したように、再構成の対象となる文字列を、認識文字群全体ではなく、認識文字群の一部に制限できる。この結果、文字列再構成作成部１１５が文字列抽出部１１４と同じ手順で文字列を再構成したとしても、文字列再構成作成部１１５は、より高い確度で、正しい文字列に再構成できる。
【０２１９】
また、上記では、文字認識装置１が文字列変更候補出力部１２７および文字列変更候補選択部１２３および文字列変更候補決定部１２４を備え、複数の候補が存在する場合、それらの候補を提示し、それらのうちの選択された候補を上記再構成結果文字列としているが、これに限るものではない。例えば、複数の候補が存在する場合であっても、文字列再構成作成部１１５が、予め定められた手順で、そのうちの１つを自動的に選択してもよい。
【０２２０】
ただし、再構成が指示されるのは、文字列抽出部１１４が自動的に抽出した文字列が誤っていた場合なので、文字列再構成作成部１１５が自動的に選択すると、再度、誤る虞れがある。この場合、ユーザは、再度、文字認識装置１に再構成を指示する必要があるので、ユーザの手間が増大する虞れがある。これに対して、上記構成では、複数の候補が存在する場合、それらの候補を提示して、再構成結果文字列を決定しているので、ユーザの手間を削減できる。
【０２２１】
ところで、上記では、表示部１２８への表示によってユーザに認識結果文字列や再構成候補などを提示する場合について説明したが、当然ながら、音声など、他の提示方法（出力方法）でユーザに提示してもよい。
【０２２２】
また、上記では、カメラによって撮影された画像から文字を認識する文字認識装置について説明したが、これに限るものではない。例えば、スキャナによって読み取られた画像、あるいは、ネットワーク経由で取得された画像など、他の画像データ取得手段によって取得された画像を文字認識する文字認識装置であってもよい。
【０２２３】
また、上記では、画像を文字認識して得られた文字群から、文字列を抽出する文字認識装置について説明したが、これに限るものではなく、画像を文字認識しなくてもよい。画像を文字認識するか否かに拘わらず、記憶装置に記憶された文字情報が示す文字群から、当該文字群に含まれる１以上の文字列を抽出する文字列抽出手段を有する文字列抽出装置であり、上記抽出した文字列に対して再構成が指示された場合、再構成結果文字列として、当該指示された文字列を示す文字情報から、当該指示された文字列とは異なる少なくとも１つの文字列を生成する再構成手段を備えていれば、文字列の抽出に失敗してから正しい文字列を得るまでに必要な手間を削減できる。
【産業上の利用可能性】
【０２２４】
本発明は、例えば、スキャナによって読み取られた画像あるいはカメラによって撮影された画像から文字を認識する文字認識装置（例えば、名刺認識装置など）をはじめとして、文字群から当該文字群に含まれる文字列を抽出する文字列抽出装置に広く利用できる。
【図面の簡単な説明】
【０２２５】
【図１】本実施の形態における文字認識装置の内部構成を示すブロック図である。
【図２】文字データ記憶部における、認識結果文字の文字記憶構成を表す。
【図３】文字データ記憶部による、認識結果文字列の文字列記憶形式を表す。
【図４】本発明に係る文字認識装置が認識結果文字列を再構成し、候補を作成する処理のフローチャートである。
【図５】ユーザが文字列を選択するための、操作部と表示部の例である
【図６】文字列再構成候補作成部が、文字列変更指示部により分離処理を指示された認識結果文字列を、文字間の距離に基づいて分離する処理を示したフローチャートである。
【図７】認識結果文字列を構成する各文字間の距離値と、上記距離値が出現する頻度との関係を示すヒストグラム図である。
【図８】文字列変更指示部により分離処理を指示された認識結果文字列を、言語に基づくルールに基づいて、分離する処理を示すフローチャートである。
【図９】ルール記憶部内の分離ルールの一例を示す図である。
【図１０】図５のディスプレイに表示されている住所の認識結果文字列を、１箇所で分離した分離候補を、表示した例を示す。
【図１１】図５のディスプレイに表示されている住所の認識結果文字列を、２箇所、または３箇所で分離した分離候補を、表示した例を示す。
【図１２】選択した認識結果文字列が、左右方向、または上下方向にある認識結果文字列との統合をする処理を示すフローチャートである。
【図１３】文字列再構成候補作成部が、文字列変更指示部により統合処理を指示された認識結果文字列と、左右方向にある文字列との組み合わせを列挙する処理を示したフローチャートである。
【図１４】文字列再構成候補作成部が、連結認識結果文字列は妥当か否かを判定する処理を示すフローチャートである。
【図１５】認識結果文字列を連結することが不可能な、認識結果文字列の組み合わせに係るルールを示す図である。
【図１６】図１９（ａ）の”（本社）”と、左右方向に文字列との、統合の例を、図５のディスプレイに表示している図である。
【図１７】名刺画像と名刺画像認識結果を示す図であり、（ａ）は名刺画像の図であり、（ｂ）は誤って画像文字列が過統合された認識結果を示す図であり、（ｃ）は正しい認識結果を示す図である。
【図１８】名刺画像と名刺画像認識結果を示す図であり、（ａ）は名刺画像の図であり、（ｂ）は誤って画像文字列が過分離された認識結果を示す図であり、（ｃ）は正しい認識結果を示す図である。
【図１９】名刺画像と名刺画像認識結果を示す図であり、（ａ）は名刺画像の図であり、（ｂ）は誤って画像文字列が過分離された認識結果を示す図であり、（ｃ）は正しい認識結果を示す図である。
【符号の説明】
【０２２６】
１１３  項目判定部（項目判定手段）
１１４  文字列抽出部（文字列抽出手段）
１１５  文字列再構成候補作成部（再構成手段）
１１６  文字列間距離演算部（再構成手段）
１１８  文字データ記憶部（記憶装置）
１１９  ルール記憶部（記憶装置）
１２１  文字列選択部（再構成手段）
１２２  文字列構成変更指示部（再構成手段）
１２３  文字列変更候補作成部（再構成手段）
１２４  文字列変更候補決定部（再構成手段））
１２７  文字列変更候補出力部（再構成手段）
１２９  ルール設定部（更新手段）
【図１】
2007206985.tif 000003
【図２】
2007206985.tif 000004
【図３】
2007206985.tif 000005
【図４】
2007206985.tif 000006
【図５】
2007206985.tif 000007
【図６】
2007206985.tif 000008
【図７】
2007206985.tif 000009
【図８】
2007206985.tif 000010
【図９】
2007206985.tif 000011
【図１０】
2007206985.tif 000012
【図１１】
2007206985.tif 000013
【図１２】
2007206985.tif 000014
【図１３】
2007206985.tif 000015
【図１４】
2007206985.tif 000016
【図１５】
2007206985.tif 000017
【図１６】
2007206985.tif 000018
【図１７】
2007206985.tif 000019
【図１８】
2007206985.tif 000020
【図１９】
2007206985.tif 000021