(57)【特許請求の範囲】
【請求項１】
筆跡情報記憶領域、文字切り出し領域候補記憶領域、文字認識辞書記憶領域、正解文字列記憶領域および誤り情報記憶領域を含む記憶手段と、
入力された筆跡情報を前記筆跡情報記憶領域に格納する筆跡情報格納手段と、
前記筆跡情報記憶領域から筆跡情報を読み出す筆跡情報読み出し手段と、
文字数が不定の１つ以上の文字として構成され得る前記読み出した筆跡情報に対して文字切出し処理を行って文字単位の複数の領域候補を生成する文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って、それぞれの認識スコアが与えられた複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定する最尤文字列決定手段と、
を含み、
前記最尤文字列決定手段は、
前記複数の領域候補の中の或る領域候補に対する前記複数の候補文字の中の或る候補文字が前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致した場合に、前記或る候補文字を選択して前記或る候補文字の認識スコアに加算値を加えて前記或る候補文字の文字照合スコアを生成し、
前記複数の領域候補の中の或る領域候補における前記複数の候補文字の中のいずれの候補文字も前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致しなかった場合に、前記複数の候補文字の中から最も高い認識スコアを有する不一致の候補文字を選択して前記不一致の候補文字の文字照合スコアを最低値に設定し、
前記文字照合スコアの平均値が最も高い前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記選択された候補文字を、前記最尤文字列と決定するものであり、
さらに、前記最尤文字列を前記正解文字列と照合することによって前記最尤文字列における誤り文字の位置を抽出して前記誤り情報記憶領域に格納する誤り文字位置抽出手段を含むことを特徴とする学習支援システム。
【請求項２】
さらに、前記誤り文字の位置に対応する前記文字単位の領域候補における位置を誤り情報として抽出する誤り抽出手段を含むことを特徴とする、請求項１に記載の学習支援システム。
【請求項３】
さらに、ユーザによって入力された筆跡を前記筆跡情報格納手段に供給する筆跡入力手段と、
前記ユーザによって付勢された採点指示を前記筆跡情報読み出し手段に供給する採点指示手段と、
前記入力された筆跡情報を表示器に表示する筆跡表示手段と、
前記誤り抽出手段によって抽出された誤り情報の有無に従って前記最尤文字列の正誤を判定して前記表示器に正誤を表示する正誤判定表示手段と、
前記誤り抽出手段によって抽出された誤り情報を前記表示器に表示する誤り情報表示手段と、
を含むことを特徴とする、請求項２に記載の学習支援システム。
【請求項４】
前記記憶手段は、さらに文字評価辞書記憶領域を含み、
さらに、前記最尤文字列に対応する前記領域候補の筆跡情報に対して前記文字評価辞書記憶領域における文字評価辞書情報に基づいて前記領域候補の筆跡情報の前記正解文字列中の対応する文字位置の正解文字としての正しさを評価する文字評価手段と、
前記文字評価手段によって誤字と判定された前記領域候補を抽出する誤字位置抽出手段と、
を含み、
前記誤り情報表示手段は、前記入力された筆跡情報における誤字の位置を前記表示器に表示するものであることを特徴とする、
請求項３に記載の学習支援システム。
【請求項５】
前記最尤文字列決定手段は、前記複数の領域候補における各領域候補に対する前記複数の候補文字を前記正解文字列における文字と照合する際、前記複数の候補文字において、前記正解文字列における文字が欠落しているかどうかおよび前記正解文字列に存在しない余剰文字が存在するかどうかを判定し、前記正解文字列における文字が欠落している場合には前記領域候補におけるその欠落文字の位置を決定し、前記正解文字列に存在しない余剰文字が存在する場合には前記領域候補におけるその余剰文字の位置を決定するものであることを特徴とする、請求項１乃至４のいずれかに記載の学習支援システム。
【請求項６】
前記誤り情報表示手段は、前記表示器において、前記入力された筆跡情報における誤り文字を強調表示し、それと共に対応する前記正解文字列を表示し、前記入力された筆跡情報における誤り文字に対応する前記正解文字列における文字の位置を強調表示するものであることを特徴とする、請求項３に記載の学習支援システム。
【請求項７】
前記誤り情報表示手段は、前記正解文字列における文字が欠落している場合には前記領域候補におけるその欠落文字の位置を表示し、前記正解文字列に存在しない余剰文字が存在する場合には前記領域候補におけるその余剰文字の位置を表示するものであることを特徴とする、請求項３に記載の学習支援システム。
【請求項８】
筆跡情報記憶領域、文字切り出し領域候補記憶領域、文字認識辞書記憶領域、正解文字列記憶領域および誤り情報記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
入力された筆跡情報を前記筆跡情報記憶領域に格納し、
前記筆跡情報記憶領域から筆跡情報を読み出し、
文字数が不定の１つ以上の文字として構成され得る前記読み出した筆跡情報に対して文字切出し処理を行って文字単位の複数の領域候補を生成し、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って、それぞれの認識スコアが与えられた複数の候補文字を生成し、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定し、その際、
前記複数の領域候補の中の或る領域候補に対する前記複数の候補文字の中の或る候補文字が前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致した場合に、前記或る候補文字を選択して前記或る候補文字の認識スコアに加算値を加えて前記或る候補文字の文字照合スコアを生成し、
前記複数の領域候補の中の或る領域候補における前記複数の候補文字の中のいずれの候補文字も前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致しなかった場合に、前記複数の候補文字の中から最も高い認識スコアを有する不一致の候補文字を選択して前記不一致の候補文字の文字照合スコアを最低値に設定し、
前記文字照合スコアの平均値が最も高い前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記選択された候補文字を、前記最尤文字列と決定し、
さらに、前記最尤文字列を前記正解文字列と照合することによって前記最尤文字列における誤り文字の位置を抽出して前記誤り情報記憶領域に格納する
処理を前記プロセッサに実行させるためのプログラム。
【請求項９】
筆跡情報記憶領域、文字切り出し領域候補記憶領域、文字認識辞書記憶領域、正解文字列記憶領域および誤り情報記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
入力された筆跡情報を前記筆跡情報記憶領域に格納し、
前記筆跡情報記憶領域から筆跡情報を読み出し、
文字数が不定の１つ以上の文字として構成され得る前記読み出した筆跡情報に対して文字切出し処理を行って文字単位の複数の領域候補を生成し、
前記複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って、それぞれの認識スコアが与えられた複数の候補文字を生成し、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定し、その際、
前記複数の領域候補の中の或る領域候補に対する前記複数の候補文字の中の或る候補文字が前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致した場合に、前記或る候補文字を選択して前記或る候補文字の認識スコアに加算値を加えて前記或る候補文字の文字照合スコアを生成し、
前記複数の領域候補の中の或る領域候補における前記複数の候補文字の中のいずれの候補文字も前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致しなかった場合に、前記複数の候補文字の中から最も高い認識スコアを有する不一致の候補文字を選択して前記不一致の候補文字の文字照合スコアを最低値に設定し、
前記文字照合スコアの平均値が最も高い前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記選択された候補文字を、前記最尤文字列と決定し、
さらに、前記最尤文字列を前記正解文字列と照合することによって前記最尤文字列における誤り文字の位置を抽出して前記誤り情報記憶領域に格納する
処理を前記プロセッサが実行する学習支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習支援システムに関し、特に、解答として入力された手書き文字を認識して解答を採点する学習支援システムに関する。
【背景技術】
【０００２】
特開平１０−１７７３３４号公報（特許文献１）には、演算学習機が記載されている。その演算学習機において、計算式の入力や解答の入力にタッチパネルを用い、タッチパネルの問題計算式欄に入力された計算式を文字認識し、認識された計算式の計算を行う。同タッチパネルの解答欄から入力された解答の認識も行い、認識された計算式の解答と比較し正解不正解の結果を正否欄に表示し、判定結果及び正解数の割合を得点欄に得点表示する。
【特許文献１】特開平１０−１７７３３４号公報
【０００３】
特開平６−２４３１３８号公報（特許文献２）には、文書入力装置が記載されている。その文書入力装置において、入力された文書と任意に選択した文書を比較・採点部で比較解析することにより、不一致文字を検出し、解析結果を出力部により表示する。それによって、問題文書の自由度を高め、実際の試験により近い環境を提供することができる。
【特許文献２】特開平６−２４３１３８号公報
【０００４】
特開平６−２４３１３８号公報（特許文献３）には、手書き入力パターン正誤判定システムが記載されている。そのシステムは、手書き入力用装置、表示装置、記憶部等からなる。そのシステムは、手書き入力用装置に書いた手書き文字を記憶部に予め記憶してあるその文字の正しい画数、筆順、字形等と比較、解析して、その正誤判定を総合的に行ない、前記表示装置上に判定結果を表示し、同時に正しい文字と手書き文字を重ね合わせて表示したり、各々の文字を筆順に従って一画毎に色分けをして表示して、画数、筆順、字形等の比較を行う。それによって、子供が一人で「文字」等の練習をして、その場で子供の書いた文字の画数、筆順、字形等の正誤を判定して、適切な注意を与える。
【特許文献３】特開平５−２９７７９３号公報
【０００５】
特開２００１−１５４５７３号公報（特許文献４）には、自動採点方法及びそのシステムが記載されている。そのシステムは、撮像部により用紙の記入欄中に記載された文字情報を撮像し、該文字撮像データに基づいて各記入欄に記載された文字情報を文字認識する。各記入欄の認識文字データと各記入欄に対応して予め記憶された基準データとを照合して正誤を判別し、正しいと判断された記入欄に対応して予め記憶された該記入欄の得点を加算処理して総得点を算出可能にする。
【特許文献４】特開２００１−１５４５７３号公報
【０００６】
特開２００７−１７２６４０号公報（特許文献５）には、文字列認識方法が記載されている。その文字列認識方法において、入力文字列パターン入力部により枠なしで自由な方向で入力された文字列のパターンが入力される。入力された文字列パターンに含まれる各文字は、文字サイズ推定処理部により、文字サイズを推定される。つぎに、文字切出し処理部１２は、例えば、改行、筆記方向変化点に基づいて文字列の筆記方向の推定を行う。さらに、文字切出し処理部は、推定された筆記方向に基づいて仮分割及び仮分割修正を行う。つぎに、最尤文字列探索処理部では、文字切出しの行われた文字列に対して、認識エンジン部及び最尤文字列探索部により文字認識を行うと共に、この文字認識の結果を認識結果出力部に出力する。認識結果出力部は、この認識結果をアプリケーションの表示画面上に表示するために出力する。
【特許文献５】特開２００７−１７２６４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
コンピュータ上に表示された解答枠に解答を手書き入力し、手書き解答を自動採点するシステムには、１つの解答枠に一文字の手書き文字を解答することが可能なものと、１つの解答枠に複数の手書き文字を解答することが可能なものとがある。１つの解答枠に複数の手書き文字を解答可能なシステムとして、特開平１０−１７７３３４号公報では、ひとつの解答枠に入力された複数の手書き文字を文字列認識した結果と正解文字列を照合して正誤判定を行い、正誤判定の結果を表示する。
【０００８】
１つの解答枠に入力された複数の手書き文字を文字列認識する際に、文字の単位で切り出した後、文字認識を行い、単語辞書および文字のつながりを考慮して文字列認識結果として出力する文字列を決定するが、文字の単位に切り出す際や、出力文字列を決定する際の誤りに起因して誤認識することがある。従って、１つの解答枠の中に複数の手書き文字を入力し、正解文字列と照合してその正誤判定を行う場合に、手書き文字列を認識した結果と正解文字列を照合する方法では、誤認識に起因して正誤判定精度が低くなる。また、正誤判定結果を表示するだけでは、手書き入力した解答の中での誤り箇所がどこかがわからない。さらに、手書き文字列を認識した結果と正解文字列を照合する方法では、誤字を含んだ手書き文字列を正解と判定してしまう。
【０００９】
発明者たちは、１つの解答枠に入力された手書き文字列を文字列認識して最尤文字列を決定する際に、正解文字列の情報を用いることによって、文字の単位での切り出しおよび出力文字列の決定における誤りを減らし、正誤判定精度を高くすることができる、と認識した。また、発明者たちは、手書き文字列における誤り部分および誤りの種類を表示できるようにすれば効果的である、と認識した。
【００１０】
本発明の目的は、学習支援における入力手書き文字列の判定精度を高くすることである。
【００１１】
本発明の別の目的は、学習支援における入力手書き文字列における誤り部分および誤りの種類を表示できるようにすることである。
【課題を解決するための手段】
【００１２】
本発明の特徴によれば、学習支援システムは、筆跡情報記憶領域、文字切り出し領域候補記憶領域、文字認識辞書記憶領域、正解文字列記憶領域および誤り情報記憶領域を含む記憶手段と、入力された筆跡情報を前記筆跡情報記憶領域に格納する筆跡情報格納手段と、前記筆跡情報記憶領域から筆跡情報を読み出す筆跡情報読み出し手段と、文字数が不定の１つ以上の文字として構成され得る前記読み出した筆跡情報に対して文字切出し処理を行って文字単位の複数の領域候補を生成する領域候補生成手段と、前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って、それぞれの認識スコアが与えられた複数の候補文字を生成する個別文字認識手段と、前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定する最尤文字列決定手段と、を含んでいる。前記最尤文字列決定手段は、前記複数の領域候補の中の或る領域候補に対する前記複数の候補文字の中の或る候補文字が前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致した場合に、前記或る候補文字を選択して前記或る候補文字の認識スコアに加算値を加えて前記或る候補文字の文字照合スコアを生成する。また、前記最尤文字列決定手段は、前記複数の領域候補の中の或る領域候補における前記複数の候補文字の中のいずれの候補文字も前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致しなかった場合に、前記複数の候補文字の中から最も高い認識スコアを有する不一致の候補文字を選択して前記不一致の候補文字の文字照合スコアを最低値に設定する。また、前記最尤文字列決定手段は、前記文字照合スコアの平均値が最も高い前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記選択された候補文字を、前記最尤文字列と決定する。学習支援システムは、さらに、前記最尤文字列を前記正解文字列と照合することによって前記最尤文字列における誤り文字の位置を抽出して前記誤り情報記憶領域に格納する誤り文字位置抽出手段を含んでいる。
【００１３】
本発明は、さらに、前述の学習支援システムを実現するためのプログラムおよび方法に関する。
【発明の効果】
【００１４】
本発明によれば、入力された手書き文字列の判定精度を高くすることができ、手書き文字列における誤り部分および誤りの種類を表示することができる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【００１６】
図１は、本発明の実施形態に用いることができる情報処理装置１０および学習支援サーバ２０を示している。情報処理装置１０は、プロセッサ（ＣＰＵ）１２、各種のデータベースを含む記憶装置１４、表示装置（ディスプレイ）１１２、ペン入力可能なタブレット１１４、およびネットワーク・インタフェース（Ｎ／Ｗ  ＩＦ）１８を具えている。情報処理装置１０は、プロセッサ１２によって実行される学習支援機能１６を有する。
【００１７】
情報処理装置１０は、単独で、即ちスタンドアローン型の装置として、学習支援サービスをユーザに提供してもよい。プロセッサ１２は、学習支援機能１６等の諸機能を実現するための記憶装置１４に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ１２上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置１０は、タブレットＰＣであってもよい。
【００１８】
代替構成として、情報処理装置１０は、学習支援機能２６を有する学習支援サーバ２０にネットワークを介して接続されてもよい。この場合、情報処理装置１０は、端末として機能して、学習支援サーバ２０と協働して学習支援サービスをユーザに提供する。学習支援サーバ２０は、プロセッサ（ＣＰＵ）２２、データベースを含む記憶装置２４、およびネットワーク・インタフェース（Ｎ／Ｗ  ＩＦ）２８を具えている。
【００１９】
学習支援サーバ２０は、プロセッサ２２によって実行される学習支援機能２６を有する。プロセッサ２２は、学習支援機能２６等の諸機能を実現するための記憶装置２４に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ２２上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置１０の端末としての学習支援機能１６は、前述のようにハードウェアまたはソフトウェアの形態でプロセッサ１２上で実装される。
【００２０】
図２は、図１の情報処理装置１０および／または学習支援サーバ２０によって実現される学習支援システム２００の構成を示している。
【００２１】
学習支援システム２００は、情報処理装置１０に設けられた、入力処理部として、筆跡入力部２１２および採点指示部２１４を含み、表示処理部として、筆跡表示部２１６、誤り情報表示部２１７および正誤判定表示部２１８を含んでいる。
【００２２】
情報処理装置１０が単独で学習支援サービスを提供する場合、学習支援システム２００は、さらに、情報処理装置１０に設けられた情報処理部として、筆跡情報管理部２２２、筆跡情報読み出し部２４２、文字切り出し領域候補生成部２４４、個別文字認識部２４６、最尤文字列決定部２４８、誤り文字位置抽出部２５０、および誤り領域抽出部２６２を含み、さらに、記憶装置１４中の領域として、筆跡情報記憶部２５２、文字切り出し領域候補記憶部２５４、文字認識辞書記憶部２５６、正解文字列記憶部２５８および誤り情報記憶部２６０を含んでいる。
【００２３】
代替構成として、情報処理装置１０を端末として用いて主に学習支援サーバ２０によって学習支援サービスを提供する場合、学習支援システム２００は、学習支援サーバ２０に設けられた情報処理部として、筆跡情報格納部２２２、筆跡情報読み出し部２４２、文字切り出し領域候補生成部２４４、個別文字認識部２４６、最尤文字列決定部２４８および誤り文字位置抽出部２５０を含み、可能性として誤り領域抽出部２６２を含んでいてもよく、さらに、記憶装置１４中の領域として、筆跡情報記憶部２５２、文字切り出し領域候補記憶部２５４、文字認識辞書記憶部２５６、正解文字列記憶部２５８および誤り情報記憶部２６０を含んでいる。誤り領域抽出部２６２は、学習支援サーバ２０または情報処理装置１０のいずれかに設ければよい。
【００２４】
図１において、ユーザは、スタイラスペンを用いてタブレット１１４上の解答欄に解答文字列を順次描くと、筆跡入力部２１２は、解答の文字列に対応する連続的な複数の座標（Ｘ，Ｙ）からなる筆跡の座標データを順次取り込んで、筆跡情報格納部２２２に供給する。筆跡格納部２２２は、その筆跡座標データを筆跡情報格納部２５２に順次格納しかつ筆跡表示部２１６に順次供給する。筆跡表示部２１６は、その筆跡座標データによって表される手書き文字列の筆跡を表示装置１１２上に順次リアルタイムで表示する。
【００２５】
ユーザが、表示装置１１２に表示された採点指示キーを付勢して、採点指示部２１４を付勢すると、筆跡情報読み出し部２４２は、筆跡情報格納部２５２に格納されていた筆跡座標データを読み出して、文字切り出し領域候補生成部２４４に供給する。文字切り出し領域候補生成部２４４は、読み出された筆跡座標データから、推定される文字領域候補を切り出し、それぞれ一連の文字領域候補からなる複数の群を出力する。一文字の領域候補の推定は、各ストロークのＸ軸方向の重心が一定範囲内のものを一文字領域として切り出すなどの既知の方法を用いて行う。
【００２６】
図３Ａは、ユーザによって入力され筆跡情報読み出し部２４２によって取り込まれた手書きの解答文字列“例示”の筆跡の例を示している。図３Ｂは、図３Ａの筆跡座標データに対して、文字切り出し領域候補生成部２４４によって生成された文字切り出し候補ａ〜ｆの例を示している。図３Ｃは、個別文字認識部２４６による、図３Ｂに示された文字切り出し領域候補ａ〜ｆに対する認識候補文字および認識スコアの一例を示している。
【００２７】
図３Ｂにおいて、左上のアルファベットが付された四角枠で囲まれた各領域は、切り出された１つの文字領域候補のパターンであり、矢印→は文字領域候補（ノード）間の可能性ある接続（リンク）関係を示している。この例では、群“ａ−ｂ−ｃ−ｆ”、群“ａ−ｄ−ｆ”（イ−列−示）および群“ｅ−ｆ”（例−示）の接続関係にある文字領域候補の３つの群またはパス（paths）が提示される。図３Ｃにおいて、各文字領域候補（ノード）内の各認識候補文字の右側に表示されている数字は、それぞれの認識候補文字の認識スコアを示すものであり、スコアの数字が大きいほど可能性または最尤度が高いことを示している。
【００２８】
個別文字認識部２４６は、文字切り出し領域候補生成部２４４によって切り出された図３Ｂの文字領域候補の各パターンａ〜ｆに対して、文字認識辞書記憶部２６０を参照して、認識候補文字および認識スコアを決定する。認識候補文字の抽出には、一般的に用いられるＯＣＲ認識エンジン、オンライン認識エンジン、等、任意の認識エンジンを用いることができる。認識スコアは、文字領域候補のパターン（ａ〜ｆ）と文字認識辞書記憶部２６０中の所定の文字パターンとの間の距離を計算したり、特徴点に基づいて計算したりするなど、既知の種々の方法を用いることができる。
【００２９】
個別文字認識部２４６は、各文字領域候補における複数の認識候補文字およびそれぞれの認識スコアを最尤文字列決定部２４８に供給する。最尤文字列決定部２４８は、各解答枠の識別に対応する正解文字列記憶部２５８中の正解文字列の情報を参照して認識候補文字から最尤文字列を決定する。最尤文字列の決定は、一連の文字領域候補またはノードからなる各群または各パスと各文字領域候補（ノード）に対応して、個別文字認識部２４６からの複数の認識候補文字に対して、正解文字列中の各文字との照合（マッチング）を行って文字を選択して最尤文字列を決定することからなる。その照合において、正解文字列における照合中の文字位置の文字と一致する認識候補文字があれば、その一致する認識候補文字に対して、例えば一定の加算スコア（ボーナススコア）を加えて、正解文字列が最尤文字列として選ばれやすくなるように設定する。
【００３０】
図３Ｃを参照して、最尤文字列を決定する例を示す。この例では、候補文字の列を選択する３つのパス“ａ−ｂ−ｃ−ｆ”、“ａ−ｄ−ｆ”および“ｅ−ｆ”がある。最尤文字列決定部２４８は、各選択パスにおけるノード中の各候補文字に対して、正解文字列の中の各文字位置の文字と照合する。最尤文字列決定部２４８は、正解文字列中の文字と一致しない認識候補文字に対して文字照合スコアとして最低値のスコア（例えば、６５０）を与える。また、最尤文字列決定部２４８は、正解文字列中の文字と一致する認識候補文字に対してその認識候補文字の認識スコアに加算スコア（例えば、５０）を加えた値を、文字照合スコアとする。
【００３１】
このようにして、最尤文字列決定部２４８は、文字列照合スコアの最も高い文字列を選択する。文字列照合スコアは、パスにおける先頭文字位置から現在文字位置の文字照合スコアの平均値で表され、即ち、先頭文字位置から前文字位置までの平均文字列照合スコア×先頭文字位置から前文字位置までの文字数＋現在の文字位置の文字照合スコアを、先頭文字位置から現在文字位置までの文字数で割ったものとして求められる。従って、各パスにおける最後のノードにおける文字列照合スコアが、各パスの文字列の文字列照合スコアすなわち平均の文字照合スコアを表す。最尤文字列決定部２４８は、照合した文字列の最後の文字位置にある文字列照合スコアが最も大きいパスの文字列を、最尤文字列として選択する。
【００３２】
図４Ａ〜４Ｄは、図３Ｃの選択した認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列“例示”に対する最尤文字列を決定する手順の例を示している。
【００３３】
図４Ａにおいて、図３Ｃにおける各ノード、即ち文字切り出し領域候補ａ〜ｆの中の各々とそれに対応する認識候補文字を、正解文字列のＸ番目の文字と照合する。一連の文字領域候補またはノードａ、ｂ、ｃ、ｆからなる１つの群またはパスが選択され、最初の先頭のノードａについて、最初の照合文字位置Ｘを初期値Ｘ＝１と設定し、従って照合文字を“例”とする。照合文字位置Ｘ＝１の領域候補ａに対する認識候補文字“イ”および“ト”の認識スコア８５０および７６０が求められる。この場合、認識候補文字の中に“例”が存在しないので、認識スコアが最大の“イ”が選択される。この場合、その選択された認識候補文字“イ”が照合文字“例”と一致しないので、認識スコア８５０を修正して、文字照合スコアを、不一致を表す最低値（例えば、６５０）と決定して記録する。
【００３４】
次いで、そのパスにおける選択した文字の数に対する文字照合スコアの平均値を表す文字列照合スコアを計算して記録する。この場合、選択文字が先頭文字位置なので、その文字列照合スコアは文字照合スコアと等しく（６５０）なる。また、ノードａに直前に接続するノードが存在しないので、ノードａに対する直前選択ノードとして“なし”を記録する。
【００３５】
次のノードｂについて、正解文字列における照合文字位置Ｘを＋１増分（インクリメント）してＸ＝Ｘ＋１＝２とし、従って照合文字を“示”とする。次いで、領域候補ｂに対する認識候補文字“タ”および“ン”の認識スコア７９０および７７０が求められる。認識候補文字の中に“示”が存在しないので、最大の認識スコアを有する認識候補文字“タ”が選択される。この場合、選択された認識候補文字“タ”が照合文字“例”と一致しないので、認識スコア７９０を修正して、その文字照合スコアを、不一致を表す最低値（例えば、６５０）と決定して記録する。文字列照合スコアは、選択文字の数２に対する文字照合スコアの平均値６５０である。ノードｂに直前に接続するノード“ａ”が存在するので、ノードｂに対する直前選択ノードとして“ａ”を記録する。
【００３６】
ノードｃについても、同様に、文字照合スコア６５０、文字列照合スコア６５０、直前選択ノード“ｂ”が記録される。その後、同様に、図４Ｂに示されているように、ノードｆについても、照合文字位置Ｘ＝４の領域候補ｆについて、認識候補文字“ア”および“示”の文字照合スコア６５０および文字列照合スコア６５０、および直前選択ノード“ｃ”が記録される。
【００３７】
ノードｄについて、同様に、照合文字位置Ｘを２とし、従って照合文字を“示”とする。一連の文字領域候補ａ、ｄ、ｆからなる１つの群が選択され、照合文字位置Ｘ＝２の領域候補ｄに対する認識候補文字“列”および“別”の認識スコア８１０および７９０が求められる。その後、同様に、図４Ｃに示されているように、ノードｆについても、照合文字位置Ｘ＝３の領域候補ｆに対する認識候補文字“ア”の文字照合スコア６５０および文字列照合スコア６５０、および直前選択ノード“ｄ”が記録される。
【００３８】
ノードｅについて、照合文字位置Ｘを１とし、従って照合文字を“例”とする。一連の文字領域候補ｅ、ｆからなる１つの群が選択され、照合文字位置Ｘ＝１の領域候補ｅに対する認識候補文字“列”および“別”の認識スコア８１０および７９０が求められる。認識候補文字の中に“例”が存在するので、認識候補文字“例”が選択される。この場合、この場合、認識候補文字“例”が照合文字“例”と一致するので、認識スコア８１０に加算スコア５０が加えられて、文字照合スコアは合計８６０と決定され、文字列照合スコアは平均値８６０と決定される。また、ノードｅに直前に接続するノードがないので、ノードｅに対して直前選択ノードとして“なし”が記録される。
【００３９】
ノードｆについて、同様に、照合文字位置Ｘを２とし、従って照合文字を“示”とする。一連の文字領域候補ｅ、ｆからなる１つの群が選択され、図４Ｄに示されているように、照合文字位置Ｘ＝２の領域候補ｆに対する認識候補文字“ア”および“示”の認識スコア８１０および８００が求められる。この場合、認識候補文字“示”が照合文字“示”と一致するので、認識スコア８００に加算スコア５０が加えられ、文字照合スコアは合計８５０と決定され、照合文字位置Ｘ＝２の領域候補ｆに対する認識候補文字“示”の文字照合スコア８５０および文字列照合スコア８５５、および直前選択ノード“ｅ”が記録される。
【００４０】
ノードｆに直前に接続するノードには、３つのノードｃ、ｄ、ｅがある。それぞれの文字列照合スコアは、それぞれ６５０、６５０、８５５である。ここで、最大の文字列照合スコアを有するノードeを直前の選択ノードとして選択し、その場合の照合文字位置、選択文字、文字列照合スコアとともに記憶しておく。
【００４１】
最尤文字列決定部２４８は、文字領域候補群“ａ−ｂ−ｃ−ｆ”、“ａ−ｄ−ｆ”および“ｅ−ｆ”の文字列照合スコアを比較して、文字切り出し領域の末尾のノードｆと対応づけて記録された文字列照合スコア（６５０、６５０、８５５）が最大のもの（８５５）を探し、そこから直前選択ノードを順にたどって、最尤文字列として選択されたパス“ｅ−ｆ”を決定する。最尤文字列決定部２４８は、決定したパス“ｅ−ｆ”を文字切り出しの先頭ノードからつなげたものを最尤文字列“例示”として決定する。
【００４２】
照合方法はこれに限らず、他の照合法を用いてスコアを計算する方法を用いてもよい。一般的な文字列認識においては、最尤文字列を選択する場合に、単語を格納した単語辞書を用いて単語辞書中の文字列との照合により最尤文字列を選択したり、２文字間または３文字間のつながりやすさの統計情報を格納した辞書を用いて文字間のつながりやすさを評価してその評価結果に基づいて最尤文字列を選択したりする。従って、この例の場合では“イタリア”が最尤文字列として選択される可能性がある。一方、図３Ａ〜３Ｃおよび４Ａ〜４Ｃのように、正解文字列が“例示”である場合、最尤文字列決定部２４８は、正解文字列“例示”と照合して最尤文字列を選択するので、この例の場合では“例示”が最尤文字列として選択される。
【００４３】
図５Ａは、ユーザによって入力され筆跡情報読み出し部２４２によって取り込まれた手書きの解答文字列“例字”の筆跡の例を示している。図５Ｂは、図５Ａの筆跡座標データに対して、文字切り出し領域候補生成部２４４によって生成された文字切り出し領域候補の例を示している。図５Ｃは、個別文字認識部２４６による、図５Ｂに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【００４４】
図５Ｂを参照すると、この例では、群“ａ−ｂ−ｃ−ｆ”、群“ａ−ｄ−ｆ”（イ−列−字）および群“ｅ−ｆ”（例−字）の３つの文字領域候補群またはパスが提示される。
【００４５】
図６Ａ〜６Ｄは、図５Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列“例示”に対する最尤文字列を決定する手順の例を示している。
【００４６】
図６Ａにおいて、文字領域候補ａ、ｂ、ｃ、ｄ、ｅについて、図４Ａの場合と同様に、文字照合スコアおよび文字列照合スコアが求められ、直前の選択ノードが記録される。
【００４７】
図６Ｂに示されているように、ノードｆについても、照合文字位置Ｘ＝４の領域候補ｆに対する認識候補文字“ア”および“示”の文字照合スコア６５０および文字列照合スコア６５０、および直前の選択ノード“ｃ”が記録される。
【００４８】
図６Ｃに示されているように、ノードｆについて、照合文字位置Ｘ＝３の領域候補ｆに対する認識候補文字“ア”および“示”の文字照合スコア６５０および文字列照合スコア６５０、および直前の選択ノード“ｄ”が記録される。
【００４９】
ノードｆについて、同様に、照合文字位置Ｘを２とし、従って照合文字を“示”とする。一連の文字領域候補ｅ、ｆからなる１つの群が選択され、図６Ｄに示されているように、照合文字位置Ｘ＝２の領域候補ｆに対する認識候補文字“字”および“学”の認識スコア８１０および８００が求められる。最も高い認識スコアを有する認識候補文字“字”が選択される。この場合、認識候補文字“字”が照合文字“示”と一致しないので、認識スコア８１０を修正して、文字照合スコアを、不一致を表す最低値（例えば、６５０）と決定されて記録される。照合文字位置Ｘ＝２の領域候補ｆに対する認識候補文字“字”の文字照合スコア６５０および文字列照合スコア７５５、および直前選択ノード“ｅ”が記録される。
【００５０】
ノードfに直前に接続するノードには、３つのノードｃ、ｄ、ｅがある。それぞれの文字列照合スコアは、それぞれ６５０、６５０、７５５である。ここで、最大の文字列照合スコアを有するノードｆの直前の選択ノードｅを選択し、その場合の照合文字位置、選択文字、文字列照合スコアとともに記憶しておく。
【００５１】
最尤文字列決定部２４８は、パス“ａ−ｂ−ｃ−ｆ”、“ａ−ｄ−ｆ”および“ｅ−ｆ”の文字列照合スコアを比較して、文字切り出しの末尾のノードｆと対応づけて記録された文字列照合スコア（６５０、６５０、７５５）が最大のもの（７５５）を探し、そこから直前選択ノードをたどって、最尤文字列として選択すべきパス“ｅ−ｆ”を決定する。最尤文字列決定部２４８は、決定したパス“ｅ−ｆ”を文字切り出しの先頭ノードからつなげたものを最尤文字列“例字”として決定する。
【００５２】
図７Ａは、最尤文字列決定部２４８によって保持される最尤文字列の文字切り出し領域ｅ、ｆのデータを示している。図７Ｂは、誤り領域抽出部２６２によって抽出された誤り情報の例を示している。
【００５３】
最尤文字列決定部２４８は、最尤文字列とともに、図７Ａに示されたような最尤文字列“例字”の切り出し領域ｅ、ｆを保持する。最尤文字列決定部２４８は、決定された最尤文字列を誤り文字位置抽出部２５０に供給する。
【００５４】
誤り文字位置抽出部２５０は、最尤文字列と正解文字列を比較して誤り文字位置を検出し抽出して、誤り情報を誤り情報記憶部２６０に格納する。図７Ａの例では、２文字目の“字”の文字位置が誤りであることが検出され、誤り情報記憶部２６０に２文字目の誤りの情報が格納される。誤り文字位置抽出部２５２は、誤り文字位置の情報を誤り領域抽出部２６２に供給する。誤り領域抽出部２６２は、最尤文字列に対応する文字切り出し領域における誤り文字位置の対応する領域を抽出して、図７Ｂに例示されているような誤り情報（即ち、誤り文字位置と誤り領域）を誤り情報記憶部２６０に格納する。
【００５５】
図８Ａは、正解の場合の解答文字列の採点結果の例示図を示している。図８Ｂは、不正解の場合の解答文字列の採点結果の例を示している。図８Ｃは、不正解の場合の解答文字列の採点結果における正解文字列の表示の例を示している。図において、太い点線の“○”および“レ”のシンボルは、採点のための正解または不正解を表示するものであり、四角の点線で囲まれた部分は、誤り文字位置の誤り領域における筆跡が、例えば他の文字（例えば、黒）とは異なる色（例えば、赤）でハイライト表示された部分を示している（点線そのものを表示する必要はない）。
【００５６】
誤り情報表示部２１７は、誤り情報記憶部２６０中の誤り情報を参照して、ユーザによって入力された筆跡の最尤文字列の切り出し領域中における誤り箇所を、図８Ｂのように表示する。また、正誤判定結果表示部２１８は、誤り情報記憶部２６０に誤り情報が存在しなければ、正解（○）の表示を、誤り情報があれば不正解（レ）の表示を、図８Ａまたは図８Ｂのように行う。図８Ｃに示されているように、正解文字列の中での誤り文字位置の文字の色を他の文字と異なる色（例えば、赤）で表示してもよく、四角の点線で囲まれた誤り文字位置の誤り領域の筆跡の色と同じ色（例えば、赤）で表示してもよい。
【００５７】
図９Ａは、ユーザによって入力され筆跡情報読み出し部２４２によって取り込まれた手書きの解答文字列“明智秀”の筆跡の例を示している。図９Ｂは、図９Ａの筆跡の座標データに対して、文字切り出し領域候補生成部２４４によって生成された文字切り出し領域候補ａ〜ｆの例を示している。図９Ｃは、個別文字認識部２４６による、図９Ｂに示された文字切り出し領域候補ａ〜ｅに対する認識候補文字および認識スコアの一例を示している。
【００５８】
正解文字列“明智光秀”に対して、図９Ａに示されているような“明智秀”の筆跡が入力された場合、図９Ｂに示されているように、この例では、２つの文字領域候補群またはパス“ａ−ｂ−ｄ−ｅ”（日−月−智−秀）および“ａ−ｄ−ｅ”（明−智−秀）が提示される。
【００５９】
図１０Ａ〜１０Ｃは、図９Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列“明智光秀”に対する最尤文字列を決定する手順の例を示している。この例では、文字切り出し領域候補を正解文字列と照合する際に、連続する２文字以内の脱字または余剰文字の検出を含めて最尤文字列を決定する例である。図１０Ｅは、最尤文字列における、誤り文字位置、誤りの種類および誤り領域の位置を示している。
【００６０】
図１０Ａにおいて、正解文字列“明智光秀”に対して、図９Ｃにおける一連の文字領域候補ａ、ｂ、ｄ、ｅからなる１つの群が選択され、最初の先頭のノードａ（“日”）について、照合文字位置Ｘを初期値Ｘ＝１とし、照合文字位置ｉに照合開始文字位置ｉ＝Ｘを設定し、正解文字列の１番目の文字“明”と照合する。ノードａに対する認識候補文字“日”および“月”の認識スコア８３０および７６０が求められる。認識候補文字の中に“明”が存在しないので、選択文字として認識スコアが最大の“日”が選択される。この場合、選択された文字と照合文字が一致しないので、照合文字位置としてＸ−１＝０が与えられ、文字照合スコアとして、不一致を表す最低値（例えば、６５０）が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードａに直前に接続するノードは存在しないので、文字領域候補ａの文字位置をＹ＝１、直前選択ノードを“なし”と記録する。
【００６１】
次に、照合文字位置ｉの値を１増分してｉ＝２をとし、正解文字列の２番目の文字“智”と照合する。認識候補文字“日”および“月”の中に“智”がないので、選択文字として、最大の認識スコアを有する文字“日”が選択される。選択された文字と照合文字が一致しないので、文字照合スコアとして最低値（例えば６５０）が与えられ、照合文字位置としてＸ−１＝０が維持される。次に、隣接の照合文字位置ｉの値を１増分しさらに右隣接の文字位置ｉ＝３として、正解文字列の３番目の文字“光”と照合する。認識文字候補“日”および“月”の中に“光”がないので、選択文字として、最大の認識スコアを有する文字“日”が選択される。選択された文字と照合文字が一致しないので、文字照合スコアとして最低値（例えば６５０）が与えられ、ノードａの照合文字位置としてＸ−１＝０が維持される。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。
【００６２】
次のノードｂ（“月”）について、ノードｂに直前に接続するノードａの照合文字位置０を＋１だけ増分してＸ＝１とし、照合文字位置ｉに照合開始文字位置Ｘ（ｉ＝Ｘ）を設定し、正解文字列のｉ＝１番目の文字“明”と照合する。認識候補文字“月”および“日”の認識スコア７９０および７７０が求められる。認識候補文字の中に“明”が存在しないので、選択文字として最大の認識スコアを有する“月”が選択される。選択された文字“月”と照合文字“明”が一致しないので、文字照合スコアとして不一致を表す最低値（例えば、６５０）が与えられ、照合文字位置としてＸ−１＝０が与えられる。文字列照合スコアは、文字数２に対する文字照合スコアの平均値である６５０となる。ノードｂに直前に接続するノードａの文字位置１を＋１だけ増分して、文字領域候補ｂの文字位置をＹ＝２、ノードｂに接続する直前選択ノードを“ａ”と記録する。
【００６３】
次に、照合文字位置ｉの値を１増分してｉ＝２とし、正解文字列の２番目の文字“智”と照合する。ノードｂに対する認識候補文字“月”および“日”の認識スコア７９０および７７０が求められる。認識候補文字の中に“智”が存在しないので、選択文字として最大の認識スコアを有する“月”が選択される。選択された文字と照合文字が一致しないので、文字照合スコアとして、不一致を表す最低値（例えば６５０）が与えられ、照合文字位置としてＸ−１＝０が維持される。文字列照合スコアは、文字数２に対する文字照合スコアの平均値６５０となる。文字領域候補ｂの照合文字位置としてＸ−１＝０が維持され、ノードｂに接続する直前選択ノードとして“ａ”が維持される。
【００６４】
次に、照合文字位置ｉの値を１増分してｉ＝３として、正解文字列の３番目の文字“光”と照合する。認識候補文字“月”および“日”の中に“光”がないので、選択文字として、最大の認識スコアを有する“月”が選択される。選択された文字と照合文字が一致しないので、文字照合スコアとして最低値（例えば６５０）が与えられ、照合文字位置としてＸ−１＝０が維持される。文字列照合スコアは、文字数２に対する文字照合スコアの平均値６５０となる。文字領域候補ｂの照合文字位置としてＸ−１＝０が維持され、ノードｂに接続する直前選択ノードとして“ａ”が維持される。
【００６５】
図１０Ｂを参照すると、次のノードｄ（“智”）について、直前の選択ノードはノードｂである。ノードｂの照合文字位置は０なので、照合文字位置Ｘを＋１だけ増分（インクリメント）してＸ＝１とし、照合文字位置ｉに照合開始文字位置ｉ＝Ｘを設定し、正解文字列の１番目の文字“明”と照合する。認識候補文字“智”および“督”の認識スコア８１０および７８０が求められる。認識候補文字の中に“明”が存在しないので、選択文字として最大の認識スコアを有する“智”が選択される。選択された文字“智”と照合文字“明”が一致しないので、文字照合スコアとして、不一致を表す最低値（例えば、６５０）が与えられ、照合文字位置としてＸ−１＝０が与えられる。文字列照合スコアは、文字数３に対する文字照合スコアの平均値６５０となる。ノードｄに直前に接続するノードｂがあるので、文字領域候補ｄの文字位置をＹ＝３、ノードｄに接続する直前選択ノードを“ｂ”と記録する。
【００６６】
次に、照合文字位置ｉの値を１増分しｉ＝２として、正解文字列の２番目の文字“智”と照合する。認識候補文字“智”および“督”の中に“智”があるので、選択文字として、最大の認識スコアを有する文字“智”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてＸ＝２が与えられ、認識スコア８１０に、一致を表す加算値（例えば５０）が加えられて文字照合スコアとして８６０が与えられる。文字列照合スコアは、文字数３に対する文字照合スコアの平均値７２０である。文字領域候補ｄの文字位置としてＹ＝３が維持され、ノードｄに接続する直前選択ノードとして“ｂ”が維持される。
【００６７】
次に、照合文字位置ｉの値を１増分してｉ＝３として、正解文字列の３番目の文字“光”と照合する。認識候補文字“智”および“督”の中に“光”がないので、選択文字として、最大の認識スコアを有する“智”が選択される。選択された文字と照合文字が一致しないので、文字照合スコアとして、不一致を表す最低値（例えば６５０）が与えられる。照合文字位置としてＸ＝２が維持される。文字列照合スコアは、文字照合スコア７２０を維持する。文字領域候補ｄの文字位置としてＹ＝３が維持され、ノードｄに接続する直前選択ノードとして“ｂ”が維持される。
【００６８】
図１０Ａを参照すると、図９Ｃにおける一連の文字領域候補ｃ、ｄ、ｅからなる１つの群が選択され、最初の先頭のノードｃ（“明”）について、照合文字位置Ｘを初期値Ｘ＝１とし、照合文字位置ｉに照合開始文字位置Ｘ（ｉ＝Ｘ）を設定し、正解文字列の１番目の文字“明”と照合する。ノードｃに対する認識候補文字“明”および“朋”の認識スコア８４０および８２０が求められる。認識候補文字の中に照合文字“明”が存在するので、選択文字として認識スコアが最大の“明”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてＸ＝１が与えられ、文字照合スコアとして一致を表す加算値（例えば５０）が加えられて８９０が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードｃに直前に接続するノードはないので、文字領域候補ａの文字位置をＹ＝１、直前選択ノードを“なし”と記録する。
【００６９】
次に、照合文字位置ｉの値を１増分してｉ＝２とし、正解文字列の２番面の文字“智”と照合する。認識候補文字“明”および“朋”の中に“智”がないので、選択文字として、最大の認識スコアを有する“明”が選択される。選択された文字と照合文字が一致しないので、文字照合スコアとして、不一致を表す最低値（例えば、６５０）が与えられる。照合文字位置はＸ＝１を維持する。次に、照合文字位置ｉの値を増分してｉ＝３とし、正解文字列の２番目の文字“光”と照合する。認識候補文字“明”および“朋”の中に“光”がないので、選択文字として、認識スコアが最大の“明”が選択される。選択された文字と照合文字が一致しないので、文字照合スコアとして最低値（例えば、６５０）が与えられ、照合文字位置としてＸ＝１が維持される。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。
【００７０】
図１０Ｃを参照すると、次のノードｄ（“智”）について、ノードｄの直前の選択ノードはｃである。ノードｃの照合文字位置は１なので、照合文字位置Ｘを＋１だけ増分（インクリメント）してＸ＝２とし、照合文字位置ｉに照合開始文字位置Ｘ（ｉ＝Ｘ）をセットし、正解文字列の２番目の文字“智”と照合する。認識候補文字“智”および“督”の文字照合スコア８１０および７８０が求められる。認識候補文字の中に“智”が存在するので、選択文字として、認識スコアが最大の“智”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてＸ＝２が与えられ、文字照合スコアとして一致を表す加算値（例えば５０）が加えられて８６０が与えられる。文字列照合スコアは、文字数２に対する文字照合スコアの平均値８７５となる。ノードｄに直前に接続するノードｃがあるので、文字領域候補ｄの文字位置をＹ＝２、ノードｄに接続する直前選択ノードを“ｃ”と記録する。
【００７１】
次に、照合文字位置ｉを１増分してｉ＝３とし、正解文字列の３番目の文字“光”と照合する。同様に、文字照合スコアとして最低値（例えば、６５０）が与えられる。照合文字位置はＸ＝２を維持する。次に、照合文字位置ｉを１だけ増分して４とし、正解文字列の４番目の文字“秀”と照合する。同様に、文字照合スコアとして最低値（例えば、６５０）が与えられる。照合文字位置はＸ＝２を維持する。
【００７２】
図１０Ａを参照すると、同様に、次のノードｅ（“秀”）について、照合文字“光”および“秀”と照合して、照合文字位置、選択文字、文字列照合スコア、文字位置、直前選択ノードを求めて記録する。
【００７３】
このようにして、文字切り出し領域候補ｅの末尾のノードｅと対応づけて記憶してある文字列照合スコアが最大のものを探し、そこから直前選択ノードを順次たどって、最尤文字列として選択するパスを決定する。図１０Ｄのように、決定したパスｃ−ｄ−ｅを文字切り出しの先頭ノードからつないだものを最尤文字列“明智秀”として決定して保持する。
【００７４】
このように、各文字切り出し領域候補に対して、正解文字列中のＮ個の隣接の照合文字と照合することによって、余剰文字および脱字が連続してＮ−１個以内の場合でも、文字切り出し領域候補と正解文字列と照合が可能となる。
【００７５】
誤り文字位置抽出部１２は、図１０Ｄの切り出し領域ｃ、ｄ、ｅに基づいて誤り文字位置として“ｄ”と“ｅ”の間の３文字目が“脱字”であることを検出し、誤り領域が“ｄ”と“ｅ”の間であると判定し、図１０Ｅに示されているような誤り情報を誤り情報記憶部２６０に格納する。
【００７６】
図１１Ａは、不正解の場合の解答文字列の採点結果の例を示している。図１１Ｂは、不正解の場合の解答文字列の採点結果における正解文字列の表示の例を示している。図１１Ｃは、不正解の場合の解答文字列の採点結果における正解文字列の表示の別の例を示している。図において、太い点線のシンボル“Ｖ”は、脱字とその位置を表示するためのシンボルを示している。
【００７７】
誤り情報表示部２１７は、誤り情報記憶部２６０中の誤り情報を参照して、ユーザによって入力された筆跡の最尤文字列の切り出し領域中における脱落文字位置を、図１１Ａに示されているように表示する。図１１Ｂにおいて、脱落文字位置を表すシンボル“Ｖ”および正解文字列中の正解文字“光”は、共に同じ色（例えば、紫）で、かつ他の文字の色（例えば、黒、等）とは異なる色で表示されている。
【００７８】
誤り情報表示部２１７は、誤り情報記憶部２６０中の誤り情報を参照して、正解文字列“明智光秀”に対して、入力された筆跡が“明智光秀成”という解答であった場合、図１１Ｃに示されているように、最尤文字列の切り出し領域中における余剰文字を表示する。太い点線の二重線の削除線は、余剰文字“成”の文字切り出し領域に対応する筆跡が余剰文字であることを表示するシンボルである。図１１Ｃにおいて、余剰文字“成”の筆跡の上に重ねられる削除線は、他の文字の色（例えば、黒、等）とは異なる色（例えば、紫）で表示されている。
【００７９】
図１２は、図１の情報処理装置１０および／または学習支援サーバ２０によって実現される別の学習支援システム２０２の構成を示している。
【００８０】
情報処理装置１０が単独で学習支援サービスを提供する場合、学習支援システム２０２は、文字評価部２５３および文字評価辞書記憶部５６０を含んでいる。
【００８１】
代替構成として、情報処理装置１０を端末として用いて主に学習支援サーバ２０によって学習支援サービスを提供する場合、学習支援システム２０２は、学習支援サーバ２０に設けられた情報処理部として、学習支援システム２０２は、文字評価部２５３、文字評価辞書５６０および誤字位置抽出部２５５を含んでいる。学習支援システム２０２のその他の構成は、図２の学習支援システム２００と同様である。
【００８２】
文字評価部２５３は、誤り文字位置抽出部２５０から最尤文字列および誤り文字位置を受け取って、文字評価辞書記憶部５６０の文字評価辞書情報を参照して、決定された最尤文字列に対応する文字切り出し領域の中で、誤り文字位置でなかった領域の筆跡に対して、その領域に対応する正解文字としての正しさを評価して誤字を検出して誤字位置抽出部２５５に供給する。誤字位置抽出部２５５は、文字領域から誤字位置を抽出して誤り情報記憶部２６０に格納し、誤り領域抽出部２６２に供給する。誤り領域抽出部２６２は、最尤文字列に対応する文字切り出し領域における誤り文字位置の対応する領域を抽出して、誤り情報（誤り文字位置、誤り領域、異字位置、誤字位置）を誤り情報記憶部２６０に格納する。
【００８３】
図１３Ａは、ユーザによって入力され筆跡情報読み出し部２４２によって取り込まれた手書きの解答文字列の筆跡の例を示している。図１３Ｂは、図１３Ａの筆跡座標データに対して、文字切り出し領域候補生成部２４４によって生成された文字切り出し領域候補ａ〜ｆの例を示している。図１３Ｃは、個別文字認識部２４６による、図１３Ｂに示された文字切り出し領域候補ａ〜ｆに対する認識候補文字および認識スコアの一例を示している。
【００８４】
正解文字列“明智光秀”に対して、図１３Ａに示されているような筆跡が解答枠に入力された場合、図１３Ｂに示されているように、この例では、２つの文字領域候補群“ａ−ｂ−ｄ−ｅ−ｆ”および“ａ−ｄ−ｅ−ｆ”が提示される。
【００８５】
図１３Ｃを参照すると、この例では、文字列を選択する２つのパス“ａ−ｂ−ｄ−ｅ−ｆ”および“ａ−ｄ−ｅ−ｆ”が存在する。
【００８６】
図１４Ａは、最尤文字列決定部２４８によって決定された最尤文字列の切り出し領域ｃ、ｄ、ｅ、ｆを示している。図１４Ｂは、最尤文字列における、誤り文字位置、誤りの種類および誤り領域の位置を示している。
【００８７】
文字評価部２５３は、決定された最尤文字列に対応する文字切り出し領域ｃ−ｄ−ｅ−ｆの中で、誤り文字でなかった領域（ｃ、ｄ、ｅ、ｆ）のそれぞれの筆跡に対して、文字評価辞書５６０を参照して、その領域に対応する正解文字として正しいかどうかを評価する。評価の観点として、画数違い、交差の有／無、等の観点がある。文字評価部２０において正しくないと判断された場合には、誤字位置抽出部２５５において、誤字であることと誤字の位置とが誤り情報記憶部２６０に格納される。
【００８８】
図１５Ａは、不正解の場合の解答文字列の採点結果の例を示している。図１５Ｂは、不正解の場合の解答文字列の採点結果の別の例を示している。
【００８９】
誤り情報表示部２１７は、誤り情報記憶部２６０の誤り情報を参照して、筆跡の中での誤り箇所を表示する。誤り情報には誤りの種類が含まれているので、誤り箇所の表示の際には、異字の場合と誤字の場合を区別して表示することが可能である。正誤判定結果表示部２１８は、誤り情報がない場合（○）、異字の誤り情報がある場合（レ）、誤字の誤り情報がある場合（△）を区別して表示することができる。
【００９０】
誤り情報表示部２１７は、誤り情報記憶部２６０中の誤り情報を参照して、ユーザによって入力された筆跡の最尤文字列の切り出し領域中における誤字を、図１５Ａのように表示する。図において、正解文字“智”の誤字である筆跡（部首の“目”が“日”の誤り）は、他の文字の色（例えば、黒、等）とは異なる色（例えば、青）で表示されている。
【００９１】
誤り情報表示部２１７は、誤り情報記憶部２６０中の誤り情報を参照して、ユーザによって入力された筆跡の最尤文字列の切り出し領域中における異字“地”を、図１５Ｂのように表示する。図において、正解文字“智”とは異なる異字“地”の筆跡は、他の文字の色（例えば、黒、等）とは異なる色（例えば、赤）で表示されている。このように、図１５Ａの誤字の場合の表示と図１５Ｂの異字の場合の表示とを区別して表示することができる。
【００９２】
図１６Ａは、不正解の場合の解答文字列の採点結果における正解文字列の表示の例を示している。図１６Ｂは、不正解の場合の解答文字列の採点結果における正解文字列の表示の別の例を示している。
【００９３】
図１６Ａにおいて、正解文字“智”の誤字である筆跡（部首の“目”が“日”の誤り）および正解文字列中の“智”は、共に同じ色（例えば、青）で、かつ他の文字の色（例えば、黒、等）とは異なる色で表示されている。図１６Ｂにおいて、正解文字“智”の異字である“地”の筆跡および正解文字列中の“智”は、共に同じ色（例えば、赤）で、かつ他の文字の色（例えば、黒、等）とは異なる色で表示されている。
【００９４】
図１７Ａおよび１７Ｂは、図２の学習支援システム２００によって実行される正解／不正解を判定するための処理のフローチャートを示している。
【００９５】
図１７Ａを参照すると、ステップ５０２において、筆跡情報読み出し部２４２は、採点指示部２１４からの正解／不正解判定の指示（命令）に従って、筆跡情報記憶部２５２から解答枠内の筆跡情報を取り出して文字切り出し領域候補生成部２４４に供給する。ステップ５０４において、文字切り出し領域候補生成部２４４は、筆跡情報を分析して文字切り出し領域候補（文字切り出しの候補領域）を生成し、個々の文字切り出し領域候補にそれぞれの識別情報（ａ、ｂ、ｃ、．．．）を付与して文字切り出し領域候補記憶部２６２に格納し、その文字切り出し領域候補をその識別とともに個別文字認識部２４６に供給する。
【００９６】
ステップ５０６において、個別文字認識部２４６は、識別情報または識別番号ｎを初期値ｎ＝１と設定する。ステップ５０８において、個別文字認識部２４６は、一連の文字領域候補からなる各群または各パスについて、識別番号ｎ番目（この場合、最初はｎ＝１）の切り出し領域候補があるかどうかを判定する。ｎ番目（最初はｎ＝１）の切り出し領域候補があると判定された場合は、ステップ５１０において、個別文字認識部２４６は、ｎ番目の切り出し領域候補内の筆跡に対して、既知の形態で文字認識を行い、認識候補文字と認識スコアを生成する。ステップ５１２において、個別文字認識部２４６は、識別番号ｎ＝ｎ＋１と設定する。その後、手順はステップ５０８に戻る。
【００９７】
ステップ５０８においてｎ番目（最初はｎ＝１）の切り出し領域候補がないと判定された場合は、ステップ５２２において、個別文字認識部２４６は、生成された切り出し領域候補と各領域候補に対する認識候補文字と認識スコアを最尤文字列決定部２４８に供給する。最尤文字列決定部２４８は、切り出し領域候補と各切り出し領域候補に対する認識候補文字と認識スコアを、正解文字列記憶部２５８に格納されている正解文字列と比較照合して、最尤文字列を決定し、その決定された最尤文字列を誤り文字位置抽出部２５０に供給する。
【００９８】
ステップ５２４において、誤り文字位置抽出部２５０は、その決定された最尤文字列を正解文字列記憶部２５８内の対応する正解文字列と照合して、最尤文字列における誤り文字位置を抽出して、その誤り情報を誤り情報記憶部２６０に解答枠に対応付けて格納し、採点指示部２１４によって指示された正解／不正解の判定処理が完了したことを誤り領域抽出部２６２に通知する。
【００９９】
図１７Ｂを参照すると、ステップ５６２において、誤り領域抽出部２６２は、誤り情報記憶部２６０内に解答枠に対応する誤り情報があるかどうかを判定する。誤り情報がないと判定された場合は、ステップ５７６において、誤り領域抽出部２６２は、解答枠内の筆跡に誤りがないことを正誤判定部２１８に通知する。正誤判定部２１８は、対応する解答枠に対して正解（赤○）を表示する。
【０１００】
ステップ６５２において誤り情報があると判定された場合は、ステップ５６４において、誤り領域抽出部２６２は、解答枠内の筆跡に誤りがあることを正誤判定部２１８に通知し、誤り情報記憶部２６０内の解答枠の誤り位置に対応する誤り領域を、文字切り出し領域候補記憶部２５４内の文字切り出し領域候補の中から抽出し、抽出された誤り領域を誤り情報表示部２１７に通知する。ステップ５６６において、誤り情報表示部２１７は誤り領域の筆跡をハイライト（強調）表示する（例えば、色を変更する）。ステップ５７２において、正誤判定部２１８は、対応する解答枠に対して不正解（赤レ）を表示する。
【０１０１】
図１８Ａ〜１８Ｃは、図２の学習支援システム２０２によって実行される正解／不正解を判定するための処理の別のフローチャートを示している。
【０１０２】
図１８Ａを参照すると、ステップ５０２〜５２４は、図１７Ａのものと同様である。
【０１０３】
図１８Ｂを参照すると、ステップ５２４の後のステップ５３２において、文字評価部２５３は、最尤文字列中の文字の順番（順序番号）ｍを初期値ｍ＝１と設定する。ステップ５３４において、文字評価部２５３は、最尤文字の順番ｍがＬより大きいかどうかを判定する。ここで、Ｌは正解文字列の長さまたは文字数である。ｍがＬより大きくない（即ち未だ照合すべき正解文字がある）と判定された場合は、ステップ５３６において、文字評価部２５３は、誤り情報２６０を参照して、ｍ番目の最尤文字ＭＪが誤っているかどうかを判定する。その文字が誤っていると判定された場合は、ステップ５３８において、最尤文字番号ｍ＝ｍ＋１と設定する。その後、手順はステップ５３４に戻る。
【０１０４】
ステップ５３６においてその文字が誤っていないと判定された場合は、ステップ５４２において、文字評価部２５３は、文字評価辞書５６０を参照して、ｍ番目の最尤文字ＭＪに対応する切出領域内の文字の正しさを評価する。ステップ５４４において、文字評価部２５３は文字ＭＪに対応する切出領域内の文字が正しいと評価されたかどうかを判定する。切出領域内の文字が正しくないと判定された場合は、ステップ５４６において、誤字位置抽出部２５５はｍ番目の最尤文字ＭＪを誤字として誤り情報記憶部２６０に格納する。その後、手順はステップ５４８に進む。ステップ５４４において切出領域内の文字が正しいと判定された場合は、手順はステップ５４８に進む。
【０１０５】
ステップ５３４においてｍがＬより大きいと判定された場合は、手順は図１８Ｃのステップ５６２に進む。図１８Ｃのステップ５６２〜５６４は、図１７Ｂのものと同様である。
【０１０６】
ステップ５６４の後のステップ５６６において、正誤判定表示部２１８は、誤り情報記憶部２６０を参照して、誤りの種類が誤字かどうかを判定する。誤字であると判定された場合は、ステップ５７０において、誤り領域中の筆跡を誤字を表す色（例えば、青）で表示する。その後、手順はステップ５７２に進む。誤字でないと判定された場合は、ステップ５６８において、誤り領域中の筆跡を異字を表す色（例えば、赤）で表示する。その後、手順はステップ５７２に進む。ステップ５７２および５７６は図１７Ｂのものと同様である。
【０１０７】
図１９Ａ〜１９Ｃは、最尤文字列決定部２４８によって実行される、図１７Ａまたは１８Ａのステップ５２２の詳細なフローチャートを示している。
【０１０８】
最尤文字列決定部２４８は、ステップ６０２において、ノード番号ｎに初期値ｎ＝１を設定する。ステップ６０４において、生成された切り出し領域候補のノード中にｎ番目のノードが存在するかどうかを判定する。ｎ番目のノードが存在しないと判定された場合は、手順は図１９Ｃのステップ６６２に進む。ステップ６０４においてｎ番目のノードが存在すると判定された場合は、ステップ６０６において、そのｎ番ノードが先頭の切り出し領域候補かどうかを判定する。ｎ番ノードが先頭の切り出し領域候補であると判定された場合は、ステップ６０８において、正解文字列における照合文字の位置Ｘを初期値Ｘ＝１、最大の文字列照合スコアｍａｘＳを初期値ｍａｘＳ＝０と設定する。続いて、ステップ６０９において、直前選択ノードのノード番号ｐをなしと設定する。
【０１０９】
ステップ６０６においてｎ番ノードが先頭の切り出し領域候補でないと判定された場合は、最尤文字列決定部２４８は、ステップ６１０において、ｎ番ノードに直前に接続するリンク番号ｍを初期値ｍ＝１、最大文字列照合スコアｍａｘＳを初期値ｍａｘＳ＝０と設定する。
【０１１０】
ステップ６１２において、リンク番号ｍがＭ以下かどうかを判定する。ここで、Ｍは、ｎ番ノードに直前に接続するリンク（ノード）の合計数を表す。リンク番号ｍがＭ以下でない（Ｍより大）と判定された場合は、ステップ６１６において、ノード番号ｎ＝ｎ＋１と設定する。その後、手順はステップ６０４に戻る。
【０１１１】
リンク番号ｍがＭ以下であると判定された場合は、ステップ６１３において、直前選択ノード番号ｐをｎ番ノードに直前に接続するｍ番目のノードのノード番号と設定する。続いて、ステップ６２０において、正解文字列における照合文字位置Ｘを、Ｘ＝ｎ番ノードに直前に接続するｍ番目のノードの照合文字位置＋１と設定する。
【０１１２】
図１９Ｂを参照すると、ステップ６３６において、正解文字列中の照合文字位置Ｘが正解文字列の長さＬを越えるかどうかを判定する。文字位置Ｘが長さＬより大きいと判定された場合は、手順はステップ６４４へ進む。ＸがＬより大きくないと判定された場合は、手順はステップ６４２へ進む。
【０１１３】
ステップ６４２において、正解文字列の照合文字位置Ｘ番目の文字がｎ番ノードの認識文字候補中に存在するかどうかを判定する。照合文字位置Ｘの文字が存在しないと判定された場合は、手順はステップ６４４に進む。ステップ６４４において、文字照合スコアＭＳ＝不一致値または最低値、選択文字ＭＪとして認識文字候補中の最大スコアの候補文字を設定する。ステップ６４２において照合文字位置Ｘの文字が存在すると判定された場合は、ステップ６４６において、文字照合スコアＭＳ＝ノードにおける照合文字位置Ｘの文字のスコア＋加算値（一致値）、選択文字ＭＪ＝正解文字列のＸ番文字を設定する。その後、手順はステップ６４８へ進む。
【０１１４】
ステップ６４８において、文字列照合スコアＭＲＳ＝（ｎ番ノードに直前に接続するｍ番目のノードのＭＲＳ×（Ｘ−１）＋ＭＳ）／Ｘと設定する。ステップ６５０において、文字列照合スコアＭＲＳが最大の文字列照合スコアｍａｘＳより大きいかどうかを判定する。文字列照合スコアＭＲＳが最大の文字列照合スコアｍａｘＳより大きくないと判定された場合は、手順は図１９Ａのステップ６１２へ戻る。
【０１１５】
ステップ６５０において文字列照合スコアＭＲＳが最大の文字列照合スコアｍａｘＳより大きいと判定された場合は、ステップ６５２において、最大の文字列照合スコアｍａｘＳ＝ＭＲＳと設定して更新する。ステップ６５４において、直前選択ノード番号ｐ、照合文字位置Ｘ、選択文字ＭＪ、最大の文字列照合スコアｍａｘＳを互いに関連づけて格納する。
【０１１６】
ステップ６５６において、ｍ＝ｍ＋１と設定する。その後、手順は図１９Ａのステップ６１２へ戻る。
【０１１７】
図１９Ｃを参照すると、図１９Ａのステップ６０４のＮＯ分岐の後、ステップ６６２において、末尾ノードの順序番号ｊを初期値ｊ＝１、末尾ノードの最大の文字列照合スコアＭＡＸを初期値ＭＡＸ＝０と設定する。
【０１１８】
ステップ６６４において、文字切り出し領域の末尾ノードとしてのｊ番目のノードが存在するかどうかを判定する。それが存在しないと判定された場合は、ステップ６７６において、決定された末尾ノードＬａｓｔから先行ノードへと辿って選択文字をつないで最尤文字列を決定する。
【０１１９】
ステップ６６４において末尾ノードとしてのｊ番目のノードが存在すると判定された場合は、ステップ６６６において、末尾ノードとしてのｊ番目のノード番号をＡと設定する。ステップ６６８において、Ａ番ノードの文字列照合スコアＭＲＳが最大の文字列照合スコアＭＡＸより大きいかどうかを判定する。ＭＲＳがＭＡＸより大きくないと判定された場合は、ステップ６７２において、ｊ＝ｊ＋１と設定する。一方、ＭＲＳがＭＡＸより大きいと判定された場合は、ステップ６７０において、ＭＡＸ＝ＭＲＳ、Ｌａｓｔ＝Ａと設定する。
【０１２０】
図２０Ａ〜２０Ｅは、最尤文字列決定部２４８によって実行される、図１７Ａまたは１８Ａのステップ５２２の詳細な別のフローチャートを示している。この場合、最尤文字の決定のための処理は、脱字および余剰文字の検出を含んでいる。
【０１２１】
図２０Ａにおいて、ステップ６０２〜６０６および６１０〜６１６は、図１９Ａのものと同様である。ステップ６０６においてｎ番ノードが先頭の切り出し領域であると判定された場合は、図１９Ａのステップ６０８に代わるステップ６１８において、正解文字列における照合文字の位置Ｘを初期値Ｘ＝１、最尤文字列におけるｎ番ノードの文字位置Ｙを初期値Ｙ＝１、最大の文字列照合スコアｍａｘＳを初期値ｍａｘＳ＝０と設定する。続いて、ステップ６０９において、直前選択ノードのノード番号ｐをなしと設定する。その後、手順はステップ６３６に進む。
【０１２２】
ステップ６１２においてリンク番号ｍがＭ以下であると判定された場合は、ステップ６１３において、直前選択ノード番号ｐをｎ番ノードに直前に接続するｍ番目のノードのノード番号と設定する。続いて、ステップ６２１において、正解文字列における照合文字位置ＸをＸ＝ｐ番ノードの照合文字位置＋１と設定し、文字位置ＹをＹ＝ｐ番ノードの文字位置＋１と設定する。その後、手順は図２０Ｂのステップ６３６に進む。
【０１２３】
図２０Ｂにおいて、ステップ６３６は図１９Ｂのものと同様である。ステップ６３６においてＸがＬより大きいと判定された場合は、手順は図２０Ｄのステップ６４４へ進む。ＸがＬより大きくないと判定された場合は、手順はステップ６８２において、照合文字位置ｉを初期値ｉ＝Ｘと設定する。ステップ６８４において、照合文字位置ｉがＸとａの和（Ｘ＋ａ）以上（ｉ≧Ｘ＋ａ）かどうかを判定する。ここで、ａは所定の数値である。一方、ｉがＸとａの和以上であると判定された場合は、ステップ６８６においてリンク番号ｍ＝ｍ＋１と設定する。その後、手順は図２０Ａのステップ６１２に戻る。
【０１２４】
ステップ６８４においてｉがＸとａの和以上でないと判定された場合は、ステップ６８５においてｉがＬより大きいかどうかを判定する。ｉが正解文字列の長さＬより大きいと判定された場合は、手順はステップ６８６に進む。一方、ｉが長さＬより大きくないと判定された場合は、手順は図２０Ｃのステップ６８７へ進む。
【０１２５】
図２０Ｃを参照すると、ステップ６８７において、正解文字列のｉ番目の文字がノードにおける文字候補に存在するかどうかを判定する。ｉ番目の文字がノードにおける文字候補に存在しないと判定された場合は、ステップ６４５において、文字照合スコアＭＳ＝不一致値または最低値、選択文字ＭＪとして最大スコアの候補文字、照合文字位置ＭＩ＝Ｘ−１を設定する。一方、ｉ番目の文字がノードにおける候補に存在すると判定された場合は、ステップ６４７において、文字スコアＭＳ＝ノードにおける照合文字位置ｉの文字のスコア＋加算値（一致値）、選択文字ＭＪとして正解文字列のｉ番目の文字、照合文字位置ＭＩ＝ｉを設定する。その後、手順はステップ６４９へ進む。
【０１２６】
ステップ６４９において、文字列照合スコア＝（ｐ番ノードのＭＲＳ×（Ｙ−１）＋ＭＳ）／Ｙと設定する。ステップ６５１において、文字列照合スコアＭＲＳが最大の文字列照合スコアｍａｘＳより大きいかどうかを判定する。文字列照合スコアＭＲＳが最大スコアｍａｘＳより大きくないと判定された場合は、手順はステップ６９８進み、その後、図２０Ｂのステップ６８４へ戻る。
【０１２７】
ステップ６５１において文字列照合スコアＭＲＳが最大の文字列スコアｍａｘＳより大きいと判定された場合は、ステップ６５２において、最大の文字列スコアｍａｘＳ＝ＭＲＳと設定する。ステップ６９６において、照合文字位置ＭＩ、選択文字ＭＪ、最大の文字列照合スコアｍａｘＳ、文字位置Ｙ、直前選択ノードとしてｐ番ノード、をｎ番ノードに関連づけて格納する。その後、手順はステップ６９８に進む。
【０１２８】
図２０Ｄを参照すると、図２０Ｂのステップ６３６のＹＥＳ分岐の後のステップ６４４において、文字照合スコアＭＳ＝不一致値または最低値、選択文字ＭＪとして最大スコアの候補文字を設定する。
【０１２９】
図２０Ｄのステップ６４９〜６５２は図２０Ｃのものと同様である。ステップ６５１において文字列照合スコアＭＲＳが最大スコアｍａｘＳより大きくないと判定された場合は、手順は図２０Ａのステップ６１２へ戻る。
【０１３０】
ステップ６５２の後のステップ７０８において、照合文字位置Ｘ、選択文字ＭＪ、最大の文字列照合スコアｍａｘＭＲＳ、文字位置Ｙ、直前の選択ノードとしてｐ番ノード、をｎ番ノードに関連づけて格納する。ステップ７１２において、ｍ＝ｍ＋１と設定する。その後、手順はステップ６１２に戻る。
【０１３１】
図２０Ｅを参照すると、図２０Ａのステップ６０４の後のステップ６６２〜６７２は図１９Ｃのものと同様である。
【０１３２】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【０１３３】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
（付記１）  筆跡情報記憶領域、文字切り出し領域候補記憶領域、文字認識辞書記憶領域、正解文字列記憶領域および誤り情報記憶領域を含む記憶手段と、
入力された筆跡情報を前記筆跡情報記憶領域に格納する筆跡情報格納手段と、
前記筆跡情報記憶領域から筆跡情報を読み出す筆跡情報読み出し手段と、
前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定する最尤文字列決定手段と、
前記最尤文字列を前記正解文字列と照合して誤り文字の位置を抽出して前記誤り情報記憶領域に格納する誤り文字位置抽出手段と、
を含むことを特徴とする学習支援システム。
（付記２）  さらに、前記誤り文字の位置に対応する前記文字単位の領域候補における位置を誤り情報として抽出する誤り抽出手段を含むことを特徴とする、付記１に記載の学習支援システム。
（付記３）  さらに、ユーザによって入力された筆跡を前記筆跡情報格納手段に供給する筆跡入力手段と、
前記ユーザによって付勢された採点指示を前記筆跡情報読み出し手段に供給する採点指示手段と、
前記入力された筆跡情報を表示器に表示する筆跡表示手段と、
前記誤り抽出手段によって抽出された誤り情報の有無に従って前記最尤文字列の正誤を判定して前記表示器に正誤を表示する正誤判表示定手段と、
前記誤り抽出手段によって抽出された誤り情報を前記表示器に表示する誤り情報表示手段と、
を含むことを特徴とする、付記２に記載の学習支援システム。
（付記４）  前記記憶手段は、さらに文字評価辞書記憶領域を含み、
さらに、前記最尤文字列に対応する前記領域候補の筆跡情報に対して前記文字評価辞書記憶領域における文字評価辞書情報に基づいて前記領域候補の筆跡情報の前記正解文字列中の対応する文字位置の正解文字としての正しさを評価する文字評価手段と、
前記文字評価手段によって誤字と判定された前記領域候補を抽出する誤字位置抽出手段と、
を含み、
前記誤り情報表示手段は、前記入力された筆跡情報における誤字の位置を前記表示器に表示するものであることを特徴とする、
付記１乃至３のいずれかに記載の学習支援システム。
（付記５）  ネットワークを介して情報処理端末に接続可能なサーバ上に実装されていることを特徴とする、付記１または２に記載の学習支援システム。
（付記６）  スタンドアローン型の情報処理装置上に実装されていることを特徴とする、付記１乃至４のいずれかに記載の学習支援システム。
（付記７）  前記複数の候補文字にそれぞれの認識スコアが与えられており、
前記最尤文字列決定手段は、前記複数の領域候補の中の或る領域候補に対する前記複数の候補文字の中の或る候補文字が前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致した場合に、前記或る候補文字を選択して前記或る候補文字の認識スコアに加算値を加えて前記或る候補文字の文字照合スコアを生成し、
前記最尤文字列決定手段は、前記複数の領域候補の中の或る領域候補における前記複数の候補文字の中のいずれの候補文字も前記正解文字列記憶領域における正解文字列の対応する文字位置の正解文字と一致しなかった場合に、前記複数の候補文字の中から最も高い認識スコアを有する不一致の候補文字を選択して前記不一致の候補文字の文字照合スコアを最低値に設定し、
最尤文字列決定手段は、前記文字照合スコアの平均値が最も高い前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記選択された候補文字を、最尤文字列と決定するものであることを特徴とする、付記１乃至６のいずれかに記載の学習支援システム。
（付記８）  前記最尤文字列決定手段は、前記複数の領域候補における各領域候補に対する前記複数の候補文字を前記正解文字列の文字と照合する際、前記複数の候補文字において、前記正解文字列における文字が欠落しているかどうかおよび前記正解文字列に存在しない余剰文字が存在するかどうかを判定し、前記正解文字列における文字が欠落している場合には前記領域候補におけるその欠落文字の位置を決定し、前記正解文字列に存在しない余剰文字が存在する場合には前記領域候補におけるその余剰文字の位置を決定するものであることを特徴とする、付記１乃至６のいずれかに記載の学習支援システム。
（付記９）  前記誤り情報表示手段は、前記表示器において、前記入力された筆跡情報における誤り文字を強調表示し、それと共に対応する前記正解文字列を表示し、前記入力された筆跡情報における誤り文字に対応する前記正解文字列における文字の位置を強調表示するものであることを特徴とする、付記３に記載の学習支援システム。
（付記１０）  前記誤り情報表示手段は、前記表示器において、前記誤り文字としての誤字と異字を区別できる形態で表示するものであることを特徴とする、付記９に記載の学習支援システム。
（付記１１）  前記誤り情報表示手段は、前記正解文字列における文字が欠落している場合には前記領域候補におけるその欠落文字の位置を表示し、前記正解文字列に存在しない余剰文字が存在する場合には前記領域候補におけるその余剰文字の位置を表示するものであることを特徴とする、付記３に記載の学習支援システム。
（付記１２）  筆跡情報記憶領域、文字切り出し領域候補記憶領域、文字認識辞書記憶領域、正解文字列記憶領域および誤り情報記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
入力された筆跡情報を前記筆跡情報記憶領域に格納するステップと、
前記筆跡情報記憶領域から筆跡情報を読み出すステップと、
前記読み出した筆跡情報を文字単位の複数の領域候補に切り出すステップと、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成するステップと、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定するステップと、
前記最尤文字列を前記正解文字列と照合して誤り文字の位置を抽出して前記誤り情報記憶領域に格納するステップと、
を実行させるよう動作可能なプログラム。
（付記１３）  筆跡情報記憶領域、文字切り出し領域候補記憶領域、文字認識辞書記憶領域、正解文字列記憶領域および誤り情報記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
入力された筆跡情報を前記筆跡情報記憶領域に格納する工程と、
前記筆跡情報記憶領域から筆跡情報を読み出す工程と、
前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す工程と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する工程と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定する工程と、
前記最尤文字列を前記正解文字列と照合して誤り文字の位置を抽出して前記誤り情報記憶領域に格納する工程と、
を含む、学習支援方法。
【図面の簡単な説明】
【０１３４】
【図１】図１は、本発明の実施形態に用いることができる情報処理装置および学習支援サーバを示している。
【図２】図２は、図１の情報処理装置および／または学習支援サーバによって実現される学習支援システムの構成を示している。
【図３】図３Ａは、ユーザによって入力され筆跡情報読み出し部によって取り込まれた手書きの解答文字列の筆跡の例を示している。図３Ｂは、図３Ａの筆跡座標データに対して、文字切り出し領域候補生成部によって生成された文字切り出し領域候補の例を示している。図３Ｃは、個別文字認識部による、図３Ｂに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【図４】図４Ａ〜４Ｄは、図３Ｃの選択した認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列に対する最尤文字列を決定する手順の例を示している。
【図５】図５Ａは、ユーザによって入力され筆跡情報読み出し部によって取り込まれた手書きの解答文字列の筆跡の例を示している。図５Ｂは、図５Ａの筆跡座標データに対して、文字切り出し領域候補生成部によって生成された文字切り出し領域候補の例を示している。図５Ｃは、個別文字認識部による、図５Ｂに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【図６】図６Ａ〜６Ｄは、図５Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列“例示”に対する最尤文字列を決定する手順の例を示している。
【図７】図７Ａは、最尤文字列決定部によって保持される最尤文字列の文字切り出し領域のデータを示している。図７Ｂは、誤り領域抽出部によって抽出された誤り情報の例を示している。
【図８】図８Ａは、正解の場合の解答文字列の採点結果の例示図を示している。図８Ｂは、不正解の場合の解答文字列の採点結果の例を示している。図８Ｃは、不正解の場合の解答文字列の採点結果における正解文字列の表示の例を示している。
【図９】図９Ａは、ユーザによって入力され筆跡情報読み出し部によって取り込まれた手書きの解答文字列に対する解答枠の筆跡の例を示している。図９Ｂは、図９Ａの筆跡の座標データに対して、文字切り出し領域候補生成部によって生成された文字切り出し領域候補の例を示している。図９Ｃは、個別文字認識部による、図９Ｂに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【図１０】図１０Ａ〜１０Ｄは、図９Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列に対する最尤文字列を決定する手順の例を示している。図１０Ｅは、最尤文字列における、誤り文字位置、誤りの種類および誤り領域の位置を示している。
【図１１】図１１Ａは、不正解の場合の解答文字列の採点結果の例を示している。図１１Ｂは、不正解の場合の解答文字列の採点結果における正解文字列の表示の例を示している。図１１Ｃは、不正解の場合の解答文字列の採点結果における正解文字列の表示の別の例を示している。
【図１２】図１２は、図１の情報処理装置および／または学習支援サーバによって実現される別の学習支援システムの構成を示している。
【図１３】図１３Ａは、ユーザによって入力され筆跡情報読み出し部によって取り込まれた手書きの解答文字列の筆跡の例を示している。図１３Ｂは、図１３Ａの筆跡座標データに対して、文字切り出し領域候補生成部によって生成された文字切り出し領域候補の例を示している。図１３Ｃは、個別文字認識部による、図１３Ｂに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【図１４】図１４Ａは、最尤文字列決定部によって決定された最尤文字列の切り出し領域を示している。図１４Ｂは、最尤文字列における、誤り文字位置、誤りの種類および誤り領域の位置を示している。
【図１５】図１５Ａは、不正解の場合の解答文字列の採点結果の例を示している。図１５Ｂは、不正解の場合の解答文字列の採点結果の別の例を示している。
【図１６】図１６Ａは、不正解の場合の解答文字列の採点結果における正解文字列の表示の例を示している。図１６Ｂは、不正解の場合の解答文字列の採点結果における正解文字列の表示の別の例を示している。
【図１７Ａ】図１７Ａおよび１７Ｂは、図２の学習支援システムによって実行される正解／不正解を判定するための処理のフローチャートを示している。
【図１７Ｂ】(図17Aで説明)
【図１８Ａ】図１８Ａ〜１８Ｃは、図２の学習支援システムによって実行される正解／不正解を判定するための処理の別のフローチャートを示している。
【図１８Ｂ】(図18Aで説明)
【図１８Ｃ】(図18Aで説明)
【図１９Ａ】図１９Ａ〜１９Ｃは、最尤文字列決定部によって実行される、図１７Ａまたは１８Ａのステップ５２２の詳細なフローチャートを示している。
【図１９Ｂ】(図19Aで説明)
【図１９Ｃ】(図19Aで説明)
【図２０Ａ】図２０Ａ〜２０Ｅは、最尤文字列決定部２４８によって実行される、図１７Ａまたは１８Ａのステップ５２２の詳細な別のフローチャートを示している。
【図２０Ｂ】(図20Aで説明)
【図２０Ｃ】(図20Aで説明)
【図２０Ｄ】(図20Aで説明)
【図２０Ｅ】(図20Aで説明)
【符号の説明】
【０１３５】
２００  学習支援システム
２４４  文字切り出し領域候補生成手段
２４６  個別文字認識手段
２４８  最尤文字列決定手段
２５０  誤り文字位置抽出手段
【図１】
0005439721.tif 000002
【図２】
0005439721.tif 000003
【図３】
0005439721.tif 000004
【図４】
0005439721.tif 000005
【図５】
0005439721.tif 000006
【図６】
0005439721.tif 000007
【図７】
0005439721.tif 000008
【図８】
0005439721.tif 000009
【図９】
0005439721.tif 000010
【図１０】
0005439721.tif 000011
【図１１】
0005439721.tif 000012
【図１２】
0005439721.tif 000013
【図１３】
0005439721.tif 000014
【図１４】
0005439721.tif 000015
【図１５】
0005439721.tif 000016
【図１６】
0005439721.tif 000017
【図１７Ａ】
0005439721.tif 000018
【図１７Ｂ】
0005439721.tif 000019
【図１８Ａ】
0005439721.tif 000020
【図１８Ｂ】
0005439721.tif 000021
【図１８Ｃ】
0005439721.tif 000022
【図１９Ａ】
0005439721.tif 000023
【図１９Ｂ】
0005439721.tif 000024
【図１９Ｃ】
0005439721.tif 000025
【図２０Ａ】
0005439721.tif 000026
【図２０Ｂ】
0005439721.tif 000027
【図２０Ｃ】
0005439721.tif 000028
【図２０Ｄ】
0005439721.tif 000029
【図２０Ｅ】
0005439721.tif 000030