(57)【要約】【課題】文字列を対象として、その文字列内の切り出し位置と認識結果を出力するにあたって、文字列内のつながりに関する評価とは別個に、始端、終端、改行、又はこれらの組み合わせに対する評価を行うようにした情報処理装置を提供する。【解決手段】情報処理装置の受付手段は、文字列から複数の切り出し位置候補によって切り出された認識対象と該認識対象の認識結果を受け付け、第１の評価手段は、連接している２つの認識対象と認識結果に対して、前記文字列内のつながりに関する評価を行い、第２の評価手段は、前記文字列の始端、終端、改行、又はこれらの組み合わせの認識対象と認識結果に対して、該文字列の始端、終端、改行、又はこれらの組み合わせに関する評価を行い、出力手段は、前記第１の評価手段による評価結果と前記第２の評価手段による評価結果を用いて、前記文字列としての評価値が最大又は最小となる、切り出し位置と認識結果を出力する。【選択図】図１
2016009235.tif 000002
【特許請求の範囲】
【請求項１】
文字列から複数の切り出し位置候補によって切り出された認識対象と該認識対象の認識結果を受け付ける受付手段と、
連接している２つの認識対象と認識結果に対して、前記文字列内のつながりに関する評価を行う第１の評価手段と、
前記文字列の始端、終端、改行、又はこれらの組み合わせの認識対象と認識結果に対して、該文字列の始端、終端、改行、又はこれらの組み合わせに関する評価を行う第２の評価手段と、
前記第１の評価手段による評価結果と前記第２の評価手段による評価結果を用いて、前記文字列としての評価値が最大又は最小となる、切り出し位置と認識結果を出力する出力手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記文字列は文字列の画像であり、前記認識対象は文字の画像であり、
前記文字列の画像から切り出し位置候補を検出する検出手段と、
前記検出手段によって検出された切り出し位置候補によって切り出される文字の画像を識別する識別手段
をさらに具備し、
前記受付手段は、前記文字の画像と前記識別手段による識別結果を受け付ける
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文字列は文字列のストロークであり、前記認識対象は文字のストロークであり、
前記文字列のストロークから切り出し位置候補を検出する検出手段と、
前記検出手段によって検出された切り出し位置候補によって切り出される文字のストロークを識別する識別手段
をさらに具備し、
前記受付手段は、前記文字のストロークと前記識別手段による識別結果を受け付ける
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
文書の画像から前記文字列の画像へ分割する分割手段
をさらに具備し、
前記検出手段は、前記分割手段によって分割された文字列の画像を対象として、切り出し位置候補を検出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
文書のストロークから前記文字列のストロークへ分割する分割手段
をさらに具備し、
前記検出手段は、前記分割手段によって分割された文字列のストロークを対象として、切り出し位置候補を検出する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記文書について、文字列の位置を示す位置情報と該文字列の属性を示す属性情報を受け付ける第２の受付手段
をさらに具備し、
前記分割手段は、前記位置情報を用いて分割を行い、
前記出力手段は、前記位置情報に対応する切り出し位置と認識結果に対して、該位置情報に対応する属性情報を付与して出力する
ことを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
コンピュータを、
文字列から複数の切り出し位置候補によって切り出された認識対象と該認識対象の認識結果を受け付ける受付手段と、
連接している２つの認識対象と認識結果に対して、前記文字列内のつながりに関する評価を行う第１の評価手段と、
前記文字列の始端、終端、改行、又はこれらの組み合わせの認識対象と認識結果に対して、該文字列の始端、終端、改行、又はこれらの組み合わせに関する評価を行う第２の評価手段と、
前記第１の評価手段による評価結果と前記第２の評価手段による評価結果を用いて、前記文字列としての評価値が最大又は最小となる、切り出し位置と認識結果を出力する出力手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、文字の接触や続け書き等に頑健な文字列の読み取りを実現することを課題とし、文字切り出し・特徴抽出手段は文字列画像から切り出し位置候補を検出し、文字列読み取り手段は、切り出し位置候補に基づき文字列画像から文字パタン候補を抽出し、文字出現確率計算手段を用いて考え得るあらゆる読み取り結果の妥当性を検証し、文字出現確率計算手段は文字列読み取り手段より、文字パタン候補、文字コード、文字状態、及び文字パタン候補の直前に位置する文字パタン候補の文字コード、文字状態を受け取り、直前の文字パタン候補との形状的な接続の妥当性を文字状態遷移確率を用いて評価し、また文字パタン候補があるカテゴリに属する妥当性を文字テンプレートを用いて評価し、文字パタン候補がある状態、ある文字カテゴリに属する尤度（得点） を計算し、文字列読み取り手段は文字列全体での認識得点が最大となる文字列の切り出し認識結果を探索し出力することが開示されている。
【０００３】
特許文献２には、文字切り出し特徴の適切な組み合わせを実現することによって、文字列の連続筆記を可能とするものであり、文字切り出しに失敗した場合にも容易に修正ができ、ユーザに負担の少ない文字切り出し装置を実現することを目的とし、入力手段で入力された筆跡データから基本セグメント抽出手段で基本セグメントを抽出し、次に前記ストローク集合抽出手段で前記基本セグメントを組み合わせてなるストローク集合を抽出し、さらに、ネットワーク構成手段で前記ストローク集合をノードとし、そのノード間をリンク接続したネットワークを構成し、該ストローク集合抽出手段で抽出されたストローク集合の文字としての評価値を前記ノードの重み、前記ストローク集合間の文字間としての評価値を前記リンクの重みとし、しかる後、前記文字切り出し位置決定手段で、前記ネットワーク構成手段で構成されたネットワークの経路探索することによって文字切り出し位置を決定することによって適切な文字切り出し特徴の組み合わせを実現できることが開示されている。
非特許文献１〜４には、認識技術における機械学習手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２０７４９５号公報
【特許文献２】特開平０６−１２４３６４号公報
【非特許文献】
【０００５】
【非特許文献１】Ｘｉａｎｇ−Ｄｏｎｇ  Ｚｈｏｕ，  Ｃｈｅｎｇ−Ｌｉｎ  Ｌｉｕ，  ａｎｄ  Ｍａｓａｋｉ  Ｎａｋａｇａｗａ．“Ｏｎｌｉｎｅ  ｈａｎｄｗｒｉｔｔｅｎ  Ｊａｐａｎｅｓｅ  ｃｈａｒａｃｔｅｒ  ｓｔｒｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ  ｕｓｉｎｇ  ｃｏｎｄｉｔｉｏｎａｌ  ｒａｎｄｏｍ  ｆｉｅｌｄｓ，”  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００９  １０ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ，ＩＣＤＡＲ‘０９，  ｐｐ．５２１−５２５，  Ｗａｓｈｉｎｇｔｏｎ，ＤＣ，ＵＳＡ，２００９．  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ．
【非特許文献２】ＭｃＣａｌｌｕｍ，  Ａ．，Ｆｒｅｉｔａｇ，  Ｄ．，  ＆  Ｐｅｒｅｉｒａ，  Ｆ．  “Ｍａｘｉｍｕｍ  ｅｎｔｒｏｐｙ  Ｍａｒｋｏｖ  ｍｏｄｅｌｓ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｘｔｒａｃｔｉｏｎ  ａｎｄ  ｓｅｇｍｅｎｔａｔｉｏｎ，”  Ｐｒｏｃ．  ＩＣＭＬ  ２０００，  ｐｐ．５９１−５９８，  Ｓｔａｎｆｏｒｄ，  Ｃａｌｉｆｏｒｎｉａ,  ２０００．
【非特許文献３】Ｊｏｈｎ  Ｄ．  Ｌａｆｆｅｒｔｙ，  Ａｎｄｒｅｗ  ＭｃＣａｌｌｕｍ，  ａｎｄ  Ｆｅｒｎａｎｄｏ  Ｃ．  Ｎ．  Ｐｅｒｅｉｒａ．“Ｃｏｎｄｉｔｉｏｎａｌ  ｒａｎｄｏｍ  ｆｉｅｌｄｓ：  Ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｍｏｄｅｌｓ  ｆｏｒ  ｓｅｇｍｅｎｔｉｎｇ  ａｎｄ  ｌａｂｅｌｉｎｇ  ｓｅｑｕｅｎｃｅ  ｄａｔａ，”  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｅｉｇｈｔｅｅｎｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ，  ＩＣＭＬ  ‘０１，  ｐｐ．  ２８２−２８９，  Ｓａｎ  Ｆｒａｎｃｉｓｃｏ，  ＣＡ，  ＵＳＡ，  ２００１．  Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒｓ  Ｉｎｃ．
【非特許文献４】Ｐｅｎｇ，  Ｊｉａｎ  ａｎｄ  Ｂｏ，  Ｌｉｅｆｅｎｇ  ａｎｄ  Ｘｕ，  Ｊｉｎｂｏ，  “Ｃｏｎｄｉｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｆｉｅｌｄｓ，”  ＮＩＰＳ，  ｖｏｌ  ２，  ｐｐ．６，  ２００９．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、文字列を対象として、その文字列内の切り出し位置と認識結果を出力するにあたって、文字列内のつながりに関する評価とは別個に、始端、終端、改行、又はこれらの組み合わせに対する評価を行うようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、文字列から複数の切り出し位置候補によって切り出された認識対象と該認識対象の認識結果を受け付ける受付手段と、連接している２つの認識対象と認識結果に対して、前記文字列内のつながりに関する評価を行う第１の評価手段と、前記文字列の始端、終端、改行、又はこれらの組み合わせの認識対象と認識結果に対して、該文字列の始端、終端、改行、又はこれらの組み合わせに関する評価を行う第２の評価手段と、前記第１の評価手段による評価結果と前記第２の評価手段による評価結果を用いて、前記文字列としての評価値が最大又は最小となる、切り出し位置と認識結果を出力する出力手段を具備することを特徴とする情報処理装置である。
【０００８】
請求項２の発明は、前記文字列は文字列の画像であり、前記認識対象は文字の画像であり、前記文字列の画像から切り出し位置候補を検出する検出手段と、前記検出手段によって検出された切り出し位置候補によって切り出される文字の画像を識別する識別手段をさらに具備し、前記受付手段は、前記文字の画像と前記識別手段による識別結果を受け付けることを特徴とする請求項１に記載の情報処理装置である。
【０００９】
請求項３の発明は、前記文字列は文字列のストロークであり、前記認識対象は文字のストロークであり、前記文字列のストロークから切り出し位置候補を検出する検出手段と、前記検出手段によって検出された切り出し位置候補によって切り出される文字のストロークを識別する識別手段をさらに具備し、前記受付手段は、前記文字のストロークと前記識別手段による識別結果を受け付けることを特徴とする請求項１に記載の情報処理装置である。
【００１０】
請求項４の発明は、文書の画像から前記文字列の画像へ分割する分割手段をさらに具備し、前記検出手段は、前記分割手段によって分割された文字列の画像を対象として、切り出し位置候補を検出することを特徴とする請求項２に記載の情報処理装置である。
【００１１】
請求項５の発明は、文書のストロークから前記文字列のストロークへ分割する分割手段をさらに具備し、前記検出手段は、前記分割手段によって分割された文字列のストロークを対象として、切り出し位置候補を検出することを特徴とする請求項３に記載の情報処理装置である。
【００１２】
請求項６の発明は、前記文書について、文字列の位置を示す位置情報と該文字列の属性を示す属性情報を受け付ける第２の受付手段をさらに具備し、前記分割手段は、前記位置情報を用いて分割を行い、前記出力手段は、前記位置情報に対応する切り出し位置と認識結果に対して、該位置情報に対応する属性情報を付与して出力することを特徴とする請求項４又は５に記載の情報処理装置である。
【００１３】
請求項７の発明は、コンピュータを、文字列から複数の切り出し位置候補によって切り出された認識対象と該認識対象の認識結果を受け付ける受付手段と、連接している２つの認識対象と認識結果に対して、前記文字列内のつながりに関する評価を行う第１の評価手段と、前記文字列の始端、終端、改行、又はこれらの組み合わせの認識対象と認識結果に対して、該文字列の始端、終端、改行、又はこれらの組み合わせに関する評価を行う第２の評価手段と、前記第１の評価手段による評価結果と前記第２の評価手段による評価結果を用いて、前記文字列としての評価値が最大又は最小となる、切り出し位置と認識結果を出力する出力手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１４】
請求項１の情報処理装置によれば、文字列を対象として、その文字列内の切り出し位置と認識結果を出力するにあたって、文字列内のつながりに関する評価とは別個に、始端、終端、改行、又はこれらの組み合わせに対する評価を行うことができる。
【００１５】
請求項２の情報処理装置によれば、文字列の画像を対象として、その文字列内の切り出し位置と認識結果を出力することができる。
【００１６】
請求項３の情報処理装置によれば、文字列のストロークを対象として、その文字列内の切り出し位置と認識結果を出力することができる。
【００１７】
請求項４の情報処理装置によれば、文書の画像を対象として、その文書の文字列内の切り出し位置と認識結果を出力することができる。
【００１８】
請求項５の情報処理装置によれば、文書のストロークを対象として、その文書の文字列内の切り出し位置と認識結果を出力することができる。
【００１９】
請求項６の情報処理装置によれば、切り出し位置と認識結果に対して、その位置情報に対応する属性情報を付与して出力することができる。
【００２０】
請求項７の情報処理プログラムによれば、文字列を対象として、その文字列内の切り出し位置と認識結果を出力するにあたって、文字列内のつながりに関する評価とは別個に、始端、終端、改行、又はこれらの組み合わせに対する評価を行うことができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図３】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図４】第４の実施の形態の構成例についての概念的なモジュール構成図である。
【図５】第４の実施の形態による処理例を示すフローチャートである。
【図６】第４の実施の形態による処理例を示すフローチャートである。
【図７】第５の実施の形態の構成例についての概念的なモジュール構成図である。
【図８】第６の実施の形態の構成例についての概念的なモジュール構成図である。
【図９】第７の実施の形態の構成例についての概念的なモジュール構成図である。
【図１０】第８の実施の形態の構成例についての概念的なモジュール構成図である。
【図１１】第９の実施の形態の構成例についての概念的なモジュール構成図である。
【図１２】本実施の形態の技術例を示すための説明図である。
【図１３】本実施の形態の技術例を示すための説明図である。
【図１４】本実施の形態の技術例を示すための説明図である。
【図１５】本実施の形態の技術例を示すための説明図である。
【図１６】本実施の形態の技術例を示すための説明図である。
【図１７】本実施の形態の技術例を示すための説明図である。
【図１８】本実施の形態の技術例を示すための説明図である。
【図１９】本実施の形態の技術例を示すための説明図である。
【図２０】本実施の形態の技術例を示すための説明図である。
【図２１】本実施の形態で用いる技術例を示す説明図である。
【図２２】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
まず、本実施の形態を説明する前に、その前提となる技術と後述する実施の形態で共通して用いる技術について説明する。なお、この説明は、本実施の形態の理解を容易にすることを主な目的とするものである。
前提となる技術の基本的な仕組みを説明する。
図１２は、認識対象となる文字列パタンの例である。「神奈川県」と筆記されている。文字パタンは、画像又はストロークからなる。具体的には、単文字枠１２１０Ａには、手書きの「神」、単文字枠１２１０Ｂには、手書きの「奈」、単文字枠１２１０Ｃには、手書きの「川」、単文字枠１２１０Ｄには、手書きの「県」が記載されている。図１２は単文字枠１２１０が与えられているため、単文字の領域が既知である。そこで、まず図１３に示す例のように図１２の例に示す文字列パタンを単文字パタン列に分離する。続いて、各単文字パタンを識別し、認識結果であるテキストコードと識別の確度等の特徴量を出力する。これを単文字識別と呼ぶ。単文字識別は、１つの認識対象に対して、複数の識別候補を出力することから、図１４の例に示す文字列認識結果の候補ラティス（文字列認識ラティス）が作成される。図１４に示す例において、各文字はテキストコードを表す。具体的には、単文字枠１２１０Ｂ内の認識対象「奈」の認識結果として２つのテキストコード「茶」、「奈」があり、他の認識対象についても複数の認識結果としてのテキストコードがあり、これらをノードとして、隣接する文字の組み合わせをリンクによって接続している。この場合の正解の認識結果のテキストコード列は、１つ目の文字の１番目のノード「神」、２つ目の文字の２番目のノード「奈」、３つ目の文字の１番目のノード「川」、４つ目の文字の３番目のノード「県」の組み合わせである。なお、ｂｏｓ、ｅｏｓとは、文字列の開始と終了を表す便宜的なノードであり、実体は無くてもよい。
【００２３】
文字列認識は図１４の例に示す文字列認識ラティスから正解である経路を算出し出力する。以下、その代表的な方法を説明する。
いま、図１３の単文字枠１２１０内の単文字パタンをｘｎとする。また、単文字パタン列をＸ＝｛ｘ１，…，ｘＮ｝とする。なお、Ｎは単文字パタン列長（認識対象である文字列パタンの文字数）である。また、このｘｎに対応する、図１４の例に示す文字列認識ラティスのノードであるテキストコードをｙｎとする。テキストコード列をＹ＝｛ｙ１，…，ｙＮ｝とする。文字列認識とは、入力Ｘに対して、最適な経路であるＹを探索する処理といえる。この探索問題を、図１５の例に示すグラフを利用して定式化する。図１５の例に示すグラフは、マルコフチェインと呼ばれ、隣り合う文字どうしが影響し合い、Ｙを決定するようなモデルである。図１５中ではｙｎを記号「○」で図示する。また、評価関数Ｅ（ｙｎ−１，ｙｎ，Ｘ，Θ）によって隣り合うｙｎどうしから評価値が算出される。これを記号「■」で図示する。なお、Θは評価パラメタである。また、Ｘは既知の定数であるため、図示を省略する。
最適なＹは、評価関数Ｅ（ｙｎ−１，ｙｎ，Ｘ，Θ）に基づいて数式１を解くことで得られる。
【数１】
2016009235.tif 000003
なお、数式１は、ｍａｘ−ｓｕｍ  ａｌｇｏｒｉｔｈｍと呼ばれる公知の手法で高速に解けることが知られている。
また、数式１のａｒｇｍｉｎはａｒｇｍａｘでもよく、これは評価関数の設定に依存する。
【００２４】
以下、もう１つの例として、図１６の例に示すような単文字領域が未知の場合について説明する。日本語など、文字どうしの境界が曖昧な場合は、単文字領域が未知となる。しかし、この場合においても、上記とほぼ同様の文字列認識の仕組みが成り立つ。
図１６の例に示す通り、単文字領域が未知であるため、まず図１７の例に示すように、単文字パタンをさらに細かい単位に過分割する。これを準文字パタンと呼ぶ。過分割のため単文字パタンは未知である。そこで図１７の例に示すように、単数、又は、連続する複数の準文字パタン組み合わせに対して、それぞれ単文字識別を行う。図１７の例では、正しい準文字パタンの組み合わせのみの単文字識別結果を図示しているが、実際は、最初の「ネ」という準文字パタンや、２〜４番目の「申奈ノ」という組み合わせの準文字パタンに対しても単文字識別を行うため、複雑な文字列認識ラティスが形成される。
【００２５】
この例においても、図１４の例に示す文字列認識ラティスとほぼ同様に、最適な経路を探索可能である。いま、図１７の例に示す準文字パタンをｘｎとする。また、準文字パタン列をＸ＝｛ｘ１，…，ｘＭ｝とする。なおＭは準文字パタン列長であり、必ずしも単文字数ではないことに注意が必要である。また、文字列認識ラティスのノードであるテキストコードをｙｎとする。テキストコード列をＹ＝｛ｙ１，…，ｙＮ｝とする。なお、Ｎ≦Ｍである。前述した例と同様に、文字列認識は、入力Ｘに対して、最適なＹを探索する処理である。この探索問題を、図１８のグラフを利用して定式化する。図１８のグラフはセミマルコフチェインと呼ばれる。前例のマルコフチェインと異なる点は、テキストコードｙｎだけでなく、単文字パタンをなす準文字パタンの組み合わせが未知という点である。よって、本例では準文字パタンの開始番号ｂと終了番号ｅも探索の対象に含まれる。そこで、図１８の例に示す通り、ｎ番目の単文字をなすグループをｓｎ＝｛ｙｎ，ｂｎ，ｅｎ｝とする。評価関数は、Ｅ（ｓｎ−１，ｓｎ，Ｘ，Θ）である。文字列認識は、準文字パタン列Ｘに対して、最適なグループ列Ｓ＝｛ｓ１，…，ｓＮ｝を探索する処理といえる。
【００２６】
ただし、文字列が単文字（すなわち、Ｎ＝１）の可能性があるため、図１８の例に示す通り、仮想的なグループｓ０＝｛ｙ０，０，０｝を設定する必要がある。これを仮想グループと呼び、図では記号「●」で示す。なお、仮想グループは既知の定数である。
単文字領域が未知の場合は、既知の場合と比較して複雑ではあるが、最適なグループ列の探索は、図１５に示す例と同様に、ｍａｘ−ｓｕｍ  ａｌｇｏｒｉｔｈｍによって高速に解けることが知られている。
以上に説明したように、前提となる技術は、隣り合う単文字どうしから定義される評価値に基づいて、最適な文字列を探索する技術である。
【００２７】
特許文献１、２や非特許文献１に示される技術は、単一の評価関数を利用する。評価関数Ｅ（ｙｎ−１,ｙｎ,Ｘ,Θ）は、隣り合う単文字パタンどうしに関する設計、又は、学習によって推定される。しかし、実際に認識対象の文字列パタンの中には必ずしも隣り合わない単文字パタンが存在する。それは以下の３つである。
（１）始端
（２）終端
（３）改行部分
【００２８】
まず、（１）について説明する。先行方式は、図１８の例に示す仮想ノードにより、始端を評価している。しかし、仮想ノードは発見的又は経験的な手法で設定される定数である。例えば、全ての単文字パタンのサイズの平均から仮想ノードである単文字パタンのサイズを決定し、文字コードとして“ｂｏｓ”を設定する。しかし、以上のように設定された仮想ノードは本来存在しないものであるため、認識にとってはノイズとなり、認識性能を低下させる要因となる。
次に、（２）について説明する。先行方式は終端を評価する仕組みが無い。なお、最も単純には、（１）と同様に仮想ノードを利用する対策が考えられるが、この場合は（１）と同様の問題を持つ。
【００２９】
最後に（３）について説明する。先行方式には改行部分を評価する仕組みが無い。例えば、図１９の例に示すような一見２つの文字列パタンを持つ入力に対して、図２０の例に示すように、２つの互いに独立な文字列認識グラフを想定し、それぞれを認識する。しかし、図１９の例において「神奈川県足柄上郡」は住所であり「県」と「足」の部分は、テキストコードとして高い出現頻度を持つことが期待される。先行方式では、「県」と「足」の関係を評価する仕組みが無く、これは認識性能を低下させる要因となる。
また、文字列の始端／終端／改行部分と、文字列の途中とで、最適な評価関数と評価パラメタが異なる場合が考えられる。例えば、あるテキストコードで開始／終了／改行しやすい（例えば、「、」や「。」、等）出現頻度が高い、形状的な特徴が異なる場合（例えば、始端、終端、改行部分では文字を丁寧に筆記する、等）などが考えられる。しかし、先行方式はこれら全ての部分で単一の評価関数と評価パラメタを利用する。これは、認識率を低下させる要因となる。
【００３０】
本実施の形態は、始端／終端／改行部分において、専用の評価関数と評価パラメタを利用する。この様子を図２１の例に示す。
図２１の例において、始端／終端／改行部分以外の部分において用いるＥ（ｓｎ−１，ｓｎ，Ｘ，Θ）は先行方式と同一の評価関数と評価パラメタである。これらによって評価値を得ることを、以下では連接評価と呼ぶ。
また、Ｅｂｅｇ（ｓ１，Ｘ，Θｂｅｇ）は始端専用の評価関数と評価パラメタである。始端グループｓ１を入力とする。また、仮想ノードは不要である。これらによって評価値を得ることを、以下では始端評価と呼ぶ。
また、Ｅｅｎｄ（ｓＮ，Ｘ，Θｅｎｄ）は終端専用の評価関数と評価パラメタである。終端グループｓＮを入力とする。また、仮想ノードは不要である。これらによって評価値を得ることを、以下では終端評価と呼ぶ。
また、Ｅｒｅｔ（ｓｎ’−１，ｓｎ’，Ｘ，Θｒｅｔ）は改行専用の評価関数と評価パラメタである。改行直前グループｓｎ’−１と改行直後グループｓｎ’を入力とする。これらによって評価値を得ることを、以下では改行評価と呼ぶ。
本実施の形態によれば、これら専用評価関数と評価パラメタによって、仮想ノードが不要となる。また、改行が評価される。さらに、各部分で適した評価関数と評価パラメタが設定可能である。
なお、本実施の形態における、最適経路の探索は数式２、数式３の通りである。なお、この場合も、ｍａｘ−ｓｕｍ  ａｌｇｏｒｉｔｈｍによって高速に解ける。
【数２】
2016009235.tif 000004
【数３】
2016009235.tif 000005
【００３１】
なお、準文字領域切り出し、単文字識別、自然言語評価は、既存の手法を用いればよい。
また、連接評価は、特許文献１、２や非特許文献１に示される技術の特徴量抽出や評価関数を利用すればよい。例えば、数式４、数式５、数式６のような例がある。
【数４】
2016009235.tif 000006
【数５】
2016009235.tif 000007
【数６】
2016009235.tif 000008
なお、
【数７】
2016009235.tif 000009
は、前述の評価パラメタΘである。また、Ｋ，Ｌは、評価パラメタのサイズである。また、ｆｉ（ｓｎ−１，ｓｎ，Ｘ）は、特徴量抽出関数である。また、σ（・）は、シグモイド関数等を用いればよい。
それぞれ、数式４は線形な評価関数（いわゆる一層のニューロ関数）、数式５、数式６は非線形な評価関数（いわゆる２層以上のニューロ関数）である。うち、数式６は評価パラメタを異なるテキストコード（ｙｎ）間で共有する評価関数である。
【００３２】
さらに、始端評価、終端評価、改行評価は、連接評価が参照する特徴量のうち、始端、終端、改行で定義できないものを取り除けばよい。又は、連接評価にない特徴量を設定してもよい。数式４、数式５、数式６と対応するものとして、例えば、数式８、数式９、数式１０のような例がある。
【数８】
2016009235.tif 000010
【数９】
2016009235.tif 000011
【数１０】
2016009235.tif 000012
なお、
【数１１】
2016009235.tif 000013
は、評価パラメタΘｂｅｇである。また、
【数１２】
2016009235.tif 000014
は、評価パラメタのサイズである。また、
【数１３】
2016009235.tif 000015
は、特徴量抽出関数である。なお、数式８、数式９、数式１０は、始端評価に関する評価関数であるが、終端評価、改行評価に関する評価関数は、「ｂｅｇ」の部分を「ｅｎｄ」、「ｒｅｔ」とすればよい。
【００３３】
特徴量抽出関数は、準文字パタン列Ｘから特徴量を取り出す。特徴量は、単文字識別機が出力する確信度や、連続する２つのグループの間隙の大きさや、グループの大きさやその差等の形状情報、又は、ｎ−ｇｒａｍと一般に呼ばれるグループに割り当てられたテキストコードの出現頻度とすればよい。
また、最適な評価パラメタ｛Θ，Θｂｅｇ，Θｅｎｄ，Θｒｅｔ｝を学習により推定することが可能である。これは、特許文献１、非特許文献１〜４に示される技術の機械学習手法を利用すればよい。
また、本実施の形態は手書き又は活字に依存しないで適用可能である。
【００３４】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。本実施の形態は、文字列認識技術に属する。文字列認識とは、画像又はストロークである文字列パタンを対象として、その文字列パタンに対応するテキストコードを出力する処理である。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００３５】
第１の実施の形態である情報処理装置は、認識結果を出力するものであって、図１の例に示すように、文字列認識ラティス受付モジュール１１０、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、始端評価パラメタ記憶モジュール１６０、始端評価モジュール１７０、認識結果出力モジュール１８０を有している。
【００３６】
文字列認識ラティス受付モジュール１１０は、最適経路選択モジュール１２０と接続されており、最適経路選択モジュール１２０に文字列認識ラティス１１５を渡す。文字列認識ラティス受付モジュール１１０は、文字列から複数の切り出し位置候補によって切り出された認識対象とその認識対象の認識結果を受け付ける。ここで、「認識対象」（以下、単文字パタンともいう）は、切り出し位置候補によって切り出された１つの文字となり得る対象であって、文字認識の対象となるものである。なお、単文字パタンには準文字パタンを含んでもよい。この準文字パタンの場合は、切り出し位置によっては、必ずしも１つの文字として成り立っているとは限らない。例えば、文字の一部分（偏、旁等）であってもよいし、１文字に他の文字（又は一部分）が付加されたものであってもよいし、文字の一部分に他の文字（又は一部分）が付加されたもの等であってもよい。また、認識対象は、画像（文字画像）であってもよいし、１つ以上のストロークから構成されているストローク群（文字ストローク群）であってもよい。具体的には、文字列認識ラティス受付モジュール１１０は、前述した文字列認識ラティス１１５を受け付け、その文字列認識ラティス１１５を最適経路選択モジュール１２０に渡す。この文字列認識ラティス１１５は、認識対象とその認識対象の認識結果を少なくとも含む。認識対象としては、認識対象そのものである文字画像又は文字ストローク群である。また、「複数の切り出し位置候補」とは、文字列内の文字を切り出すための位置であって、確定したものではなく、複数の候補がある。したがって、１つの文字列に対して、複数の切り出し位置候補があり、さらに、その切り出し位置候補によって切り出された認識対象には、複数の認識結果がある。
【００３７】
最適経路選択モジュール１２０は、文字列認識ラティス受付モジュール１１０、評価種判別モジュール１３０、認識結果出力モジュール１８０と接続されており、文字列認識ラティス受付モジュール１１０から文字列認識ラティス１１５を受け取り、評価種判別モジュール１３０に評価グループ１２２を渡し、評価種判別モジュール１３０から評価値１３８を受け取り、認識結果出力モジュール１８０に最適経路１７７を渡す。最適経路選択モジュール１２０は、文字列認識ラティス１１５内のグループを選択して、評価グループ１２２として、評価種判別モジュール１３０に渡す。評価グループ１２２は、前述したようにｓｎ＝｛ｙｎ，ｂｎ，ｅｎ｝である。そして、評価グループ１２２に対する評価値１３８を、評価種判別モジュール１３０から受け取る。これらの処理を、文字列認識ラティス１１５内の全てのグループに対して行う。
そして、最適経路選択モジュール１２０は、連接評価モジュール１５０による評価結果（評価値１５５）と始端評価モジュール１７０による評価結果（評価値１７５）を用いて、文字列としての評価値が最大又は最小となる、切り出し位置と認識結果を認識結果出力モジュール１８０に渡す。具体的には、文字列認識ラティス１１５の経路内の評価グループ１２２に対応する評価値１３８の合計値が最大又は最小となる経路を最適経路１７７として認識結果出力モジュール１８０に渡す。もちろんのことながら、評価グループ１２２には、切り出し位置と認識結果が含まれている。より具体的には、最適経路選択モジュール１２０は、文字列認識ラティス１１５に対して、数式１、数式２、数式３を解き、最適経路１７７を出力する。
【００３８】
評価種判別モジュール１３０は、最適経路選択モジュール１２０、連接評価モジュール１５０、始端評価モジュール１７０と接続されている。評価種判別モジュール１３０は、評価グループ１２２は連接評価をすべきグループかそれ以外かを判別し、評価を切り替えて評価値を得る。つまり、評価種判別モジュール１３０は、最適経路選択モジュール１２０から評価グループ１２２を受け取り、評価グループ１２２が始端であれば始端評価モジュール１７０に評価グループ１３４（評価グループ１２２）を渡し、始端評価モジュール１７０から評価値１７５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値１７５）を渡す。評価グループ１２２が始端であるか否かは、その文字列における最初の準文字パタンを含んでいるか否かを判断すればよい。また、評価グループ１２２が始端以外であれば連接評価モジュール１５０に評価グループ１３２（評価グループ１２２）を渡し、連接評価モジュール１５０から評価値１５５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値１５５）を渡す。なお、終端、改行については、従来技術（仮想グループを設定する等）を用いてもよい。評価グループ１２２が始端であるか否かは、その文字列における最初の準文字パタンを含んでいるか否かを判断すればよい。
【００３９】
連接評価モジュール１５０は、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０と接続されており、評価種判別モジュール１３０から評価グループ１３２を受け取り、評価種判別モジュール１３０に評価値１５５を渡す。連接評価モジュール１５０は、連接している２つの認識対象と認識結果に対して、前記文字列内のつながりに関する評価を行う。具体的には、連接評価モジュール１５０は、連接している２つの認識対象と認識結果の特徴量の抽出を行い、その特徴量を用いて文字列内のつながりに関する評価を行う。評価値を算出するためにパラメタを用いる。
連接評価パラメタ記憶モジュール１４０は、連接評価モジュール１５０と接続されている。連接評価パラメタ記憶モジュール１４０は、連接評価モジュール１５０によって評価値が算出される際に用いられるパラメタを記憶している。
【００４０】
始端評価モジュール１７０は、評価種判別モジュール１３０、始端評価パラメタ記憶モジュール１６０と接続されており、評価種判別モジュール１３０から評価グループ１３４を受け取り、評価種判別モジュール１３０に評価値１７５を渡す。始端評価モジュール１７０は、文字列の始端の認識対象と認識結果に対して、その文字列の始端に関する評価を行う。具体的には、始端評価モジュール１７０は、始端の認識対象と認識結果の特徴量の抽出を行い、その特徴量を用いて文字列の始端に関する評価を行う。評価値を算出するためにパラメタを用いる。ここで抽出する特徴量は、連接評価モジュール１５０が抽出する特徴量とは異なる特徴量である。また、評価値を算出するためのパラメタは、連接評価モジュール１５０が評価値を算出するために用いるパラメタとは異なるパラメタである。ここで「異なる」とは、「全ての要素が同一」ではないことをいい、一部の要素が同一であってもよい。つまり、一方の要素は他方の要素全てを含んでいても他方の要素以外の要素を含んでいれば「異なる」こととなり、一方の要素は他方の要素の一部を含んでいるが全てを含んでいなければ「異なる」こととなる。
始端評価パラメタ記憶モジュール１６０は、始端評価モジュール１７０と接続されている。始端評価パラメタ記憶モジュール１６０は、始端評価モジュール１７０によって評価値が算出される際に用いられるパラメタを記憶している。
【００４１】
認識結果出力モジュール１８０は、最適経路選択モジュール１２０と接続されており、最適経路選択モジュール１２０から最適経路１７７を受け取る。認識結果出力モジュール１８０は、得られた最適経路１７７を本実施の形態による出力に変換する。例えば、テキストコード列への変換や、認識に利用した各文字の単文字識別の確度を含むテキストコード列への変換等がある。出力するとは、例えば、ディスプレイ等の表示装置に表示すること、文書記憶装置へ認識対象の文書画像等に対応させてテキストコード列を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置（翻訳処理装置等）へ渡すこと等が含まれる。
【００４２】
図２は、第２の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、前述した実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下同じ）。
第２の実施の形態は、文字列認識ラティス受付モジュール１１０、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、終端評価パラメタ記憶モジュール２６０、終端評価モジュール２７０、認識結果出力モジュール１８０を有している。
評価種判別モジュール１３０は、最適経路選択モジュール１２０、連接評価モジュール１５０、終端評価モジュール２７０と接続されている。評価種判別モジュール１３０は、評価グループ１２２は連接評価をすべきグループかそれ以外かを判別し、評価を切り替えて評価値を得る。つまり、評価種判別モジュール１３０は、最適経路選択モジュール１２０から評価グループ１２２を受け取り、評価グループ１２２が終端であれば終端評価モジュール２７０に評価グループ１３４（評価グループ１２２）を渡し、終端評価モジュール２７０から評価値２７５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値２７５）を渡す。評価グループ１２２が終端であるか否かは、その文字列における最後の準文字パタンを含んでいるか否かを判断すればよい。また、評価グループ１２２が終端以外であれば連接評価モジュール１５０に評価グループ１３２（評価グループ１２２）を渡し、連接評価モジュール１５０から評価値１５５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値１５５）を渡す。なお、始端、改行については、従来技術を用いてもよい。
【００４３】
終端評価モジュール２７０は、評価種判別モジュール１３０、終端評価パラメタ記憶モジュール２６０と接続されており、評価種判別モジュール１３０から評価グループ１３４を受け取り、評価種判別モジュール１３０に評価値２７５を渡す。終端評価モジュール２７０は、文字列の終端の認識対象と認識結果に対して、その文字列の終端に関する評価を行う。具体的には、終端評価モジュール２７０は、終端の認識対象と認識結果の特徴量の抽出を行い、その特徴量を用いて文字列の終端に関する評価を行う。評価値を算出するためにパラメタを用いる。ここで抽出する特徴量は、連接評価モジュール１５０が抽出する特徴量とは異なる特徴量を少なくとも含む。また、評価値を算出するためのパラメタは、連接評価モジュール１５０が評価値を算出するために用いるパラメタとは異なるパラメタを少なくとも含む。
終端評価パラメタ記憶モジュール２６０は、終端評価モジュール２７０と接続されている。終端評価パラメタ記憶モジュール２６０は、終端評価モジュール２７０によって評価値が算出される際に用いられるパラメタを記憶している。
【００４４】
図３は、第３の実施の形態の構成例についての概念的なモジュール構成図を示している。
第３の実施の形態は、文字列認識ラティス受付モジュール１１０、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、改行評価パラメタ記憶モジュール３６０、改行評価モジュール３７０、認識結果出力モジュール１８０を有している。
評価種判別モジュール１３０は、最適経路選択モジュール１２０、連接評価モジュール１５０、改行評価モジュール３７０と接続されている。評価種判別モジュール１３０は、評価グループ１２２は連接評価をすべきグループかそれ以外かを判別し、評価を切り替えて評価値を得る。つまり、評価種判別モジュール１３０は、最適経路選択モジュール１２０から評価グループ１２２を受け取り、評価グループ１２２が改行であれば改行評価モジュール３７０に評価グループ１３４（評価グループ１２２）を渡し、改行評価モジュール３７０から評価値３７５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値３７５）を渡す。評価グループ１２２が改行であるか否かは、複数の文字列の境界であるか否かを判断してもよいし、第１の文字列（例えば、１行目の文字列）における最後の準文字パタンを含んでいるか否かによって判断してもよいし、第２の文字列（例えば、２行目の文字列）における最初の準文字パタンを含んでいるか否かによって判断してもよいし、第１の文字列における最後の準文字パタンを含んでおり、第２の文字列における最初の準文字パタンを含んでいるか否かによって判断してもよいし、改行を示すテキストコード（改行コード）を含んでいるか否かによって判断してもよい。また、評価グループ１２２が改行以外であれば連接評価モジュール１５０に評価グループ１３２（評価グループ１２２）を渡し、連接評価モジュール１５０から評価値１５５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値１５５）を渡す。なお、始端、終端については、従来技術を用いてもよい。
【００４５】
改行評価モジュール３７０は、評価種判別モジュール１３０、改行評価パラメタ記憶モジュール３６０と接続されており、評価種判別モジュール１３０から評価グループ１３４を受け取り、評価種判別モジュール１３０に評価値３７５を渡す。改行評価モジュール３７０は、文字列の改行の認識対象と認識結果に対して、その文字列の改行に関する評価を行う。具体的には、改行評価モジュール３７０は、改行の認識対象と認識結果の特徴量の抽出を行い、その特徴量を用いて文字列の改行に関する評価を行う。評価値を算出するためにパラメタを用いる。ここで抽出する特徴量は、連接評価モジュール１５０が抽出する特徴量とは異なる特徴量を少なくとも含む。また、評価値を算出するためのパラメタは、連接評価モジュール１５０が評価値を算出するために用いるパラメタとは異なるパラメタを少なくとも含む。
改行評価パラメタ記憶モジュール３６０は、改行評価モジュール３７０と接続されている。改行評価パラメタ記憶モジュール３６０は、改行評価モジュール３７０によって評価値が算出される際に用いられるパラメタを記憶している。
【００４６】
図４は、第４の実施の形態の構成例についての概念的なモジュール構成図を示している。
第４の実施の形態は、文字列認識ラティス受付モジュール１１０、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、始端評価パラメタ記憶モジュール１６０、始端評価モジュール１７０、認識結果出力モジュール１８０、終端評価パラメタ記憶モジュール２６０、終端評価モジュール２７０、改行評価パラメタ記憶モジュール３６０、改行評価モジュール３７０を有している。
評価種判別モジュール１３０は、最適経路選択モジュール１２０、連接評価モジュール１５０、始端評価モジュール１７０、終端評価モジュール２７０、改行評価モジュール３７０と接続されている。評価種判別モジュール１３０は、評価グループ１２２は連接評価をすべきグループかそれ以外かを判別し、評価を切り替えて評価値を得る。つまり、評価種判別モジュール１３０は、最適経路選択モジュール１２０から評価グループ１２２を受け取り、評価グループ１２２が始端であれば始端評価モジュール１７０に評価グループ１３４（評価グループ１２２）を渡し、始端評価モジュール１７０から評価値１７５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値１７５）を渡す。また、評価グループ１２２が終端であれば終端評価モジュール２７０に評価グループ１３４（評価グループ１２２）を渡し、終端評価モジュール２７０から評価値２７５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値２７５）を渡す。また、評価グループ１２２が改行であれば改行評価モジュール３７０に評価グループ１３４（評価グループ１２２）を渡し、改行評価モジュール３７０から評価値３７５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値３７５）を渡す。また、評価グループ１２２が始端、終端、改行以外であれば連接評価モジュール１５０に評価グループ１３２（評価グループ１２２）を渡し、連接評価モジュール１５０から評価値１５５を受け取り、最適経路選択モジュール１２０に評価値１３８（評価値１５５）を渡す。なお、始端評価パラメタ記憶モジュール１６０と始端評価モジュール１７０、終端評価パラメタ記憶モジュール２６０と終端評価モジュール２７０、改行評価パラメタ記憶モジュール３６０と改行評価モジュール３７０の組み合わせのうち、いずれか２つの組み合わせを用いてもよい。
【００４７】
図５、図６は、第４の実施の形態による処理例（最適経路探索の処理例）を示すフローチャートである。図５、図６はｍａｘ−ｓｕｍ  ａｌｇｏｒｉｔｈｍを用いた処理例である。まず、図５の例に示す処理を行い、続いて図６の例に示す処理を行うことにより、最適経路が得られる。
なお、図５、図６に示す処理例において、Ｓは最終出力である最適経路を表す。また、Ｍは準文字数を表す。また、ｂｅｇｉｎｎｉｎｇ［ｍ］はｍ番目の準文字で始まるグループの集合を表す。ｂｅｇｉｎｎｉｎｇ［ｍ］［ｉ］はそのｉ番目の要素を表す。また、ｂｅｇｉｎｎｉｎｇ［ｍ］．ｓｉｚｅ（）はその数を表す。また、ｓ．ｅｎｄはグループｓの最後の準文字番号を表す。また、ｉｓ＿ｒｅｔｕｒｎ（ｓ，ｓ’）はグループの組（ｓ，ｓ’）が改行であるか否かを判別する。なお、これらは文字列認識ラティスに予め記録される情報である。
また、ｅｎｅｒｇｙ＿ｅｎｄ（ｓ）はグループｓの終端評価を表す。また、ｅｎｅｒｇｙ＿ｂｅｇｉｎ（ｓ）はグループｓの始端評価を表す。また、ｅｎｅｒｇｙ＿ｒｅｔｕｒｎ（ｓ，ｓ’）はグループの組（ｓ，ｓ’）の改行評価を表す。また、ｅｎｅｒｇｙ（ｓ，ｓ’）はグループの組（ｓ，ｓ’）の連接評価を表す。
なお、第１の実施の形態、第２の実施の形態、第３の実施の形態においても、図５、図６の処理フローの部分を適用すればよい。
【００４８】
ステップＳ５０２では、ｍにＭを代入する。
ステップＳ５０４では、ｍ＞０であるか否かを判断し、ｍ＞０である場合はステップＳ５０６へ進み、それ以外の場合は処理を終了する（ステップＳ５９９）。
ステップＳ５０６では、ｉに１を代入する。
ステップＳ５０８では、ｉ＜ｂｅｇｉｎｎｉｎｇ［ｍ］．ｓｉｚｅ（）＋１であるか否かを判断し、ｉ＜ｂｅｇｉｎｎｉｎｇ［ｍ］．ｓｉｚｅ（）＋１である場合はステップＳ５１０へ進み、それ以外の場合はステップＳ５３８へ進む。
ステップＳ５１０では、ｓにｂｅｇｉｎｎｉｎｇ［ｍ］［ｉ］を代入する。
ステップＳ５１２では、ｓ．ｅｎｄ＝Ｍであるか否かを判断し、ｓ．ｅｎｄ＝Ｍである場合はステップＳ５３４へ進み、それ以外の場合はステップＳ５１４へ進む。
ステップＳ５１４では、ｓ．ｅｐｒｏｐにｆｌｏａｔ＿ｍａｘを代入し、ｓ．ｓｐｒｅｖにＮＵＬＬを代入する。
ステップＳ５１６では、ｊに１を代入する。
【００４９】
ステップＳ５１８では、ｊ＜ｂｅｇｉｎｎｉｎｇ［ｓ.ｅｎｄ＋１］.ｓｉｚｅ（）＋１であるか否かを判断し、ｊ＜ｂｅｇｉｎｎｉｎｇ［ｓ.ｅｎｄ＋１］.ｓｉｚｅ（）＋１である場合はステップＳ５２０へ進み、それ以外の場合はステップＳ５３６へ進む。
ステップＳ５２０では、ｓ’にｂｅｇｉｎｎｉｎｇ［ｓ．ｅｎｄ＋１］［ｊ］を代入する。
ステップＳ５２２では、Ｉｓ＿ｒｅｔｕｒｎ（ｓ，ｓ’）であるか否かを判断し、Ｉｓ＿ｒｅｔｕｒｎ（ｓ，ｓ’）である場合はステップＳ５２４へ進み、それ以外の場合はステップＳ５２６へ進む。
ステップＳ５２４では、ｅにｅｎｅｒｇｙ＿ｒｅｔｕｒｎ（ｓ，ｓ’）を代入する。
ステップＳ５２６では、ｅにｅｎｅｒｇｙ（ｓ，ｓ’）を代入する。
ステップＳ５２８では、ｓ．ｅｐｒｏｐ＞ｓ’．ｅ＋ｅであるか否かを判断し、ｓ．ｅｐｒｏｐ＞ｓ’．ｅ＋ｅである場合はステップＳ５３０へ進み、それ以外の場合はステップＳ５３２へ進む。
ステップＳ５３０では、ｓ．ｅｐｒｏｐにｓ’．ｅｐｒｏｐ＋ｅを代入し、ｓ．ｓｐｒｅｖにｓ’を代入する。
ステップＳ５３２では、ｊにｊ＋１を代入し、ステップＳ５１８に戻る。
ステップＳ５３４では、ｓ．ｅｐｒｏｐにｅｎｅｒｇｙ＿ｅｎｄ（ｓ）を代入し、ｓ．ｓｐｒｅｖにＮＵＬＬを代入する。
ステップＳ５３６では、ｉにｉ＋１を代入し、ステップＳ５０８に戻る。
ステップＳ５３８では、ｍにｍ−１を代入し、ステップＳ５０４に戻る。
なお、ステップＳ５１２でｙｅｓとなる場合は、対象のグループが終端である場合である。ステップＳ５２２でｙｅｓとなる場合は、対象のグループが改行である場合である。
【００５０】
図６は、第４の実施の形態による処理例を示すフローチャートである。
ステップＳ６０２では、ｅｍｉｎにｆｌｏａｔ＿ｍａｘを代入し、ｓｍｉｎにＮＵＬＬを代入する。
ステップＳ６０４では、ｉ＜ｂｅｇｉｎｎｉｎｇ［０］．ｓｉｚｅ（）＋１であるか否かを判断し、ｉ＜ｂｅｇｉｎｎｉｎｇ［０］．ｓｉｚｅ（）＋１である場合はステップＳ６０６へ進み、それ以外の場合はステップＳ６１４へ進む。
ステップＳ６０６では、ｓにｂｅｇｉｎｎｉｎｇ［０］［ｉ］を代入する。
ステップＳ６０８では、ｅｍｉｎ＞ｅｎｅｒｇｙ＿ｂｅｇｉｎ（ｓ）＋ｓ．ｅｐｒｏｐであるか否かを判断し、ｅｍｉｎ＞ｅｎｅｒｇｙ＿ｂｅｇｉｎ（ｓ）＋ｓ．ｅｐｒｏｐである場合はステップＳ６１０へ進み、それ以外の場合はステップＳ６１２へ進む。
ステップＳ６１０では、ｅｍｉｎにｓ．ｅｐｒｏｐを代入し、ｓｍｉｎにｓを代入する。
ステップＳ６１２では、ｉにｉ＋１を代入し、ステップＳ６０４に戻る。
ステップＳ６１４では、ｓｍｉｎ≠ＮＵＬＬであるか否かを判断し、ｓｍｉｎ≠ＮＵＬＬである場合はステップＳ６１６へ進み、それ以外の場合は処理を終了する（ステップＳ６９９）。
ステップＳ６１６では、Ｓ．ｐｕｓｈ（ｓｍｉｎ）とする。
ステップＳ６１８では、ｓｍｉｎにｓ．ｓｐｒｅｖを代入し、ステップＳ６１４に戻る。
なお、ステップＳ６０８は、対象のグループが改行であるか否かの判断を行っている。
【００５１】
図７は、第５の実施の形態の構成例についての概念的なモジュール構成図を示している。第５の実施の形態は、評価パラメタを共有するものである。本実施の形態は、省メモリ化を行う場合に用いられる。
第５の実施の形態は、文字列認識ラティス受付モジュール１１０、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール７４０、連接評価モジュール１５０、始端評価モジュール１７０、認識結果出力モジュール１８０を有している。
連接評価モジュール１５０は、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール７４０と接続されており、評価種判別モジュール１３０から評価グループ１３２を受け取り、評価種判別モジュール１３０に評価値１５５を渡す。
連接評価パラメタ記憶モジュール７４０は、連接評価モジュール１５０、始端評価モジュール１７０と接続されている。
始端評価モジュール１７０は、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール７４０と接続されており、評価種判別モジュール１３０から評価グループ１３４を受け取り、評価種判別モジュール１３０に評価値１７５を渡す。
例えば、始端評価のための特徴量が、連接評価のための特徴量の部分であれば、連接評価パラメタの一部を参照する。例えば、数式１４のように単一グループの特徴量（数式１５）と隣り合うグループの特徴量（数式１６）から連接評価のための特徴量（数式１７）を作成し、同様に数式１８のように評価パラメタ（数式１９）を作成する。
【数１４】
2016009235.tif 000016
【数１５】
2016009235.tif 000017
【数１６】
2016009235.tif 000018
【数１７】
2016009235.tif 000019
【数１８】
2016009235.tif 000020
【数１９】
2016009235.tif 000021
このうえで、始端評価のための特徴量と評価パラメタを数式２０と数式２１のように共有する。ただし、数式１８と数式２１は数式４と数式８に基づくものである。なお、数式１４の右辺の上の要素は１つの準文字パタンだけの特徴量であり、下の要素は２つの準文字パタンによる特徴量である。
【数２０】
2016009235.tif 000022
【数２１】
2016009235.tif 000023
なお、始端に限らず、終端、改行の評価パラメタとの共有が混在していてもよい。
つまり、図７の例に示す始端評価モジュール１７０を終端評価モジュール２７０又は改行評価モジュール３７０としてもよいし、図４の例に示す始端評価パラメタ記憶モジュール１６０、終端評価パラメタ記憶モジュール２６０、改行評価パラメタ記憶モジュール３６０のうちの２つ以上を連接評価パラメタ記憶モジュール１４０とともに１つの連接評価パラメタ記憶モジュール７４０としてもよい。
【００５２】
図８は、第６の実施の形態の構成例についての概念的なモジュール構成図を示している。
第６の実施の形態は、画像受付モジュール８１０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、始端評価パラメタ記憶モジュール１６０、始端評価モジュール１７０、認識結果出力モジュール１８０を有している。文字列画像を認識するようにしたものであり、第１の実施の形態における文字列を文字列の画像として、認識対象を文字の画像としたものである。つまり、第１の実施の形態の文字列認識ラティス受付モジュール１１０を画像受付モジュール８１０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０としたものである。具体的には、１行毎の文字画像認識を行うものである。なお、始端評価に限らず、終端評価、改行評価を行ってもよいし、これらが混在していてもよい。つまり、第２〜第５の実施の形態についても、文字列認識ラティス受付モジュール１１０を画像受付モジュール８１０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０としてもよい。
【００５３】
画像受付モジュール８１０は、準文字画像切り出しモジュール８２０と接続されており、準文字画像切り出しモジュール８２０に文字列画像８１５を渡す。画像受付モジュール８１０は、文字列画像８１５を受け付け、その文字列画像８１５を準文字画像切り出しモジュール８２０に渡す。なお、文字列画像８１５は複数あってもよい。
準文字画像切り出しモジュール８２０は、画像受付モジュール８１０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０と接続されており、画像受付モジュール８１０から文字列画像８１５を受け取り、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０に準文字画像８２５を渡す。準文字画像切り出しモジュール８２０は、文字列画像８１５から切り出し位置候補を検出する。つまり、文字列画像８１５を準文字画像８２５に分割する。そして、準文字画像８２５を単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０に渡す。
単文字領域作成モジュール８３０は、準文字画像切り出しモジュール８２０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０と接続されており、準文字画像切り出しモジュール８２０から準文字画像８２５を受け取り、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０に単文字領域８３５を渡す。単文字領域作成モジュール８３０は、隣り合う準文字画像８２５を組み合わせて単文字領域８３５（単独の準文字画像８２５を示す単文字領域８３５であってもよい）を生成して、その単文字領域８３５を単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０に渡す。
単文字識別モジュール８４０は、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、文字列認識ラティス受付モジュール８５０と接続されており、準文字画像切り出しモジュール８２０から準文字画像８２５を、単文字領域作成モジュール８３０から単文字領域８３５を受け取り、文字列認識ラティス受付モジュール８５０にテキストコード・特徴量８４５を渡す。単文字識別モジュール８４０は、準文字画像切り出しモジュール８２０によって検出された切り出し位置候補によって切り出される文字の画像を識別する。つまり、単文字領域作成モジュール８３０による処理結果である単文字領域８３５内の準文字画像８２５を文字認識する。例えば、単文字領域８３５と準文字画像８２５の組み合わせから作成される単文字画像の識別結果（テキストコードと確度等の特徴量（テキストコード・特徴量８４５））を出力する。
文字列認識ラティス受付モジュール８５０は、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、最適経路選択モジュール１２０と接続されており、準文字画像切り出しモジュール８２０から準文字画像８２５を、単文字領域作成モジュール８３０から単文字領域８３５を、単文字識別モジュール８４０からテキストコード・特徴量８４５を受け取り、最適経路選択モジュール１２０に文字列認識ラティス１１５を渡す。文字列認識ラティス受付モジュール８５０は、文字の画像（準文字画像８２５、単文字領域８３５）と単文字識別モジュール８４０による識別結果（テキストコード・特徴量８４５）を受け付ける。
最適経路選択モジュール１２０は、文字列認識ラティス受付モジュール８５０、評価種判別モジュール１３０、認識結果出力モジュール１８０と接続されており、文字列認識ラティス受付モジュール８５０から文字列認識ラティス１１５を受け取り、評価種判別モジュール１３０に評価グループ１２２を渡し、評価種判別モジュール１３０から評価値１３８を受け取り、認識結果出力モジュール１８０に最適経路１７７を渡す。
なお、始端と終端は、文字列の始端と終端として得られる。また、改行は、文字列認識ラティス作成モジュール８５０が判別すればよい。例えば、複数与えられた文字列画像８１５どうしの境界を改行とすればよい。
【００５４】
図９は、第７の実施の形態の構成例についての概念的なモジュール構成図を示している。
第７の実施の形態は、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、始端評価パラメタ記憶モジュール１６０、始端評価モジュール１７０、認識結果出力モジュール１８０、ストローク受付モジュール９１０、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０を有している。文字列ストロークを認識するようにしたものであり、第１の実施の形態における文字列を文字列のストロークとして、認識対象を文字のストロークとしたものである。つまり、第１の実施の形態の文字列認識ラティス受付モジュール１１０をストローク受付モジュール９１０、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０としたものである。具体的には、１行毎のオンライン文字認識を行うものである。なお、始端評価に限らず、終端評価、改行評価を行ってもよいし、これらが混在していてもよい。つまり、第２〜第５の実施の形態についても、文字列認識ラティス受付モジュール１１０をストローク受付モジュール９１０、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０としてもよい。
【００５５】
ストローク受付モジュール９１０は、準文字ストローク切り出しモジュール９２０と接続されており、準文字ストローク切り出しモジュール９２０に文字列ストローク９１５を渡す。なお、文字列ストローク９１５は複数あってもよい。
準文字ストローク切り出しモジュール９２０は、ストローク受付モジュール９１０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０と接続されており、ストローク受付モジュール９１０から文字列ストローク９１５を受け取り、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０に準文字ストローク９２５を渡す。準文字ストローク切り出しモジュール９２０は、文字列ストローク９１５から切り出し位置候補を検出する。つまり、文字列ストローク９１５を準文字ストローク９２５に分割する。そして、準文字ストローク９２５を単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０に渡す。
単文字領域作成モジュール９３０は、準文字ストローク切り出しモジュール９２０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０と接続されており、準文字ストローク切り出しモジュール９２０から準文字ストローク９２５を受け取り、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０に単文字領域９３５を渡す。単文字領域作成モジュール９３０は、隣り合う準文字ストローク９２５を組み合わせて単文字領域９３５（単独の準文字ストローク９２５を示す単文字領域９３５であってもよい）を生成して、その単文字領域９３５を単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０に渡す。
単文字識別モジュール９４０は、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、文字列認識ラティス受付モジュール９５０と接続されており、準文字ストローク切り出しモジュール９２０から準文字ストローク９２５を、単文字領域作成モジュール９３０から単文字領域９３５を受け取り、文字列認識ラティス受付モジュール９５０にテキストコード・特徴量９４５を渡す。単文字識別モジュール９４０は、準文字ストローク切り出しモジュール９２０によって検出された切り出し位置候補によって切り出される文字のストロークを識別する。つまり、単文字領域作成モジュール９３０による処理結果である単文字領域９３５内の準文字ストローク９２５を文字認識する。例えば、単文字領域９３５と準文字画像９２５の組み合わせから作成される単文字画像の識別結果（テキストコードと確度等の特徴量（テキストコード・特徴量９４５））を出力する。
文字列認識ラティス受付モジュール９５０は、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、最適経路選択モジュール１２０と接続されており、準文字ストローク切り出しモジュール９２０から準文字ストローク９２５を、単文字領域作成モジュール９３０から単文字領域９３５を、単文字識別モジュール９４０からテキストコード・特徴量９４５を受け取り、最適経路選択モジュール１２０に文字列認識ラティス１１５を渡す。文字列認識ラティス受付モジュール９５０は、文字の画像（準文字ストローク９２５、単文字領域９３５）と単文字識別モジュール９４０による識別結果（テキストコード・特徴量９４５）を受け付ける。
最適経路選択モジュール１２０は、文字列認識ラティス受付モジュール９５０、評価種判別モジュール１３０、認識結果出力モジュール１８０と接続されており、文字列認識ラティス受付モジュール９５０から文字列認識ラティス１１５を受け取り、評価種判別モジュール１３０に評価グループ１２２を渡し、評価種判別モジュール１３０から評価値１３８を受け取り、認識結果出力モジュール１８０に最適経路１７７を渡す。
なお、始端と終端は、文字列の始端と終端として得られる。また、改行は、文字列認識ラティス作成モジュール９５０が判別すればよい。例えば、複数与えられた文字列ストローク９１５どうしの境界を改行とすればよい。
【００５６】
図１０は、第８の実施の形態の構成例についての概念的なモジュール構成図を示している。
第８の実施の形態は、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、始端評価パラメタ記憶モジュール１６０、始端評価モジュール１７０、認識結果出力モジュール１８０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０、画像受付モジュール１０１０、文字列画像切り出しモジュール１０２０を有している。文書画像を認識するようにしたものであり、第６の実施の形態の画像受付モジュール８１０を画像受付モジュール１０１０、文字列画像切り出しモジュール１０２０としたものである。なお、始端評価に限らず、終端評価、改行評価を行ってもよいし、これらが混在していてもよい。つまり、第２〜第５の実施の形態についても、文字列認識ラティス受付モジュール１１０を画像受付モジュール１０１０、文字列画像切り出しモジュール１０２０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０としてもよい。
画像受付モジュール１０１０は、文字列画像切り出しモジュール１０２０と接続されており、文字列画像切り出しモジュール１０２０に文書画像１０１５を渡す。
文字列画像切り出しモジュール１０２０は、画像受付モジュール１０１０、準文字画像切り出しモジュール８２０と接続されており、画像受付モジュール１０１０から文書画像１０１５を受け取り、準文字画像切り出しモジュール８２０に文字列画像８１５を渡す。文字列画像切り出しモジュール１０２０は、文書画像１０１５から文字列画像８１５へ分割する。
準文字画像切り出しモジュール８２０は、文字列画像切り出しモジュール１０２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０と接続されており、文字列画像切り出しモジュール１０２０から文字列画像８１５を受け取り、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０に準文字画像８２５を渡す。
【００５７】
なお、第８の実施の形態について、文書の画像ではなく、文書のストロークを認識するようにしてもよい。つまり、第７の実施の形態のストローク受付モジュール９１０を文書ストローク受付モジュール（画像受付モジュール１０１０に相当）、文字列ストローク切り出しモジュール（文字列画像切り出しモジュール１０２０に相当）としてもよい。具体的には、文書毎のオンライン文字認識を行うものである。文書ストローク受付モジュールは、文書のストロークを受け付ける。文字列ストローク切り出しモジュールは、文書のストロークから文字列のストロークへ分割する。なお、始端評価に限らず、終端評価、改行評価を行ってもよいし、これらが混在していてもよい。つまり、第２〜第５の実施の形態についても、文字列認識ラティス受付モジュール１１０を文書ストローク受付モジュール、文字列ストローク切り出しモジュール、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０としてもよい。準文字ストローク切り出しモジュール９２０は、文字列ストローク切り出しモジュールによって分割された文字列のストロークを対象として、切り出し位置候補を検出する。
【００５８】
図１１は、第９の実施の形態の構成例についての概念的なモジュール構成図を示している。
第９の実施の形態は、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価パラメタ記憶モジュール１４０、連接評価モジュール１５０、始端評価パラメタ記憶モジュール１６０、始端評価モジュール１７０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０、画像受付モジュール１０１０、帳票情報受付モジュール１１１０、文字列画像切り出しモジュール１１２０、認識結果出力モジュール１１８０を有している。帳票に関する情報を有している帳票画像を認識するようにしたものであり、第８の実施の形態の文字列画像切り出しモジュール１０２０を文字列画像切り出しモジュール１１２０とし、認識結果出力モジュール１８０を認識結果出力モジュール１１８０とし、帳票情報受付モジュール１１１０を付加したものである。なお、始端評価に限らず、終端評価、改行評価を行ってもよいし、これらが混在していてもよい。つまり、第２〜第５の実施の形態についても、文字列認識ラティス受付モジュール１１０を画像受付モジュール１０１０、帳票情報受付モジュール１１１０、文字列画像切り出しモジュール１１２０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０とし、認識結果出力モジュール１８０を認識結果出力モジュール１１８０としてもよい。第９の実施の形態は、構造的な文字認識結果を得る場合に用いられる。例えば、「“名前”を筆記された部分の認識結果のみを収集する」といった処理を行う場合に用いられる。具体的には、属性情報１１１７が“名前”である欄の認識結果を認識結果出力モジュール１１８０が出力する。
画像受付モジュール１０１０は、文字列画像切り出しモジュール１１２０と接続されており、文字列画像切り出しモジュール１１２０に文書画像１０１５を渡す。
帳票情報受付モジュール１１１０は、文字列画像切り出しモジュール１１２０、認識結果出力モジュール１１８０と接続されており、文字列画像切り出しモジュール１１２０に位置情報１１１５を、認識結果出力モジュール１１８０に属性情報１１１７を渡す。文字列画像切り出しモジュール１１２０は、文書画像１０１５（帳票画像）について、文字列の位置を示す位置情報１１１５とその文字列の属性を示す属性情報１１１７を受け付ける。つまり、文書画像１０１５に対応する位置情報１１１５と属性情報１１１７を受け付ける。
文字列画像切り出しモジュール１１２０は、画像受付モジュール１０１０、準文字画像切り出しモジュール８２０、帳票情報受付モジュール１１１０と接続されており、画像受付モジュール１０１０から文書画像１０１５を、帳票情報受付モジュール１１１０から位置情報１１１５を受け取り、準文字画像切り出しモジュール８２０に文字列画像８１５を渡す。文字列画像切り出しモジュール１１２０は、位置情報１１１５を用いて、文書画像１０１５から文字列画像８１５への分割を行う。位置情報１１１５として、筆記すべき領域を示す情報（具体的には、領域を示す矩形の対角の座標情報）等がある。
準文字画像切り出しモジュール８２０は、文字列画像切り出しモジュール１１２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０と接続されており、文字列画像切り出しモジュール１１２０から文字列画像８１５を受け取り、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０に準文字画像８２５を渡す。
最適経路選択モジュール１２０は、文字列認識ラティス受付モジュール８５０、評価種判別モジュール１３０、認識結果出力モジュール１１８０と接続されており、文字列認識ラティス受付モジュール８５０から文字列認識ラティス１１５を受け取り、評価種判別モジュール１３０に評価グループ１２２を渡し、評価種判別モジュール１３０から評価値１３８を受け取り、認識結果出力モジュール１１８０に最適経路１７７を渡す。
認識結果出力モジュール１１８０は、帳票情報受付モジュール１１１０、最適経路選択モジュール１２０と接続されており、帳票情報受付モジュール１１１０から属性情報１１１７を、最適経路選択モジュール１２０から最適経路１７７を受け取る。認識結果出力モジュール１１８０は、位置情報１１１５に対応する切り出し位置と認識結果に対して、その位置情報に対応する属性情報１１１７を付与して出力する。例えば、テキストコードに属性として“名前”を付加して出力すること等を行う。
【００５９】
なお、第９の実施の形態について、文書の画像ではなく、文書のストロークを認識するようにしてもよい。つまり、第７の実施の形態のストローク受付モジュール９１０を文書ストローク受付モジュール（画像受付モジュール１０１０に相当）、帳票情報受付モジュール１１１０、文字列ストローク切り出しモジュール（文字列画像切り出しモジュール１１２０に相当）とし、認識結果出力モジュール１８０を認識結果出力モジュール１１８０としてもよい。具体的には、帳票に関する情報を有している帳票毎のオンライン文字認識を行うものである。文書ストローク受付モジュールは、文書のストロークを受け付ける。文字列ストローク切り出しモジュールは、帳票情報受付モジュール１１１０からの位置情報１１１５を用いて文書のストロークから文字列のストロークへ分割する。なお、始端評価に限らず、終端評価、改行評価を行ってもよいし、これらが混在していてもよい。つまり、第２〜第５の実施の形態についても、文字列認識ラティス受付モジュール１１０を文書ストローク受付モジュール、帳票情報受付モジュール１１１０、文字列ストローク切り出しモジュール、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０とし、認識結果出力モジュール１８０を認識結果出力モジュール１１８０としてもよい。準文字ストローク切り出しモジュール９２０は、文字列ストローク切り出しモジュールによって分割された文字列のストロークを対象として、切り出し位置候補を検出する。
【００６０】
図２２を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図２２に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部２２１７と、プリンタ等のデータ出力部２２１８を備えたハードウェア構成例を示している。
【００６１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２０１は、前述の実施の形態において説明した各種のモジュール、すなわち、文字列認識ラティス受付モジュール１１０、最適経路選択モジュール１２０、評価種判別モジュール１３０、連接評価モジュール１５０、始端評価モジュール１７０、認識結果出力モジュール１８０、終端評価モジュール２７０、改行評価モジュール３７０、画像受付モジュール８１０、準文字画像切り出しモジュール８２０、単文字領域作成モジュール８３０、単文字識別モジュール８４０、文字列認識ラティス受付モジュール８５０、ストローク受付モジュール９１０、準文字ストローク切り出しモジュール９２０、単文字領域作成モジュール９３０、単文字識別モジュール９４０、文字列認識ラティス受付モジュール９５０、画像受付モジュール１０１０、文字列画像切り出しモジュール１０２０、帳票情報受付モジュール１１１０、文字列画像切り出しモジュール１１２０、認識結果出力モジュール１１８０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００６２】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２０２は、ＣＰＵ２２０１が使用するプログラムや演算パラメタ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２０３は、ＣＰＵ２２０１の実行において使用するプログラムや、その実行において適宜変化するパラメタ等を格納する。これらはＣＰＵバス等から構成されるホストバス２２０４により相互に接続されている。
【００６３】
ホストバス２２０４は、ブリッジ２２０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス２２０６に接続されている。
【００６４】
キーボード２２０８、マウス等のポインティングデバイス２２０９は、操作者により操作される入力デバイスである。ディスプレイ２２１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。
【００６５】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２２１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２２０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、文字列認識ラティス１１５、評価グループ１２２、評価値１３８、最適経路１７７、連接評価パラメタ、始端評価パラメタ、終端評価パラメタ、改行評価パラメタ、等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００６６】
ドライブ２２１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２２１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２２０７、外部バス２２０６、ブリッジ２２０５、及びホストバス２２０４を介して接続されているＲＡＭ２２０３に供給する。リムーバブル記録媒体２２１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６７】
接続ポート２２１４は、外部接続機器２２１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２２１４は、インタフェース２２０７、及び外部バス２２０６、ブリッジ２２０５、ホストバス２２０４等を介してＣＰＵ２２０１等に接続されている。通信部２２１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２２１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２２１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６８】
なお、図２２に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２２に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２２に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）等に組み込まれていてもよい。
【００６９】
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【００７０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７１】
１１０…文字列認識ラティス受付モジュール
１１５…文字列認識ラティス
１２０…最適経路選択モジュール
１２２…評価グループ
１３０…評価種判別モジュール
１３２…評価グループ
１３４…評価グループ
１３８…評価値
１４０…連接評価パラメタ記憶モジュール
１５０…連接評価モジュール
１５５…評価値
１６０…始端評価パラメタ記憶モジュール
１７０…始端評価モジュール
１７５…評価値
１７７…最適経路
１８０…認識結果出力モジュール
２６０…終端評価パラメタ記憶モジュール
２７０…終端評価モジュール
２７５…評価値
３６０…改行評価パラメタ記憶モジュール
３７０…改行評価モジュール
３７５…評価値
７４０…連接評価パラメタ記憶モジュール
８１０…画像受付モジュール
８１５…文字列画像
８２０…準文字画像切り出しモジュール
８２５…準文字画像
８３０…単文字領域作成モジュール
８３５…単文字領域
８４０…単文字識別モジュール
８４５…テキストコード・特徴量
８５０…文字列認識ラティス受付モジュール
９１０…ストローク受付モジュール
９１５…文字列ストローク
９２０…準文字ストローク切り出しモジュール
９２５…準文字ストローク
９３０…単文字領域作成モジュール
９３５…単文字領域
９４０…単文字識別モジュール
９４５…テキストコード・特徴量
９５０…文字列認識ラティス受付モジュール
１０１０…画像受付モジュール
１０１５…文書画像
１０２０…文字列画像切り出しモジュール
１１１０…帳票情報受付モジュール
１１１５…位置情報
１１１７…属性情報
１１２０…文字列画像切り出しモジュール
１１８０…認識結果出力モジュール
【図１】
2016009235.tif 000024
【図２】
2016009235.tif 000025
【図３】
2016009235.tif 000026
【図４】
2016009235.tif 000027
【図５】
2016009235.tif 000028
【図６】
2016009235.tif 000029
【図７】
2016009235.tif 000030
【図８】
2016009235.tif 000031
【図９】
2016009235.tif 000032
【図１０】
2016009235.tif 000033
【図１１】
2016009235.tif 000034
【図１２】
2016009235.tif 000035
【図１３】
2016009235.tif 000036
【図１４】
2016009235.tif 000037
【図１５】
2016009235.tif 000038
【図１６】
2016009235.tif 000039
【図１７】
2016009235.tif 000040
【図１８】
2016009235.tif 000041
【図１９】
2016009235.tif 000042
【図２０】
2016009235.tif 000043
【図２１】
2016009235.tif 000044
【図２２】
2016009235.tif 000045