(57)【特許請求の範囲】
【請求項１】
文字認識結果に対して後処理を施すことにより認識文字列候補を出力する文字認識装置において、
前記文字認識結果により得られた認識候補文字群の信頼度を算出する信頼度算出手段と、
当該信頼度算出手段によって算出された信頼度に基づいて、連接関係にある一の前記認識候補文字群の中の候補文字と他の前記認識候補文字群の中の候補文字との間の連接確率に対する重みを設定する重み設定手段と、
を備え、
前記重み設定手段では、前記の一の認識候補文字群と前記の他の認識候補文字群の組毎に前記重みを設定し、
前記重み設定手段によって設定された重みに基づいて候補文字列の整合度を算出し、当該整合度の高い候補文字列を認識文字列候補として出力し、
前記信頼度算出手段は、認識候補文字群の上位の候補文字に正解が含まれる確率として信頼度を算出し、
前記重み設定手段は、当該信頼度が大きい場合には重みを小さく設定し、当該信頼度が小さい場合には重みを大きく設定する、
ことを特徴とする文字認識装置。
【請求項２】
請求項１において、前記信頼度算出手段は、信頼度と重みの関係を規定する信頼度―重み変換テーブルを予め備えており、当該変換テーブルに基づいて前記重みを設定する、
ことを特徴とする文字認識装置。
【請求項３】
請求項１または２において、前記候補文字列がＴ個の文字により構成され、その内、Ｋ番目の文字の類似度をＳK、Ｋ−１番目の文字とＫ番目の文字の連接確率をＰ（Ｋ−１、Ｋ）、当該文字間の連接確率の重みをｗ（Ｋ−１、Ｋ）とした場合、前記整合度Ｌは、
Ｌ＝（Ｓ1＋Ｓ2＋…＋ＳT）＋｛ｗ（１，２）・ｌｏｇＰ（１，２）＋ｗ（２，３）・ｌｏｇＰ（２，３）＋…＋ｗ（Ｔ−１，Ｔ）・ｌｏｇＰ（Ｔ−１，Ｔ）｝に従って算出される、
ことを特徴とする文字認識装置。
【請求項４】
請求項３において、重みｗ（Ｋ−１、Ｋ）は、Ｋ番目の入力文字に対する認識候補文字群の信頼度に基づいて設定される、
ことを特徴とする文字認識装置。
【請求項５】
文字認識部において、文字認識結果に対して後処理を施すことにより認識文字列候補を出力する文字認識方法であって、
認識信頼度算出部において、前記文字認識結果により得られた認識候補文字群の信頼度を算出する信頼度算出ステップと、
文字認識後処理部において、当該信頼度算出手段によって算出された信頼度に基づいて、連接関係にある一の前記認識候補文字群の中の候補文字と他の前記認識候補文字群の中の候補文字との間の連接確率に対する重みを設定する重み設定ステップとを有し、
前記重み設定ステップでは、前記の一の認識候補文字群と前記の他の認識候補文字群の組毎に前記重みを設定し、
文字認識後処理部において、当該重み設定ステップによって設定された重みに基づいて候補文字列の整合度を算出する整合度算出ステップと、
文字認識後処理部において、当該整合度算出ステップによって算出された各候補文字列の整合度を比較し、最も整合度の高い候補文字列を認識文字列候補として出力する認識文字列候補出力ステップと、
を有し、
前記信頼度算出ステップは、認識候補文字群の上位の候補文字に正解が含まれる確率として信頼度を算出し、
前記重み設定ステップは、当該信頼度が大きい場合には重みを小さく設定し、当該信頼度が小さい場合には重みを大きく設定する、
ことを特徴とする文字認識方法。
【請求項６】
請求項５において、前記信頼度算出ステップは、信頼度と重みの関係を規定する信頼度―重み変換テーブルに基づいて前記重みを設定する、
ことを特徴とする文字認識方法。
【請求項７】
請求項５または６において、前記候補文字列がＴ個の文字により構成され、その内、Ｋ番目の文字の類似度をＳK、Ｋ−１番目の文字とＫ番目の文字の連接確率をＰ（Ｋ−１、Ｋ）、当該文字間の連接確率の重みをｗ（Ｋ−１、Ｋ）とした場合、前記整合度算出ステップは、
Ｌ＝（Ｓ1＋Ｓ2＋…＋ＳT）＋｛ｗ（１，２）・ｌｏｇＰ（１，２）＋ｗ（２，３）・ｌｏｇＰ（２，３）＋…＋ｗ（Ｔ−１，Ｔ）・ｌｏｇＰ（Ｔ−１，Ｔ）｝に従って整合度Ｌを算出する、
ことを特徴とする文字認識方法。
【請求項８】
請求項７において、重みｗ（Ｋ−１、Ｋ）は、Ｋ番目の入力文字に対する認識候補文字群の信頼度に基づいて設定される、
ことを特徴とする文字認識方法。
【請求項９】
コンピュータに、文字認識結果に対して後処理を施すことにより認識文字列候補を出力する文字認識機能を実行させるためのプログラムであって、
前記文字認識結果により得られた認識候補文字群の信頼度を算出する信頼度算出ステップと、
当該信頼度算出手段によって算出された信頼度に基づいて、連接関係にある一の前記認識候補文字群の中の候補文字と他の前記認識候補文字群の中の候補文字との間の連接確率に対する重みを設定する重み設定ステップと、
当該重み設定ステップによって設定された重みに基づいて候補文字列の整合度を算出する整合度算出ステップと、
当該整合度算出ステップによって算出された各候補文字列の整合度を比較し、最も整合度の高い候補文字列を認識文字列候補として出力する認識文字列候補出力ステップを実行させ、
前記重み設定ステップでは、前記の一の認識候補文字群と前記の他の認識候補文字群の組毎に前記重みを設定し、
前記信頼度算出ステップは、認識候補文字群の上位の候補文字に正解が含まれる確率として信頼度を算出し、
前記重み設定ステップは、当該信頼度が大きい場合には重みを小さく設定し、当該信頼度が小さい場合には重みを大きく設定する、
ことを特徴とするプログラム。
【請求項１０】
請求項９のプログラムを記憶した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力情報を処理して所定の文字を認識する文字認識装置、文字認識方法、その実行プログラムおよびそれを記憶した記録媒体に関する。
【０００２】
【従来の技術】
従来の文字認識方法においては、たとえば筆記入力された文字の特徴量を抽出し、これを認識辞書中の特徴量と比較して、両者の類似度が高い（両者の距離値が小さい）認識候補文字を出力するようにしていた。しかしながら、かかる一文字毎の文字認識では、認識辞書の特徴量から離れた文字を筆記した場合に、適正な認識結果を得ることができない。
【０００３】
そこで、通常は、かかる一文字毎の文字認識に加え、前後の文字あるいは単語間・文節間の連接確率を判定する後処理を実行し、かかる後処理結果に基づいて認識文字列候補を出力するようにしている。
【０００４】
例えば、特開２０００−９０２０１号公報には、認識候補文字間の連接確率を判定して後処理を実行する方法が記載されている。かかる後処理においては、たとえば図１２に示すように、「本日は晴」と手書き入力がなされ、各手書き文字に対する認識候補文字（類似度１位から３位）が同図に示すとおりであったとすると、各認識文字を接続した３4＝８１通りの文字列に対する連接確率が算出される。例えば、各認識候補文字の１位の文字を接続した文字列「本目は哨」については、「本」と「目」、「目」と「は」、「は」と「哨」の連接確率が連接確率辞書から読み出され、これら各文字間の連接確率の合計を当該文字列全体の連接確率の合計値とする。そして、かかる連接確率の合計値と、当該文字列を構成する各認識候補文字の類似度の合計値とを合算し、これにより当該文字列の文字列評価値（整合度）を算出する。このようにして８１通りの文字列に対する整合度が算出されると、これら整合度が比較され、この内、整合度が最も大きな文字列が認識文字列候補として出力される。
【０００５】
【発明が解決しようとする課題】
上記従来の後処理方法においては、文字列の連接確率の合計値と各文字の類似度の合計値を合算する場合、連接確率の合計値に一定の重みｗを乗じた後、これを類似度の合計値に加算するようにしている。すなわち、手書き入力がＴ個の文字から構成されているとすると（図１２の場合はＴ＝４）、所定の文字列の整合度Ｌは以下のように算出される。
【０００６】
Ｌ＝（Ｓ1＋Ｓ2＋…＋ＳT）＋ｗ・｛ｌｏｇＰ（１，２）＋ｌｏｇＰ（２，３）＋…＋ｌｏｇＰ（Ｔ−１，Ｔ）｝
ここで、ＳKは当該文字列を構成するＫ番目の文字の類似度、Ｐ（Ｋ−１，Ｋ）はＫ−１番目の文字とＫ番目の文字の連接確率である。
【０００７】
しかしながら、上記従来の後処理方法では、連接確率の項の重みｗが一定であるため、類似度が低い文字間についても類似度が高い文字間と同一の重みが設定されることになる。その結果、上位の認識候補文字に正解が存在している場合に、誤って下位の認識候補文字が認識文字列候補として選択されたり、逆に、下位に正解が含まれている場合に、当該正解を含む文字列が認識文字列候補として選択され得ないとの問題が生じる。
【０００８】
そこで本発明は、かかる従来例の問題点を解消し、上記従来例に比べて精度の高い認識文字列候補を出力し得る文字認識装置および文字認識方法を提供することを課題とする。
【０００９】
【課題を解決するための手段】
本発明は、文字認識処理によって生成される認識結果（入力文字に対する認識候補文字群、認識候補単語群、認識候補文節群など）の信頼度を判定し、かかる信頼度に基づいて、後処理段階における連接確率の重み付けを適宜変更するものである。
【００１０】
請求項１の発明は、文字認識結果に対して後処理を施すことにより認識文字列
候補を出力する文字認識装置において、前記文字認識結果により得られた認識候補文字群の信頼度を算出する信頼度算出手段と、当該信頼度算出手段によって算出された信頼度に基づいて、連接関係にある一の前記認識候補文字群の中の候補文字と他の前記認識候補文字群の中の候補文字との間の連接確率に対する重みを設定する重み設定手段とを備え、前記重み設定手段では、前記の一の認識候補文字群と前記の他の認識候補文字群の組毎に前記重みを設定し、前記重み設定手段によって設定された重みに基づいて候補文字列の整合度を算出し、当該整合度の高い候補文字列を認識文字列候補として出力する、ことを特徴とする。
【００１１】
請求項２の発明は、請求項１において、前記信頼度算出手段は、認識候補文字群の上位の候補文字に正解が含まれる確率として信頼度を算出し、前記重み設定手段は、当該信頼度が大きい場合には重みを小さく設定し、当該信頼度が小さい場合には重みを大きく設定する、ことを特徴とする。
【００１２】
請求項３の発明は、請求項１または２において、前記信頼度算出手段は、信頼度と重みの関係を規定する信頼度―重み変換テーブルを予め備えており、当該変換テーブルに基づいて前記重みを設定する、ことを特徴とする。
【００１３】
請求項４の発明は、請求項２または３において、前記候補文字列がＴ個の文字により構成され、その内、Ｋ番目の文字の類似度をＳK、Ｋ−１番目の文字とＫ番目の文字の連接確率をＰ（Ｋ−１、Ｋ）、当該文字間の連接確率の重みをｗ（Ｋ−１、Ｋ）とした場合、前記整合度Ｌは、Ｌ＝（Ｓ1＋Ｓ2＋…＋ＳT）＋｛ｗ（１，２）・ｌｏｇＰ（１，２）＋ｗ（２，３）・ｌｏｇＰ（２，３）＋…＋ｗ（Ｔ−１，Ｔ）・ｌｏｇＰ（Ｔ−１，Ｔ）｝
に従って算出される、ことを特徴とする。
【００１４】
請求項５の発明は、請求項４において、重みｗ（Ｋ−１、Ｋ）は、Ｋ番目の入力文字に対する認識候補文字群の信頼度に基づいて設定される、ことを特徴とする。
【００１５】
請求項６の発明は、文字認識部において、文字認識結果に対して後処理を施すことにより認識文字列候補を出力する文字認識方法であって、認識信頼度算出部において、前記文字認識結果により得られた認識候補文字群の信頼度を算出する信頼度算出ステップと、文字認識後処理部において、当該信頼度算出手段によって算出された信頼度に基づいて、連接関係にある一の前記認識候補文字群の中の候補文字と他の前記認識候補文字群の中の候補文字との間の連接確率に対する重みを設定する重み設定ステップとを有し、前記重み設定ステップでは、前記の一の認識候補文字群と前記の他の認識候補文字群の組毎に前記重みを設定し、文字認識後処理部において、当該重み設定ステップによって設定された重みに基づいて候補文字列の整合度を算出する整合度算出ステップと、文字認識後処理部において、当該整合度算出ステップによって算出された各候補文字列の整合度を比較し、最も整合度の高い候補文字列を認識文字列候補として出力する認識文字列候補出力ステップと、を有することを特徴とする。
【００１６】
請求項７の発明は、請求項６において、前記信頼度算出ステップは、認識候補文字群の上位の候補文字に正解が含まれる確率として信頼度を算出し、前記重み設定ステップは、当該信頼度が大きい場合には重みを小さく設定し、当該信頼度が小さい場合には重みを大きく設定する、ことを特徴とする。
【００１７】
請求項８の発明は、請求項６または７において、前記信頼度算出ステップは、信頼度と重みの関係を規定する信頼度―重み変換テーブルに基づいて前記重みを設定する、ことを特徴とする。
【００１８】
請求項９の発明は、請求項７または８において、前記候補文字列がＴ個の文字により構成され、その内、Ｋ番目の文字の類似度をＳK、Ｋ−１番目の文字とＫ番目の文字の連接確率をＰ（Ｋ−１、Ｋ）、当該文字間の連接確率の重みをｗ（Ｋ−１、Ｋ）とした場合、前記整合度算出ステップは、Ｌ＝（Ｓ1＋Ｓ2＋…＋ＳT）＋｛ｗ（１，２）・ｌｏｇＰ（１，２）＋ｗ（２，３）・ｌｏｇＰ（２，３）＋…＋ｗ（Ｔ−１，Ｔ）・ｌｏｇＰ（Ｔ−１，Ｔ）｝に従って整合度Ｌを算出する、ことを特徴とする。
【００１９】
請求項１０の発明は、請求項９において、重みｗ（Ｋ−１、Ｋ）は、Ｋ番目の入力文字に対する認識候補文字群の信頼度に基づいて設定される、ことを特徴とする。
【００２０】
請求項１１の発明は、請求項６ないし１０の何れかの文字認識方法の各処理ステップをコンピュータに実行させるプログラムである。
【００２１】
請求項１２の発明は、請求項１１のプログラムを記憶した記録媒体である。
【００２２】
本発明の特徴は、以下に示す実施の形態の説明により更に明らかとなろう。
【００２３】
なお、請求項における「信頼度算出手段」は実施の形態における認識信頼度算出部３００（連接特徴抽出部４、文字間連接確率辞書５、判別得点算出部６、認識信頼度算出部７および判別得点―信頼度変換テーブル８）が対応する。請求項における「重み設定手段」は実施の形態における文字認識後処理部４００（信頼度―重み変換テーブル１２）が対応する。
【００２４】
また、請求項における「信頼度算出ステップ」は実施の形態における図１０のステップＳ１０３〜ステップＳ１０５が対応する。請求項における「重み設定ステップ」は実施の形態における図１０のステップＳ１０７（後処理：信頼度―重み変換テーブル１２に基づいて重みを設定する処理）が対応する。請求項における「整合度算出ステップ」は実施の形態における図１０のステップＳ１０７（後処理：式（１）に従って演算を行う処理）が対応する。請求項における「認識文字列候補出力ステップ」は実施の形態における図１０のステップＳ１０７（後処理：整合度が最も高い文字列を認識文字列候として出力する処理）が対応する。
【００２６】
ただし、以下の実施の形態は、あくまでも、本発明の一つの実施形態であって、本発明ないし各構成要件の用語の意義は、以下の実施の形態に記載されたものに制限されるものではない。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
【００２８】
図１は、本実施の形態に係る文字認識装置の基本構成を示す機能ブロック図である。図において、１００は入力部で、入力文字の筆跡、形状等を検出し、その特徴を示す情報を出力する。２００は文字認識部で、入力部１から供給された文字情報を文字認識辞書中の特徴量と比較し、類似度が１位からＮ位までの文字を認識候補文字として出力する。
【００２９】
３００は認識信頼度算出部で、文字認識部２００から出力された各入力文字の候補文字群（類似度１位からＮ位）の信頼度を算出する。ここで信頼度とは、当該候補文字群中の上位の候補文字に正解が含まれる確率のことである。例えば、当該候補文字群中の１位の候補文字が正解である確率を、当該候補文字群の信頼度とすることもできる。
【００３０】
４００は文字認識後処理部で、上記文字認識部２００から出力される候補文字群を組み合わせて文字列を生成し、文字列毎に整合度を算出する。そして、算出した整合度のうち最も大きな整合度を有する文字列を認識文字列候補として出力する。
【００３１】
ここで、各文字列の整合度は、上記認識信頼度算出部３００からの信頼度に基づいて算出される。具体的には、認識信頼度算出部３００からの信頼度に応じて、以下の式（１）における重みｗ（Ｋ−１，Ｋ）を適宜変更し、当該対象文字列の整合度Ｌを算出する。
Ｌ＝（Ｓ1＋Ｓ2＋…＋ＳT）＋｛ｗ（１，２）・ｌｏｇＰ（１，２）＋ｗ（２，３）・ｌｏｇＰ（２，３）＋…＋ｗ（Ｔ−１，Ｔ）・ｌｏｇＰ（Ｔ−１，Ｔ）｝…（１）
ここで、Ｓkは対象文字列中のＫ番目の文字の類似度、Ｐ（Ｋ−１，Ｋ）は対象文字列中のＫ−１番目の文字とＫ番目の文字との間の連接確率、ｗ（Ｋ−１，Ｋ）は当該Ｋ−１番目の文字とＫ番目の文字との間の連接関係に適用される重みである。
【００３２】
かかる重みｗ（Ｋ−１，Ｋ）は、例えば、連接関係にあるＫ−１番目の文字群とＫ番目の文字群の内、Ｋ番目の文字群の信頼度に着目して設定される。具体的には、かかるＫ番目の文字群の信頼度が高ければ重みｗ（Ｋ−１，Ｋ）を小さく設定し、逆に、当該Ｋ番目の文字群の信頼度が低ければ重みｗ（Ｋ−１，Ｋ）は大きく設定する。
【００３３】
文字群の信頼度は当該文字群の上位の文字に正解が含まれる確率を示すものであるから、信頼度が高い場合には類似度を強調して上位文字が選択されるようにする。他方、文字群の信頼度が低い場合には、上位よりも下位の文字中にも正解が含まれる可能性が高いので、類似度よりもむしろ連接確率の方を強調する。上記重みｗ（Ｋ−１，Ｋ）は、かかる点を考慮して、上述の如く、文字群の信頼度が高ければ小さく設定され、逆に、文字群の信頼度が低ければ大きく設定されている。
【００３４】
図２に、入力文字「本日は晴」に対する認識候補文字、類似度、生成文字列、連接確率、信頼度および重みｗの適用例を示す。なお、同図には、便宜上、各入力文字に対する候補文字群は１位から３位までのみを図示している。
【００３５】
同図において、１文字目「本」の認識候補文字群と２文字目「日」の認識候補文字群との間の連接関係に対しては、如何なる文字の組み合わせであっても一様に重みｗ（１，２）が適用される。同様に、２文字目「日」の認識候補文字群と３文字目「は」の認識候補文字群との間の連接関係、および３文字目「は」の認識候補文字群と４文字目「晴」の認識候補文字群との間の連接関係に対しては、それぞれｗ（２，３）およびｗ（３，４）が適用される。また、重みｗ（１，２）は、２文字目「日」の認識候補文字群の信頼度０．８２に基づいて設定される。同様に、重みｗ（２，３）と重みｗ（３，４）は、それぞれ３文字目「は」の認識候補文字群の信頼度０．９８および４文字目「晴」の認識候補文字群の信頼度０．６０に基づいて設定される。
【００３６】
ここで、２文字目、３文字目、４文字目の認識候補文字群の信頼度を比較すると、３文字目の文字群の信頼度が最も大きく、４文字目の文字群の信頼度が最も小さいので、上記３つの重みの内、ｗ（２，３）が最も小さく設定され、ｗ（３，４）が最も大きく設定される。例えば、信頼度に対する重みの設定が、図３のようになっているとすると、これら３つの重みはそれぞれ、ｗ（１，２）＝０．３４、ｗ（２，３）＝０．３０、ｗ（３，４）＝０．４５に設定される。
【００３７】
しかして、各文字群の信頼度に応じて重みをこのよう変更して設定すれば、重みを一律とした場合に比べ、信頼度が高い文字群では上位の候補文字が認識文字列候補に含まれやすくなり、信頼度が低い文字群では下位の候補文字であっても認識文字列候補に含まれやすくなる。
【００３８】
ここで、信頼度に対する重みの設定は、たとえば以下の手順に従って行われる。
【００３９】
まず、学習サンプル（文書形式で書かれた手書き文字データ）に対して文字認識を行う。次に各認識候補文字群に対して信頼度を求める。さらに、求められた信頼度の値に基づいて認識候補文字群をＮ個のグループに分ける。
【００４０】
しかる後、グループ毎に重みを設定するのであるが、文字間の連接確率を用いて後処理を行うため、一つのグループ中に属する認識候補文字群だけを用いて後処理を実行することはできない。従って、一のグループに対する重みを設定する場合には、当該グループ以外のグループの重みを何らかの重みに設定しておく必要がある。
【００４１】
そこで、例えば従来例で示した特開２０００−９０２０１号公報に記載の方法に従って、学習サンプル全体で最適な重みｗ０を予め求めておき、一つのグループに対する重みを設定する場合には、当該グループ以外のグループには、かかる全体の重みｗ０を設定する。そして、設定対象のグループに対する重みを変更しながら、学習サンプルに対して最も高い正解率が得られた重みを当該グループの重みとして設定する。同様に、次のグループの重みを設定する場合には、それ以外のグループの重みをｗ０に設定して、当該グループに最適な重みを設定するようにする。
【００４２】
次に、本実施の形態に係る上記基本構成を具体化した実施例について以下に説明する。なお、上記基本構成を具体化する実施例は、以下の実施例に限られず、他に種々の変更が可能である。特に、信頼度の算出方法は以下の実施例以外のものも適用可能である。
【００４３】
まず、図４に実施例に係る手書き文字認識装置のブロック図を示す。
【００４４】
図において、１は入力部で、タブレット等に手書き入力された筆跡から筆跡文字情報を生成し出力する。２は文字認識部で、入力部１から供給された筆跡文字情報を文字認識辞書３の文字特徴量と比較し、両者の類似度が１位からＮ位までの認識辞書中の文字を当該筆跡文字の認識候補文字として出力する。３は文字認識辞書で、候補文字がその文字特徴量とともに記憶されている。
【００４５】
４は連接特徴抽出部で、文字認識部２から供給される認識候補文字列の内、正誤判定対象である一の認識候補文字の連接特徴量を、文字間連接確率辞書５を参照しながら抽出する。５は文字間連接辞書で、所定の２つの文字が連接する確率を当該２つの文字に対応づけて記憶している。
【００４６】
６は判別得点算出部で、連接特徴抽出部４からの連接特徴量を処理して、当該判定対象の認識候補文字群の正誤判別得点を算出する。
【００４７】
７は認識信頼度算出部で、判別得点算出部６からの判別得点と、判別得点−信頼度変換テーブル８とを比較して、当該判定対象の認識候補文字群の信頼度を出力する。８は判別得点−信頼度変換テーブルで、判別得点と信頼度の関係をテーブルとして記憶するものである。
【００４８】
９は認識候補数制御部で、認識信頼度７からの信頼度と、信頼度−累積正読率テーブル１０とを比較して、当該判定対象文字の認識候補数を制限するものである。１０は信頼度−累積正読率テーブルで、信頼度と正読率の関係をテーブルとして記憶するものである。
【００４９】
１１は後処理部で、認識候補数制御部９によって設定された個数の認識候補文字を対象として後処理を行う。例えば、筆記入力文字の内、１番目の文字に対する認識候補数がＭ１個、以下、２番目ないし７番目の筆記文字に対する認識候補数がＭ２ないしＭ７個と設定されたとすると、文字認識部２で生成されたこれら各文字の認識候補文字の内、それぞれ類似度が上位Ｍ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５、Ｍ６、Ｍ７個の認識候補文字のみを対象として、後処理部１１にて、後処理が行われる。かかる後処理部１１は、上記基本構成の説明にて示した如く、これら上位Ｍ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５、Ｍ６、Ｍ７個の認識候補文字を組み合わせて文字列を生成し、上記式（１）に従って、各生成文字列の整合度を算出する。そして、整合度が最も高い文字列を認識文字列候補として出力する。
【００５０】
１２は信頼度―重み変換テーブルで、例えば、上記基本構成で示した図３のような変換テーブルを記憶している。
【００５１】
次に、上記ブロック図に示された各部の処理の詳細について説明する。まず、図５を参照して、連接特徴抽出部４の処理について説明する。
【００５２】
かかる連接特徴抽出部４では、判定対象の認識候補文字群とその直前の第１位候補文字との間の連接確率Ｐｂｋと、その直後の第１位候補文字との間の連接確率Ｐｆｋの何れか一方または両方を文字間連接確率辞書５から読み出し、当該認識候補文字群の連接特徴量とする。例えば、連接確率ＰｂｋとＰｆｋの両方を用いて連接特徴量を抽出する場合には、図５に示すように、判定対象文字の認識候補文字群（類似度１位からＮ位まで）である「目」、「日」、…、「田」と、その直前の認識候補文字群の類似度１位文字「本」との間の連接確率Ｐｂ１、Ｐｂ２、…、ＰｂＮと、その直後の類似度１位文字「は」との間の連接確率Ｐｆ１、Ｐｆ２、…、ＰｆＮをそれぞれ文字間連接確率辞書５から読み出し、これら連接確率の値を、当該判定対象の認識候補文字群の連接特徴量とする。
【００５３】
なお、上記では、認識候補文字群の連接特徴量をＰｂｋとＰｆｋの両方にて抽出するようにしたが、ＰｂｋまたはＰｆｋの何れか一方にて抽出するようにしても良い。また、ＰｂｋとＰｆｋの両方にて抽出する場合において、直前の第１位認識候補文字が存在しない場合（例えば、判定対象文字が文字列の先頭であるような場合）には、当該候補文字の直後文字に対する連接確率Ｐｆｋをそのまま直前文字に対する連接確率Ｐｂｋに代用して連接特徴量を抽出する。同様に、直後の第１位認識候補文字が存在しない場合（例えば、判定対象文字が文字列の末尾であるような場合）には、Ｐｂｋをそのまま代用する。
【００５４】
次に、図６を参照して、判別得点算出部６における処理について説明する。上記連接特徴抽出部４にて抽出したＰｂｋとＰｆｋの値は、２Ｎ次元のベクトル空間において所定のベクトル（連接特徴ベクトル）として表現できる。判別得点算出部６では、予め第１位の認識候補文字が正読（正解）または誤読（誤り）であるサンプルについて連接特徴ベクトルを学習データとして抽出しておき、これと判定対象の認識候補文字群の連接特徴ベクトルとを比較して、当該認識候補文字群の判別得点を算出する。
【００５５】
たとえば、正読と誤読の連接特徴ベクトルの学習データと判定対象の認識候補文字群の連接特徴ベクトルが図６に示すような状態にあるとする。判別得点算出部６は、正読、誤読のそれぞれの集合（クラス）の特徴ベクトルの分布から、予め、両クラスの特徴ベクトルの平均値（重心ベクトル）および共分散行列を求め、これを記憶している。そして、これら各クラスの重心と判定対象文字群の連接特徴ベクトルとの間のマハラノビス距離ＤＭｃ、ＤＭｅを求め、これらの値の比、比の対数または差を判別得点とする。
【００５６】
ここで、上記マハラノビス距離ＤＭは次のようにして算出される。すなわち、クラスＣ１の重心ベクトルをｍ１、クラスＣ１の共分散行列をΣ1とすると、所定の特徴ベクトルｘからｍ１へのマハラノビス２乗距離ＤＭ１は、次式で定義される。
【００５７】
ＤＭ１＝（ｘ−ｍ１）tΣ1-1（ｘ−ｍ１）  （ｔ：転置、−１：逆行列）
ここで、共分散行列Σ1はｎ×ｎの正方行列であり（ｎ：特徴空間の次元数）、その（ｉ,ｊ）要素はｉ番目の特徴量とｊ番目の特徴量の共分散、すなわちΣ1（ｉ,ｊ）＝σijである。
【００５８】
なお、上記では、判別得点をマハラノビス距離ＤＭを用いて算出したが、これに替えて、正読、誤読の各クラスの特徴ベクトルの分布から線形判別分析により線形判別関数を求めておき、判定対象の認識候補文字群の特徴ベクトルに対してこの線形判別関数を当てはめて判別得点を求めるようにしても良い。また、正読、誤読の学習サンプルから抽出した特徴ベクトルを学習データとして、対象の特徴ベクトルが正読か誤読かを判定できるように学習させたニューラルネットを用い、判定対象の特徴ベクトルに対する当該ニューラルネットの出力値を判別得点とするようにしてもよい。
【００５９】
次に、図７を参照して認識信頼度算出部７の処理について説明する。たとえば、上記判別得点の算出において、マハラノビス距離ＤＭｃ、ＤＭｅの距離の比または比の対数を判別得点とした場合、正読および誤読の各学習サンプルから得られる判別得点と信頼度の関係は図７に示すようになる。ここで、信頼度は、学習サンプルからベイズの定理によって算出される。
【００６０】
すなわち、判別得点ｙを有する正読サンプル個数の全正読サンプル個数に対する比率をｐ（ｙ｜Ｘ１＝Ｃ）、判別得点ｙを有する誤読サンプル個数の全誤読サンプル個数に対する比率をｐ（ｙ｜Ｘ１＝Ｅ）、全サンプル数に対する正読サンプル数の総数の比率をＰ（Ｘ１＝Ｃ）、全サンプル数に対する誤読サンプル数の総数の比率をＰ（Ｘ１＝Ｅ）とすると、判別得点ｙを有する認識候補文字群の類似度１位の認識候補文字の信頼度は、次式によって算出できる。
【００６１】
Ｐ（Ｘ１＝Ｃ｜ｙ）＝ｐ（ｙ｜Ｘ１＝Ｃ）・Ｐ（Ｘ１＝Ｃ）／[ｐ（ｙ｜Ｘ１＝Ｃ）・Ｐ（Ｘ１＝Ｃ）＋ｐ（ｙ｜Ｘ１＝Ｅ）・Ｐ（Ｘ１＝Ｅ）]
ここで、Ｘ１は１位の認識候補文字を表し、Ｘ１＝Ｃ、Ｘ１＝Ｅはそれぞれ、１位認識候補文字が正解、不正解である事象を意味する。
【００６２】
かかる式から判別得点と信頼度の関係を示す判別得点―信頼度変換テーブルを予め作成しておき、これを判別得点―信頼度変換テーブル８に記憶させておく。認識信頼度算出部７は判別得点算出部６からの判別得点と、当該判別得点―信頼度変換テーブル８の得点を比較し、該当する信頼度を、当該認識候補文字群の第１位の認識候補文字の信頼度として出力する。
【００６３】
次に、図８を参照して、認識候補数制御部９の処理について説明する。図８の上部に示す表は、判定対象の類似度１位の認識候補文字に対する信頼度と、当該判定対象のＮ位までの認識候補文字の中に正読の文字が含まれる累積確率との関係を示すものである。かかる表中の確率は、上記正読、誤読の学習サンプルを基に予め算出しておく。
【００６４】
信頼度―累積正読率テーブル１０には、かかる表を記憶させておく。そして、認識候補数制御部９は、判定対象の認識候補文字群の信頼度と当該テーブル中の信頼度レベルとを比較し、該当する信頼度レベルの累積確率を参照しながら何位までの認識候補文字を後処理部１１に出力するかを決定する。ここで、何位までを出力するかは、例えば、該当する信頼度レベルの累積確率が所定のしきい値に達したか否かで決定する。この際、設定されるしきい値は、全ての信頼度レベルに対して一律としても良いし、あるいは、信頼度レベル毎に個別に設定するようにしても良い。
【００６５】
あるいは、図８の上部の表を基に、信頼度レベル毎の出力候補数を予め設定し、これを信頼度−累積正読率テーブル１０に記憶させておいても良い。図８の下部に示す表は、信頼度レベルと出力候補数とを予め設定した場合の一例である。信頼度―累積正読率テーブル１０に予めかかる表を記憶させた場合には、認識候補数制御部９は、該当する出力候補数を表から読み出し、それに従って、後処理部１１に出力される認識候補文字を制限する。これにより、無駄な後処理を排除し、処理の迅速化、効率化を図ることができる。
【００６６】
以上のようにして後処理の対象とされるべき各認識候補文字群の数が制限されると、後処理部１１は、対象とされる範囲の認識候補文字を組み合わせて後処理対象の文字列を生成する。そして、各文字列中の文字間の連接確率を文字間連接確率辞書５から読み出すと共に、候補文字群の信頼度に基づいて当該候補文字群の重みを信頼度―重み変換テーブル１２から読み出す。そして、かかる連接確率と重みに基づいて、上記式（１）の連接確率の項の得点を算出する。さらに、対象文字列を構成する各文字の類似度を加算して、上記式（１）の類似度の項の得点を算出する。そして、これら両得点を合算して、対象文字列の整合度を算出する。かかる整合度を全ての生成文字列について算出し、これら整合度を順番に比較する。そして、最も整合度の高い生成文字列を認識文字列候補として出力する。
【００６７】
以上が上記基本構成をより具体化した実施例であるが、これ以外にも種々の実施例を構成し得る。たとえば、上記実施例では、図５に示すとおり、判定対象文字と直前および直後の１位文字との間の連接確率（Ｐｂｋ、Ｐｆｋ）を当該判定対象文字の連接確率としたが、これに替えて、判定対象の認識候補文字と直前の１位からＭ位までの文字との間の連接確率の最大値を直前文字との連接確率とし、同様に、判定対象の認識候補文字と直後の１位からＭ位までの文字との間の連接確率の最大値を直後文字との連接確率とすることも可能である。
【００６８】
たとえば図９において、判定対象文字「日」と直前文字群との間の連接確率として、当該「日」と直前の１位文字「朋」からＭ位文字「胡」までのそれぞれの連接確率Ｐ（Ｃ１｜Ｃｂｋ）の内、最大の連接確率を採用する。また、判定対象文字「日」と直後文字群との間の連接確率として、当該「日」と直後の１位文字「も」からＭ位文字「亡」までのそれぞれの連接確率Ｐ（Ｃｆｋ｜Ｃ１）の内、最大の連接確率を採用する。同様に、判定対象の認識候補文字の２位文字「月」以下の文字についても、直前、直後の文字群に対する連接確率の最大値を連接確率としてそれぞれ採用する。
【００６９】
ここで、Ｃ１は判定対象の認識候補１位の文字を表し、Ｃｂｋ、Ｃｆｋはそれぞれ、直前、直後の認識候補ｋ位の文字を表す。そして、Ｐ（Ｃｊ｜Ｃｉ）は、文字Ｃｉに続いて文字Ｃｊが現れる連接確率を表す。
【００７０】
ところで、上記実施例では、図４におけるブロック毎に処理を分けて一連の処理フローを説明したが、かかる処理フローを制御プログラムとして格納しておけば、単一の演算処理部によって、上記と同様の処理フローを実行させることもできる。かかる場合、文字認識辞書３、文字間連接確率辞書５、判別得点―信頼度変換テーブル８、信頼度―累積正読率テーブル１０および信頼度−重み変換テーブル１２の参照データも同様に、ＲＯＭまたはＲＡＭに予め記憶しておく必要がある。
【００７１】
図１０は、上記実施例にかかる処理手順を示すフローチャートである。ここで、ステップＳ１０１は上記入力部１における処理、ステップＳ１０２は上記文字認識部２における処理、ステップＳ１０３は上記連接特徴抽出部４における処理、ステップＳ１０４は上記判別得点算出部６における処理、ステップＳ１０５は上記認識信頼度算出部７における処理、ステップＳ１０６は上記認識候補数制御部９における処理、ステップＳ１０７は上記後処理部１１における処理である。
【００７２】
かかる制御プログラムおよび各種参照データは、フロッピーディスク等の記録媒体を介して文字認識装置内のＲＡＭに格納させることもできるし、または、インターネット等の伝送媒体を介して当該ＲＡＭに格納させることもできる。格納されるべきデータのファイル構造の一例を図１１に示す。
【００７３】
ただし、上記処理フローの内、一部の処理フローのみを取り込みたい場合には、図１０に示す全てのステップに関するデータを文字認識装置内に格納する必要はない。たとえば、信頼度算出の処理のみを取り込んで実行させたい場合には、図１０の内、ステップＳ１０３ないしＳ１０５の実行プログラムおよびそれに必要な文字間連接確率辞書データ、判別得点―信頼度変換テーブルデータのみを格納すれば良い。また、信頼度の算出から後処理までの処理を実行させたい場合には、ステップＳ１０３ないしＳ１０７の実行プログラムおよびそれに必要な参照データのみを格納すれば良い。記録媒体または伝送媒体を介してインストールする場合には、これらの制御プログラムと参照データをファイルとして記録媒体に格納し、または、伝送媒体を介して伝送するようにする。
【００７４】
以上、本発明に係る実施の形態について説明したが、本発明は係る実施の形態に制限されるものではなく、他に種々の変更が可能である。たとえば、上記実施例では手書き文字認識装置に対して本発明を適用した例を示したが、本発明は、それ以外に、光学式文字認識装置あるいは音声入力による認識装置等にも広く適用し得るものである。
【００７５】
また、上記実施例では、文字群の信頼度判定方法として、直前の文字群と直後の文字群との間の連接関係に基づく信頼度判定方法を示したが、これ以外の信頼度判定方法を採用することも可能である。
【００７６】
さらに、上記実施例では、後処理の手法として、文字間の連接確率に基づく後処理の方法を示したが、これ以外に、たとえば、単語間、文節間の連接関係に基づく後処理方法を採用することも可能である。かかる場合、信頼度の算出は、単語群または文節群について行われることになる。
【００７７】
また、上記実施例では、連接関係にある前後の文字群の内、後方の文字群の信頼度に基づいて当該文字群間の連接関係の重みを設定したが、これ以外に、前方の文字群の信頼度に基づいて重みを設定するようにしてもよいし、両方の文字群の信頼度に基づいて重みを設定するようにしてもよい。
【００７８】
さらに、信頼度と重みの関係を示す図３のテーブルは単なる一例であって、信頼度の区分は０．１ずつでなくとも良く、さらに細かく信頼度を区分し、それに応じた重みを設定するようにしてもよい。
【００７９】
その他、ステップＳ１０４における判別得点の算出方法や、ステップＳ１０５における認識信頼度の算出方法も、上記実施の形態にて示したマハラノビス距離ＤＭを用いる方法や、ベイズの定理を用いる方法以外の方法を採用することもできる。
【００８０】
本発明の実施形態は、本発明の技術的思想の範囲内において、適宜、様々な変更が可能である。
【００８１】
【発明の効果】
以上、本発明によれば、文字認識結果の信頼度に応じて後処理における連接確率の重み付けを個別に設定するものであるから、当該重みを一律に設定する場合に比べ、正解文字列に近い文字列の整合度と正解文字列から遠い文字列の整合度との間の区別をより明確にすることができ、もって、後処理後の認識文字列候補中に正解文字が含まれる確率を向上させることができる。
【図面の簡単な説明】
【図１】  実施の形態に係る基本構成の機能ブロック図
【図２】  当該基本構成の機能を説明するための図
【図３】  当該基本構成の機能を説明するための図
【図４】  基本構成を具体化した一実施例の機能ブロック図
【図５】  実施例の処理を説明するための図
【図６】  実施例の処理を説明するための図
【図７】  実施例の処理を説明するための図
【図８】  実施例の処理を説明するための図
【図９】  実施例の処理を説明するための図
【図１０】  実施例の処理を実行するためのフローチャート
【図１１】  当該実行プログラムと参照データのファイル構造を示す図
【図１２】  従来例の機能を説明するための図
【符号の説明】
１００  入力部
２００  文字認識部
３００  認識信頼度算出部
４００  文字認識後処理部
【図１】
0004326173.tif 000002
【図２】
0004326173.tif 000003
【図３】
0004326173.tif 000004
【図４】
0004326173.tif 000005
【図５】
0004326173.tif 000006
【図６】
0004326173.tif 000007
【図７】
0004326173.tif 000008
【図８】
0004326173.tif 000009
【図９】
0004326173.tif 000010
【図１０】
0004326173.tif 000011
【図１１】
0004326173.tif 000012
【図１２】
0004326173.tif 000013