(57)【特許請求の範囲】
【請求項１】
１つの解答枠に対するユーザによる１つの解答文字列を入力する解答入力手段と、
ユーザによる正誤判定指示を入力する正誤判定指示手段と、
入力された前記１つの解答文字列を前記１つの解答枠に表示する解答文字列表示手段と、
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、
入力された前記１つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、
前記読み出した解答文字列と前記正解文字列記憶領域の前記１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の正解文字列の中から前記解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、
前記解答文字列と前記解答対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、
決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、
前記正誤判定の結果を表示する正誤判定表示手段と、
を含むことを特徴とする学習支援システム。
【請求項２】
前記複数の正解文字列の中から選択された前記解答文字列に対応する前記１つ以上の解答対応正解文字列が、複数の解答対応正解文字列であり、かつ互いに等しい類似度を有する場合に、前記解答対応正解文字列決定手段は、前記１つ以上の正解文字列の中の１つだけを前記解答対応正解文字列として決定することを特徴とする、請求項１に記載の学習支援システム。
【請求項３】
前記１つの解答枠は、前記複数の正解文字列に対応し得る複数の解答枠の１つであり、
前記文字列類似度算出手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の文字列類似度を算出し、
前記解答対応正解文字列決定手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の前記文字列類似度に基づいて、前記複数の解答枠に対して前記複数の正解文字列の中の前記正解文字列を排他的に選択して割り付けて前記解答対応正解文字列として決定するものであることを特徴とする、請求項１または２に記載の学習支援システム。
【請求項４】
前記記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、
前記解答文字列管理手段は、さらに、前記１つの解答枠に対して入力された筆跡情報を前記解答文字列記憶領域に格納し、
前記解答文字列読出し手段は、さらに、前記解答文字列記憶領域から筆跡情報を読み出し、
さらに、前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定して前記解答文字列として前記文字列類似度算出手段に供給する最尤文字列決定手段と、
を含むことを特徴とする、請求項１乃至３のいずれかに記載の学習支援システム。
【請求項５】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
前記情報処理装置に
１つの解答枠に対するユーザによる１つの解答文字列を受け取り、ユーザによる正誤判定指示を受け取るステップと、
入力された前記１つの解答文字列を前記解答文字列記憶領域に格納し、入力された前記１つの解答文字列を前記１つの解答枠に表示させるステップと、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出すステップと、
前記読み出した解答文字列と前記正解文字列記憶領域の前記１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出するステップと、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の正解文字列の中から前記解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定するステップと、
前記解答文字列と前記解答対応正解文字列を照合して、前記解答文字列の正誤判定を行うステップと、
決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示させ、前記正誤判定の結果を表示させるステップと、
を実行させるよう動作可能なプログラム。
【請求項６】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
１つの解答枠に対するユーザによる１つの解答文字列を受け取り、ユーザによる正誤判定指示を受け取る工程と、
入力された前記１つの解答文字列を前記解答文字列記憶領域に格納し、入力された前記１つの解答文字列を前記１つの解答枠に表示させる工程と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出す工程と、
前記読み出した解答文字列と前記正解文字列記憶領域の前記１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する工程と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の正解文字列の中から前記解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定する工程と、
前記解答文字列と前記解答対応正解文字列を照合して、前記解答文字列の正誤判定を行う工程と、
決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示させ、前記正誤判定の結果を表示させる工程と、
を含む、学習支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習支援システムに関し、特に、解答として入力された文字列を識別してその解答を採点する学習支援システムに関する。
【背景技術】
【０００２】
特開平７−１９９７９４号公報（特許文献１）には、画像処理装置が記載されている。その画像処理装置において、答案用紙の画像を画像読取手段によって読み取り、その画像情報を画像記憶手段に記憶する。その画像情報から問題認識手段が出題された問題を認識し、解答認識手段がその問題に対する解答の文字、記号又はマークを認識する。その認識した解答と正解・配点情報保持手段が保持する認識した問題に対する正解とを採点手段によって各問題毎に比較して各解答の正否を判断し点数を算出する。その採点結果を、採点結果出力手段が画像出力手段によって画像記憶手段に記憶した答案用紙の画像と共に記録紙に画像形成して出力させる。それによって、デジタル複写機を利用して、答案用紙の自動採点を簡単にでき、その採点結果の確認も容易になる。
【特許文献１】特開平７−１９９７９４号公報
【０００３】
特開２００１−２８２０９０号公報（特許文献２）には、学習用プログラムが記載されている。その学習用プログラムは、問題文をウインドに提示し、演習問題の解答の入力を求める前に、解答を見つけるために学習者が理解すべき複数の必須事項の理解を検証する複数の質問をウインドに所定の思考過程に即して順次提示する。いずれかの質問に対する解答が不正解のときには、正解を提示したうえで、次の質問を提示する。質問への解答が正解のときには、対応する途中点を与える。全質問への解答の終了後に演習問題への解答を受け付ける。途中点と演習問題の解答に対する得点から学習者の問題得点を決める。上記複数の質問には、問題文に実質的に表された複数の必須事項に関する質問と、問題文に表されていない複数の必須事項に関する質問とが含まれる。それによって、演習問題の解答を見つける思考過程の習得を支援する。
【特許文献２】特開２００１−２８２０９０号公報
【０００４】
特開２００４−２９６４９号公報（特許文献３）には、学習装置が記載されている。その学習装置は、この学習装置の制御を行うデータ制御部を備えている。このデータ制御部においては、表示部に表示された問題に対して受講者により入力部を介して入力された解答とデータ記憶部に記憶されている問題の正解とを照合することにより採点を行う。そして、問題に対する解答が正しい場合には、表示部に正解を表示し、問題に対する解答が誤っている場合には表示部にデータ記憶部に記憶されている解説を表示する。それによって、パソコン等を利用した学習形態において、学習内容の理解を向上させると共に、効率的な学習を行うことができる学習装置を提供する。
【特許文献３】特開２００４−２９６４９号公報
【０００５】
特開２００６−３０８９２５号公報（特許文献４）には、学習支援システムが記載されている。その学習支援システムは、問題データベースから読み出した問題を画面に表示する問題表示部と解答入力部とを備えている。その学習支援システムにおいて、解答入力部より入力された解答と問題データベースの正解とを照合して解答判定を行う解答判定部と、解答判定部による解答判定結果を、判定対象となった解答に対応させて表示する解答判定結果表示部と、解答判定結果を問題に対応付けて保存する解答判定結果メモリとを備え、問題表示部が、以前の解答時の解答判定結果が存在する問題については、以前の解答時の解答判定結果に応じた態様（例えば解答枠の色分け）で問題を表示する。それによって、同じ問題を２回目以降に表示する際に、以前の正誤状況がわかるような態様で問題が表示される。
【特許文献４】特開２００６−３０８９２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特開２００４−２９６４９号公報のシステムでは、入力された解答の正誤を判定し、さらに問題と対になって記憶されている正解を表示する。しかし、発明者は、１つの解答枠に適合し得る複数の可能な正解文字列の群（グループ）が存在する場合、入力された解答文字列と正解文字列とを照合してその正誤判定を行い、問題と対になって記憶されている複数の正解文字列を単純に羅列して表示すると、学習者にとって学習者が入力した解答に対応する正解文字列を把握しにくい、と認識した。
【０００７】
発明者は、解答文字列の一部が間違であることを表示する場合には、表示した正解文字列における誤り文字に対応する部分を表示することが有効である、と認識した。発明者は、複数の正解文字列の中から学習者が入力した解答に対応する正解文字列を特定することによってその正解文字列における誤り箇所を表示できる、と認識した。
【０００８】
発明者は、１つの解答枠に複数の可能な解答がある問題に対して、入力された解答文字列と正解文字列群を照合して正誤判定を行った結果を表示し、その際、正誤判定結果に加えて、入力された解答文字列に対応する正解文字列が把握できるように表示し、また解答文字列に対応する正解文字列における誤り文字に対応する部分を表示すれば、高い学習効果が得られる、と認識した。
【０００９】
本発明の目的は、学習支援システムにおいて入力された解答に対応する正解を選択して表示できるようにすることである。
【００１０】
本発明の別の目的は、学習支援システムにおいて入力された解答に対応する正解における誤り対応部分を表示できるようにすることである。
【課題を解決するための手段】
【００１１】
本発明の特徴によれば、学習支援システムは、１つの解答枠に対するユーザによる１つの解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、入力された前記１つの解答文字列を前記１つの解答枠に表示する解答文字列表示手段と、解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、入力された前記１つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、前記読み出した解答文字列と前記正解文字列記憶領域の前記１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の正解文字列の中から前記解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、前記解答文字列と前記解答対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、前記正誤判定の結果を表示する正誤判定表示手段と、を含んでいる。
【００１２】
本発明は、さらに、前述の学習支援システムを実現するためのプログラムおよび方法に関する。
【発明の効果】
【００１３】
本発明によれば、学習支援システムにおいて、入力された解答に対応する正解を選択して表示でき、入力された解答に対応する正解における誤り対応部分を表示できる。
【発明を実施するための最良の形態】
【００１４】
本発明の実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【００１５】
図１は、本発明の実施形態に用いることができる情報処理装置１０および学習支援サーバ２０を示している。情報処理装置１０は、プロセッサ（ＣＰＵ）１２、各種のデータベースを含む記憶装置１４、表示装置（ディスプレイ）１１２、ペン入力可能なタブレット１１４、キーボード（ＫＹ）およびポインティング・デバイスを含む入力装置１１６、およびネットワーク・インタフェース（Ｎ／Ｗ  ＩＦ）１８を具えている。情報処理装置１０は、プロセッサ１２によって実行される学習支援機能１６を有する。
【００１６】
情報処理装置１０は、単独で、即ちスタンドアローン型の装置として、学習支援サービスをユーザに提供してもよい。プロセッサ１２は、学習支援機能１６等の諸機能を実現するための記憶装置１４に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ１２上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置１０は、タブレットＰＣであってもよい。
【００１７】
代替構成として、情報処理装置１０は、学習支援機能２６を有する学習支援サーバ２０にネットワーク５を介して接続されてもよい。この場合、情報処理装置１０は、端末として機能して、学習支援サーバ２０と協働して学習支援サービスをユーザに提供する。学習支援サーバ２０は、プロセッサ（ＣＰＵ）２２、データベースを含む記憶装置２４、およびネットワーク・インタフェース（Ｎ／Ｗ  ＩＦ）２８を具えている。
【００１８】
学習支援サーバ２０は、プロセッサ２２によって実行される学習支援機能２６を有する。プロセッサ２２は、学習支援機能２６等の諸機能を実現するための記憶装置２４に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ２２上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置１０の端末としての学習支援機能１６は、前述のようにハードウェアまたはソフトウェアの形態でプロセッサ１２上で実装される。
【００１９】
図２は、図１の情報処理装置１０および／または学習支援サーバ２０によって実現される学習支援システム２００の構成を示している。
【００２０】
学習支援システム２００は、情報処理装置１０に設けられた、入力処理部として、解答入力部２１０および正誤判定指示部２１２を含み、表示処理部として、解答文字列表示部２１４、正解文字列表示部２１６および正誤判定表示部２１８を含んでいる。
【００２１】
学習支援システム２００は、さらに、情報処理装置１０に設けられた情報処理部として、解答文字列管理部２２２、解答文字列読出し部２４２、文字列類似度算出部２４８、解答対応正解文字列決定部２５０、および正誤判定部２５４を含んでいる。学習支援システム２００は、さらに、記憶装置１４中の領域として、解答文字列記憶部２５２および正解文字列群記憶部２５８を含んでいる。
【００２２】
代替構成として、情報処理装置１０を端末として用いて主に学習支援サーバ２０によって学習支援サービスを提供する場合、学習支援システム２００は、学習支援サーバ２０に設けられた情報処理部として、解答文字列管理部２２２、解答文字列読出し部２４２、文字列類似度算出部２４８、解答対応文字列決定部２５０、および正誤判定部２５４を含んでいる。学習支援システム２００は、さらに、学習支援サーバ２０に設けられた記憶装置２４中の領域として、解答文字列記憶部２５２および正解文字列群記憶部２５８を含んでいる。
【００２３】
図１において、ユーザは、入力装置１１６のキーまたはマウス等を用いて表示装置１１２においてカーソルを解答枠内または解答欄に配置し、入力装置１１６を用いてその解答枠内に解答文字列を順次入力（ワープロ入力）すると、解答入力部２１０は、解答の文字列のデータを順次取り込んで、解答文字列管理部２２２に供給する。解答文字列管理部２２２は、その解答文字列データを解答文字列記憶部２５２に順次格納しかつ解答文字列表示部２１４に順次供給する。解答文字列表示部２１４は、受け取ったデータの解答文字列を表示装置１１２上の解答枠内に表示する。
【００２４】
図３は、ユーザによって入力され解答文字列読出し部２４２によって読み出された解答文字列（“幹国”）、その解答に対応する正解文字列（“韓国”および“大韓民国”）、解答文字列と正解文字列の間の一致文字数、および解答文字列と正解文字列の間の算出された類似度の例を示している。
【００２５】
ユーザが、表示装置１１２に表示された“正誤判定指示”用のキー（ソフトキー）をポインティング・デバイスまたはキー等を用いて付勢（クリックまたは押下）して、正誤判定指示部２１２を付勢すると、解答文字列読出し部２４２は解答文字列記憶部２５２に格納されている解答文字列データを読み出して、文字列類似度算出手段２４８に供給する。
【００２６】
文字列類似度算出部２４８は、受け取った解答文字列“幹国”と、正解文字列群記憶部２５８の中のその解答に対応する複数の可能な正解文字列“韓国”および“大韓民国”の各々との間の文字列類似度を算出する。文字列類似度は、例えば次の式で表すことができる。
【００２７】
文字列類似度 ＝ 一致した文字数／基準文字数
ここで、基準文字数 ＝ “正解文字列の文字数”と“解答文字列の文字数”のいずれか大きい数。
【００２８】
この場合、正解文字列“韓国”および“大韓民国”について、一致文字数は１、基準文字数は２および４、文字列類似度はそれぞれ“０．５”、“０．２５”である。
【００２９】
解答対応文字列決定部２５０は、算出された文字列類似度（“０．５”、“０．２５”）に基づいて、複数の可能な正解文字列の中から最大の文字列類似度を有する正解文字列“韓国”を選択して、それを解答文字列に対応する正解文字列、即ち解答対応正解文字列として決定する。最大の文字列類似度を有する文字列が複数存在する場合には、それら複数の正解文字列を解答対応正解文字列として決定する。
【００３０】
正誤判定部２５４は、決定された解答対応正解文字列と解答文字列を照合し、両者が一致すれば正解の判定を行い、両者が一致しなければ不正解の判定を行う。その判定結果は正誤判定表示部２１８に供給される。正誤判定表示部２１８は、判定結果が正解の場合には解答枠に例えば赤色で○を表示し、判定結果が不正解の場合には解答枠に例えば赤色で×を表示する。
【００３１】
解答対応正解文字列決定部２５０は、決定した解答対応正解文字列を正解文字列表示部２１６に供給する。正解文字列表示部２１６は、所定の正解文字列の表示位置に、例えば解答枠の上に、対応する正解文字列を表示する。正解文字列表示部２１６は、解答対応正解文字列決部２５０から受け取った解答対応正解文字列を、それ以外の正解文字列と区別できるように、異なる形態で表示する。
【００３２】
図４Ａおよび４Ｂは、解答文字列が不正解の場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、大きい四角の解答枠における解答文字列（“幹国”）、その解答文字列に対する解答枠における判定結果（例えば“×”）、および解答枠の上の位置における解答対応正解文字列（“韓国”）の例を示している。図において、太い点線の“○”および“×”のシンボルは、正誤判定のための正解（○）または不正解（×）を表示するものであり、解答枠の上の２つの文字列（“韓国”、“大韓民国”）は可能な正解文字列であり、１つの正解文字列“韓国”を囲む四角の実線は決定された解答対応正解文字列を示している。
【００３３】
図４Ａでは、解答枠の上に全ての可能な正解文字列が表示され、解答対応正解文字列が四角の枠で囲まれている。図４Ｂでは、解答枠の上に解答対応正解文字列だけが表示される。
【００３４】
図５は、図１の情報処理装置１０および／または学習支援サーバ２０によって実現される学習支援システム２００の別の構成を示している。
【００３５】
図５において、学習支援システム２００は、情報処理装置１０または学習支援サーバ２０に設けられた情報処理部として、図２の構成に加えて、さらに誤り文字位置抽出部２５６を含んでいる。学習支援システム２００のその他の構成は図２のものと同様である。
【００３６】
誤り文字位置抽出部２５６は、解答対応正解文字列決定部２５０から解答対応正解文字列および解答文字列を受け取って、その解答対応正解文字列と解答文字列とを比較し照合して、決定された解答対応正解文字列“幹国”における誤り文字位置（誤り部分に対応する文字位置）を抽出する。誤り文字位置抽出部２５６は、その抽出した誤り文字位置を正解文字列表示部２１８に供給する。正解文字列表示部２１８は、正解文字列における誤り文字位置を他の部分と区別できるように異なる形態で表示する。
【００３７】
図６Ａおよび６Ｂは、図５の学習支援システム２００の解答対応正解文字列決定部２５０から誤り文字位置抽出部２５６に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部２５６によって抽出された解答対応正解文字列（“韓国”）における解答文字列における誤り文字位置（例えば、第１文字）と誤り文字の種類を示している。
【００３８】
例えば、誤り文字位置抽出部２５６は、解答文字列“幹国”の第１文字“幹”と解答対応正解文字列“韓国”の第１文字“韓”を比較して不一致を検出し、次に解答文字列“幹国”の第２文字“国”と解答対応正解文字列“韓国”の第２文字“国”を比較して一致を検出する。それによって、誤り文字位置抽出部２５６は誤り文字位置を第１文字と判定する。誤り文字位置抽出部２５６は、解答対応正解文字列の第１文字を誤り文字位置として抽出し、第１文字“幹”の誤りの種類として“異字”と判定する。
【００３９】
図７は、解答文字列が不正解の場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“幹国”）に対する判定結果（例えば、不正解“×”）および解答対応正解文字列（“韓国”）の例を示している。この場合、解答対応正解文字列の中の誤り文字または異字に対応する文字は他の文字と異なる色でハイライト表示される。図において、四角の点線で囲まれた部分は、解答対応正解文字列における誤り文字位置の文字が、例えば他の文字（例えば、黒）とは異なる色（例えば、赤）でハイライト表示された部分を示している（点線そのものを表示する必要はない）。
【００４０】
図８Ａは、ユーザによって入力され解答文字列読出し部２４２によって読み出された別の解答文字列（“中富”）、それに対応する正解文字列（“中臣鎌足”および“藤原鎌足”）、一致文字数、および算出された類似度の例を示している。この場合、最も高い類似度（０．２５）を有する“中臣鎌足”が解答対応正解文字列として抽出される。
【００４１】
図８Ｂおよび８Ｃは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列（“中臣鎌足”）の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置の例を示している。図８Ｄは、解答対応正解文字列（“中臣鎌足”）における誤り文字位置（第２文字〜第４文字）とその誤りの種類の例を示している。
【００４２】
図８Ｃを参照すると、誤り文字位置抽出部２５６は、解答対応正解文字列“中臣鎌足”の第１文字“中”と解答文字列“中富”の第１文字“中”を比較して一致を検出し、解答対応正解文字列の第１文字を表す文字位置ｍ＝１の文字の照合結果として、解答対応正解文字列の第ｍ番の文字に対する解答文字列の一致文字の位置を表す値Ａ［ｍ］＝１を得る。
【００４３】
次に、誤り文字位置抽出部２５６は、解答対応正解文字列“中臣鎌足”の第２文字“臣”と解答文字列“中富”の第２文字“富”を比較して不一致を検出し、解答対応正解文字列の第２文字を表す文字位置ｍ＝２の文字の照合結果として、解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字の不一致（または一致文字位置なし）を表す値Ａ［ｍ］＝０を得る。
【００４４】
次に、誤り文字位置抽出部２５６は、正解文字列“中臣鎌足”の第３文字“鎌”と解答文字列“中富”の各文字を比較して解答対応正解文字列における文字の脱落を検出し、解答対応正解文字列の第３文字を表す文字位置ｍ＝３の文字の照合結果として、解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字の脱字（または文字位置なし）を表す値Ａ［ｍ］＝−１を得る。次に、誤り文字位置抽出部２５６は、解答対応正解文字列“中臣鎌足”の第４文字“足”と解答文字列“中富”の各文字を比較して解答文字列における文字の脱落（または文字位置なし）を検出し解答対応正解文字列の、第４文字を表す文字位置ｍ＝４の照合結果として、解答対応正解文字列の第ｍ番の文字に対する解答文字列の脱字を表す値Ａ［ｍ］＝−１を得る。
【００４５】
図８Ｄに示されているように、誤り文字位置抽出部２５６は、さらに、第２文字が不一致なので、解答対応正解文字列の第２文字を誤り文字位置として抽出し、第２文字“臣”の誤りの種類として異字と判定し、第３と第４の文字が脱字なので、解答対応正解文字列の第３および第４の文字を誤り文字位置として抽出し、第３と第４の文字“鎌足”の誤りの種類として脱字と判定する。
【００４６】
図９は、解答文字列が不正解の場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“中富”）に対する判定結果（例えば不正解“×”）と解答対応正解文字列（“中臣鎌足”）の例を示している。図において、四角の点線で囲まれた部分は、解答対応正解文字列における誤り文字位置に対応する文字が、例えば他の文字（例えば、黒）とは異なる色（例えば、赤、青）でハイライト表示されたことを示している（点線そのものを表示する必要はない）。この場合、“臣”は赤で表示され、“鎌足”は青で表示される。
【００４７】
図１０Ａは、ユーザによって入力され解答文字列読出し部２４２によって読み出されたさらに別の解答文字列（“中臣上鎌足成”）、それに対応する正解文字列（“中臣鎌足”および“藤原鎌足”）、一致文字数、および算出された類似度の例を示している。この場合、最も高い類似度（０．４）を有する“中臣鎌足”が解答対応正解文字列として抽出される。
【００４８】
図１０Ｂおよび１０Ｃは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列（“中臣鎌足”）の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置を示している。図１０Ｄは、解答対応正解文字列（“中臣鎌足”）における誤り文字位置（第２文字、第４文字）と誤りの種類の例を示している。
【００４９】
図１０Ｃを参照すると、誤り文字位置抽出部２５６は、解答対応正解文字列“中臣鎌足”の第１文字“中”と解答文字列“中臣上鎌足成”の第１文字“中”を比較して一致を検出し、解答対応正解文字列の第１文字を表す文字位置ｍ＝１の照合結果として解答対応正解文字列の第ｍ番の文字と一致する解答文字列の一致文字位置を表す値Ａ［ｍ］＝１を得る。次に、誤り文字位置抽出部２５６は、解答対応正解文字列“中臣鎌足”の第２文字“臣”と解答文字列“中臣上鎌足成”の第２文字“臣”を比較して一致を検出し、解答対応正解文字列の第２文字を表す文字位置ｍ＝２の照合結果として解答対応正解文字列の第ｍ番の文字と一致する解答文字列の一致文字位置を表す値Ａ［ｍ］＝２を得る。
【００５０】
次に、誤り文字位置抽出部２５６は、解答対応正解文字列“中臣鎌足”の第３文字“鎌”と解答文字列“中臣上鎌足成”の各文字（第３文字、第４文字）を比較して一致を検出し、第３文字を表す文字位置ｍ＝３の照合結果として解答対応正解文字列の第ｍ番の文字と一致する解答文字列の一致文字位置を表す値Ａ［ｍ］＝４を得る。次に、誤り文字位置抽出部２５６は、解答対応正解文字列“中臣鎌足”の第４文字“足”と解答文字列“中臣上鎌足成”の各文字（第５文字）を比較して一致を検出し、第４文字を表す文字位置ｍ＝４の照合結果として解答対応正解文字列の第ｍ番の文字と一致する解答文字列の一致文字位置を表す値Ａ［ｍ］＝５を得る。
【００５１】
図１０Ｄに示されているように、誤り文字位置抽出部２５６は、さらに、解答文字列“中臣上鎌足成”の第３文字“上”および第６文字“成”が余剰字なので、それぞれの解答対応正解文字列における直前の文字位置である第２文字および第４文字を誤り文字位置として抽出し、解答文字列の第２文字“臣”および第４文字“足”の誤りの種類としてそれぞれに付加された“余剰字”と判定する。
【００５２】
図１１は、解答文字列が不正解の場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“中臣上鎌足成”）、解答枠における解答文字列に対する判定結果（例えば不正解“×”）、および解答対応正解文字列（“中臣鎌足”）の例を示している。図において、正解文字列における下線は、解答対応正解文字列における解答文字列の余剰文字の位置に対応する位置を示している。この下線は、異なる色（例えば、赤）でハイライト表示してもよい。
【００５３】
図１２は、図１の情報処理装置１０および／または学習支援サーバ２０によって実現される学習支援システム２００のさらに別の構成を示している。
【００５４】
図１２において、学習支援システム２００は、情報処理装置１０または学習支援サーバ２０に設けられた情報処理部として、図５の構成に加えて、さらに解答文字列変更部２５９を含んでいる。学習支援システム２００は、情報処理装置１０または学習支援サーバ２０に設けられた情報処理部として、さらに、正解文字列表示位置取得部２６０、および記憶装置１４内に表示位置情報記憶部２６２を含んでいる。学習支援システム２００のその他の構成は図５のものと同様である。
【００５５】
誤り文字位置抽出部２５６は、解答対応正解文字列決定部２５０から解答対応正解文字列および解答文字列を受け取って、その解答対応正解文字列と解答文字列とを比較し照合して、決定された解答対応正解文字列（“韓国”）における誤り文字位置（第１文字）を抽出し、さらに解答文字列（“幹国”）における誤り文字位置（第１文字）を抽出する。誤り文字位置抽出部２５６は、その誤り文字位置の情報を解答文字列変更部２５９に供給する。解答文字列変更部２５９は、誤り文字位置抽出部２５６から受け取った誤り文字位置（第１文字）の情報に基づいて、解答枠内に表示された解答文字列における誤り文字の表示を変更して、他の文字と異なる色でハイライト表示する。
【００５６】
図１３Ａおよび１３Ｂは、図１２の学習支援システム２００の解答対応正解文字列決定部２５０から誤り文字位置抽出部２５６に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部２５６によって抽出された解答対応正解文字列（“韓国”）における誤り文字位置（第１文字）と、解答文字列（“幹国”）における誤り文字位置（第１文字）と、誤り文字の誤りの種類を示している。
【００５７】
図１３Ｂを参照すると、誤り文字位置抽出部２５６は、解答文字列“幹国”の第１文字“幹”と解答対応正解文字列“韓国”の第１文字“韓”を比較して不一致を検出する。誤り文字位置抽出部２５６は、さらに、解答対応正解文字列の第１文字が不一致なので、解答対応正解文字列および解答文字列のそれぞれの第１文字を誤り文字位置として抽出し、それぞれの第１文字“幹”の誤りの種類として“異字”と判定する。
【００５８】
図１４は、解答文字列が不正解の場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“幹国”）、解答枠における解答文字列に対する判定結果（例えば“×”）、および解答対応正解文字列（“韓国”）の例を示している。この場合、解答対応正解文字列の中の誤り文字に対応する文字、および解答文字列の中の誤り文字または異字が異なる色（例えば、赤）でハイライト表示される。
【００５９】
図１５Ａ〜１５Ｃは、図１２の学習支援システム２００の解答対応正解文字列決定部２５０から誤り文字位置抽出部２５６に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部２５６によって抽出された解答対応正解文字列（“中臣鎌足”）における誤り文字位置（第２文字〜第４文字）と、解答文字列（“中富”）における誤り文字位置（第２文字〜第４文字）の誤りの種類の例を示している。
【００６０】
図１５Ｂにおいて、ｎは解答文字列における文字位置、Ａ［ｎ］は解答文字列の第ｎ番の文字と一致する解答対応正解文字列の一致文字位置を示している。誤り文字位置抽出部２５６は、解答文字列“中富”の第１文字“中” と正解文字列“中臣鎌足”の第１文字“中”を比較して一致を検出し、解答文字列の第１文字を表す文字位置ｎ＝１の照合結果として解答文字列の第ｎ番の文字と一致する解答対応正解文字列の一致文字位置を表す値Ａ［ｎ］＝１を得る。
【００６１】
次に、誤り文字位置抽出部２５６は、解答文字列“中富”の第２文字“富”と、正解文字列“中臣鎌足”の第２文字“臣”、第３文字“鎌”および第４文字“足”とを比較して不一致を検出し、解答文字列の第２文字を表す文字位置ｎ＝２の照合結果として、解答文字列の第ｎ番の文字に対する解答対応正解文字列の文字の不一致（または一致文字位置なし）を表す値Ａ［ｎ］＝０を得る。
【００６２】
図１５Ｃに示されているように、誤り文字位置抽出部２５６は、さらに、解答対応文字列“中臣鎌足”の第３文字“鎌”および第４文字“足”が脱字なので、解答文字列における直前の文字位置である第２文字を誤り文字位置として抽出し、解答文字列の第２文字“富”の誤りの種類として“脱字”という判定を付加する。
【００６３】
図１６は、解答文字列が不正解の場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“中富”）、解答枠における解答文字列に対する判定結果（例えば不正解“×”）、および解答対応正解文字列（“中臣鎌足”）の例を示している。図において、解答枠における点線で囲まれた誤字は、例えば他の文字（例えば、黒）とは異なる色（例えば、赤、青）でハイライト表示される（点線そのものを表示する必要はない）。解答枠における下線は、解答文字列における脱字位置を表している。
【００６４】
図１７Ａ〜１７Ｃは、図１２の学習支援システム２００の解答対応正解文字列決定部２５０から誤り文字位置抽出部２５６に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部２５６によって抽出された解答文字列（“中臣上鎌足成”）における誤り文字位置（第３文字、第６文字）と、解答文字列のおける誤り文字の誤りの種類の例を示している。
【００６５】
誤り文字位置抽出部２５６は、解答文字列“中臣上鎌足成”の第１文字および第２文字“中臣”の各々と解答対応正解文字列“中臣鎌足”の第１文字および第２文字“中臣”の各々をそれぞれ比較して一致を検出し、解答文字列の第１文字および第２文字を表す文字位置ｎ＝１および２の照合結果として解答文字列の第ｎ番の文字と一致する解答対応正解文字列の一致文字位置Ａ［ｎ］＝１、Ａ［ｎ］＝２を得る。次に、誤り文字位置抽出部２５６は、解答文字列“中臣上鎌足成”の第３文字“上”と解答対応正解文字列“中臣鎌足”の第３文字および各文字を比較して不一致を検出し、解答文字列における第３文字を表す文字位置ｎ＝３の照合結果として解答文字列の第ｎ番の文字に対する文字の不一致（または一致文字位置なし）を表す値Ａ［ｎ］＝０を得る。
【００６６】
次に、誤り文字位置抽出部２５６は、解答文字列“中臣上鎌足成”の第４文字および第５文字“鎌足”の各々と解答対応正解文字列“中臣鎌足”の第３文字および第４文字“鎌足”の各々をそれぞれ比較して一致を検出し、解答文字列の第４文字および第５文字を表す文字位置ｎ＝４および５の照合結果として解答文字列の第ｎ番の文字と一致する解答対応正解文字列の一致文字位置を表す値Ａ［ｎ］＝３、Ａ［ｎ］＝４を得る。次に、誤り文字位置抽出部２５６は、解答文字列“中臣上鎌足成”の第６文字“成”と比較する解答対応正解文字列“中臣鎌足”の文字位置がないので、解答文字列における第６文字を表す文字位置ｎ＝６の照合結果として解答文字列の第ｎ番の文字に対する文字位置なしを表す値Ａ［ｎ］＝−１を得る。このようにして、誤り文字位置抽出部２５６は、解答文字列“中臣上鎌足成”の第３文字および第６文字“上”および“成”を余剰文字として抽出する。
【００６７】
図１８は、解答文字列が不正解の場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“中臣上鎌足成”）、解答枠における解答文字列に対する判定結果（例えば不正解“×”）、および解答対応正解文字列（“中臣鎌足”）の例を示している。図において、点線で囲まれた解答枠における余剰字は、例えば他の文字（例えば、黒）とは異なる色（例えば、青）でハイライト表示されることを示している（点線そのものを表示する必要はない）。
【００６８】
次に、複数ｈ個の解答枠に対してｈ個以上の複数の可能な正解文字列が存在する場合における解答対応正解文字列の決定および表示のしかたを説明する。
【００６９】
図１９Ａは、ユーザによって入力され解答文字列読出し部２４２によって読み出された３つの解答文字列（“民主主義”、“基本的人権の尊重”および“国民主義”）、対応する３つの正解文字列（“基本的人権の尊重”、“国民主権”および“戦争放棄”）、および算出された類似度の例を示している。図１９Ｂは、解答文字列と解答対応正解文字列の間の類似度に基づく、各解答文字列に対する解答対応正解文字列の割り付けまたは対応付けの例を示している。
【００７０】
文字列類似度算出部２４８は、解答文字列と正解文字列のすべての組み合わせについて図１９Ａに示されているような文字列類似度（“０”、“１”、“０．５”、“０．１２５”、“０．７５”）を算出する。解答対応正解文字列決定部１５０は、その文字列類似度に基づいて各解答枠に対応する解答対応正解文字列の割り付けを決定する。解答対応正解文字列決定部１５０は、各解答枠に割り付ける正解文字列が互いに重複しないように、文字列類似度ができるだけ大きい正解文字列を解答対応正解文字列として解答枠に割り付けを行う。
【００７１】
解答対応正解文字列決定部１５０は、図１９Ｂに示されているように、最も高い類似度（“１”）を有する解答文字列“基本的人権の尊重”の解答枠に対してそれに対応する正解文字列“基本的人権の尊重”を割り付ける。次に、文字列類似度算出部２４８は、次に高い類似度（“０．７５”）を有する解答文字列“国民主義”に対してそれに対応する正解文字列“国民主権”を割り付ける。次に、解答対応正解文字列決定部１５０は、次に高い類似度（“０”）を有するまたは残りの解答文字列“民主主義”に対してそれに対応するまたは残りの正解文字列“戦争放棄”を重複しないように割り付ける。
【００７２】
図２０は、解答文字列が正解および不正解を含む場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“民主主義”、“基本的人権の尊重”および“国民主義”）、解答枠における解答文字列に対する判定結果（例えば“○”、“×”）、および解答対応正解文字列（“基本的人権の尊重”、“国民主権”および“戦争放棄”）の例を示している。図において、太い点線の“○”および“×”のシンボルは、正誤判定のための正解（○）または不正解（×）を表示する。
【００７３】
図２１Ａは、ユーザによって入力され解答文字列読出し部２４２によって読み出された２つの解答文字列（“高知県”および“福島県”）、可能な４つの正解文字列（“高知県”、“愛媛県”、“香川県”および“徳島県”）、および算出された類似度の例を示している。図２１Ｂは、解答文字列と解答対応正解文字列の間の類似度に基づく、解答文字列に対する解答対応正解文字列の割り付けまたは対応付けを示している。
【００７４】
文字列類似度算出部２４８は、図２１Ｂに示されているように、最も高い類似度（“１”）を有する解答文字列“高知県”に対してそれに対応する正解文字列“高知県”を割り付ける。次に、文字列類似度算出部２４８は、次に高い類似度（“０．５”）を有する解答文字列“福島県”に対して正解文字列“徳島県”を割り付ける。
【００７５】
図２２は、解答文字列が正解および不正解を含む場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“高知県”および“福島県”）、解答枠における解答文字列に対する判定結果（例えば“○”、“×”）、および解答対応正解文字列（“高知県”および“徳島県”）の例を示している。この場合、解答文字列に最も近い２つの正解文字列だけが表示され、残りの可能な正解文字列“愛媛県”および“香川県”は正解文字列として表示されない。従って、学習者の意図に最も近い解答したまたは解答しようとした文字列に最も近い正解文字列だけが表示される。但し、残りの可能な正解文字列“愛媛県”および“香川県”を、追加的に、可能な解答文字列として区別して表示してもよい。
【００７６】
図１２において、正解文字列表示位置取得部２６０は、各解答枠における解答文字列を取得し、表示位置情報記憶部２６２に格納されている表示装置１１２における各解答枠の上の解答対応正解文字列表示位置を表す座標（Ｘ，Ｙ）を取得し、それぞれの位置に解答対応正解文字列を対応づけ、正解文字列表示部２１６はそれぞれの位置に解答対応正解文字列を表示する。
【００７７】
図２３Ａは、表示装置１１２に表示された３つの解答枠識別番号（ＩＤ）１、２、３に対する、入力された解答文字列（“民主主義”、“基本的人権の尊重”および“国民主義”）、および正解文字列表示位置取得部２６０によって取得された解答文字列対応正解文字列の表示位置（座標）を示している。図２３Ｂは、図１９Ａの文字列類似度に基づいて、解答対応文字列決定部２５０によって割り付けられた解答対応正解文字列（“基本的人権の尊重”、“国民主権”および“戦争放棄”）を示している。
【００７８】
図２４は、解答文字列が正解および不正解を含む場合における、解答文字列表示部２１４、正誤判定表示部２１８および正解文字列表示部２１６によって表示された、解答枠における解答文字列（“民主主義”、“基本的人権の尊重”および“国民主義”）に対する判定結果（例えば、“○”、“×”）と、解答対応正解文字列（“基本的人権の尊重”、“国民主権”および“戦争放棄”）の例を示している。図において、解答枠における誤り文字または異字は、例えば他の文字（例えば、黒）とは異なる色（例えば、赤、青）でハイライト表示される（点線そのものを表示する必要はない）。
【００７９】
図２５は、図１の情報処理装置１０および／または学習支援サーバ２０によって実現されるさらに別の学習支援システム２００の構成を示している。
【００８０】
学習支援システム２００は、図２の場合と同様に、情報処理装置１０に設けられた、入力処理部として、解答入力部２１０および正誤判定指示部２１２を含み、表示処理部として、解答文字列表示部２１４、正解文字列表示部２１６および正誤判定表示部２１８を含んでいる。
【００８１】
学習支援システム２００は、さらに、情報処理装置１０または学習支援サーバ２０に設けられた情報処理部として、筆跡情報を管理する解答文字列管理部２２２、筆跡情報を読出す解答文字列読出し部２４２、文字切り出し領域候補生成部２４４、個別文字認識部２４６、最尤文字列決定部２４７、文字列類似度算出部２４８、解答対応文字列決定部２５０、および正誤判定部２５４を含んでいる。学習支援システム２００は、さらに、記憶装置１４または２４中の領域として、解答筆跡情報を記憶する解答文字列記憶部２５２、文字切り出し領域候補記憶部２５４、文字認識辞書記憶部２５６、および正解文字列群記憶部２５８を含んでいる。
【００８２】
図１において、ユーザは、スタイラスペンを用いてタブレット１１４上の解答欄に解答文字列を順次描くと、解答入力部２１０は、解答の文字列に対応する連続的な複数の座標（Ｘ，Ｙ）からなる筆跡の座標データを順次取り込んで解答文字列管理部２２２に供給する。解答文字列管理部２２２はそれを解答文字列記憶部２５２に格納する。解答文字列管理部２２２は、その筆跡座標データを解答文字列記憶部２５２に順次格納しかつ解答文字列表示部２１４に順次供給する。解答文字列表示部２１４は、その筆跡座標データによって表される手書き文字列の筆跡を表示装置１１２上に順次リアルタイムで表示する。
【００８３】
ユーザが、表示装置１１２に表示された正誤判定指示キーを付勢して、正誤判定指示部２１２を付勢すると、解答文字列読出し部２４２は、解答文字列記憶部２５２に格納されていた筆跡座標データを読み出して、文字切り出し領域候補生成部２４４に供給する。文字切り出し領域候補生成部２４４は、読み出された筆跡座標データから、推定される文字領域候補を切り出し、それぞれ一連の文字領域候補からなる複数の群を出力する。一文字の領域候補の推定は、各ストロークのＸ軸方向の重心が一定範囲内のものを一文字領域として切り出すなどの既知の方法を用いて行う。
【００８４】
図２６Ａは、ユーザによって入力され解答文字列読出し部２４２によって取り込まれた手書きの解答文字列（“幹国”）の筆跡の例を示している。図２６Ｂは、図２６Ａの筆跡座標データに対して、文字切り出し領域候補生成部２４４によって生成された文字切り出し候補ａ〜ｄの例を示している。図２６Ｃは、個別文字認識部２４６による、図２６Ｂに示された文字切り出し領域候補ａ〜ｄに対する認識候補文字および認識スコアの一例を示している。
【００８５】
図２６Ｂにおいて、左上のアルファベットが付された四角枠で囲まれた各領域は、切り出された１つの文字領域候補のパターンであり、矢印→は文字領域候補（ノード）間の可能性ある接続（リンク）関係を示している。この例では、群“ａ−ｂ−ｄ”および群“ｃ−ｄ”（幹−国）の接続関係にある文字領域候補の２つの群またはパス（paths）が提示される。図２６Ｃにおいて、各文字領域候補（ノード）内の各認識候補文字の右側に表示されている数字は、それぞれの認識候補文字の認識スコアを示すものであり、スコアの数字が大きいほど可能性または最尤度が高いことを示している。
【００８６】
個別文字認識部２４６は、文字切り出し領域候補生成部２４４によって切り出された図２６Ｂの文字領域候補の各パターンａ〜ｄに対して、文字認識辞書記憶部２５６を参照して、認識候補文字および認識スコアを決定する。認識候補文字の抽出には、一般的に用いられるＯＣＲ認識エンジン、オンライン認識エンジン、等、任意の認識エンジンを用いることができる。認識スコアは、文字領域候補のパターン（ａ〜ｄ）と文字認識辞書記憶部２５６中の所定の文字パターンとの間の距離を計算したり、特徴点に基づいて計算したりするなど、既知の種々の方法を用いることができる。
【００８７】
個別文字認識部２４６は、各文字領域候補における複数の認識候補文字およびそれぞれの認識スコアを最尤文字列決定部２４７に供給する。最尤文字列決定部２４７は、各解答枠の識別情報または識別番号（ｈ）に対応する正解文字列群記憶部２５８中の正解文字列の情報を参照して認識候補文字から最尤文字列を決定する。最尤文字列の決定は、一連の文字領域候補またはノードからなる各群または各パスと各文字領域候補（ノード）に対応して、個別文字認識部２４６からの複数の認識候補文字に対して、正解文字列中の各文字との照合（マッチング）を行って文字を選択して最尤文字列を決定することからなる。その照合において、正解文字列における照合中の文字位置の文字と一致する認識候補文字があれば、その一致する認識候補文字に対して、例えば一定の加算スコア（ボーナススコア）を加えて、正解文字列が最尤文字列として選ばれやすくなるように設定する。
【００８８】
図２６Ｃを参照して、最尤文字列を決定する例を示す。この例では、候補文字の列を選択する２つのパス“ａ−ｂ−ｄ”および“ｃ−ｄ”がある。最尤文字列決定部２４７は、各選択パスにおけるノード中の各候補文字に対して、正解文字列の中の各文字位置の文字と照合する。最尤文字列決定部２４７は、正解文字列中の文字と一致しない認識候補文字に対して文字照合スコアとして最低値のスコア（例えば、６５０）を与える。また、最尤文字列決定部２４７は、正解文字列中の文字と一致する認識候補文字に対してその認識候補文字の認識スコアに加算スコア（例えば、５０）を加えた値を、文字照合スコアとする。
【００８９】
このようにして、最尤文字列決定部２４７は、文字列照合スコアの最も高い文字列を選択する。文字列照合スコアは、パスにおける先頭文字位置から現在文字位置の文字照合スコアの平均値で表され、即ち、先頭文字位置から前文字位置までの平均文字列照合スコア×先頭文字位置から前文字位置までの文字数＋現在の文字位置の文字照合スコアを、先頭文字位置から現在文字位置までの文字数で割ったものとして求められる。従って、各パスにおける最後のノードにおける文字列照合スコアが、各パスの文字列の文字列照合スコアすなわち平均の文字照合スコアを表す。最尤文字列決定部２４７は、照合した文字列の最後の文字位置にある文字列照合スコアが最も大きいパスの文字列を、最尤文字列として選択する。
【００９０】
図２７Ａ〜２７Ｄは、最尤文字列決定部２４７により、図２６Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の１つ（“韓国”）に対する図２６Ｂの文字切り出し候補ａ〜ｄの最尤文字列を決定する手順の例を示している。この例では、文字切り出し領域候補ａ〜ｄを正解文字列“韓国”と照合する際に、連続する３文字以内の誤り文字の検出を含めて最尤文字列を決定する例である。
【００９１】
図２７Ａにおいて、最尤文字列決定部２４７によって、１つの正解文字列“韓国”に対して、図２６Ｃにおける一連の文字領域候補ａ、ｂ、ｄからなる１つの群が選択され、最初の先頭のノードａ（“幹”の偏（左側の部首））について、照合文字位置Ｘを初期値Ｘ＝１とし、照合文字位置ｑに照合開始文字位置ｑ＝Ｘおよび次の文字位置ｑ＝Ｘ＋１を設定し、従って正解文字列の第１番（番目）の文字“韓”および第２番の文字“国”と順次照合する。
【００９２】
ノードａに対する認識候補文字“卓”および“巣”の認識スコア７８０および７６０が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として認識スコアが最大の“卓”が選択される。この場合、選択された文字と照合文字“韓”または“国”のいずれも一致しないので、照合文字位置としてＸ−１＝０が与えられ、文字照合スコアとして、不一致を表す最低値（例えば、６５０）が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードａに直前に接続するノードは存在しないので、文字領域候補ａの文字位置をＹ＝１、直前選択ノードを“なし”と記録する。
【００９３】
次のノードｂ（“幹”の旁（右側の部首））について、ノードｂに直前に接続するノードａの照合文字位置０を＋１だけ増分してＸ＝１とし、照合文字位置ｑに照合開始文字位置ｑ＝Ｘおよび次の文字位置ｑ＝Ｘ＋１を設定し、正解文字列の第１番および第２番の文字“韓”および“国”と順次照合する。認識候補文字“令”および“今”の認識スコア７７０および７４０が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として最大の認識スコアを有する“令”が選択される。選択された文字“令”と照合文字“韓”または“国”のいずれも一致しないので、文字照合スコアとして不一致を表す最低値（例えば、６５０）が与えられ、照合文字位置としてＸ−１＝０が与えられる。文字列照合スコアは、文字数２に対する文字照合スコアの平均値である６５０となる。ノードｂに直前に接続するノードａの文字位置１を＋１だけ増分して、文字領域候補ｂの文字位置をＹ＝２、ノードｂに接続する直前選択ノードを“ａ”と記録する。
【００９４】
図２７Ｂを参照すると、次のノードｄ（“国”）について、ノードｄに直前に接続するノードｂの照合文字位置０を＋１だけ増分してＸ＝１とし、照合文字位置ｑに照合開始文字位置ｑ＝Ｘおよび次の文字位置ｑ＝Ｘ＋１を設定し、正解文字列の第１番および第２番の文字“幹”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア８６０および７９０が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてＸ＝２が与えられ、認識スコア８６０に、一致を表す加算値（例えば５０）が加えられて文字照合スコアとして９１０が与えられる。文字列照合スコアは、文字数２に対する文字照合スコアの平均値７３６である。文字領域候補ｄの文字位置としてＹ＝３、およびノードｄに接続する直前選択ノードとして“ｂ”と記録する。
【００９５】
次に、図２６Ａにおいて、正解文字列“韓国”に対して、図２６Ｃにおける一連の文字領域候補ｃ、ｄからなる１つの群が選択され、最初の先頭のノードｃ（“幹”）について、照合文字位置Ｘを初期値Ｘ＝１とし、照合文字位置ｑに照合開始文字位置ｑ＝Ｘおよび次の文字位置ｑ＝Ｘ＋１を設定し、正解文字列の第１番および第２番の文字“韓”および“国”と順次照合する。次いで、ノードｃに対する認識候補文字“幹”および“朝”の認識スコア８３０および８２０が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として認識スコアが最大の“幹”が選択される。この場合、選択された文字と照合文字“韓”または“国”のいずれも一致しないので、照合文字位置としてＸ−１＝０が与えられ、文字照合スコアとして、不一致を表す最低値（例えば、６５０）が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードａに直前に接続するノードは存在しないので、文字領域候補ａの文字位置をＹ＝１、直前選択ノードを“なし”と記録する。
【００９６】
図２７Ｃを参照すると、次のノードｄ（“国”）について、ノードｄに直前に接続するノードｃの照合文字位置０を＋１だけ増分してＸ＝１とし、照合文字位置ｑに照合開始文字位置ｑ＝Ｘおよび次の文字位置ｑ＝Ｘ＋１を設定し、正解文字列の第１番および第２番の文字“韓”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア８６０および７９０が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてＸ＝２が与えられ、認識スコア８６０に、一致を表す加算値（例えば、５０）が加えられて文字照合スコアとして９１０が与えられる。文字列照合スコアは、文字数２に対する文字照合スコアの平均値７８０である。文字領域候補ｄの文字位置としてＹ＝２、およびノードｄに接続する直前選択ノードとして“ｃ”と記録する。
【００９７】
ノードdに対しては、一連の文字領域候補ａ、ｂ、ｄからなる１つの群のパスをたどった場合の文字列照合スコア７３６と、一連の文字領域候補ｃ、ｄからなる１つの群のパスをたどった場合の文字列照合スコア７８０とを比較し、文字列照合スコアの高い方のデータ（照合文字位置、照合文字、選択文字、文字照合スコア、文字列照合スコア、文字位置、直前選択ノード）を記憶する。
【００９８】
最後に、末尾のノードと対応づけて記憶してある文字列照合スコアが最大のものを探す。図２６Ｃおよび図２７Ａ〜２７Ｃの場合は、末尾のノードはｄだけなので、ノードｄから直前選択ノードを順次たどって、最尤文字列として選択するパスを決定する。図２７Ｄのように、決定したパスｃ−ｄを文字切り出しの先頭ノードからつないだものを最尤文字列“幹国”として決定して保持する。
【００９９】
図２８Ａ〜２８Ｄは、最尤文字列決定部２４７により、図２６Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の別の１つ（“大韓民国”）に対する図２６Ｂの文字切り出し候補ａ〜ｄの最尤文字列を決定する手順の例を示している。この例では、文字切り出し領域候補ａ〜ｄを正解文字列“大韓民国”と照合する際に、連続する３文字以内の誤り文字の検出を含めて最尤文字列を決定する例である。
【０１００】
図２８Ａにおいて、最尤文字列決定部２４７によって、別の１つの正解文字列“大韓民国”に対して、図２６Ｃにおける一連の文字領域候補ａ、ｂ、ｄからなる１つの群が選択され、ノードａ（“幹”の偏（左側の部首））、ｂ（“幹”の旁（左側の部首））について、正解文字列の第１番〜第４番の文字“大”、“韓”、“民”および“国”と順次照合する。
【０１０１】
図２６Ｂの場合と同様に、ノードａ、ｂに対する認識候補文字の認識スコアが順次求められる。認識候補文字の中に“大”、“韓”、 “民” および“国”のいずれも存在しないので、選択文字として認識スコアが最大の“卓”および“令”がそれぞれ選択される。照合文字位置としてＸ−１＝０がそれぞれに与えられ、文字照合スコアとして、不一致を表す最低値（例えば、６５０）がそれぞれに与えられる。文字列照合スコアは文字照合スコアと等しくなる。
【０１０２】
図２８Ｂを参照すると、図２７Ｂの場合と同様に、ノードｄ（“国”）について、ノードｄに直前に接続するノードｂの照合文字位置Ｘ＝０を＋１だけ増分してＸ＝１とし、照合文字位置ｑに照合開始文字位置ｑ＝Ｘおよび次の文字位置ｑ＝Ｘ＋１およびＸ＋２およびＸ＋３を設定し、正解文字列の第１番、第２番、第３番および第４番の文字“大”、“韓”、“民”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア８６０および７９０が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてＸ＝４が与えられ、認識スコア８６０に、一致を表す加算値（例えば５０）が加えられて文字照合スコアとして９１０が与えられる。文字列照合スコアは、文字数３に対する文字照合スコアの平均値７３６である。文字領域候補ｄの文字位置としてＹ＝３、およびノードｄに接続する直前選択ノードとして“ｂ”と記録する。
【０１０３】
次に、図２８Ａにおいて、正解文字列“大韓民国”に対して、図２６Ｃにおける一連の文字領域候補ｃ、ｄからなる１つの群が選択され、ノードｃ（“幹”）について、正解文字列の第１番〜第４番の文字“大”、“韓”、“民”および“国”と順次照合する。次いで、ノードｃに対する認識候補文字の認識スコアが求められる。認識候補文字の中に“大”、“韓”、“民”および“国”のいずれも存在しないので、選択文字として認識スコアが最大の“幹”が選択される。照合文字位置としてＸ−１＝０が与えられ、文字照合スコアとして、不一致を表す最低値（例えば、６５０）が与えられる。文字列照合スコアは文字照合スコアと等しくなる。
【０１０４】
図２８Ｃを参照すると、図２６Ｂの場合と同様に、ノードｄ（“国”）について、ノードｄに直前に接続するノードｂの照合文字位置Ｘ＝０を＋１だけ増分してＸ＝１とし、照合文字位置ｑに照合開始文字位置ｑ＝Ｘおよび次の文字位置ｑ＝Ｘ＋１およびＸ＋２およびＸ＋３を設定し、正解文字列の第１番、第２番、第３番および第４番の文字“大”、“韓”、“民”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア８６０および７９０が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてＸ＝４が与えられ、認識スコア８６０に、一致を表す加算値（例えば５０）が加えられて文字照合スコアとして９１０が与えられる。文字列照合スコアは、文字数２に対する文字照合スコアの平均値７８０である。文字領域候補ｄの文字位置としてＹ＝２、およびノードｄに接続する直前選択ノードとして“ｃ”と記録する。
【０１０５】
ノードｄに対しては、一連の文字領域候補ａ、ｂ、ｄからなる１つの群のパスをたどった場合の文字列照合スコア７３６と、一連の文字領域候補ｃ、ｄからなる１つの群のパスをたどった場合の文字列照合スコア７８０とを比較し、文字列照合スコアの高い方のデータ（照合文字位置、照合文字、選択文字、文字照合スコア、文字列照合スコア、文字位置、直前選択ノード）を記憶する。
【０１０６】
最後に、末尾のノードと対応づけて記憶してある文字列照合スコアが最大のものを探す。図２６Ｃおよび図２７Ａ〜２７Ｃの場合は、末尾のノードはｄだけなので、ノードｄから直前選択ノードを順次たどって、最尤文字列として選択するパスを決定する。図２８Ｄのように、決定したパスｃ−ｄを文字切り出しの先頭ノードからつないだものを最尤文字列“幹国”として決定して保持する。
【０１０７】
このように、各文字切り出し領域候補に対して、正解文字列中のＮ個の隣接の照合文字と照合することによって、余剰文字および脱字が連続してＮ−１個以内の場合でも、文字切り出し領域候補と正解文字列と照合が可能となる。
【０１０８】
最尤文字列決定部２４７で決定されたそれぞれの正解文字列に対する解答文字列としての最尤文字列とその文字列照合スコアは、文字列類似度算出部２４８に送られる。文字列類似度算出部２４８は、前述のようにして、最尤文字列である解答文字列と各正解文字列との間の類似度を算出する。
【０１０９】
図２９は、解答対応正解文字列決定部２５０によって、最尤文字列（“幹国”）に対する解答対応正解文字列を決定する方法を説明するのに役立つ。
【０１１０】
図２９を参照すると、解答対応正解文字列決定部２５０は、最尤文字列“幹国”と正解文字列“韓国”および“大韓民国”から基準文字数“２”、“４”を決定し、文字列類似度を算出する。文字列類似度は、例えば次の式で表すことができる。
【０１１１】
文字列類似度 ＝ 文字列照合スコア＋１００×（一致した文字数／基準文字数）
ここで、基準文字数 ＝ “正解文字列の文字数”と“最尤文字列の文字数”のいずれか大きい数。
【０１１２】
解答対応正解文字列決定部２５０は、正解文字列群の中の最も高い文字列類似度（８３０）を有する文字列“韓国”を解答対応正解文字列として決定する。同じ最大の文字列類似度を有する複数の解答対応正解文字列が存在する場合は、複数の解答対応正解文字列を決定してもよい。
【０１１３】
図３０は、図２５の学習支援システム２００による不正解の場合の解答文字列の正誤判定結果の例を示している。この場合、解答枠内に手書文字が表示される。その他の表示形態は、図４Ａまたは４Ｂの場合と同様である。図２５の学習支援システム２００に、図５、１２の学習支援システム２００の構成と同様の追加構成要素を付加することによって、解答枠内に活字体ではなく手書き文字が表示されること以外は、図７、９、１１、１４、１６、１８、２０、２２および２４の場合と同様の処理によって同様の表示を行うことができる。
【０１１４】
図３１Ａおよび３１Ｂは、図２の学習支援システム２００によって実行される正解／不正解を判定するための処理のフローチャートを示している。
【０１１５】
図３１Ａを参照すると、ステップ５０２において、解答文字列読出し部２４２は、正誤判定指示部２１２からの正解／不正解判定の指示（命令）に従って、解答文字列群記憶部２５２から解答枠内の解答文字列データを取り出して文字列類似度算出部２４８に供給する。ステップ５０４において、文字列類似度算出部２４８は、解答となり得る１つ以上の正解文字列の正解文字列の識別番号または順序番号ｉの値を初期値ｉ＝１に、また最大類似度Ｓを初期値Ｓ＝０に設定する。ステップ５０８において、文字列類似度算出部２４８は、番号ｉは正解文字列の数Ｎより大きいかどうか（ｉ＞Ｎ）、即ち識別番号ｉ（第ｉ番）の正解文字列が存在しないかどうかを判定する。番号ｉが正解文字列の数より大きい、即ち第ｉ番の正解文字列が存在しないと判定された場合は、手順は図３１Ｂのステップ５３２に進む。
【０１１６】
ステップ５０８において番号ｉが正解文字列の数Ｎより大きくない、即ち第ｉ番の正解文字列が存在すると判定された場合は、文字列類似度算出部２４８は、ステップ５１０において、第ｉ番の正解文字列ＣＳｉと解答文字列の間の文字列類似度Ｓｉを算出する。
【０１１７】
ステップ５１２において、文字列類似度算出部２４８は、番号ｉの正解文字列の文字列類似度Ｓｉが現在の最大類似度Ｓより大きいかどうかを判定する。文字列類似度Ｓｉが最大類似度Ｓより大きいと判定された場合は、文字列類似度算出部２４８は、ステップ５１４において最大類似度Ｓに文字列類似度Ｓｉを設定する。ステップ５１６において、文字列類似度算出部２４８は、解答対応正解文字列として第ｉ番の正解文字列ＣＳｉを選択して自己の作業領域に一時記憶する。その際、１つ以上の前の解答正解文字列が存在する場合には、文字列類似度算出部２４８はそれを削除する。ステップ５１８において、文字列類似度算部２４８は、正解文字列の番号ｉを次の番号ｉ＝ｉ＋１と設定する。その後、手順はステップ５０８に戻る。
【０１１８】
ステップ５１２において文字列類似度Ｓｉが現在の最大類似度Ｓより大きくないと判定された場合は、文字列類似度算出部２４８は、ステップ５２４において、番号ｉの正解文字列の文字列類似度Ｓｉが最大類似度Ｓと等しいかどうかを判定する。文字列類似度Ｓｉが最大類似度Ｓと等しいと判定された場合は、ステップ５２６において、文字列類似度算出部２４８は、解答対応正解文字列として第ｉ番の正解文字列ＣＳｉを選択して自己の作業領域に追加して一時記憶する。その後、手順はステップ５１８に進む。
【０１１９】
代替構成として、ステップ５１２において文字列類似度Ｓｉが最大類似度Ｓより大きくないと判定された場合は、ステップ５２４および５２６を実行することなく、手順はステップ５１８に進むようにしてもよい。この場合、同じ最大類似度を有する最初の１つの正解文字列だけが解答対応正解文字列として選択される。
【０１２０】
ステップ５２４において文字列類似度Ｓｉが最大類似度Ｓと等しくないと判定された場合は、手順はステップ５１８に進む。
【０１２１】
図３１Ｂを参照すると、図３１Ａのステップ５０８において番号ｉが正解文字列の数Ｎより大きい、即ち第ｉ番の正解文字列が存在しないと判定された場合は、文字列類似度算出部２４８は、ステップ５３２において、解答対応正解文字列ＣＳｉおよび最大類似度Ｓを解答対応正解文字列決定部２５０に供給し、解答対応正解文字列決定部２５０は解答対応正解文字列ＣＳｉの値を正誤判定部２５４に供給する。
【０１２２】
ステップ５３４において、解答対応正解文字列決定部２５０は、解答対応正解文字列の一時記憶領域に正解文字列ＣＳｉが格納されているかどうか、または最大類似度ＳがＳ＞０かどうかを判定する。解答対応正解文字列に正解文字列ＣＳｉが格納されていると判定された場合、または最大類似度がＳ＞０と判定された場合は、解答対応正解文字列決定部２５０は、ステップ５３６において、解答非対応文字列用の一時記憶領域に解答対応正解文字列以外の正解文字列を格納し、正解文字列表示部２１６にその解答非対応正解文字列を供給する。ステップ５４０において、正解文字列表示部２１６は、解答対応正解文字列と解答非対応正解文字列を区別して表示する（図４Ａ参照）。代替構成として、手順は、ステップ５３６を実行せずにステップ５４０に進んでもよい（図４Ｂ参照）。この場合、ステップ５４０において、正解文字列表示部２１６は解答対応正解文字列だけを表示する。
【０１２３】
ステップ５３４において解答対応正解文字列に正解文字列ＣＳｉが格納されていないと判定された場合は、解答対応正解文字列決定部２５０は、ステップ５３８において、解答非対応正解文字列用の一時記憶領域に全ての正解文字列ＣＳ１〜ＣＳＮを格納し、正解文字列表示部２１６にその解答非対応正解文字列を供給する。
【０１２４】
また、ステップ５１２において文字列類似度Ｓｉが最大類似度Ｓより大きくないと判定された場合に、ステップ５２４および５２６を実行することなく、手順がステップ４１０に進むようにして、同じ最大類似度を有する最初の１つの正解文字列だけが解答対応正解文字列として選択されるようにした場合は、解答対応正解文字列決定部２５０は、ステップ５３６において、解答対応正解文字列用の一時記憶領域に正解文字列群の最大類似度Ｓを有する最初の正解文字列だけを格納し、正解文字列表示部２１６にその解答対応正解文字列だけを供給することとなる。その後、手順はステップ５４０に進む。
【０１２５】
ステップ５４２において、正誤判定部２５４は、解答文字列と解答対応正解文字列が一致したかどうかを判定する。解答文字列と解答対応正解文字列が一致したと判定された場合は、ステップ５４４において、正誤判定結果表示部２１８は、表示装置１１２における解答枠に正解判定結果として正解の表示（例えば“○”）を行う。その後、手順は図３１Ａおよび３２Ｂのルーチンを出る。
【０１２６】
ステップ５４２において解答文字列と解答対応正解文字列が一致しないと判定された場合は、正誤判定結果表示部２１８は、ステップ５４６において、表示装置１１２における解答枠に正誤判定結果として不正解の表示（例えば“×”）を行う。その後、手順は図３１Ａおよび３２Ｂのルーチンを出る。
【０１２７】
ステップ５４６において、図５の誤り文字位置抽出部２５６は、決定された解答対応正解文字列と解答文字列を比較して、決定された解答対応正解文字列における誤り文字位置を抽出する。正解文字列表示部２１６は、解答対応正解文字列における誤り文字位置（異字、余剰字、脱字）に対応する文字または文字位置をハイライト表示またはアンダーライン表示する。また、図１２の解答文字列変更部２５９は、解答文字列における誤り文字位置の文字（異字、余剰字、脱字）をハイライト表示（図１４、１６、１８）またはアンダーライン表示する（図１６）。
【０１２８】
図３２Ａ〜３２Ｃは、図３１Ｂのステップ５４６において、図５の学習支援システム２００（誤り文字位置抽出部２５６）によって実行される、解答対応正解文字列ＣＳｉにおける誤り文字位置を抽出するための処理のフローチャートを示している。
【０１２９】
誤り文字位置抽出部２５６は、ステップ６０２において、解答対応正解文字列決定部２５０から受け取って一時記憶領域に格納した解答文字列を読み出し、ステップ６０４において、解答対応正解文字列決定部２５０から受け取って一時記憶領域に格納した解答対応正解文字列を読み出す。誤り文字位置抽出部２５６は、ステップ６０６において、解答対応正解文字列の中の文字の位置番号ｍを初期値ｍ＝１に、解答文字列の中の文字の位置番号ｎを初期値ｎ＝１に、正解文字列の照合開始文字位置番号ｘを初期値ｘ＝１に設定する。
【０１３０】
ステップ６０８において、誤り文字位置抽出部２５６は、解答対応正解文字列の中の文字の位置番号ｍが解答対応正解文字列の長さ（文字数）Ｍより大きいかどうか、即ち解答対応正解文字列中の全ての文字について誤り文字の抽出が終了したかどうかを判定する。位置番号ｍが解答対応文字列の長さより大きいと判定された場合は、手順は図３２Ｃのステップ６４０に進む。
【０１３１】
ステップ６０８において位置番号ｍが解答対応正解文字列の長さＭより大きくないと判定された場合は、誤り文字位置抽出部２５６は、ステップ６１２において、正解文字列の照合開始文字位置番号ｘが解答文字列の長さ（文字数）Ｎより大きいかどうか、即ち解答文字列中の全ての文字について比較が終了したかどうかを判定する。正解文字列の照合開始文字位置番号ｘが解答文字列の長さ（文字数）Ｎより大きいと判定された場合は、手順はステップ６３２に進む。
【０１３２】
ステップ６１２において正解文字列の照合開始文字位置番号ｘが解答文字列の長さ（文字数）Ｎより大きくないと判定された場合は、誤り文字位置抽出部２５６は、ステップ６１６において、解答文字列の中の文字の位置番号ｎが解答文字列の長さ（文字数）Ｎより大きいかどうか、即ち解答文字列中の全ての文字について誤り文字の比較または抽出が終了したかどうかを判定する。解答文字列の中の文字の位置番号ｎが解答文字列の長さ（文字数）Ｎより大きいと判定された場合は、手順はステップ６３４に進む。ステップ６１６において解答文字列の中の文字の位置番号ｎが解答文字列の長さ（文字数）Ｎより大きくないと判定された場合は、手順は図３２Ｂのステップ６２０に進む。
【０１３３】
図３２Ｂを参照すると、ステップ６２０において、誤り文字位置抽出部２５６は、解答対応正解文字列の第ｍ番の文字と解答文字列の第ｎ番の文字が一致するかどうかを判定する。解答対応正解文字列の第ｍ番の文字と解答文字列の第ｎ番の文字が一致すると判定された場合は、ステップ６２４において、誤り文字位置抽出部２５６は、正解文字列の照合開始文字位置番号を１だけ増分してｘ＝n＋１と設定し、解答対応正解文字列の第ｍ番の文字と一致する解答文字列の文字の位置番号Ａ［ｍ］＝ｎを一時記憶領域に格納する。ステップ６２６において、誤り文字位置抽出部２５６は、解答対応正解文字列の文字の位置番号を１増分してｍ＝ｍ＋１と設定し、解答文字列の文字の位置番号ｎを正解文字列の照合開始文字位置番号に設定し、即ちｎ＝ｘと設定する。その後、手順はステップ６０８に戻る。
【０１３４】
ステップ６１２において解答文字列の照合開始文字位置番号ｘが解答文字列の長さ（文字数）Ｎより大きいと判定された場合、解答対応正解文字列の第ｍ番の文字に対応する解答文字列中の文字がないので、誤り文字位置抽出部２５６は、ステップ６３２において、解答文字列中に余剰字があることを表すために、解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号としてＡ［ｍ］＝−１を設定して格納し、解答対応正解文字列の文字の位置番号を１増分してｍ＝ｍ＋１と設定する。その後、手順はステップ６０８に戻る。
【０１３５】
ステップ６１６において解答文字列の中の文字の位置番号ｎが解答文字列の長さ（文字数）Ｎより大きいと判定された場合、解答対応正解文字列の第ｍ番の文字に照合すべき解答文字列中の文字がないので、誤り文字位置抽出部２５６は、ステップ６３４において、解答文字列中に異字または脱字があることを表すために、解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字の位置番号としてＡ［ｍ］＝０を設定して格納し、解答対応正解文字列の文字の位置番号を１増分してｍ＝ｍ＋１と設定し、解答文字列の文字の位置番号ｎを解答文字列の照合開始文字位置番号に設定し、即ちｎ＝ｘと設定する。その後、手順はステップ６０８に戻る。
【０１３６】
ステップ６２０において解答対応正解文字列の第ｍ番の文字と解答文字列の第ｎ番の文字が一致しないと判定された場合は、誤り文字位置抽出部２５６は、ステップ６３６において、解答文字列の中の文字の位置番号を１増分してｎ＝ｎ＋１と設定する。その後、手順はステップ６１６に戻る。
【０１３７】
図３２Ｃを参照すると、ステップ６０８において解答対応正解文字列の中の文字の位置番号ｍが解答対応正解文字列の長さＭより大きいと判定された場合は、誤り文字位置抽出部２５６は、ステップ６４０において、解答対応正解文字列の文字位置番号ｍを解答対応正解文字列の長さＭに設定してｍ＝Ｍとし、解答対応正解文字列の文字位置番号ｍとそれと照合すべき解答文字列の文字位置番号とのずれｄを初期値ｄ＝０と設定する。
【０１３８】
ステップ６４２において、誤り文字位置抽出部２５６は、解答対応正解文字列の文字位置番号ｍが０か即ちｍ＝０かどうかを判定する。ｍ＝０でないと判定された場合は、ステップ６４６において、誤り文字位置抽出部２５６は、格納されている解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号Ａ［ｍ］が−１であるかどうかを判定する。
【０１３９】
ステップ６４６において解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号Ａ［ｍ］が−１であると判定された場合は、誤り文字位置抽出部２５６は、ステップ６４８において、脱字位置のリストに解答対応正解文字列の文字位置ｍを追加して格納する。その後、手順はステップ６６８に進む。
【０１４０】
ステップ６６８において、誤り文字位置抽出部２５６は、解答対応正解文字列の文字位置から１だけ減分してｍ＝ｍ−１とする。その後、手順はステップ６４２に進む。
【０１４１】
ステップ６４６において解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号Ａ［ｍ］が−１でないと判定された場合は、誤り文字位置抽出部２５６は、格納されている解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号Ａ［ｍ］が０であるかどうかを判定する。Ａ［ｍ］が０であると判定された場合は、誤り文字位置抽出部２５６は、ステップ６５４において、ずれｄが０かどうか、即ちｄ＝０かどうかを判定する。解答対応正解文字列と正解文字列の照合文字位置の間のずれｄがない、即ちｄ＝０と判定された場合は、ステップ６５６において、誤り文字位置抽出部２５６は、異字位置のリストに正解文字列の文字位置ｍを追加して格納する。その後、手順はステップ６６８に進む。
【０１４２】
ステップ６５４において解答対応正解文字列と正解文字列の照合文字位置にずれｄがある、即ちｄ≠０と判定された場合は、誤り文字位置抽出部２５６は、脱字位置のリストに文字位置ｍを追加して格納し、ずれｄを１だけ減分してｄ＝ｄ−１と設定する。その後、手順はステップ６６８に進む。
【０１４３】
ステップ６５０においてＡ［ｍ］が０でないと判定された場合は、誤り文字位置抽出部２５６は、ステップ６６０において、ずれｄが解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号Ａ［ｍ］と解答対応正解文字列の文字位置番号ｍの間の差の絶対値（｜Ａ［ｍ］−ｍ｜）より大きいかどうかを判定する。ずれｄが解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号Ａ［ｍ］と解答対応正解文字列の文字位置番号ｍの差の絶対値より大きいと判定された場合は、解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置と解答対応正解文字列の照合文字位置番号ｍのずれｄの大きさが、文字位置ｍより後の位置における照合文字位置のずれの大きさより小さいので、誤り文字位置抽出部２５６は、ステップ６６２において、余剰字位置のリストに文字位置ｍを追加して格納する。
【０１４４】
ステップ６６４において、誤り文字位置抽出部２５６は、ずれｄをｄ＝｜Ａ［ｍ］−ｍ｜に設定する。その後ステップ６６８に進む。
【０１４５】
ステップ６６０においてずれｄが解答対応正解文字列の第ｍ番の文字に対する解答文字列の文字位置番号Ａ［ｍ］と解答対応正解文字列の文字位置ｍの間の差の絶対値より大きくないと判定された場合は、手順はステップ６６４に進む。
【０１４６】
ステップ６４２においてｍ＝０と判定された場合は、誤り文字位置抽出部２５６は、ステップ６７２において、解答対応正解文字列の最後の文字位置Ｍの文字と照合すべき解答文字列の文字位置Ａ［Ｍ］が解答文字列の長さＮより小さい（Ａ［Ｍ］＜Ｎ）かどうかを判定する。Ａ［Ｍ］がＮより小さいと判定された場合は、ステップ６７４において、誤り文字位置抽出部２５６は、余剰字位置のリストに最後の文字位置Ｍを追加する。その後、手順は図３２Ａ〜３２Ｃのルーチンを出る。Ａ［Ｍ］がＮより小さくないと判定された場合は、手順はそのルーチンを出る。
【０１４７】
このようにして、解答対応正解文字列の各文字位置の文字と照合する正解文字列の文字位置を求め、その結果から、決定した解答対応正解文字列における誤り文字として、異字、脱字および余剰字の文字位置を抽出する。
【０１４８】
図３２Ａおよび３２Ｂのステップ６０８〜６３６によって、解答対応正解文字列に対する解答文字列の照合文字位置が抽出される。図３２Ｃのステップ６４０〜６６４によって、解答対応正解文字列における誤り文字位置が抽出される。
【０１４９】
図３３Ａ〜３３Ｃは、図３１Ｂのステップ５４６において、図１２の学習支援システム２００（誤り文字位置抽出部２５６）によって実行される、解答文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【０１５０】
図３３Ａを参照すると、ステップ６０２〜６０６は図３２Ａのものと同様である。
【０１５１】
ステップ７０８において、誤り文字位置抽出部２５６は、解答文字列の中の文字の位置番号ｎが解答文字列の長さ（文字数）Ｎより大きいかどうか、即ち解答文字列中の全ての文字について誤り文字の抽出が終了したかどうかを判定する。解答文字列の中の文字位置番号ｎが解答文字列の長さＮより大きいと判定された場合は、手順は図３３Ｃのステップ７４０に進む。
【０１５２】
ステップ７０８において解答文字列の中の文字位置番号ｎが解答文字列の長さＮより大きくないと判定された場合は、誤り文字位置抽出部２５６は、ステップ７１２において、解答対応正解文字列の照合開始文字位置番号ｘが解答対応正解文字列の長さ（文字数）Ｍより大きいかどうか、即ち解答対応正解文字列中の全ての文字について比較が終了したかどうかを判定する。解答対応正解文字列の照合開始文字位置番号ｘが解答対応正解文字列の長さ（文字数）Ｍより大きいと判定された場合は、手順はステップ７３２に進む。
【０１５３】
ステップ７１２において解答対応正解文字列の照合開始文字位置番号ｘが解答対応正解文字列の長さ（文字数）Ｍより大きくないと判定された場合は、誤り文字位置抽出部２５６は、ステップ７１６において、解答対応正解文字列の中の文字の位置番号ｍが解答対応正解文字列の長さ（文字数）Ｍより大きいかどうか、即ち解答対応正解文字列中の全ての文字について誤り文字の比較または抽出が終了したかどうかを判定する。解答対応正解文字列の中の文字の位置番号ｍが解答対応正解文字列の長さ（文字数）Ｍより大きいと判定された場合は、手順はステップ７３４に進む。ステップ７１６において解答対応正解文字列の中の文字の位置番号ｍが解答対応正解文字列の長さ（文字数）Ｍより大きくないと判定された場合は、手順は図３３Ｂのステップ７２０に進む。
【０１５４】
図３３Ｂを参照すると、ステップ７２０において、誤り文字位置抽出部２５６は、解答文字列の第ｎ番の文字と解答対応正解文字列の第ｍ番の文字が一致するかどうかを判定する。解答文字列の第ｎ番の文字と解答対応正解文字列の第ｍ番の文字が一致すると判定された場合は、ステップ７２４において、誤り文字位置抽出部２５６は、解答対応正解文字列の照合開始文字位置番号を１だけ増分してｘ＝ｍ＋１と設定し、解答文字列の第ｎ番の文字と一致する解答対応正解文字列の文字の位置番号Ａ［ｎ］＝ｍを一時記憶領域に格納する。ステップ７２６において、誤り文字位置抽出部２５６は、解答文字列の文字の位置番号を１増分してｎ＝ｎ＋１と設定し、解答対応正解文字列の文字の位置番号ｍを解答対応正解文字列の照合開始文字位置番号に設定し、即ちｍ＝ｘと設定する。その後、手順はステップ７０８に戻る。
【０１５５】
ステップ７１２において解答対応正解文字列の照合開始文字位置番号ｘが解答対応正解文字列の長さ（文字数）Ｍより大きいと判定された場合、解答文字列の第ｎ番の文字に対応する解答対応正解文字列中の文字がないので、誤り文字位置抽出部２５６は、ステップ７３２において、解答文字列中に脱字があることを表すために、解答文字列の文字の位置番号ｎの文字に対する解答対応正解文字列の文字位置としてＡ［ｎ］＝−１を設定して格納し、解答文字列の文字の位置番号を１増分してｎ＝ｎ＋１と設定する。その後、手順はステップ７０８に戻る。
【０１５６】
ステップ７１６において解答対応正解文字列の中の文字の位置番号ｍが解答対応正解文字列の長さ（文字数）Ｍより大きいと判定された場合、解答対応正解文字列に照合すべき解答文字列の文字がないので、誤り文字位置抽出部２５６は、ステップ７３４において、解答文字列中に余剰字があることを表すために、解答文字列の文字の位置番号ｎの文字に対する解答対応正解文字列の文字位置としてＡ［ｎ］＝０を設定して格納し、解答文字列の文字の位置番号を１増分してｎ＝ｎ＋１と設定し、解答対応正解文字列の文字の位置番号ｍを解答対応正解文字列の照合開始文字位置番号設定し、即ちｍ＝ｘと設定する。その後、手順はステップ７０８に戻る。
【０１５７】
ステップ７２０において解答文字列の第ｎ番の文字と解答対応正解文字列の第ｍ番の文字が一致しないと判定された場合は、誤り文字位置抽出部２５６は、ステップ７３６において、解答対応正解文字列の中の文字の位置番号を１増分してｍ＝ｍ＋１と設定する。その後、手順はステップ７１６に戻る。
【０１５８】
図３３Ｃを参照すると、ステップ７０８において解答文字列の中の文字の位置番号ｎが解答文字列の長さＮより大きいと判定された場合は、誤り文字位置抽出部２５６は、ステップ７４０において、解答文字列の文字位置番号ｎを解答文字列の長さに設定し、即ちｎ＝Ｎと設定し、解答文字列の文字位置番号ｎとそれと照合すべき解答対応正解文字列の文字位置番号とのずれｄを初期値ｄ＝０と設定する。
【０１５９】
ステップ７４２において、誤り文字位置抽出部２５６は、解答文字列の文字位置番号ｎが０か、即ちｎ＝０かどうかを判定する。ｎ＝０でないと判定された場合は、ステップ７４６において、誤り文字位置抽出部２５６は、格納されている解答文字列の位置番号ｎの文字に対する解答対応正解文字列の文字位置としてＡ［ｎ］が−１であるかどうかを判定する。
【０１６０】
ステップ７４６においてＡ［ｎ］が−１であると判定された場合は、誤り文字位置抽出部２５６は、ステップ７４８において、余剰字位置のリストに解答文字列の文字位置ｎを追加して格納する。その後、手順はステップ７６８に進む。
【０１６１】
ステップ７６８において、誤り文字位置抽出部２５６は、解答文字列の文字位置から１減分してｎ＝ｎ−１とする。その後、手順はステップ７４２に進む。
【０１６２】
ステップ７４６においてＡ［ｎ］が−１でないと判定された場合は、誤り文字位置抽出部２５６は、格納されている解答文字列の第ｎ番の文字に対する解答対応正解文字列の文字位置Ａ［ｎ］が０であるかどうかを判定する。Ａ［ｎ］が０であると判定された場合は、誤り文字位置抽出部２５６は、ステップ７５４において、ずれｄが０かどうか、即ちｄ＝０かどうかを判定する。解答文字列と解答対応正解文字列の照合文字位置の間のずれがない、即ちｄ＝０と判定された場合は、ステップ７５６において、誤り文字位置抽出部２５６は、異字位置のリストに解答文字列の文字位置ｎを追加して格納する。その後、手順はステップ７６８に進む。
【０１６３】
ステップ７５４において解答文字列と解答対応正解文字列の照合文字位置にずれがある、即ちｄ≠０と判定された場合は、誤り文字位置抽出部２５６は、余剰字位置のリストに文字位置ｎを追加し、ずれｄをｄ＝ｄ−１と設定する。その後、手順はステップ７６８に進む。
【０１６４】
ステップ７５０においてＡ［ｎ］が０でないと判定された場合は、誤り文字位置抽出部２５６は、ステップ７６０において、ずれｄが解答文字列の第ｎ番の文字に対する解答対応正解文字列の一致文字位置番号Ａ［ｎ］と解答文字列の文字位置ｎの間の差の絶対値（｜Ａ［ｎ］−ｎ｜）より大きいかどうかを判定する。ｄがＡ［ｎ］とｎの差の絶対値より大きいと判定された場合は、解答文字列の第ｎ番の文字と一致または照合する解答対応正解文字列の照合文字位置のずれｄの大きさが、文字位置ｎより後の位置における照合文字位置のずれの大きさより小さいので、誤り文字位置抽出部２５６は、ステップ７６２において、脱字位置のリストに文字位置ｎを追加する。ステップ７６４において、誤り文字位置抽出部２５６は、ずれｄをｄ＝｜Ａ［ｎ］−ｎ｜に設定する。その後、手順はステップ７６８に進む。
【０１６５】
ステップ７６０においてずれｄがＡ［ｎ］とｎの間の差の絶対値より大きくないと判定された場合は、手順はステップ７６４に進む。
【０１６６】
ステップ７４２においてｎ＝０と判定された場合は、誤り文字位置抽出部２５６は、ステップ７７２において、解答文字列の最後の文字位置Ｎと一致または照合する解答対応正解文字列の文字位置Ａ［Ｎ］が解答対応正解文字列の長さＭより小さい（Ａ［Ｎ］＜Ｍ）かどうかを判定する。Ａ［Ｎ］がＭより小さいと判定された場合は、ステップ７７４において、誤り文字位置抽出部２５６は、脱字位置のリストに最後の文字位置Ｎを追加する。その後、手順は図３３Ａ〜３３Ｃのルーチンを出る。Ａ［Ｎ］がＭより小さくないと判定された場合は、手順はそのルーチンを出る。
【０１６７】
このようにして、解答文字列の各文字位置の文字と照合する正解対応正解文字列の文字位置を求め、その結果から、解答文字列における誤り文字として、異字、脱字および余剰字の文字位置を抽出する。
【０１６８】
図３３Ａおよび３３Ｂのステップ７０８〜７３６によって、解答文字列に対する解答対応正解文字列の照合文字位置が抽出される。図３３Ｃのステップ７４０〜７６４によって、解答文字列における誤り文字位置が抽出される。
【０１６９】
図３４Ａ〜３４Ｄは、図２３の学習支援システム２００によって実行される、正解／不正解を判定し、解答枠に対する解答対応正解文字列の割り付けを決定するための処理のフローチャートを示している。
【０１７０】
図３４Ａを参照すると、ステップ５０２は図３１Ａのものと同様である。ステップ８０４において、文字列類似度算出部２４８は、解答文字枠の識別番号ｈを初期値ｈ＝１、割り付けが確定した解答文字枠の数Ａを初期値Ａ＝０と設定する。ステップ８０６において、文字列類似度算出部２４８は、識別番号ｈが解答枠の数Ｂより大きいかどうか（ｈ＞Ｂ）、即ち識別番号ｈの解答枠が存在しないかどうかを判定する。識別番号ｈが解答枠の数Ｂより大きい、即ち第ｈ番の解答枠が存在しないと判定された場合は、手順は図３４Ｂのステップ８３２に進む。
【０１７１】
ステップ８０６において識別番号ｈが解答枠の数Ｂより大きくない、即ち識別番号ｈの解答枠が存在すると判定された場合は、文字列類似度算出部２４８は、ステップ８０８において、正解文字列の識別番号ｉを初期値ｉ＝１、識別番号ｈ番の解答枠の最大文字列類似度Ｓ［ｈ］を初期値Ｓ［ｈ］＝−１、識別番号ｈの解答枠の最大文字列類似度を有する正解文字列の識別番号ＡＣ［ｈ］を初期値ＡＣ［ｈ］＝０と設定する。
【０１７２】
ステップ８１０において、文字列類似度算出部２４８は、番号ｉが正解文字列の数Ｎより大きいかどうか（ｉ＞Ｎ）、即ち識別番号ｉの正解文字列が存在しないかどうかを判定する。番号ｉが正解文字列の数より大きい、即ち第ｉ番の正解文字列が存在しないと判定された場合は、手順はステップ８２２に進む。
【０１７３】
ステップ８１０において番号ｉが正解文字列の数より大きくない、即ち第ｉ番の正解文字列が存在すると判定された場合は、文字列類似度算出部２４８は、ステップ８１２において第ｈ番の解答枠に書かれた解答文字列と第ｉ番の正解文字列ＣＳｉとの間の文字列類似度Ｓ［ｈ］［ｉ］を算出する。
【０１７４】
ステップ８１４において、文字列類似度算出部２４８は、文字列類似度Ｓ［ｈ］［ｉ］が第ｈ番の解答枠に対する最大文字列類似度Ｓ［ｈ］より大きいかどうかを判定する。Ｓ［ｈ］［ｉ］がＳ［ｈ］より大きいと判定された場合は、ステップ８１６において、文字列類似度算出部２４８は、Ｓ［ｈ］の値をＳ［ｈ］＝Ｓ［ｈ］［ｉ］に更新し、識別番号ｈの解答枠の最大文字列類似度を有する正解文字列の識別番号ＡＣ［ｈ］の値をＡＣ［ｈ］＝ｉに更新し、両者の値（Ｓ［ｈ］、ＡＣ［ｈ］）を解答枠識別番号ｈに対応づけて一時記憶領域に格納する。ステップ８１８において、文字列類似度算出部２４８は、識別番号ｉ＝ｉ＋１と設定する。
【０１７５】
ステップ８１４において、Ｓ［ｈ］［ｉ］がＳ［ｈ］より大きくないと判定された場合は、手順はステップ８１８に進む。その後、手順はステップ８１０に戻る。
【０１７６】
ステップ８２２において、解答対応正解文字列決定部９は、第ｈ番の解答枠に対する最大文字列類似度Ｓ［ｈ］が１と等しいかどうかを判定する。Ｓ［ｈ］が１と等しくないと判定された場合は、手順はステップ８３０に進む。Ｓ［ｈ］が１と等しいと判定された場合は、ステップ８２４において、解答対応正解文字列決定部９は、第ｈ番の解答枠の解答対応正解文字列を第ｉ番の正解文字列として設定する。
【０１７７】
ステップ８２６において、解答対応正解文字列決定部９は、確定正解文字列の一時記憶領域に識別番号ｉを追加する。ステップ８２８において、解答対応正解文字列決定部９は、確定解答枠の一時記憶領域に識別番号ｈを追加して格納し、割り付けが確定した解答枠の数ＡをＡ＝Ａ＋１と設定する。その後、手順はステップ８３０に進む。
【０１７８】
ステップ８３０において、文字列類似度算出部２４８は、解答文字枠の識別番号ｈをｈ＝ｈ＋１と設定する。その後、手順はステップ８０６に進む。
【０１７９】
図３４Ｂを参照すると、ステップ８３２において、解答対応正解文字列決定部２５０は、割り付けが確定した確定解答文字枠の数Ａが解答文字枠の数Ｂと等しい（Ａ＝Ｂ）かどうかを判定する。ＡがＢと等しくないと判定された場合は、ステップ８３４において、解答対応正解文字列決定部２５０は、解答枠の識別番号ｈを初期値ｈ＝１、最大文字列類似度Ｓを初期値として識別番号ｈの解答枠における最大類似度Ｓ［ｈ］、割り付けが確定した確定解答枠の識別番号ｋをｋ＝ｈと設定する。
【０１８０】
ステップ８３８において、解答対応正解文字列決定部２５０は、識別番号ｈが解答枠の数Ｂより大きい（ｈ＞Ｂ）かどうかを判定する。ステップ８３６においてｈがＢより大きいと判定された場合は、手順はステップ８３２に戻る。
【０１８１】
ステップ８３６において識別番号ｈが解答文字枠の数Ｂより大きくないと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８４０において、ｈが確定解答枠に含まれているかどうかを判定する。ｈが確定解答枠に含まれていると判定された場合は、手順はステップ８３６に進む。
【０１８２】
ステップ８３６において、解答対応正解文字列決定部２５０は、解答枠の識別番号ｈをｈ＝ｈ＋１と設定する。その後、手順はステップ８３８に進む。
【０１８３】
ステップ８４０においてｈが確定解答枠に含まれていないと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８４２において、比較する解答枠の識別番号ｐを初期値ｐ＝ｈ＋１と設定し、第ＡＣ［ｈ］番の正解文字列を解答対応正解文字列とする解答枠ｋ＝ｈと設定する。
【０１８４】
図３４Ｃを参照すると、ステップ８４４において、解答対応正解文字列決定部２５０は、識別番号ｐが解答枠の数Ｂより大きいかどうかを判定する。識別番号ｐが解答枠の数Ｂより大きいと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８５６において、確定正解文字列の一時記憶領域に識別番号ＡＣ［ｈ］を追加して格納する。ステップ８５８において、解答対応正解文字列決定部２５０は、確定解答枠の一時記憶領域にｋを追加して格納し、確定解答枠の数ＡをＡ＝Ａ＋１と設定する。その後、手順は図３５Ｂのステップ８３６に戻る。
【０１８５】
ステップ８４４において識別番号ｐが解答枠の数Ｂより大きくないと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８４６において、識別番号ｐが確定解答枠（の一時記憶領域）の番号に含まれているかどうかを判定する。識別番号ｐが確定解答枠の番号に含まれていると判定された場合は、手順はステップ８８２に進む。
【０１８６】
ステップ８８２において、識別番号ｐをｐ＝ｐ＋１と設定する。その後手順はステップ８４４に進む。
【０１８７】
ステップ８４６において識別番号ｐが確定解答枠の番号に含まれてないと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８４８において、第ｈ番の解答枠の最大文字列類似度を有する正解文字列の識別番号ＡＣ［ｈ］が第ｐ番の解答枠の最大文字列類似度を有する正解文字列の識別番号ＡＣ［ｐ］と等しい（ＡＣ［ｈ］＝ＡＣ［ｐ］）かどうかを判定する。ＡＣ［ｈ］がＡＣ［ｐ］と等しくないと判定された場合は、手順はステップ８８２に進む。
【０１８８】
ステップ８４８においてＡＣ［ｈ］がＡＣ［ｐ］と等しいと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８５０において、最大文字列類似度Ｓが第ｐ番の解答枠に対する最大文字列類似度Ｓ［ｐ］より小さいか（Ｓ＜Ｓ［ｐ］）どうかを判定する。ＳがＳ［ｐ］より小さくないと判定された場合は、手順はステップ８８２に進む。
【０１８９】
ステップ５８０においてＳがＳ［ｐ］より小さいと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８５２において、最大文字列類似度Ｓ＝Ｓ［ｐ］、識別番号ＡＣ［ｈ］の正解文字列を解答対応正解文字列とする解答枠k = ｐと設定する。
【０１９０】
図３４Ｄを参照すると、ステップ８６２において、解答対応正解文字列決定部２５０は、正解文字列の識別番号ｉをｉ＝１、第ｈ番の解答枠の確定正解文字列を除く最大文字列類似度Ｓ［ｈ］を初期値Ｓ［ｈ］＝−１に、第ｈ番の解答枠の確定正解文字列を除く最大文字列類似度を有する正解文字列の識別番号ＡＣ［ｈ］を初期値ＡＣ［ｈ］＝０に設定する。
【０１９１】
ステップ８６４において、解答対応正解文字列決定部２５０は、正解文字列の識別番号ｉが正解文字列の数Ｎより大きいかどうかを判定する。正解文字列の識別番号ｉが正解文字列の数Ｎより大きいと判定された場合は、手順は図３４Ａのステップ８４２に戻る。
【０１９２】
ステップ８６４において正解文字列の識別番号ｉが正解文字列の数Ｎより大きくないと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８６６において、正解文字列の識別番号ｉが確定正解文字列の（一時記憶領域の）番号に含まれているかどうかを判定する。正解文字列の識別番号ｉが確定正解文字列に含まれていると判定された場合は、手順はステップ８７２に進む。
【０１９３】
ステップ８７２において、解答対応正解文字列決定部２５０は、正解文字列の識別番号ｉをｉ＝ｉ＋１と設定する。その後、手順はステップ８６４に戻る。
【０１９４】
ステップ８６６において正解文字列の識別番号ｉが確定正解文字列に含まれていないと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８６８において、第ｈ番の解答枠に入力された解答文字列と第ｉ番の正解文字列との間の文字列類似度Ｓ［ｈ］［ｉ］がＳ［ｈ］より大きいかを判定する。文字列類似度Ｓ［ｈ］［ｉ］がＳ［ｈ］より大きくないと判定された場合は、手順はステップ８７２に進む。
【０１９５】
ステップ８６８において文字列類似度Ｓ［ｈ］［ｉ］がＳ［ｈ］より大きいと判定された場合は、解答対応正解文字列決定部２５０は、ステップ８７０において、文字列類似度Ｓ［ｈ］＝Ｓ［ｈ］［ｉ］、正解文字列の識別番号ＡＣ［ｈ］＝ｉと設定する。その後、手順はステップ８７２に進む。
【０１９６】
図３４Ｂを再び参照すると、ステップ８３２においてＡがＢと等しいと判定された場合は、全ての解答文字枠に対して解答対応正解文字列の割付けが終了し、手順は図３４Ａ〜３４Ｄのルーチンを出る。
【０１９７】
解答文字枠の数と正解文字列の数が等しい場合について説明したが、正解文字列の数が解答文字枠の数より多い場合でも同様に正解文字列の割付を行うことができる。
【０１９８】
図３５は、図２５の学習支援システム２００によって実行される正解／不正解を判定するための処理の別のフローチャートの一部を示している。この部分的なフローチャートは、図３１Ａのステップ５０２、図３２Ａのステップ６０２、および図３３Ａのステップ６０２と置き換えられる。
【０１９９】
図３５を参照すると、ステップ１５０２において、解答文字列読出し部２４２は、正誤判定指示部２１２からの正解／不正解判定の指示（命令）に従って、解答文字列記憶部２５２から解答枠内の筆跡情報を取り出して文字切り出し領域候補生成部２４４に供給する。ステップ１５０４において、文字切り出し領域候補生成部２４４は、筆跡情報を分析して文字切り出し領域候補（文字切り出しの候補領域）を生成し、個々の文字切り出し領域候補にそれぞれの識別情報（ａ、ｂ、ｃ、．．．）を付与して文字切り出し領域候補記憶部２５４に格納し、その文字切り出し領域候補をその識別情報または識別番号とともに個別文字認識部２４６に供給する。
【０２００】
ステップ１５０６において、個別文字認識部２４６は、識別情報または識別番号ｎを初期値ｎ＝１と設定する。ステップ１５０８において、個別文字認識部２４６は、一連の文字領域候補からなる各群または各パスについて、識別番号ｎ（この場合、最初はｎ＝１）の切り出し領域候補があるかどうかを判定する。第ｎ番（最初はｎ＝１）の切り出し領域候補があると判定された場合は、ステップ１５１０において、個別文字認識部２４６は、第ｎ番の切り出し領域候補内の筆跡に対して、既知の形態で文字認識を行い、認識候補文字と認識スコアを生成する。ステップ１５１２において、個別文字認識部２４６は、識別番号ｎ＝ｎ＋１と設定する。その後、手順はステップ１５０８に戻る。
【０２０１】
ステップ１５０８において第ｎ番（最初はｎ＝１）の切り出し領域候補がないと判定された場合は、ステップ１５２２において、個別文字認識部２４６は、生成された切り出し領域候補と各領域候補に対する認識候補文字と認識スコアを最尤文字列決定部２４７に供給する。最尤文字列決定部２４７は、切り出し領域候補と各切り出し領域候補に対する認識候補文字と認識スコアを、正解文字列記憶部２５８に格納されている正解文字列と比較照合して、最尤文字列を決定し、その決定された最尤文字列を文字列類似度算出部２４８に供給する。その後、手順は、図３１Ａのステップ５０４、図３２Ａのステップ６０４、図３３Ａのステップ６０４、または図３４Ａのステップ６０２へ進む。
【０２０２】
図３６Ａ〜３６Ｅは、最尤文字列決定部２４７によって実行される、図３５のステップ１５２２の詳細な別のフローチャートを示している。この場合、最尤文字列の決定のための処理は、脱字および余剰文字の検出を含んでいる。
【０２０３】
最尤文字列決定部２４７は、ステップ１６０２において、ノード番号ｎに初期値ｎ＝１を設定する。ステップ１６０４において、最尤文字列決定部２４７は、生成された切り出し領域候補のノード中に第ｎ番のノードが存在するかどうかを判定する。第ｎ番のノードが存在しないと判定された場合は、手順は図３６Ｅのステップ１６６２に進む。ステップ１６０４において第ｎ番のノードが存在すると判定された場合は、ステップ１６０６において、最尤文字列決定部２４７は、その第ｎ番ノードが先頭の切り出し領域候補かどうかを判定する。
【０２０４】
ステップ１６０６においてｎ番ノードが先頭の切り出し領域候補でないと判定された場合は、最尤文字列決定部２４７は、ステップ１６１０において、第ｎ番ノードに直前に接続するリンク番号ｕを初期値ｕ＝１、最大文字列照合スコアｍａｘＳを初期値ｍａｘＳ＝０と設定する。
【０２０５】
ステップ１６１２において、最尤文字列決定部２４７はリンク番号ｕがＵ以下かどうかを判定する。ここで、Ｕは、第ｎ番ノードに直前に接続するリンク（ノード）の合計数を表す。リンク番号ｕがＵ以下でない（Ｕより大）と判定された場合は、ステップ１６１６において、最尤文字列決定部２４７は、ノード番号ｎ＝ｎ＋１と設定する。その後、手順はステップ１６０４に戻る。
【０２０６】
ステップ１６０６において第ｎ番ノードが先頭の切り出し領域であると判定された場合は、ステップ１６１８において、最尤文字列決定部２４７は、正解文字列における照合文字の位置Ｘを初期値Ｘ＝１、最尤文字列における第ｎ番ノードの文字位置Ｙを初期値Ｙ＝１、最大の文字列照合スコアｍａｘＳを初期値ｍａｘＳ＝０と設定する。続いて、ステップ１６０９において、最尤文字列決定部２４７は、直前選択ノードのノード番号ｔを“なし”と設定する。その後、手順はステップ１６２１に進む。
【０２０７】
ステップ１６１２においてリンク番号ｕがＵ以下であると判定された場合は、ステップ１６１３において、最尤文字列決定部２４７は、直前選択ノード番号ｔを第ｎ番ノードに直前に接続する第ｕ番のノードのノード番号と設定する。続いて、ステップ１６２１において、最尤文字列決定部２４７は、正解文字列における照合文字位置ＸをＸ＝ｔ番ノードの照合文字位置＋１と設定し、文字位置ＹをＹ＝ｔ番ノードの文字位置＋１と設定する。その後、手順は図３６Ｂのステップ１６３６に進む。
【０２０８】
図３６Ｂを参照すると、ステップ１６３６において、最尤文字列決定部２４７は、正解文字列中の照合文字位置Ｘが正解文字列の長さＬを越えるかどうかを判定する。文字位置Ｘが長さＬより大きいと判定された場合は、手順は図３６Ｄのステップ１６４４へ進む。
【０２０９】
ステップ１６３６においてＸがＬより大きくないと判定された場合は、ステップ１６８２において、最尤文字列決定部２４７は、照合文字位置ｑを初期値ｑ＝Ｘと設定する。ステップ１６８４において、照合文字位置ｑがＸとａの和（Ｘ＋ａ）以上（ｑ≧Ｘ＋ａ）かどうかを判定する。ここで、ａは所定の数値であり、連続して検出できる脱字および余剰字の数である。一方、ｑがＸとａの和以上であると判定された場合は、ステップ１６８６において、最尤文字列決定部２４７はリンク番号ｕ＝ｕ＋１と設定する。その後、手順は図３６Ａのステップ１６１６に戻る。
【０２１０】
ステップ１６８４においてｑがＸとａの和以上でないと判定された場合は、最尤文字列決定部２４７は、ステップ１６８５においてｑがＬより大きいかどうかを判定する。ｑが正解文字列の長さＬより大きいと判定された場合は、手順はステップ１６８６に進む。一方、ｑが長さＬより大きくないと判定された場合は、手順は図３６Ｃのステップ１６８７へ進む。
【０２１１】
図３６Ｃを参照すると、ステップ１６８７において、最尤文字列決定部２４７は、正解文字列の第ｑ番の文字がノードにおける文字候補に存在するかどうかを判定する。第ｑ番の文字がノードにおける文字候補に存在しないと判定された場合は、ステップ１６４５において、最尤文字列決定部２４７は、文字照合スコアＭＳ＝不一致値または最低値、選択文字ＭＪとして最大スコアの候補文字、照合文字位置ＭＩ＝Ｘ−１を設定する。一方、第ｑ番の文字がノードにおける候補に存在すると判定された場合は、ステップ１６４７において最尤文字列決定部２４７は、文字スコアＭＳ＝ノードにおける照合文字位置ｑの文字のスコア＋加算値（一致値）、選択文字ＭＪとして正解文字列の第ｑ番の文字、照合文字位置ＭＩ＝ｑを設定する。その後、手順はステップ１６４９へ進む。
【０２１２】
ステップ１６４９において、最尤文字列決定部２４７は、文字列照合スコア＝（第ｔ番ノードのＭＲＳ×（Ｙ−１）＋ＭＳ）／Ｙと設定する。ステップ１６５１において、文字列照合スコアＭＲＳが最大の文字列照合スコアｍａｘＳより大きいかどうかを判定する。文字列照合スコアＭＲＳが最大スコアｍａｘＳより大きくないと判定された場合は、手順はステップ１６９８進み、その後、図３６Ｂのステップ１６８４へ戻る。
【０２１３】
ステップ１６５１において文字列照合スコアＭＲＳが最大の文字列スコアｍａｘＳより大きいと判定された場合は、ステップ１６５２において、最尤文字列決定部２４７は、最大の文字列スコアｍａｘＳ＝ＭＲＳと設定する。ステップ１６９６において、最尤文字列決定部２４７は、照合文字位置ＭＩ、選択文字ＭＪ、最大の文字列照合スコアｍａｘＳ、文字位置Ｙ、直前選択ノードとして第ｔ番ノード、を第ｎ番ノードに関連づけて格納する。その後、手順はステップ１６９８に進む。
【０２１４】
図３６Ｄを参照すると、図３６Ｂのステップ１６３６のＹＥＳ分岐の後のステップ１６４４において、最尤文字列決定部２４７は、文字照合スコアＭＳ＝不一致値または最低値、選択文字ＭＪとして最大スコアの候補文字を設定する。
【０２１５】
ステップ１６４９において、最尤文字列決定部２４７は、文字列照合スコア＝（第ｔ番ノードのＭＲＳ×（Ｙ−１）＋ＭＳ）／Ｙと設定する。ステップ１６５１において、最尤文字列決定部２４７は、文字列照合スコアＭＲＳが最大の文字列照合スコアｍａｘＳより大きいかどうかを判定する。文字列照合スコアＭＲＳが最大スコアｍａｘＳより大きくないと判定された場合は、手順は図３６Ａのステップ１６１２へ戻る。
【０２１６】
ステップ１６５１において文字列照合スコアＭＲＳが最大の文字列スコアｍａｘＳより大きいと判定された場合は、ステップ１６５２において、最尤文字列決定部２４７は、最大の文字列スコアｍａｘＳ＝ＭＲＳと設定する。ステップ１７０８において、最尤文字列決定部２４７は、照合文字位置Ｘ、選択文字ＭＪ、最大の文字列照合スコアｍａｘＭＲＳ、文字位置Ｙ、および、直前の選択ノードとして第ｔ番ノード、を第ｎ番ノードに関連づけて格納する。ステップ１７１２において、最尤文字列決定部２４７は、ｕ＝ｕ＋１と設定する。その後、手順は図３６Ａのステップ１６１２に戻る。
【０２１７】
図３６Ｅを参照すると、図３６Ａのステップ１６０４のＮＯ分岐の後、ステップ１６６２において、最尤文字列決定部２４７は、末尾ノードの順序番号ｒを初期値ｒ＝１、末尾ノードの最大の文字列照合スコアＭＡＸを初期値ＭＡＸ＝０と設定する。
【０２１８】
ステップ１６６４において、最尤文字列決定部２４７は、文字切り出し領域の末尾ノードとしての第ｒ番のノードが存在するかどうかを判定する。それが存在しないと判定された場合は、ステップ１６７６において、最尤文字列決定部２４７は、決定された末尾ノードＬａｓｔから先行ノードへと辿って選択文字をつないで最尤文字列を決定する。
【０２１９】
ステップ１６６４において末尾ノードとしての第ｒ番のノードが存在すると判定された場合は、ステップ１６６６において、最尤文字列決定部２４７は、末尾ノードとしての第ｒ番のノード番号をＣと設定する。ステップ１６６８において、最尤文字列決定部２４７は、第Ｃ番ノードの文字列照合スコアＭＲＳが最大の文字列照合スコアＭＡＸより小さいかどうかを判定する。ＭＲＳがＭＡＸより小さくないと判定された場合は、ステップ１６７２において、最尤文字列決定部２４７は、ｒ＝ｒ＋１と設定する。その後、手順はステップ１６６４に戻る。一方、ＭＲＳがＭＡＸより小さいと判定された場合は、ステップ１６７０において、最尤文字列決定部２４７は、ＭＡＸ＝ＭＲＳ、Ｌａｓｔ＝Ｃと設定する。その後、手順はステップ１６７２に進む。
【０２２０】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【０２２１】
この明細書および図面に開示された学習支援システムは、解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、１つの解答枠に対して入力された１つの解答文字列を解答文字列記憶領域に格納する解答文字列管理手段と、解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、読み出した解答文字列と正解文字列群記憶領域における上述の１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、複数の正解文字列の中から解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、解答文字列と解答対応正解文字列を照合して、解答文字列の正誤判定を行う正誤判定手段と、を含む。このような構成によれば、解答文字列に対応する正解文字列を選択して解答対応正解文字列として決定するという働きにより、正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【０２２２】
また、この明細書および図面に開示された学習支援システムは、上述の構成に加え、１つの解答枠に対するユーザによる解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、ユーザによって入力された解答文字列を上述の１つの解答枠に表示する解答文字列表示手段と、解答対応正解文字列決定手段によって決定された解答対応正解文字列を解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含む。このような構成によれば、解答対応正解文字列を解答対応政界文字列以外の正解文字列と異なる形態で表示するという働きにより、入力された解答に対応した正解文字列が一目で分かるように表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が瞬時に把握しやすくなるという効果が期待される。
【０２２３】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、複数の正解文字列の中から選択された前記解答文字列に対応する１つ以上の解答対応正解文字列の数が複数の解答対応正解文字列であり、かつ互いに等しい類似度を有する場合に、解答対応正解文字列決定手段は、当該１つ以上の正解文字列の中の１つだけを解答対応正解文字列として決定する。このような構成によれば、等しい類似度を有する互いに等しい１つ以上の解答対応正解文字列の中の１つだけを解答対応正解文字列として決定するという働きにより、１つの解答枠にして常に１つの解答対応正解文字列を表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が分かりやすく表示できるという効果が期待される。
【０２２４】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、解答対応正解文字列と解答文字列とを比較して、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を抽出する誤り文字位置抽出手段を含み、正解文字列表示手段は、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置に基づいて、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を表示する。このような構成によれば、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を表示するという働きにより、解答文字列の一部が間違いである場合にその間違い箇所を示すことが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列の中での間違い箇所が把握しやすくなるという効果が期待される。
【０２２５】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、誤り文字位置抽出手段は、さらに、解答文字列における前記解答対応正解文字列に対する異字、脱字または余剰字の位置を抽出し、解答文字列表示手段は、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置に基づいて、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置を表示する。このような構成によれば、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置を表示するという働きにより、解答文字列の一部が間違いである場合にその間違い箇所を示すことが可能となり、学習者にとって学習者が入力した解答文字列の中での間違い箇所が把握しやすくなるという効果が期待される。
【０２２６】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、１つの解答枠は、複数の正解文字列に対応し得る複数の解答枠の１つであり、文字列類似度算出手段は、複数の解答枠の各々における解答文字列と複数の正解文字列の各々との間の文字列類似度を算出し、解答対応正解文字列決定手段は、複数の解答枠の各々における解答文字列と複数の正解文字列の各々との間の文字列類似度に基づいて、複数の解答枠に対して複数の正解文字列の中の正解文字列を排他的に選択して割り付けて解答対応正解文字列として決定する。このような構成によれば、複数の解答枠に対して複数の正解文字列の中の正解文字列を排他的に選択して割り付けて解答対応正解文字列として決定するという働きにより、順不同の複数の正解文字列を持つ場合に正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、順不動の複数の正解文字列をもつ場合に学習者にとって学習者が入力した解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【０２２７】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、記憶手段は、複数の解答枠に対する解答対応正解文字列を表示するための表示位置の情報を格納する表示位置情報記憶領域を含み、さらに、複数の解答枠に対する表示位置の情報を取得する正解文字列表示位置取得手段を含み、解答対応正解文字列表示手段は、複数の解答枠に対する表示位置に、前記割り付けられた正解文字列の中の対応する正解文字列を表示する。このような構成によれば、複数の解答枠に対する表示位置に割り付けられた割付正解文字列の中の対応する正解文字列を表示するという働きにより、順不同の複数の正解文字列をもつ場合に複数の解答枠のそれぞれに対する表示位置に解答対応正解文字列を表示することが可能となり、順不動の複数の正解文字列を持つ場合に学習者にとって学習者が入力した解答に対応する正解文字列が分かりやすく表示できるという効果が期待される。
【０２２８】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、解答文字列管理手段は、さらに、１つの解答枠に対して入力された筆跡情報を解答文字列記憶領域に格納し、解答文字列読出し手段は、さらに、解答文字列記憶領域から筆跡情報を読み出し、さらに、読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、複数の領域候補の中の可能な組み合わせの各領域候補に対する複数の候補文字を、正解文字列群記憶領域における正解文字列における文字と照合して、最尤文字列を決定して解答文字列として文字列類似度算出手段に供給する最尤文字列決定手段と、を含む。このような構成によれば、解答文字列が手書きで入力された場合にも正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、手書きで解答することによる学習効果に加えて、学習者にとって学習者が入力した手書き解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【０２２９】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
（付記１）  解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、
１つの解答枠に対して入力された１つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、
を含むことを特徴とする学習支援システム。
（付記２）  さらに、前記１つの解答枠に対するユーザによる前記解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、前記ユーザによって入力された前記解答文字列を前記１つの解答枠に表示する解答文字列表示手段と、前記解答対応正解文字列決定手段によって決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、前記正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含むことを特徴とする、付記１に記載の学習支援システム。
（付記３）  前記複数の解答文字列の中から前記解答文字列に対応する等しい類似度を有する互いに等しい前記１つ以上の正解対応正解文字列の数が複数であった場合に、解答対応正解文字列決定手段は、前記１つ以上の正解文字列の中の１つだけを前記解答対応正解文字列として決定することを特徴とする、付記１または２に記載の学習支援システム。
（付記４）  さらに、前記解答対応正解文字列と前記解答文字列とを比較して、前記解答対応正解文字列における前記解答文字列に対する異字、脱字または余剰字の位置を抽出する誤り文字位置抽出手段を含み、
前記正解文字列表示手段は、前記解答対応正解文字列における前記解答文字列に対する前記異字、脱字または余剰字の位置に基づいて、前記解答対応正解文字列における前記解答文字列に対する前記異字、脱字または余剰字の位置を表示するものであることを特徴とする、付記１乃至３のいずれかに記載の学習支援システム。
（付記５）  前記誤り文字位置抽出手段は、さらに、前記解答文字列における前記解答対応正解文字列に対する異字、脱字または余剰字の位置を抽出し、
前記解答文字列表示手段は、前記解答文字列における前記対応正解解答文字列に対する前記異字、脱字または余剰字の位置に基づいて、前記解答文字列における前記解答対応正解文字列に対する前記異字、脱字または余剰字の位置を表示するものであることを特徴とする、付記４のいずれかに記載の学習支援システム。
（付記６）  前記１つの解答枠は、前記複数の正解文字列に対応し得る複数の解答枠の１つであり、
前記文字列類似度算出手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の文字列類似度を算出し、
前記解答対応正解文字列決定手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の前記文字列類似度に基づいて、前記複数の解答枠に対して前記複数の正解文字列の中の前記正解文字列を排他的に選択して割り付けて前記解答対応正解文字列として決定するものであることを特徴とする、付記１乃至５のいずれかに記載の学習支援システム。
（付記７）  前記記憶手段は、前記複数の解答枠に対する解答対応正解文字列を表示するための表示位置の情報を格納する表示位置情報記憶領域を含み、
さらに、前記複数の解答枠に対する前記表示位置の情報を取得する正解文字列表示位置取得手段を含み、
前記解答対応正解文字列表示手段は、前記複数の解答枠に対する前記表示位置に、前記割り付けられた正解文字列の中の対応する正解文字列を表示するものであることを特徴とする、付記６に記載の学習支援システム。
（付記８）  前記記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、
前記解答文字列管理手段は、さらに、前記１つの解答枠に対して入力された筆跡情報を前記解答文字列記憶領域に格納し、
前記解答文字列読出し手段は、さらに、前記解答文字列記憶領域から筆跡情報を読み出し、
さらに、前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列群記憶領域における正解文字列における文字と照合して、最尤文字列を決定して前記解答文字列として前記文字列類似度算出手段に供給する最尤文字列決定手段と、
を含むことを特徴とする、付記１乃至７のいずれかに記載の学習支援システム。
（付記９）  解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
前記情報処理装置に
１つの解答枠に対して入力された１つの解答文字列を前記解答文字列記憶領域に格納するステップと、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出すステップと、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出するステップと、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定するステップと、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行うステップと、
を実行させるよう動作可能なプログラム。
（付記１０）  解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
１つの解答枠に対して入力された１つの解答文字列を前記解答文字列記憶領域に格納する工程と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出す工程と、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記１つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する工程と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する１つ以上の正解文字列を選択して１つ以上の解答対応正解文字列として決定する工程と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う工程と、
を含む、学習支援方法。
【図面の簡単な説明】
【０２３０】
【図１】図１は、本発明の実施形態に用いることができる情報処理装置および学習支援サーバを示している。
【図２】図２は、図１の情報処理装置および／または学習支援サーバによって実現される学習支援システムの構成を示している。
【図３】図３は、ユーザによって入力され解答文字列読出し部によって読み出された解答文字列、その解答に対応する正解文字列、解答文字列と正解文字列の間の一致文字数、および解答文字列と正解文字列の間の算出された類似度の例を示している。
【図４】図４Ａおよび４Ｂは、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、大きい四角の解答枠における解答文字列、その解答文字列に対する解答枠における判定結果、および解答枠の上の位置における解答対応正解文字列の例を示している。
【図５】図５は、図１の情報処理装置および／または学習支援サーバによって実現される学習支援システムの別の構成を示している。
【図６】図６Ａおよび６Ｂは、図５の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における解答文字列における誤り文字位置と誤り文字の種類を示している。
【図７】図７は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果および解答対応正解文字列の例を示している。
【図８】図８Ａは、ユーザによって入力され解答文字列読出し部によって読み出された別の解答文字列、それに対応する正解文字列、一致文字数、および算出された類似度の例を示している。図８Ｂおよび８Ｃは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置の例を示している。図８Ｄは、解答対応正解文字列における誤り文字位置とその誤りの種類の例を示している。
【図９】図９は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果と解答対応正解文字列の例を示している。
【図１０】図１０Ａは、ユーザによって入力され解答文字列読出し部によって読み出されたさらに別の解答文字列、それに対応する正解文字列、一致文字数、および算出された類似度の例を示している。図１０Ｂおよび１０Ｃは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置を示している。図１０Ｄは、解答対応正解文字列における誤り文字位置と誤りの種類の例を示している。
【図１１】図１１は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図１２】図１２は、図１の情報処理装置および／または学習支援サーバによって実現される学習支援システムのさらに別の構成を示している。
【図１３】図１３Ａおよび１３Ｂは、図１２の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における誤り文字位置と、解答文字列における誤り文字位置と、誤り文字の誤りの種類を示している。
【図１４】図１４は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図１５】図１５Ａ〜１５Ｃは、図１２の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における誤り文字位置と、解答文字列における誤り文字位置の誤りの種類の例を示している。
【図１６】図１６は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図１７Ａ】図１７Ａ〜１７Ｃは、図１２の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答文字列における誤り文字位置と、解答文字列のおける誤り文字の誤りの種類の例を示している。
【図１７Ｂ】(図17Aで説明)
【図１７Ｃ】(図17Aで説明)
【図１８】図１８は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図１９】図１９Ａは、ユーザによって入力され解答文字列読出し部によって読み出された３つの解答文字列、対応する３つの正解文字列、および算出された類似度の例を示している。図１９Ｂは、解答文字列と解答対応正解文字列の間の類似度に基づく、各解答文字列に対する解答対応正解文字列の割り付けまたは対応付けの例を示している。
【図２０】図２０は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列例を示している。
【図２１】図２１Ａは、ユーザによって入力され解答文字列読出し部によって読み出された２つの解答文字列、可能な４つの正解文字列、および算出された類似度の例を示している。図２１Ｂは、解答文字列と解答対応正解文字列の間の類似度に基づく、解答文字列に対する解答対応正解文字列の割り付けまたは対応付けを示している。
【図２２】図２２は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図２３】図２３Ａは、表示装置１１２に表示された３つの解答枠識別番号、および正解文字列表示位置取得部によって取得された解答文字列対応正解文字列の表示位置（座標）を示している。図２３Ｂは、図１９Ａの文字列類似度に基づいて、解答対応文字列決定部２５０によって割り付けられた解答対応正解文字列を示している。
【図２４】図２４は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果と、解答対応正解文字列の例を示している。
【図２５】図２５は、図１の情報処理装置および／または学習支援サーバによって実現されるさらに別の学習支援システムの構成を示している。
【図２６】図２６Ａは、ユーザによって入力され筆跡情報読出し部によって取り込まれた手書きの解答文字列の筆跡の例を示している。図２６Ｂは、図２６Ａの筆跡座標データに対して、文字切り出し領域候補生成部によって生成された文字切り出し候補の例を示している。図２６Ｃは、個別文字認識部による、図２６Ｂに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【図２７】図２７Ａ〜２７Ｄは、最尤文字列決定部により、図２６Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の１つに対する図２６Ｂの文字切り出し候補の最尤文字列を決定する手順の例を示している。
【図２８】図２８Ａ〜２８Ｄは、最尤文字列決定部により、図２６Ｃの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の別の１つに対する図２６Ｂの文字切り出し候補の最尤文字列を決定する手順の例を示している。
【図２９】図２９は、解答対応正解文字列決定部によって、最尤文字列に対する解答対応正解文字列を決定する方法を説明するのに役立つ。
【図３０】図３０は、図２５の学習支援システムによる不正解の場合の解答文字列の正誤判定結果の例を示している。
【図３１Ａ】図３１Ａおよび３１Ｂは、図２の学習支援システムによって実行される正解／不正解を判定するための処理のフローチャートを示している。
【図３１Ｂ】（図31Aで説明）
【図３２Ａ】図３２Ａ〜３２Ｃは、図３１Ｂのステップにおいて、図５の学習支援システムによって実行される、解答対応正解文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【図３２Ｂ】（図32Aで説明）
【図３２Ｃ】（図32Aで説明）
【図３３Ａ】図３３Ａ〜３３Ｃは、図３１Ｂのステップ５４６において、図１２の学習支援システムによって実行される、解答文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【図３３Ｂ】（図33Aで説明）
【図３３Ｃ】（図33Aで説明）
【図３４Ａ】図３４Ａ〜３４Ｄは、図２３の学習支援システムによって実行される、正解／不正解を判定し、解答枠に対する解答対応正解文字列の割り付けを決定するための処理のフローチャートを示している。
【図３４Ｂ】（図34Aで説明）
【図３４Ｃ】（図34Aで説明）
【図３４Ｄ】（図34Aで説明）
【図３５】図３５は、図２５の学習支援システムによって実行される正解／不正解を判定するための処理の別のフローチャートの一部を示している。
【図３６Ａ】図３６Ａ〜３６Ｅは、最尤文字列決定部によって実行される、図３５のステップの詳細な別のフローチャートを示している。
【図３６Ｂ】（図36Aで説明）
【図３６Ｃ】（図36Aで説明）
【図３６Ｄ】（図36Aで説明）
【図３６Ｅ】（図36Aで説明）
【符号の説明】
【０２３１】
２００  学習支援システム
２２２  解答文字列管理部
２４２  解答文字列読出し部
２４８  文字列類似度算出部
２５０  解答対応正解文字列決定部
２５４  正誤判定部
２５８  正解文字列群記憶部
【図１】
0005239506.tif 000002
【図２】
0005239506.tif 000003
【図３】
0005239506.tif 000004
【図４】
0005239506.tif 000005
【図５】
0005239506.tif 000006
【図６】
0005239506.tif 000007
【図７】
0005239506.tif 000008
【図８】
0005239506.tif 000009
【図９】
0005239506.tif 000010
【図１０】
0005239506.tif 000011
【図１１】
0005239506.tif 000012
【図１２】
0005239506.tif 000013
【図１３】
0005239506.tif 000014
【図１４】
0005239506.tif 000015
【図１５】
0005239506.tif 000016
【図１６】
0005239506.tif 000017
【図１７Ａ】
0005239506.tif 000018
【図１７Ｂ】
0005239506.tif 000019
【図１７Ｃ】
0005239506.tif 000020
【図１８】
0005239506.tif 000021
【図１９】
0005239506.tif 000022
【図２０】
0005239506.tif 000023
【図２１】
0005239506.tif 000024
【図２２】
0005239506.tif 000025
【図２３】
0005239506.tif 000026
【図２４】
0005239506.tif 000027
【図２５】
0005239506.tif 000028
【図２６】
0005239506.tif 000029
【図２７】
0005239506.tif 000030
【図２８】
0005239506.tif 000031
【図２９】
0005239506.tif 000032
【図３０】
0005239506.tif 000033
【図３１Ａ】
0005239506.tif 000034
【図３１Ｂ】
0005239506.tif 000035
【図３２Ａ】
0005239506.tif 000036
【図３２Ｂ】
0005239506.tif 000037
【図３２Ｃ】
0005239506.tif 000038
【図３３Ａ】
0005239506.tif 000039
【図３３Ｂ】
0005239506.tif 000040
【図３３Ｃ】
0005239506.tif 000041
【図３４Ａ】
0005239506.tif 000042
【図３４Ｂ】
0005239506.tif 000043
【図３４Ｃ】
0005239506.tif 000044
【図３４Ｄ】
0005239506.tif 000045
【図３５】
0005239506.tif 000046
【図３６Ａ】
0005239506.tif 000047
【図３６Ｂ】
0005239506.tif 000048
【図３６Ｃ】
0005239506.tif 000049
【図３６Ｄ】
0005239506.tif 000050
【図３６Ｅ】
0005239506.tif 000051