(57)【特許請求の範囲】
【請求項１】
認識対象についての準文字パタン列と正解テキスト列を受け付ける受付手段と、
前記認識対象に対する文字認識結果の系列を含む第１のラティスと、準文字パタン列の組み合わせによって、前記認識対象に対する正解テキスト列の系列を含む第２のラティスを作成する作成手段と、
前記作成手段によって作成された第１のラティスと第２のラティスに含まれる系列の評価値の微分値の期待値を各々算出し、機械学習における認識パラメータ更新量として、該第１のラティスの期待値と該第２のラティスの期待値の差分を算出する差分手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記作成手段は、前記第１のラティスと前記第２のラティスを統合した第３のラティスを作成し、該第３のラティスを第１のラティスとする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
単文字パタンの単文字識別結果を記憶する記憶手段
をさらに具備し、
前記作成手段は、前記記憶手段に記憶されている単文字パタンの単文字識別結果を用いる
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１のラティスの期待値計算において、局所的なエネルギー関数に関する計算結果を記憶する第２の記憶手段
をさらに具備し、
前記差分手段は、前記第２の記憶手段に記憶されている計算結果を前記第２のラティスの期待値計算に用いる
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記第１のラティスと前記第２のラティスのペアのセットを作成する作成手段と、
前記セットからサブセットを抽出する抽出手段と、
前記抽出手段によって抽出されたサブセットに含まれるそれぞれのペアについて、認識パラメータ更新量を算出する請求項１から４のいずれか一項に記載の情報処理装置を含む算出手段と、
前記認識パラメータ更新量のセットについて、対応する該認識パラメータ更新量の和を算出し、予め定められた係数を乗算し、現在の認識パラメータ更新量から該乗算結果の値を減算することで、認識パラメータを更新する更新手段
を具備し、
前記抽出手段、前記算出手段、前記更新手段による処理を繰り返す
ことを特徴とする情報処理装置。
【請求項６】
前記認識対象は、文字画像又は文字のストローク情報である
ことを特徴とする請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
コンピュータを、
認識対象についての準文字パタン列と正解テキスト列を受け付ける受付手段と、
前記認識対象に対する文字認識結果の系列を含む第１のラティスと、準文字パタン列の組み合わせによって、前記認識対象に対する正解テキスト列の系列を含む第２のラティスを作成する作成手段と、
前記作成手段によって作成された第１のラティスと第２のラティスに含まれる系列の評価値の微分値の期待値を各々算出し、機械学習における認識パラメータ更新量として、該第１のラティスの期待値と該第２のラティスの期待値の差分を算出する差分手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、利便性のためユーザが連続入力した入力文字列を認識する手書き文字認識の方法と装置を提供することを課題とし、入力文字列における複数のストローク結合の単文字認識精度に関する特徴量と空間幾何学的な特徴量とを含む、入力文字列の様々な特徴量を計算する工程と確率モデル係数がサンプル訓練を通じたパラメータ推定法で推定される確率モデルにより、様々な切り出しパタンについて各ストローク結合の切り出し信頼度を計算する工程と上記複数のストローク結合の単文字認識を行うときにマルチテンプレートマッチング法で様々な書字パタンの文字を認識する工程と最良の切り出しパスを検索する工程と認識結果最適化用の後処理を行う工程とを含み、構造が単純で、ハードウェア要求が低く、認識が高速かつ高精度であり、組込システムに実装できる利点を有することが開示されている。
【０００３】
特許文献２には、文字の接触や続け書き等に頑健な文字列の読み取りを実現することを課題とし、文字切り出し・特徴抽出手段 は文字列画像から切り出し位置候補を検出し、文字列読み取り手段は、切り出し位置候補に基づき文字列画像から文字パタン候補を抽出し、文字出現確率計算手段を用いて考え得るあらゆる読み取り結果の妥当性を検証し、文字出現確率計算手段は文字列読み取り手段より、文字パタン候補、文字コード、文字状態、および文字パタン候補の直前に位置する文字パタン候補の文字コード、文字状態を受け取り、直前の文字パタン候補との形状的な接続の妥当性を文字状態遷移確率を用いて評価し、また文字パタン候補があるカテゴリに属する妥当性を文字テンプレートを用いて評価し、文字パタン候補がある状態、ある文字カテゴリに属する尤度（得点）を計算し、文字列読み取り手段は文字列全体での認識得点が最大となる文字列の切り出し認識結果を探索し出力することが開示されている。
【０００４】
特許文献３には、ＯＣＲの文字認識辞書や文字切り出しパラメータを最適化することを課題とし、文字列照合部は、文字認識部が出力する文字認識結果と、入力された文書画像の正解テキストを動的計画法により照合し、２文字列間の累積距離値、文字どうしの対応関係および誤認識箇所を抽出し、特に、ここで用いる動的計画法では、文字コードが正しく対応する格子点から水平・垂直方向にのびる経路に対して、通常の距離値に加え、ペナルティとなる距離値を上乗せすることにより、文字どうしの対応関係を正確に求め、メンテナンス部は、文字列照合部が出力する累積距離値ができるだけ小さくなるように、誤認識した文字の文字認識用辞書を修正したり、文字切り出しパラメータを微調整することが開示されている。
非特許文献１〜５には、機械学習、文字認識技術に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１２−５２０４９２号公報
【特許文献２】特開２０００−２０７４９５号公報
【特許文献３】特開平０９−２５１５１８号公報
【非特許文献】
【０００６】
【非特許文献１】Ｊｏｈｎ  Ｄ．Ｌａｆｆｅｒｔｙ，Ａｎｄｒｅｗ  ＭｃＣａｌｌｕｍ，ａｎｄ  Ｆｅｒｎａｎｄｏ  Ｃ．Ｎ．Ｐｅｒｅｉｒａ．“Ｃｏｎｄｉｔｉｏｎａｌ  ｒａｎｄｏｍ  ｆｉｅｌｄｓ：  Ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｍｏｄｅｌｓ  ｆｏｒ  ｓｅｇｍｅｎｔｉｎｇ  ａｎｄ  ｌａｂｅｌｉｎｇ  ｓｅｑｕｅｎｃｅ  ｄａｔａ，”  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｅｉｇｈｔｅｅｎｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ，ＩＣＭＬ‘０１，ｐｐ．２８２−２８９，Ｓａｎ  Ｆｒａｎｃｉｓｃｏ，ＣＡ，ＵＳＡ，２００１．Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒｓ  Ｉｎｃ．
【非特許文献２】Ｐｅｎｇ，Ｊｉａｎ  ａｎｄ  Ｂｏ，Ｌｉｅｆｅｎｇ  ａｎｄ  Ｘｕ，Ｊｉｎｂｏ，“Ｃｏｎｄｉｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｆｉｅｌｄｓ，”  Ａｄｖａｎｃｅｓ  ｉｎ  ｎｅｕｒａｌ  ｉｎｆｏｒｍａｔｉｏｎ  ｐｒｏｃｅｓｓｉｎｇ  ｓｙｓｔｅｍｓ，  ｐｐ．１４１９−１４２７，２００９．
【非特許文献３】Ｚｈｏｕ，Ｘｉａｎｇ−Ｄｏｎｇ  ａｎｄ  Ｌｉｕ，Ｃｈｅｎｇ−Ｌｉｎ  ａｎｄ  Ｎａｋａｇａｗａ，Ｍａｓａｋｉ，“Ｏｎｌｉｎｅ  ｈａｎｄｗｒｉｔｔｅｎ  Ｊａｐａｎｅｓｅ  ｃｈａｒａｃｔｅｒ  ｓｔｒｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ  ｕｓｉｎｇ  ｃｏｎｄｉｔｉｏｎａｌ  ｒａｎｄｏｍ  ｆｉｅｌｄｓ，”  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ，Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００９  １０ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ，ＩＣＤＡＲ‘０９，ｐｐ．５２１−５２５，Ｗａｓｈｉｎｇｔｏｎ，ＤＣ，ＵＳＡ，２００９．
【非特許文献４】Ｚｈｏｕ，Ｘｉａｎｇ−Ｄｏｎｇ  ａｎｄ  Ｗａｎｇ，Ｄａ−Ｈａｎ  ａｎｄ  Ｔｉａｎ，Ｆｅｎｇ  ａｎｄ  Ｌｉｕ，Ｃｈｅｎｇ−Ｌｉｎ  ａｎｄ  Ｎａｋａｇａｗａ，Ｍａｓａｋｉ，“Ｈａｎｄｗｒｉｔｔｅｎ  Ｃｈｉｎｅｓｅ／Ｊａｐａｎｅｓｅ  ｔｅｘｔ  ｒｅｃｏｇｎｉｔｉｏｎ  ｕｓｉｎｇ  ｓｅｍｉ−Ｍａｒｋｏｖ  ｃｏｎｄｉｔｉｏｎａｌ  ｒａｎｄｏｍ  ｆｉｅｌｄｓ，”  ＩＥＥＥ  Ｔｒａｎｓ，Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，Ｖｏｌ．３５，Ｎｏ．１０，ｐｐ．２４１３−２４２６，２０１３．
【非特許文献５】Ｚｈｏｕ，Ｘｉａｎｇ−Ｄｏｎｇ  ａｎｄ  Ｚｈａｎｇ，Ｙａｎ−Ｍｉｎｇ  ａｎｄ  Ｔｉａｎ，Ｆｅｎｇ  ａｎｄ  Ｗａｎｇ，Ｈｏｎｇ−Ａｎ  ａｎｄ  Ｌｉｕ，Ｃｈｅｎｇ−Ｌｉｎ，  “Ｍｉｎｉｍｕｍ−ｒｉｓｋ  ｔｒａｉｎｉｎｇ  ｆｏｒ  ｓｅｍｉ−Ｍａｒｋｏｖ  ｃｏｎｄｉｔｉｏｎａｌ  ｒａｎｄｏｍ  ｆｉｅｌｄｓ  ｗｉｔｈ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｈａｎｄｗｒｉｔｔｅｎ  Ｃｈｉｎｅｓｅ／Ｊａｐａｎｅｓｅ  ｔｅｘｔ  ｒｅｃｏｇｎｉｔｉｏｎ，”  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，Ｖｏｌ．４７，ＮＯ．５，ｐｐ．１９０４−１９１６，２０１４，Ｅｌｓｅｖｉｅｒ．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、認識対象の文字認識における機械学習において、教師信号として単文字間の境界に関する情報を不要とするようにした情報処理装置および情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、認識対象についての準文字パタン列と正解テキスト列を受け付ける受付手段と、前記認識対象に対する文字認識結果の系列を含む第１のラティスと、準文字パタン列の組み合わせによって、前記認識対象に対する正解テキスト列の系列を含む第２のラティスを作成する作成手段と、前記作成手段によって作成された第１のラティスと第２のラティスに含まれる系列の評価値の微分値の期待値を各々算出し、機械学習における認識パラメータ更新量として、該第１のラティスの期待値と該第２のラティスの期待値の差分を算出する差分手段を具備することを特徴とする情報処理装置である。
【０００９】
請求項２の発明は、前記作成手段は、前記第１のラティスと前記第２のラティスを統合した第３のラティスを作成し、該第３のラティスを第１のラティスとすることを特徴とする請求項１に記載の情報処理装置である。
【００１０】
請求項３の発明は、単文字パタンの単文字識別結果を記憶する記憶手段をさらに具備し、前記作成手段は、前記記憶手段に記憶されている単文字パタンの単文字識別結果を用いることを特徴とする請求項１又は２に記載の情報処理装置である。
【００１１】
請求項４の発明は、前記第１のラティスの期待値計算において、局所的なエネルギー関数に関する計算結果を記憶する第２の記憶手段をさらに具備し、前記差分手段は、前記第２の記憶手段に記憶されている計算結果を前記第２のラティスの期待値計算に用いることを特徴とする請求項１又は２に記載の情報処理装置である。
【００１２】
請求項５の発明は、前記第１のラティスと前記第２のラティスのペアのセットを作成する作成手段と、前記セットからサブセットを抽出する抽出手段と、前記抽出手段によって抽出されたサブセットに含まれるそれぞれのペアについて、認識パラメータ更新量を算出する請求項１から４のいずれか一項に記載の情報処理装置を含む算出手段と、前記認識パラメータ更新量のセットについて、対応する該認識パラメータ更新量の和を算出し、予め定められた係数を乗算し、現在の認識パラメータ更新量から該乗算結果の値を減算することで、認識パラメータを更新する更新手段を具備し、前記抽出手段、前記算出手段、前記更新手段による処理を繰り返すことを特徴とする情報処理装置である。
【００１３】
請求項６の発明は、前記認識対象は、文字画像又は文字のストローク情報であることを特徴とする請求項１から５のいずれか一項に記載の情報処理装置である。
【００１４】
請求項７の発明は、コンピュータを、認識対象についての準文字パタン列と正解テキスト列を受け付ける受付手段と、前記認識対象に対する文字認識結果の系列を含む第１のラティスと、準文字パタン列の組み合わせによって、前記認識対象に対する正解テキスト列の系列を含む第２のラティスを作成する作成手段と、前記作成手段によって作成された第１のラティスと第２のラティスに含まれる系列の評価値の微分値の期待値を各々算出し、機械学習における認識パラメータ更新量として、該第１のラティスの期待値と該第２のラティスの期待値の差分を算出する差分手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１５】
請求項１の情報処理装置によれば、認識対象の文字認識における機械学習において、教師信号として単文字間の境界に関する情報を不要とすることができる。
【００１６】
請求項２の情報処理装置によれば、第２のラティスを含めた第１のラティスを用いて、機械学習をすることができる。
【００１７】
請求項３の情報処理装置によれば、２回目以降の重複する単文字パタンの文字認識については、その文字認識を行う必要がない。
【００１８】
請求項４の情報処理装置によれば、２回目以降の重複する期待値計算については、その期待値計算を行う必要がない。
【００１９】
請求項５の情報処理装置によれば、認識パラメータを更新しない場合に比べて、より良好な認識パラメータが得られる。
【００２０】
請求項６の情報処理装置によれば、文字画像又は文字のストローク情報を認識対象とすることができる。
【００２１】
請求項７の情報処理プログラムによれば、認識対象の文字認識における機械学習において、教師信号として単文字間の境界に関する情報を不要とすることができる。
【図面の簡単な説明】
【００２２】
【図１】入力の文字列パタンの例を示す説明図である。
【図２】準文字パタン列の例を示す説明図である。
【図３】単文字パタン列候補の例を示す説明図である。
【図４】文字列認識の出力候補ラティスの例を示す説明図である。
【図５】テキスト列限定ラティスの例を示す説明図である。
【図６】第１の実施の形態（学習用ラティス作成）の構成例についての概念的なモジュール構成図である。
【図７】第１の実施の形態（認識パラメータ更新量計算）の構成例についての概念的なモジュール構成図である。
【図８】第２の実施の形態（和ラティス作成）の構成例についての概念的なモジュール構成図である。
【図９】テキスト列限定の出力候補ラティスと出力候補ラティスの和の例を示す説明図である。
【図１０】第３の実施の形態（単文字識別結果を転用）の構成例についての概念的なモジュール構成図である。
【図１１】第４の実施の形態（境界評価値を転用）の構成例についての概念的なモジュール構成図である。
【図１２】第５の実施の形態（ＳＧＤ）の構成例についての概念的なモジュール構成図である。
【図１３】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２３】
本実施の形態は、文字列認識技術に関するものである。以下に、本実施の形態の説明で用いる用語の定義を行う。
文字列認識とは、文字画像又は文字のストロークである文字列パタンの入力に対して、対応するテキスト列を出力する処理である。特に、文字数と単文字どうしの境界が未知である文字列の文字列認識の機械学習技術に関するものである。すなわち、単文字が偏や旁からなるため、単文字が複数の連結成分からなる日本語や、単文字どうしが接触して筆記されるため、１つの連結成分が複数の単文字からなる筆記体等の文字列を認識対象とする。
【００２４】
なお、本実施の形態の説明では、画像とストロークを「パタン」と総称する。すなわち、文字列認識の入力は、文字列画像又は文字列ストロークであるが、これらを文字列パタンと総称する。また、文字列認識の正解に相当する単文字の種別（読み）を「テキスト」と呼ぶ。また、単文字パタンどうしの境界を「境界」と呼ぶ。文字列認識の出力は境界列で分割された単文字パタン列とその読みであるテキスト列であるが、これらをまとめて「出力系列」と呼ぶ。また、認識パラメータを学習データから推定することを「学習」（機械学習）と呼ぶ。
【００２５】
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
本実施の形態（すなわち、認識処理に用いる機械学習に関する情報処理装置）を適用する文字列認識の処理を説明する。
図１に入力の文字列パタンの例を示す。図１の例に示す入力に対しては、「本村拓哉」というテキスト列を出力することが良好な文字列認識結果といえる。
【００２６】
図１の例に示す文字列は、文字と文字との間である境界が未知であるため、単文字識別を行うべき領域も未知となる。そこで、ここでの文字列認識は、まず、多数の境界の候補を検出し、単文字パタン以下の単位である部分パタンを作成する。この部分パタンを準文字パタンと呼ぶ。準文字パタン列の例を図２に示す。なお、図２は分かりやすさのため輝度を反転している。
【００２７】
続いて、準文字パタン列について、全ての単文字パタン列の候補を作成する。単文字パタンは連続する１つ以上の準文字パタンによって構成される。よって、（テキスト数が未知であり）準文字パタン数がＮ個のとき、単文字パタン列の候補数は全部で、数式１に示す数だけある。
【数１】
0006511942.tif 000002
このとき、単文字パタン候補を間引きしてもよい。例えば、Ｍ個以下の準文字パタンからなる単文字パタンを作成するという方法がある。Ｍ＝３としてこの方法を適用した単文字パタン列候補の例を図３に示す。つまり、単文字パタンを、３個以下の連続する準文字パタン（１個の準文字パタンを含む）によって構成する。例えば、左端にあるｘ１を含む単文字パタンには、ｘ１の単文字パタン、ｘ１とｘ２の単文字パタン、ｘ１とｘ２とｘ３の単文字パタンがある。図３に示す例において、丸角長方形が単文字パタンを表す。その丸角長方形間をつなぐ直線（リンク）は、単文字パタンどうしが隣り合うことを示す。隣り合うノードを辿ることで単文字パタン列が得られる。また、ｂｏｓ，ｅｏｓは単文字パタン列の始点と終点を表す模式的なノードである。なお、良好な文字列認識結果が得られる単文字パタン列は、１文字目を（ｘ１）、２文字目を（ｘ２，ｘ３）、３文字目を（ｘ４，ｘ５）、４文字目を（ｘ６，ｘ７）とするものであり、図３の例では、黒い丸角長方形（ノード３１０、ノード３２０、ノード３４０、ノード３６０）で図示している。
【００２８】
続いて、単文字識別機を用いて単文字領域（図３の例では、丸角長方形で示された単文字パタン）のテキスト候補を作成する。これにより、文字列認識が出力しうる全ての単文字パタン列とテキスト列の候補が作成される。
このとき、テキスト候補を間引いてもよい。例えば、単文字識別の確信度の高い上位Ｋ個のテキストを採用するという方法がある。Ｋ＝３としてこの方法を適用した文字列認識が出力しうる全ての単文字パタン列とテキスト列の候補の例を図４に示す。図４に示す例は、図３の例に示したものにテキスト候補を付加した例であり、テキストを単文字パタンの中に図示している。隣り合うノードを辿ることで、単文字パタン列とテキスト列が得られる。なお、良好な文字列認識結果は、１文字目を（（ｘ１），‘本’）、２文字目を（（ｘ２，ｘ３），‘村’）、３文字目を（（ｘ４，ｘ５），‘拓’）、４文字目を（（ｘ６，ｘ７），‘哉’）とするものあり、図４の例では、ノード４１０、ノード４２０、ノード４４０、ノード４６０で図示している。
【００２９】
最後に、これらの文字列認識の出力候補から、最適なものを選択し出力する。
いま、入力の準文字パタン列をＸ＝（ｘ１，…，ｘＮ）とする。なお、Ｎは準文字パタン列長である。また、出力の単文字パタン列をＳ＝（ｓ１，…，ｓＴ）とする。なお、ｓｔ＝（ｂｔ，ｅｔ）であり、ｂｔは単文字パタンｓｔに含まれる準文字の開始番号、ｅｔは終了番号を表す。すなわち、単文字パタンｓｔは、準文字パタンである数式２からなる。
【数２】
0006511942.tif 000003
また、ｂ１＝１、ｅＴ＝Ｎ、および、ｂｔ−１＋１＝ｅｔである。また、テキスト列をＹ＝（ｙ１，…，ｙＴ）とする。以上において、Ｔは単文字パタン数とテキスト数を表し、Ｔ≦Ｎである。
【００３０】
さらに、ｖｔ＝（ｓｔ，ｙｔ）として、文字列認識の出力系列をＶ＝（ｖ１，…，ｖＴ）とすると、図４に示す例は、Ｖの全候補を含むラティスと見ることができる。最適な候補の選択とは、数式３のようにエネルギー関数Ｅ（Ｘ，Ｖ，Θ）が最小となるＶ＊を探索することである。なお、Θは学習によって得られる認識パラメータである。
【数３】
0006511942.tif 000004
【００３１】
エネルギー関数Ｅ（Ｘ，Ｖ，Θ）は、数式４のように計算すればよい。これは、隣り合う出力系列の要素から計算される局所的なエネルギー関数Ｅ（ｖｔ−１，ｖｔ，Ｘ，Θ）の和となっている。このようにエネルギー関数を部分に分解することで、数式３の探索がＶｉｔｅｒｂｉ−Ａｌｇｏｒｉｔｈｍと呼ばれる方法で高速に解かれることが知られている。
【数４】
0006511942.tif 000005
【００３２】
さらに、局所的なエネルギー関数Ｅ（ｖｔ−１，ｖｔ，Ｘ，Θ）は、数式６や数式７、又は、数式８のように計算すればよい。それぞれ、数式６は非特許文献１で、数式７は非特許文献２で、数式８は非特許文献３、４、５で示される方法である。
【数５】
0006511942.tif 000006
なお、数式５はパラメータΘの要素である。また、Ｆ，Ｖはパラメータのサイズである。また、ｆｉ（ｓｔ−１，ｓｔ，Ｘ）やｆｉ（ｓｔ−１，ｓｔ，ｙｔ−１、ｙｔ，Ｘ）は特徴量関数である。また、σ（・）はシグモイド関数等を用いればよい。
【数６】
0006511942.tif 000007
【数７】
0006511942.tif 000008
【数８】
0006511942.tif 000009
なお、特徴量関数は、非特許文献３、４、５や特許文献１等で示される方法を用いればよい。また、数式３では、ｖ０＝（ｓ０，ｙ０）が必要となるが、これはＸや事前の知識に基づいて計算される仮想的なノード（すなわち、ｂｏｓ）を設定すればよい。例えば、ｓ０＝（０，０）としてｙ０にはスペースコードや、文字列の始端を表す任意のシンボル等を設定すればよい。
【００３３】
特許文献１、２、３や非特許文献３、４、５に示される文字列認識技術は、いずれも本実施の形態と同様に文字数と境界が未知である文字列を認識しようとするものである。また、その認識パラメータの学習方法が示されるものである。
非特許文献３、４、５や特許文献１に示される技術は、学習の教師信号として正解の出力系列が必要となる。すなわち、正解のテキスト列と正解の単文字パタン列（境界列）の両方が必要であるため、学習データ作成コストが大きい。
これに対して、特許文献２や特許文献３に示される技術は、学習の教師信号として正解のテキスト列のみ必要であるため、単文字パタン列の教師信号付与コストがなく、学習データ作成のコストが小さい。しかし、特許文献２に示される技術は、教師信号として与えられない単文字パタン列の情報を補うため、学習の前処理として境界の分割を行い単文字パタン列を一意に決定するが、この単文字パタン列が学習の教師信号となるため、ある程度良好な認識パラメータを学習の初期値としなければ良好な認識パラメータが得られない。また、特許文献３に示される技術は、学習の目的関数として正解のテキスト列と文字列認識が出力するテキスト列の編集距離を用いるが、編集距離はテキストの一致不一致に基づく離散量であり一般に評価関数に対して精度が粗いため、学習によって良好な認識パラメータが得られない。さらに、目的関数である編集距離が認識パラメータによって微分不可能であるため、計算コストの大きい数値微分によって学習を行う必要があり、計算コストが大きい。
以上のように、文字列認識において、従来の学習によって良好な認識パラメータを得るためには学習データ作成のコストが大きくなる。
【００３４】
本実施の形態の概要を説明する。
本実施の形態は、文字列認識機が文字列パタンに対して、正解のテキスト列で限定される出力系列の候補を作成することで、学習データ作成のコストを減少させる。具体的には、図２の例に示すような準文字パタン列に対して、図５の例に示すようなテキスト列で限定された出力候補ラティスを作成する。以下では、これをテキスト列限定ラティスと呼ぶ。テキスト列限定ラティスには、図４の例に示す出力候補ラティスに含まれる正解の出力系列の他、正解のテキスト列を持つが、単文字パタン列が異なる出力系列を持つ。すなわち、正解の出力系列である「ノード５１０、ノード５２０、ノード５４０、ノード５６０」の他に、正解でない出力系列（境界が誤っているものが含まれている出力系列）が教師信号として与えられる。
しかし、本実施の形態の学習においては、テキスト列限定ラティスのそれぞれの出力系列について、その評価値で重み付けを行うことで、学習の進行に伴い、正解でない出力系列の影響が低減され、学習が良好なものとなる。
【００３５】
本実施の形態によれば、特許文献２や特許文献３に示される技術と同様に、教師信号として正解のテキスト列のみが必要であり、単文字パタン列の教師信号付与コストがない学習データ作成コストの小さい文字列認識の学習が実現される。
さらに本実施の形態は、前処理として単文字パタン列を一意に決定しないため、初期値に依存せず、学習によって良好な認識パラメータが得られる、また、本実施の形態の目的関数は、非特許文献３、４、５や特許文献１と同様に、認識パラメータによって微分可能であり、評価関数に対して十分な精度を持つため、学習によって良好な認識パラメータが得られ、また、その計算コストが小さい。
【００３６】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜＜第１の実施の形態＞＞
図６は、第１の実施の形態（学習用ラティス作成）の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システムおよび方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００３７】
本実施の形態の最小構成の実施の形態の例を図６、図７に示す。本実施の形態によって、学習における認識パラメータ更新量が得られる。
図６の例に示す第１の実施の形態（学習用ラティス作成）は、単文字パタン列候補作成モジュール６１０、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０、単文字識別１モジュール６４０、学習用ラティス書き出しモジュール６５０を有している。
図６の例に示す構成は、準文字パタン列６０８と正解テキスト列６０６を入力として（つまり、境界に関する情報は入力として不要である）、出力候補ラティス６２２とテキスト列限定ラティス６３２を出力する。以下では、これら２つのラティスのペアを学習用ラティス６５２と呼ぶ。
単文字パタン列候補作成モジュール６１０は、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０と接続されており、認識対象についての準文字パタン列６０８を受け付け、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０に単文字パタン列候補６１２を渡す。
出力候補ラティス作成１モジュール６２０は、単文字パタン列候補作成モジュール６１０、単文字識別１モジュール６４０、学習用ラティス書き出しモジュール６５０と接続されており、単文字パタン列候補作成モジュール６１０から単文字パタン列候補６１２を受け取り、単文字識別１モジュール６４０に単文字パタン６２４を渡し、単文字識別１モジュール６４０から単文字識別結果６４２を受け取り、学習用ラティス書き出しモジュール６５０に出力候補ラティス６２２を渡す。出力候補ラティス作成１モジュール６２０は、認識対象に対する文字認識結果の系列を含む出力候補ラティス６２２を作成する。
テキスト列限定ラティス作成１モジュール６３０は、単文字パタン列候補作成モジュール６１０、単文字識別１モジュール６４０、学習用ラティス書き出しモジュール６５０と接続されており、正解テキスト列６０６を受け付け、単文字パタン列候補作成モジュール６１０から単文字パタン列候補６１２を受け取り、単文字識別１モジュール６４０に単文字パタン６３４を渡し、単文字識別１モジュール６４０から単文字識別結果６４４を受け取り、学習用ラティス書き出しモジュール６５０にテキスト列限定ラティス６３２を渡す。テキスト列限定ラティス作成１モジュール６３０は、準文字パタン列の組み合わせによって、認識対象に対する正解テキスト列の系列を含むテキスト列限定ラティス６３２を作成する。なお、出力候補ラティス作成１モジュール６２０とテキスト列限定ラティス作成１モジュール６３０の処理を、１つのモジュールで行うようにしてもよい。
単文字識別１モジュール６４０は、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０と接続されており、出力候補ラティス作成１モジュール６２０から単文字パタン６２４を受け取り、出力候補ラティス作成１モジュール６２０に単文字識別結果６４２を渡し、テキスト列限定ラティス作成１モジュール６３０から単文字パタン６３４を受け取り、テキスト列限定ラティス作成１モジュール６３０に単文字識別結果６４４を渡す。
学習用ラティス書き出しモジュール６５０は、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０と接続されており、出力候補ラティス作成１モジュール６２０から出力候補ラティス６２２を、テキスト列限定ラティス作成１モジュール６３０からテキスト列限定ラティス６３２を受け取り、学習用ラティス６５２を出力する。
【００３８】
まず、単文字パタン列候補作成モジュール６１０が、図３の例に示すような単文字パタン列候補６１２を作成する。
続いて、出力候補ラティス作成１モジュール６２０が、図４の例に示すような出力候補ラティス６２２を作成する。また、テキスト列限定ラティス作成モジュール６３０が、図５の例に示すようなテキスト列限定ラティス６３２を作成する。このとき、単文字パタン列候補６１２に含まれる単文字パタン６２４、６３４について、単文字識別１モジュール６４０によって単文字識別結果６４２、６４４を得る。
最後に、学習用ラティス書き出しモジュール６５０が、出力候補ラティス６２２とテキスト限定ラティス６３２をペアとして書き出す。
【００３９】
図７の例に示す第１の実施の形態（認識パラメータ更新量計算）は、学習用ラティス読み込みモジュール７１０、期待値計算１モジュール７２０、期待値計算１モジュール７３０、差分計算モジュール７４０を有している。
図７の例に示す構成は、学習用系列候補である学習用ラティス６５２（学習用ラティス書き出しモジュール６５０の出力）と認識パラメータ７０６を入力として、認識パラメータ更新量７４２を出力する。
学習用ラティス読み込みモジュール７１０は、期待値計算１モジュール７２０、期待値計算１モジュール７３０と接続されており、学習用ラティス６５２を受け付け、期待値計算１モジュール７２０に出力候補ラティス７１２を、期待値計算１モジュール７３０にテキスト列限定ラティス７１４を渡す。
期待値計算１モジュール７２０は、学習用ラティス読み込みモジュール７１０、差分計算モジュール７４０と接続されており、認識パラメータ７０６を受け付け、学習用ラティス読み込みモジュール７１０から出力候補ラティス７１２を受け取り、差分計算モジュール７４０に出力候補ラティス期待値７２２を渡す。
期待値計算１モジュール７３０は、学習用ラティス読み込みモジュール７１０、差分計算モジュール７４０と接続されており、認識パラメータ７０６を受け付け、学習用ラティス読み込みモジュール７１０からテキスト列限定ラティス７１４を受け取り、差分計算モジュール７４０にテキスト列限定ラティス期待値７３２を渡す。期待値計算１モジュール７３０は、出力候補ラティス作成１モジュール６２０によって作成された出力候補ラティス６２２と、テキスト列限定ラティス作成１モジュール６３０によって作成されたテキスト列限定ラティス６３２に含まれる系列の評価値の微分値の期待値を各々算出し、機械学習における認識パラメータ更新量として、その第１のラティスの期待値とその第２のラティスの期待値の差分を算出する。
差分計算モジュール７４０は、期待値計算１モジュール７２０、期待値計算１モジュール７３０と接続されており、期待値計算１モジュール７２０から出力候補ラティス期待値７２２を、期待値計算１モジュール７３０からテキスト列限定ラティス期待値７３２を受け取る。
【００４０】
まず、学習用ラティス読み込みモジュール７１０が、学習用ラティス６５２を読み出し、出力候補ラティス７１２とテキスト列限定ラティス７１４を出力する。
続いて、期待値計算１モジュール７２０、７３０が、数式９のＦｕｎｃ（Ｇ，Θ）をそれぞれのラティスについて計算する。数式９は、ラティスＧと認識パラメータΘを入力としている。なお、Θは、パラメータの次元数だけの長さを持つベクトルである。また、ｅｄｇｅｓは、ラティスＧに含まれる全ての隣り合うノードのペアの集合である。これは、図４、図５に示す例では、実線で結ばれる２つのノードのペアに相当する。なお、簡単のため局所的なエネルギー関数に関する式を、数式１０、数式１１のように省略している。また、α（ｖ），β（ｖ），Ｚは、それぞれ数式１２、数式１３、数式１４、数式１５、数式１６のように計算される。なお、数式１２において、ｐｒｅｖｓ（ｖ）は、ラティスＧに含まれるノードｖの直前のノードの集合である。また、数式１３において、ｐｏｓｔｓ（ｖ）は、ラティスＧに含まれるノードｖの直後のノードの集合である。
続いて、差分計算モジュール７４０が数式１７のパラメータ更新量∇ΘＬ（Ｘ，Ｙ，Θ）を計算する。なお、出力候補ラティス７１２をＧ（Ｘ）としている。また、テキスト列限定ラティス７１４をＧ（Ｘ，Ｙ）としている。
【数９】
0006511942.tif 000010
【数１０】
0006511942.tif 000011
【数１１】
0006511942.tif 000012
【数１２】
0006511942.tif 000013
【数１３】
0006511942.tif 000014
【数１４】
0006511942.tif 000015
【数１５】
0006511942.tif 000016
【数１６】
0006511942.tif 000017
【数１７】
0006511942.tif 000018
【００４１】
数式１７において、テキスト列限定ラティスＧ（Ｘ，Ｙ）から計算されるＦｕｎｃ（Ｇ（Ｘ，Ｙ），Θ）は、数式１８の計算に相当する。数式１８のＰ（Ｓ｜Ｘ，Ｙ，Θ）は、準文字パタン列Ｘ、正解のテキスト列Ｙ、および認識パラメータΘが与えられたときの単文字パタン列Ｓの評価値であり、数式１９のように計算する。また、非特許文献４と同様に数式２０のように計算してもよい。すなわち、数式１８は、テキスト列限定ラティスに含まれるそれぞれの系列から計算されるパラメータ更新量について、その評価値で重み付けされた和を計算している。なお、数式１９が確率の定義を満たすため、数式１８は期待値と呼ぶことができる。これにより、学習によって認識パラメータΘが良好となるのに伴って正解の出力系列以外の評価値は小さくなるため、誤った教師信号の影響を低減され、良好な学習が実現される。なお、出力候補ラティスＧ（Ｘ）から計算されるＦｕｎｃ（Ｇ（Ｘ，Ｙ），Θ）は非特許文献３、４に示される技術と同様である。
また、テキスト列限定ラティスを利用して、非特許文献５に示される技術のように認識パラメータ更新量を計算してもよい。
【数１８】
0006511942.tif 000019
【数１９】
0006511942.tif 000020
【数２０】
0006511942.tif 000021
【００４２】
なお、実施においては図６の例に示す学習用ラティス書き出しモジュール６５０と、図７の例に示す学習用ラティス読み出しモジュール７１０を取り除き、図６と図７をつなげてもよい。
しかし、学習においては、多数の準文字パタン列６０８を学習データとすることが多く、また、認識パラメータの更新の繰り返しが行われることが多い。認識パラメータ更新量７４２は、図７の例に示す実施の形態に示す通り、学習用ラティス６５２から計算される。そこで、まずは、図６の例に示す実施の形態を用いて多数の学習用ラティス６５２を作成し、記憶装置に保持しておき、続いて、図７の例に示す実施の形態によって、その記憶装置から読み出して、パラメータ更新量を計算することで、学習用ラティス作成が初回のみで済み、計算コストが小さくなる。
【００４３】
＜＜第２の実施の形態＞＞
図８は、第２の実施の形態（和ラティス作成）の構成例についての概念的なモジュール構成図である。
第２の実施の形態は、単文字パタン列候補作成モジュール６１０、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０、単文字識別１モジュール６４０、和ラティス作成モジュール８５０、学習用ラティス書き出しモジュール６５０を有している。図６の例に示した構成に、和ラティス作成モジュール８５０を加えたものである（図６の例に示す実施の形態の別形態）。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下、同様）。
第２の実施の形態は、テキスト列限定ラティス６３２と出力候補ラティス６２２の和であるラティス（和ラティス８５２）を作成する。この第２の実施の形態によって、図６、図７の例に示す第１の実施の形態よりもさらに良好な認識パラメータ更新量７４２が得られる。なお、前述したように、第１の実施の形態の出力候補ラティス６２２として、単文字識別の確信度の高い上位Ｋ個のテキストを採用した場合（図４の例では、上位３個まで）では、正解テキストが、その中に含まれていない場合もあり得る。第２の実施の形態は、このような場合に対処するものである。
【００４４】
出力候補ラティス作成１モジュール６２０は、単文字パタン列候補作成モジュール６１０、単文字識別１モジュール６４０、和ラティス作成モジュール８５０と接続されており、単文字パタン列候補作成モジュール６１０から単文字パタン列候補６１２を受け取り、単文字識別１モジュール６４０に単文字パタン６２４を渡し、単文字識別１モジュール６４０から単文字識別結果６４２を受け取り、和ラティス作成モジュール８５０に出力候補ラティス６２２を渡す。
テキスト列限定ラティス作成１モジュール６３０は、単文字パタン列候補作成モジュール６１０、単文字識別１モジュール６４０、和ラティス作成モジュール８５０、学習用ラティス書き出しモジュール６５０と接続されており、正解テキスト列６０６を受け付け、単文字パタン列候補作成モジュール６１０から単文字パタン列候補６１２を受け取り、単文字識別１モジュール６４０に単文字パタン６３４を渡し、単文字識別１モジュール６４０から単文字識別結果６４４を受け取り、和ラティス作成モジュール８５０と学習用ラティス書き出しモジュール６５０にテキスト列限定ラティス６３２を渡す。
和ラティス作成モジュール８５０は、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０、学習用ラティス書き出しモジュール６５０と接続されており、出力候補ラティス作成１モジュール６２０から出力候補ラティス６２２を、テキスト列限定ラティス作成１モジュール６３０からテキスト列限定ラティス６３２を受け取り、学習用ラティス書き出しモジュール６５０に和ラティス８５２を渡す。和ラティス作成モジュール８５０は、出力候補ラティス作成１モジュール６２０が作成した出力候補ラティス６２２とテキスト列限定ラティス作成１モジュール６３０が作成したテキスト列限定ラティス６３２を統合した和ラティス８５２を作成し、その和ラティス８５２を第１の実施の形態における出力候補ラティス６２２として扱う。ここでの統合とは、いわゆる和（論理和処理）であり、具体的には、テキスト列限定ラティス６３２に含まれるノードが出力候補ラティス６２２にない場合は、そのノードを出力候補ラティス６２２に付加し、テキスト列限定ラティス６３２に含まれるノードが出力候補ラティス６２２にある場合は、何もしない（出力候補ラティス６２２にノードを加えることをしない）。この処理を、テキスト列限定ラティス６３２内の全てのノードに対して行う。
学習用ラティス書き出しモジュール６５０は、和ラティス作成モジュール８５０、テキスト列限定ラティス作成１モジュール６３０と接続されており、和ラティス作成モジュール８５０から和ラティス８５２を、テキスト列限定ラティス作成１モジュール６３０からテキスト列限定ラティス６３２を受け取り、学習用ラティス６５２を出力する。
【００４５】
第２の実施の形態は、学習用系列候補である学習用ラティス６５２と認識パラメータ７０６を入力として、認識パラメータ更新量７４２を出力する。図６の例と異なり、和ラティス作成モジュール８５０が出力候補ラティス６２２とテキスト列限定ラティス６３２の和であるラティス（和ラティス８５２）を作成する。和ラティス８５２は、テキスト列限定ラティス６３２を包含する。すなわち、テキスト列限定ラティス６３２に含まれる出力系列は全て和ラティス８５２に含まれる。和ラティス８５２の例を図９に示す。図９に示す例は、図４と図５の例に示すラティスの和となっている。なお、図５の例で示したノードは、図９の例では、点線の丸角長方形で示している。
【００４６】
第２の実施の形態における学習用ラティス６５２は、図６の例に示す実施の形態について、出力候補ラティス６２２を和ラティス８５２で置き換えたものに相当する。
テキスト列限定ラティス６３２には、正解でない出力系列が含まれる。一方、テキスト列限定ラティス６３２が包含される第２の実施の形態における和ラティス８５２にも、上記の正解でない出力系列が包含される。これにより、数式１７に示すようにそれぞれのラティスに対して期待値計算を行いその差を計算することで、正解でない出力系列の影響が相殺され、より良好な認識パラメータ更新量７４２が得られる。
【００４７】
＜＜第３の実施の形態＞＞
図１０は、第３の実施の形態（単文字識別結果を転用）の構成例についての概念的なモジュール構成図である。
第３の実施の形態は、単文字パタン列候補作成モジュール６１０、出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成２モジュール１０３０、単文字識別２モジュール１０４０、単文字識別結果記憶モジュール１０６０、学習用ラティス書き出しモジュール６５０を有している。図６の例に示した構成に、単文字識別結果記憶モジュール１０６０を加え、単文字識別１モジュール６４０の代わりに単文字識別２モジュール１０４０、出力候補ラティス作成１モジュール６２０の代わりに出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成１モジュール６３０の代わりにテキスト列限定ラティス作成２モジュール１０３０としたものである。
第３の実施の形態によれば、重複する単文字パタンの単文字識別の計算コストを減少させる。本実施の形態は図６、図８の例に示した構成の別形態である。なお、図８の例に示した構成と組み合わせてもよい。つまり、単文字パタン列候補作成モジュール６１０、出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成２モジュール１０３０、単文字識別２モジュール１０４０、単文字識別結果記憶モジュール１０６０、和ラティス作成モジュール８５０、学習用ラティス書き出しモジュール６５０を有したものとしてもよい。
【００４８】
単文字パタン列候補作成モジュール６１０は、出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成２モジュール１０３０、単文字識別２モジュール１０４０と接続されており、準文字パタン列６０８を受け付け、出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成２モジュール１０３０、単文字識別２モジュール１０４０に単文字パタン列候補６１２を渡す。
出力候補ラティス作成２モジュール１０２０は、単文字パタン列候補作成モジュール６１０、単文字識別結果記憶モジュール１０６０、学習用ラティス書き出しモジュール６５０と接続されており、単文字パタン列候補作成モジュール６１０から単文字パタン列候補６１２を受け取り、学習用ラティス書き出しモジュール６５０に出力候補ラティス６２２を渡す。出力候補ラティス作成２モジュール１０２０は、出力候補ラティス作成１モジュール６２０と同等の処理を行うが、単文字識別結果記憶モジュール１０６０に記憶されている単文字パタンの単文字識別結果を用いる。
テキスト列限定ラティス作成２モジュール１０３０は、単文字パタン列候補作成モジュール６１０、単文字識別結果記憶モジュール１０６０、学習用ラティス書き出しモジュール６５０と接続されており、単文字パタン列候補作成モジュール６１０から単文字パタン列候補６１２を受け取り、学習用ラティス書き出しモジュール６５０にテキスト列限定ラティス６３２を渡す。テキスト列限定ラティス作成２モジュール１０３０は、テキスト列限定ラティス作成１モジュール６３０と同等の処理を行うが、単文字識別結果記憶モジュール１０６０に記憶されている単文字パタンの単文字識別結果を用いる。
単文字識別２モジュール１０４０は、単文字パタン列候補作成モジュール６１０、単文字識別結果記憶モジュール１０６０と接続されており、単文字パタン列候補作成モジュール６１０から単文字パタン列候補６１２を受け取る。単文字識別２モジュール１０４０は、単文字識別１モジュール６４０と同等の処理を行うが、その結果を単文字識別結果記憶モジュール１０６０に記憶させる。
単文字識別結果記憶モジュール１０６０は、出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成２モジュール１０３０、単文字識別２モジュール１０４０と接続されている。単文字識別結果記憶モジュール１０６０は、単文字パタンの単文字識別結果を記憶する。
学習用ラティス書き出しモジュール６５０は、出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成２モジュール１０３０と接続されており、出力候補ラティス作成２モジュール１０２０から出力候補ラティス６２２を、テキスト列限定ラティス作成２モジュール１０３０からテキスト列限定ラティス６３２を受け取り、学習用ラティス６５２を出力する。
【００４９】
第３の実施の形態では、まず、単文字識別２モジュール１０４０が単文字パタン列の全ての単文字パタンについて単文字識別を行い、その結果を保持しておく。続いて、出力候補ラティス作成２モジュール１０２０とテキスト列限定ラティス作成２モジュール１０３０は、前記の単文字識別結果を参照してラティス（出力候補ラティス６２２、テキスト列限定ラティス６３２）を作成する。図４、図５、図８の例に示した通り、出力候補ラティス６２２とテキスト列限定ラティス６３２は共通の単文字識別結果を持つため、第３の実施の形態のように一度単文字識別を行った結果を保持・参照することで、単文字識別の計算コストが小さくなる。
【００５０】
＜＜第４の実施の形態＞＞
図１１は、第４の実施の形態（境界評価値を転用）の構成例についての概念的なモジュール構成図である。
第４の実施の形態は、学習用ラティス読み込みモジュール７１０、期待値計算２モジュール１１２０、期待値計算３モジュール１１３０、局所エネルギー関数計算結果記憶モジュール１１５０、差分計算モジュール７４０を有している。図７の例に示した構成に、局所エネルギー関数計算結果記憶モジュール１１５０を加え、期待値計算１モジュール７２０の代わりに期待値計算２モジュール１１２０、期待値計算１モジュール７３０の代わりに期待値計算３モジュール１１３０としたものである。
第４の実施の形態によれば、重複する局所的なエネルギー関数の計算結果を転用することによって、そのエネルギー関数の計算コストを減少させる。本実施の形態は、図７の実施の形態の別形態である。
【００５１】
学習用ラティス読み込みモジュール７１０は、期待値計算２モジュール１１２０、期待値計算３モジュール１１３０と接続されており、学習用ラティス６５２を受け付け、期待値計算２モジュール１１２０に出力候補ラティス７１２を、期待値計算３モジュール１１３０にテキスト列限定ラティス７１４を渡す。
期待値計算２モジュール１１２０は、学習用ラティス読み込みモジュール７１０、局所エネルギー関数計算結果記憶モジュール１１５０、差分計算モジュール７４０と接続されており、認識パラメータ７０６を受け付け、学習用ラティス読み込みモジュール７１０から出力候補ラティス７１２を受け取り、差分計算モジュール７４０に出力候補ラティス期待値７２２を渡す。期待値計算２モジュール１１２０は、期待値計算１モジュール７２０と同等の処理を行うが、その計算結果を局所エネルギー関数計算結果記憶モジュール１１５０に記憶させる。
期待値計算３モジュール１１３０は、学習用ラティス読み込みモジュール７１０、局所エネルギー関数計算結果記憶モジュール１１５０、差分計算モジュール７４０と接続されており、認識パラメータ７０６を受け付け、学習用ラティス読み込みモジュール７１０からテキスト列限定ラティス７１４を受け取り、差分計算モジュール７４０にテキスト列限定ラティス期待値７３２を渡す。期待値計算３モジュール１１３０は、期待値計算１モジュール７３０と同等の処理を行うが、期待値計算２モジュール１１２０と共通する局所的なエネルギー関数に関する計算結果は、局所エネルギー関数計算結果記憶モジュール１１５０に記憶されている計算結果を用いる。
局所エネルギー関数計算結果記憶モジュール１１５０は、期待値計算２モジュール１１２０、期待値計算３モジュール１１３０と接続されている。局所エネルギー関数計算結果記憶モジュール１１５０は、期待値計算２モジュール１１２０による期待値計算において、期待値計算２モジュール１１２０と期待値計算３モジュール１１３０とで共通する局所的なエネルギー関数に関する計算結果を記憶する。
差分計算モジュール７４０は、期待値計算２モジュール１１２０、期待値計算３モジュール１１３０と接続されており、期待値計算２モジュール１１２０から出力候補ラティス期待値７２２を、期待値計算３モジュール１１３０からテキスト列限定ラティス期待値７３２を受け取る。
【００５２】
第４の実施の形態において、期待値計算２モジュール１１２０は数式９を計算し、その∇ΘＥ（ｖ’，ｖ）、また、数式１０、数式１１の値を保持しておく。続いて、期待値計算３モジュール１１３０は、局所エネルギー関数計算結果記憶モジュール１１５０に保持された前記値を参照して数式９を計算する。もし、対応する∇ΘＥ（ｖ’，ｖ）、また、数式１０、数式１１の値が保持されていなければ、新たに計算する。図４、図５、図８の例に示す通り、出力候補ラティス７１２とテキスト列限定ラティス７１４は共通の境界を持つため、第４の実施の形態のように一度計算した局所的なエネルギー関数の値を保持・参照することで、数式９の計算コストが小さくなる。
【００５３】
＜＜第５の実施の形態＞＞
図１２は、第５の実施の形態（Ｓｔｏｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｄｅｓｃｅｎｔ（確率的勾配降下法、以下、ＳＧＤという））の構成例についての概念的なモジュール構成図である。
第５の実施の形態は、学習用ラティス作成モジュール１２１０、学習用ラティス全セット記憶モジュール１２２０、サブセット抽出モジュール１２３０、認識パラメータ更新量算出モジュール１２４０、認識パラメータ記憶モジュール１２５０、認識パラメータ更新モジュール１２６０を有している。
第５の実施の形態によれば、複数の学習用ラティスを学習に用いることで、より良好な認識パラメータが得られる。
第５の実施の形態は、学習用ラティスのセットと認識パラメータの初期値を入力として、認識パラメータを逐次更新・出力する。学習用ラティスのセットは、複数の文字列パタンとその正解テキスト列から図６、図８、図１０等の例に示す実施の形態によって予め作成しておく。
【００５４】
学習用ラティス作成モジュール１２１０は、学習用ラティス全セット記憶モジュール１２２０と接続されており、正解テキスト列セット１２０６、準文字パタン列セット１２０８を受け付ける。学習用ラティス作成モジュール１２１０は、正解テキスト列セット１２０６と準文字パタン列セット１２０８を用いて、出力候補ラティス６２２とテキスト列限定ラティス６３２のペアのセットを作成する。具体的には、図６、図８、図１０等の例に示す実施の形態によって作成する。
学習用ラティス全セット記憶モジュール１２２０は、学習用ラティス作成モジュール１２１０、サブセット抽出モジュール１２３０と接続されている。学習用ラティス全セット記憶モジュール１２２０は、学習用ラティス作成モジュール１２１０によって作成されたセットを記憶する。
サブセット抽出モジュール１２３０は、学習用ラティス全セット記憶モジュール１２２０、認識パラメータ更新量算出モジュール１２４０と接続されており、認識パラメータ更新量算出モジュール１２４０に学習用ラティスサブセット１２３２を渡す。サブセット抽出モジュール１２３０は、学習用ラティス全セット記憶モジュール１２２０に記憶されているセットから学習用ラティスサブセット１２３２を抽出する。
認識パラメータ更新量算出モジュール１２４０は、サブセット抽出モジュール１２３０、認識パラメータ記憶モジュール１２５０、認識パラメータ更新モジュール１２６０と接続されており、サブセット抽出モジュール１２３０から学習用ラティスサブセット１２３２を受け取り、認識パラメータ更新モジュール１２６０に認識パラメータ更新量セット１２４２を渡す。認識パラメータ更新量算出モジュール１２４０は、サブセット抽出モジュール１２３０によって抽出された学習用ラティスサブセット１２３２に含まれるそれぞれのペアについて、認識パラメータ更新量セット１２４２を算出する。具体的には、図７、図１１等の例に示す実施の形態によって作成する。
認識パラメータ記憶モジュール１２５０は、認識パラメータ更新量算出モジュール１２４０、認識パラメータ更新モジュール１２６０と接続されている。認識パラメータ記憶モジュール１２５０は、認識パラメータ（前述の実施の形態では、認識パラメータ７０６に該当）を記憶しており、認識パラメータ更新モジュール１２６０によって更新される。
認識パラメータ更新モジュール１２６０は、認識パラメータ更新量算出モジュール１２４０、認識パラメータ記憶モジュール１２５０と接続されており、認識パラメータ更新量算出モジュール１２４０から認識パラメータ更新量セット１２４２を受け取る。認識パラメータ更新モジュール１２６０は、認識パラメータ更新量セット１２４２について、対応するその認識パラメータ更新量の和を算出し、予め定められた係数を乗算し、現在の認識パラメータ更新量からその乗算結果の値を減算することで、認識パラメータ記憶モジュール１２５０内の認識パラメータを更新する。
そして、サブセット抽出モジュール１２３０、認識パラメータ更新量算出モジュール１２４０、認識パラメータ更新モジュール１２６０による処理を繰り返す。
【００５５】
第５の実施の形態では、まず、学習用ラティス作成モジュール１２１０が、準文字パタン列セット１２０８と正解テキスト列セット１２０６から、図６、図８、図１０等の例に示した実施の形態によって学習用ラティスのセットを作成する。
続いて、サブセット抽出モジュール１２３０が、学習用ラティスのセットから、そのサブセットである学習用ラティスサブセット１２３２を抽出する。
【００５６】
続いて、認識パラメータ更新量算出モジュール１２４０が、学習用ラティスサブセット１２３２に含まれる学習用ラティスについて、図７、図１１等の例に示した実施の形態によって認識パラメータ更新量を計算し、その和である認識パラメータ更新量セット１２４２を出力する。
続いて、認識パラメータ更新モジュール１２６０が、先の和に予め定められた係数を乗算し、現在の認識パラメータからこの値を減算することで認識パラメータを更新する。
以上の処理を繰り返す。
複数の学習用ラティスを用いることで、より良好な認識パラメータ更新量が求まるため、より良好な認識パラメータが得られる。
【００５７】
図１３を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図１３に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部１３１７と、プリンタ等のデータ出力部１３１８を備えたハードウェア構成例を示している。
【００５８】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３０１は、前述の実施の形態において説明した各種のモジュール、すなわち、単文字パタン列候補作成モジュール６１０、出力候補ラティス作成１モジュール６２０、テキスト列限定ラティス作成１モジュール６３０、単文字識別１モジュール６４０、学習用ラティス書き出しモジュール６５０、学習用ラティス読み込みモジュール７１０、期待値計算１モジュール７２０、期待値計算１モジュール７３０、差分計算モジュール７４０、和ラティス作成モジュール８５０、出力候補ラティス作成２モジュール１０２０、テキスト列限定ラティス作成２モジュール１０３０、単文字識別２モジュール１０４０、期待値計算２モジュール１１２０、期待値計算３モジュール１１３０、学習用ラティス作成モジュール１２１０、サブセット抽出モジュール１２３０、認識パラメータ更新量算出モジュール１２４０、認識パラメータ更新モジュール１２６０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５９】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０２は、ＣＰＵ１３０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３０３は、ＣＰＵ１３０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス１３０４により相互に接続されている。
【００６０】
ホストバス１３０４は、ブリッジ１３０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス１３０６に接続されている。
【００６１】
キーボード１３０８、マウス等のポインティングデバイス１３０９は、操作者により操作される入力デバイスである。ディスプレイ１３１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。
【００６２】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１３１１は、ハードディスク（フラッシュメモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ１３０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、単文字識別結果記憶モジュール１０６０、局所エネルギー関数計算結果記憶モジュール１１５０、学習用ラティス全セット記憶モジュール１２２０、認識パラメータ記憶モジュール１２５０等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００６３】
ドライブ１３１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１３１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１３０７、外部バス１３０６、ブリッジ１３０５、およびホストバス１３０４を介して接続されているＲＡＭ１３０３に供給する。リムーバブル記録媒体１３１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６４】
接続ポート１３１４は、外部接続機器１３１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１３１４は、インタフェース１３０７、および外部バス１３０６、ブリッジ１３０５、ホストバス１３０４等を介してＣＰＵ１３０１等に接続されている。通信部１３１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部１３１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１３１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６５】
なお、図１３に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１３に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１３に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６６】
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【００６７】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去および書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６８】
６０６…正解テキスト列
６０８…準文字パタン列
６１０…単文字パタン列候補作成モジュール
６１２…単文字パタン列候補
６２０…出力候補ラティス作成１モジュール
６２２…出力候補ラティス
６２４…単文字パタン
６３０…テキスト列限定ラティス作成１モジュール
６３２…テキスト列限定ラティス
６３４…単文字パタン
６４０…単文字識別１モジュール
６４２…単文字識別結果
６４４…単文字識別結果
６５０…学習用ラティス書き出しモジュール
６５２…学習用ラティス
７０６…認識パラメータ
７１０…学習用ラティス読み込みモジュール
７１２…出力候補ラティス
７１４…テキスト列限定ラティス
７２０…期待値計算１モジュール
７２２…出力候補ラティス期待値
７３０…期待値計算１モジュール
７３２…テキスト列限定ラティス期待値
７４０…差分計算モジュール
７４２…認識パラメータ更新量
８５０…和ラティス作成モジュール
８５２…和ラティス
１０２０…出力候補ラティス作成２モジュール
１０３０…テキスト列限定ラティス作成２モジュール
１０４０…単文字識別２モジュール
１０６０…単文字識別結果記憶モジュール
１１２０…期待値計算２モジュール
１１３０…期待値計算３モジュール
１１５０…局所エネルギー関数計算結果記憶モジュール
１２０６…正解テキスト列セット
１２０８…準文字パタン列セット
１２１０…学習用ラティス作成モジュール
１２２０…学習用ラティス全セット記憶モジュール
１２３０…サブセット抽出モジュール
１２３２…学習用ラティスサブセット
１２４０…認識パラメータ更新量算出モジュール
１２４２…認識パラメータ更新量セット
１２５０…認識パラメータ記憶モジュール
１２６０…認識パラメータ更新モジュール
【図１】
0006511942.tif 000022
【図２】
0006511942.tif 000023
【図３】
0006511942.tif 000024
【図４】
0006511942.tif 000025
【図５】
0006511942.tif 000026
【図６】
0006511942.tif 000027
【図７】
0006511942.tif 000028
【図８】
0006511942.tif 000029
【図９】
0006511942.tif 000030
【図１０】
0006511942.tif 000031
【図１１】
0006511942.tif 000032
【図１２】
0006511942.tif 000033
【図１３】
0006511942.tif 000034