(57)【要約】【課題】認識文字列の認識結果を高い精度で補正する。【解決手段】結果取得部６１０が文字列の認識結果を取得する。候補取得部６３０が、単語辞書に登録された候補文字列を取得する。比較部６４０が、単語と認識結果で同じ文字が類似した位置で現れる場合に、その位置のそれぞれから候補文字列と認識結果を比較し、部分スコアを算出する。決定部６５０が部分スコアから全体の類似度を求め、選択部６６０が類似度に応じて出力文字列を決定する。出力部６７０が出力文字列を出力する。【選択図】図４
2014146183.tif 000002
【特許請求の範囲】
【請求項１】
文字認識装置からの単語の認識結果として、文字毎に順位付けされた複数の認識候補文字を有する認識文字列を取得する結果取得手段と、
前記認識文字列に対応する複数の候補単語を取得する候補取得手段と、
前記認識文字列の各文字に対応する複数の認識候補文字が前記候補単語の文字列上に現れる位置と当該認識候補文字の順位に基づいて、前記認識文字列と前記候補単語の類似度を決定する決定手段と、
前記複数の候補単語について前記決定手段が決定した類似度に基づいて候補単語の１つを選択し出力する出力手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、前記認識候補文字が前記候補単語の文字列上に現れる位置を起点として、前後方向に位置する文字について比較することにより、前記認識候補文字のより順位が高い認識候補文字が、前記候補単語のより類似した位置に現れる程度を示すスコアを求め、求めたスコアに基づいて前記類似度を決定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、前記起点となる位置から連続して、前記認識候補文字の何れかが、前記候補単語の文字列の対応する位置に現れる文字と一致する範囲で、前記認識候補文字と前記候補単語を比較する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
複数の単語を記憶している単語記憶手段をさらに含み、
前記候補取得手段は、前記認識文字列の文字数に応じて、前記単語記憶手段が記憶している単語の中から複数の候補単語を取得する、
ことを特徴とする請求項１乃至３の何れかに記載の情報処理装置。
【請求項５】
文字認識装置からの単語の認識結果として、文字毎に順位付けされた複数の認識候補文字を有する認識文字列を取得し、
前記認識文字列に対応する複数の候補単語を取得し、
前記認識文字列の各文字に対応する複数の認識候補文字が前記候補単語の文字列上に現れる位置と当該認識候補文字の順位に基づいて、前記認識文字列と前記候補単語の類似度を決定し、
前記複数の候補単語について前記決定した類似度に基づいて候補単語の１つを選択し出力する、
ことを特徴とする情報処理方法。
【請求項６】
コンピュータを、
文字認識装置からの単語の認識結果として、文字毎に順位付けされた複数の認識候補文字を有する認識文字列を取得する結果取得手段と、
前記認識文字列に対応する複数の候補単語を取得する候補取得手段と、
前記認識文字列の各文字に対応する複数の認識候補文字が前記候補単語の文字列上に現れる位置と当該認識候補文字の順位に基づいて、前記認識文字列と前記候補単語の類似度を決定する決定手段と、
前記複数の候補単語について前記決定手段が決定した類似度に基づいて候補単語の１つを選択し出力する出力手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列を処理する技術に関する。
【背景技術】
【０００２】
ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）や手書き認識による文字認識結果を補正して文字認識の精度を高める技術が知られている。例えば、特許文献１は各文字に複数の文字候補が定義された認識結果と、単語辞書に登録された単語とを比較し、一致度が高い単語を選択して出力する単語認識方法を開示している。特許文献１に記載の技術では、単語の各位置に現れる文字と、対応する位置の認識結果を位置毎に比較する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１３８４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、認識対象となった文字列（認識文字列）の認識結果と、単語辞書の単語とを、文字が現れる位置毎に局所的に比較するのみである。そのため、認識結果の位置が認識文字列とずれていた場合や、一部の文字の認識に失敗した場合に補正の精度が大きく低下するなど、文字認識結果を補正する精度が低かった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、認識文字列の認識結果を高い精度で補正する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る情報処理装置は、
文字認識装置からの単語の認識結果として、文字毎に順位付けされた複数の認識候補文字を有する認識文字列を取得する結果取得手段と、
前記認識文字列に対応する複数の候補単語を取得する候補取得手段と、
前記認識文字列の各文字に対応する複数の認識候補文字が前記候補単語の文字列上に現れる位置と当該認識候補文字の順位に基づいて、前記認識文字列と前記候補単語の類似度を決定する決定手段と、
前記複数の候補単語について前記決定手段が決定した類似度に基づいて候補単語の１つを選択し出力する出力手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、認識文字列の認識結果を高い精度で補正することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態１に係る文字認識装置の構成を示すブロック図である。
【図２】本発明の実施形態１に係る文字認識装置の情報処理部の物理構成を示すブロック図である。
【図３】実施形態１に係る文字認識装置が実行する処理を説明するための図である。
【図４】実施形態１に係る文字列処理部の機能構成を示すブロック図である。
【図５】実施形態１に係る文字認識装置が実行する認識結果出力処理を示すフローチャートである。
【図６】実施形態１に係る文字認識装置が実行する類似度決定処理を示すフローチャートである。
【図７】実施形態１に係る文字認識装置が実行する詳細スコア算出処理を示すフローチャートである。
【図８】実施形態１に係るヒット位置の例を示す図である。
【図９】実施形態１に係るスコア表の例を示す図である。
【図１０】実施形態１に係る認識結果と比較文字列の比較例を示す図である。
【図１１】実施形態１に係る認識結果と比較文字列の比較例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態に係る文字認識装置を、図を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００１０】
（実施形態１）
実施形態１に係る文字認識装置１は、ｉ）解析対象となる文字列を記載した紙等を撮影する撮影機能、ｉｉ）撮影した画像の文字列を認識して認識結果を出力する機能、ｉｉｉ）認識結果を単語辞書に登録された単語と比較する機能、ｉｖ)比較結果に応じて認識結果を補正する機能、等を備える。
【００１１】
文字認識装置１は図１に示すように画像入力部１０と、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）２１０と文字列処理部６０と文字辞書記憶部２２０と単語辞書記憶部２４０とを含む情報処理部２０と、表示部４０と、操作部３０と、を備える。
【００１２】
画像入力部１０は、カメラと画像処理部とから構成され、このような物理構成により文字列を撮影した画像を取得する。画像入力部１０は、取得した画像を情報処理部２０のＯＣＲ２１０に伝達する。
【００１３】
情報処理部２０は、物理的には、図２に示すようにＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２と、ＲＯＭ（Ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）２３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）部２４と、外部記憶装置２５と、内部バス２６と、から構成される。
【００１４】
ＣＰＵ２１は、文字認識装置１の諸機能を制御する中央演算装置であり、ＲＯＭ２３からＲＡＭ２２にロードされたプログラムを実行して、後述する処理を実行する。
【００１５】
ＲＡＭ２２は、ＣＰＵ２１が実行するプログラムや中間データを一時的に保存し、ＣＰＵ２１が各種処理を行う際の作業領域として使用する揮発性メモリである。
ＲＯＭ２３は、ＣＰＵ２１が実行するプログラムを格納している不揮発性メモリである。
【００１６】
Ｉ／Ｏ部２４は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やシリアルポートによって情報処理部２０に接続された画像入力部１０、表示部４０、操作部３０やその他外部装置等との情報の入出力を制御する入出力デバイスである。
【００１７】
外部記憶装置２５は、ハードディスクドライブ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の大容量記憶装置であり、文字辞書や単語辞書等の後述する処理に用いる大容量データを記憶している。
なお、ＣＰＵ２１と、ＲＡＭ２２と、ＲＯＭ２３と、Ｉ／Ｏ部２４と、外部記憶装置２５とは内部バス２６によってそれぞれ接続され、相互に情報の送信が可能である。
【００１８】
情報処理部２０は、上記物理構成によりＯＣＲ２１０と、文字列処理部６０と、文字辞書記憶部２２０と、単語辞書記憶部２４０と、として機能する。
【００１９】
ＯＣＲ２１０は、入力部１０から伝達された画像（図３の入力画像ＴＩ）の文字を認識し、画像に含まれる文字列（文字認識の対象となる認識文字列）の各文字を文字辞書記憶部２２０に登録された文字情報を用いて光学認識により認識する。ＯＣＲ２１０は、認識文字列に含まれる少なくとも一部の文字について信頼度が異なる複数の認識候補が定義された認識結果（例えば、図３の認識結果Ｒ）を出力する。ＯＣＲ２１０は、加重方向ヒストグラムを特長量として利用するベイズ識別法を用いた認識方法や、外郭方向寄与度特徴を特徴量として利用する部分空間法を用いた認識方法など、既知の任意の方法を用いて文字認識を行ってよいが、ここでは特開平９−１２８４８９号公報に記載された方法を用いる。
各文字に対して、最大ｎ個の認識候補が定義される。本実施形態ではｎ＝２である。認識結果では、認識結果の各認識候補に、認識候補に対応する文字が認識文字列に現れる位置を示す情報として、文字番号が対応付けられている。ＯＣＲ２１０は、スペースによって認識結果を単語単位に分割し、単語毎に文字列処理部６０に伝達する。
【００２０】
文字列処理部６０は、図３の中段に示すように、ＯＣＲ２１０から伝達された認識結果を単語辞書記憶部２４０に登録された単語と比較して、最も類似度が高い単語を認識結果に対応する出力文字列として選択する。文字列処理部６０は、選択した出力文字列を表示部４０に出力する。
【００２１】
表示部４０は、液晶ディスプレイ等から構成され、文字列処理部６０から伝達された情報を表示する。
【００２２】
操作部３０は、タッチパネル、キーボード、ボタン、ポインティングデバイス等の、ユーザの操作を受付ける操作受付装置と、操作受付装置が受け付けた操作の情報を情報処理部２０に伝達する伝達部と、から構成される。操作部３０はこのような物理構成によりユーザの操作を受け付けて、その情報を情報処理部２０に伝達する。
【００２３】
ここで文字認識装置１が文字列を撮影した画像と、認識結果と、候補文字列と、出力文字列と、の関係を図３を参照して説明する。
文字認識装置１は、ユーザが画像入力部１０を用いて文字列を含む画像（たとえば、レストランのメニュー）を撮影すると、図３の上段に示すような画像ＴＩを取得する。
【００２４】
そして、画像ＴＩをＯＣＲ２１０が光学認識する。図３の認識結果Ｒは、入力画像の一つの単語(sweet)を認識した結果である。認識結果において、認識文字列の各位置に現れる文字の認識候補が信頼度順に定義されている。文字番号は各認識候補が、認識文字列の認識結果として何番目に認識されたかを示す。候補番号は、各文字の何番目に信頼度が高い認識候補であるかを示す。図３では、文字番号０に対して小文字の「ｓ」が最も信頼度が高い認識候補として、大文字の「Ｓ」が次に信頼度が高い認識候補として設定されている。
【００２５】
単語辞書記憶部２４０は、認識結果に対応する出力文字列の候補となる候補文字列として、複数の単語を記録している（図３中段右）。文字列処理部６０は、単語辞書に登録されている単語を順次その処理における候補文字列として取得し、認識結果と候補文字列が類似する程度を示す類似度を算出する。そして、単語辞書に登録されている単語のうち、最も類似度が高い単語を出力文字列として選択する。そして、ＯＣＲ２１０が出力する各単語について出力文字列を選択して、表示部４０に出力する（図３下段）。
【００２６】
ここで、ＣＰＵ２１は、ＲＯＭ２３内の各種プログラムを読み出し、ＲＡＭ２２にロードすることにより、図４に示すような文字列処理部６０の各部の機能を発揮することができる。
具体的には、文字列処理部６０は機能単位として結果取得部６１０、特定部６２０、候補取得部６３０、比較部６４０、決定部６５０、選択部６６０及び出力部６７０を含む。
【００２７】
結果取得部６１０は、ＯＣＲ２１０から認識結果Ｒを単語単位で一つずつ取得する。候補取得部６３０は、単語辞書記憶部２４０が記憶する単語辞書から、現在のループで処理対象となる注目候補文字列を取得する。
【００２８】
特定部６２０は、認識結果と候補文字列とで同じ文字が互いに類似する位置に現れるヒット位置を特定する。ここで、候補文字列に含まれ、かつ認識結果の認識候補にも含まれる文字のうち、文字番号の差が所定の閾値（例えば２）以下である文字を共通文字とする。そして、共通文字の認識結果における文字番号が認識結果におけるヒット位置となる。また、共通文字の候補文字列における文字番号が、候補文字列におけるヒット位置となる。
【００２９】
比較部６４０は、認識結果の複数の位置を基点として、候補文字列に現れかつ認識候補に含まれる文字の、候補文字列における位置と、認識結果における位置及び信頼度に基づいて、認識結果と候補文字列とを比較する。具体的には、特定部６２０が特定した認識結果のヒット位置を、比較の起点（注目認識番号）として順次選択する。そして、比較の起点から連続して、認識候補の何れかが、候補文字列の対応する位置に現れる文字の何れかと一致する範囲について比較注目候補文字列と認識結果を比較する。具体的には、信頼度が高い認識候補が、候補文字列のより類似した位置に現れる程度を示す部分スコアを求める。部分スコアを求める具体的な方法については後述する。
【００３０】
決定部６５０は、比較部６４０の比較結果に基づいて、認識結果と候補文字列の類似度を決定する。具体的には、比較部６４０が認識結果のヒット位置のそれぞれについて求めた部分スコアを合算した値を、類似度として決定する。
【００３１】
選択部６６０は、候補取得部６３０が単語辞書から取得した複数の候補文字列から、決定部６５０が決定した類似度に応じて出力文字列を選択する。具体的には、複数の候補文字列のうち、決定部６５０が決定した類似度が最も高い候補文字列を、出力文字列として選択する。
【００３２】
出力部６７０は、選択部６６０が選択した出力文字列を出力する。具体的には、出力文字列の情報を表示部４０に表示させる。あるいは、出力文字列を補正した認識結果として外部記憶装置２５に記憶する、Ｉ／Ｏ部２４を介して外部装置に出力するなど、ユーザの設定操作に応じた出力態様により出力してもよい。
【００３３】
文字認識装置１が実行する処理を、フローチャートを用いて説明する。文字認識装置１は、ユーザが画像入力部１０を用いて文字列を含む画像（入力画像ＴＩ）を撮影すると、図５に示す認識結果出力処理を開始する。
【００３４】
認識結果出力処理では、まずＯＣＲ２１０が画像入力部１０から入力画像ＴＩを取得する（ステップＳ１０１）。そして、ＯＣＲ２１０が、入力画像ＴＩに含まれる各文字を認識する（ステップＳ１０２）。
【００３５】
次に、ＯＣＲ２１０が認識結果をスペース文字を区切として単語単位に分割する（ステップＳ１０３）。そして、分割された単語の一つが現在のループにおいて処理対象となる注目認識文字列として選択される。選択された注目認識文字列の認識結果Ｒを結果取得部６１０が取得する（ステップＳ１０４）。
【００３６】
次に、候補取得部６３０が、単語辞書記憶部２４０が記憶する単語辞書から、現在のループにおいて比較対象となる候補文字列（注目候補文字列）を取得する（ステップＳ１０５）。本実施形態では処理速度を向上するため、認識結果の文字の長さを基準として、文字長の差が所定の閾値以下である単語を候補文字列として、その他の単語は処理対象としない。例えば、認識結果の長さが５文字である場合、３文字以上７文字以下の単語を、候補文字列とする。
【００３７】
そして、特定部６２０、比較部６４０及び決定部６５０が、注目認識文字列の認識結果と注目候補文字列の類似度を決定するための処理（類似度決定処理）を実行する（ステップＳ１０６）。以下、必要に応じて図３の認識結果Ｒと、注目候補文字列“ｓｗｅｅｔ”の類似度を決定する場合を例にとって説明する。
【００３８】
ステップＳ１０６で実行される類似度決定処理について、図６を参照して説明する。類似度決定処理では、文字列処理部６０による使用変数の初期化等に続いて、特定部６２０が認識結果の文字番号（認識番号）から、処理対象となる注目認識番号を選択する（ステップＳ２０１）。この例では、認識文字列の“ｓ”の位置に対応する「０番」から、最後の“ｔ”に対応する「４番」まで順に選択するものとする。注目認識番号は、処理対象となる認識結果の位置、即ち認識文字列の何番目の文字が処理対象であるかを示す。
【００３９】
ステップＳ２０１にて注目認識番号を選択すると、次に特定部６２０は注目候補文字列の文字番号（比較番号）のうち、処理対象となる注目比較番号を選択する（ステップＳ２０２）。ここでは、比較処理のループ毎に候補文字列の“ｓ”の位置に対応する「０番」から、最後の“ｔ”に対応する「４番」まで順に選択するものとする。注目比較番号は、処理対象となる注目候補文字列の位置、即ち注目候補文字列の何番目の文字が処理対象であるかを示す。
【００４０】
ステップＳ２０２にて注目比較番号を選択すると、次に特定部６２０は注目認識番号に対応する認識候補から、処理対象となる注目候補を選択する（ステップＳ２０３）。ここでは、信頼度が高いものを優先して処理するため、ループ毎に候補番号が若い順に選択する。この例では、０番の認識候補のうち候補番号０に対応する“ｓ”が最初に、１番に対応する“Ｓ”が次に選択される。
【００４１】
そして、特定部６２０は注目候補が注目比較番号に対応する比較文字と一致するか否か判別する（ステップＳ２０４）。一致すると判別すると（ステップＳ２０４；ＹＥＳ）、処理対象の位置はヒット部位であるので、比較部６４０が注目認識番号及び注目比較番号の位置を基点に詳細スコアを算出するための詳細スコア算出処理を開始する（ステップＳ２０５）。この場合、注目比較番号に対応する候補文字列の位置が候補文字列におけるヒット部位、認識結果の注目認識番号の位置に対応する位置が認識結果におけるヒット部位となる。
【００４２】
例えば、図３の認識結果Ｒと、注目候補文字列"sweet"を比較すると、ヒット部位は図８のように示すことができる。図８の左上の円は、認識結果の先頭位置（文字番号０）の、候補番号０に対応する候補“ｓ”が、候補文字列の先頭位置（文字番号０）に現れる文字と一致することを示す。この場合、認識結果の０番に相当する位置（文字番号０の行）が、認識結果のヒット部位である。また、候補文字列の０番に相当する位置（文字番号０の列）が、候補文字列のヒット部位である。
【００４３】
本実施形態では、認識結果のｎ番に対応する認識候補の何れかが、点線長方形でしめした候補文字列の文字番号が（ｎ−２）〜（ｎ＋２）までの何れかの位置に現れる文字と一致した場合に、その行は認識結果のヒット部位とする。即ち、許容誤差を２文字とする。
【００４４】
なお、ステップＳ２０４で注目候補は注目比較番号の文字と一致しないと判別された場合（ステップＳ２０４；ＮＯ）は、特定部６２０が注目認識番号に定義された全認識候補を処理済みであるか判別し（ステップＳ２０６）、未処理の認識候補が残っている場合は（ステップＳ２０６；ＮＯ）、次の認識候補についてステップＳ２０３から処理を繰り返す。一方、全認識候補が処理済である場合は（ステップＳ２０６；ＹＥＳ）、ステップＳ２０７にスキップする。これにより、例えば文字番号２の位置の、候補番号０に対応する候補“ｃ”について処理を終えた後、未処理の認識候補“ｅ”を注目候補としてステップＳ２０３から処理が繰り返される。
【００４５】
このように、定義された認識文字のいずれかが、注目候補文字列の対応する位置及びその位置を基準として許容範囲内（図８ではその行の点線四角形に含まれる何れかの位置）に現れる文字の何れかに一致する場合に、該当位置はヒット部位となり、その位置を基点に詳細スコアが算出される。特定部６２０は各ループで注目認識番号、注目比較番号、注目候補が更新される毎にステップＳ２０４で注目候補と比較文字とが一致するかを判別する処理を実行する。このようにして、特定部６２０は認識結果と候補文字列とで同じ文字が、互いに類似した位置で現れるヒット位置（認識番号と比較番号）を特定する。
【００４６】
ステップＳ２０５で実行される詳細スコア算出処理について、図７を参照して説明する。詳細スコア算出処理では、比較部６４０がまず比較の起点となるヒット部位に対応して、注目候補の信頼度と位置のズレ（認識番号と比較番号の差）に応じたスコアを詳細スコアに加算する（ステップＳ３０１）。
【００４７】
より信頼度が高い認識候補が、候補文字列のより類似した位置に現れるほど、候補文字列と認識結果は類似していると判断できる。そこで、ヒット位置のそれぞれに対応してステップＳ３０１とＳ３０５で加算するスコアを図９のように設定する。図９の例では、認識番号と選択番号が一致し、かつ信頼度が高い（候補番号０）文字に対応するヒット位置に最も高いスコア（１０点）が設定されている。一方、認識番号と選択番号が一致し、信頼度が低い（候補番号１）文字に対応するヒット位置には、これよりも低いスコア（５点）が設定されている。さらに、これを基準として認識番号と選択番号が１違う場合には、同一の場合よりも小さくスコア（候補番号０に対して６点、候補番号１に対して３点）が、２違う場合には、さらに小さくスコア（候補番号０に対して４点、候補番号１に対して２点）がそれぞれ設定されている。その他の各位置については位置の差が大きすぎるとの判断のもと、０点が設定されている。０点の部分は比較範囲外に設定されるため、たとえ共通文字が現れていても詳細スコアは算出されない。
【００４８】
スコアの設定はこれに限らず、位置のズレにより厳しく、比較番号と認識番号が一致していない部分（一文字以上ずれている位置）にはすべて０点を設定しても良い。このような設定は、入力画像が鮮明で、文字の位置がズレる割合が少ない場合などに好適である。あるいは、候補番号の数値が上がった場合によりスコアの減少幅を大きくするなど、条件に合わせて任意に設定可能である。
【００４９】
例えば図９のようにスコアが設定されている場合であって、注目認識番号が３番、注目比較番号が３番の候補番号０（図１０の星型六角形）が比較の起点となるヒット部位であったときには、ステップＳ３０１で１０点が加算される。一方、注目認識番号が３番、注目比較番号が２番の候補番号０（図１０の三角形）が詳細スコアの算出基準であったときには６点が加算される。
【００５０】
ステップＳ３０１で詳細スコアに加算すると、次に比較部６４０は起点からの比較処理を開始する。具体的には、まず調査方向に一つずらした位置、即ち一つ前（又は後ろ）の位置を調査位置として選択する（ステップＳ３０２）。本実施形態ではまず前方向に調査し、前方向の調査が終われば後ろ方向に変更する。例えば前に調査する場合、認識番号と比較番号とをデクリメントした位置が新たな調査位置として選択される。例えば、図１０の星型６角形から、認識番号２、比較番号２の位置（斜線の部分）で認識結果と候補文字列を比較する。
【００５１】
認識結果と候補文字列の比較の具体例として、まず比較部６４０は調査位置の認識候補から、比較対象となる調査候補を選択する（ステップＳ３０３）。ここでは、信頼度が高い順に選択する。例えば、認識番号２、比較番号２の位置（図１０の斜線部）の場合、認識候補“ｃ”が先に選択される。そして、比較部６４０は調査候補と対応文字（候補文字列の調査位置における文字）が一致するか否か判別する（ステップＳ３０４）。例えば、調査位置が認識番号２、比較番号２であり、調査候補が１番目の認識候補“ｃ”であった場合、対応文字は“ｅ”であるので、文字は一致しないと判別される。
【００５２】
調査候補と対応文字が一致しないと判別された場合には（ステップＳ３０４；ＮＯ）、次に調査位置の全認識候補が処理済であるか否かを判別する（ステップＳ３０６）。未処理の認識候補が存在する場合（ステップＳ３０６；ＮＯ）、次の認識候補を調査候補としてステップＳ３０３から処理を繰り返す。例えば、調査位置が認識番号２、比較番号２であり、調査候補が１番目の認識候補“ｃ”であった場合、２番目の認識候補“ｅ”が未処理であるので、ステップＳ３０３にて２番目の認識候補“ｅ”が調査候補として選択される。
【００５３】
一方、ステップＳ３０６にて全認識候補が処理済であると判別された場合は（ステップＳ３０６；ＹＥＳ）、調査位置のどの認識候補も、対応文字（認識文字列の対応する位置の文字）と一致しないので、現在の調査方向については調査を終了し、ステップＳ３０８にスキップする。このため、比較部６４０は起点となる位置から連続して、認識候補の何れかが、候補文字列の対応する位置に現れる文字の何れかと一致する範囲で、認識結果と候補文字列とを比較することとなる。
【００５４】
このように本実施形態では、起点となる位置から認識候補の何れかが、候補文字列の対応する位置に現れる文字の何れかと一致する範囲で認識結果と候補文字列とを比較する。一致する範囲外については比較を打ち切ることで、処理負担を軽減することが出来る。また、複数の起点からこのような比較を行うことで、認識文字列の一部に認識不能な文字が有った場合や、認識結果の位置がずれていた場合でも、文字列全体を比較して類似度を求めることが出来る。
【００５５】
ステップＳ３０４で調査候補と対応文字が一致すると判別された場合（ステップＳ３０４；ＹＥＳ）、ステップＳ３０１と同様に、調査候補の信頼度と位置のズレ（認識番号と比較番号の差）に応じたスコアを詳細スコアに加算する（ステップＳ３０５）。例えば、調査位置が認識番号２、比較番号２であり、調査候補が２番目の認識候補“ｅ”であった場合、認識番号と比較番号が一致し、かつ調査候補の認識番号が２番であることに対応して、５点が詳細スコアに加算される。なお、一つの認識番号に３つ以上の認識候補が定義されている場合には、３番目の認識候補には１番目の認識候補の１／３のスコアを設定すればよい。
【００５６】
ステップＳ３０５でスコアを加算すると、次に比較部６４０は調査位置が文字列の端部に到達したか否か判別する（ステップＳ３０７）。具体的には、ステップＳ３０２の調査方向が前方向の場合であって調査位置が認識結果又は候補文字列の先端の何れかに到達したときには、それ以上調査方向に比較を続けることが出来ないので、端部に到達したと判別する。調査方向が後方向の場合であって調査位置が認識結果又は候補文字列のいずれかの後端に到達したときには、それ以上調査方向に比較を続けることが出来ないので、端部に到達したと判別する。
【００５７】
文字列の端部に到達していない場合には（ステップＳ３０７；ＮＯ）、ステップＳ３０２に戻って、次の位置を調査位置として、現在の調査方向への比較を続ける。例えば、現在の調査位置が図１０の斜線部（認識番号２、比較番号２に対応）であった場合で、調査方向が前方向のときは、矢印の示すように認識番号１、比較番号１を調査位置として比較を続ける。
【００５８】
一方、端部に到達した場合は（ステップＳ３０７；ＹＥＳ）、現在の調査方向へは比較を続けられないので、現在の調査方向に対する比較は中止する。そして、比較部６４０は前後の両方向に比較処理を終えたか否か判別する（ステップＳ３０８）。前後のいずれかについて比較処理を終えていない場合は（ステップＳ３０８；ＮＯ）、比較部３４０は調査方向の前後を入れ替える（ステップＳ３０９）。そして、ステップＳ３０２に戻って新たな調査方向（今まで前方向だった場合には後ろ方向）へ比較を続ける。このとき、一旦比較を開始した基準位置に戻って、基準位置から新たな調査方向に一つ進んだ位置を新たな調査位置とする。
例えば、図１０の比較処理が前方向に進んで、認識番号０、比較番号０に対応する位置まで到達した場合に、次に基点である星型六角形の位置まで戻り、次に後ろ方向（認識番号４、比較番号４）に比較処理を進める。
【００５９】
ステップＳ３０８で前後の両方向に比較を終えたと判別した場合は（ステップＳ３０８；ＹＥＳ），比較部６４０はその時点まで加算されたスコアを詳細スコアとして、詳細スコア算出処理を終了する。
【００６０】
例えば、比較の起点が図１０の星型六角形である場合には、前後に実線矢印にそって比較処理を進めた結果、前方に比較した結果として（１０点＋５点＋１０点＋１０点）が加算され、後方に比較した結果としてさらに１０点が加算されるため、４５点が詳細スコアとなる。一方、同じ比較結果の３番目を比較の基準とした場合でも、図１０の三角形に対応する候補文字列の２文字目を起点とした場合には、前後の何れの方向にもヒット位置が無いので、詳細スコアはステップＳ３０１にて加算された起点のスコア６点が最終的な詳細スコアとなる。
【００６１】
図６に戻って、ステップＳ２０５にて詳細スコアを算出するか、ステップＳ２０６にてＹＥＳと判別するか、何れかの場合は次に文字列処理部６０は比較範囲の全比較番号について上記処理済であるか否か判別する（ステップＳ２０７）。例えば、注目認識番号がｎであって、許容誤差が２である場合に、比較番号（ｎ−２）〜（ｎ＋２）の範囲が比較範囲となる。例えば、注目認識番号が３である場合に、図８の下から２行目の点線四角形の部分（候補文字列の１〜４）が比較範囲である。この比較範囲に、現在のステップＳ２０２〜ステップＳ２０７までのループにおいて処理されていない比較番号が有る場合は（ステップＳ２０７；ＮＯ）、次の未処理の比較番号についてステップＳ２０２から処理を繰り返す。
【００６２】
例えば、注目認識番号が「３」である場合、ステップＳ２０１からステップＳ２０９のループの中で、ステップＳ２０２〜ステップＳ２０７までのループで図１０の星型六角形の位置について詳細スコア（４５点）を算出した後、次のループで三角形の位置（注目比較番号２）について詳細スコア（６点）を算出する。
【００６３】
一方、全比較番号が処理済であった場合（ステップＳ２０７；ＹＥＳ）、詳細スコアに基づいて注目認識番号の部分スコアを決定する（ステップＳ２０８）。具体的には、現在の注目認識番号についてステップＳ２０２〜ステップＳ２０７のループで算出した詳細スコアのうち、最も高い値を部分スコアとして決定する。このようにして、より精度が高い比較結果に対応する詳細スコアを、注目認識番号における比較結果として採用する。
【００６４】
部分スコアは、現在の認識番号の位置から認識結果と候補文字列を比較した場合に、認識結果のより信頼度が高い認識候補が、候補文字列のより類似した位置に現れる程度を示す。部分スコアが高いほど、より信頼度が高い認識候補が、候補文字列のより類似した位置に現れる。
【００６５】
ステップＳ２０８が終わると、次に文字列処理部６０は注目識別文字列の認識結果の全位置について上記処理済であるか否か判別する（ステップＳ２０９）。未処理の位置がある場合（ステップＳ２０９；ＮＯ）、例えば図１０の認識結果の文字番号３の行の次に４の行を処理するといったように、次の未処理の認識番号についてステップＳ２０１から処理を繰り返す。
【００６６】
一方、全位置が処理済の場合（ステップＳ２０９；ＹＥＳ）、次に決定部６５０が、比較部６４０が算出した部分スコアに基づいて、注目認識文字列と注目候補文字列の類似度を決定する（ステップＳ２１０）。具体的には、注目認識文字列と、注目候補文字列について算出した部分スコアを合算した値（本例では４５×５＝２２５点）を類似度とする。そして、類似度決定処理を終了する。なお、文字数によって類似スコアが変わるのを防ぐために、類似度は、合算した値を文字数の２乗で除算して正規化した値としてもよい。
【００６７】
図５に戻って、ステップＳ１０６にて注目候補文字列について類似度を決定すると、次に文字列処理部６０は全候補文字列について類似度を決定済みであるか否か判別する（ステップＳ１０７）。未処理の候補文字列が有る場合（ステップＳ１０７；ＮＯ）は、ステップＳ１０５に戻って次の候補文字列を注目候補文字列として処理を繰り返す。
【００６８】
図１１は、図１０とは異なる候補文字列（“ewder”）について類似度決定処理をした場合の算出結果を示す。この場合、認識番号１、２、４が認識結果のヒット位置である。認識結果のヒット位置を基点に部分スコアを算出すると、認識番号１については１０点、認識番号２については２点、認識番号４については５点となる。共通文字が認識候補に含まれない認識番号１はヒット部位が無い。認識番号３については、共通文字が認識候補に含まれてはいるが、共通文字が現れる位置が比較範囲に含まれないので、やはりヒット位置は無い。ヒット位置が無い位置については比較部６４０は部分スコアを算出しない。その結果、類似度は１７点となり、認識候補“ｅｗｄｅｒ”は認識候補“ｓｗｅｅｔ” （類似度２２５点）よりも認識結果に類似する程度が低いことがわかる。
【００６９】
一方、全候補文字列が処理済である場合（ステップＳ１０７；ＹＥＳ）は、選択部６６０が出力文字列を選択する（ステップＳ１０８）。具体的には、候補文字列のうち、最も類似度が高いものを、出力文字列として選択する。ただし、同じ類似度が決定された複数の候補文字列が有る場合は、認識結果の文字長に最も近い候補文字列を選択する。類似度が同じ場合には、文字長が最も近い候補文字列が、認識結果と最も相関性が高いと判断できるからである。
【００７０】
次に文字列処理部６０はステップＳ１０３で分割した全単語について上記処理済みであるか否か判別する（ステップＳ１０９）。未処理の単語が有る場合（ステップＳ１０９；ＮＯ）は、ステップＳ１０４に戻って次の単語を注目認識文字列として処理を繰り返す。一方、全単語が処理済である場合（ステップＳ１０９；ＹＥＳ）は、出力部６７０が出力文字列を出力する（ステップＳ１１０）。具体的には、出力部６７０が出力文字列を単語順に並べて、補正済みの認識結果として表示部４０に出力する
【００７１】
以上説明したとおり、本実施形態の文字認識装置１は認識対象となった文字列（認識文字列）の認識結果と、単語辞書の単語とを、複数の起点から比較した結果に基づいてそれぞれ実行する。そのため、認識結果と候補文字列をより包括的に比較した結果に基づいて認識結果を精度良く補正できる。
【００７２】
また、本実施形態の文字認識装置１は前記複数の位置のそれぞれを起点として、認識結果のより信頼度が高い認識候補が、候補文字列のより類似した位置に現れる程度を示す部分スコアを求め、各スコアを合算して類似度を求める。この部分スコアは、信頼度が高い認識候補が、起点から比較した認識結果と候補文字列が一致する程度を示す。そのため、各部分スコアを合算することで、各起点から比較した一致する程度をそれぞれ反映した精度の高い類似度を求めることが出来る。また、各起点からの比較結果を示す部分スコアを総合して類似度を求めるため、例え認識結果の位置が実際とはずれていたり、一部の文字が認識不能であった場合でも認識精度の低下を押さえることが出来る。そのため、精度良く類似度を決定することが出来る。
【００７３】
また、本実施形態の文字認識装置１は複数の起点となる位置から連続して、認識候補の何れかが、候補文字列の対応する位置に現れる文字の何れかと一致する範囲で、認識結果と候補文字列とを比較した部分スコアに基づいて類似度を決定する。言い換えれば、認識結果と候補文字列が類似する部分のそれぞれついて比較スコアを求め、それぞれの比較スコアを合算して全体の類似度を決定する。そのため、認識結果と認識文字列の類似度が高い場合でも低い場合でも、全体の類似度を精度良く求めることが出来る。また、起点から比較して、類似しない文字に到達すると比較処理を中断するため、処理量を低減することができる。
【００７４】
さらに、一つの認識結果に複数のヒット位置があった場合に、各ヒット位置を基点として詳細スコアを求め、最も大きい詳細スコアを部分スコアとして採用する。そのため、認識結果と単語とが一致する程度を正確に表す比較結果に基づいて、認識結果を補正することが出来る。
【００７５】
また、特定部が特定した認識結果と候補文字列とで同じ文字が、互いに類似した位置で現れる複数の位置（ヒット位置）を起点として比較する。即ち、認識結果と候補文字列とが一致する複数の部位について、認識結果と候補文字列とを比較した結果に基づいて認識結果を補正することが出来る。このため、認識結果と候補文字列の一部が大きく類似し、一部で類似度が小さい場合などでも、それぞれの類似部分を総合的に評価して、認識結果を補正することが出来る。
【００７６】
（変形例）
本発明の実施形態１について説明したが、本発明の実施形態はこれに限られず、さまざまな変形が可能である。例えば、上記実施形態では、ＯＣＲ２１０が出力する認識結果には複数の認識候補に対して信頼度の順番が設定されていた。しかし、これに限らず信頼度の数値や、信頼度のレベル（信頼度低、信頼度中、信頼度高の３レベルなど）が定義された認識結果を出力するＯＣＲ２１０を用いても良い。
この場合、ステップＳ３０１やステップＳ３０５で加算するスコアを、信頼度の順位（候補番号）に応じて決定する代わりに、正規化した信頼度の数値やレベルに応じて決定すれば良い。例えば、スコア表では信頼度に関わらず位置のズレ（認識番号と比較番号の差）に応じたスコアを設定し、ステップＳ３０１やステップＳ３０５において加算する際に、信頼度の大きさに応じた重み係数を用いてスコアを調整すればよい。
【００７７】
また上記実施形態１では、ＯＣＲ２１０が、一文字に対して最大値２つの認識候補を出力する場合について説明した。しかしこれに変えて、より多くの認識候補（例えば各１０文字づつ）を出力するＯＣＲや、所定の信頼度以上の認識候補を無制限に出力するＯＣＲを用いても良い。
【００７８】
これに関連して、多くの認識候補を出力するＯＣＲを用いる場合は、結果取得部が認識候補の数を制限してもよい。通常、認識結果の補正に当たっては、各文字の認識結果に正しい文字が含まれるように、多くの認識候補を出力させる。しかし、本実施形態では、複数の起点から比較して結果に基づいて類似度を決定するため、認識候補の数を制限しても、補正精度の低下の割合は小さいため、認識候補の数を制限することが可能となる。これにより、処理対象となる認識候補の数を制限することにより、類似度の算出処理に必要な計算量を抑えることが出来る。また、多くの認識候補に基づいて補正する場合、信頼度の低い認識結果によってノイズが発生するが、認識候補の数を制限することでノイズが低減する場合もある。
【００７９】
認識候補の数を制限する手段としては、結果取得部が得られた認識結果に所定数以上の認識候補が含まれている場合に、信頼度が低いものを削除すればよい。あるいは、ＯＣＲ２１０の設定を変更して、信頼度が高い認識候補のみを出力するように制御しても良い。また、認識候補の数を制限する代わりに、信頼度の下限を設定してもよい。
【００８０】
また、上記実施形態では候補文字列は一般的な単語辞書として説明したが、これに限らず、熟語辞書や、テンプレートとなる文書を登録したテンプレート辞書であってもよい。また、文字認識装置を用いて認識する認識文字列が、料理メニューや人名など、現れる単語が既知の特定のジャンルに限定されるものである場合には、一般的な単語辞書に代わって特定のジャンルに対応する専門の単語辞書を用いても良い。このような構成によれば、一般的な辞書を用いる場合よりも、認識結果の補正の精度を高めることが出来る。
【００８１】
また、上記実施形態ではＯＣＲの認識結果を補正する場合について説明したが、本発明は手書き認識の結果など、少なくとも一部の文字に対して複数の認識候補が定義された任意の文字認識の結果を補正する場合にも応用できる。
【００８２】
また上記実施例では、決定部は類似度を、部分スコアを合算して求めた。しかしこれに限定されず、部分スコアを重み付け加算するなど、部分スコアが大きくなるにつれて類似度が大きくなるような代替の方法を用いて部分スコアに応じた類似度を決定しても良い。例えば、誤認識が発生しやすい文字に対応する認識候補については、比較結果への影響を低減するため、重みを小さくすることが考えられる。また、文字列の類似度の算出段階で、認識結果と候補文字列の長さの違いに応じて類似度を加減しても良い。例えば、文字列の長さが同じ場合には類似度を１．２倍にし、２文字以上異なる場合は０．９倍する。この加減率は、文字長の認識誤差が発生する程度に応じて自由に設定可能である。このような構成によれば、文字長の違いを反映した精度の高い類似度を決定できる。
【００８３】
また、選択部は候補文字列のうち、類似度が最も高い候補文字列を出力文字列として選択した。しかし、これに限らず、選択部は類似度が高い順に所定数（例えば３つ）の候補文字列を出力する、類似度が所定の閾値以上の候補文字列を全て出力する、等ユーザの設定操作により指定された任意の選択条件を用いて出力文字列を選択してよい。
【００８４】
また、ＣＰＵ２１、ＲＡＭ２２，ＲＯＭ２３、等から構成される文字認識装置が実行する認識結果の補正処理（認識結果出力処理）を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する情報端末を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで情報処理装置を構成してもよい。
【００８５】
また、文字認識装置の機能を、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【００８６】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板（ＢＢＳ：Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ）に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【００８７】
また、上記メニュー表示装置が実行する処理の一部を、文字認識装置とは独立したコンピュータを用いて実現しても良い。
【００８８】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００８９】
（付記１）
文字認識装置からの単語の認識結果として、文字毎に順位付けされた複数の認識候補文字を有する認識文字列を取得する結果取得手段と、
前記認識文字列に対応する複数の候補単語を取得する候補取得手段と、
前記認識文字列の各文字に対応する複数の認識候補文字が前記候補単語の文字列上に現れる位置と当該認識候補文字の順位に基づいて、前記認識文字列と前記候補単語の類似度を決定する決定手段と、
前記複数の候補単語について前記決定手段が決定した類似度に基づいて候補単語の１つを選択し出力する出力手段と、
を備えることを特徴とする情報処理装置。
【００９０】
（付記２）
前記決定手段は、前記認識候補文字が前記候補単語の文字列上に現れる位置を起点として、前後方向に位置する文字について比較することにより、前記認識候補文字のより順位が高い認識候補文字が、前記候補単語のより類似した位置に現れる程度を示すスコアを求め、求めたスコアに基づいて前記類似度を決定する、
ことを特徴とする付記１に記載の情報処理装置。
【００９１】
（付記３）
前記決定手段は、前記起点となる位置から連続して、前記認識候補文字の何れかが、前記候補単語の文字列の対応する位置に現れる文字と一致する範囲で、前記認識候補文字と前記候補単語を比較する、
ことを特徴とする付記２に記載の情報処理装置。
【００９２】
（付記４）
複数の単語を記憶している単語記憶手段をさらに含み、
前記候補取得手段は、前記認識文字列の文字数に応じて、前記単語記憶手段が記憶している単語の中から複数の候補単語を取得する、
ことを特徴とする付記１乃至３の何れかに記載の情報処理装置。
【００９３】
（付記５）
文字認識装置からの単語の認識結果として、文字毎に順位付けされた複数の認識候補文字を有する認識文字列を取得し、
前記認識文字列に対応する複数の候補単語を取得し、
前記認識文字列の各文字に対応する複数の認識候補文字が前記候補単語の文字列上に現れる位置と当該認識候補文字の順位に基づいて、前記認識文字列と前記候補単語の類似度を決定し、
前記複数の候補単語について前記決定した類似度に基づいて候補単語の１つを選択し出力する、
ことを特徴とする情報処理方法。
【００９４】
（付記６）
コンピュータを、
文字認識装置からの単語の認識結果として、文字毎に順位付けされた複数の認識候補文字を有する認識文字列を取得する結果取得手段と、
前記認識文字列に対応する複数の候補単語を取得する候補取得手段と、
前記認識文字列の各文字に対応する複数の認識候補文字が前記候補単語の文字列上に現れる位置と当該認識候補文字の順位に基づいて、前記認識文字列と前記候補単語の類似度を決定する決定手段と、
前記複数の候補単語について前記決定手段が決定した類似度に基づいて候補単語の１つを選択し出力する出力手段、
として機能させるためのプログラム。
【符号の説明】
【００９５】
１…文字認識装置、１０…画像入力部、２０…情報処理部、２１…ＣＰＵ、２２…ＲＡＭ、２３…ＲＯＭ、２４…Ｉ／Ｏ部、２５…外部記憶装置、２６…内部バス、２１０…ＯＣＲ、２２０…文字辞書記憶部、２４０…単語辞書記憶部、３０…操作部、４０…表示部、６０…文字列処理部、６１０…結果取得部、６２０…特定部、６３０…候補取得部、６４０…比較部、６５０…決定部、６６０…選択部、６７０…出力部、ＴＩ…入力画像、Ｒ…認識結果
【図１】
2014146183.tif 000003
【図２】
2014146183.tif 000004
【図３】
2014146183.tif 000005
【図４】
2014146183.tif 000006
【図５】
2014146183.tif 000007
【図６】
2014146183.tif 000008
【図７】
2014146183.tif 000009
【図８】
2014146183.tif 000010
【図９】
2014146183.tif 000011
【図１０】
2014146183.tif 000012
【図１１】
2014146183.tif 000013