(57)【要約】【課題】認識精度をより向上させること。【解決手段】設定した文字群ＣＧの文字で表現される複数の第１文字列Ｌ１と、複数の第１文字列Ｌ１のそれぞれについて、第１文字列Ｌ１を含む第１画像Ｐ１から切り出される文字部分の形状と類似する文字群ＣＧの文字を集めた第１集合Ｇ１と、が対応付けて格納される記憶部１１と、第２画像Ｐ２から切り出される文字部分の形状と類似する文字群ＣＧの文字を集めた第２集合Ｇ２を生成し、第２集合Ｇ２に基づいて第１文字列Ｌ１を選択し、選択した第１文字列Ｌ１に対応する第１集合Ｇ１と第２集合Ｇ２との違いを表す評価値を計算し、設定した閾値より評価値が小さい場合に、選択した第１文字列Ｌ１を認識結果とする演算部１２と、を有する、情報処理装置１０が提供される。【選択図】図１
2015045984.tif 000002
【特許請求の範囲】
【請求項１】
設定した文字群の文字で表現される複数の第１文字列と、前記複数の第１文字列のそれぞれについて、前記第１文字列を含む第１画像から切り出される文字部分の形状と類似する前記文字群の文字を集めた第１集合と、が対応付けて格納される記憶部と、
第２画像から切り出される文字部分の形状と類似する前記文字群の文字を集めた第２集合を生成し、前記第２集合に基づいて前記第１文字列を選択し、選択した前記第１文字列に対応する前記第１集合と前記第２集合との違いを表す評価値を計算し、設定した閾値より前記評価値が小さい場合に、選択した前記第１文字列を認識結果とする演算部と、
を有する、情報処理装置。
【請求項２】
前記演算部は、前記第１集合と前記第２集合とに共通して含まれる前記文字の個数が小さいほど値が大きくなる指標値を前記評価値として利用する
請求項１に記載の情報処理装置。
【請求項３】
前記記憶部には、前記第１集合に含まれる前記文字、及び当該文字と前記第１画像から切り出される文字部分の形状との類似度を表す第１指標値が対応付けて格納され、
前記演算部は、前記第２集合に含まれる前記文字と前記第２画像から切り出される文字部分の形状との類似度を表す第２指標値を計算し、前記第１集合と前記第２集合とに共通して含まれる前記文字について前記第１指標値と前記第２指標値との差を計算し、前記差の大きさを前記評価値として利用する
請求項１に記載の情報処理装置。
【請求項４】
前記第１集合には、前記第１画像から切り出される文字部分の形状との間の類似度が大きい順に前記文字群の中から抽出された所定数の前記文字が含まれ、
前記第２集合には、前記第２画像から切り出される文字部分の形状との間の類似度が大きい順に前記文字群の中から抽出された前記所定数の前記文字が含まれる
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記記憶部には、前記第１文字列の各文字に対応する前記文字部分の形状について、前記第１集合に含まれる前記文字の中で前記類似度が最大となる前記文字を組み合わせた第２文字列と、当該第１集合に対応する前記第１文字列と、が対応付けて格納され、
前記演算部は、
前記第２集合に基づいて前記第１文字列を選択する際に、前記第２集合に含まれる前記文字を組み合わせて前記第１文字列が得られる場合には当該第１文字列を選択し、
前記第２集合に含まれる前記文字を組み合わせて前記第１文字列が得られず、前記第２文字列が得られる場合には当該第２文字列に対応する前記第１文字列を選択する
請求項４に記載の情報処理装置。
【請求項６】
前記演算部は、前記第１文字列を含む前記第２画像について、前記第２集合に含まれる前記文字を組み合わせて前記第１文字列及び前記第２文字列のいずれも得られない場合、当該第１文字列に対応する前記第１集合に当該第２集合の前記文字を追加する
請求項５に記載の情報処理装置。
【請求項７】
記憶部にアクセス可能なコンピュータが、
設定した文字群の文字で表現される複数の文字列と、前記複数の文字列のそれぞれについて、前記文字列を含む第１画像から切り出される文字部分の形状と類似する前記文字群の文字を集めた第１集合と、が対応付けて格納される前記記憶部内の情報を参照し、
第２画像から切り出される文字部分の形状と類似する前記文字群の文字を集めた第２集合を生成し、前記第２集合に基づいて前記文字列を選択し、選択した前記文字列に対応する前記第１集合と前記第２集合との違いを表す評価値を計算し、設定した閾値より前記評価値が小さい場合に、選択した前記文字列を認識結果とする
文字認識方法。
【請求項８】
記憶部にアクセス可能なコンピュータに、
設定した文字群の文字で表現される複数の文字列と、前記複数の文字列のそれぞれについて、前記文字列を含む第１画像から切り出される文字部分の形状と類似する前記文字群の文字を集めた第１集合と、が対応付けて格納される前記記憶部内の情報を参照し、
第２画像から切り出される文字部分の形状と類似する前記文字群の文字を集めた第２集合を生成し、前記第２集合に基づいて前記文字列を選択し、選択した前記文字列に対応する前記第１集合と前記第２集合との違いを表す評価値を計算し、設定した閾値より前記評価値が小さい場合に、選択した前記文字列を認識結果とする
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、文字認識方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、携帯電話やスマートフォンなど、多くの端末装置にはカメラ機能が搭載されている。こうした端末装置には、カメラ機能を利用して撮影した画像から情報を読み取る様々なアプリケーションソフトウェアが搭載されている。その１つに、画像に含まれる文字領域を切り出して文字を認識する文字認識ソフトウェアがある。例えば、名刺の画像から名前や電話番号などの文字情報を読み取るアプリケーションソフトウェアなどがある。画像に含まれる文字を認識する技術は、ＯＣＲ（Optical Character Recognition）と呼ばれる。
【０００３】
ＯＣＲ機能は、ドキュメントスキャナなどの読み取り装置に搭載されていることも多い。また、パーソナルコンピュータでＯＣＲ機能を実現するアプリケーションソフトウェアなども存在する。ＯＣＲ機能は、画像から文字領域を切り出し、切り出した文字領域の画像パターンと予め用意された登録文字の画像パターンとを照合し、最も類似する登録文字を文字認識結果として出力する機能である。文字認識の精度や認識率は、画像の鮮明度や登録文字の種類などにより異なる。そのため、文字認識の精度や認識率を高めるために様々な手法が提案されている。
【０００４】
例えば、Ｎ文字の文字認識誤りを許容する条件で、文字認識結果と登録単語群とを照合する第１の手法が提案されている。また、文字の切り出し、文字認識、言語処理を統合した手書き文字列の認識系を構築し、その認識系を利用して言語情報を文字の切り出しにフィードバックする第２の手法が提案されている。第２の手法では、文字認識の際に、認識結果の候補として複数の文字列を生成し、言語的に許容される文字列を最終認識結果として出力する処理が行われる。
【０００５】
また、ＯＣＲの誤認識を含む可能性がある文字列（以下、誤認識文字列）を正しい文字列（以下、正解文字列）に対応付けて検索文字列群Ｘを作成し、検索文字列群Ｘを利用して文字認識を行う第３の手法が提案されている。また、第３の手法では、検索文字列群Ｘに含まれる文字列の中から１文字をワイルドカード（任意文字列を表す記号）に置き換えて検索文字列群Ｙを作成し、部分的に誤認識文字列と一致する文字列を検索できるようにしている。これらの手法により、文字認識の精度や認識率の向上が期待できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−３２８６８２号公報
【非特許文献】
【０００７】
【非特許文献１】電子通信学会論文誌，Ｊ６９−Ｄ，Ｎｏ．９，ｐｐ．１２９２（１９８６）
【非特許文献２】第５１回情報処理学会全国大会講演論文集，ｐｐ．４−２４７（１９９５）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記の手法は、文書として人が読むことを前提に紙面に記載された文字列を認識対象としている。そのため、看板やポスターなどに記載された図案的要素を含む特殊な形状の文字（以下、デザイン文字）を対象に上記の手法を適用すると、文字認識の失敗や誤検出が増大する可能性がある。これは、登録文字の形状とデザイン文字の形状とが許容可能な誤差の範囲を超えて異なるために、文字認識誤りが多く発生することに起因する。なお、登録文字のフォントと異なるフォントで記載された文字列に対して上記の手法により文字認識を行う場合にも、同様に文字認識の失敗や誤検出が増大する可能性がある。
【０００９】
例えば、上記第１の手法において文字認識誤りを許容する文字数Ｎを大きくすると、登録文字と照合する文字数が少なくなり、認識結果として出力する登録文字が絞り込めない。また、上記第２の手法において認識結果の候補として生成する文字列の数を大きくすると、類似度の低い候補の中から言語的に許容される文字列が抽出される可能性を高めることとなり、誤検出の発生リスクが高まる。また、上記第３の手法を適用した場合、認識対象の画像中に誤認識文字列と同じ文字列が偶然存在した場合、誤認識文字列に対応付けられた正解文字列が認識結果として出力される。つまり、誤検出が発生する。
【００１０】
そこで、１つの側面によれば、本発明の目的は、認識精度をより向上させることが可能な、情報処理装置、文字認識方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本開示の１つの側面によれば、設定した文字群の文字で表現される複数の第１文字列と、複数の第１文字列のそれぞれについて、第１文字列を含む第１画像から切り出される文字部分の形状と類似する文字群の文字を集めた第１集合と、が対応付けて格納される記憶部と、第２画像から切り出される文字部分の形状と類似する文字群の文字を集めた第２集合を生成し、第２集合に基づいて第１文字列を選択し、選択した第１文字列に対応する第１集合と第２集合との違いを表す評価値を計算し、設定した閾値より評価値が小さい場合に、選択した第１文字列を認識結果とする演算部と、を有する、情報処理装置が提供される。
【００１２】
また、本開示の他の１つの側面によれば、記憶部にアクセス可能なコンピュータが、設定した文字群の文字で表現される複数の文字列と、複数の文字列のそれぞれについて、文字列を含む第１画像から切り出される文字部分の形状と類似する文字群の文字を集めた第１集合と、が対応付けて格納される記憶部内の情報を参照し、第２画像から切り出される文字部分の形状と類似する文字群の文字を集めた第２集合を生成し、第２集合に基づいて文字列を選択し、選択した文字列に対応する第１集合と第２集合との違いを表す評価値を計算し、設定した閾値より評価値が小さい場合に、選択した文字列を認識結果とする文字認識方法が提供される。
【００１３】
また、本開示の他の１つの側面によれば、記憶部にアクセス可能なコンピュータに、設定した文字群の文字で表現される複数の文字列と、複数の文字列のそれぞれについて、文字列を含む第１画像から切り出される文字部分の形状と類似する文字群の文字を集めた第１集合と、が対応付けて格納される記憶部内の情報を参照し、第２画像から切り出される文字部分の形状と類似する文字群の文字を集めた第２集合を生成し、第２集合に基づいて文字列を選択し、選択した文字列に対応する第１集合と第２集合との違いを表す評価値を計算し、設定した閾値より評価値が小さい場合に、選択した文字列を認識結果とする処理を実行させる、プログラムが提供される。
【発明の効果】
【００１４】
本開示によれば、認識精度をより向上させることが可能になる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係る情報処理装置の一例を示した図である。
【図２】第２実施形態に係る情報提供システムの一例を示した図である。
【図３】第２実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。
【図４】第２実施形態に係る端末装置が有する機能の一例を示したブロック図である。
【図５】第２実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。
【図６】第２実施形態に係る情報データベースの一例を示した図である。
【図７】第２実施形態に係る単語データベースの一例を示した図である。
【図８】第２実施形態に係る誤り文字列データベースの一例を示した図である。
【図９】第２実施形態に係るサーバ装置による単語認識処理について説明するための第１の図である。
【図１０】第２実施形態に係るサーバ装置による単語認識処理について説明するための第２の図である。
【図１１】第２実施形態に係るサーバ装置による単語認識処理について説明するための第３の図である。
【図１２】第２実施形態に係るサーバ装置による単語認識処理について説明するための第４の図である。
【図１３】第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第１の図である。
【図１４】第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第２の図である。
【図１５】第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第３の図である。
【図１６】第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第４の図である。
【図１７】第２実施形態の一変形例に係る検証方法について説明するための第１の図である。
【図１８】第２実施形態の一変形例に係る検証方法について説明するための第２の図である。
【図１９】第２実施形態の一変形例に係る検証方法について説明するための第３の図である。
【図２０】第２実施形態に係る誤り文字データベースの更新処理の流れを示した第１の図である。
【図２１】第２実施形態に係る誤り文字データベースの更新処理の流れを示した第２の図である。
【図２２】第２実施形態に係る誤り文字データベースの更新処理の流れを示した第３の図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本開示に係る実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１７】
＜１．第１実施形態＞
第１実施形態について説明する。
図１を参照しながら、第１実施形態に係る情報処理装置１０について説明する。図１は、第１実施形態に係る情報処理装置の一例を示した図である。
【００１８】
図１に示すように、情報処理装置１００は、記憶部１１、及び演算部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１９】
記憶部１１には、設定した文字群ＣＧの文字で表現される複数の第１文字列Ｌ１が格納される。図１の例では、「雪」、「通」、「病」、「富」、「桶」などの文字を含む文字群ＣＧが設定されている。第１文字列Ｌ１は、文字群ＣＧに含まれる文字を組み合わせた文字列である。図１には、文字群ＣＧに含まれる「富」、「通」を組み合わせた文字列「富通」などが第１文字列Ｌ１の例として示されている。なお、第１実施形態に係る説明の中で、説明の都合上、第１文字列Ｌ１の例として文字列「富通」を挙げ、この例を念頭に置いて説明する場合がある。
【００２０】
また、記憶部１１には、複数の第１文字列Ｌ１のそれぞれについて、第１文字列Ｌ１を含む第１画像Ｐ１から切り出される文字部分の形状と類似する文字群ＣＧの文字を集めた第１集合Ｇ１が格納される。
【００２１】
図１には、文字列「富通」を含む第１画像Ｐ１が例示されている。第１画像Ｐ１は、例えば、街頭に設置された看板に記載の文字列「富通」をカメラで撮像した撮像画像や、設定したフォントで紙面に印刷した文字列「富通」をカメラで撮像した撮像画像である。画像処理により第１画像Ｐ１から、文字列「富通」を含む文字列部分を切り出すことができる。さらに、文字列部分から、１文字ずつ文字部分を切り出すことができる。図１の例では、１文字目の文字部分（「富」を含む文字部分）と、２文字目の文字部分（「通」を含む文字部分）とが切り出されている。
【００２２】
第１画像Ｐ１から文字部分の画像が切り出されると、例えば、パターンマッチングなどの方法により、文字群ＣＧの中から、切り出した文字部分の形状に類似する文字を抽出することができる。例えば、文字群ＣＧに含まれる文字のテンプレート画像又はその特徴量を用意しておき、文字部分の画像とテンプレート画像との類似度を計算し、類似度が高い文字を文字群ＣＧから抽出する方法などが考えられる。その他にも、ある文字が、文字部分に記載された文字である可能性の高さ（例えば、確率で表現される。）を表す信頼度を用いて文字群ＣＧから文字を抽出する方法などが考えられる。
【００２３】
類似度や信頼度などの指標値を利用して文字群ＣＧから文字を抽出する方法の場合、指標値が大きい順に、候補となる複数の文字が文字群ＣＧから抽出される。そして、指標値が最も大きい文字が結果として出力される。上記第１集合Ｇ１は、例えば、指標値が大きい順に、切り出された文字部分毎に、設定した数の文字を集めた集合である。記憶部１１には、第１文字列Ｌ１を含む第１画像Ｐ１の文字部分に対応する文字を抽出する際に得られた第１集合Ｇ１が、第１文字列Ｌ１に対応付けて格納されている。
【００２４】
演算部１２は、第２画像Ｐ２から切り出される文字部分の形状と類似する文字群ＣＧの文字を集めた第２集合Ｇ２を生成する。第２画像Ｐ２は、例えば、カメラで撮像した撮像画像である。また、第２画像Ｐ２に含まれる文字列（「富通」）は未知である。演算部１２は、例えば、第１文字列Ｌ１を含む第１画像Ｐ１から第１集合Ｇ１を生成する方法と同じ方法で、指標値が大きい順に、候補となる複数の文字を文字群ＣＧから抽出し、抽出した文字の集合である第２集合Ｇ２を生成する。
【００２５】
また、演算部１２は、第２集合Ｇ２に基づいて第１文字列Ｌ１を選択する。例えば、演算部１２は、第２集合Ｇ２に含まれる文字を組み合わせて文字列を生成し、生成した文字列に一致する第１文字列Ｌ１を選択する。なお、第２画像Ｐ２に第１文字列Ｌ１が含まれていない場合、演算部１２は、第２集合Ｇ２から第１文字列Ｌ１を選択できない可能性がある。しかし、第２画像Ｐ２に第１文字列Ｌ１が含まれている場合、演算部１２は、第２集合Ｇ２から第１文字列Ｌ１を選択できる可能性が高い。図１の例では、第２画像Ｐ２に含まれる文字を組み合わせて文字列「富通」を生成できるため、この場合には第１文字列Ｌ１として文字列「富通」が選択される。
【００２６】
また、演算部１２は、選択した第１文字列Ｌ１に対応する第１集合Ｇ１と第２集合Ｇ２との違いを表す評価値を計算する。評価値としては、例えば、第１集合Ｇ１と第２集合Ｇ２との間で共通に含まれる文字の個数などを用いることができる。共通に含まれる文字の個数が少なければ、第１集合Ｇ１と第２集合Ｇ２との違いが大きいと評価できる。また、第１集合Ｇ１及び第２集合Ｇ２に含まれる各文字について指標値が得られている場合には、共通して含まれる文字に対応する指標値の差を評価値として用いることもできる。例えば、１文字あたりの指標値の差が大きければ、第１集合Ｇ１と第２集合Ｇ２との違いが大きいと評価できる。
【００２７】
また、演算部１２は、設定した閾値より評価値が小さい場合に、選択した第１文字列Ｌ１を認識結果とする。つまり、第１集合Ｇ１と第２集合Ｇ２との違いが許容範囲内の違いである場合に、第２画像Ｐ２から認識された第１文字列Ｌ１が出力される。特殊なフォントやデザイン文字などを含む画像から文字列を認識しようとする場合、誤検出や誤認識が生じる可能性がある。しかし、同じ文字列を含む画像に対する認識処理の過程で得られた候補文字の集合は似通った性質を有する。そのため、上記のような評価値に基づく検証処理を行うことで、誤検出や誤認識が生じるリスクを低減することが可能になり、文字列の認識精度を向上させることができる。
【００２８】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００２９】
［２−１．システム］
まず、図２を参照しながら、第２実施形態に係る情報提供システムについて説明する。図２は、第２実施形態に係る情報提供システムの一例を示した図である。
【００３０】
図２に示すように、第２実施形態に係る情報提供システムは、端末装置１００及びサーバ装置２００を含む。端末装置１００は、サーバ装置２００と通信可能である。例えば、端末装置１００は、無線ＬＡＮ（Local Area Network）や携帯電話回線などの無線通信回線を利用してサーバ装置２００とデータ通信を行うことが可能である。
【００３１】
この情報提供システムでは、端末装置１００からサーバ装置２００へと写真ＰＴが送信されると、写真ＰＴに含まれる単語に関連する登録情報Ａがサーバ装置２００から端末装置１００へと提供される。
【００３２】
サーバ装置２００は、単語と対応付けて登録情報Ａが記録された情報データベース２０１ａを保持している。登録情報Ａとしては、例えば、地名、店名、観光情報、施設情報（例えば、施設名、入園料、開園時間、住所、電話番号など）、地図情報、商品情報、お得情報（例えば、割引券、クーポンなど）などがある。例えば、情報データベース２０１ａには、単語「富士園」に対応付けて、施設名「富士園」、入園料「５００円」、開園時間「９時〜１７時」などの登録情報Ａが格納されている。
【００３３】
例えば、看板やポスターなどの写真ＰＴを端末装置１００からサーバ装置２００へと送信すると、サーバ装置２００は、受信した写真ＰＴから文字列を含む画像領域ＷＡを切り出し、その文字列に含まれる文字を認識する。さらに、サーバ装置２００は、認識した文字の組み合わせに該当する単語を検出する。
【００３４】
サーバ装置２００は、情報データベース２０１ａに登録された単語を記録した単語データベース２０１ｂを保持している。サーバ装置２００は、単語データベース２０１ｂを参照し、認識した文字の組み合わせに該当する単語を検出する。該当する単語を検出したサーバ装置２００は、情報データベース２０１ａから、検出した単語に対応する登録情報Ａを抽出する。そして、サーバ装置２００は、抽出した登録情報Ａを端末装置１００に送信する。登録情報Ａを受信した端末装置１００は、受信した登録情報Ａを画面に表示する。
【００３５】
このように、第２実施形態に係る情報提供システムを利用すると、ユーザは、看板などの文字列を撮像した撮像画像をサーバ装置２００へと送信するだけで、その看板などに関連する登録情報Ａを容易に取得することが可能になる。二次元バーコードなどの特殊な情報表示を利用しておらず、一般的な文字列が記載されていればよいため、様々な場所に設置された看板などを情報源として利用することができる。そのため、たまたま目にした看板や、広告に記載された単語などを利用して容易に登録情報Ａを得ることができるため、利便性が高い。
【００３６】
但し、看板などの文字は、特殊なフォントやデザイン文字で描かれていることが多い。書籍に記載された文字列や、申請書類などの書面に記載された文字列を読み取り、文字情報をデジタルデータとして記録するＯＣＲ機能を利用した場合、看板などに描かれた特殊な形状の文字を正しく認識できない可能性が高い。単語が認識できない場合や、正しい単語とは異なる単語が検出される場合などが想定される。そこで、第２実施形態では、特殊なフォントやデザイン文字など、文字認識の誤りが生じやすい文字を含む単語を正しく認識する仕組みを提案する。この仕組みを適用することで単語の認識精度が向上し、図２に例示した情報提供システムなどに応用することでユーザの利便性向上に寄与する。
【００３７】
以上、第２実施形態に係る情報提供システムについて説明した。なお、サーバ装置２００が有する機能のうち、文字認識に関する機能を端末装置１００に組み込み、端末装置１００単体で撮像画像から文字列を認識できるようにしてもよい。さらに、サーバ装置２００が有する情報データベース２０１ａの情報を端末装置１００に保持させ、端末装置１００単体で、認識した文字列から観光情報などの情報が得られるようにしてもよい。以下では、図２に示した情報提供システムを念頭に説明を進めるが、このような変形例も第２実施形態の技術的範囲に含まれる。
【００３８】
［２−２．ハードウェア］
次に、図３を参照しながら、端末装置１００のハードウェアについて説明する。図３は、第２実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。端末装置１００が有する機能は、例えば、図３に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、端末装置１００が有する機能は、コンピュータプログラムを用いて図３に示すハードウェアを制御することにより実現される。
【００３９】
図３に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インタフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００４０】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００４１】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００４２】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００４３】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００４４】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００４５】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、イヤホン、カメラ、フラッシュ、プリンタなどがある。なお、接続ポート９２４を介さずにカメラやフラッシュなどのデバイスがインタフェース９１４に接続されていてもよい。
【００４６】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００４７】
以上、端末装置１００のハードウェアについて説明した。なお、サーバ装置２００が有する機能も、端末装置１００と同様に、図３に例示したハードウェアを用いて実現可能である。従って、サーバ装置２００のハードウェアについては詳細な説明を省略する。
【００４８】
［２−３．端末装置の機能］
次に、図４を参照しながら、端末装置１００の機能について説明する。図４は、第２実施形態に係る端末装置が有する機能の一例を示したブロック図である。
【００４９】
図４に示すように、端末装置１００は、画像取得部１０１、画像送信部１０２、情報受信部１０３、及び情報表示部１０４を有する。画像送信部１０２及び情報受信部１０３の機能は、上述した接続ポート９２４や通信部９２６などを用いて実現できる。画像取得部１０１及び情報表示部１０４の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００５０】
画像取得部１０１は、端末装置１００のカメラ機能を利用して撮像された撮像画像や、端末装置１００に接続されたリムーバブル記録媒体９２８に格納された撮像画像など、単語の認識に用いられる画像（以下、対象画像）を取得する。画像取得部１０１により取得された対象画像は、画像送信部１０２に入力される。画像送信部１０２は、画像取得部１０１から入力された対象画像をサーバ装置２００へ送信する。
【００５１】
サーバ装置２００において対象画像から単語が検出された場合、検出された単語に対応する登録情報Ａが端末装置１００に送信される。情報受信部１０３は、サーバ装置２００から送信された登録情報Ａを受信する。情報受信部１０３により受信された登録情報Ａは、情報表示部１０４に入力される。情報表示部１０４は、情報受信部１０３から入力された登録情報Ａを端末装置１００の画面に表示する。
【００５２】
以上、端末装置１００の機能について説明した。
［２−４．サーバ装置の機能］
次に、図５を参照しながら、サーバ装置２００の機能について説明する。図５は、第２実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。なお、説明の中で、図６〜図１２を適宜参照する。
【００５３】
図５に示すように、サーバ装置２００は、記憶部２０１、画像受信部２０２、単語認識部２０３、情報送信部２０４、及びデータベース更新部２０５を有する。記憶部２０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。画像受信部２０２及び情報送信部２０４の機能は、上述した接続ポート９２４や通信部９２６などを用いて実現できる。単語認識部２０３の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００５４】
（記憶部２０１）
記憶部２０１は、情報データベース２０１ａ、単語データベース２０１ｂ、登録文字データベース２０１ｃ、及び誤り文字列データベース２０１ｄを有する。
【００５５】
情報データベース２０１ａは、単語に対応付けて登録情報Ａが格納されたデータベースである。単語データベース２０１ｂは、文字認識の結果から単語を検出するための情報が格納されたデータベースである。登録文字データベース２０１ｃは、文字認識に用いる文字（以下、登録文字）のテンプレートが格納されたデータベースである。誤り文字列データベース２０１ｄは、誤った文字列が検出されやすい画像を対象に文字認識した際の認識結果に関する情報が格納されたデータベースである。
【００５６】
（情報データベース２０１ａ）
ここで、図６を参照しながら、情報データベース２０１ａについて、さらに説明する。図６は、第２実施形態に係る情報データベースの一例を示した図である。
【００５７】
図６に例示した情報データベース２０１ａには、「単語」及び「情報」の欄が設けられている。また、「単語」の欄には、「富士園」、「雪土国」、「愛染明王像」などの単語が記載されている。但し、「単語」の欄に記載されている単語は、単語データベース２０１ｂに格納されている単語である。
【００５８】
さらに、「情報」の欄には、単語毎に、「入園料  ５００円、開園時間  ９時〜１７時」などの登録情報Ａが記載されている。なお、「Ｎｏ．」の欄に記載された数字は、情報データベース２０１ａのレコードを識別するための番号である。この例のように、情報データベース２０１ａには、単語と登録情報Ａとが対応付けて格納されている。
【００５９】
（単語データベース２０１ｂ）
次に、図７を参照しながら、単語データベース２０１ｂについて、さらに説明する。図７は、第２実施形態に係る単語データベースの一例を示した図である。
【００６０】
図７に例示した単語データベース２０１ｂには、「単語」、「候補順位」、「１文字目」、「２文字目」、「３文字目」、…の欄が設けられている。なお、以下では、「１文字目」、「２文字目」、「３文字目」の欄を「候補文字群」の欄と呼ぶ場合がある。「単語」の欄には、「富士園」、「雪土国」などの単語が記載されている。また、「候補順位」の欄には、単語毎に「第１位」、…、「第４位」の記載がある。そして、「候補文字群」の欄には、文字種及びコストが記載されている。
【００６１】
「単語」の欄に記載されている単語は、単語データベース２０１ｂに格納されている単語である。「候補文字群」の欄に記載された文字種及びコストは、対応する単語を含む画像から文字認識を行った際に、認識結果の候補として抽出された文字（以下、候補文字）及び認識コストの値を表す。
【００６２】
なお、認識コストとは、候補文字が誤りである可能性の高さを表す指標値の一例である。つまり、認識コストは、値が小さくなるほど正しい文字（以下、正解文字）らしいことを示す量であり、相違度と呼ばれることもある。第２実施形態では、認識コストを指標値として利用する例を中心に説明するが、例えば、認識スコアを指標値として利用することもできる。認識スコアとは、候補文字が、正解文字である可能性の高さを表す指標値の一例である。つまり、認識スコアは、値が大きくなるほど正解文字らしいことを示す量であり、類似度と呼ばれることもある。類似度は、尤もらしさを表す確信度や、正解文字である確率を表す確率値などで表現される場合もある。
【００６３】
図７の例では、単語に含まれる文字毎に４つの候補文字が記載されている。例えば、単語「富士園」の第１文字目「富」に対応する候補文字として、「富」、「雪」、「窓」、「冨」が記載されている。また、図７の例では、コストが低い順に上位４つの候補文字が記載されている。「候補順位」の欄に記載された順位の数字は、コストが低い順に順番を表した順位である。
【００６４】
なお、図７の例では第４位までの候補文字を記載しているが、第３位までの候補文字を記載する設定にすることも可能であるし、第４位より下位の候補文字を記載する設定にすることも可能である。このように、単語データベース２０１ｂには、単語と共に候補文字群が格納されている。
【００６５】
（誤り文字列データベース２０１ｄ）
次に、図８を参照しながら、誤り文字列データベース２０１ｄについて、さらに説明する。図８は、第２実施形態に係る誤り文字列データベースの一例を示した図である。
【００６６】
図８に例示した誤り文字列データベース２０１ｄには、「単語」、「誤り文字列」、「候補順位」、「１文字目」、「２文字目」、「３文字目」、…の欄が設けられている。なお、「１文字目」、「２文字目」、「３文字目」の欄は「候補文字群」の欄である。「単語」の欄には、「富士園」などの単語が記載されている。また、「誤り文字列」の欄には、単語毎に文字列が記載されている。「候補順位」の欄には、単語毎に「第１位」、…、「第４位」の記載がある。そして、「候補文字群」の欄には、文字種及びコストが記載されている。
【００６７】
「単語」の欄に記載されている単語は、単語データベース２０１ｂに格納されている単語である。なお、「単語」の欄には、単語毎に誤り文字列の数が記載されている。「誤り文字列」の欄に記載された文字列は、対応する単語を含む画像から文字認識を行った際に誤認識された文字列（以下、誤り文字列）を表す。
【００６８】
例えば、候補文字群の中に正解文字が存在しない場合、候補順位が最上位に位置する候補文字の組み合わせが誤り文字列として得られる。「候補文字群」の欄に記載された文字種及びコストは、対応する単語を含む画像から文字認識を行った際に抽出された候補文字及び認識コストの値を表す。なお、認識コストに代えて認識スコアを指標値として利用することもできる。
【００６９】
図８の例では、単語「富士園」に対応付けて２つの誤り文字列「蔦企国」、「雪土国」が記載されている。また、誤り文字列「蔦企国」に含まれる文字毎に４つの候補文字が記載されている。例えば、単語「富士園」の第１文字目「富」に対応する誤り文字列「蔦企国」の第１文字目「蔦」について、「蔦」、「夢」、「言」、「雪」が記載されている。
【００７０】
なお、図８の例では第４位までの候補文字を記載しているが、第３位までの候補文字を記載する設定にすることも可能であるし、第４位より下位の候補文字を記載する設定にすることも可能である。また、単語データベース２０１ｂに記載される候補文字の数（順位数）と、誤り文字列データベース２０１ｄに記載される候補文字の数（順位数）とは異なる数に設定されていてもよい。例えば、単語データベース２０１ｂでは第４位までの候補文字を考慮し、誤り文字列データベース２０１ｄでは第８位までの候補文字を考慮するような設定にすることが可能である。
【００７１】
（画像受信部２０２）
再び図５を参照する。画像受信部２０２は、端末装置１００から単語認識の対象となる写真ＰＴを受信する。画像受信部２０２により受信された写真ＰＴは、単語認識部２０３に入力される。なお、画像受信部２０２により受信された写真ＰＴは、記憶部２０１に一旦格納されてもよい。
【００７２】
（単語認識部２０３）
単語認識部２０３は、画像受信部２０２により入力された写真ＰＴから単語を検出する。例えば、単語認識部２０３は、写真ＰＴから文字列を含む画像領域ＷＡを切り出す。画像領域ＷＡの切り出しとしては、例えば、写真ＰＴの画像データを２値化し、２値画像から文字列を切り出す方法などがある。画像領域ＷＡを切り出した単語認識部２０３は、登録文字データベース２０１ｃを利用し、画像領域ＷＡから各文字を含む部分（以下、文字領域）を切り出す。文字領域の切り出し方法としては、現在又は将来において開示されている任意の文字認識技術を適用することができる。
【００７３】
文字領域を切り出した単語認識部２０３は、登録文字データベース２０１ｃに格納された登録文字のテンプレートを用いて、各登録文字と文字領域の文字形状とのマッチングを行い、登録文字毎に認識コストを計算する。認識コストの計算方法としては、現在又は将来において開示されている任意の方法を適用することができる。また、単語データベース２０１ｂ及び誤り文字列データベース２０１ｄに記載の指標値が認識スコアである場合には、認識コストに代えて認識スコアが計算される。
【００７４】
単語認識部２０３は、認識コストが低い順に予め設定された数の登録文字を候補文字として抽出する。つまり、文字領域毎に複数の候補文字を含む候補文字群が生成される。候補文字群を生成した単語認識部２０３は、候補文字群に含まれる候補文字を組み合わせて、単語データベース２０１ｂに記載された単語を検出する。例えば、単語認識部２０３は、図９に例示するような方法で単語を検出する。図９は、第２実施形態に係るサーバ装置による単語認識処理について説明するための第１の図である。
【００７５】
図９には、写真ＰＴから切り出された画像領域ＷＡである画像Ｐ０１から単語を検出する処理の例が記載されている。画像Ｐ０１には、単語「富士園」が記載されている。また、第１文字目「富」を含む文字領域に対する候補文字として、上位から順に「冨」、「富」、「雪」、「言」が得られている。同様に、第２文字目「士」を含む文字領域に対する候補文字として、上位から順に「士」、「土」、「工」、「大」が得られている。さらに、第３文字目「園」を含む文字領域に対する候補文字として、上位から順に「国」、「園」、「回」、「酉」が得られている。
【００７６】
文字認識結果である候補文字群の最上位に位置する候補文字を組み合わせると「冨士国」となり、正解の文字列である「富士園」とはならない。しかし、下位の候補文字も含めて候補文字群を参照すれば、単語データベース２０１ｂに含まれる単語「富士園」の第１文字目「富」、第２文字目「士」、第３文字目「園」が得られる。単語認識部２０３は、図９に例示したように、下位の候補文字を含めた候補文字群の中から、単語データベース２０１ｂに記載された単語を検出する。図９の例では、単語認識結果として正しく「富士園」が検出される。
【００７７】
上記の方法で単語データベース２０１ｂに記載された単語を検出できなかった場合、単語認識部２０３は、候補文字群に含まれる候補文字を組み合わせて、誤り文字列データベース２０１ｄに記載された誤り文字列を検出する。例えば、単語認識部２０３は、図１０に例示するような方法で誤り文字列を検出する。図１０は、第２実施形態に係るサーバ装置による単語認識処理について説明するための第２の図である。
【００７８】
図１０には、写真ＰＴから切り出された画像領域ＷＡである画像Ｐ０２から単語を検出する処理の例が記載されている。画像Ｐ０２には、単語「富士園」が記載されている。但し、画像Ｐ０２に記載された各文字は不鮮明である。
【００７９】
そのため、第１文字目「富」を含む文字領域に対する候補文字として、例えば、上位から順に「蔦」、「夢」、「言」、「雪」が得られている。また、第２文字目「士」を含む文字領域に対する候補文字として、上位から順に「企」、「士」、「述」、「工」が得られている。さらに、第３文字目「園」を含む文字領域に対する候補文字として、上位から順に「国」、「酉」、「田」、「具」が得られている。
【００８０】
文字認識結果である候補文字群の最上位に位置する候補文字を組み合わせると「蔦企国」となり、正解の文字列である「富士園」とはならない。さらに、下位の候補文字も含めて候補文字群を参照しても、単語データベース２０１ｂに含まれる単語「富士園」の第１文字目「富」、第３文字目「園」が得られない。しかし、候補文字群の最上位に位置する候補文字を組み合わせた文字列「蔦企国」は、誤り文字列データベース２０１ｄに記載されている。そこで、単語認識部２０３は、誤り文字列データベース２０１ｄを参照し、誤り文字列「蔦企国」に対応する単語「富士園」を単語認識結果とする。この方法により、図１０の例では、単語認識結果として正しく「富士園」が検出される。
【００８１】
（考察＃１：写真ＰＴに誤り文字列を含む場合）
ここで、誤り文字列データベース２０１ｄに記載された誤り文字列と同じ単語が写真ＰＴに含まれている場合について考えてみたい。例えば、単語データベース２０１ｂには記載のない単語「蔦企国」を含む看板を撮影した写真ＰＴが入力された場合、単語認識部２０３は、図１０の例と同様に、誤り文字列データベース２０１ｄを利用して候補文字群から誤り文字列「蔦企国」を検出する。この例では正しい単語は「蔦企国」であるため、この検出結果に対応する単語「富士園」を単語認識結果とすると誤りとなる。
【００８２】
そこで、単語認識部２０３は、誤り文字列「蔦企国」に対応する単語「富士園」が正しい単語認識結果であるか否かを検証する。正しい単語認識結果と認められる場合、単語認識部２０３は、誤り文字列「蔦企国」に対応する単語「富士園」を単語認識結果とする。一方、正しい単語認識結果と認められない場合、単語認識部２０３は、誤り文字列「蔦企国」に対応する単語「富士園」を単語認識結果としない。この場合、単語認識部２０３は、単語の認識に失敗したと判断する。
【００８３】
（考察＃２：候補文字群に複数の単語を含む場合）
ここで、候補文字群の中から複数の単語が検出された場合について考えてみたい。例えば、図９に示した文字認識結果（候補文字群）が得られた場合、この候補文字群の中から、２つの単語「富士園」及び「雪土国」が検出される。
【００８４】
そこで、単語認識部２０３は、２つの単語「富士園」及び「雪土国」のうち、いずれの単語が正しい単語認識結果であるかを検証する。単語の選択方法としては、例えば、認識コストの和や平均が最も小さい単語を選択する方法などが考えられる。但し、第２実施形態では、候補文字群を利用した検証方法を提案する。単語認識部２０３は、正しい単語認識結果と認められた単語を単語認識結果とする。なお、いずれの単語も正しい単語認識結果と認められない場合、単語認識部２０３は、単語の認識に失敗したと判断する。
【００８５】
（考察＃３：誤り文字列と同じ登録単語が存在する場合）
ここで、誤り文字列データベース２０１ｄに記載された誤り文字列と同じ単語が単語データベース２０１ｂに記載されている場合について考えてみたい。
【００８６】
上記の説明では、単語データベース２０１ｂに記載された単語が候補文字群に含まれない場合に、候補文字群から誤り文字列を検出する方法を例示した。しかし、たまたま候補文字群の中に単語データベース２０１ｂに記載された単語と同じ文字列が含まれているが、その単語が正解ではない場合も考えられる。そのため、単語データベース２０１ｂに記載された単語と、誤り文字列データベース２０１ｄに記載された誤り文字列とを候補文字群から検出し、それぞれの検出結果から正しい文字認識結果を選択する方法を考える。
【００８７】
例えば、図７に例示した単語データベース２０１ｂには単語「雪土国」が記載され、図８に例示した誤り文字列データベース２０１ｄには誤り文字列「雪土国」が記載されている。この場合、単語認識部２０３は、図１１に示すように、単語データベース２０１ｂに記載された単語に基づく単語認識結果＃１と、誤り文字列に基づく単語認識結果＃２とのいずれが正しい単語認識結果であるかを検証する。図１１は、第２実施形態に係るサーバ装置による単語認識処理について説明するための第３の図である。図１１の例では、検証の結果、誤り文字列に基づく単語認識結果＃２が正しい単語認識結果として得られる。
【００８８】
（検証方法について）
上記考察＃１〜＃３で述べたように、単語認識部２０３は、単語データベース２０１ｂ、及び誤り文字列データベース２０１ｄに基づいて検出した単語をそのまま文字認識結果とせずに検証処理を実施する。ここで、図１２を参照しながら、単語認識部２０３による検証処理について説明する。なお、図１２は、第２実施形態に係るサーバ装置による単語認識処理について説明するための第４の図である。
【００８９】
（登録単語に基づく単語認識結果の検証）
画像領域ＷＡに対する文字認識結果（以下、候補文字群Ｘ）から、単語データベース２０１ｂに記載された単語が検出された場合、単語認識部２０３は、その単語に対応する単語データベース２０１ｂに記載の候補文字群（以下、候補文字群Ｙ）を抽出する。次いで、単語認識部２０３は、２つの候補文字群Ｘ、Ｙを比較し、両者に共通して存在する候補文字（以下、共通候補文字）の数をカウントする。
【００９０】
次いで、単語認識部２０３は、共通候補文字の数が、設定した閾値（例えば、７個）よりも大きいか否かを判定する。なお、共通候補文字の数は評価値の一例である。共通候補文字の数が、設定した閾値よりも大きい場合、単語認識部２０３は、候補文字群Ｘから検出した単語を文字認識結果とする。一方、共通候補文字の数が、設定した閾値よりも小さい場合、単語認識部２０３は、候補文字群Ｘから検出した単語を文字認識結果としない。なお、閾値は、例えば、候補文字群Ｘ、Ｙの一方又は両方に含まれる候補文字の数に基づいて設定される。
【００９１】
図１２の例では、候補文字群Ｘ（図中の「文字認識結果」）と、単語「雪土国」に対応する候補文字群Ｙ（図中の「単語ＤＢより」）とを比較した結果、５個の共通候補文字が得られている。閾値が７個に設定されている場合、共通候補文字数が閾値より小さいため、単語「雪土国」は単語認識結果とされない。なお、候補文字群Ｘから複数の単語が検出された場合、共通候補文字数が閾値より大きい単語が文字認識結果とされる。
【００９２】
（誤り文字列に基づく単語認識結果の検証）
画像領域ＷＡに対する文字認識結果（候補文字群Ｘ）から、誤り文字列データベース２０１ｄに記載された誤り文字列が検出された場合、単語認識部２０３は、その誤り文字列に対応する候補文字群（以下、候補文字群Ｚ）を誤り文字列データベース２０１ｄから抽出する。次いで、単語認識部２０３は、２つの候補文字群Ｘ、Ｚを比較し、両者に共通して存在する候補文字（共通候補文字）の数をカウントする。
【００９３】
次いで、単語認識部２０３は、共通候補文字の数が、設定した閾値（例えば、７個）よりも大きいか否かを判定する。共通候補文字の数が、設定した閾値よりも大きい場合、単語認識部２０３は、候補文字群Ｘから検出した誤り文字列に対応する単語を文字認識結果とする。一方、共通候補文字の数が、設定した閾値よりも小さい場合、単語認識部２０３は、候補文字群Ｘから検出した誤り文字列に対応する単語を文字認識結果としない。なお、閾値は、例えば、候補文字群Ｘ、Ｚの一方又は両方に含まれる候補文字の数に基づいて設定される。
【００９４】
図１２の例では、候補文字群Ｘ（図中の「文字認識結果」）と、誤り文字列「雪土国」に対応する候補文字群Ｚ（図中の「誤り文字列ＤＢより」）とを比較した結果、９個の共通候補文字が得られている。閾値が７個に設定されている場合、共通候補文字数が閾値より大きいため、誤り文字列「雪土国」に対応する単語「富士園」が単語認識結果とされる。図１２の例では、候補文字群Ｙ（図中の「単語ＤＢより」）、候補文字群Ｚ（図中の「誤り文字列ＤＢより」）が得られているが、誤り文字列「雪土国」に対応する単語「富士園」が単語認識結果とされる。
【００９５】
（検証処理の実装について）
ここで、上記の検証処理の実装形態について述べる。上記の説明では様々な場合について検証処理の適用方法を議論してきたが、実際に上記の検証処理を実装する際には、その一部を省略することもできる。例えば、単語データベース２０１ｂに記載された単語が候補文字群Ｘから検出された場合には、その検出結果について検証を行わないようにしてもよい。この場合、候補文字群から誤り文字列が検出された際に、その誤り文字列に対応する単語について上記の検証が行われる。このように、認識精度への寄与度などを考慮して適用方法を選択することで、認識精度と処理負荷とのバランスを調整することができる。
【００９６】
再び図５を参照する。単語認識に成功した場合、単語認識部２０３は、単語認識結果とした単語を情報送信部２０４に入力する。一方、単語認識に失敗した場合、単語認識部２０３は、単語認識に失敗した旨を示す情報を情報送信部２０４に入力する。この場合、単語認識部２０３は、単語認識に失敗した旨を示す情報、及び画像領域ＷＡから検出した候補文字群の情報をデータベース更新部２０５に入力する。
【００９７】
（情報送信部２０４）
情報送信部２０４は、単語認識部２０３から単語認識結果（単語）が入力された場合、入力された単語に対応する登録情報Ａを情報データベース２０１ａから抽出する。そして、情報送信部２０４は、情報データベース２０１ａから抽出した登録情報Ａを端末装置１００に送信する。一方、単語認識部２０３から単語認識に失敗した旨の情報が入力された場合、情報送信部２０４は、単語認識に失敗した旨を端末装置１００に通知する。
【００９８】
（データベース更新部２０５）
データベース更新部２０５は、誤り文字列データベース２０１ｄを更新する。例えば、データベース更新部２０５は、単語認識に失敗した旨の情報、及び画像領域ＷＡから検出した候補文字群の情報が単語認識部２０３から入力された場合、入力された情報を用いて誤り文字列データベース２０１ｄを更新する。
【００９９】
更新方法としては、例えば、入力された候補文字群から最上位の候補文字を組み合わせた誤り文字列を生成し、候補文字群と誤り文字列とを対応付けて誤り文字列データベース２０１ｄに格納する方法が考えられる。この方法は、データベース更新部２０５が、画像領域ＷＡに含まれる正しい単語の情報を取得できた場合に適用される。例えば、正しい単語の情報が端末装置１００からサーバ装置２００に通知された場合、データベース更新部２０５は、通知された単語に、生成した誤り文字列と候補文字群とを対応付けて格納する。サーバ装置２００に直接、正しい単語の情報が入力された場合も同様である。
【０１００】
なお、単語認識に成功した場合に誤り文字列データベース２０１ｄを更新してもよい。例えば、候補文字群から生成した誤り文字列が誤り文字列データベース２０１ｄに既に存在する場合に、画像領域ＷＡから得た候補文字のコストを用いて誤り文字列データベース２０１ｄの候補文字群を更新する方法が考えられる。例えば、画像領域ＷＡから得た候補文字のコストと、その候補文字と同じ候補文字に対応する誤り文字列データベース２０１ｄに記載のコストとの平均値を計算し、その平均値で誤り文字列データベース２０１ｄの記載を更新する方法が考えられる。この方法を適用した場合、更新後のコストに基づいて各候補文字の候補順位も更新される。
【０１０１】
以上、サーバ装置２００の機能について説明した。
［２−５．認識処理について］
次に、図１３〜図１６を参照しながら、サーバ装置２００が実行する単語認識処理の流れについて説明する。図１３は、第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第１の図である。図１４は、第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第２の図である。図１５は、第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第３の図である。図１６は、第２実施形態に係るサーバ装置が実行する単語認識処理の流れを示した第４の図である。
【０１０２】
（全体的な処理の流れ）
まず、図１３を参照しながら、全体的な処理の流れについて説明する。
（Ｓ１０１）画像受信部２０２は、端末装置１００から単語認識の対象となる写真ＰＴを受信する。画像受信部２０２により受信された写真ＰＴは、単語認識部２０３に入力される。なお、画像受信部２０２により受信された写真ＰＴは、記憶部２０１に一旦格納されてもよい。
【０１０３】
（Ｓ１０２）単語認識部２０３は、写真ＰＴから文字列を含む画像領域ＷＡを切り出す。画像領域ＷＡを切り出した単語認識部２０３は、画像領域ＷＡから各文字を含む部分（文字領域）を切り出す。
【０１０４】
（Ｓ１０３）文字領域を切り出した単語認識部２０３は、登録文字データベース２０１ｃに格納された登録文字のテンプレートを用いて、各登録文字と文字領域の文字形状とのマッチングを行い、登録文字毎に認識コストを計算する。また、単語認識部２０３は、認識コストが低い順に予め設定された数の登録文字を候補文字として抽出する。つまり、文字領域毎に複数の候補文字を含む候補文字群が生成される。
【０１０５】
（Ｓ１０４）候補文字群を生成した単語認識部２０３は、候補文字群に含まれる候補文字に基づいて単語データベース２０１ｂに記載された単語を検出する。但し、候補文字群に含まれる候補文字を組み合わせても単語データベース２０１ｂに記載された単語が検出されない場合、単語認識部２０３は、誤り文字列データベース２０１ｄを利用して候補文字群から単語を検出する。さらに、単語認識部２０３は、検出した単語が正しい単語認識結果であるか否かを検証する。なお、単語検出に係る処理の流れについては、後段において詳述する。
【０１０６】
（Ｓ１０５）単語認識部２０３は、単語検出に成功したか否かを判定する。単語検出に成功した場合、処理はＳ１０７に進む。一方、単語検出に失敗した場合、処理はＳ１０６に進む。この場合、単語認識部２０３から単語認識に失敗した旨の情報が単語認識部２０３から情報送信部２０４に入力される。
【０１０７】
（Ｓ１０６）情報送信部２０４は、単語認識に失敗した旨を端末装置１００に通知する。Ｓ１０６の処理が完了すると、図１３に示した一連の処理は終了する。
（Ｓ１０７）情報送信部２０４は、単語認識部２０３から単語認識結果（単語）が入力された場合、入力された単語に対応する登録情報Ａを情報データベース２０１ａから抽出する。そして、情報送信部２０４は、情報データベース２０１ａから抽出した登録情報Ａを端末装置１００に送信する。Ｓ１０７の処理が完了すると、図１３に示した一連の処理は終了する。
【０１０８】
（単語検出に係る処理の流れ）
ここで、図１４及び図１５を参照しながら、単語検出に係る処理の流れについて、さらに説明する。なお、図１４及び図１５に示した処理は、Ｓ１０４の処理に対応する。
【０１０９】
（Ｓ１１１）単語認識部２０３は、単語データベース２０１ｂに記載された単語を選択する。例えば、単語認識部２０３は、画像領域ＷＡからＭ個（Ｍは２以上の自然数）の文字領域が切り出されている場合、Ｍ文字の単語を１つ選択する。このとき、単語認識部２０３は、図１４及び図１５に示した一連の処理において未選択の単語を選択する。
【０１１０】
（Ｓ１１２）単語認識部２０３は、画像領域ＷＡから認識した文字の組み合わせ（候補文字群）の中から、Ｓ１１１で選択した単語を探索する。例えば、単語認識部２０３は、単語から第１文字目の文字を選択し、第１文字目の候補文字から、選択した第１文字目の文字を抽出する。同様に、単語認識部２０３は、第ｋ文字目（ｋ＝２，…，Ｍ）の文字を選択し、第ｋ文字目の候補文字から、選択した第ｋ文字目の文字を抽出する。
【０１１１】
第１文字目〜第Ｍ文字目まで、全ての文字が候補文字群から抽出できた場合、単語認識部２０３は、Ｓ１１１で選択した単語が検出できたと判断する。一方、第１文字目〜第Ｍ文字目の中で、候補文字群から単語の文字が１つでも抽出できなかった場合、単語認識部２０３は、Ｓ１１１で選択した単語が検出できなかったと判断する。
【０１１２】
（Ｓ１１３）単語認識部２０３によりＳ１１２の処理で単語が検出された場合、処理はＳ１２０（図１５を参照）に進む。一方、単語認識部２０３によりＳ１１２の処理で単語が検出されなかった場合、処理はＳ１１４に進む。
【０１１３】
（Ｓ１１４）単語認識部２０３は、単語データベース２０１ｂに記載された全ての単語について処理が完了したか否かを判定する。単語データベース２０１ｂに記載された全ての単語について処理が完了した場合、処理はＳ１１５に進む。一方、単語データベース２０１ｂに記載された全ての単語について処理が完了していない場合、処理はＳ１１１に進む。例えば、画像領域ＷＡからＭ個の文字領域が切り出されている場合に、Ｓ１１１の処理で選択されていないＭ文字の単語が存在する場合、処理はＳ１１１に進む。
【０１１４】
（Ｓ１１５）単語認識部２０３は、誤り文字列データベース２０１ｄに記載された誤り文字列を選択する。例えば、単語認識部２０３は、画像領域ＷＡからＭ個の文字領域が切り出されている場合、Ｍ文字の誤り文字列を１つ選択する。このとき、単語認識部２０３は、図１４及び図１５に示した一連の処理において未選択の誤り文字列を選択する。
【０１１５】
（Ｓ１１６）単語認識部２０３は、画像領域ＷＡから認識した文字の組み合わせ（候補文字群）の中から、Ｓ１１５で選択した誤り文字列を探索する。例えば、単語認識部２０３は、誤り文字列から第１文字目の文字を選択し、第１文字目の候補文字から、選択した第１文字目の文字を抽出する。同様に、単語認識部２０３は、第ｋ文字目（ｋ＝２，…，Ｍ）の文字を選択し、第ｋ文字目の候補文字から、選択した第ｋ文字目の文字を抽出する。
【０１１６】
第１文字目〜第Ｍ文字目まで、全ての文字が候補文字群から抽出できた場合、単語認識部２０３は、Ｓ１１５で選択した誤り文字列が検出できたと判断する。一方、第１文字目〜第Ｍ文字目の中で、候補文字群から誤り文字列の文字が１つでも抽出できなかった場合、単語認識部２０３は、Ｓ１１５で選択した誤り文字列が検出できなかったと判断する。
【０１１７】
（Ｓ１１７）単語認識部２０３によりＳ１１６の処理で誤り文字列が検出された場合、処理はＳ１２３（図１５を参照）に進む。一方、単語認識部２０３によりＳ１１６の処理で誤り文字列が検出されなかった場合、処理はＳ１１８に進む。
【０１１８】
（Ｓ１１８）単語認識部２０３は、誤り文字列データベース２０１ｄに記載された全ての誤り文字列について処理が完了したか否かを判定する。誤り文字列データベース２０１ｄに記載された全ての誤り文字列について処理が完了した場合、処理はＳ１１９に進む。一方、誤り文字列データベース２０１ｄに記載された全ての誤り文字列について処理が完了していない場合、処理はＳ１１５に進む。例えば、画像領域ＷＡからＭ個の文字領域が切り出されている場合に、Ｓ１１５の処理で選択されていないＭ文字の誤り文字列が存在する場合、処理はＳ１１５に進む。
【０１１９】
（Ｓ１１９）単語認識部２０３は、単語検出に失敗したと判断する。この場合、単語認識部２０３は、単語認識に失敗した旨を示す情報を情報送信部２０４に入力する。また、単語認識部２０３は、単語認識に失敗した旨を示す情報、及び画像領域ＷＡから検出した候補文字群の情報をデータベース更新部２０５に入力する。正しい単語の情報が得られている場合、データベース更新部２０５は、誤り文字列データベース２０１ｄを更新する。Ｓ１１９の処理が完了すると、図１４及び図１５に示した一連の処理は終了する。
【０１２０】
（Ｓ１２０）単語認識部２０３は、検出結果の検証処理を実行する。例えば、単語認識部２０３は、検出された単語に対応する候補文字群Ｙを単語データベース２０１ｂから抽出し、画像領域ＷＡに対する文字認識結果（候補文字群Ｘ）と比較する。そして、単語認識部２０３は、２つの候補文字群Ｘ、Ｙに共通する共通候補文字の数をカウントする。共通候補文字の数が閾値よりも大きい場合、単語認識部２０３は、検出結果が正しいと判断する。一方、共通候補文字の数が閾値よりも小さい場合、単語認識部２０３は、検出結果が正しくないと判断する。
【０１２１】
（Ｓ１２１）Ｓ１２０の処理で検出結果が正しいと判断された場合、処理はＳ１２２に進む。一方、Ｓ１２０の処理で検出結果が正しくないと判断された場合、処理はＳ１１５（図１４を参照）に進む。
【０１２２】
（Ｓ１２２）単語認識部２０３は、単語検出に成功したと判断する。Ｓ１２２の処理が完了すると、図１４及び図１５に示した一連の処理は終了する。なお、単語データベース２０１ｂに記載された単語が検出された時点で、その検出結果を信頼し、検証処理を省略する仕組みとする場合、Ｓ１２０、Ｓ１２１の処理を省略してもよい。この省略により単語認識に係る処理負荷が低減される。
【０１２３】
（Ｓ１２３）単語認識部２０３は、検出結果の検証処理を実行する。例えば、単語認識部２０３は、検出された誤り文字列に対応する候補文字群Ｚを誤り文字列データベース２０１ｄから抽出し、画像領域ＷＡに対する文字認識結果（候補文字群Ｘ）と比較する。そして、単語認識部２０３は、２つの候補文字群Ｘ、Ｚに共通する共通候補文字の数をカウントする。共通候補文字の数が閾値よりも大きい場合、単語認識部２０３は、検出結果が正しいと判断する。一方、共通候補文字の数が閾値よりも小さい場合、単語認識部２０３は、検出結果が正しくないと判断する。
【０１２４】
（Ｓ１２４）Ｓ１２３の処理で検出結果が正しいと判断された場合、処理はＳ１２２に進む。一方、Ｓ１２３の処理で検出結果が正しくないと判断された場合、処理はＳ１１９（図１４を参照）に進む。
【０１２５】
（検証処理の流れ）
ここで、図１６を参照しながら、検出結果の検証に係る処理の流れについて、さらに説明する。なお、図１６に示した処理は、Ｓ１２３の処理に対応する。
【０１２６】
（Ｓ１３１）単語認識部２０３は、検出結果に対応する候補文字群を取得する。例えば、文字認識時に生成した候補文字群Ｘから、単語データベース２０１ｂに記載の単語が検出された場合、単語認識部２０３は、検出した単語に対応する候補文字群Ｙを単語データベース２０１ｂから取得する。また、候補文字群Ｘから、誤り文字列データベース２０１ｄに記載の誤り文字列が検出された場合、単語認識部２０３は、検出した誤り文字列に対応する候補文字群Ｚを誤り文字列データベース２０１ｄから取得する。
【０１２７】
（Ｓ１３２）単語認識部２０３は、Ｓ１３１で取得した候補文字群と、文字認識時に生成した候補文字群とを比較する。そして、単語認識部２０３は、比較対象とする２つの候補文字群に共通する共通候補文字の数をカウントする。
【０１２８】
（Ｓ１３３）単語認識部２０３は、カウントした共通候補文字の文字数が閾値よりも大きいか否かを判定する。共通する候補文字の文字数が閾値よりも大きい場合、処理はＳ１３４に進む。一方、共通する候補文字の文字数が閾値よりも大きくない場合、処理はＳ１３５に進む。なお、閾値は予め設定された値であり、例えば、考慮する候補文字の数などに応じて設定される。
【０１２９】
（Ｓ１３４）単語認識部２０３は、検出結果が正しいと判断する。Ｓ１３４の処理が完了すると、図１６に示した一連の処理は終了する。
（Ｓ１３５）単語認識部２０３は、検出結果が正しくないと判断する。Ｓ１３５の処理が完了すると、図１６に示した一連の処理は終了する。
【０１３０】
（変形例：コストを考慮した検証方法）
ここで、図１７〜図１９を参照しながら、コストを考慮した検証方法に係る処理の流れについて説明する。図１７は、第２実施形態の一変形例に係る検証方法について説明するための第１の図である。図１８は、第２実施形態の一変形例に係る検証方法について説明するための第２の図である。図１９は、第２実施形態の一変形例に係る検証方法について説明するための第３の図である。
【０１３１】
（評価値Ｐの計算について）
これまで、共通候補文字の数を閾値と比較し、その比較結果に応じて検出結果の正否を判定する方法について説明してきた。ここでは、コストを考慮した検証方法を提案する。図１７に示すように、本変形例では共通候補文字のコストに注目し、共通候補文字のコストに基づく評価値Ｐを用いて検証を行う方法を紹介する。
【０１３２】
評価値Ｐは、下記の式（１）により定義される。評価値Ｐは、単語（又は誤り文字列）毎に計算した共通候補文字１つあたりの距離の平均値に重みを考慮した値である。この中で、Ｍは、単語（又は誤り文字列）に含まれる文字の数である。Ｎは、単語（又は誤り文字列）の１文字に対応する候補文字の数である。Ｃは、重み値である。Ｃの値は、例えば、実験結果などに基づいて予め決められる値である。
【０１３３】
Ｄij及びｄijは、単語（又は誤り文字列）に含まれる第ｉ番目の文字に対応する共通候補文字のうち、第ｊ番目の共通候補文字に対応するコストである。但し、Ｄijは、単語データベース２０１ｂ（又は誤り文字列データベース２０１ｄ）に記載のコストである。また、ｄijは、文字認識結果として得たコストである。ｎiは、単語（又は誤り文字列）に含まれる第ｉ番目の文字に対応する共通候補文字の数である。
【０１３４】
【数１】
2015045984.tif 000003
図１７の例では、誤り文字列データベース２０１ｄから得た候補文字毎のコストと、文字認識結果のコストとに基づいて計算した評価値Ｐは１１１となる。一方、単語データベース２０１ｂから得た候補文字毎のコストと、文字認識結果のコストとに基づいて計算した評価値Ｐは７７８となる。
【０１３５】
単語認識部２０３は、評価値Ｐが閾値Ｔ（図１７の例ではＴ＝５００）より小さいか否かを判定する。図１７の例では、誤り文字列に基づく検出結果の評価値Ｐが閾値Ｔより小さく、単語に基づく検出結果の評価値Ｐが閾値Ｔより大きい。この場合、単語認識部２０３は、誤り文字列「雪土国」に対応する単語「富士園」を単語認識結果とする。
【０１３６】
（検証処理の流れについて）
ここで、図１８及び図１９を参照しながら、検出結果の検証に係る処理の流れについて、さらに説明する。なお、図１８及び図１９に示した処理は、Ｓ１２３の処理に対応する。
【０１３７】
なお、説明の都合上、文字認識時に生成した候補文字群Ｘから、誤り文字列データベース２０１ｄに記載の誤り文字列が検出され、その検出結果を検証する場合を例に説明を進める。但し、文字認識時に生成した候補文字群Ｘから、単語データベース２０１ｂに記載の単語が検出され、その検出結果を検証する場合も同様である。この場合、誤り文字列データベース２０１ｄを単語データベース２０１ｂに読み替えればよい。
【０１３８】
（Ｓ１４１）単語認識部２０３は、検出結果に対応する候補文字群（候補文字群Ｚ）を誤り文字列データベース２０１ｄから取得する。
（Ｓ１４２）単語認識部２０３は、インデックスＫを１に初期化する。
【０１３９】
（Ｓ１４３）単語認識部２０３は、候補文字群Ｘから、単語（又は誤り文字列）のＫ文字目に対応する共通候補文字の文字群（以下、候補Ａ）を抽出する。
（Ｓ１４４）単語認識部２０３は、Ｓ１４１の処理で取得した候補文字群Ｚから、単語（又は誤り文字列）のＫ文字目に対応する共通候補文字の文字群（以下、候補Ｂ）を選択する。
【０１４０】
（Ｓ１４５）単語認識部２０３は、候補Ａから候補文字を１つ選択する。このとき、単語認識部２０３は、図１８及び図１９に示した一連の処理の中で未選択の候補文字を選択する。
【０１４１】
（Ｓ１４６）単語認識部２０３は、Ｓ１４５の処理で選択した候補文字が候補Ｂに存在するか否かを判定する。Ｓ１４５の処理で選択した候補文字が候補Ｂに存在する場合、処理はＳ１４７に進む。一方、Ｓ１４５の処理で選択した候補文字が候補Ｂに存在しない場合、処理はＳ１４９に進む。
【０１４２】
（Ｓ１４７）単語認識部２０３は、候補Ａ、Ｂに共通して存在する候補文字についてコストの差を計算する。まず、単語認識部２０３は、Ｓ１４５の処理で選択した候補Ａの候補文字に対応するコストを誤り文字列データベース２０１ｄから取得する。次いで、単語認識部２０３は、候補Ａの候補文字に対応する候補Ｂの候補文字について文字認識時に算出したコストと、誤り文字列データベース２０１ｄから取得したコストとの差の絶対値を計算する。
【０１４３】
（Ｓ１４８）単語認識部２０３は、Ｓ１４７の処理で計算したコストの差の絶対値を値Ｑ（Ｑの初期値は０）に加算する。Ｓ１４８の処理が完了すると、処理はＳ１５０に進む。
【０１４４】
（Ｓ１４９）単語認識部２０３は、定数Ｃを値Ｑに加算する。定数Ｃは、上記の式（１）に含まれる値Ｃと同じである。Ｓ１４９の処理が完了すると、処理はＳ１５０に進む。
（Ｓ１５０）単語認識部２０３は、候補Ａに含まれる全ての候補文字をＳ１４５の処理で選択したか否かを判定する。候補Ａに含まれる全ての候補文字が選択されている場合、処理はＳ１５１（図１９を参照）に進む。一方、候補Ａに含まれる未選択の候補文字が存在する場合、処理はＳ１４５に進む。
【０１４５】
（Ｓ１５１）単語認識部２０３は、インデックスＫが誤り文字列の文字数Ｍよりも小さいか否かを判定する。インデックスＫが誤り文字列の文字数Ｍよりも小さい場合（Ｋ＜Ｍの場合）、処理はＳ１５２に進む。一方、インデックスＫが誤り文字列の文字数Ｍよりも小さくない場合（Ｋ＝Ｍの場合）、処理はＳ１５３に進む。
【０１４６】
（Ｓ１５２）単語認識部２０３は、インデックスＫを１増加させる。Ｓ１５２の処理が完了すると、処理はＳ１４３（図１８を参照）に進む。
（Ｓ１５３）単語認識部２０３は、１文字あたりの値Ｑ（評価値Ｐ）を計算する。つまり、単語認識部２０３は、値Ｑを文字数で割った平均値を評価値Ｐとする。
【０１４７】
（Ｓ１５４）単語認識部２０３は、評価値Ｐが閾値Ｔよりも小さいか否かを判定する。評価値Ｐが閾値Ｔよりも小さい場合（Ｐ＜Ｔ）、処理はＳ１５５に進む。一方、評価値Ｐが閾値Ｔよりも小さくない場合（Ｐ≧Ｔ）、処理はＳ１５６に進む。
【０１４８】
（Ｓ１５５）単語認識部２０３は、検出結果が正しいと判断する。Ｓ１５５の処理が完了すると、図１８及び図１９に示した一連の処理は終了する。
（Ｓ１５６）単語認識部２０３は、検出結果が正しくないと判断する。Ｓ１５６の処理が完了すると、図１８及び図１９に示した一連の処理は終了する。
【０１４９】
以上、サーバ装置２００が実行する単語認識処理の流れについて説明した。
［２−６．更新処理について］
次に、図２０〜図２２を参照しながら、誤り文字列データベース２０１ｄの更新処理について、さらに説明する。図２０は、第２実施形態に係る誤り文字データベースの更新処理の流れを示した第１の図である。図２１は、第２実施形態に係る誤り文字データベースの更新処理の流れを示した第２の図である。図２２は、第２実施形態に係る誤り文字データベースの更新処理の流れを示した第３の図である。
【０１５０】
（全体的な処理の流れ）
まず、図２０を参照しながら、全体的な処理の流れについて説明する。なお、以下に示す処理は、主にデータベース更新部２０５により実行される。
【０１５１】
（Ｓ１６１）データベース更新部２０５は、単語認識部２０３により、文字認識時に生成された候補文字群の中から単語データベース２０１ｂに記載された単語が検出されたか否かを判定する。単語が検出された場合、図２０に示した一連の処理は終了する。一方、単語が検出されなかった場合、処理はＳ１６２に進む。例えば、候補文字群の中から誤り文字列が検出され、その誤り文字列に対応する単語が単語認識結果とされた場合、処理はＳ１６２に進む。
【０１５２】
（Ｓ１６２）データベース更新部２０５は、単語認識部２０３により、文字認識時に生成された候補文字群の中から誤り文字列データベース２０１ｄに記載された誤り文字列が検出されたか否かを判定する。誤り文字列が検出された場合、処理はＳ１６３に進む。一方、誤り文字列が検出されていない場合、処理はＳ１６４に進む。
【０１５３】
（Ｓ１６３）データベース更新部２０５は、文字認識時に生成された候補文字群に基づいて誤り文字列データベース２０１ｄを更新する。この場合、候補文字群から生成した誤り文字列が誤り文字列データベース２０１ｄに既に存在する。そこで、データベース更新部２０５は、例えば、文字認識時に計算した候補文字のコストを利用し、共通候補文字に関する誤り文字列データベース２０１ｄに記載のコストを更新する。Ｓ１６３の処理が完了すると、図２０に示した一連の処理は終了する。
【０１５４】
（Ｓ１６４）データベース更新部２０５は、単語認識の対象とした写真ＰＴについて、正解の単語が通知されたか否かを判定する。正解の単語が通知された場合、処理はＳ１６５に進む。例えば、端末装置１００から正解の単語が通知された場合や、サーバ装置２００に正解の単語が入力された場合、処理はＳ１６５に進む。一方、正解の単語が通知されない場合、図２０に示した一連の処理は終了する。
【０１５５】
（Ｓ１６５）データベース更新部２０５は、文字認識時に生成された候補文字群に基づいて誤り文字列を生成し、生成した誤り文字列と候補文字群とを対応付けて誤り文字列データベース２０１ｄに追加する。Ｓ１６５の処理が完了すると、図２０に示した一連の処理は終了する。
【０１５６】
（更新処理について）
ここで、図２１を参照しながら、更新処理について、さらに説明する。図２１に示した処理は、Ｓ１６３の処理に対応する。
【０１５７】
（Ｓ１７１）データベース更新部２０５は、文字認識時に生成された候補文字群Ｘと、誤り文字列データベース２０１ｄに記載された候補文字群Ｚとについて、対応する候補文字間におけるコストの重み付け平均値を計算する。但し、候補文字群Ｚは、候補文字群Ｘから検出された誤り文字列に対応する候補文字群である。また、２つの候補文字群Ｘ、Ｚに共通する候補文字を共通候補文字と呼ぶ。
【０１５８】
誤り文字列に含まれるｉ番目の文字に対応する候補文字群Ｘの候補文字のうち、ｊ番目の共通候補文字に対応するコストをｃijと表記する。また、誤り文字列に含まれるｉ番目の文字に対応する候補文字群Ｚの候補文字のうち、ｊ番目の共通候補文字に対応するコストをＣijと表記する。また、重みｗ1、ｗ2を定義する。重みｗ1、ｗ2は、例えば、「ｗ1＝０．７５」、「ｗ2＝０．２５」などと設定される。但し、「ｗ1＋ｗ2＝１」である。データベース更新部２０５は、取り得る全てのｉ、ｊについて、下記の式（２）により更新後のコストＣｒijを計算する。
【０１５９】
Ｃｒij＝ｗ1・Ｃij  ＋  ｗ2・ｃij
…（２）
（Ｓ１７２）データベース更新部２０５は、誤り文字列データベース２０１ｄに記載のコストを、Ｓ１７１の処理で計算した重み付け平均値（更新後のコスト）Ｃｒijに置換する。つまり、データベース更新部２０５は、誤り文字列に含まれるｉ番目の文字に対応する候補文字群Ｚの候補文字のうち、ｊ番目の共通候補文字に対応するコストＣijを重み付け平均値Ｃｒijに置き換える。なお、データベース更新部２０５は、取り得る全てのｉ、ｊについてコストＣijの置き換え処理を実行する。
【０１６０】
（Ｓ１７３）データベース更新部２０５は、置換後のコストに基づいて誤り文字列データベース２０１ｄのレコードをソートし直す。つまり、候補文字の候補順位が更新される。また、最上位の候補文字が変更された場合、データベース更新部２０５は、最上位の候補文字を組み合わせた誤り文字列を生成する。そして、データベース更新部２０５は、生成した誤り文字列で、誤り文字列データベース２０１ｄに記載されていた誤り文字列を更新する。Ｓ１７３の処理が完了すると、図２１に示した一連の処理は終了する。
【０１６１】
（追加処理について）
ここで、図２２を参照しながら、追加処理について、さらに説明する。図２２に示した処理は、Ｓ１６５の処理に対応する。
【０１６２】
（Ｓ１８１）データベース更新部２０５は、文字認識時に生成された候補文字群Ｘの最上位に位置する候補文字を組み合わせて誤り文字列を生成する。
（Ｓ１８２）データベース更新部２０５は、誤り文字列及び候補文字群を正解の単語に対応付けたレコードを誤り文字列データベース２０１ｄに記録する。
【０１６３】
（Ｓ１８３）データベース更新部２０５は、正解の単語に対応する誤り文字列の数を１増加させる。例えば、図８に例示した誤り文字列データベース２０１ｄの場合、単語「富士園」には２つの誤り文字列「蔦企国」及び「雪土国」が対応付けられ、誤り文字列数が２となっている。この単語「富士園」に新たな誤り文字列「賃圭圓」が追加された場合、誤り文字列の欄に「賃圭圓」が追加され、対応する候補文字群が追加され、誤り文字数が３に更新される。Ｓ１８３の処理が完了すると、図２２に示した一連の処理は終了する。
【０１６４】
以上、誤り文字列データベース２０１ｄの更新処理について説明した。
以上、第２実施形態について説明した。
以上説明したように、第２実施形態に係る単語認識方法は、候補文字群を利用した検証処理を含む。この検証処理は、単語認識の結果、いずれの画像からも正しい単語が検出されない場合でも、同じ単語を含む画像であれば、同じ傾向をもった候補文字の集合が得られるという性質を利用している。認識スコアや認識コストなどの指標値を利用して単語認識を行うシステムの場合、単語認識の過程で候補文字群が得られる。そのため、検証には既に得られた候補文字群を利用すればよく、検証処理に伴う負荷の増加も少ない。
【０１６５】
第２実施形態では、検出された単語を候補文字群により検証する方法と、誤り文字列に基づいて検出された単語を候補文字群により検証する方法とを提案した。誤り文字列を利用することで、デザイン文字で記載された単語など、認識に失敗しやすい単語の検出が可能になる。一方、誤り文字列を利用した単語認識を適用する場合、誤った単語が検出されるリスクが高い。しかし、第２実施形態の方法を適用すれば、単語の誤検出を減らして認識精度を向上させることができ、誤り文字列を利用した単語認識の実用性が向上する。
【０１６６】
このように、第２実施形態によれば、負荷の増大を抑制しつつ、単語の認識精度を向上させることができる。その結果、特殊なフォントの文字やデザイン文字などを含む単語が記載された看板やポスターなどをユーザが撮影すると、その写真から自動認識された単語に基づく登録情報Ａがユーザに提供されるというサービスが提供可能になる。もちろん、第２実施形態に係る技術を、手書き文書や印刷物から単語を認識するシステムに適用することも可能であり、このようなシステムに適用した場合でも認識率の向上効果が期待できる。
【０１６７】
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本開示の技術的範囲に属することは言うまでもない。
【符号の説明】
【０１６８】
１０  情報処理装置
１１  記憶部
１２  演算部
ＣＧ  文字群
Ｇ１  第１集合
Ｇ２  第２集合
Ｌ１  第１文字列
Ｐ１  第１画像
Ｐ２  第２画像
【図１】
2015045984.tif 000004
【図２】
2015045984.tif 000005
【図３】
2015045984.tif 000006
【図４】
2015045984.tif 000007
【図５】
2015045984.tif 000008
【図６】
2015045984.tif 000009
【図７】
2015045984.tif 000010
【図８】
2015045984.tif 000011
【図９】
2015045984.tif 000012
【図１０】
2015045984.tif 000013
【図１１】
2015045984.tif 000014
【図１２】
2015045984.tif 000015
【図１３】
2015045984.tif 000016
【図１４】
2015045984.tif 000017
【図１５】
2015045984.tif 000018
【図１６】
2015045984.tif 000019
【図１７】
2015045984.tif 000020
【図１８】
2015045984.tif 000021
【図１９】
2015045984.tif 000022
【図２０】
2015045984.tif 000023
【図２１】
2015045984.tif 000024
【図２２】
2015045984.tif 000025