(57)【特許請求の範囲】
【請求項１】
帳票を光学的に読み取って得られた画像に対して文字認識処理を行うことで、認識結果として前記画像上の複数の文字列を得る文字認識部と、
前記文字認識部により認識された前記画像上の複数の文字列をそれぞれ分類するための項目を有し、各項目に対する入力文字列の入力を受け付ける受付部と、
前記文字列と前記入力文字列とを対応付けて記憶可能な記憶部と、
前記受付部により受け付けられた前記入力文字列と前記文字認識部により得られた前記画像上の複数の文字列とをマッチングする第１マッチング部と、
前記画像上の複数の文字列のうち前記入力文字列とマッチした文字列を前記入力文字列が入力された項目に対応付けて前記記憶部に記憶する文字列設定部と
を具備することを特徴とする文字入力装置。
【請求項２】
帳票を光学的に読み取って得られた画像に対して文字認識処理を行うことで、認識結果として前記画像上の複数の文字列を得る文字認識部と、
単語を格納した辞書を記憶する辞書記憶部と、
前記文字認識部により認識された前記画像上の複数の文字列をそれぞれ分類するための項目を有し、各項目に対する入力文字列の入力を受け付ける受付部と、
前記文字列と前記入力文字列とを対応付けて記憶可能な記憶部と、
前記受付部により受け付けられた前記入力文字列と前記文字認識部により得られた前記画像上の複数の文字列と前記辞書中の単語とをマッチングする第２マッチング部と、
前記画像上の複数の文字列のうち前記入力文字列とマッチした文字列を前記入力文字列が入力された項目に対応付けて前記記憶部に記憶する文字列設定部と
を具備することを特徴とする文字入力装置。
【請求項３】
前記入力文字列にマッチした前記文字列および／または単語が複数存在した場合、選択候補として提示するマッチング結果選択部を備え、
前記文字列設定部は、
前記提示された選択候補の中から、選択された候補を前記入力文字列が入力された項目に対応付けて前記記憶部に記憶することを特徴とする請求項１または２いずれか記載の文字入力装置。
【請求項４】
前記文字列設定部は、
認識結果の前記複数の文字列の選択候補の中から、選択された文字列に不読文字が含まれていた場合、前記不読文字の直前までの文字列を前記入力文字列と置換することを特徴とする請求項１乃至３いずれか１記載の文字入力装置。
【請求項５】
前記第１マッチング部または前記第２マッチング部は、
同じ画像について既に選択された選択候補の文字列をマッチングの対象外とすることを特徴とする請求項３記載の文字入力装置。
【請求項６】
前記マッチング結果選択部は、
同じ画像について既に選択された選択候補の文字列を提示の対象外とすることを特徴とする請求項３記載の文字入力装置。
【請求項７】
入力対象の項目毎に前記辞書を複数備え、
前記第２マッチング部は、
マッチング対象とする辞書を、前記画像のグループ毎または前記画像から認識した文字列の項目毎に切り替えて使用することを特徴とした請求項２記載の文字入力装置。
【請求項８】
入力対象の項目毎に単語を格納した単語辞書を記憶する単語辞書記憶部と、
前記文字認識部により文字認識された認識結果の文字列各々について前記単語辞書中の単語とのマッチングを行い、前記認識結果の文字列が属する項目を判定する第３マッチング部と、
前記第３マッチング部により判定された項目に、前記認識結果の文字列を前記入力に先立って設定する予備設定部と、
を具備することを特徴とした請求項１乃至６いずれか１記載の文字入力装置。
【請求項９】
文字認識部、受付部、第１マッチング部、文字列設定部、記憶部を有する文字入力装置における文字入力方法において、
帳票を光学的に読み取って得られた画像に対して前記文字認識部が文字認識処理を行うことで認識結果として前記画像上の複数の文字列を取得し、
取得された前記画像上の複数の文字列をそれぞれ分類するための項目を有する前記受付部が、各項目に対する入力文字列の入力を受け付け、
受け付けられた前記入力文字列と文字認識により得られた前記画像上の複数の文字列とを前記第１マッチング部がマッチングし、
前記画像上の複数の文字列のうち前記入力文字列とマッチした文字列を、前記文字列設定部が、前記入力文字列が入力された項目に対応付けて前記記憶部に記憶する
ことを特徴とする文字入力方法。
【請求項１０】
文字認識部、受付部、第２マッチング部、文字列設定部、記憶部を有する文字入力装置における文字入力方法において、
帳票を光学的に読み取って得られた画像に対して前記文字認識部が文字認識処理を行うことで、認識結果として前記画像上の複数の文字列を取得し、
前記文字認識部により認識された前記画像上の複数の文字列をそれぞれ分類するための項目を有する前記受付部が、各項目に対する入力文字列の入力を受け付け、
受け付けられた前記入力文字列と文字認識により得られた前記画像上の複数の文字列と単語が格納された辞書中の単語とを前記第２マッチング部がマッチングし、
前記画像上の複数の文字列のうち前記入力文字列とマッチした文字列を、前記文字列設定部が、前記入力文字列が入力された項目に対応付けて前記記憶部に記憶する
ことを特徴とする文字入力方法。
【請求項１１】
帳票を光学的に読み取って得られた画像に対して文字認識処理を行うことで、認識結果として前記画像上の複数の文字列を得る文字認識部と、
前記文字認識部により認識された前記画像上の複数の文字列をそれぞれ分類するための項目を有し、各項目に対する入力文字列の入力を受け付ける受付部と、
項目毎に複数の文字列と前記入力文字列とを対応付けて記憶可能な記憶部と、
前記受付部により受け付けられた前記入力文字列と前記文字認識部により得られた前記画像上の複数の文字列とをマッチングする第１マッチング部と、
前記画像上の複数の文字列のうち前記入力文字列とマッチした一つ以上の文字列を前記入力文字列が入力された一つの項目に対応付けて前記記憶部に記憶する文字列設定部と
を具備することを特徴とする文字入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、帳票に記載された情報を読み取り、読み取った情報に含まれる文字列を項目毎に分類する文字入力装置、文字入力方法に関する。
【背景技術】
【０００２】
例えば名刺などの帳票に記載された情報（会社名、氏名、住所、役職、連絡先の電話番号など）を読み取り項目毎に分類する文字入力装置がある。
この種の文字入力装置では、読み取った結果を、各項目毎に自動的に分類し表示画面に表示してオペレータに確認を促す。
従来、オペレータが認識結果の文字を確認し、場合によっては、認識結果の文字を置き換えるための、いくつかの文字候補を既定の辞書から読み出して予測文字列として表示画面に表示する技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３４８１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の自動項目分類の技術は、それほど精度のよいものではないため、誤分類の発生頻度が高く、誤分類が生じた場合は、該当項目から文字列を削除し再分類する必要があり、多くの時間を要することになる。
また従来の技術の場合、各項目への分類候補として表示される文字は、あくまでも辞書に登録されているものに限られることから、分類する候補として適切なものが表示されないことが多々ある。認識結果として適切でない文字が項目に分類された場合、上記同様に再分類の作業を要し作業効率が低下するという問題があった。
【０００５】
本発明が解決しようとする課題は、帳票から読み取った文字列を適切な項目に分類することができる文字入力装置、文字入力方法を提供することにある。
【課題を解決するための手段】
【０００６】
実施形態の文字入力装置は、文字認識部、受付部、第１マッチング部、文字列設定部、記憶部を有する。前記文字認識部は帳票を光学的に読み取って得られた画像に対して文字認識処理を行うことで認識結果として前記画像上の複数の文字列を得る。前記受付部は前記文字認識部により認識された前記画像上の複数の文字列をそれぞれ分類するための項目を有し、各項目に対する入力文字列の入力を受け付ける。前記第１マッチング部は前記受付部により受け付けられた前記入力文字列と前記文字認識部により得られた前記画像上の複数の文字列とをマッチングする。前記文字列設定部は前記画像上の複数の文字列のうち前記入力文字列とマッチした文字列を前記入力文字列が入力された項目に対応付けて前記記憶部に記憶する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の文字入力システムの構成を示す図である。
【図２】名刺を読み取った入力画像の一例を示す図である。
【図３】第１実施形態の文字入力システムの動作を示すフローチャートである。
【図４】入力画像から切り出した文字列画像のグループ毎に算出した外接矩形で文字画像を囲んだ様子を示す図である。
【図５】グループの各々を認識して得られた認識結果の例を示す。
【図６】入力ウィンドウの一例を示す図である。
【図７】ＤＰマッチングによって最適化された入力文字列と認識結果のマッチングの様子を示す図である。
【図８】最適でないマッチングの様子を示す図である。
【図９】図５で示した認識結果のうち入力文字列「認識」とマッチングして列挙される文字列の一覧を示す図である。
【図１０】認識結果、入力文字列およびマッチング結果の一例を示す図である。
【図１１】入力ウィンドウに表示するリストボックスの表示例を示す図である。
【図１２】入力ウィンドウにリストボックスを強調表示した例を示す図である。
【図１３】文字入力システムのマッチング動作を示すフローチャートである。
【図１４】「↓」キーが押された場合のマッチング結果選択部の動作を示すフローチャートである。
【図１５】「↑」キーが押された場合のマッチング結果選択部の動作を示すフローチャートである。
【図１６】「Enter」キーが押された場合のマッチング結果選択部の動作を示すフローチャートである。
【図１７】「Tab」キーが押された場合のマッチング結果選択部の動作を示すフローチャートである。
【図１８】第２実施形態の文字入力システムの構成を示すブロック図である。
【図１９】単語辞書に格納される文字列の一例を示す図である。
【図２０】第２マッチング部における単語マッチングと置き換えの様子を示す図である。
【図２１】第３実施形態における文字列設定部の動作の様子を示すブロック図である。
【図２２】第７実施形態の文字入力システムの構成を示すブロック図である。
【図２３】第３マッチング部での入力文字列の設定の様子を示す図である。
【図２４】第８実施形態の文字入力システムの構成を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、実施形態を詳細に説明する。
（第１実施形態）
図１は第１実施形態の文字入力システムの構成を示す図である。
図１に示すように、この実施形態の文字入力システムは、スキャナ１等の画像読取装置と、キーボード２等のキー入力装置と、モニタ３等の表示装置と、これらの機器と通信ケーブルまたはネットワークを介して接続されたコンピュータ１０（以下「ＰＣ１０」と称す）とを有している。
【０００９】
ＰＣ１０は、ＣＰＵ、メモリ、ハードディスク装置、通信インターフェースなどのハードウェアと、ハードディスク装置にインストールされたプログラム（オペレーティングシステム（以下「ＯＳ」と称す）、画像認識ソフトウェアなど）を有するコンピュータである。メモリは記憶部１３として機能する。
【００１０】
ソフトウェア（プログラム）は、画像受付部１１、文字認識部１２、文字受付部１４、第１マッチング部１５、マッチング結果選択部１６、文字列設定部１７などを有している。
【００１１】
画像受付部１１は、スキャナ１から入力される帳票読取結果の画像（以下「入力画像」と称す）を受け付ける。文字認識部１２は入力画像中から、文字画像の切り出しと切り出した文字画像に対する文字認識を行うことで、認識結果（テキストデータ（文字）と文字画像（または文字列と文字列画像）との組）を得る。すなわち文字認識部１２は帳票を光学的に読み取って得られた画像に対して文字認識処理を行うことで認識結果として一つ以上の文字列（図５参照）を得る。なお以降の説明では単独の文字または文字列を「文字列」と称す。
【００１２】
文字受付部１４は、ユーザーによるキーボード２のキー操作で入力されたテキストデータ（入力文字列と称す）を受け付ける。
具体的には、文字受付部１４は、文字認識部１２により認識された一つ以上の文字列をそれぞれ分類するための項目を有する画面（図６の入力ウィンドウ５１参照）をモニタ３に表示し、各項目に対する入力文字列の入力を受け付ける受付部として機能する。
【００１３】
第１マッチング部１５は文字認識部１２により得られた認識結果の文字列と文字受付部１４により受け付けられた入力文字列とをマッチングする。マッチング結果選択部１６は、第１マッチング部１５によるマッチングの結果、入力文字列とマッチした文字列が複数存在した場合、リストボックス５２に候補リスト（選択候補）としてユーザーに提示し選択を促す。つまり第１マッチング部１５でマッチしたマッチング結果を入力候補の文字列として入力ウィンドウ５１に表示してユーザーに提示し、その候補の中のいずれかをユーザーに選択させる。
【００１４】
文字列設定部１７は入力文字列とマッチした文字列を入力文字列が入力された項目に対応付けて記憶部１３に記憶する。
また、入力文字列とマッチした文字列が複数存在する場合、文字列設定部１７は候補リストからユーザーに選択された候補をその項目に入力された入力文字列と置き換える。すなわち文字列設定部１７は入力ウィンドウ５１に表示された候補（リストボックス５２の候補リスト）の中から、選択された候補を、入力文字列を入力した項目に設定し、項目と認識結果の文字列とを対応付ける。
【００１５】
この実施形態は、ＰＣ１０に汎用のＯＳと画像認識ソフトウェアを組み込むことによって構成できるため、以下ではそのような構成を仮定して説明を行う。但し、ここに示した実施形態は一例にしかすぎず、例えば各部を専用ハードウェアや、その集合体、または分散処理用のコンピュータネットワークとしてもよい。すなわち上述の各部の機能を含む構成ならば、ここで挙げた構成に関わらずどのようなもので実装してもよい。
【００１６】
またこの第１実施形態では、記憶部１３としてメモリを一例にあげたが、具体的には、例えば画像や変数等のデータを記憶可能なランダムアクセスメモリ（ＲＡＭ）やハードディスクドライブ装置、フラッシュメモリ、ソリッドステートドライブ（ＳＳＤ）等である。この他、特に断りがない限りこの実施形態では記憶部１３として表記するが、上記したものに限らず記憶部１３としては他のいかなる記憶媒体を用いてもよい。
【００１７】
続いて図２乃至図１７を参照して第１実施形態の文字入力システムの動作を説明する。  
この第１実施形態の場合、スキャナ１の読み取り台にセットされた名刺がスキャナ１により読み取られると、図２に示すような名刺の画像（入力画像）がＰＣ１０に入力される。その入力画像を画像受付部１１が受け付け、文字認識部１２に渡す。
【００１８】
文字認識部１２では、入力画像から文字列が含まれる領域（部分）を検出およびその領域をグループ単位で認識し、認識結果（文字画像とテキストデータとの組）を記憶部１３に記憶する。
【００１９】
具体的には、文字認識部１２における文字列の検出・認識動作は、図３のフローチャートに示すような手順で行われる。
【００２０】
すなわち、文字認識部１２は入力画像中から文字を構成する黒画素の連結成分を検出する（図３のステップＳ１０１）。
【００２１】
文字認識部１２は連結成分のうち、距離が予め設定された閾値以下の連結成分同士をまとめたグループを作成する（ステップＳ１０２）。
【００２２】
文字認識部１２は、作成した各々のグループについて外接矩形を算出する（ステップＳ１０３）。
【００２３】
文字認識部１２は、図４に示すように、各々の外接矩形で囲まれたグループ毎の文字画像について文字認識処理を実行し、図５に示すような認識結果（複数の文字列）を記憶部１３に記憶する（ステップＳ１０４）。
【００２４】
文字受付部１４は、入力ウィンドウ５１（図６参照）を表示し、ユーザーがキーボード２を操作することにより、入力ウィンドウ５１内の各項目の欄に入力文字列が入力された場合、その入力文字列を受け付け、第１マッチング部１５へ渡す。
【００２５】
図６に示すように、入力ウィンドウ５１には、「姓名」、「会社名」、「部署名」、「役職名」、「事業所名」、「郵便番号」、「住所」などの項目で文字列の入力フィールドが設けられている。この例では「姓名」という項目の入力フィールド（欄）に、例えば「認識」という文字列が入力文字列として入力されたものとする。
【００２６】
なお、文字受付部１４は、この他、キータイプを直接検知して当該文字に変換することで文字を取得してもよい。さらに仮名漢字変換フロントエンドプロセッサ等の外部プログラムを介して行って文字を取得してもよく、前述の趣旨を脱しない限りいかなる方法で文字を取得してもよい。
【００２７】
次に、第１マッチング部１５は、文字受付部１４で受け付けた入力文字列と文字認識部１２での認識結果の文字列とをマッチングし、マッチング結果を列挙（記憶部１３に記憶）する。
【００２８】
第１マッチング部１５は文字受付部１４で記憶した入力文字列と、認識結果の文字列各々について、例えばＤＰマッチングなどの技術を用いてマッチングし、それぞれの文字列のスコア（コスト）を算出し、算出したスコア（コスト）の順（スコア（コスト）の上位何番目まで）に候補を列挙（選出）する。
【００２９】
この文字入力システムにおいて、ＤＰマッチングは入力文字列の両端が固定、認識結果の両端がフリーの条件下で行う。
【００３０】
一般に文字列同士のＤＰマッチングによる対応付けでは、図７に示すように、文字間の対応付けの状況によってスコア（以下「コスト」と称す）を定義し、それらを合計することで文字列全体の対応付けのコストを定義する。そして、このコストを最小化することで対応付けを最適化する。
【００３１】
本実施形態では、図７、図８に示すように、入力文字列「認識」と認識結果の文字列「認識太郎」とで一致する文字が対応付けられた箇所のコストが０、入力文字列の中の文字と認識結果の文字列の中の不読文字とが対応付けられた箇所のコストがＣ１＝１０、入力文字列の中の文字と認識結果の文字列の中の文字とで異なる文字が対応付けられた箇所のコストがＣ２＝２０、入力文字列中の文字に認識結果の文字列の中の文字が対応付けられなかった場合のコストがＣ３＝１００、認識結果中の文字に入力文字列中の文字が対応付けられなかった場合のコストがＣ４＝１００とする。
【００３２】
但し、認識結果の文字列の中の文字に入力文字列の中の文字が対応付けられなかった場合でも、当該文字が入力文字列の最初の文字に対応付けられた文字より前あるいは既入力の文字列の最後の文字に対応付けられた文字より後ならば、当該文字のコストは０とする。こうすることで認識結果の文字列の両端がフリー（認識結果に文字を追加可能）のＤＰマッチングを行うことができる。
【００３３】
ここで示したコストＣ１、Ｃ２、Ｃ３、Ｃ４などの値は一例であり、自然なマッチングが期待できる値である限りいかなる値を設定してもよい。
【００３４】
第１マッチング部１５は、上記ＤＰマッチングのコストが最低の認識結果を予め任意に定めた個数以内で列挙（選出）する。また、第１マッチング部１５は、コストが予め任意に定められた定数以下（例えば０）の認識結果のみを列挙（選出）することで、図９に示すように、「認識」とい文字列が含まれる認識結果の文字列「認識太郎」、「認識ソリューション株式会社」、「認識県認識市認識町９−９９−９９９」などがスコアの低い順に選出される。
【００３５】
第１マッチング部１５は、前述のＤＰマッチングで認識結果の内で入力文字列中の文字と対応付けられた文字の各々を、入力文字列中で対応付けられた文字に置き換え、マッチング結果とする。認識結果、入力文字列およびマッチング結果の一例を図１０に示す。
【００３６】
マッチング結果選択部１６では、第１マッチング部１５でマッチしたマッチング結果を入力候補文字列として、図６に示す入力ウィンドウ５１の該当フィールドに表示してユーザーに提示し、入力候補文字列のうちいずれかを選択させる。
【００３７】
マッチング結果選択部１６は、マッチング結果を入力中の文字列の直下にリスト表示する。図１１にリスト表示の一例を示す。リスト表示の機能はＯＳやウィジェットセットが提供するリストボックス表示機能により実現される。
【００３８】
マッチング結果はリストボックス中の表示項目として登録され、マウス等のポインティングデバイスでクリックすることにより選択される。選択されたマッチング結果の番号（値）は変数ＳＰＯＳに記憶される。変数ＳＰＯＳは記憶部１３に記憶されている。
【００３９】
マッチング結果選択部１６は、変数ＳＰＯＳに値を設定した後、後述する文字列設定部１７でＳＰＯＳ番目のマッチング結果が入力文字列に設定されるように制御を行う。
【００４０】
また、マッチング結果選択部１６は、マッチング結果がキー操作によっても選択可能となるように、キー入力を監視してリストボックスの表示を制御する。
【００４１】
図１２に示すように、リストボックス５２は、表示されている項目のうち１項目が強調表示されようになっており、マッチング結果選択部１６は、強調表示によって項目、すなわちマッチング結果の仮選択を示す。
【００４２】
仮選択の状態は、記憶部１３に記憶されている変数ＫＰＯＳで管理する。変数ＫＰＯＳには仮選択がされていない状態で０が設定され、仮選択がされている状態では仮選択されているマッチング結果の番号が設定される。なお最初のマッチング結果が仮選択されている場合には１が設定される。また、以下ではマッチング結果の個数をｎとする。
【００４３】
マッチング結果選択部１６は、第１マッチング部１５により文字どうしがマッチングされる度に、図１３に示すフローチャートの処理を行う。
【００４４】
すなわち、マッチング結果選択部１６は、まず、リストボックスがモニタ３に表示されているか否かを確認し（図１３のステップＳ２０１）、リストボックスが表示されていなければ（ステップＳ２０１のＮｏ）、リストボックスを表示する（ステップＳ２０２）。
【００４５】
続いて、マッチング結果選択部１６は、表示したリストボックスにマッチング結果の一覧を設定する（ステップＳ２０３）。
【００４６】
最後に、マッチング結果選択部１６は、変数ＫＰＯＳ＝０とし、仮選択がなされていない状態にする（ステップＳ２０４）。
【００４７】
マッチング結果選択部１６は、キーボード２の第１の仮選択キー（例えば「↓」の刻印がなされているキー）が押される度に図１４に示すフローチャートの処理を行う
すなわち、マッチング結果選択部１６は、変数ＫＰＯＳの値を確認し、変数ＫＰＯＳの値が０か、０よりも大きな値かを判定する（ステップＳ３０１）。
【００４８】
この判定の結果、変数ＫＰＯＳ＞０の場合（ステップＳ３０１のＹｅｓ）、つまり仮選択がなされている場合、マッチング結果選択部１６は、変数ＫＰＯＳ＝ｍｉｎ（ＫＰＯＳ＋１、ｎ）とする（ステップＳ３０２）。ただし、ｍｉｎ（ｘ、ｙ）はｘとｙのうち小さい方の数を返す関数である。
【００４９】
また上記判定の結果、変数ＫＰＯＳ＝０の場合（ステップＳ３０１のＮｏ）、つまり仮選択がなされていない場合、マッチング結果選択部１６は、変数ＫＰＯＳ＝１、つまり第１番目のマッチング結果が選択された状態にする（ステップＳ３０３）。
【００５０】
そして最後に、マッチング結果選択部１６は、ＫＰＯＳ番目のマッチング結果を強調表示する（ステップＳ３０４）。
【００５１】
マッチング結果選択部１６は、キーボード２の第２の仮選択キー（例えば「↑」の刻印がなされているキー）が押される度に図１５に示すフローチャートの処理を行う。
【００５２】
すなわち、マッチング結果選択部１６は、変数ＫＰＯＳの値を確認し、変数ＫＰＯＳの値が０か、０よりも大きな値かを判定する（ステップＳ４０１）。
【００５３】
この判定の結果、変数ＫＰＯＳ＞０の場合（ステップＳ４０１のＹｅｓ）、つまり仮選択がなされている場合、マッチング結果選択部１６は、ＫＰＯＳ＝ｍａｘ（ＫＰＯＳ−１、１）とする（ステップＳ４０２）。但しｍａｘ（ｘ、ｙ）はｘとｙのうち大きい方の数を返す関数である。
【００５４】
また上記判定の結果、変数ＫＰＯＳ＝０の場合（ステップＳ４０１のＮｏ）、つまり仮選択がなされていない場合、マッチング結果選択部１６は、変数ＫＰＯＳ＝ｎとする（ステップＳ４０３）。つまり第ｎ番目のマッチング結果が選択された状態にする。
【００５５】
そして最後に、マッチング結果選択部１６は、ＫＰＯＳ番目のマッチング結果を強調表示する（ステップＳ４０４）。
【００５６】
マッチング結果選択部１６は、キーボード２の選択決定キー（例えば「Enter」の刻印がなされているキー）が押される度に図１６に示すフローチャートの処理を行う。
【００５７】
すなわち、マッチング結果選択部１６は、変数ＫＰＯＳの値を確認し、変数ＫＰＯＳの値が０か、０よりも大きな値かを判定する（図１６のステップＳ５０１）。
【００５８】
この判定の結果、ＫＰＯＳ＞０の場合（ステップＳ５０１のＹｅｓ）、つまり仮選択がなされている場合、マッチング結果選択部１６は、ＳＰＯＳ＝ＫＰＯＳとし（ステップＳ５０２）、後述する文字列設定部１７でＳＰＯＳ番目のマッチング結果が入力文字列に設定されるように制御を行う（ステップＳ５０３）。
【００５９】
続いて、マッチング結果選択部１６は、ＫＰＯＳ＝０とし（ステップＳ５０４）、仮選択がなされていない状態にする。
【００６０】
最後に、マッチング結果選択部１６は、リストボックス５２を非表示にする（ステップＳ５０５）。
【００６１】
マッチング結果選択部１６は、キーボード２の第２の選択決定キー（例えば「Tab」の刻印がなされているキー）が押される度に図１７に示すフローチャートの処理を行う。
【００６２】
すなわち、マッチング結果選択部１６は、カウンタの値ｎを１と設定する（図１７のステップＳ６０１）。
【００６３】
そして、カウンタの値ｎ＝１の場合（ステップＳ６０１のＹｅｓ）、マッチング結果選択部１６は、ＳＰＯＳ＝１とし（ステップＳ６０２）、後述する文字列設定部１７でＳＰＯＳ番目のマッチング結果が入力文字列に設定されるように制御を行う（ステップＳ６０３）。
【００６４】
そして、マッチング結果選択部１６は、ＫＰＯＳ＝０とし（ステップＳ５０４）、仮選択がなされていない状態にする。
【００６５】
最後に、マッチング結果選択部１６は、リストボックス５２を非表示にする（ステップＳ６０５）。
【００６６】
文字列設定部１７は、選択したマッチング結果を入力中の文字列に設定する。
文字列設定部１７は、エディットボックス中にマッチング結果選択部１６で選択されたマッチング結果を設定すると共に、エディットボックス中に一時保持した入力文字列をマッチング結果選択部１６で選択されたマッチング結果の文字列で置き換える。
【００６７】
このようにこの第１実施形態によれば、例えば名刺等の帳票をスキャナ１で読み取って得られた情報（一つ以上の文字列）を、例えば「姓名」、「会社名、」、…「住所」などの各項目に分類する上で、各項目の入力フィールドに初めの数文字程度（１，２文字か単語程度）の入力文字列をキー入力することで、入力文字列と認識結果の一つ以上の文字列とをマッチングし、マッチした文字列を、入力文字列を入力した項目と対応付けて記憶部１３に記憶するので、帳票から読み取った文字または文字列を適切な項目に分類することができる。
また、マッチした文字列が複数存在する場合には、キー入力した入力文字列と置換する選択候補としてリストボックスに表示するので、現在仮名漢字変換や携帯端末等で一般的となった予測入力とルックアンドフィールが同様のインターフェースで実現できると共に、文字認識の結果から得た候補からユーザーが選択する形で入力でき、項目への文字入力を効率化することができる。
【００６８】
（第２実施形態）
次に、図１８を参照して第２実施形態の文字入力システムを説明する。図１８は第２の実施形態の文字入力システムの構成を示す図である。なお図１８において第１実施形態と同じ構成には同一の符号を付しその説明は省略する。
【００６９】
図１８に示すように、この第２の実施形態の文字入力システムのＰＣ１０は、単語辞書記憶部１８、第２マッチング部１９を有している。単語辞書記憶部１８はメモリ等により実現される。単語辞書記憶部１８には、複数の単語を格納した単語辞書が記憶されている。図１９に示すように、単語辞書には辞書中の単語が文字列の配列として格納されている。
【００７０】
第２マッチング部１９は、文字受付部１４により受け付けられた入力文字列と文字認識部１２により得られた一つ以上の文字列と単語辞書中の単語とをマッチングして、該当項目に分類すべき文字列を選出する。
【００７１】
具体的には、第２マッチング部１９は、認識結果の文字列と入力文字列をキーにして単語辞書を検索し、ヒットした単語を選択候補（入力候補文字列）として読み出す。
【００７２】
この場合、マッチング結果選択部１６は第２マッチング部１９によるマッチング結果を入力ウィンドウ５１に該当項目に分類すべき選択候補の文字列として表示し、ユーザーに提示し選択させる。なおマッチング結果選択部１６は認識結果の文字列と入力文字列にマッチした単語が複数存在した場合、選択候補として提示する。
【００７３】
すなわち本実施形態におけるマッチング結果選択部１６は第１マッチング部１５の代わりに第２のマッチング部１９でマッチしたマッチング結果を候補リストとしてユーザーに提示する。
【００７４】
続いて、第２実施形態の文字入力システムの動作を説明する。  
この第２実施形態では、第２マッチング部１９は、文字認識部１２での認識結果、文字受付部１４で受け付けた入力文字列および単語辞書中の単語をマッチングする。
【００７５】
第２マッチング部１９は、先ず、認識結果の文字列各々について、単語辞書中の単語の各々とマッチングを行い、認識結果の文字列を単語辞書中の単語に置き換えることで、誤読文字または不読文字を除外した補正済み認識結果の文字列を生成する。
【００７６】
単語辞書の単語と認識結果の文字列とのマッチングについては、第１の実施形態における第１マッチング部１５での入力文字列に対する認識結果の文字列との対応付けと同じ方法で行う。
【００７７】
次に、第２マッチング部１９は、ユーザーによりキー入力された入力文字列と補正済み認識結果の文字列各々とをマッチングし、マッチング結果を得る。補正済み認識結果と入力文字列のマッチングは、第１実施形態における第１マッチング部１５での認識結果と入力文字列の対応付けと同じ方法で行う。
【００７８】
図２０に示すように、認識結果の文字列が、例えば「認識ソンェーション株式会社」であり、キー入力された入力文字列が「ソリューション」である場合、第２マッチング部１９は、入力文字列を優先して認識結果の文字列の該当部分を置換することで、「認識ソリューション株式会社」という補正済み認識結果を得る。すなわち認識結果の不読または誤読文字の部分が入力文字列に置換され、正しい文字を入力することができる。
【００７９】
このようにこの第２実施形態によれば、分類対象の項目にキー入力された入力文字列と、認識結果の文字列と単語辞書中の単語とを併せてマッチングすることで、分類対象の項目に、より適切な選択候補をリストアップ（提示）することができる。なお項目欄に入力した入力文字列と認識結果の文字列と単語辞書中の単語などの３つ異なる情報ソースからの文字列をマッチングするには最初に２つをマッチングした後、その結果と残りの一つをマッチングすることになるため、いくつかの組み合わせが考えられるが、文字列のマッチングの全ての組み合わせは本発明の適用範囲に含まれる。
【００８０】
（第３実施形態）
次に、第３実施形態の文字入力システムを説明する。なおこの第３実施形態は第１実施形態または第２の実施形態と同様に構成されるため構成図とその説明は省略する。
【００８１】
この第３実施形態は、マッチング結果に例えば「？」等で示される不読文字が含まれている場合の動作に関するものであり、図２１に示すように、姓名の項目欄に、例えば「認識」という入力文字列をユーザーが入力すると、マッチング結果としてリストボックス５２に、例えば「認識太郎」、「認識ソリューション？？社」、「認識県認識市認識町９−９９−９９９」などの認識結果の文字列が表示される。この例では「認識ソリューション？？社」という文字列に不読文字「？」、「？」が二つ含まれている。
この場合、不読文字「？」、「？」が含まれた「認識ソリューション？？社」という文字列がユーザーにより選択されると、文字列設定部１７は、「認識ソリューション？？社」の中の不読文字「？」、「？」の直前までの文字である「認識ソリューション」を、項目欄に入力された編集対象の入力文字列「認識」と置換する。その他の動作は第１または第２実施形態と同様である。
【００８２】
このようにこの第３実施形態によれば、認識結果の文字列と入力中の文字列および単語辞書中の単語を併せてマッチングしたときに、認識結果の中に不読文字や誤読文字が含まれていた場合でも、認識結果の文字列中の不読文字または誤読文字直前までの文字列を入力ウィンドウ５１の入力フィールドにキー入力された入力文字列と置換することで、従来のように、誤分類からの再分類の手間をかけることなく、該当項目に適切な文字列を分類でき、作業効率を向上することができる。
【００８３】
（第４実施形態）
次に、第４実施形態の文字入力システムを説明する。なおこの第４実施形態は第１実施形態または第２の実施形態と同様に構成されるため構成図とその説明は省略する。
【００８４】
この第４実施形態は、第１マッチング部１５または第２マッチング部１９において、当該入力画像について認識結果の一つ以上の文字列（選択候補）の中からマッチング結果選択部１６で既に選択された文字列（候補）に対して提示対象外を示すフラグを付し、フラグが付されている認識結果をマッチングの対象外とする。その他の動作については第１または第２実施形態と同等である。
【００８５】
このようにこの第４実施形態によれば、第１マッチング部１５または第２マッチング部１９において、当該入力画像について認識結果の一つ以上の文字列（選択候補）の中からマッチング結果選択部１６で既に選択された文字列（候補）をマッチングの対象外とすることで、不必要な候補が提示されなくなり、ユーザーによる候補の選択がし易くなる。
【００８６】
（第５実施形態）
次に、第５実施形態の文字入力システムを説明する。なおこの第５実施形態は第１実施形態または第２の実施形態と同様に構成されるため構成図とその説明は省略する。
【００８７】
この第５実施形態は、第１実施形態または第２の実施形態とはマッチング結果選択部１６の動作が異なる。すなわちこの例のマッチング結果選択部１６は、入力画像について認識結果の一つ以上の文字列（選択候補）の中から既に選択された文字列（候補）に対して提示対象外を示すフラグを付し、フラグが付されている認識結果を提示の対象外とする。その他の動作については第１または第２実施形態と同等である。
【００８８】
このようにこの第５実施形態によれば、マッチング結果選択部１６において、当該入力画像について認識結果の一つ以上の文字列（選択候補）の中から既に選択された文字列（候補）を提示の対象外とすることで、不必要な候補が提示されなくなり、ユーザーによる候補の選択がし易くなる。
【００８９】
（第６実施形態）
次に、第６実施形態の文字入力システムを説明する。なおこの第６実施形態は第２の実施形態と同様に構成されるため構成図とその説明は省略する。
【００９０】
この第６実施形態の場合、入力対象の項目毎に単語辞書または単語グループを複数を備え、第２マッチング部１９は単語辞書または単語グループを項目毎に切り替えて対象とする単語をマッチングする。単語辞書は例えば住所辞書、郵便番号辞書、氏名辞書などであり、単語グループは単語辞書とは異なり、例えばカタカナ、数字、記号、漢字などといったグループに分けられた単語の群をいう。
【００９１】
このようにこの第６実施形態によれば、入力対象の項目毎に単語辞書または単語グループを複数備え、第２マッチング部１９でマッチング対象とする単語辞書または単語グループを項目毎に切り替えることで、不必要な単語とのマッチングを減らすことで処理時間を削減することができる。また誤った単語とのマッチングで認識結果が不正確に訂正されることを防止することができる。
【００９２】
（第７実施形態）
次に、図２２を参照して第７実施形態の文字入力システムを説明する。  
図２２に示すように、第７実施形態の文字入力システムは、第１実施形態の構成（第１マッチング部１５を有する構成）に加えて、単語辞書記憶部１８、第３マッチング部２０および予備設定部２１を備える。
単語辞書記憶部１８には、入力対象の項目（「姓名」、「会社名」、「部署名」、「役職名」、「事業所名」、「郵便番号」、「住所」）毎に単語を格納した単語辞書が記憶されている。
【００９３】
第３マッチング部２０は、認識結果の各々について単語辞書中の単語とのマッチングを行い認識結果と対応する項目を判定する。この際、第３マッチング部２０は、ユーザーによる入力に先立って、項目の各々について当該する単語辞書中の単語の各々と認識結果の各々をマッチングする。
【００９４】
すなわち、この第３マッチング部２０は、第１実施形態の第１マッチング部１５において認識結果と文字受付部１４で記憶した入力文字列をマッチングするのと同じ方法で、認識結果と単語の各々をマッチングし、認識結果と単語の組み合わせの各々のマッチングのコストを算出する。コストの算出方法については、図７，図８で説明した内容と同様である。
【００９５】
予備設定部２１は、第３マッチング部２０で算出されたコストが最小となる認識結果の文字列を選出して、マッチした項目に対応するフィールドの入力文字列に設定するようマッチング結果選択部１６に通知する。マッチング結果選択部１６は、この通知を受けて該当項目のフィールドに入力文字列を設定する。
【００９６】
予備設定部２１およびマッチング結果選択部１６は、第３マッチング部２０によりマッチングされた項目に、ユーザーによる入力に先立って認識結果を設定する。
【００９７】
第７実施形態の場合、図２３に示すように、第３マッチング部２０は、認識結果の文字が、例えば「姓名」の項目のフィールドに設定する文字列、例えば「認識太？」などの場合、この「認識太？」と「姓名」の項目の単語辞書の単語「太郎」、「一郎」、「花子」…をマッチングし、不読文字「？」の手前の文字「太」に対してコストが最小の「太郎」を選出する。
【００９８】
すると、予備設定部２１は、第３マッチング部２０でマッチした項目のフィールドに、ユーザーによる入力に先立って入力文字列「認識太郎」を設定するようマッチング結果選択部１６に通知し、マッチング結果選択部１６はこの通知を受けて、選出された入力文字列「認識太郎」を、入力ウィンドウ５１の該当項目のフィールドに設定する。
【００９９】
このようにこの第７実施形態によれば、入力対象の項目毎に単語を格納した単語辞書を記憶する単語辞書記憶部１８と、認識結果の各々について単語辞書中の単語とのマッチングを行い認識結果と対応する項目を判定する第３マッチング部２０と、第３マッチング部２０でマッチングされた項目に、ユーザーによる入力に先立って認識結果の文字列を設定する予備設定部２１とを備えることで、文字列を入力すべき項目を自動的に判定できる認識結果については当該項目のフィールドへ自動入力する。この自動入力によりユーザーによるキー入力の手間を軽減することができる。
【０１００】
（第８実施形態）
次に、図２４を参照して第８実施形態の文字入力システムを説明する。  
図２４に示すように、第８実施形態の文字入力システムは、第２実施形態の構成（第２マッチング部１９を有する構成）に加えて、単語辞書記憶部１８、第３マッチング部２０および予備設定部２１を備える。この第８実施形態における単語辞書記憶部１８、第３マッチング部２０および予備設定部２１は第７実施形態と同等である。
【０１０１】
単語辞書記憶部１８には、入力対象の項目（「姓名」、「会社名」、「部署名」、「役職名」、「事業所名」、「郵便番号」、「住所」）毎に単語を格納した単語辞書が記憶されている。
【０１０２】
第３マッチング部２０は、ユーザーによる入力に先立って、項目の各々について当該する単語辞書中の単語の各々と認識結果の各々をマッチングする。
【０１０３】
すなわち、この第３マッチング部２０は、第２実施形態の第２マッチング部１９において、文字認識部１２での認識結果、文字受付部１４で受け付けた入力文字列、および単語辞書の単語をマッチングして、マッチング結果の文字列を選出するのと同じ方法で、認識結果と入力文字列と単語辞書の単語の各々をマッチングし、認識結果と入力文字列と単語との組み合わせの各々のマッチングのコストを算出する。コストの算出方法については、図７，図８で説明した内容と同様である。
【０１０４】
予備設定部２１は、第３マッチング部２０で算出されたコストが最小となる認識結果を入力ウィンドウ５１の項目に対応する文字列に設定するようマッチング結果選択部１６に通知する。
【０１０５】
マッチング結果選択部１６は、この通知を受けて認識結果として選出された入力文字列を、入力ウィンドウ５１の該当項目のフィールドに設定する。
【０１０６】
この第８実施形態の場合、第３マッチング部２０で、認識結果の文字と項目毎の単語辞書の単語とをマッチングし、予備設定部２１によりコストが最小の文字列が選出される。
【０１０７】
すると、マッチング結果選択部１６は、ユーザーによる入力に先立って、入力ウィンドウ５１の該当項目のフィールドに、入力文字列「認識太郎」を設定する。
【０１０８】
そして、第２マッチング部１９において、予備設定部２１により選出されたコストが最小の入力文字列、文字受付部１４で受け付け記憶部１３に記憶した入力文字列、および単語辞書の単語をマッチングして、マッチング結果としてフィールドに設定する入力文字列を選出し入力ウィンドウ５１の該当項目のフィールドにマッチング結果の文字列が入力される。これにより、ユーザーは、認識結果の文字列を適切な項目に分類することができる。
【０１０９】
このようにこの第８実施形態によれば、第７実施形態と同様にユーザーによるキー入力の手間を軽減することができる。
【０１１０】
このように上述した第１乃至第８実施形態によれば、帳票から読み取った文字または文字列を適切な項目に分類することができる文字入力装置、文字入力方法を提供することができる。
また、文字認識の結果が予め列挙した単語や書式にマッチしない場合や複数の項目が候補としてあがったなど、認識結果と入力項目との対応付けを自動的には行えない場合に、ユーザーによりキー入力された文字列を選択候補として採用することにより、認識結果と入力項目の対応付けをスムーズに行えるようになり、認識結果の文字列の修正作業を効率よく行うことができる。
【０１１１】
すなわち、文字認識結果を確認および訂正する場合に正しい文字を効率よく入力することができる。
【０１１２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１１３】
また上記実施形態に示した各構成要素を、コンピュータのハードディスク装置などのストレージにインストールしたプログラムで実現してもよく、また上記プログラムを、コンピュータ読取可能な電子媒体：electronic mediaに記憶しておき、プログラムを電子媒体からコンピュータに読み取らせることで本発明の機能をコンピュータが実現するようにしてもよい。電子媒体としては、例えばＣＤ−ＲＯＭ等の記録媒体やフラッシュメモリ、リムーバブルメディア：Removable media等が含まれる。さらに、ネットワークを介して接続した異なるコンピュータに構成要素を分散して記憶し、各構成要素を機能させたコンピュータ間で通信することで実現してもよい。
【符号の説明】
【０１１４】
１…スキャナ、２…キーボード、３…モニタ、１０…コンピュータ、１１…画像受付部、１２…文字認識部、１３…記憶部、１４…文字受付部、１５…第１マッチング部、１６…マッチング結果選択部、１７…文字列設定部、１８…単語辞書記憶部、１９…第２マッチング部、２０…第３マッチング部、２１…予備設定部、５１…入力ウィンドウ、５２…リストボックス。
【図１】
0005571049.tif 000002
【図２】
0005571049.tif 000003
【図３】
0005571049.tif 000004
【図４】
0005571049.tif 000005
【図５】
0005571049.tif 000006
【図６】
0005571049.tif 000007
【図７】
0005571049.tif 000008
【図８】
0005571049.tif 000009
【図９】
0005571049.tif 000010
【図１０】
0005571049.tif 000011
【図１１】
0005571049.tif 000012
【図１２】
0005571049.tif 000013
【図１３】
0005571049.tif 000014
【図１４】
0005571049.tif 000015
【図１５】
0005571049.tif 000016
【図１６】
0005571049.tif 000017
【図１７】
0005571049.tif 000018
【図１８】
0005571049.tif 000019
【図１９】
0005571049.tif 000020
【図２０】
0005571049.tif 000021
【図２１】
0005571049.tif 000022
【図２２】
0005571049.tif 000023
【図２３】
0005571049.tif 000024
【図２４】
0005571049.tif 000025