学習支援システム、プログラムおよび学習支援方法
【課題】学習支援システムにおいて入力された解答に対応する正解を選択して表示できるようにする。
【解決手段】学習支援システム(200)は、解答枠に対して入力された解答文字列を解答文字列記憶領域に格納する解答文字列管理手段(222)と、解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段(242)と、その解答文字列とその解答枠に対する複数の正解文字列の間の文字列類似度を算出する文字列類似度算出手段(248)と、解答文字列と複数の正解文字列の間の文字列類似度に基づいて、複数の解答文字列の中から解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段(250)と、解答文字列と対応正解文字列を照合して、解答文字列の正誤判定を行う正誤判定手段(254)と、を含んでいる。
【解決手段】学習支援システム(200)は、解答枠に対して入力された解答文字列を解答文字列記憶領域に格納する解答文字列管理手段(222)と、解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段(242)と、その解答文字列とその解答枠に対する複数の正解文字列の間の文字列類似度を算出する文字列類似度算出手段(248)と、解答文字列と複数の正解文字列の間の文字列類似度に基づいて、複数の解答文字列の中から解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段(250)と、解答文字列と対応正解文字列を照合して、解答文字列の正誤判定を行う正誤判定手段(254)と、を含んでいる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習支援システムに関し、特に、解答として入力された文字列を識別してその解答を採点する学習支援システムに関する。
【背景技術】
【0002】
特開平7−199794号公報(特許文献1)には、画像処理装置が記載されている。その画像処理装置において、答案用紙の画像を画像読取手段によって読み取り、その画像情報を画像記憶手段に記憶する。その画像情報から問題認識手段が出題された問題を認識し、解答認識手段がその問題に対する解答の文字、記号又はマークを認識する。その認識した解答と正解・配点情報保持手段が保持する認識した問題に対する正解とを採点手段によって各問題毎に比較して各解答の正否を判断し点数を算出する。その採点結果を、採点結果出力手段が画像出力手段によって画像記憶手段に記憶した答案用紙の画像と共に記録紙に画像形成して出力させる。それによって、デジタル複写機を利用して、答案用紙の自動採点を簡単にでき、その採点結果の確認も容易になる。
【特許文献1】特開平7−199794号公報
【0003】
特開2001−282090号公報(特許文献2)には、学習用プログラムが記載されている。その学習用プログラムは、問題文をウインドに提示し、演習問題の解答の入力を求める前に、解答を見つけるために学習者が理解すべき複数の必須事項の理解を検証する複数の質問をウインドに所定の思考過程に即して順次提示する。いずれかの質問に対する解答が不正解のときには、正解を提示したうえで、次の質問を提示する。質問への解答が正解のときには、対応する途中点を与える。全質問への解答の終了後に演習問題への解答を受け付ける。途中点と演習問題の解答に対する得点から学習者の問題得点を決める。上記複数の質問には、問題文に実質的に表された複数の必須事項に関する質問と、問題文に表されていない複数の必須事項に関する質問とが含まれる。それによって、演習問題の解答を見つける思考過程の習得を支援する。
【特許文献2】特開2001−282090号公報
【0004】
特開2004−29649号公報(特許文献3)には、学習装置が記載されている。その学習装置は、この学習装置の制御を行うデータ制御部を備えている。このデータ制御部においては、表示部に表示された問題に対して受講者により入力部を介して入力された解答とデータ記憶部に記憶されている問題の正解とを照合することにより採点を行う。そして、問題に対する解答が正しい場合には、表示部に正解を表示し、問題に対する解答が誤っている場合には表示部にデータ記憶部に記憶されている解説を表示する。それによって、パソコン等を利用した学習形態において、学習内容の理解を向上させると共に、効率的な学習を行うことができる学習装置を提供する。
【特許文献3】特開2004−29649号公報
【0005】
特開2006−308925号公報(特許文献4)には、学習支援システムが記載されている。その学習支援システムは、問題データベースから読み出した問題を画面に表示する問題表示部と解答入力部とを備えている。その学習支援システムにおいて、解答入力部より入力された解答と問題データベースの正解とを照合して解答判定を行う解答判定部と、解答判定部による解答判定結果を、判定対象となった解答に対応させて表示する解答判定結果表示部と、解答判定結果を問題に対応付けて保存する解答判定結果メモリとを備え、問題表示部が、以前の解答時の解答判定結果が存在する問題については、以前の解答時の解答判定結果に応じた態様(例えば解答枠の色分け)で問題を表示する。それによって、同じ問題を2回目以降に表示する際に、以前の正誤状況がわかるような態様で問題が表示される。
【特許文献4】特開2006−308925号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特開2004−29649号公報のシステムでは、入力された解答の正誤を判定し、さらに問題と対になって記憶されている正解を表示する。しかし、発明者は、1つの解答枠に適合し得る複数の可能な正解文字列の群(グループ)が存在する場合、入力された解答文字列と正解文字列とを照合してその正誤判定を行い、問題と対になって記憶されている複数の正解文字列を単純に羅列して表示すると、学習者にとって学習者が入力した解答に対応する正解文字列を把握しにくい、と認識した。
【0007】
発明者は、解答文字列の一部が間違であることを表示する場合には、表示した正解文字列における誤り文字に対応する部分を表示することが有効である、と認識した。発明者は、複数の正解文字列の中から学習者が入力した解答に対応する正解文字列を特定することによってその正解文字列における誤り箇所を表示できる、と認識した。
【0008】
発明者は、1つの解答枠に複数の可能な解答がある問題に対して、入力された解答文字列と正解文字列群を照合して正誤判定を行った結果を表示し、その際、正誤判定結果に加えて、入力された解答文字列に対応する正解文字列が把握できるように表示し、また解答文字列に対応する正解文字列における誤り文字に対応する部分を表示すれば、高い学習効果が得られる、と認識した。
【0009】
本発明の目的は、学習支援システムにおいて入力された解答に対応する正解を選択して表示できるようにすることである。
【0010】
本発明の別の目的は、学習支援システムにおいて入力された解答に対応する正解における誤り対応部分を表示できるようにすることである。
【課題を解決するための手段】
【0011】
本発明の特徴によれば、学習支援システムは、解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、を含んでいる。
【0012】
本発明は、さらに、前述の学習支援システムを実現するためのプログラムおよび方法に関する。
【発明の効果】
【0013】
本発明によれば、学習支援システムにおいて、入力された解答に対応する正解を選択して表示でき、入力された解答に対応する正解における誤り対応部分を表示できる。
【発明を実施するための最良の形態】
【0014】
本発明の実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【0015】
図1は、本発明の実施形態に用いることができる情報処理装置10および学習支援サーバ20を示している。情報処理装置10は、プロセッサ(CPU)12、各種のデータベースを含む記憶装置14、表示装置(ディスプレイ)112、ペン入力可能なタブレット114、キーボード(KY)およびポインティング・デバイスを含む入力装置116、およびネットワーク・インタフェース(N/W IF)18を具えている。情報処理装置10は、プロセッサ12によって実行される学習支援機能16を有する。
【0016】
情報処理装置10は、単独で、即ちスタンドアローン型の装置として、学習支援サービスをユーザに提供してもよい。プロセッサ12は、学習支援機能16等の諸機能を実現するための記憶装置14に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ12上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置10は、タブレットPCであってもよい。
【0017】
代替構成として、情報処理装置10は、学習支援機能26を有する学習支援サーバ20にネットワーク5を介して接続されてもよい。この場合、情報処理装置10は、端末として機能して、学習支援サーバ20と協働して学習支援サービスをユーザに提供する。学習支援サーバ20は、プロセッサ(CPU)22、データベースを含む記憶装置24、およびネットワーク・インタフェース(N/W IF)28を具えている。
【0018】
学習支援サーバ20は、プロセッサ22によって実行される学習支援機能26を有する。プロセッサ22は、学習支援機能26等の諸機能を実現するための記憶装置24に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ22上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置10の端末としての学習支援機能16は、前述のようにハードウェアまたはソフトウェアの形態でプロセッサ12上で実装される。
【0019】
図2は、図1の情報処理装置10および/または学習支援サーバ20によって実現される学習支援システム200の構成を示している。
【0020】
学習支援システム200は、情報処理装置10に設けられた、入力処理部として、解答入力部210および正誤判定指示部212を含み、表示処理部として、解答文字列表示部214、正解文字列表示部216および正誤判定表示部218を含んでいる。
【0021】
学習支援システム200は、さらに、情報処理装置10に設けられた情報処理部として、解答文字列管理部222、解答文字列読出し部242、文字列類似度算出部248、解答対応正解文字列決定部250、および正誤判定部254を含んでいる。学習支援システム200は、さらに、記憶装置14中の領域として、解答文字列記憶部252および正解文字列群記憶部258を含んでいる。
【0022】
代替構成として、情報処理装置10を端末として用いて主に学習支援サーバ20によって学習支援サービスを提供する場合、学習支援システム200は、学習支援サーバ20に設けられた情報処理部として、解答文字列管理部222、解答文字列読出し部242、文字列類似度算出部248、解答対応文字列決定部250、および正誤判定部254を含んでいる。学習支援システム200は、さらに、学習支援サーバ20に設けられた記憶装置24中の領域として、解答文字列記憶部252および正解文字列群記憶部258を含んでいる。
【0023】
図1において、ユーザは、入力装置116のキーまたはマウス等を用いて表示装置112においてカーソルを解答枠内または解答欄に配置し、入力装置116を用いてその解答枠内に解答文字列を順次入力(ワープロ入力)すると、解答入力部210は、解答の文字列のデータを順次取り込んで、解答文字列管理部222に供給する。解答文字列管理部222は、その解答文字列データを解答文字列記憶部252に順次格納しかつ解答文字列表示部214に順次供給する。解答文字列表示部214は、受け取ったデータの解答文字列を表示装置112上の解答枠内に表示する。
【0024】
図3は、ユーザによって入力され解答文字列読出し部242によって読み出された解答文字列(“幹国”)、その解答に対応する正解文字列(“韓国”および“大韓民国”)、解答文字列と正解文字列の間の一致文字数、および解答文字列と正解文字列の間の算出された類似度の例を示している。
【0025】
ユーザが、表示装置112に表示された“正誤判定指示”用のキー(ソフトキー)をポインティング・デバイスまたはキー等を用いて付勢(クリックまたは押下)して、正誤判定指示部212を付勢すると、解答文字列読出し部242は解答文字列記憶部252に格納されている解答文字列データを読み出して、文字列類似度算出手段248に供給する。
【0026】
文字列類似度算出部248は、受け取った解答文字列“幹国”と、正解文字列群記憶部258の中のその解答に対応する複数の可能な正解文字列“韓国”および“大韓民国”の各々との間の文字列類似度を算出する。文字列類似度は、例えば次の式で表すことができる。
【0027】
文字列類似度 = 一致した文字数/基準文字数
ここで、基準文字数 = “正解文字列の文字数”と“解答文字列の文字数”のいずれか大きい数。
【0028】
この場合、正解文字列“韓国”および“大韓民国”について、一致文字数は1、基準文字数は2および4、文字列類似度はそれぞれ“0.5”、“0.25”である。
【0029】
解答対応文字列決定部250は、算出された文字列類似度(“0.5”、“0.25”)に基づいて、複数の可能な正解文字列の中から最大の文字列類似度を有する正解文字列“韓国”を選択して、それを解答文字列に対応する正解文字列、即ち解答対応正解文字列として決定する。最大の文字列類似度を有する文字列が複数存在する場合には、それら複数の正解文字列を解答対応正解文字列として決定する。
【0030】
正誤判定部254は、決定された解答対応正解文字列と解答文字列を照合し、両者が一致すれば正解の判定を行い、両者が一致しなければ不正解の判定を行う。その判定結果は正誤判定表示部218に供給される。正誤判定表示部218は、判定結果が正解の場合には解答枠に例えば赤色で○を表示し、判定結果が不正解の場合には解答枠に例えば赤色で×を表示する。
【0031】
解答対応正解文字列決定部250は、決定した解答対応正解文字列を正解文字列表示部216に供給する。正解文字列表示部216は、所定の正解文字列の表示位置に、例えば解答枠の上に、対応する正解文字列を表示する。正解文字列表示部216は、解答対応正解文字列決部250から受け取った解答対応正解文字列を、それ以外の正解文字列と区別できるように、異なる形態で表示する。
【0032】
図4Aおよび4Bは、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、大きい四角の解答枠における解答文字列(“幹国”)、その解答文字列に対する解答枠における判定結果(例えば“×”)、および解答枠の上の位置における解答対応正解文字列(“韓国”)の例を示している。図において、太い点線の“○”および“×”のシンボルは、正誤判定のための正解(○)または不正解(×)を表示するものであり、解答枠の上の2つの文字列(“韓国”、“大韓民国”)は可能な正解文字列であり、1つの正解文字列“韓国”を囲む四角の実線は決定された解答対応正解文字列を示している。
【0033】
図4Aでは、解答枠の上に全ての可能な正解文字列が表示され、解答対応正解文字列が四角の枠で囲まれている。図4Bでは、解答枠の上に解答対応正解文字列だけが表示される。
【0034】
図5は、図1の情報処理装置10および/または学習支援サーバ20によって実現される学習支援システム200の別の構成を示している。
【0035】
図5において、学習支援システム200は、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、図2の構成に加えて、さらに誤り文字位置抽出部256を含んでいる。学習支援システム200のその他の構成は図2のものと同様である。
【0036】
誤り文字位置抽出部256は、解答対応正解文字列決定部250から解答対応正解文字列および解答文字列を受け取って、その解答対応正解文字列と解答文字列とを比較し照合して、決定された解答対応正解文字列“幹国”における誤り文字位置(誤り部分に対応する文字位置)を抽出する。誤り文字位置抽出部256は、その抽出した誤り文字位置を正解文字列表示部218に供給する。正解文字列表示部218は、正解文字列における誤り文字位置を他の部分と区別できるように異なる形態で表示する。
【0037】
図6Aおよび6Bは、図5の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答対応正解文字列(“韓国”)における解答文字列における誤り文字位置(例えば、第1文字)と誤り文字の種類を示している。
【0038】
例えば、誤り文字位置抽出部256は、解答文字列“幹国”の第1文字“幹”と解答対応正解文字列“韓国”の第1文字“韓”を比較して不一致を検出し、次に解答文字列“幹国”の第2文字“国”と解答対応正解文字列“韓国”の第2文字“国”を比較して一致を検出する。それによって、誤り文字位置抽出部256は誤り文字位置を第1文字と判定する。誤り文字位置抽出部256は、解答対応正解文字列の第1文字を誤り文字位置として抽出し、第1文字“幹”の誤りの種類として“異字”と判定する。
【0039】
図7は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“幹国”)に対する判定結果(例えば、不正解“×”)および解答対応正解文字列(“韓国”)の例を示している。この場合、解答対応正解文字列の中の誤り文字または異字に対応する文字は他の文字と異なる色でハイライト表示される。図において、四角の点線で囲まれた部分は、解答対応正解文字列における誤り文字位置の文字が、例えば他の文字(例えば、黒)とは異なる色(例えば、赤)でハイライト表示された部分を示している(点線そのものを表示する必要はない)。
【0040】
図8Aは、ユーザによって入力され解答文字列読出し部242によって読み出された別の解答文字列(“中富”)、それに対応する正解文字列(“中臣鎌足”および“藤原鎌足”)、一致文字数、および算出された類似度の例を示している。この場合、最も高い類似度(0.25)を有する“中臣鎌足”が解答対応正解文字列として抽出される。
【0041】
図8Bおよび8Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列(“中臣鎌足”)の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置の例を示している。図8Dは、解答対応正解文字列(“中臣鎌足”)における誤り文字位置(第2文字〜第4文字)とその誤りの種類の例を示している。
【0042】
図8Cを参照すると、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第1文字“中”と解答文字列“中富”の第1文字“中”を比較して一致を検出し、解答対応正解文字列の第1文字を表す文字位置m=1の文字の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の一致文字の位置を表す値A[m]=1を得る。
【0043】
次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第2文字“臣”と解答文字列“中富”の第2文字“富”を比較して不一致を検出し、解答対応正解文字列の第2文字を表す文字位置m=2の文字の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の文字の不一致(または一致文字位置なし)を表す値A[m]=0を得る。
【0044】
次に、誤り文字位置抽出部256は、正解文字列“中臣鎌足”の第3文字“鎌”と解答文字列“中富”の各文字を比較して解答対応正解文字列における文字の脱落を検出し、解答対応正解文字列の第3文字を表す文字位置m=3の文字の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の文字の脱字(または文字位置なし)を表す値A[m]=−1を得る。次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第4文字“足”と解答文字列“中富”の各文字を比較して解答文字列における文字の脱落(または文字位置なし)を検出し解答対応正解文字列の、第4文字を表す文字位置m=4の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の脱字を表す値A[m]=−1を得る。
【0045】
図8Dに示されているように、誤り文字位置抽出部256は、さらに、第2文字が不一致なので、解答対応正解文字列の第2文字を誤り文字位置として抽出し、第2文字“臣”の誤りの種類として異字と判定し、第3と第4の文字が脱字なので、解答対応正解文字列の第3および第4の文字を誤り文字位置として抽出し、第3と第4の文字“鎌足”の誤りの種類として脱字と判定する。
【0046】
図9は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中富”)に対する判定結果(例えば不正解“×”)と解答対応正解文字列(“中臣鎌足”)の例を示している。図において、四角の点線で囲まれた部分は、解答対応正解文字列における誤り文字位置に対応する文字が、例えば他の文字(例えば、黒)とは異なる色(例えば、赤、青)でハイライト表示されたことを示している(点線そのものを表示する必要はない)。この場合、“臣”は赤で表示され、“鎌足”は青で表示される。
【0047】
図10Aは、ユーザによって入力され解答文字列読出し部242によって読み出されたさらに別の解答文字列(“中臣上鎌足成”)、それに対応する正解文字列(“中臣鎌足”および“藤原鎌足”)、一致文字数、および算出された類似度の例を示している。この場合、最も高い類似度(0.4)を有する“中臣鎌足”が解答対応正解文字列として抽出される。
【0048】
図10Bおよび10Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列(“中臣鎌足”)の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置を示している。図10Dは、解答対応正解文字列(“中臣鎌足”)における誤り文字位置(第2文字、第4文字)と誤りの種類の例を示している。
【0049】
図10Cを参照すると、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第1文字“中”と解答文字列“中臣上鎌足成”の第1文字“中”を比較して一致を検出し、解答対応正解文字列の第1文字を表す文字位置m=1の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=1を得る。次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第2文字“臣”と解答文字列“中臣上鎌足成”の第2文字“臣”を比較して一致を検出し、解答対応正解文字列の第2文字を表す文字位置m=2の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=2を得る。
【0050】
次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第3文字“鎌”と解答文字列“中臣上鎌足成”の各文字(第3文字、第4文字)を比較して一致を検出し、第3文字を表す文字位置m=3の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=4を得る。次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第4文字“足”と解答文字列“中臣上鎌足成”の各文字(第5文字)を比較して一致を検出し、第4文字を表す文字位置m=4の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=5を得る。
【0051】
図10Dに示されているように、誤り文字位置抽出部256は、さらに、解答文字列“中臣上鎌足成”の第3文字“上”および第6文字“成”が余剰字なので、それぞれの解答対応正解文字列における直前の文字位置である第2文字および第4文字を誤り文字位置として抽出し、解答文字列の第2文字“臣”および第4文字“足”の誤りの種類としてそれぞれに付加された“余剰字”と判定する。
【0052】
図11は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中臣上鎌足成”)、解答枠における解答文字列に対する判定結果(例えば不正解“×”)、および解答対応正解文字列(“中臣鎌足”)の例を示している。図において、正解文字列における下線は、解答対応正解文字列における解答文字列の余剰文字の位置に対応する位置を示している。この下線は、異なる色(例えば、赤)でハイライト表示してもよい。
【0053】
図12は、図1の情報処理装置10および/または学習支援サーバ20によって実現される学習支援システム200のさらに別の構成を示している。
【0054】
図12において、学習支援システム200は、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、図5の構成に加えて、さらに解答文字列変更部259を含んでいる。学習支援システム200は、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、さらに、正解文字列表示位置取得部260、および記憶装置14内に表示位置情報記憶部262を含んでいる。学習支援システム200のその他の構成は図5のものと同様である。
【0055】
誤り文字位置抽出部256は、解答対応正解文字列決定部250から解答対応正解文字列および解答文字列を受け取って、その解答対応正解文字列と解答文字列とを比較し照合して、決定された解答対応正解文字列(“韓国”)における誤り文字位置(第1文字)を抽出し、さらに解答文字列(“幹国”)における誤り文字位置(第1文字)を抽出する。誤り文字位置抽出部256は、その誤り文字位置の情報を解答文字列変更部259に供給する。解答文字列変更部259は、誤り文字位置抽出部256から受け取った誤り文字位置(第1文字)の情報に基づいて、解答枠内に表示された解答文字列における誤り文字の表示を変更して、他の文字と異なる色でハイライト表示する。
【0056】
図13Aおよび13Bは、図12の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答対応正解文字列(“韓国”)における誤り文字位置(第1文字)と、解答文字列(“幹国”)における誤り文字位置(第1文字)と、誤り文字の誤りの種類を示している。
【0057】
図13Bを参照すると、誤り文字位置抽出部256は、解答文字列“幹国”の第1文字“幹”と解答対応正解文字列“韓国”の第1文字“韓”を比較して不一致を検出する。誤り文字位置抽出部256は、さらに、解答対応正解文字列の第1文字が不一致なので、解答対応正解文字列および解答文字列のそれぞれの第1文字を誤り文字位置として抽出し、それぞれの第1文字“幹”の誤りの種類として“異字”と判定する。
【0058】
図14は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“幹国”)、解答枠における解答文字列に対する判定結果(例えば“×”)、および解答対応正解文字列(“韓国”)の例を示している。この場合、解答対応正解文字列の中の誤り文字に対応する文字、および解答文字列の中の誤り文字または異字が異なる色(例えば、赤)でハイライト表示される。
【0059】
図15A〜15Cは、図12の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答対応正解文字列(“中臣鎌足”)における誤り文字位置(第2文字〜第4文字)と、解答文字列(“中富”)における誤り文字位置(第2文字〜第4文字)の誤りの種類の例を示している。
【0060】
図15Bにおいて、nは解答文字列における文字位置、A[n]は解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置を示している。誤り文字位置抽出部256は、解答文字列“中富”の第1文字“中” と正解文字列“中臣鎌足”の第1文字“中”を比較して一致を検出し、解答文字列の第1文字を表す文字位置n=1の照合結果として解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置を表す値A[n]=1を得る。
【0061】
次に、誤り文字位置抽出部256は、解答文字列“中富”の第2文字“富”と、正解文字列“中臣鎌足”の第2文字“臣”、第3文字“鎌”および第4文字“足”とを比較して不一致を検出し、解答文字列の第2文字を表す文字位置n=2の照合結果として、解答文字列の第n番の文字に対する解答対応正解文字列の文字の不一致(または一致文字位置なし)を表す値A[n]=0を得る。
【0062】
図15Cに示されているように、誤り文字位置抽出部256は、さらに、解答対応文字列“中臣鎌足”の第3文字“鎌”および第4文字“足”が脱字なので、解答文字列における直前の文字位置である第2文字を誤り文字位置として抽出し、解答文字列の第2文字“富”の誤りの種類として“脱字”という判定を付加する。
【0063】
図16は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中富”)、解答枠における解答文字列に対する判定結果(例えば不正解“×”)、および解答対応正解文字列(“中臣鎌足”)の例を示している。図において、解答枠における点線で囲まれた誤字は、例えば他の文字(例えば、黒)とは異なる色(例えば、赤、青)でハイライト表示される(点線そのものを表示する必要はない)。解答枠における下線は、解答文字列における脱字位置を表している。
【0064】
図17A〜17Cは、図12の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答文字列(“中臣上鎌足成”)における誤り文字位置(第3文字、第6文字)と、解答文字列のおける誤り文字の誤りの種類の例を示している。
【0065】
誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第1文字および第2文字“中臣”の各々と解答対応正解文字列“中臣鎌足”の第1文字および第2文字“中臣”の各々をそれぞれ比較して一致を検出し、解答文字列の第1文字および第2文字を表す文字位置n=1および2の照合結果として解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置A[n]=1、A[n]=2を得る。次に、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第3文字“上”と解答対応正解文字列“中臣鎌足”の第3文字および各文字を比較して不一致を検出し、解答文字列における第3文字を表す文字位置n=3の照合結果として解答文字列の第n番の文字に対する文字の不一致(または一致文字位置なし)を表す値A[n]=0を得る。
【0066】
次に、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第4文字および第5文字“鎌足”の各々と解答対応正解文字列“中臣鎌足”の第3文字および第4文字“鎌足”の各々をそれぞれ比較して一致を検出し、解答文字列の第4文字および第5文字を表す文字位置n=4および5の照合結果として解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置を表す値A[n]=3、A[n]=4を得る。次に、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第6文字“成”と比較する解答対応正解文字列“中臣鎌足”の文字位置がないので、解答文字列における第6文字を表す文字位置n=6の照合結果として解答文字列の第n番の文字に対する文字位置なしを表す値A[n]=−1を得る。このようにして、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第3文字および第6文字“上”および“成”を余剰文字として抽出する。
【0067】
図18は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中臣上鎌足成”)、解答枠における解答文字列に対する判定結果(例えば不正解“×”)、および解答対応正解文字列(“中臣鎌足”)の例を示している。図において、点線で囲まれた解答枠における余剰字は、例えば他の文字(例えば、黒)とは異なる色(例えば、青)でハイライト表示されることを示している(点線そのものを表示する必要はない)。
【0068】
次に、複数h個の解答枠に対してh個以上の複数の可能な正解文字列が存在する場合における解答対応正解文字列の決定および表示のしかたを説明する。
【0069】
図19Aは、ユーザによって入力され解答文字列読出し部242によって読み出された3つの解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)、対応する3つの正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)、および算出された類似度の例を示している。図19Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、各解答文字列に対する解答対応正解文字列の割り付けまたは対応付けの例を示している。
【0070】
文字列類似度算出部248は、解答文字列と正解文字列のすべての組み合わせについて図19Aに示されているような文字列類似度(“0”、“1”、“0.5”、“0.125”、“0.75”)を算出する。解答対応正解文字列決定部150は、その文字列類似度に基づいて各解答枠に対応する解答対応正解文字列の割り付けを決定する。解答対応正解文字列決定部150は、各解答枠に割り付ける正解文字列が互いに重複しないように、文字列類似度ができるだけ大きい正解文字列を解答対応正解文字列として解答枠に割り付けを行う。
【0071】
解答対応正解文字列決定部150は、図19Bに示されているように、最も高い類似度(“1”)を有する解答文字列“基本的人権の尊重”の解答枠に対してそれに対応する正解文字列“基本的人権の尊重”を割り付ける。次に、文字列類似度算出部248は、次に高い類似度(“0.75”)を有する解答文字列“国民主義”に対してそれに対応する正解文字列“国民主権”を割り付ける。次に、解答対応正解文字列決定部150は、次に高い類似度(“0”)を有するまたは残りの解答文字列“民主主義”に対してそれに対応するまたは残りの正解文字列“戦争放棄”を重複しないように割り付ける。
【0072】
図20は、解答文字列が正解および不正解を含む場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)、解答枠における解答文字列に対する判定結果(例えば“○”、“×”)、および解答対応正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)の例を示している。図において、太い点線の“○”および“×”のシンボルは、正誤判定のための正解(○)または不正解(×)を表示する。
【0073】
図21Aは、ユーザによって入力され解答文字列読出し部242によって読み出された2つの解答文字列(“高知県”および“福島県”)、可能な4つの正解文字列(“高知県”、“愛媛県”、“香川県”および“徳島県”)、および算出された類似度の例を示している。図21Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、解答文字列に対する解答対応正解文字列の割り付けまたは対応付けを示している。
【0074】
文字列類似度算出部248は、図21Bに示されているように、最も高い類似度(“1”)を有する解答文字列“高知県”に対してそれに対応する正解文字列“高知県”を割り付ける。次に、文字列類似度算出部248は、次に高い類似度(“0.5”)を有する解答文字列“福島県”に対して正解文字列“徳島県”を割り付ける。
【0075】
図22は、解答文字列が正解および不正解を含む場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“高知県”および“福島県”)、解答枠における解答文字列に対する判定結果(例えば“○”、“×”)、および解答対応正解文字列(“高知県”および“徳島県”)の例を示している。この場合、解答文字列に最も近い2つの正解文字列だけが表示され、残りの可能な正解文字列“愛媛県”および“香川県”は正解文字列として表示されない。従って、学習者の意図に最も近い解答したまたは解答しようとした文字列に最も近い正解文字列だけが表示される。但し、残りの可能な正解文字列“愛媛県”および“香川県”を、追加的に、可能な解答文字列として区別して表示してもよい。
【0076】
図12において、正解文字列表示位置取得部260は、各解答枠における解答文字列を取得し、表示位置情報記憶部262に格納されている表示装置112における各解答枠の上の解答対応正解文字列表示位置を表す座標(X,Y)を取得し、それぞれの位置に解答対応正解文字列を対応づけ、正解文字列表示部216はそれぞれの位置に解答対応正解文字列を表示する。
【0077】
図23Aは、表示装置112に表示された3つの解答枠識別番号(ID)1、2、3に対する、入力された解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)、および正解文字列表示位置取得部260によって取得された解答文字列対応正解文字列の表示位置(座標)を示している。図23Bは、図19Aの文字列類似度に基づいて、解答対応文字列決定部250によって割り付けられた解答対応正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)を示している。
【0078】
図24は、解答文字列が正解および不正解を含む場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)に対する判定結果(例えば、“○”、“×”)と、解答対応正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)の例を示している。図において、解答枠における誤り文字または異字は、例えば他の文字(例えば、黒)とは異なる色(例えば、赤、青)でハイライト表示される(点線そのものを表示する必要はない)。
【0079】
図25は、図1の情報処理装置10および/または学習支援サーバ20によって実現されるさらに別の学習支援システム200の構成を示している。
【0080】
学習支援システム200は、図2の場合と同様に、情報処理装置10に設けられた、入力処理部として、解答入力部210および正誤判定指示部212を含み、表示処理部として、解答文字列表示部214、正解文字列表示部216および正誤判定表示部218を含んでいる。
【0081】
学習支援システム200は、さらに、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、筆跡情報を管理する解答文字列管理部222、筆跡情報を読出す解答文字列読出し部242、文字切り出し領域候補生成部244、個別文字認識部246、最尤文字列決定部247、文字列類似度算出部248、解答対応文字列決定部250、および正誤判定部254を含んでいる。学習支援システム200は、さらに、記憶装置14または24中の領域として、解答筆跡情報を記憶する解答文字列記憶部252、文字切り出し領域候補記憶部254、文字認識辞書記憶部256、および正解文字列群記憶部258を含んでいる。
【0082】
図1において、ユーザは、スタイラスペンを用いてタブレット114上の解答欄に解答文字列を順次描くと、解答入力部210は、解答の文字列に対応する連続的な複数の座標(X,Y)からなる筆跡の座標データを順次取り込んで解答文字列管理部222に供給する。解答文字列管理部222はそれを解答文字列記憶部252に格納する。解答文字列管理部222は、その筆跡座標データを解答文字列記憶部252に順次格納しかつ解答文字列表示部214に順次供給する。解答文字列表示部214は、その筆跡座標データによって表される手書き文字列の筆跡を表示装置112上に順次リアルタイムで表示する。
【0083】
ユーザが、表示装置112に表示された正誤判定指示キーを付勢して、正誤判定指示部212を付勢すると、解答文字列読出し部242は、解答文字列記憶部252に格納されていた筆跡座標データを読み出して、文字切り出し領域候補生成部244に供給する。文字切り出し領域候補生成部244は、読み出された筆跡座標データから、推定される文字領域候補を切り出し、それぞれ一連の文字領域候補からなる複数の群を出力する。一文字の領域候補の推定は、各ストロークのX軸方向の重心が一定範囲内のものを一文字領域として切り出すなどの既知の方法を用いて行う。
【0084】
図26Aは、ユーザによって入力され解答文字列読出し部242によって取り込まれた手書きの解答文字列(“幹国”)の筆跡の例を示している。図26Bは、図26Aの筆跡座標データに対して、文字切り出し領域候補生成部244によって生成された文字切り出し候補a〜dの例を示している。図26Cは、個別文字認識部246による、図26Bに示された文字切り出し領域候補a〜dに対する認識候補文字および認識スコアの一例を示している。
【0085】
図26Bにおいて、左上のアルファベットが付された四角枠で囲まれた各領域は、切り出された1つの文字領域候補のパターンであり、矢印→は文字領域候補(ノード)間の可能性ある接続(リンク)関係を示している。この例では、群“a−b−d”および群“c−d”(幹−国)の接続関係にある文字領域候補の2つの群またはパス(paths)が提示される。図26Cにおいて、各文字領域候補(ノード)内の各認識候補文字の右側に表示されている数字は、それぞれの認識候補文字の認識スコアを示すものであり、スコアの数字が大きいほど可能性または最尤度が高いことを示している。
【0086】
個別文字認識部246は、文字切り出し領域候補生成部244によって切り出された図26Bの文字領域候補の各パターンa〜dに対して、文字認識辞書記憶部256を参照して、認識候補文字および認識スコアを決定する。認識候補文字の抽出には、一般的に用いられるOCR認識エンジン、オンライン認識エンジン、等、任意の認識エンジンを用いることができる。認識スコアは、文字領域候補のパターン(a〜d)と文字認識辞書記憶部256中の所定の文字パターンとの間の距離を計算したり、特徴点に基づいて計算したりするなど、既知の種々の方法を用いることができる。
【0087】
個別文字認識部246は、各文字領域候補における複数の認識候補文字およびそれぞれの認識スコアを最尤文字列決定部247に供給する。最尤文字列決定部247は、各解答枠の識別情報または識別番号(h)に対応する正解文字列群記憶部258中の正解文字列の情報を参照して認識候補文字から最尤文字列を決定する。最尤文字列の決定は、一連の文字領域候補またはノードからなる各群または各パスと各文字領域候補(ノード)に対応して、個別文字認識部246からの複数の認識候補文字に対して、正解文字列中の各文字との照合(マッチング)を行って文字を選択して最尤文字列を決定することからなる。その照合において、正解文字列における照合中の文字位置の文字と一致する認識候補文字があれば、その一致する認識候補文字に対して、例えば一定の加算スコア(ボーナススコア)を加えて、正解文字列が最尤文字列として選ばれやすくなるように設定する。
【0088】
図26Cを参照して、最尤文字列を決定する例を示す。この例では、候補文字の列を選択する2つのパス“a−b−d”および“c−d”がある。最尤文字列決定部247は、各選択パスにおけるノード中の各候補文字に対して、正解文字列の中の各文字位置の文字と照合する。最尤文字列決定部247は、正解文字列中の文字と一致しない認識候補文字に対して文字照合スコアとして最低値のスコア(例えば、650)を与える。また、最尤文字列決定部247は、正解文字列中の文字と一致する認識候補文字に対してその認識候補文字の認識スコアに加算スコア(例えば、50)を加えた値を、文字照合スコアとする。
【0089】
このようにして、最尤文字列決定部247は、文字列照合スコアの最も高い文字列を選択する。文字列照合スコアは、パスにおける先頭文字位置から現在文字位置の文字照合スコアの平均値で表され、即ち、先頭文字位置から前文字位置までの平均文字列照合スコア×先頭文字位置から前文字位置までの文字数+現在の文字位置の文字照合スコアを、先頭文字位置から現在文字位置までの文字数で割ったものとして求められる。従って、各パスにおける最後のノードにおける文字列照合スコアが、各パスの文字列の文字列照合スコアすなわち平均の文字照合スコアを表す。最尤文字列決定部247は、照合した文字列の最後の文字位置にある文字列照合スコアが最も大きいパスの文字列を、最尤文字列として選択する。
【0090】
図27A〜27Dは、最尤文字列決定部247により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の1つ(“韓国”)に対する図26Bの文字切り出し候補a〜dの最尤文字列を決定する手順の例を示している。この例では、文字切り出し領域候補a〜dを正解文字列“韓国”と照合する際に、連続する3文字以内の誤り文字の検出を含めて最尤文字列を決定する例である。
【0091】
図27Aにおいて、最尤文字列決定部247によって、1つの正解文字列“韓国”に対して、図26Cにおける一連の文字領域候補a、b、dからなる1つの群が選択され、最初の先頭のノードa(“幹”の偏(左側の部首))について、照合文字位置Xを初期値X=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、従って正解文字列の第1番(番目)の文字“韓”および第2番の文字“国”と順次照合する。
【0092】
ノードaに対する認識候補文字“卓”および“巣”の認識スコア780および760が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として認識スコアが最大の“卓”が選択される。この場合、選択された文字と照合文字“韓”または“国”のいずれも一致しないので、照合文字位置としてX−1=0が与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードaに直前に接続するノードは存在しないので、文字領域候補aの文字位置をY=1、直前選択ノードを“なし”と記録する。
【0093】
次のノードb(“幹”の旁(右側の部首))について、ノードbに直前に接続するノードaの照合文字位置0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“韓”および“国”と順次照合する。認識候補文字“令”および“今”の認識スコア770および740が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として最大の認識スコアを有する“令”が選択される。選択された文字“令”と照合文字“韓”または“国”のいずれも一致しないので、文字照合スコアとして不一致を表す最低値(例えば、650)が与えられ、照合文字位置としてX−1=0が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値である650となる。ノードbに直前に接続するノードaの文字位置1を+1だけ増分して、文字領域候補bの文字位置をY=2、ノードbに接続する直前選択ノードを“a”と記録する。
【0094】
図27Bを参照すると、次のノードd(“国”)について、ノードdに直前に接続するノードbの照合文字位置0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“幹”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=2が与えられ、認識スコア860に、一致を表す加算値(例えば50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値736である。文字領域候補dの文字位置としてY=3、およびノードdに接続する直前選択ノードとして“b”と記録する。
【0095】
次に、図26Aにおいて、正解文字列“韓国”に対して、図26Cにおける一連の文字領域候補c、dからなる1つの群が選択され、最初の先頭のノードc(“幹”)について、照合文字位置Xを初期値X=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“韓”および“国”と順次照合する。次いで、ノードcに対する認識候補文字“幹”および“朝”の認識スコア830および820が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として認識スコアが最大の“幹”が選択される。この場合、選択された文字と照合文字“韓”または“国”のいずれも一致しないので、照合文字位置としてX−1=0が与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードaに直前に接続するノードは存在しないので、文字領域候補aの文字位置をY=1、直前選択ノードを“なし”と記録する。
【0096】
図27Cを参照すると、次のノードd(“国”)について、ノードdに直前に接続するノードcの照合文字位置0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“韓”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=2が与えられ、認識スコア860に、一致を表す加算値(例えば、50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値780である。文字領域候補dの文字位置としてY=2、およびノードdに接続する直前選択ノードとして“c”と記録する。
【0097】
ノードdに対しては、一連の文字領域候補a、b、dからなる1つの群のパスをたどった場合の文字列照合スコア736と、一連の文字領域候補c、dからなる1つの群のパスをたどった場合の文字列照合スコア780とを比較し、文字列照合スコアの高い方のデータ(照合文字位置、照合文字、選択文字、文字照合スコア、文字列照合スコア、文字位置、直前選択ノード)を記憶する。
【0098】
最後に、末尾のノードと対応づけて記憶してある文字列照合スコアが最大のものを探す。図26Cおよび図27A〜27Cの場合は、末尾のノードはdだけなので、ノードdから直前選択ノードを順次たどって、最尤文字列として選択するパスを決定する。図27Dのように、決定したパスc−dを文字切り出しの先頭ノードからつないだものを最尤文字列“幹国”として決定して保持する。
【0099】
図28A〜28Dは、最尤文字列決定部247により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の別の1つ(“大韓民国”)に対する図26Bの文字切り出し候補a〜dの最尤文字列を決定する手順の例を示している。この例では、文字切り出し領域候補a〜dを正解文字列“大韓民国”と照合する際に、連続する3文字以内の誤り文字の検出を含めて最尤文字列を決定する例である。
【0100】
図28Aにおいて、最尤文字列決定部247によって、別の1つの正解文字列“大韓民国”に対して、図26Cにおける一連の文字領域候補a、b、dからなる1つの群が選択され、ノードa(“幹”の偏(左側の部首))、b(“幹”の旁(左側の部首))について、正解文字列の第1番〜第4番の文字“大”、“韓”、“民”および“国”と順次照合する。
【0101】
図26Bの場合と同様に、ノードa、bに対する認識候補文字の認識スコアが順次求められる。認識候補文字の中に“大”、“韓”、 “民” および“国”のいずれも存在しないので、選択文字として認識スコアが最大の“卓”および“令”がそれぞれ選択される。照合文字位置としてX−1=0がそれぞれに与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)がそれぞれに与えられる。文字列照合スコアは文字照合スコアと等しくなる。
【0102】
図28Bを参照すると、図27Bの場合と同様に、ノードd(“国”)について、ノードdに直前に接続するノードbの照合文字位置X=0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1およびX+2およびX+3を設定し、正解文字列の第1番、第2番、第3番および第4番の文字“大”、“韓”、“民”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=4が与えられ、認識スコア860に、一致を表す加算値(例えば50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数3に対する文字照合スコアの平均値736である。文字領域候補dの文字位置としてY=3、およびノードdに接続する直前選択ノードとして“b”と記録する。
【0103】
次に、図28Aにおいて、正解文字列“大韓民国”に対して、図26Cにおける一連の文字領域候補c、dからなる1つの群が選択され、ノードc(“幹”)について、正解文字列の第1番〜第4番の文字“大”、“韓”、“民”および“国”と順次照合する。次いで、ノードcに対する認識候補文字の認識スコアが求められる。認識候補文字の中に“大”、“韓”、“民”および“国”のいずれも存在しないので、選択文字として認識スコアが最大の“幹”が選択される。照合文字位置としてX−1=0が与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)が与えられる。文字列照合スコアは文字照合スコアと等しくなる。
【0104】
図28Cを参照すると、図26Bの場合と同様に、ノードd(“国”)について、ノードdに直前に接続するノードbの照合文字位置X=0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1およびX+2およびX+3を設定し、正解文字列の第1番、第2番、第3番および第4番の文字“大”、“韓”、“民”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=4が与えられ、認識スコア860に、一致を表す加算値(例えば50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値780である。文字領域候補dの文字位置としてY=2、およびノードdに接続する直前選択ノードとして“c”と記録する。
【0105】
ノードdに対しては、一連の文字領域候補a、b、dからなる1つの群のパスをたどった場合の文字列照合スコア736と、一連の文字領域候補c、dからなる1つの群のパスをたどった場合の文字列照合スコア780とを比較し、文字列照合スコアの高い方のデータ(照合文字位置、照合文字、選択文字、文字照合スコア、文字列照合スコア、文字位置、直前選択ノード)を記憶する。
【0106】
最後に、末尾のノードと対応づけて記憶してある文字列照合スコアが最大のものを探す。図26Cおよび図27A〜27Cの場合は、末尾のノードはdだけなので、ノードdから直前選択ノードを順次たどって、最尤文字列として選択するパスを決定する。図28Dのように、決定したパスc−dを文字切り出しの先頭ノードからつないだものを最尤文字列“幹国”として決定して保持する。
【0107】
このように、各文字切り出し領域候補に対して、正解文字列中のN個の隣接の照合文字と照合することによって、余剰文字および脱字が連続してN−1個以内の場合でも、文字切り出し領域候補と正解文字列と照合が可能となる。
【0108】
最尤文字列決定部247で決定されたそれぞれの正解文字列に対する解答文字列としての最尤文字列とその文字列照合スコアは、文字列類似度算出部248に送られる。文字列類似度算出部248は、前述のようにして、最尤文字列である解答文字列と各正解文字列との間の類似度を算出する。
【0109】
図29は、解答対応正解文字列決定部250によって、最尤文字列(“幹国”)に対する解答対応正解文字列を決定する方法を説明するのに役立つ。
【0110】
図29を参照すると、解答対応正解文字列決定部250は、最尤文字列“幹国”と正解文字列“韓国”および“大韓民国”から基準文字数“2”、“4”を決定し、文字列類似度を算出する。文字列類似度は、例えば次の式で表すことができる。
【0111】
文字列類似度 = 文字列照合スコア+100×(一致した文字数/基準文字数)
ここで、基準文字数 = “正解文字列の文字数”と“最尤文字列の文字数”のいずれか大きい数。
【0112】
解答対応正解文字列決定部250は、正解文字列群の中の最も高い文字列類似度(830)を有する文字列“韓国”を解答対応正解文字列として決定する。同じ最大の文字列類似度を有する複数の解答対応正解文字列が存在する場合は、複数の解答対応正解文字列を決定してもよい。
【0113】
図30は、図25の学習支援システム200による不正解の場合の解答文字列の正誤判定結果の例を示している。この場合、解答枠内に手書文字が表示される。その他の表示形態は、図4Aまたは4Bの場合と同様である。図25の学習支援システム200に、図5、12の学習支援システム200の構成と同様の追加構成要素を付加することによって、解答枠内に活字体ではなく手書き文字が表示されること以外は、図7、9、11、14、16、18、20、22および24の場合と同様の処理によって同様の表示を行うことができる。
【0114】
図31Aおよび31Bは、図2の学習支援システム200によって実行される正解/不正解を判定するための処理のフローチャートを示している。
【0115】
図31Aを参照すると、ステップ502において、解答文字列読出し部242は、正誤判定指示部212からの正解/不正解判定の指示(命令)に従って、解答文字列群記憶部252から解答枠内の解答文字列データを取り出して文字列類似度算出部248に供給する。ステップ504において、文字列類似度算出部248は、解答となり得る1つ以上の正解文字列の正解文字列の識別番号または順序番号iの値を初期値i=1に、また最大類似度Sを初期値S=0に設定する。ステップ508において、文字列類似度算出部248は、番号iは正解文字列の数Nより大きいかどうか(i>N)、即ち識別番号i(第i番)の正解文字列が存在しないかどうかを判定する。番号iが正解文字列の数より大きい、即ち第i番の正解文字列が存在しないと判定された場合は、手順は図31Bのステップ532に進む。
【0116】
ステップ508において番号iが正解文字列の数Nより大きくない、即ち第i番の正解文字列が存在すると判定された場合は、文字列類似度算出部248は、ステップ510において、第i番の正解文字列CSiと解答文字列の間の文字列類似度Siを算出する。
【0117】
ステップ512において、文字列類似度算出部248は、番号iの正解文字列の文字列類似度Siが現在の最大類似度Sより大きいかどうかを判定する。文字列類似度Siが最大類似度Sより大きいと判定された場合は、文字列類似度算出部248は、ステップ514において最大類似度Sに文字列類似度Siを設定する。ステップ516において、文字列類似度算出部248は、解答対応正解文字列として第i番の正解文字列CSiを選択して自己の作業領域に一時記憶する。その際、1つ以上の前の解答正解文字列が存在する場合には、文字列類似度算出部248はそれを削除する。ステップ518において、文字列類似度算部248は、正解文字列の番号iを次の番号i=i+1と設定する。その後、手順はステップ508に戻る。
【0118】
ステップ512において文字列類似度Siが現在の最大類似度Sより大きくないと判定された場合は、文字列類似度算出部248は、ステップ524において、番号iの正解文字列の文字列類似度Siが最大類似度Sと等しいかどうかを判定する。文字列類似度Siが最大類似度Sと等しいと判定された場合は、ステップ526において、文字列類似度算出部248は、解答対応正解文字列として第i番の正解文字列CSiを選択して自己の作業領域に追加して一時記憶する。その後、手順はステップ518に進む。
【0119】
代替構成として、ステップ512において文字列類似度Siが最大類似度Sより大きくないと判定された場合は、ステップ524および526を実行することなく、手順はステップ518に進むようにしてもよい。この場合、同じ最大類似度を有する最初の1つの正解文字列だけが解答対応正解文字列として選択される。
【0120】
ステップ524において文字列類似度Siが最大類似度Sと等しくないと判定された場合は、手順はステップ518に進む。
【0121】
図31Bを参照すると、図31Aのステップ508において番号iが正解文字列の数Nより大きい、即ち第i番の正解文字列が存在しないと判定された場合は、文字列類似度算出部248は、ステップ532において、解答対応正解文字列CSiおよび最大類似度Sを解答対応正解文字列決定部250に供給し、解答対応正解文字列決定部250は解答対応正解文字列CSiの値を正誤判定部254に供給する。
【0122】
ステップ534において、解答対応正解文字列決定部250は、解答対応正解文字列の一時記憶領域に正解文字列CSiが格納されているかどうか、または最大類似度SがS>0かどうかを判定する。解答対応正解文字列に正解文字列CSiが格納されていると判定された場合、または最大類似度がS>0と判定された場合は、解答対応正解文字列決定部250は、ステップ536において、解答非対応文字列用の一時記憶領域に解答対応正解文字列以外の正解文字列を格納し、正解文字列表示部216にその解答非対応正解文字列を供給する。ステップ540において、正解文字列表示部216は、解答対応正解文字列と解答非対応正解文字列を区別して表示する(図4A参照)。代替構成として、手順は、ステップ536を実行せずにステップ540に進んでもよい(図4B参照)。この場合、ステップ540において、正解文字列表示部216は解答対応正解文字列だけを表示する。
【0123】
ステップ534において解答対応正解文字列に正解文字列CSiが格納されていないと判定された場合は、解答対応正解文字列決定部250は、ステップ538において、解答非対応正解文字列用の一時記憶領域に全ての正解文字列CS1〜CSNを格納し、正解文字列表示部216にその解答非対応正解文字列を供給する。
【0124】
また、ステップ512において文字列類似度Siが最大類似度Sより大きくないと判定された場合に、ステップ524および526を実行することなく、手順がステップ410に進むようにして、同じ最大類似度を有する最初の1つの正解文字列だけが解答対応正解文字列として選択されるようにした場合は、解答対応正解文字列決定部250は、ステップ536において、解答対応正解文字列用の一時記憶領域に正解文字列群の最大類似度Sを有する最初の正解文字列だけを格納し、正解文字列表示部216にその解答対応正解文字列だけを供給することとなる。その後、手順はステップ540に進む。
【0125】
ステップ542において、正誤判定部254は、解答文字列と解答対応正解文字列が一致したかどうかを判定する。解答文字列と解答対応正解文字列が一致したと判定された場合は、ステップ544において、正誤判定結果表示部218は、表示装置112における解答枠に正解判定結果として正解の表示(例えば“○”)を行う。その後、手順は図31Aおよび32Bのルーチンを出る。
【0126】
ステップ542において解答文字列と解答対応正解文字列が一致しないと判定された場合は、正誤判定結果表示部218は、ステップ546において、表示装置112における解答枠に正誤判定結果として不正解の表示(例えば“×”)を行う。その後、手順は図31Aおよび32Bのルーチンを出る。
【0127】
ステップ546において、図5の誤り文字位置抽出部256は、決定された解答対応正解文字列と解答文字列を比較して、決定された解答対応正解文字列における誤り文字位置を抽出する。正解文字列表示部216は、解答対応正解文字列における誤り文字位置(異字、余剰字、脱字)に対応する文字または文字位置をハイライト表示またはアンダーライン表示する。また、図12の解答文字列変更部259は、解答文字列における誤り文字位置の文字(異字、余剰字、脱字)をハイライト表示(図14、16、18)またはアンダーライン表示する(図16)。
【0128】
図32A〜32Cは、図31Bのステップ546において、図5の学習支援システム200(誤り文字位置抽出部256)によって実行される、解答対応正解文字列CSiにおける誤り文字位置を抽出するための処理のフローチャートを示している。
【0129】
誤り文字位置抽出部256は、ステップ602において、解答対応正解文字列決定部250から受け取って一時記憶領域に格納した解答文字列を読み出し、ステップ604において、解答対応正解文字列決定部250から受け取って一時記憶領域に格納した解答対応正解文字列を読み出す。誤り文字位置抽出部256は、ステップ606において、解答対応正解文字列の中の文字の位置番号mを初期値m=1に、解答文字列の中の文字の位置番号nを初期値n=1に、正解文字列の照合開始文字位置番号xを初期値x=1に設定する。
【0130】
ステップ608において、誤り文字位置抽出部256は、解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいかどうか、即ち解答対応正解文字列中の全ての文字について誤り文字の抽出が終了したかどうかを判定する。位置番号mが解答対応文字列の長さより大きいと判定された場合は、手順は図32Cのステップ640に進む。
【0131】
ステップ608において位置番号mが解答対応正解文字列の長さMより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ612において、正解文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きいかどうか、即ち解答文字列中の全ての文字について比較が終了したかどうかを判定する。正解文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きいと判定された場合は、手順はステップ632に進む。
【0132】
ステップ612において正解文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ616において、解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいかどうか、即ち解答文字列中の全ての文字について誤り文字の比較または抽出が終了したかどうかを判定する。解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいと判定された場合は、手順はステップ634に進む。ステップ616において解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きくないと判定された場合は、手順は図32Bのステップ620に進む。
【0133】
図32Bを参照すると、ステップ620において、誤り文字位置抽出部256は、解答対応正解文字列の第m番の文字と解答文字列の第n番の文字が一致するかどうかを判定する。解答対応正解文字列の第m番の文字と解答文字列の第n番の文字が一致すると判定された場合は、ステップ624において、誤り文字位置抽出部256は、正解文字列の照合開始文字位置番号を1だけ増分してx=n+1と設定し、解答対応正解文字列の第m番の文字と一致する解答文字列の文字の位置番号A[m]=nを一時記憶領域に格納する。ステップ626において、誤り文字位置抽出部256は、解答対応正解文字列の文字の位置番号を1増分してm=m+1と設定し、解答文字列の文字の位置番号nを正解文字列の照合開始文字位置番号に設定し、即ちn=xと設定する。その後、手順はステップ608に戻る。
【0134】
ステップ612において解答文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きいと判定された場合、解答対応正解文字列の第m番の文字に対応する解答文字列中の文字がないので、誤り文字位置抽出部256は、ステップ632において、解答文字列中に余剰字があることを表すために、解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号としてA[m]=−1を設定して格納し、解答対応正解文字列の文字の位置番号を1増分してm=m+1と設定する。その後、手順はステップ608に戻る。
【0135】
ステップ616において解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいと判定された場合、解答対応正解文字列の第m番の文字に照合すべき解答文字列中の文字がないので、誤り文字位置抽出部256は、ステップ634において、解答文字列中に異字または脱字があることを表すために、解答対応正解文字列の第m番の文字に対する解答文字列の文字の位置番号としてA[m]=0を設定して格納し、解答対応正解文字列の文字の位置番号を1増分してm=m+1と設定し、解答文字列の文字の位置番号nを解答文字列の照合開始文字位置番号に設定し、即ちn=xと設定する。その後、手順はステップ608に戻る。
【0136】
ステップ620において解答対応正解文字列の第m番の文字と解答文字列の第n番の文字が一致しないと判定された場合は、誤り文字位置抽出部256は、ステップ636において、解答文字列の中の文字の位置番号を1増分してn=n+1と設定する。その後、手順はステップ616に戻る。
【0137】
図32Cを参照すると、ステップ608において解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さMより大きいと判定された場合は、誤り文字位置抽出部256は、ステップ640において、解答対応正解文字列の文字位置番号mを解答対応正解文字列の長さMに設定してm=Mとし、解答対応正解文字列の文字位置番号mとそれと照合すべき解答文字列の文字位置番号とのずれdを初期値d=0と設定する。
【0138】
ステップ642において、誤り文字位置抽出部256は、解答対応正解文字列の文字位置番号mが0か即ちm=0かどうかを判定する。m=0でないと判定された場合は、ステップ646において、誤り文字位置抽出部256は、格納されている解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が−1であるかどうかを判定する。
【0139】
ステップ646において解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が−1であると判定された場合は、誤り文字位置抽出部256は、ステップ648において、脱字位置のリストに解答対応正解文字列の文字位置mを追加して格納する。その後、手順はステップ668に進む。
【0140】
ステップ668において、誤り文字位置抽出部256は、解答対応正解文字列の文字位置から1だけ減分してm=m−1とする。その後、手順はステップ642に進む。
【0141】
ステップ646において解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が−1でないと判定された場合は、誤り文字位置抽出部256は、格納されている解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が0であるかどうかを判定する。A[m]が0であると判定された場合は、誤り文字位置抽出部256は、ステップ654において、ずれdが0かどうか、即ちd=0かどうかを判定する。解答対応正解文字列と正解文字列の照合文字位置の間のずれdがない、即ちd=0と判定された場合は、ステップ656において、誤り文字位置抽出部256は、異字位置のリストに正解文字列の文字位置mを追加して格納する。その後、手順はステップ668に進む。
【0142】
ステップ654において解答対応正解文字列と正解文字列の照合文字位置にずれdがある、即ちd≠0と判定された場合は、誤り文字位置抽出部256は、脱字位置のリストに文字位置mを追加して格納し、ずれdを1だけ減分してd=d−1と設定する。その後、手順はステップ668に進む。
【0143】
ステップ650においてA[m]が0でないと判定された場合は、誤り文字位置抽出部256は、ステップ660において、ずれdが解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]と解答対応正解文字列の文字位置番号mの間の差の絶対値(|A[m]−m|)より大きいかどうかを判定する。ずれdが解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]と解答対応正解文字列の文字位置番号mの差の絶対値より大きいと判定された場合は、解答対応正解文字列の第m番の文字に対する解答文字列の文字位置と解答対応正解文字列の照合文字位置番号mのずれdの大きさが、文字位置mより後の位置における照合文字位置のずれの大きさより小さいので、誤り文字位置抽出部256は、ステップ662において、余剰字位置のリストに文字位置mを追加して格納する。
【0144】
ステップ664において、誤り文字位置抽出部256は、ずれdをd=|A[m]−m|に設定する。その後ステップ668に進む。
【0145】
ステップ660においてずれdが解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]と解答対応正解文字列の文字位置mの間の差の絶対値より大きくないと判定された場合は、手順はステップ664に進む。
【0146】
ステップ642においてm=0と判定された場合は、誤り文字位置抽出部256は、ステップ672において、解答対応正解文字列の最後の文字位置Mの文字と照合すべき解答文字列の文字位置A[M]が解答文字列の長さNより小さい(A[M]<N)かどうかを判定する。A[M]がNより小さいと判定された場合は、ステップ674において、誤り文字位置抽出部256は、余剰字位置のリストに最後の文字位置Mを追加する。その後、手順は図32A〜32Cのルーチンを出る。A[M]がNより小さくないと判定された場合は、手順はそのルーチンを出る。
【0147】
このようにして、解答対応正解文字列の各文字位置の文字と照合する正解文字列の文字位置を求め、その結果から、決定した解答対応正解文字列における誤り文字として、異字、脱字および余剰字の文字位置を抽出する。
【0148】
図32Aおよび32Bのステップ608〜636によって、解答対応正解文字列に対する解答文字列の照合文字位置が抽出される。図32Cのステップ640〜664によって、解答対応正解文字列における誤り文字位置が抽出される。
【0149】
図33A〜33Cは、図31Bのステップ546において、図12の学習支援システム200(誤り文字位置抽出部256)によって実行される、解答文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【0150】
図33Aを参照すると、ステップ602〜606は図32Aのものと同様である。
【0151】
ステップ708において、誤り文字位置抽出部256は、解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいかどうか、即ち解答文字列中の全ての文字について誤り文字の抽出が終了したかどうかを判定する。解答文字列の中の文字位置番号nが解答文字列の長さNより大きいと判定された場合は、手順は図33Cのステップ740に進む。
【0152】
ステップ708において解答文字列の中の文字位置番号nが解答文字列の長さNより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ712において、解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きいかどうか、即ち解答対応正解文字列中の全ての文字について比較が終了したかどうかを判定する。解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合は、手順はステップ732に進む。
【0153】
ステップ712において解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ716において、解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいかどうか、即ち解答対応正解文字列中の全ての文字について誤り文字の比較または抽出が終了したかどうかを判定する。解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合は、手順はステップ734に進む。ステップ716において解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きくないと判定された場合は、手順は図33Bのステップ720に進む。
【0154】
図33Bを参照すると、ステップ720において、誤り文字位置抽出部256は、解答文字列の第n番の文字と解答対応正解文字列の第m番の文字が一致するかどうかを判定する。解答文字列の第n番の文字と解答対応正解文字列の第m番の文字が一致すると判定された場合は、ステップ724において、誤り文字位置抽出部256は、解答対応正解文字列の照合開始文字位置番号を1だけ増分してx=m+1と設定し、解答文字列の第n番の文字と一致する解答対応正解文字列の文字の位置番号A[n]=mを一時記憶領域に格納する。ステップ726において、誤り文字位置抽出部256は、解答文字列の文字の位置番号を1増分してn=n+1と設定し、解答対応正解文字列の文字の位置番号mを解答対応正解文字列の照合開始文字位置番号に設定し、即ちm=xと設定する。その後、手順はステップ708に戻る。
【0155】
ステップ712において解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合、解答文字列の第n番の文字に対応する解答対応正解文字列中の文字がないので、誤り文字位置抽出部256は、ステップ732において、解答文字列中に脱字があることを表すために、解答文字列の文字の位置番号nの文字に対する解答対応正解文字列の文字位置としてA[n]=−1を設定して格納し、解答文字列の文字の位置番号を1増分してn=n+1と設定する。その後、手順はステップ708に戻る。
【0156】
ステップ716において解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合、解答対応正解文字列に照合すべき解答文字列の文字がないので、誤り文字位置抽出部256は、ステップ734において、解答文字列中に余剰字があることを表すために、解答文字列の文字の位置番号nの文字に対する解答対応正解文字列の文字位置としてA[n]=0を設定して格納し、解答文字列の文字の位置番号を1増分してn=n+1と設定し、解答対応正解文字列の文字の位置番号mを解答対応正解文字列の照合開始文字位置番号設定し、即ちm=xと設定する。その後、手順はステップ708に戻る。
【0157】
ステップ720において解答文字列の第n番の文字と解答対応正解文字列の第m番の文字が一致しないと判定された場合は、誤り文字位置抽出部256は、ステップ736において、解答対応正解文字列の中の文字の位置番号を1増分してm=m+1と設定する。その後、手順はステップ716に戻る。
【0158】
図33Cを参照すると、ステップ708において解答文字列の中の文字の位置番号nが解答文字列の長さNより大きいと判定された場合は、誤り文字位置抽出部256は、ステップ740において、解答文字列の文字位置番号nを解答文字列の長さに設定し、即ちn=Nと設定し、解答文字列の文字位置番号nとそれと照合すべき解答対応正解文字列の文字位置番号とのずれdを初期値d=0と設定する。
【0159】
ステップ742において、誤り文字位置抽出部256は、解答文字列の文字位置番号nが0か、即ちn=0かどうかを判定する。n=0でないと判定された場合は、ステップ746において、誤り文字位置抽出部256は、格納されている解答文字列の位置番号nの文字に対する解答対応正解文字列の文字位置としてA[n]が−1であるかどうかを判定する。
【0160】
ステップ746においてA[n]が−1であると判定された場合は、誤り文字位置抽出部256は、ステップ748において、余剰字位置のリストに解答文字列の文字位置nを追加して格納する。その後、手順はステップ768に進む。
【0161】
ステップ768において、誤り文字位置抽出部256は、解答文字列の文字位置から1減分してn=n−1とする。その後、手順はステップ742に進む。
【0162】
ステップ746においてA[n]が−1でないと判定された場合は、誤り文字位置抽出部256は、格納されている解答文字列の第n番の文字に対する解答対応正解文字列の文字位置A[n]が0であるかどうかを判定する。A[n]が0であると判定された場合は、誤り文字位置抽出部256は、ステップ754において、ずれdが0かどうか、即ちd=0かどうかを判定する。解答文字列と解答対応正解文字列の照合文字位置の間のずれがない、即ちd=0と判定された場合は、ステップ756において、誤り文字位置抽出部256は、異字位置のリストに解答文字列の文字位置nを追加して格納する。その後、手順はステップ768に進む。
【0163】
ステップ754において解答文字列と解答対応正解文字列の照合文字位置にずれがある、即ちd≠0と判定された場合は、誤り文字位置抽出部256は、余剰字位置のリストに文字位置nを追加し、ずれdをd=d−1と設定する。その後、手順はステップ768に進む。
【0164】
ステップ750においてA[n]が0でないと判定された場合は、誤り文字位置抽出部256は、ステップ760において、ずれdが解答文字列の第n番の文字に対する解答対応正解文字列の一致文字位置番号A[n]と解答文字列の文字位置nの間の差の絶対値(|A[n]−n|)より大きいかどうかを判定する。dがA[n]とnの差の絶対値より大きいと判定された場合は、解答文字列の第n番の文字と一致または照合する解答対応正解文字列の照合文字位置のずれdの大きさが、文字位置nより後の位置における照合文字位置のずれの大きさより小さいので、誤り文字位置抽出部256は、ステップ762において、脱字位置のリストに文字位置nを追加する。ステップ764において、誤り文字位置抽出部256は、ずれdをd=|A[n]−n|に設定する。その後、手順はステップ768に進む。
【0165】
ステップ760においてずれdがA[n]とnの間の差の絶対値より大きくないと判定された場合は、手順はステップ764に進む。
【0166】
ステップ742においてn=0と判定された場合は、誤り文字位置抽出部256は、ステップ772において、解答文字列の最後の文字位置Nと一致または照合する解答対応正解文字列の文字位置A[N]が解答対応正解文字列の長さMより小さい(A[N]<M)かどうかを判定する。A[N]がMより小さいと判定された場合は、ステップ774において、誤り文字位置抽出部256は、脱字位置のリストに最後の文字位置Nを追加する。その後、手順は図33A〜33Cのルーチンを出る。A[N]がMより小さくないと判定された場合は、手順はそのルーチンを出る。
【0167】
このようにして、解答文字列の各文字位置の文字と照合する正解対応正解文字列の文字位置を求め、その結果から、解答文字列における誤り文字として、異字、脱字および余剰字の文字位置を抽出する。
【0168】
図33Aおよび33Bのステップ708〜736によって、解答文字列に対する解答対応正解文字列の照合文字位置が抽出される。図33Cのステップ740〜764によって、解答文字列における誤り文字位置が抽出される。
【0169】
図34A〜34Dは、図23の学習支援システム200によって実行される、正解/不正解を判定し、解答枠に対する解答対応正解文字列の割り付けを決定するための処理のフローチャートを示している。
【0170】
図34Aを参照すると、ステップ502は図31Aのものと同様である。ステップ804において、文字列類似度算出部248は、解答文字枠の識別番号hを初期値h=1、割り付けが確定した解答文字枠の数Aを初期値A=0と設定する。ステップ806において、文字列類似度算出部248は、識別番号hが解答枠の数Bより大きいかどうか(h>B)、即ち識別番号hの解答枠が存在しないかどうかを判定する。識別番号hが解答枠の数Bより大きい、即ち第h番の解答枠が存在しないと判定された場合は、手順は図34Bのステップ832に進む。
【0171】
ステップ806において識別番号hが解答枠の数Bより大きくない、即ち識別番号hの解答枠が存在すると判定された場合は、文字列類似度算出部248は、ステップ808において、正解文字列の識別番号iを初期値i=1、識別番号h番の解答枠の最大文字列類似度S[h]を初期値S[h]=−1、識別番号hの解答枠の最大文字列類似度を有する正解文字列の識別番号AC[h]を初期値AC[h]=0と設定する。
【0172】
ステップ810において、文字列類似度算出部248は、番号iが正解文字列の数Nより大きいかどうか(i>N)、即ち識別番号iの正解文字列が存在しないかどうかを判定する。番号iが正解文字列の数より大きい、即ち第i番の正解文字列が存在しないと判定された場合は、手順はステップ822に進む。
【0173】
ステップ810において番号iが正解文字列の数より大きくない、即ち第i番の正解文字列が存在すると判定された場合は、文字列類似度算出部248は、ステップ812において第h番の解答枠に書かれた解答文字列と第i番の正解文字列CSiとの間の文字列類似度S[h][i]を算出する。
【0174】
ステップ814において、文字列類似度算出部248は、文字列類似度S[h][i]が第h番の解答枠に対する最大文字列類似度S[h]より大きいかどうかを判定する。S[h][i]がS[h]より大きいと判定された場合は、ステップ816において、文字列類似度算出部248は、S[h]の値をS[h]=S[h][i]に更新し、識別番号hの解答枠の最大文字列類似度を有する正解文字列の識別番号AC[h]の値をAC[h]=iに更新し、両者の値(S[h]、AC[h])を解答枠識別番号hに対応づけて一時記憶領域に格納する。ステップ818において、文字列類似度算出部248は、識別番号i=i+1と設定する。
【0175】
ステップ814において、S[h][i]がS[h]より大きくないと判定された場合は、手順はステップ818に進む。その後、手順はステップ810に戻る。
【0176】
ステップ822において、解答対応正解文字列決定部9は、第h番の解答枠に対する最大文字列類似度S[h]が1と等しいかどうかを判定する。S[h]が1と等しくないと判定された場合は、手順はステップ830に進む。S[h]が1と等しいと判定された場合は、ステップ824において、解答対応正解文字列決定部9は、第h番の解答枠の解答対応正解文字列を第i番の正解文字列として設定する。
【0177】
ステップ826において、解答対応正解文字列決定部9は、確定正解文字列の一時記憶領域に識別番号iを追加する。ステップ828において、解答対応正解文字列決定部9は、確定解答枠の一時記憶領域に識別番号hを追加して格納し、割り付けが確定した解答枠の数AをA=A+1と設定する。その後、手順はステップ830に進む。
【0178】
ステップ830において、文字列類似度算出部248は、解答文字枠の識別番号hをh=h+1と設定する。その後、手順はステップ806に進む。
【0179】
図34Bを参照すると、ステップ832において、解答対応正解文字列決定部250は、割り付けが確定した確定解答文字枠の数Aが解答文字枠の数Bと等しい(A=B)かどうかを判定する。AがBと等しくないと判定された場合は、ステップ834において、解答対応正解文字列決定部250は、解答枠の識別番号hを初期値h=1、最大文字列類似度Sを初期値として識別番号hの解答枠における最大類似度S[h]、割り付けが確定した確定解答枠の識別番号kをk=hと設定する。
【0180】
ステップ838において、解答対応正解文字列決定部250は、識別番号hが解答枠の数Bより大きい(h>B)かどうかを判定する。ステップ836においてhがBより大きいと判定された場合は、手順はステップ832に戻る。
【0181】
ステップ836において識別番号hが解答文字枠の数Bより大きくないと判定された場合は、解答対応正解文字列決定部250は、ステップ840において、hが確定解答枠に含まれているかどうかを判定する。hが確定解答枠に含まれていると判定された場合は、手順はステップ836に進む。
【0182】
ステップ836において、解答対応正解文字列決定部250は、解答枠の識別番号hをh=h+1と設定する。その後、手順はステップ838に進む。
【0183】
ステップ840においてhが確定解答枠に含まれていないと判定された場合は、解答対応正解文字列決定部250は、ステップ842において、比較する解答枠の識別番号pを初期値p=h+1と設定し、第AC[h]番の正解文字列を解答対応正解文字列とする解答枠k=hと設定する。
【0184】
図34Cを参照すると、ステップ844において、解答対応正解文字列決定部250は、識別番号pが解答枠の数Bより大きいかどうかを判定する。識別番号pが解答枠の数Bより大きいと判定された場合は、解答対応正解文字列決定部250は、ステップ856において、確定正解文字列の一時記憶領域に識別番号AC[h]を追加して格納する。ステップ858において、解答対応正解文字列決定部250は、確定解答枠の一時記憶領域にkを追加して格納し、確定解答枠の数AをA=A+1と設定する。その後、手順は図35Bのステップ836に戻る。
【0185】
ステップ844において識別番号pが解答枠の数Bより大きくないと判定された場合は、解答対応正解文字列決定部250は、ステップ846において、識別番号pが確定解答枠(の一時記憶領域)の番号に含まれているかどうかを判定する。識別番号pが確定解答枠の番号に含まれていると判定された場合は、手順はステップ882に進む。
【0186】
ステップ882において、識別番号pをp=p+1と設定する。その後手順はステップ844に進む。
【0187】
ステップ846において識別番号pが確定解答枠の番号に含まれてないと判定された場合は、解答対応正解文字列決定部250は、ステップ848において、第h番の解答枠の最大文字列類似度を有する正解文字列の識別番号AC[h]が第p番の解答枠の最大文字列類似度を有する正解文字列の識別番号AC[p]と等しい(AC[h]=AC[p])かどうかを判定する。AC[h]がAC[p]と等しくないと判定された場合は、手順はステップ882に進む。
【0188】
ステップ848においてAC[h]がAC[p]と等しいと判定された場合は、解答対応正解文字列決定部250は、ステップ850において、最大文字列類似度Sが第p番の解答枠に対する最大文字列類似度S[p]より小さいか(S<S[p])どうかを判定する。SがS[p]より小さくないと判定された場合は、手順はステップ882に進む。
【0189】
ステップ580においてSがS[p]より小さいと判定された場合は、解答対応正解文字列決定部250は、ステップ852において、最大文字列類似度S=S[p]、識別番号AC[h]の正解文字列を解答対応正解文字列とする解答枠k = pと設定する。
【0190】
図34Dを参照すると、ステップ862において、解答対応正解文字列決定部250は、正解文字列の識別番号iをi=1、第h番の解答枠の確定正解文字列を除く最大文字列類似度S[h]を初期値S[h]=−1に、第h番の解答枠の確定正解文字列を除く最大文字列類似度を有する正解文字列の識別番号AC[h]を初期値AC[h]=0に設定する。
【0191】
ステップ864において、解答対応正解文字列決定部250は、正解文字列の識別番号iが正解文字列の数Nより大きいかどうかを判定する。正解文字列の識別番号iが正解文字列の数Nより大きいと判定された場合は、手順は図34Aのステップ842に戻る。
【0192】
ステップ864において正解文字列の識別番号iが正解文字列の数Nより大きくないと判定された場合は、解答対応正解文字列決定部250は、ステップ866において、正解文字列の識別番号iが確定正解文字列の(一時記憶領域の)番号に含まれているかどうかを判定する。正解文字列の識別番号iが確定正解文字列に含まれていると判定された場合は、手順はステップ872に進む。
【0193】
ステップ872において、解答対応正解文字列決定部250は、正解文字列の識別番号iをi=i+1と設定する。その後、手順はステップ864に戻る。
【0194】
ステップ866において正解文字列の識別番号iが確定正解文字列に含まれていないと判定された場合は、解答対応正解文字列決定部250は、ステップ868において、第h番の解答枠に入力された解答文字列と第i番の正解文字列との間の文字列類似度S[h][i]がS[h]より大きいかを判定する。文字列類似度S[h][i]がS[h]より大きくないと判定された場合は、手順はステップ872に進む。
【0195】
ステップ868において文字列類似度S[h][i]がS[h]より大きいと判定された場合は、解答対応正解文字列決定部250は、ステップ870において、文字列類似度S[h]=S[h][i]、正解文字列の識別番号AC[h]=iと設定する。その後、手順はステップ872に進む。
【0196】
図34Bを再び参照すると、ステップ832においてAがBと等しいと判定された場合は、全ての解答文字枠に対して解答対応正解文字列の割付けが終了し、手順は図34A〜34Dのルーチンを出る。
【0197】
解答文字枠の数と正解文字列の数が等しい場合について説明したが、正解文字列の数が解答文字枠の数より多い場合でも同様に正解文字列の割付を行うことができる。
【0198】
図35は、図25の学習支援システム200によって実行される正解/不正解を判定するための処理の別のフローチャートの一部を示している。この部分的なフローチャートは、図31Aのステップ502、図32Aのステップ602、および図33Aのステップ602と置き換えられる。
【0199】
図35を参照すると、ステップ1502において、解答文字列読出し部242は、正誤判定指示部212からの正解/不正解判定の指示(命令)に従って、解答文字列記憶部252から解答枠内の筆跡情報を取り出して文字切り出し領域候補生成部244に供給する。ステップ1504において、文字切り出し領域候補生成部244は、筆跡情報を分析して文字切り出し領域候補(文字切り出しの候補領域)を生成し、個々の文字切り出し領域候補にそれぞれの識別情報(a、b、c、...)を付与して文字切り出し領域候補記憶部254に格納し、その文字切り出し領域候補をその識別情報または識別番号とともに個別文字認識部246に供給する。
【0200】
ステップ1506において、個別文字認識部246は、識別情報または識別番号nを初期値n=1と設定する。ステップ1508において、個別文字認識部246は、一連の文字領域候補からなる各群または各パスについて、識別番号n(この場合、最初はn=1)の切り出し領域候補があるかどうかを判定する。第n番(最初はn=1)の切り出し領域候補があると判定された場合は、ステップ1510において、個別文字認識部246は、第n番の切り出し領域候補内の筆跡に対して、既知の形態で文字認識を行い、認識候補文字と認識スコアを生成する。ステップ1512において、個別文字認識部246は、識別番号n=n+1と設定する。その後、手順はステップ1508に戻る。
【0201】
ステップ1508において第n番(最初はn=1)の切り出し領域候補がないと判定された場合は、ステップ1522において、個別文字認識部246は、生成された切り出し領域候補と各領域候補に対する認識候補文字と認識スコアを最尤文字列決定部247に供給する。最尤文字列決定部247は、切り出し領域候補と各切り出し領域候補に対する認識候補文字と認識スコアを、正解文字列記憶部258に格納されている正解文字列と比較照合して、最尤文字列を決定し、その決定された最尤文字列を文字列類似度算出部248に供給する。その後、手順は、図31Aのステップ504、図32Aのステップ604、図33Aのステップ604、または図34Aのステップ602へ進む。
【0202】
図36A〜36Eは、最尤文字列決定部247によって実行される、図35のステップ1522の詳細な別のフローチャートを示している。この場合、最尤文字列の決定のための処理は、脱字および余剰文字の検出を含んでいる。
【0203】
最尤文字列決定部247は、ステップ1602において、ノード番号nに初期値n=1を設定する。ステップ1604において、最尤文字列決定部247は、生成された切り出し領域候補のノード中に第n番のノードが存在するかどうかを判定する。第n番のノードが存在しないと判定された場合は、手順は図36Eのステップ1662に進む。ステップ1604において第n番のノードが存在すると判定された場合は、ステップ1606において、最尤文字列決定部247は、その第n番ノードが先頭の切り出し領域候補かどうかを判定する。
【0204】
ステップ1606においてn番ノードが先頭の切り出し領域候補でないと判定された場合は、最尤文字列決定部247は、ステップ1610において、第n番ノードに直前に接続するリンク番号uを初期値u=1、最大文字列照合スコアmaxSを初期値maxS=0と設定する。
【0205】
ステップ1612において、最尤文字列決定部247はリンク番号uがU以下かどうかを判定する。ここで、Uは、第n番ノードに直前に接続するリンク(ノード)の合計数を表す。リンク番号uがU以下でない(Uより大)と判定された場合は、ステップ1616において、最尤文字列決定部247は、ノード番号n=n+1と設定する。その後、手順はステップ1604に戻る。
【0206】
ステップ1606において第n番ノードが先頭の切り出し領域であると判定された場合は、ステップ1618において、最尤文字列決定部247は、正解文字列における照合文字の位置Xを初期値X=1、最尤文字列における第n番ノードの文字位置Yを初期値Y=1、最大の文字列照合スコアmaxSを初期値maxS=0と設定する。続いて、ステップ1609において、最尤文字列決定部247は、直前選択ノードのノード番号tを“なし”と設定する。その後、手順はステップ1621に進む。
【0207】
ステップ1612においてリンク番号uがU以下であると判定された場合は、ステップ1613において、最尤文字列決定部247は、直前選択ノード番号tを第n番ノードに直前に接続する第u番のノードのノード番号と設定する。続いて、ステップ1621において、最尤文字列決定部247は、正解文字列における照合文字位置XをX=t番ノードの照合文字位置+1と設定し、文字位置YをY=t番ノードの文字位置+1と設定する。その後、手順は図36Bのステップ1636に進む。
【0208】
図36Bを参照すると、ステップ1636において、最尤文字列決定部247は、正解文字列中の照合文字位置Xが正解文字列の長さLを越えるかどうかを判定する。文字位置Xが長さLより大きいと判定された場合は、手順は図36Dのステップ1644へ進む。
【0209】
ステップ1636においてXがLより大きくないと判定された場合は、ステップ1682において、最尤文字列決定部247は、照合文字位置qを初期値q=Xと設定する。ステップ1684において、照合文字位置qがXとaの和(X+a)以上(q≧X+a)かどうかを判定する。ここで、aは所定の数値であり、連続して検出できる脱字および余剰字の数である。一方、qがXとaの和以上であると判定された場合は、ステップ1686において、最尤文字列決定部247はリンク番号u=u+1と設定する。その後、手順は図36Aのステップ1616に戻る。
【0210】
ステップ1684においてqがXとaの和以上でないと判定された場合は、最尤文字列決定部247は、ステップ1685においてqがLより大きいかどうかを判定する。qが正解文字列の長さLより大きいと判定された場合は、手順はステップ1686に進む。一方、qが長さLより大きくないと判定された場合は、手順は図36Cのステップ1687へ進む。
【0211】
図36Cを参照すると、ステップ1687において、最尤文字列決定部247は、正解文字列の第q番の文字がノードにおける文字候補に存在するかどうかを判定する。第q番の文字がノードにおける文字候補に存在しないと判定された場合は、ステップ1645において、最尤文字列決定部247は、文字照合スコアMS=不一致値または最低値、選択文字MJとして最大スコアの候補文字、照合文字位置MI=X−1を設定する。一方、第q番の文字がノードにおける候補に存在すると判定された場合は、ステップ1647において最尤文字列決定部247は、文字スコアMS=ノードにおける照合文字位置qの文字のスコア+加算値(一致値)、選択文字MJとして正解文字列の第q番の文字、照合文字位置MI=qを設定する。その後、手順はステップ1649へ進む。
【0212】
ステップ1649において、最尤文字列決定部247は、文字列照合スコア=(第t番ノードのMRS×(Y−1)+MS)/Yと設定する。ステップ1651において、文字列照合スコアMRSが最大の文字列照合スコアmaxSより大きいかどうかを判定する。文字列照合スコアMRSが最大スコアmaxSより大きくないと判定された場合は、手順はステップ1698進み、その後、図36Bのステップ1684へ戻る。
【0213】
ステップ1651において文字列照合スコアMRSが最大の文字列スコアmaxSより大きいと判定された場合は、ステップ1652において、最尤文字列決定部247は、最大の文字列スコアmaxS=MRSと設定する。ステップ1696において、最尤文字列決定部247は、照合文字位置MI、選択文字MJ、最大の文字列照合スコアmaxS、文字位置Y、直前選択ノードとして第t番ノード、を第n番ノードに関連づけて格納する。その後、手順はステップ1698に進む。
【0214】
図36Dを参照すると、図36Bのステップ1636のYES分岐の後のステップ1644において、最尤文字列決定部247は、文字照合スコアMS=不一致値または最低値、選択文字MJとして最大スコアの候補文字を設定する。
【0215】
ステップ1649において、最尤文字列決定部247は、文字列照合スコア=(第t番ノードのMRS×(Y−1)+MS)/Yと設定する。ステップ1651において、最尤文字列決定部247は、文字列照合スコアMRSが最大の文字列照合スコアmaxSより大きいかどうかを判定する。文字列照合スコアMRSが最大スコアmaxSより大きくないと判定された場合は、手順は図36Aのステップ1612へ戻る。
【0216】
ステップ1651において文字列照合スコアMRSが最大の文字列スコアmaxSより大きいと判定された場合は、ステップ1652において、最尤文字列決定部247は、最大の文字列スコアmaxS=MRSと設定する。ステップ1708において、最尤文字列決定部247は、照合文字位置X、選択文字MJ、最大の文字列照合スコアmaxMRS、文字位置Y、および、直前の選択ノードとして第t番ノード、を第n番ノードに関連づけて格納する。ステップ1712において、最尤文字列決定部247は、u=u+1と設定する。その後、手順は図36Aのステップ1612に戻る。
【0217】
図36Eを参照すると、図36Aのステップ1604のNO分岐の後、ステップ1662において、最尤文字列決定部247は、末尾ノードの順序番号rを初期値r=1、末尾ノードの最大の文字列照合スコアMAXを初期値MAX=0と設定する。
【0218】
ステップ1664において、最尤文字列決定部247は、文字切り出し領域の末尾ノードとしての第r番のノードが存在するかどうかを判定する。それが存在しないと判定された場合は、ステップ1676において、最尤文字列決定部247は、決定された末尾ノードLastから先行ノードへと辿って選択文字をつないで最尤文字列を決定する。
【0219】
ステップ1664において末尾ノードとしての第r番のノードが存在すると判定された場合は、ステップ1666において、最尤文字列決定部247は、末尾ノードとしての第r番のノード番号をCと設定する。ステップ1668において、最尤文字列決定部247は、第C番ノードの文字列照合スコアMRSが最大の文字列照合スコアMAXより小さいかどうかを判定する。MRSがMAXより小さくないと判定された場合は、ステップ1672において、最尤文字列決定部247は、r=r+1と設定する。その後、手順はステップ1664に戻る。一方、MRSがMAXより小さいと判定された場合は、ステップ1670において、最尤文字列決定部247は、MAX=MRS、Last=Cと設定する。その後、手順はステップ1672に進む。
【0220】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【0221】
この明細書および図面に開示された学習支援システムは、解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、1つの解答枠に対して入力された1つの解答文字列を解答文字列記憶領域に格納する解答文字列管理手段と、解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、読み出した解答文字列と正解文字列群記憶領域における上述の1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、複数の解答文字列の中から解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、解答文字列と対応正解文字列を照合して、解答文字列の正誤判定を行う正誤判定手段と、を含む。このような構成によれば、解答文字列に対応する正解文字列を選択して解答対応正解文字列として決定するという働きにより、正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【0222】
また、この明細書および図面に開示された学習支援システムは、上述の構成に加え、1つの解答枠に対するユーザによる解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、ユーザによって入力された解答文字列を上述の1つの解答枠に表示する解答文字列表示手段と、解答対応正解文字列決定手段によって決定された解答対応正解文字列を解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含む。このような構成によれば、解答対応正解文字列を解答対応政界文字列以外の正解文字列と異なる形態で表示するという働きにより、入力された解答に対応した正解文字列が一目で分かるように表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が瞬時に把握しやすくなるという効果が期待される。
【0223】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、複数の解答文字列の中から前記解答文字列に対応する等しい類似度を有する互いに等しい1つ以上の解答対応正解文字列の数が複数であった場合に、対応正解文字列決定手段は、当該1つ以上の正解文字列の中の1つだけを解答対応正解文字列として決定する。このような構成によれば、等しい類似度を有する互いに等しい1つ以上の解答対応正解文字列の中の1つだけを解答対応正解文字列として決定するという働きにより、1つの解答枠にして常に1つの解答対応正解文字列を表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が分かりやすく表示できるという効果が期待される。
【0224】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、解答対応正解文字列と解答文字列とを比較して、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を抽出する誤り文字位置抽出手段を含み、正解文字列表示手段は、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置に基づいて、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を表示する。このような構成によれば、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を表示するという働きにより、解答文字列の一部が間違いである場合にその間違い箇所を示すことが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列の中での間違い箇所が把握しやすくなるという効果が期待される。
【0225】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、誤り文字位置抽出手段は、さらに、解答文字列における前記解答対応正解文字列に対する異字、脱字または余剰字の位置を抽出し、解答文字列表示手段は、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置に基づいて、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置を表示する。このような構成によれば、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置を表示するという働きにより、解答文字列の一部が間違いである場合にその間違い箇所を示すことが可能となり、学習者にとって学習者が入力した解答文字列の中での間違い箇所が把握しやすくなるという効果が期待される。
【0226】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、1つの解答枠は、複数の正解文字列に対応し得る複数の解答枠の1つであり、文字列類似度算出手段は、複数の解答枠の各々における解答文字列と複数の正解文字列の各々との間の文字列類似度を算出し、解答対応正解文字列決定手段は、複数の解答枠の各々における解答文字列と複数の正解文字列の各々との間の文字列類似度に基づいて、複数の解答枠に対して複数の正解文字列の中の正解文字列を排他的に選択して割り付けて解答対応正解文字列として決定する。このような構成によれば、複数の解答枠に対して複数の正解文字列の中の正解文字列を排他的に選択して割り付けて解答対応正解文字列として決定するという働きにより、順不同の複数の正解文字列を持つ場合に正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、順不動の複数の正解文字列をもつ場合に学習者にとって学習者が入力した解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【0227】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、記憶手段は、複数の解答枠に対する解答対応正解文字列を表示するための表示位置の情報を格納する表示位置情報記憶領域を含み、さらに、複数の解答枠に対する表示位置の情報を取得する正解文字列表示位置取得手段を含み、解答対応正解文字列表示手段は、複数の解答枠に対する表示位置に、前記割り付けられた正解文字列の中の対応する正解文字列を表示する。このような構成によれば、複数の解答枠に対する表示位置に割り付けられた割付正解文字列の中の対応する正解文字列を表示するという働きにより、順不同の複数の正解文字列をもつ場合に複数の解答枠のそれぞれに対する表示位置に解答対応正解文字列を表示することが可能となり、順不動の複数の正解文字列を持つ場合に学習者にとって学習者が入力した解答に対応する正解文字列が分かりやすく表示できるという効果が期待される。
【0228】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、解答文字列管理手段は、さらに、1つの解答枠に対して入力された筆跡情報を解答文字列記憶領域に格納し、解答文字列読出し手段は、さらに、解答文字列記憶領域から筆跡情報を読み出し、さらに、読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、複数の領域候補の中の可能な組み合わせの各領域候補に対する複数の候補文字を、正解文字列群記憶領域における正解文字列における文字と照合して、最尤文字列を決定して解答文字列として文字列類似度算出手段に供給する最尤文字列決定手段と、を含む。このような構成によれば、解答文字列が手書きで入力された場合にも正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、手書きで解答することによる学習効果に加えて、学習者にとって学習者が入力した手書き解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【0229】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) 解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、
を含むことを特徴とする学習支援システム。
(付記2) さらに、前記1つの解答枠に対するユーザによる前記解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、前記ユーザによって入力された前記解答文字列を前記1つの解答枠に表示する解答文字列表示手段と、前記解答対応正解文字列決定手段によって決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、前記正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含むことを特徴とする、付記1に記載の学習支援システム。
(付記3) 前記複数の解答文字列の中から前記解答文字列に対応する等しい類似度を有する互いに等しい前記1つ以上の正解対応正解文字列の数が複数であった場合に、解答対応正解文字列決定手段は、前記1つ以上の正解文字列の中の1つだけを前記解答対応正解文字列として決定することを特徴とする、付記1または2に記載の学習支援システム。
(付記4) さらに、前記解答対応正解文字列と前記解答文字列とを比較して、前記解答対応正解文字列における前記解答文字列に対する異字、脱字または余剰字の位置を抽出する誤り文字位置抽出手段を含み、
前記正解文字列表示手段は、前記解答対応正解文字列における前記解答文字列に対する前記異字、脱字または余剰字の位置に基づいて、前記解答対応正解文字列における前記解答文字列に対する前記異字、脱字または余剰字の位置を表示するものであることを特徴とする、付記1乃至3のいずれかに記載の学習支援システム。
(付記5) 前記誤り文字位置抽出手段は、さらに、前記解答文字列における前記解答対応正解文字列に対する異字、脱字または余剰字の位置を抽出し、
前記解答文字列表示手段は、前記解答文字列における前記対応正解解答文字列に対する前記異字、脱字または余剰字の位置に基づいて、前記解答文字列における前記解答対応正解文字列に対する前記異字、脱字または余剰字の位置を表示するものであることを特徴とする、付記4のいずれかに記載の学習支援システム。
(付記6) 前記1つの解答枠は、前記複数の正解文字列に対応し得る複数の解答枠の1つであり、
前記文字列類似度算出手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の文字列類似度を算出し、
前記解答対応正解文字列決定手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の前記文字列類似度に基づいて、前記複数の解答枠に対して前記複数の正解文字列の中の前記正解文字列を排他的に選択して割り付けて前記解答対応正解文字列として決定するものであることを特徴とする、付記1乃至5のいずれかに記載の学習支援システム。
(付記7) 前記記憶手段は、前記複数の解答枠に対する解答対応正解文字列を表示するための表示位置の情報を格納する表示位置情報記憶領域を含み、
さらに、前記複数の解答枠に対する前記表示位置の情報を取得する正解文字列表示位置取得手段を含み、
前記解答対応正解文字列表示手段は、前記複数の解答枠に対する前記表示位置に、前記割り付けられた正解文字列の中の対応する正解文字列を表示するものであることを特徴とする、付記6に記載の学習支援システム。
(付記8) 前記記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、
前記解答文字列管理手段は、さらに、前記1つの解答枠に対して入力された筆跡情報を前記解答文字列記憶領域に格納し、
前記解答文字列読出し手段は、さらに、前記解答文字列記憶領域から筆跡情報を読み出し、
さらに、前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列群記憶領域における正解文字列における文字と照合して、最尤文字列を決定して前記解答文字列として前記文字列類似度算出手段に供給する最尤文字列決定手段と、
を含むことを特徴とする、付記1乃至7のいずれかに記載の学習支援システム。
(付記9) 解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
前記情報処理装置に
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納するステップと、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出すステップと、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出するステップと、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定するステップと、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行うステップと、
を実行させるよう動作可能なプログラム。
(付記10) 解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する工程と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出す工程と、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する工程と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する工程と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う工程と、
を含む、学習支援方法。
【図面の簡単な説明】
【0230】
【図1】図1は、本発明の実施形態に用いることができる情報処理装置および学習支援サーバを示している。
【図2】図2は、図1の情報処理装置および/または学習支援サーバによって実現される学習支援システムの構成を示している。
【図3】図3は、ユーザによって入力され解答文字列読出し部によって読み出された解答文字列、その解答に対応する正解文字列、解答文字列と正解文字列の間の一致文字数、および解答文字列と正解文字列の間の算出された類似度の例を示している。
【図4】図4Aおよび4Bは、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、大きい四角の解答枠における解答文字列、その解答文字列に対する解答枠における判定結果、および解答枠の上の位置における解答対応正解文字列の例を示している。
【図5】図5は、図1の情報処理装置および/または学習支援サーバによって実現される学習支援システムの別の構成を示している。
【図6】図6Aおよび6Bは、図5の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における解答文字列における誤り文字位置と誤り文字の種類を示している。
【図7】図7は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果および解答対応正解文字列の例を示している。
【図8】図8Aは、ユーザによって入力され解答文字列読出し部によって読み出された別の解答文字列、それに対応する正解文字列、一致文字数、および算出された類似度の例を示している。図8Bおよび8Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置の例を示している。図8Dは、解答対応正解文字列における誤り文字位置とその誤りの種類の例を示している。
【図9】図9は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果と解答対応正解文字列の例を示している。
【図10】図10Aは、ユーザによって入力され解答文字列読出し部によって読み出されたさらに別の解答文字列、それに対応する正解文字列、一致文字数、および算出された類似度の例を示している。図10Bおよび10Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置を示している。図10Dは、解答対応正解文字列における誤り文字位置と誤りの種類の例を示している。
【図11】図11は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図12】図12は、図1の情報処理装置および/または学習支援サーバによって実現される学習支援システムのさらに別の構成を示している。
【図13】図13Aおよび13Bは、図12の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における誤り文字位置と、解答文字列における誤り文字位置と、誤り文字の誤りの種類を示している。
【図14】図14は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図15】図15A〜15Cは、図12の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における誤り文字位置と、解答文字列における誤り文字位置の誤りの種類の例を示している。
【図16】図16は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図17A】図17A〜17Cは、図12の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答文字列における誤り文字位置と、解答文字列のおける誤り文字の誤りの種類の例を示している。
【図17B】(図17Aで説明)
【図17C】(図17Aで説明)
【図18】図18は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図19】図19Aは、ユーザによって入力され解答文字列読出し部によって読み出された3つの解答文字列、対応する3つの正解文字列、および算出された類似度の例を示している。図19Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、各解答文字列に対する解答対応正解文字列の割り付けまたは対応付けの例を示している。
【図20】図20は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列例を示している。
【図21】図21Aは、ユーザによって入力され解答文字列読出し部によって読み出された2つの解答文字列、可能な4つの正解文字列、および算出された類似度の例を示している。図21Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、解答文字列に対する解答対応正解文字列の割り付けまたは対応付けを示している。
【図22】図22は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図23】図23Aは、表示装置112に表示された3つの解答枠識別番号、および正解文字列表示位置取得部によって取得された解答文字列対応正解文字列の表示位置(座標)を示している。図23Bは、図19Aの文字列類似度に基づいて、解答対応文字列決定部250によって割り付けられた解答対応正解文字列を示している。
【図24】図24は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果と、解答対応正解文字列の例を示している。
【図25】図25は、図1の情報処理装置および/または学習支援サーバによって実現されるさらに別の学習支援システムの構成を示している。
【図26】図26Aは、ユーザによって入力され筆跡情報読出し部によって取り込まれた手書きの解答文字列の筆跡の例を示している。図26Bは、図26Aの筆跡座標データに対して、文字切り出し領域候補生成部によって生成された文字切り出し候補の例を示している。図26Cは、個別文字認識部による、図26Bに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【図27】図27A〜27Dは、最尤文字列決定部により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の1つに対する図26Bの文字切り出し候補の最尤文字列を決定する手順の例を示している。
【図28】図28A〜28Dは、最尤文字列決定部により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の別の1つに対する図26Bの文字切り出し候補の最尤文字列を決定する手順の例を示している。
【図29】図29は、解答対応正解文字列決定部によって、最尤文字列に対する解答対応正解文字列を決定する方法を説明するのに役立つ。
【図30】図30は、図25の学習支援システムによる不正解の場合の解答文字列の正誤判定結果の例を示している。
【図31A】図31Aおよび31Bは、図2の学習支援システムによって実行される正解/不正解を判定するための処理のフローチャートを示している。
【図31B】(図31Aで説明)
【図32A】図32A〜32Cは、図31Bのステップにおいて、図5の学習支援システムによって実行される、解答対応正解文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【図32B】(図32Aで説明)
【図32C】(図32Aで説明)
【図33A】図33A〜33Cは、図31Bのステップ546において、図12の学習支援システムによって実行される、解答文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【図33B】(図33Aで説明)
【図33C】(図33Aで説明)
【図34A】図34A〜34Dは、図23の学習支援システムによって実行される、正解/不正解を判定し、解答枠に対する解答対応正解文字列の割り付けを決定するための処理のフローチャートを示している。
【図34B】(図34Aで説明)
【図34C】(図34Aで説明)
【図34D】(図34Aで説明)
【図35】図35は、図25の学習支援システムによって実行される正解/不正解を判定するための処理の別のフローチャートの一部を示している。
【図36A】図36A〜36Eは、最尤文字列決定部によって実行される、図35のステップの詳細な別のフローチャートを示している。
【図36B】(図36Aで説明)
【図36C】(図36Aで説明)
【図36D】(図36Aで説明)
【図36E】(図36Aで説明)
【符号の説明】
【0231】
200 学習支援システム
222 解答文字列管理部
242 解答文字列読出し部
248 文字列類似度算出部
250 解答対応正解文字列決定部
254 正誤判定部
258 正解文字列群記憶部
【技術分野】
【0001】
本発明は、学習支援システムに関し、特に、解答として入力された文字列を識別してその解答を採点する学習支援システムに関する。
【背景技術】
【0002】
特開平7−199794号公報(特許文献1)には、画像処理装置が記載されている。その画像処理装置において、答案用紙の画像を画像読取手段によって読み取り、その画像情報を画像記憶手段に記憶する。その画像情報から問題認識手段が出題された問題を認識し、解答認識手段がその問題に対する解答の文字、記号又はマークを認識する。その認識した解答と正解・配点情報保持手段が保持する認識した問題に対する正解とを採点手段によって各問題毎に比較して各解答の正否を判断し点数を算出する。その採点結果を、採点結果出力手段が画像出力手段によって画像記憶手段に記憶した答案用紙の画像と共に記録紙に画像形成して出力させる。それによって、デジタル複写機を利用して、答案用紙の自動採点を簡単にでき、その採点結果の確認も容易になる。
【特許文献1】特開平7−199794号公報
【0003】
特開2001−282090号公報(特許文献2)には、学習用プログラムが記載されている。その学習用プログラムは、問題文をウインドに提示し、演習問題の解答の入力を求める前に、解答を見つけるために学習者が理解すべき複数の必須事項の理解を検証する複数の質問をウインドに所定の思考過程に即して順次提示する。いずれかの質問に対する解答が不正解のときには、正解を提示したうえで、次の質問を提示する。質問への解答が正解のときには、対応する途中点を与える。全質問への解答の終了後に演習問題への解答を受け付ける。途中点と演習問題の解答に対する得点から学習者の問題得点を決める。上記複数の質問には、問題文に実質的に表された複数の必須事項に関する質問と、問題文に表されていない複数の必須事項に関する質問とが含まれる。それによって、演習問題の解答を見つける思考過程の習得を支援する。
【特許文献2】特開2001−282090号公報
【0004】
特開2004−29649号公報(特許文献3)には、学習装置が記載されている。その学習装置は、この学習装置の制御を行うデータ制御部を備えている。このデータ制御部においては、表示部に表示された問題に対して受講者により入力部を介して入力された解答とデータ記憶部に記憶されている問題の正解とを照合することにより採点を行う。そして、問題に対する解答が正しい場合には、表示部に正解を表示し、問題に対する解答が誤っている場合には表示部にデータ記憶部に記憶されている解説を表示する。それによって、パソコン等を利用した学習形態において、学習内容の理解を向上させると共に、効率的な学習を行うことができる学習装置を提供する。
【特許文献3】特開2004−29649号公報
【0005】
特開2006−308925号公報(特許文献4)には、学習支援システムが記載されている。その学習支援システムは、問題データベースから読み出した問題を画面に表示する問題表示部と解答入力部とを備えている。その学習支援システムにおいて、解答入力部より入力された解答と問題データベースの正解とを照合して解答判定を行う解答判定部と、解答判定部による解答判定結果を、判定対象となった解答に対応させて表示する解答判定結果表示部と、解答判定結果を問題に対応付けて保存する解答判定結果メモリとを備え、問題表示部が、以前の解答時の解答判定結果が存在する問題については、以前の解答時の解答判定結果に応じた態様(例えば解答枠の色分け)で問題を表示する。それによって、同じ問題を2回目以降に表示する際に、以前の正誤状況がわかるような態様で問題が表示される。
【特許文献4】特開2006−308925号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特開2004−29649号公報のシステムでは、入力された解答の正誤を判定し、さらに問題と対になって記憶されている正解を表示する。しかし、発明者は、1つの解答枠に適合し得る複数の可能な正解文字列の群(グループ)が存在する場合、入力された解答文字列と正解文字列とを照合してその正誤判定を行い、問題と対になって記憶されている複数の正解文字列を単純に羅列して表示すると、学習者にとって学習者が入力した解答に対応する正解文字列を把握しにくい、と認識した。
【0007】
発明者は、解答文字列の一部が間違であることを表示する場合には、表示した正解文字列における誤り文字に対応する部分を表示することが有効である、と認識した。発明者は、複数の正解文字列の中から学習者が入力した解答に対応する正解文字列を特定することによってその正解文字列における誤り箇所を表示できる、と認識した。
【0008】
発明者は、1つの解答枠に複数の可能な解答がある問題に対して、入力された解答文字列と正解文字列群を照合して正誤判定を行った結果を表示し、その際、正誤判定結果に加えて、入力された解答文字列に対応する正解文字列が把握できるように表示し、また解答文字列に対応する正解文字列における誤り文字に対応する部分を表示すれば、高い学習効果が得られる、と認識した。
【0009】
本発明の目的は、学習支援システムにおいて入力された解答に対応する正解を選択して表示できるようにすることである。
【0010】
本発明の別の目的は、学習支援システムにおいて入力された解答に対応する正解における誤り対応部分を表示できるようにすることである。
【課題を解決するための手段】
【0011】
本発明の特徴によれば、学習支援システムは、解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、を含んでいる。
【0012】
本発明は、さらに、前述の学習支援システムを実現するためのプログラムおよび方法に関する。
【発明の効果】
【0013】
本発明によれば、学習支援システムにおいて、入力された解答に対応する正解を選択して表示でき、入力された解答に対応する正解における誤り対応部分を表示できる。
【発明を実施するための最良の形態】
【0014】
本発明の実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【0015】
図1は、本発明の実施形態に用いることができる情報処理装置10および学習支援サーバ20を示している。情報処理装置10は、プロセッサ(CPU)12、各種のデータベースを含む記憶装置14、表示装置(ディスプレイ)112、ペン入力可能なタブレット114、キーボード(KY)およびポインティング・デバイスを含む入力装置116、およびネットワーク・インタフェース(N/W IF)18を具えている。情報処理装置10は、プロセッサ12によって実行される学習支援機能16を有する。
【0016】
情報処理装置10は、単独で、即ちスタンドアローン型の装置として、学習支援サービスをユーザに提供してもよい。プロセッサ12は、学習支援機能16等の諸機能を実現するための記憶装置14に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ12上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置10は、タブレットPCであってもよい。
【0017】
代替構成として、情報処理装置10は、学習支援機能26を有する学習支援サーバ20にネットワーク5を介して接続されてもよい。この場合、情報処理装置10は、端末として機能して、学習支援サーバ20と協働して学習支援サービスをユーザに提供する。学習支援サーバ20は、プロセッサ(CPU)22、データベースを含む記憶装置24、およびネットワーク・インタフェース(N/W IF)28を具えている。
【0018】
学習支援サーバ20は、プロセッサ22によって実行される学習支援機能26を有する。プロセッサ22は、学習支援機能26等の諸機能を実現するための記憶装置24に格納されたプログラムに従って動作してもよい。その諸機能の少なくとも一部は、プロセッサ22上に集積回路のようなハードウェアの形で実装されていてもよい。情報処理装置10の端末としての学習支援機能16は、前述のようにハードウェアまたはソフトウェアの形態でプロセッサ12上で実装される。
【0019】
図2は、図1の情報処理装置10および/または学習支援サーバ20によって実現される学習支援システム200の構成を示している。
【0020】
学習支援システム200は、情報処理装置10に設けられた、入力処理部として、解答入力部210および正誤判定指示部212を含み、表示処理部として、解答文字列表示部214、正解文字列表示部216および正誤判定表示部218を含んでいる。
【0021】
学習支援システム200は、さらに、情報処理装置10に設けられた情報処理部として、解答文字列管理部222、解答文字列読出し部242、文字列類似度算出部248、解答対応正解文字列決定部250、および正誤判定部254を含んでいる。学習支援システム200は、さらに、記憶装置14中の領域として、解答文字列記憶部252および正解文字列群記憶部258を含んでいる。
【0022】
代替構成として、情報処理装置10を端末として用いて主に学習支援サーバ20によって学習支援サービスを提供する場合、学習支援システム200は、学習支援サーバ20に設けられた情報処理部として、解答文字列管理部222、解答文字列読出し部242、文字列類似度算出部248、解答対応文字列決定部250、および正誤判定部254を含んでいる。学習支援システム200は、さらに、学習支援サーバ20に設けられた記憶装置24中の領域として、解答文字列記憶部252および正解文字列群記憶部258を含んでいる。
【0023】
図1において、ユーザは、入力装置116のキーまたはマウス等を用いて表示装置112においてカーソルを解答枠内または解答欄に配置し、入力装置116を用いてその解答枠内に解答文字列を順次入力(ワープロ入力)すると、解答入力部210は、解答の文字列のデータを順次取り込んで、解答文字列管理部222に供給する。解答文字列管理部222は、その解答文字列データを解答文字列記憶部252に順次格納しかつ解答文字列表示部214に順次供給する。解答文字列表示部214は、受け取ったデータの解答文字列を表示装置112上の解答枠内に表示する。
【0024】
図3は、ユーザによって入力され解答文字列読出し部242によって読み出された解答文字列(“幹国”)、その解答に対応する正解文字列(“韓国”および“大韓民国”)、解答文字列と正解文字列の間の一致文字数、および解答文字列と正解文字列の間の算出された類似度の例を示している。
【0025】
ユーザが、表示装置112に表示された“正誤判定指示”用のキー(ソフトキー)をポインティング・デバイスまたはキー等を用いて付勢(クリックまたは押下)して、正誤判定指示部212を付勢すると、解答文字列読出し部242は解答文字列記憶部252に格納されている解答文字列データを読み出して、文字列類似度算出手段248に供給する。
【0026】
文字列類似度算出部248は、受け取った解答文字列“幹国”と、正解文字列群記憶部258の中のその解答に対応する複数の可能な正解文字列“韓国”および“大韓民国”の各々との間の文字列類似度を算出する。文字列類似度は、例えば次の式で表すことができる。
【0027】
文字列類似度 = 一致した文字数/基準文字数
ここで、基準文字数 = “正解文字列の文字数”と“解答文字列の文字数”のいずれか大きい数。
【0028】
この場合、正解文字列“韓国”および“大韓民国”について、一致文字数は1、基準文字数は2および4、文字列類似度はそれぞれ“0.5”、“0.25”である。
【0029】
解答対応文字列決定部250は、算出された文字列類似度(“0.5”、“0.25”)に基づいて、複数の可能な正解文字列の中から最大の文字列類似度を有する正解文字列“韓国”を選択して、それを解答文字列に対応する正解文字列、即ち解答対応正解文字列として決定する。最大の文字列類似度を有する文字列が複数存在する場合には、それら複数の正解文字列を解答対応正解文字列として決定する。
【0030】
正誤判定部254は、決定された解答対応正解文字列と解答文字列を照合し、両者が一致すれば正解の判定を行い、両者が一致しなければ不正解の判定を行う。その判定結果は正誤判定表示部218に供給される。正誤判定表示部218は、判定結果が正解の場合には解答枠に例えば赤色で○を表示し、判定結果が不正解の場合には解答枠に例えば赤色で×を表示する。
【0031】
解答対応正解文字列決定部250は、決定した解答対応正解文字列を正解文字列表示部216に供給する。正解文字列表示部216は、所定の正解文字列の表示位置に、例えば解答枠の上に、対応する正解文字列を表示する。正解文字列表示部216は、解答対応正解文字列決部250から受け取った解答対応正解文字列を、それ以外の正解文字列と区別できるように、異なる形態で表示する。
【0032】
図4Aおよび4Bは、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、大きい四角の解答枠における解答文字列(“幹国”)、その解答文字列に対する解答枠における判定結果(例えば“×”)、および解答枠の上の位置における解答対応正解文字列(“韓国”)の例を示している。図において、太い点線の“○”および“×”のシンボルは、正誤判定のための正解(○)または不正解(×)を表示するものであり、解答枠の上の2つの文字列(“韓国”、“大韓民国”)は可能な正解文字列であり、1つの正解文字列“韓国”を囲む四角の実線は決定された解答対応正解文字列を示している。
【0033】
図4Aでは、解答枠の上に全ての可能な正解文字列が表示され、解答対応正解文字列が四角の枠で囲まれている。図4Bでは、解答枠の上に解答対応正解文字列だけが表示される。
【0034】
図5は、図1の情報処理装置10および/または学習支援サーバ20によって実現される学習支援システム200の別の構成を示している。
【0035】
図5において、学習支援システム200は、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、図2の構成に加えて、さらに誤り文字位置抽出部256を含んでいる。学習支援システム200のその他の構成は図2のものと同様である。
【0036】
誤り文字位置抽出部256は、解答対応正解文字列決定部250から解答対応正解文字列および解答文字列を受け取って、その解答対応正解文字列と解答文字列とを比較し照合して、決定された解答対応正解文字列“幹国”における誤り文字位置(誤り部分に対応する文字位置)を抽出する。誤り文字位置抽出部256は、その抽出した誤り文字位置を正解文字列表示部218に供給する。正解文字列表示部218は、正解文字列における誤り文字位置を他の部分と区別できるように異なる形態で表示する。
【0037】
図6Aおよび6Bは、図5の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答対応正解文字列(“韓国”)における解答文字列における誤り文字位置(例えば、第1文字)と誤り文字の種類を示している。
【0038】
例えば、誤り文字位置抽出部256は、解答文字列“幹国”の第1文字“幹”と解答対応正解文字列“韓国”の第1文字“韓”を比較して不一致を検出し、次に解答文字列“幹国”の第2文字“国”と解答対応正解文字列“韓国”の第2文字“国”を比較して一致を検出する。それによって、誤り文字位置抽出部256は誤り文字位置を第1文字と判定する。誤り文字位置抽出部256は、解答対応正解文字列の第1文字を誤り文字位置として抽出し、第1文字“幹”の誤りの種類として“異字”と判定する。
【0039】
図7は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“幹国”)に対する判定結果(例えば、不正解“×”)および解答対応正解文字列(“韓国”)の例を示している。この場合、解答対応正解文字列の中の誤り文字または異字に対応する文字は他の文字と異なる色でハイライト表示される。図において、四角の点線で囲まれた部分は、解答対応正解文字列における誤り文字位置の文字が、例えば他の文字(例えば、黒)とは異なる色(例えば、赤)でハイライト表示された部分を示している(点線そのものを表示する必要はない)。
【0040】
図8Aは、ユーザによって入力され解答文字列読出し部242によって読み出された別の解答文字列(“中富”)、それに対応する正解文字列(“中臣鎌足”および“藤原鎌足”)、一致文字数、および算出された類似度の例を示している。この場合、最も高い類似度(0.25)を有する“中臣鎌足”が解答対応正解文字列として抽出される。
【0041】
図8Bおよび8Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列(“中臣鎌足”)の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置の例を示している。図8Dは、解答対応正解文字列(“中臣鎌足”)における誤り文字位置(第2文字〜第4文字)とその誤りの種類の例を示している。
【0042】
図8Cを参照すると、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第1文字“中”と解答文字列“中富”の第1文字“中”を比較して一致を検出し、解答対応正解文字列の第1文字を表す文字位置m=1の文字の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の一致文字の位置を表す値A[m]=1を得る。
【0043】
次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第2文字“臣”と解答文字列“中富”の第2文字“富”を比較して不一致を検出し、解答対応正解文字列の第2文字を表す文字位置m=2の文字の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の文字の不一致(または一致文字位置なし)を表す値A[m]=0を得る。
【0044】
次に、誤り文字位置抽出部256は、正解文字列“中臣鎌足”の第3文字“鎌”と解答文字列“中富”の各文字を比較して解答対応正解文字列における文字の脱落を検出し、解答対応正解文字列の第3文字を表す文字位置m=3の文字の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の文字の脱字(または文字位置なし)を表す値A[m]=−1を得る。次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第4文字“足”と解答文字列“中富”の各文字を比較して解答文字列における文字の脱落(または文字位置なし)を検出し解答対応正解文字列の、第4文字を表す文字位置m=4の照合結果として、解答対応正解文字列の第m番の文字に対する解答文字列の脱字を表す値A[m]=−1を得る。
【0045】
図8Dに示されているように、誤り文字位置抽出部256は、さらに、第2文字が不一致なので、解答対応正解文字列の第2文字を誤り文字位置として抽出し、第2文字“臣”の誤りの種類として異字と判定し、第3と第4の文字が脱字なので、解答対応正解文字列の第3および第4の文字を誤り文字位置として抽出し、第3と第4の文字“鎌足”の誤りの種類として脱字と判定する。
【0046】
図9は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中富”)に対する判定結果(例えば不正解“×”)と解答対応正解文字列(“中臣鎌足”)の例を示している。図において、四角の点線で囲まれた部分は、解答対応正解文字列における誤り文字位置に対応する文字が、例えば他の文字(例えば、黒)とは異なる色(例えば、赤、青)でハイライト表示されたことを示している(点線そのものを表示する必要はない)。この場合、“臣”は赤で表示され、“鎌足”は青で表示される。
【0047】
図10Aは、ユーザによって入力され解答文字列読出し部242によって読み出されたさらに別の解答文字列(“中臣上鎌足成”)、それに対応する正解文字列(“中臣鎌足”および“藤原鎌足”)、一致文字数、および算出された類似度の例を示している。この場合、最も高い類似度(0.4)を有する“中臣鎌足”が解答対応正解文字列として抽出される。
【0048】
図10Bおよび10Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列(“中臣鎌足”)の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置を示している。図10Dは、解答対応正解文字列(“中臣鎌足”)における誤り文字位置(第2文字、第4文字)と誤りの種類の例を示している。
【0049】
図10Cを参照すると、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第1文字“中”と解答文字列“中臣上鎌足成”の第1文字“中”を比較して一致を検出し、解答対応正解文字列の第1文字を表す文字位置m=1の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=1を得る。次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第2文字“臣”と解答文字列“中臣上鎌足成”の第2文字“臣”を比較して一致を検出し、解答対応正解文字列の第2文字を表す文字位置m=2の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=2を得る。
【0050】
次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第3文字“鎌”と解答文字列“中臣上鎌足成”の各文字(第3文字、第4文字)を比較して一致を検出し、第3文字を表す文字位置m=3の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=4を得る。次に、誤り文字位置抽出部256は、解答対応正解文字列“中臣鎌足”の第4文字“足”と解答文字列“中臣上鎌足成”の各文字(第5文字)を比較して一致を検出し、第4文字を表す文字位置m=4の照合結果として解答対応正解文字列の第m番の文字と一致する解答文字列の一致文字位置を表す値A[m]=5を得る。
【0051】
図10Dに示されているように、誤り文字位置抽出部256は、さらに、解答文字列“中臣上鎌足成”の第3文字“上”および第6文字“成”が余剰字なので、それぞれの解答対応正解文字列における直前の文字位置である第2文字および第4文字を誤り文字位置として抽出し、解答文字列の第2文字“臣”および第4文字“足”の誤りの種類としてそれぞれに付加された“余剰字”と判定する。
【0052】
図11は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中臣上鎌足成”)、解答枠における解答文字列に対する判定結果(例えば不正解“×”)、および解答対応正解文字列(“中臣鎌足”)の例を示している。図において、正解文字列における下線は、解答対応正解文字列における解答文字列の余剰文字の位置に対応する位置を示している。この下線は、異なる色(例えば、赤)でハイライト表示してもよい。
【0053】
図12は、図1の情報処理装置10および/または学習支援サーバ20によって実現される学習支援システム200のさらに別の構成を示している。
【0054】
図12において、学習支援システム200は、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、図5の構成に加えて、さらに解答文字列変更部259を含んでいる。学習支援システム200は、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、さらに、正解文字列表示位置取得部260、および記憶装置14内に表示位置情報記憶部262を含んでいる。学習支援システム200のその他の構成は図5のものと同様である。
【0055】
誤り文字位置抽出部256は、解答対応正解文字列決定部250から解答対応正解文字列および解答文字列を受け取って、その解答対応正解文字列と解答文字列とを比較し照合して、決定された解答対応正解文字列(“韓国”)における誤り文字位置(第1文字)を抽出し、さらに解答文字列(“幹国”)における誤り文字位置(第1文字)を抽出する。誤り文字位置抽出部256は、その誤り文字位置の情報を解答文字列変更部259に供給する。解答文字列変更部259は、誤り文字位置抽出部256から受け取った誤り文字位置(第1文字)の情報に基づいて、解答枠内に表示された解答文字列における誤り文字の表示を変更して、他の文字と異なる色でハイライト表示する。
【0056】
図13Aおよび13Bは、図12の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答対応正解文字列(“韓国”)における誤り文字位置(第1文字)と、解答文字列(“幹国”)における誤り文字位置(第1文字)と、誤り文字の誤りの種類を示している。
【0057】
図13Bを参照すると、誤り文字位置抽出部256は、解答文字列“幹国”の第1文字“幹”と解答対応正解文字列“韓国”の第1文字“韓”を比較して不一致を検出する。誤り文字位置抽出部256は、さらに、解答対応正解文字列の第1文字が不一致なので、解答対応正解文字列および解答文字列のそれぞれの第1文字を誤り文字位置として抽出し、それぞれの第1文字“幹”の誤りの種類として“異字”と判定する。
【0058】
図14は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“幹国”)、解答枠における解答文字列に対する判定結果(例えば“×”)、および解答対応正解文字列(“韓国”)の例を示している。この場合、解答対応正解文字列の中の誤り文字に対応する文字、および解答文字列の中の誤り文字または異字が異なる色(例えば、赤)でハイライト表示される。
【0059】
図15A〜15Cは、図12の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答対応正解文字列(“中臣鎌足”)における誤り文字位置(第2文字〜第4文字)と、解答文字列(“中富”)における誤り文字位置(第2文字〜第4文字)の誤りの種類の例を示している。
【0060】
図15Bにおいて、nは解答文字列における文字位置、A[n]は解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置を示している。誤り文字位置抽出部256は、解答文字列“中富”の第1文字“中” と正解文字列“中臣鎌足”の第1文字“中”を比較して一致を検出し、解答文字列の第1文字を表す文字位置n=1の照合結果として解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置を表す値A[n]=1を得る。
【0061】
次に、誤り文字位置抽出部256は、解答文字列“中富”の第2文字“富”と、正解文字列“中臣鎌足”の第2文字“臣”、第3文字“鎌”および第4文字“足”とを比較して不一致を検出し、解答文字列の第2文字を表す文字位置n=2の照合結果として、解答文字列の第n番の文字に対する解答対応正解文字列の文字の不一致(または一致文字位置なし)を表す値A[n]=0を得る。
【0062】
図15Cに示されているように、誤り文字位置抽出部256は、さらに、解答対応文字列“中臣鎌足”の第3文字“鎌”および第4文字“足”が脱字なので、解答文字列における直前の文字位置である第2文字を誤り文字位置として抽出し、解答文字列の第2文字“富”の誤りの種類として“脱字”という判定を付加する。
【0063】
図16は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中富”)、解答枠における解答文字列に対する判定結果(例えば不正解“×”)、および解答対応正解文字列(“中臣鎌足”)の例を示している。図において、解答枠における点線で囲まれた誤字は、例えば他の文字(例えば、黒)とは異なる色(例えば、赤、青)でハイライト表示される(点線そのものを表示する必要はない)。解答枠における下線は、解答文字列における脱字位置を表している。
【0064】
図17A〜17Cは、図12の学習支援システム200の解答対応正解文字列決定部250から誤り文字位置抽出部256に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部256によって抽出された解答文字列(“中臣上鎌足成”)における誤り文字位置(第3文字、第6文字)と、解答文字列のおける誤り文字の誤りの種類の例を示している。
【0065】
誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第1文字および第2文字“中臣”の各々と解答対応正解文字列“中臣鎌足”の第1文字および第2文字“中臣”の各々をそれぞれ比較して一致を検出し、解答文字列の第1文字および第2文字を表す文字位置n=1および2の照合結果として解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置A[n]=1、A[n]=2を得る。次に、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第3文字“上”と解答対応正解文字列“中臣鎌足”の第3文字および各文字を比較して不一致を検出し、解答文字列における第3文字を表す文字位置n=3の照合結果として解答文字列の第n番の文字に対する文字の不一致(または一致文字位置なし)を表す値A[n]=0を得る。
【0066】
次に、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第4文字および第5文字“鎌足”の各々と解答対応正解文字列“中臣鎌足”の第3文字および第4文字“鎌足”の各々をそれぞれ比較して一致を検出し、解答文字列の第4文字および第5文字を表す文字位置n=4および5の照合結果として解答文字列の第n番の文字と一致する解答対応正解文字列の一致文字位置を表す値A[n]=3、A[n]=4を得る。次に、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第6文字“成”と比較する解答対応正解文字列“中臣鎌足”の文字位置がないので、解答文字列における第6文字を表す文字位置n=6の照合結果として解答文字列の第n番の文字に対する文字位置なしを表す値A[n]=−1を得る。このようにして、誤り文字位置抽出部256は、解答文字列“中臣上鎌足成”の第3文字および第6文字“上”および“成”を余剰文字として抽出する。
【0067】
図18は、解答文字列が不正解の場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“中臣上鎌足成”)、解答枠における解答文字列に対する判定結果(例えば不正解“×”)、および解答対応正解文字列(“中臣鎌足”)の例を示している。図において、点線で囲まれた解答枠における余剰字は、例えば他の文字(例えば、黒)とは異なる色(例えば、青)でハイライト表示されることを示している(点線そのものを表示する必要はない)。
【0068】
次に、複数h個の解答枠に対してh個以上の複数の可能な正解文字列が存在する場合における解答対応正解文字列の決定および表示のしかたを説明する。
【0069】
図19Aは、ユーザによって入力され解答文字列読出し部242によって読み出された3つの解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)、対応する3つの正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)、および算出された類似度の例を示している。図19Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、各解答文字列に対する解答対応正解文字列の割り付けまたは対応付けの例を示している。
【0070】
文字列類似度算出部248は、解答文字列と正解文字列のすべての組み合わせについて図19Aに示されているような文字列類似度(“0”、“1”、“0.5”、“0.125”、“0.75”)を算出する。解答対応正解文字列決定部150は、その文字列類似度に基づいて各解答枠に対応する解答対応正解文字列の割り付けを決定する。解答対応正解文字列決定部150は、各解答枠に割り付ける正解文字列が互いに重複しないように、文字列類似度ができるだけ大きい正解文字列を解答対応正解文字列として解答枠に割り付けを行う。
【0071】
解答対応正解文字列決定部150は、図19Bに示されているように、最も高い類似度(“1”)を有する解答文字列“基本的人権の尊重”の解答枠に対してそれに対応する正解文字列“基本的人権の尊重”を割り付ける。次に、文字列類似度算出部248は、次に高い類似度(“0.75”)を有する解答文字列“国民主義”に対してそれに対応する正解文字列“国民主権”を割り付ける。次に、解答対応正解文字列決定部150は、次に高い類似度(“0”)を有するまたは残りの解答文字列“民主主義”に対してそれに対応するまたは残りの正解文字列“戦争放棄”を重複しないように割り付ける。
【0072】
図20は、解答文字列が正解および不正解を含む場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)、解答枠における解答文字列に対する判定結果(例えば“○”、“×”)、および解答対応正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)の例を示している。図において、太い点線の“○”および“×”のシンボルは、正誤判定のための正解(○)または不正解(×)を表示する。
【0073】
図21Aは、ユーザによって入力され解答文字列読出し部242によって読み出された2つの解答文字列(“高知県”および“福島県”)、可能な4つの正解文字列(“高知県”、“愛媛県”、“香川県”および“徳島県”)、および算出された類似度の例を示している。図21Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、解答文字列に対する解答対応正解文字列の割り付けまたは対応付けを示している。
【0074】
文字列類似度算出部248は、図21Bに示されているように、最も高い類似度(“1”)を有する解答文字列“高知県”に対してそれに対応する正解文字列“高知県”を割り付ける。次に、文字列類似度算出部248は、次に高い類似度(“0.5”)を有する解答文字列“福島県”に対して正解文字列“徳島県”を割り付ける。
【0075】
図22は、解答文字列が正解および不正解を含む場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“高知県”および“福島県”)、解答枠における解答文字列に対する判定結果(例えば“○”、“×”)、および解答対応正解文字列(“高知県”および“徳島県”)の例を示している。この場合、解答文字列に最も近い2つの正解文字列だけが表示され、残りの可能な正解文字列“愛媛県”および“香川県”は正解文字列として表示されない。従って、学習者の意図に最も近い解答したまたは解答しようとした文字列に最も近い正解文字列だけが表示される。但し、残りの可能な正解文字列“愛媛県”および“香川県”を、追加的に、可能な解答文字列として区別して表示してもよい。
【0076】
図12において、正解文字列表示位置取得部260は、各解答枠における解答文字列を取得し、表示位置情報記憶部262に格納されている表示装置112における各解答枠の上の解答対応正解文字列表示位置を表す座標(X,Y)を取得し、それぞれの位置に解答対応正解文字列を対応づけ、正解文字列表示部216はそれぞれの位置に解答対応正解文字列を表示する。
【0077】
図23Aは、表示装置112に表示された3つの解答枠識別番号(ID)1、2、3に対する、入力された解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)、および正解文字列表示位置取得部260によって取得された解答文字列対応正解文字列の表示位置(座標)を示している。図23Bは、図19Aの文字列類似度に基づいて、解答対応文字列決定部250によって割り付けられた解答対応正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)を示している。
【0078】
図24は、解答文字列が正解および不正解を含む場合における、解答文字列表示部214、正誤判定表示部218および正解文字列表示部216によって表示された、解答枠における解答文字列(“民主主義”、“基本的人権の尊重”および“国民主義”)に対する判定結果(例えば、“○”、“×”)と、解答対応正解文字列(“基本的人権の尊重”、“国民主権”および“戦争放棄”)の例を示している。図において、解答枠における誤り文字または異字は、例えば他の文字(例えば、黒)とは異なる色(例えば、赤、青)でハイライト表示される(点線そのものを表示する必要はない)。
【0079】
図25は、図1の情報処理装置10および/または学習支援サーバ20によって実現されるさらに別の学習支援システム200の構成を示している。
【0080】
学習支援システム200は、図2の場合と同様に、情報処理装置10に設けられた、入力処理部として、解答入力部210および正誤判定指示部212を含み、表示処理部として、解答文字列表示部214、正解文字列表示部216および正誤判定表示部218を含んでいる。
【0081】
学習支援システム200は、さらに、情報処理装置10または学習支援サーバ20に設けられた情報処理部として、筆跡情報を管理する解答文字列管理部222、筆跡情報を読出す解答文字列読出し部242、文字切り出し領域候補生成部244、個別文字認識部246、最尤文字列決定部247、文字列類似度算出部248、解答対応文字列決定部250、および正誤判定部254を含んでいる。学習支援システム200は、さらに、記憶装置14または24中の領域として、解答筆跡情報を記憶する解答文字列記憶部252、文字切り出し領域候補記憶部254、文字認識辞書記憶部256、および正解文字列群記憶部258を含んでいる。
【0082】
図1において、ユーザは、スタイラスペンを用いてタブレット114上の解答欄に解答文字列を順次描くと、解答入力部210は、解答の文字列に対応する連続的な複数の座標(X,Y)からなる筆跡の座標データを順次取り込んで解答文字列管理部222に供給する。解答文字列管理部222はそれを解答文字列記憶部252に格納する。解答文字列管理部222は、その筆跡座標データを解答文字列記憶部252に順次格納しかつ解答文字列表示部214に順次供給する。解答文字列表示部214は、その筆跡座標データによって表される手書き文字列の筆跡を表示装置112上に順次リアルタイムで表示する。
【0083】
ユーザが、表示装置112に表示された正誤判定指示キーを付勢して、正誤判定指示部212を付勢すると、解答文字列読出し部242は、解答文字列記憶部252に格納されていた筆跡座標データを読み出して、文字切り出し領域候補生成部244に供給する。文字切り出し領域候補生成部244は、読み出された筆跡座標データから、推定される文字領域候補を切り出し、それぞれ一連の文字領域候補からなる複数の群を出力する。一文字の領域候補の推定は、各ストロークのX軸方向の重心が一定範囲内のものを一文字領域として切り出すなどの既知の方法を用いて行う。
【0084】
図26Aは、ユーザによって入力され解答文字列読出し部242によって取り込まれた手書きの解答文字列(“幹国”)の筆跡の例を示している。図26Bは、図26Aの筆跡座標データに対して、文字切り出し領域候補生成部244によって生成された文字切り出し候補a〜dの例を示している。図26Cは、個別文字認識部246による、図26Bに示された文字切り出し領域候補a〜dに対する認識候補文字および認識スコアの一例を示している。
【0085】
図26Bにおいて、左上のアルファベットが付された四角枠で囲まれた各領域は、切り出された1つの文字領域候補のパターンであり、矢印→は文字領域候補(ノード)間の可能性ある接続(リンク)関係を示している。この例では、群“a−b−d”および群“c−d”(幹−国)の接続関係にある文字領域候補の2つの群またはパス(paths)が提示される。図26Cにおいて、各文字領域候補(ノード)内の各認識候補文字の右側に表示されている数字は、それぞれの認識候補文字の認識スコアを示すものであり、スコアの数字が大きいほど可能性または最尤度が高いことを示している。
【0086】
個別文字認識部246は、文字切り出し領域候補生成部244によって切り出された図26Bの文字領域候補の各パターンa〜dに対して、文字認識辞書記憶部256を参照して、認識候補文字および認識スコアを決定する。認識候補文字の抽出には、一般的に用いられるOCR認識エンジン、オンライン認識エンジン、等、任意の認識エンジンを用いることができる。認識スコアは、文字領域候補のパターン(a〜d)と文字認識辞書記憶部256中の所定の文字パターンとの間の距離を計算したり、特徴点に基づいて計算したりするなど、既知の種々の方法を用いることができる。
【0087】
個別文字認識部246は、各文字領域候補における複数の認識候補文字およびそれぞれの認識スコアを最尤文字列決定部247に供給する。最尤文字列決定部247は、各解答枠の識別情報または識別番号(h)に対応する正解文字列群記憶部258中の正解文字列の情報を参照して認識候補文字から最尤文字列を決定する。最尤文字列の決定は、一連の文字領域候補またはノードからなる各群または各パスと各文字領域候補(ノード)に対応して、個別文字認識部246からの複数の認識候補文字に対して、正解文字列中の各文字との照合(マッチング)を行って文字を選択して最尤文字列を決定することからなる。その照合において、正解文字列における照合中の文字位置の文字と一致する認識候補文字があれば、その一致する認識候補文字に対して、例えば一定の加算スコア(ボーナススコア)を加えて、正解文字列が最尤文字列として選ばれやすくなるように設定する。
【0088】
図26Cを参照して、最尤文字列を決定する例を示す。この例では、候補文字の列を選択する2つのパス“a−b−d”および“c−d”がある。最尤文字列決定部247は、各選択パスにおけるノード中の各候補文字に対して、正解文字列の中の各文字位置の文字と照合する。最尤文字列決定部247は、正解文字列中の文字と一致しない認識候補文字に対して文字照合スコアとして最低値のスコア(例えば、650)を与える。また、最尤文字列決定部247は、正解文字列中の文字と一致する認識候補文字に対してその認識候補文字の認識スコアに加算スコア(例えば、50)を加えた値を、文字照合スコアとする。
【0089】
このようにして、最尤文字列決定部247は、文字列照合スコアの最も高い文字列を選択する。文字列照合スコアは、パスにおける先頭文字位置から現在文字位置の文字照合スコアの平均値で表され、即ち、先頭文字位置から前文字位置までの平均文字列照合スコア×先頭文字位置から前文字位置までの文字数+現在の文字位置の文字照合スコアを、先頭文字位置から現在文字位置までの文字数で割ったものとして求められる。従って、各パスにおける最後のノードにおける文字列照合スコアが、各パスの文字列の文字列照合スコアすなわち平均の文字照合スコアを表す。最尤文字列決定部247は、照合した文字列の最後の文字位置にある文字列照合スコアが最も大きいパスの文字列を、最尤文字列として選択する。
【0090】
図27A〜27Dは、最尤文字列決定部247により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の1つ(“韓国”)に対する図26Bの文字切り出し候補a〜dの最尤文字列を決定する手順の例を示している。この例では、文字切り出し領域候補a〜dを正解文字列“韓国”と照合する際に、連続する3文字以内の誤り文字の検出を含めて最尤文字列を決定する例である。
【0091】
図27Aにおいて、最尤文字列決定部247によって、1つの正解文字列“韓国”に対して、図26Cにおける一連の文字領域候補a、b、dからなる1つの群が選択され、最初の先頭のノードa(“幹”の偏(左側の部首))について、照合文字位置Xを初期値X=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、従って正解文字列の第1番(番目)の文字“韓”および第2番の文字“国”と順次照合する。
【0092】
ノードaに対する認識候補文字“卓”および“巣”の認識スコア780および760が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として認識スコアが最大の“卓”が選択される。この場合、選択された文字と照合文字“韓”または“国”のいずれも一致しないので、照合文字位置としてX−1=0が与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードaに直前に接続するノードは存在しないので、文字領域候補aの文字位置をY=1、直前選択ノードを“なし”と記録する。
【0093】
次のノードb(“幹”の旁(右側の部首))について、ノードbに直前に接続するノードaの照合文字位置0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“韓”および“国”と順次照合する。認識候補文字“令”および“今”の認識スコア770および740が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として最大の認識スコアを有する“令”が選択される。選択された文字“令”と照合文字“韓”または“国”のいずれも一致しないので、文字照合スコアとして不一致を表す最低値(例えば、650)が与えられ、照合文字位置としてX−1=0が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値である650となる。ノードbに直前に接続するノードaの文字位置1を+1だけ増分して、文字領域候補bの文字位置をY=2、ノードbに接続する直前選択ノードを“a”と記録する。
【0094】
図27Bを参照すると、次のノードd(“国”)について、ノードdに直前に接続するノードbの照合文字位置0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“幹”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=2が与えられ、認識スコア860に、一致を表す加算値(例えば50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値736である。文字領域候補dの文字位置としてY=3、およびノードdに接続する直前選択ノードとして“b”と記録する。
【0095】
次に、図26Aにおいて、正解文字列“韓国”に対して、図26Cにおける一連の文字領域候補c、dからなる1つの群が選択され、最初の先頭のノードc(“幹”)について、照合文字位置Xを初期値X=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“韓”および“国”と順次照合する。次いで、ノードcに対する認識候補文字“幹”および“朝”の認識スコア830および820が求められる。認識候補文字の中に“韓”または“国”のいずれも存在しないので、選択文字として認識スコアが最大の“幹”が選択される。この場合、選択された文字と照合文字“韓”または“国”のいずれも一致しないので、照合文字位置としてX−1=0が与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)が与えられる。文字列照合スコアは、先頭文字位置なので文字照合スコアと等しくなる。ノードaに直前に接続するノードは存在しないので、文字領域候補aの文字位置をY=1、直前選択ノードを“なし”と記録する。
【0096】
図27Cを参照すると、次のノードd(“国”)について、ノードdに直前に接続するノードcの照合文字位置0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1を設定し、正解文字列の第1番および第2番の文字“韓”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=2が与えられ、認識スコア860に、一致を表す加算値(例えば、50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値780である。文字領域候補dの文字位置としてY=2、およびノードdに接続する直前選択ノードとして“c”と記録する。
【0097】
ノードdに対しては、一連の文字領域候補a、b、dからなる1つの群のパスをたどった場合の文字列照合スコア736と、一連の文字領域候補c、dからなる1つの群のパスをたどった場合の文字列照合スコア780とを比較し、文字列照合スコアの高い方のデータ(照合文字位置、照合文字、選択文字、文字照合スコア、文字列照合スコア、文字位置、直前選択ノード)を記憶する。
【0098】
最後に、末尾のノードと対応づけて記憶してある文字列照合スコアが最大のものを探す。図26Cおよび図27A〜27Cの場合は、末尾のノードはdだけなので、ノードdから直前選択ノードを順次たどって、最尤文字列として選択するパスを決定する。図27Dのように、決定したパスc−dを文字切り出しの先頭ノードからつないだものを最尤文字列“幹国”として決定して保持する。
【0099】
図28A〜28Dは、最尤文字列決定部247により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の別の1つ(“大韓民国”)に対する図26Bの文字切り出し候補a〜dの最尤文字列を決定する手順の例を示している。この例では、文字切り出し領域候補a〜dを正解文字列“大韓民国”と照合する際に、連続する3文字以内の誤り文字の検出を含めて最尤文字列を決定する例である。
【0100】
図28Aにおいて、最尤文字列決定部247によって、別の1つの正解文字列“大韓民国”に対して、図26Cにおける一連の文字領域候補a、b、dからなる1つの群が選択され、ノードa(“幹”の偏(左側の部首))、b(“幹”の旁(左側の部首))について、正解文字列の第1番〜第4番の文字“大”、“韓”、“民”および“国”と順次照合する。
【0101】
図26Bの場合と同様に、ノードa、bに対する認識候補文字の認識スコアが順次求められる。認識候補文字の中に“大”、“韓”、 “民” および“国”のいずれも存在しないので、選択文字として認識スコアが最大の“卓”および“令”がそれぞれ選択される。照合文字位置としてX−1=0がそれぞれに与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)がそれぞれに与えられる。文字列照合スコアは文字照合スコアと等しくなる。
【0102】
図28Bを参照すると、図27Bの場合と同様に、ノードd(“国”)について、ノードdに直前に接続するノードbの照合文字位置X=0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1およびX+2およびX+3を設定し、正解文字列の第1番、第2番、第3番および第4番の文字“大”、“韓”、“民”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=4が与えられ、認識スコア860に、一致を表す加算値(例えば50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数3に対する文字照合スコアの平均値736である。文字領域候補dの文字位置としてY=3、およびノードdに接続する直前選択ノードとして“b”と記録する。
【0103】
次に、図28Aにおいて、正解文字列“大韓民国”に対して、図26Cにおける一連の文字領域候補c、dからなる1つの群が選択され、ノードc(“幹”)について、正解文字列の第1番〜第4番の文字“大”、“韓”、“民”および“国”と順次照合する。次いで、ノードcに対する認識候補文字の認識スコアが求められる。認識候補文字の中に“大”、“韓”、“民”および“国”のいずれも存在しないので、選択文字として認識スコアが最大の“幹”が選択される。照合文字位置としてX−1=0が与えられ、文字照合スコアとして、不一致を表す最低値(例えば、650)が与えられる。文字列照合スコアは文字照合スコアと等しくなる。
【0104】
図28Cを参照すると、図26Bの場合と同様に、ノードd(“国”)について、ノードdに直前に接続するノードbの照合文字位置X=0を+1だけ増分してX=1とし、照合文字位置qに照合開始文字位置q=Xおよび次の文字位置q=X+1およびX+2およびX+3を設定し、正解文字列の第1番、第2番、第3番および第4番の文字“大”、“韓”、“民”および“国”と順次照合する。認識候補文字“国”および“固”の認識スコア860および790が求められる。認識候補文字の中に“国”が存在するので、選択文字として、最大の認識スコアを有する文字“国”が選択される。選択された文字と照合文字が一致するので、照合文字位置としてX=4が与えられ、認識スコア860に、一致を表す加算値(例えば50)が加えられて文字照合スコアとして910が与えられる。文字列照合スコアは、文字数2に対する文字照合スコアの平均値780である。文字領域候補dの文字位置としてY=2、およびノードdに接続する直前選択ノードとして“c”と記録する。
【0105】
ノードdに対しては、一連の文字領域候補a、b、dからなる1つの群のパスをたどった場合の文字列照合スコア736と、一連の文字領域候補c、dからなる1つの群のパスをたどった場合の文字列照合スコア780とを比較し、文字列照合スコアの高い方のデータ(照合文字位置、照合文字、選択文字、文字照合スコア、文字列照合スコア、文字位置、直前選択ノード)を記憶する。
【0106】
最後に、末尾のノードと対応づけて記憶してある文字列照合スコアが最大のものを探す。図26Cおよび図27A〜27Cの場合は、末尾のノードはdだけなので、ノードdから直前選択ノードを順次たどって、最尤文字列として選択するパスを決定する。図28Dのように、決定したパスc−dを文字切り出しの先頭ノードからつないだものを最尤文字列“幹国”として決定して保持する。
【0107】
このように、各文字切り出し領域候補に対して、正解文字列中のN個の隣接の照合文字と照合することによって、余剰文字および脱字が連続してN−1個以内の場合でも、文字切り出し領域候補と正解文字列と照合が可能となる。
【0108】
最尤文字列決定部247で決定されたそれぞれの正解文字列に対する解答文字列としての最尤文字列とその文字列照合スコアは、文字列類似度算出部248に送られる。文字列類似度算出部248は、前述のようにして、最尤文字列である解答文字列と各正解文字列との間の類似度を算出する。
【0109】
図29は、解答対応正解文字列決定部250によって、最尤文字列(“幹国”)に対する解答対応正解文字列を決定する方法を説明するのに役立つ。
【0110】
図29を参照すると、解答対応正解文字列決定部250は、最尤文字列“幹国”と正解文字列“韓国”および“大韓民国”から基準文字数“2”、“4”を決定し、文字列類似度を算出する。文字列類似度は、例えば次の式で表すことができる。
【0111】
文字列類似度 = 文字列照合スコア+100×(一致した文字数/基準文字数)
ここで、基準文字数 = “正解文字列の文字数”と“最尤文字列の文字数”のいずれか大きい数。
【0112】
解答対応正解文字列決定部250は、正解文字列群の中の最も高い文字列類似度(830)を有する文字列“韓国”を解答対応正解文字列として決定する。同じ最大の文字列類似度を有する複数の解答対応正解文字列が存在する場合は、複数の解答対応正解文字列を決定してもよい。
【0113】
図30は、図25の学習支援システム200による不正解の場合の解答文字列の正誤判定結果の例を示している。この場合、解答枠内に手書文字が表示される。その他の表示形態は、図4Aまたは4Bの場合と同様である。図25の学習支援システム200に、図5、12の学習支援システム200の構成と同様の追加構成要素を付加することによって、解答枠内に活字体ではなく手書き文字が表示されること以外は、図7、9、11、14、16、18、20、22および24の場合と同様の処理によって同様の表示を行うことができる。
【0114】
図31Aおよび31Bは、図2の学習支援システム200によって実行される正解/不正解を判定するための処理のフローチャートを示している。
【0115】
図31Aを参照すると、ステップ502において、解答文字列読出し部242は、正誤判定指示部212からの正解/不正解判定の指示(命令)に従って、解答文字列群記憶部252から解答枠内の解答文字列データを取り出して文字列類似度算出部248に供給する。ステップ504において、文字列類似度算出部248は、解答となり得る1つ以上の正解文字列の正解文字列の識別番号または順序番号iの値を初期値i=1に、また最大類似度Sを初期値S=0に設定する。ステップ508において、文字列類似度算出部248は、番号iは正解文字列の数Nより大きいかどうか(i>N)、即ち識別番号i(第i番)の正解文字列が存在しないかどうかを判定する。番号iが正解文字列の数より大きい、即ち第i番の正解文字列が存在しないと判定された場合は、手順は図31Bのステップ532に進む。
【0116】
ステップ508において番号iが正解文字列の数Nより大きくない、即ち第i番の正解文字列が存在すると判定された場合は、文字列類似度算出部248は、ステップ510において、第i番の正解文字列CSiと解答文字列の間の文字列類似度Siを算出する。
【0117】
ステップ512において、文字列類似度算出部248は、番号iの正解文字列の文字列類似度Siが現在の最大類似度Sより大きいかどうかを判定する。文字列類似度Siが最大類似度Sより大きいと判定された場合は、文字列類似度算出部248は、ステップ514において最大類似度Sに文字列類似度Siを設定する。ステップ516において、文字列類似度算出部248は、解答対応正解文字列として第i番の正解文字列CSiを選択して自己の作業領域に一時記憶する。その際、1つ以上の前の解答正解文字列が存在する場合には、文字列類似度算出部248はそれを削除する。ステップ518において、文字列類似度算部248は、正解文字列の番号iを次の番号i=i+1と設定する。その後、手順はステップ508に戻る。
【0118】
ステップ512において文字列類似度Siが現在の最大類似度Sより大きくないと判定された場合は、文字列類似度算出部248は、ステップ524において、番号iの正解文字列の文字列類似度Siが最大類似度Sと等しいかどうかを判定する。文字列類似度Siが最大類似度Sと等しいと判定された場合は、ステップ526において、文字列類似度算出部248は、解答対応正解文字列として第i番の正解文字列CSiを選択して自己の作業領域に追加して一時記憶する。その後、手順はステップ518に進む。
【0119】
代替構成として、ステップ512において文字列類似度Siが最大類似度Sより大きくないと判定された場合は、ステップ524および526を実行することなく、手順はステップ518に進むようにしてもよい。この場合、同じ最大類似度を有する最初の1つの正解文字列だけが解答対応正解文字列として選択される。
【0120】
ステップ524において文字列類似度Siが最大類似度Sと等しくないと判定された場合は、手順はステップ518に進む。
【0121】
図31Bを参照すると、図31Aのステップ508において番号iが正解文字列の数Nより大きい、即ち第i番の正解文字列が存在しないと判定された場合は、文字列類似度算出部248は、ステップ532において、解答対応正解文字列CSiおよび最大類似度Sを解答対応正解文字列決定部250に供給し、解答対応正解文字列決定部250は解答対応正解文字列CSiの値を正誤判定部254に供給する。
【0122】
ステップ534において、解答対応正解文字列決定部250は、解答対応正解文字列の一時記憶領域に正解文字列CSiが格納されているかどうか、または最大類似度SがS>0かどうかを判定する。解答対応正解文字列に正解文字列CSiが格納されていると判定された場合、または最大類似度がS>0と判定された場合は、解答対応正解文字列決定部250は、ステップ536において、解答非対応文字列用の一時記憶領域に解答対応正解文字列以外の正解文字列を格納し、正解文字列表示部216にその解答非対応正解文字列を供給する。ステップ540において、正解文字列表示部216は、解答対応正解文字列と解答非対応正解文字列を区別して表示する(図4A参照)。代替構成として、手順は、ステップ536を実行せずにステップ540に進んでもよい(図4B参照)。この場合、ステップ540において、正解文字列表示部216は解答対応正解文字列だけを表示する。
【0123】
ステップ534において解答対応正解文字列に正解文字列CSiが格納されていないと判定された場合は、解答対応正解文字列決定部250は、ステップ538において、解答非対応正解文字列用の一時記憶領域に全ての正解文字列CS1〜CSNを格納し、正解文字列表示部216にその解答非対応正解文字列を供給する。
【0124】
また、ステップ512において文字列類似度Siが最大類似度Sより大きくないと判定された場合に、ステップ524および526を実行することなく、手順がステップ410に進むようにして、同じ最大類似度を有する最初の1つの正解文字列だけが解答対応正解文字列として選択されるようにした場合は、解答対応正解文字列決定部250は、ステップ536において、解答対応正解文字列用の一時記憶領域に正解文字列群の最大類似度Sを有する最初の正解文字列だけを格納し、正解文字列表示部216にその解答対応正解文字列だけを供給することとなる。その後、手順はステップ540に進む。
【0125】
ステップ542において、正誤判定部254は、解答文字列と解答対応正解文字列が一致したかどうかを判定する。解答文字列と解答対応正解文字列が一致したと判定された場合は、ステップ544において、正誤判定結果表示部218は、表示装置112における解答枠に正解判定結果として正解の表示(例えば“○”)を行う。その後、手順は図31Aおよび32Bのルーチンを出る。
【0126】
ステップ542において解答文字列と解答対応正解文字列が一致しないと判定された場合は、正誤判定結果表示部218は、ステップ546において、表示装置112における解答枠に正誤判定結果として不正解の表示(例えば“×”)を行う。その後、手順は図31Aおよび32Bのルーチンを出る。
【0127】
ステップ546において、図5の誤り文字位置抽出部256は、決定された解答対応正解文字列と解答文字列を比較して、決定された解答対応正解文字列における誤り文字位置を抽出する。正解文字列表示部216は、解答対応正解文字列における誤り文字位置(異字、余剰字、脱字)に対応する文字または文字位置をハイライト表示またはアンダーライン表示する。また、図12の解答文字列変更部259は、解答文字列における誤り文字位置の文字(異字、余剰字、脱字)をハイライト表示(図14、16、18)またはアンダーライン表示する(図16)。
【0128】
図32A〜32Cは、図31Bのステップ546において、図5の学習支援システム200(誤り文字位置抽出部256)によって実行される、解答対応正解文字列CSiにおける誤り文字位置を抽出するための処理のフローチャートを示している。
【0129】
誤り文字位置抽出部256は、ステップ602において、解答対応正解文字列決定部250から受け取って一時記憶領域に格納した解答文字列を読み出し、ステップ604において、解答対応正解文字列決定部250から受け取って一時記憶領域に格納した解答対応正解文字列を読み出す。誤り文字位置抽出部256は、ステップ606において、解答対応正解文字列の中の文字の位置番号mを初期値m=1に、解答文字列の中の文字の位置番号nを初期値n=1に、正解文字列の照合開始文字位置番号xを初期値x=1に設定する。
【0130】
ステップ608において、誤り文字位置抽出部256は、解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいかどうか、即ち解答対応正解文字列中の全ての文字について誤り文字の抽出が終了したかどうかを判定する。位置番号mが解答対応文字列の長さより大きいと判定された場合は、手順は図32Cのステップ640に進む。
【0131】
ステップ608において位置番号mが解答対応正解文字列の長さMより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ612において、正解文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きいかどうか、即ち解答文字列中の全ての文字について比較が終了したかどうかを判定する。正解文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きいと判定された場合は、手順はステップ632に進む。
【0132】
ステップ612において正解文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ616において、解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいかどうか、即ち解答文字列中の全ての文字について誤り文字の比較または抽出が終了したかどうかを判定する。解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいと判定された場合は、手順はステップ634に進む。ステップ616において解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きくないと判定された場合は、手順は図32Bのステップ620に進む。
【0133】
図32Bを参照すると、ステップ620において、誤り文字位置抽出部256は、解答対応正解文字列の第m番の文字と解答文字列の第n番の文字が一致するかどうかを判定する。解答対応正解文字列の第m番の文字と解答文字列の第n番の文字が一致すると判定された場合は、ステップ624において、誤り文字位置抽出部256は、正解文字列の照合開始文字位置番号を1だけ増分してx=n+1と設定し、解答対応正解文字列の第m番の文字と一致する解答文字列の文字の位置番号A[m]=nを一時記憶領域に格納する。ステップ626において、誤り文字位置抽出部256は、解答対応正解文字列の文字の位置番号を1増分してm=m+1と設定し、解答文字列の文字の位置番号nを正解文字列の照合開始文字位置番号に設定し、即ちn=xと設定する。その後、手順はステップ608に戻る。
【0134】
ステップ612において解答文字列の照合開始文字位置番号xが解答文字列の長さ(文字数)Nより大きいと判定された場合、解答対応正解文字列の第m番の文字に対応する解答文字列中の文字がないので、誤り文字位置抽出部256は、ステップ632において、解答文字列中に余剰字があることを表すために、解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号としてA[m]=−1を設定して格納し、解答対応正解文字列の文字の位置番号を1増分してm=m+1と設定する。その後、手順はステップ608に戻る。
【0135】
ステップ616において解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいと判定された場合、解答対応正解文字列の第m番の文字に照合すべき解答文字列中の文字がないので、誤り文字位置抽出部256は、ステップ634において、解答文字列中に異字または脱字があることを表すために、解答対応正解文字列の第m番の文字に対する解答文字列の文字の位置番号としてA[m]=0を設定して格納し、解答対応正解文字列の文字の位置番号を1増分してm=m+1と設定し、解答文字列の文字の位置番号nを解答文字列の照合開始文字位置番号に設定し、即ちn=xと設定する。その後、手順はステップ608に戻る。
【0136】
ステップ620において解答対応正解文字列の第m番の文字と解答文字列の第n番の文字が一致しないと判定された場合は、誤り文字位置抽出部256は、ステップ636において、解答文字列の中の文字の位置番号を1増分してn=n+1と設定する。その後、手順はステップ616に戻る。
【0137】
図32Cを参照すると、ステップ608において解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さMより大きいと判定された場合は、誤り文字位置抽出部256は、ステップ640において、解答対応正解文字列の文字位置番号mを解答対応正解文字列の長さMに設定してm=Mとし、解答対応正解文字列の文字位置番号mとそれと照合すべき解答文字列の文字位置番号とのずれdを初期値d=0と設定する。
【0138】
ステップ642において、誤り文字位置抽出部256は、解答対応正解文字列の文字位置番号mが0か即ちm=0かどうかを判定する。m=0でないと判定された場合は、ステップ646において、誤り文字位置抽出部256は、格納されている解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が−1であるかどうかを判定する。
【0139】
ステップ646において解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が−1であると判定された場合は、誤り文字位置抽出部256は、ステップ648において、脱字位置のリストに解答対応正解文字列の文字位置mを追加して格納する。その後、手順はステップ668に進む。
【0140】
ステップ668において、誤り文字位置抽出部256は、解答対応正解文字列の文字位置から1だけ減分してm=m−1とする。その後、手順はステップ642に進む。
【0141】
ステップ646において解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が−1でないと判定された場合は、誤り文字位置抽出部256は、格納されている解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]が0であるかどうかを判定する。A[m]が0であると判定された場合は、誤り文字位置抽出部256は、ステップ654において、ずれdが0かどうか、即ちd=0かどうかを判定する。解答対応正解文字列と正解文字列の照合文字位置の間のずれdがない、即ちd=0と判定された場合は、ステップ656において、誤り文字位置抽出部256は、異字位置のリストに正解文字列の文字位置mを追加して格納する。その後、手順はステップ668に進む。
【0142】
ステップ654において解答対応正解文字列と正解文字列の照合文字位置にずれdがある、即ちd≠0と判定された場合は、誤り文字位置抽出部256は、脱字位置のリストに文字位置mを追加して格納し、ずれdを1だけ減分してd=d−1と設定する。その後、手順はステップ668に進む。
【0143】
ステップ650においてA[m]が0でないと判定された場合は、誤り文字位置抽出部256は、ステップ660において、ずれdが解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]と解答対応正解文字列の文字位置番号mの間の差の絶対値(|A[m]−m|)より大きいかどうかを判定する。ずれdが解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]と解答対応正解文字列の文字位置番号mの差の絶対値より大きいと判定された場合は、解答対応正解文字列の第m番の文字に対する解答文字列の文字位置と解答対応正解文字列の照合文字位置番号mのずれdの大きさが、文字位置mより後の位置における照合文字位置のずれの大きさより小さいので、誤り文字位置抽出部256は、ステップ662において、余剰字位置のリストに文字位置mを追加して格納する。
【0144】
ステップ664において、誤り文字位置抽出部256は、ずれdをd=|A[m]−m|に設定する。その後ステップ668に進む。
【0145】
ステップ660においてずれdが解答対応正解文字列の第m番の文字に対する解答文字列の文字位置番号A[m]と解答対応正解文字列の文字位置mの間の差の絶対値より大きくないと判定された場合は、手順はステップ664に進む。
【0146】
ステップ642においてm=0と判定された場合は、誤り文字位置抽出部256は、ステップ672において、解答対応正解文字列の最後の文字位置Mの文字と照合すべき解答文字列の文字位置A[M]が解答文字列の長さNより小さい(A[M]<N)かどうかを判定する。A[M]がNより小さいと判定された場合は、ステップ674において、誤り文字位置抽出部256は、余剰字位置のリストに最後の文字位置Mを追加する。その後、手順は図32A〜32Cのルーチンを出る。A[M]がNより小さくないと判定された場合は、手順はそのルーチンを出る。
【0147】
このようにして、解答対応正解文字列の各文字位置の文字と照合する正解文字列の文字位置を求め、その結果から、決定した解答対応正解文字列における誤り文字として、異字、脱字および余剰字の文字位置を抽出する。
【0148】
図32Aおよび32Bのステップ608〜636によって、解答対応正解文字列に対する解答文字列の照合文字位置が抽出される。図32Cのステップ640〜664によって、解答対応正解文字列における誤り文字位置が抽出される。
【0149】
図33A〜33Cは、図31Bのステップ546において、図12の学習支援システム200(誤り文字位置抽出部256)によって実行される、解答文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【0150】
図33Aを参照すると、ステップ602〜606は図32Aのものと同様である。
【0151】
ステップ708において、誤り文字位置抽出部256は、解答文字列の中の文字の位置番号nが解答文字列の長さ(文字数)Nより大きいかどうか、即ち解答文字列中の全ての文字について誤り文字の抽出が終了したかどうかを判定する。解答文字列の中の文字位置番号nが解答文字列の長さNより大きいと判定された場合は、手順は図33Cのステップ740に進む。
【0152】
ステップ708において解答文字列の中の文字位置番号nが解答文字列の長さNより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ712において、解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きいかどうか、即ち解答対応正解文字列中の全ての文字について比較が終了したかどうかを判定する。解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合は、手順はステップ732に進む。
【0153】
ステップ712において解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きくないと判定された場合は、誤り文字位置抽出部256は、ステップ716において、解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいかどうか、即ち解答対応正解文字列中の全ての文字について誤り文字の比較または抽出が終了したかどうかを判定する。解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合は、手順はステップ734に進む。ステップ716において解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きくないと判定された場合は、手順は図33Bのステップ720に進む。
【0154】
図33Bを参照すると、ステップ720において、誤り文字位置抽出部256は、解答文字列の第n番の文字と解答対応正解文字列の第m番の文字が一致するかどうかを判定する。解答文字列の第n番の文字と解答対応正解文字列の第m番の文字が一致すると判定された場合は、ステップ724において、誤り文字位置抽出部256は、解答対応正解文字列の照合開始文字位置番号を1だけ増分してx=m+1と設定し、解答文字列の第n番の文字と一致する解答対応正解文字列の文字の位置番号A[n]=mを一時記憶領域に格納する。ステップ726において、誤り文字位置抽出部256は、解答文字列の文字の位置番号を1増分してn=n+1と設定し、解答対応正解文字列の文字の位置番号mを解答対応正解文字列の照合開始文字位置番号に設定し、即ちm=xと設定する。その後、手順はステップ708に戻る。
【0155】
ステップ712において解答対応正解文字列の照合開始文字位置番号xが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合、解答文字列の第n番の文字に対応する解答対応正解文字列中の文字がないので、誤り文字位置抽出部256は、ステップ732において、解答文字列中に脱字があることを表すために、解答文字列の文字の位置番号nの文字に対する解答対応正解文字列の文字位置としてA[n]=−1を設定して格納し、解答文字列の文字の位置番号を1増分してn=n+1と設定する。その後、手順はステップ708に戻る。
【0156】
ステップ716において解答対応正解文字列の中の文字の位置番号mが解答対応正解文字列の長さ(文字数)Mより大きいと判定された場合、解答対応正解文字列に照合すべき解答文字列の文字がないので、誤り文字位置抽出部256は、ステップ734において、解答文字列中に余剰字があることを表すために、解答文字列の文字の位置番号nの文字に対する解答対応正解文字列の文字位置としてA[n]=0を設定して格納し、解答文字列の文字の位置番号を1増分してn=n+1と設定し、解答対応正解文字列の文字の位置番号mを解答対応正解文字列の照合開始文字位置番号設定し、即ちm=xと設定する。その後、手順はステップ708に戻る。
【0157】
ステップ720において解答文字列の第n番の文字と解答対応正解文字列の第m番の文字が一致しないと判定された場合は、誤り文字位置抽出部256は、ステップ736において、解答対応正解文字列の中の文字の位置番号を1増分してm=m+1と設定する。その後、手順はステップ716に戻る。
【0158】
図33Cを参照すると、ステップ708において解答文字列の中の文字の位置番号nが解答文字列の長さNより大きいと判定された場合は、誤り文字位置抽出部256は、ステップ740において、解答文字列の文字位置番号nを解答文字列の長さに設定し、即ちn=Nと設定し、解答文字列の文字位置番号nとそれと照合すべき解答対応正解文字列の文字位置番号とのずれdを初期値d=0と設定する。
【0159】
ステップ742において、誤り文字位置抽出部256は、解答文字列の文字位置番号nが0か、即ちn=0かどうかを判定する。n=0でないと判定された場合は、ステップ746において、誤り文字位置抽出部256は、格納されている解答文字列の位置番号nの文字に対する解答対応正解文字列の文字位置としてA[n]が−1であるかどうかを判定する。
【0160】
ステップ746においてA[n]が−1であると判定された場合は、誤り文字位置抽出部256は、ステップ748において、余剰字位置のリストに解答文字列の文字位置nを追加して格納する。その後、手順はステップ768に進む。
【0161】
ステップ768において、誤り文字位置抽出部256は、解答文字列の文字位置から1減分してn=n−1とする。その後、手順はステップ742に進む。
【0162】
ステップ746においてA[n]が−1でないと判定された場合は、誤り文字位置抽出部256は、格納されている解答文字列の第n番の文字に対する解答対応正解文字列の文字位置A[n]が0であるかどうかを判定する。A[n]が0であると判定された場合は、誤り文字位置抽出部256は、ステップ754において、ずれdが0かどうか、即ちd=0かどうかを判定する。解答文字列と解答対応正解文字列の照合文字位置の間のずれがない、即ちd=0と判定された場合は、ステップ756において、誤り文字位置抽出部256は、異字位置のリストに解答文字列の文字位置nを追加して格納する。その後、手順はステップ768に進む。
【0163】
ステップ754において解答文字列と解答対応正解文字列の照合文字位置にずれがある、即ちd≠0と判定された場合は、誤り文字位置抽出部256は、余剰字位置のリストに文字位置nを追加し、ずれdをd=d−1と設定する。その後、手順はステップ768に進む。
【0164】
ステップ750においてA[n]が0でないと判定された場合は、誤り文字位置抽出部256は、ステップ760において、ずれdが解答文字列の第n番の文字に対する解答対応正解文字列の一致文字位置番号A[n]と解答文字列の文字位置nの間の差の絶対値(|A[n]−n|)より大きいかどうかを判定する。dがA[n]とnの差の絶対値より大きいと判定された場合は、解答文字列の第n番の文字と一致または照合する解答対応正解文字列の照合文字位置のずれdの大きさが、文字位置nより後の位置における照合文字位置のずれの大きさより小さいので、誤り文字位置抽出部256は、ステップ762において、脱字位置のリストに文字位置nを追加する。ステップ764において、誤り文字位置抽出部256は、ずれdをd=|A[n]−n|に設定する。その後、手順はステップ768に進む。
【0165】
ステップ760においてずれdがA[n]とnの間の差の絶対値より大きくないと判定された場合は、手順はステップ764に進む。
【0166】
ステップ742においてn=0と判定された場合は、誤り文字位置抽出部256は、ステップ772において、解答文字列の最後の文字位置Nと一致または照合する解答対応正解文字列の文字位置A[N]が解答対応正解文字列の長さMより小さい(A[N]<M)かどうかを判定する。A[N]がMより小さいと判定された場合は、ステップ774において、誤り文字位置抽出部256は、脱字位置のリストに最後の文字位置Nを追加する。その後、手順は図33A〜33Cのルーチンを出る。A[N]がMより小さくないと判定された場合は、手順はそのルーチンを出る。
【0167】
このようにして、解答文字列の各文字位置の文字と照合する正解対応正解文字列の文字位置を求め、その結果から、解答文字列における誤り文字として、異字、脱字および余剰字の文字位置を抽出する。
【0168】
図33Aおよび33Bのステップ708〜736によって、解答文字列に対する解答対応正解文字列の照合文字位置が抽出される。図33Cのステップ740〜764によって、解答文字列における誤り文字位置が抽出される。
【0169】
図34A〜34Dは、図23の学習支援システム200によって実行される、正解/不正解を判定し、解答枠に対する解答対応正解文字列の割り付けを決定するための処理のフローチャートを示している。
【0170】
図34Aを参照すると、ステップ502は図31Aのものと同様である。ステップ804において、文字列類似度算出部248は、解答文字枠の識別番号hを初期値h=1、割り付けが確定した解答文字枠の数Aを初期値A=0と設定する。ステップ806において、文字列類似度算出部248は、識別番号hが解答枠の数Bより大きいかどうか(h>B)、即ち識別番号hの解答枠が存在しないかどうかを判定する。識別番号hが解答枠の数Bより大きい、即ち第h番の解答枠が存在しないと判定された場合は、手順は図34Bのステップ832に進む。
【0171】
ステップ806において識別番号hが解答枠の数Bより大きくない、即ち識別番号hの解答枠が存在すると判定された場合は、文字列類似度算出部248は、ステップ808において、正解文字列の識別番号iを初期値i=1、識別番号h番の解答枠の最大文字列類似度S[h]を初期値S[h]=−1、識別番号hの解答枠の最大文字列類似度を有する正解文字列の識別番号AC[h]を初期値AC[h]=0と設定する。
【0172】
ステップ810において、文字列類似度算出部248は、番号iが正解文字列の数Nより大きいかどうか(i>N)、即ち識別番号iの正解文字列が存在しないかどうかを判定する。番号iが正解文字列の数より大きい、即ち第i番の正解文字列が存在しないと判定された場合は、手順はステップ822に進む。
【0173】
ステップ810において番号iが正解文字列の数より大きくない、即ち第i番の正解文字列が存在すると判定された場合は、文字列類似度算出部248は、ステップ812において第h番の解答枠に書かれた解答文字列と第i番の正解文字列CSiとの間の文字列類似度S[h][i]を算出する。
【0174】
ステップ814において、文字列類似度算出部248は、文字列類似度S[h][i]が第h番の解答枠に対する最大文字列類似度S[h]より大きいかどうかを判定する。S[h][i]がS[h]より大きいと判定された場合は、ステップ816において、文字列類似度算出部248は、S[h]の値をS[h]=S[h][i]に更新し、識別番号hの解答枠の最大文字列類似度を有する正解文字列の識別番号AC[h]の値をAC[h]=iに更新し、両者の値(S[h]、AC[h])を解答枠識別番号hに対応づけて一時記憶領域に格納する。ステップ818において、文字列類似度算出部248は、識別番号i=i+1と設定する。
【0175】
ステップ814において、S[h][i]がS[h]より大きくないと判定された場合は、手順はステップ818に進む。その後、手順はステップ810に戻る。
【0176】
ステップ822において、解答対応正解文字列決定部9は、第h番の解答枠に対する最大文字列類似度S[h]が1と等しいかどうかを判定する。S[h]が1と等しくないと判定された場合は、手順はステップ830に進む。S[h]が1と等しいと判定された場合は、ステップ824において、解答対応正解文字列決定部9は、第h番の解答枠の解答対応正解文字列を第i番の正解文字列として設定する。
【0177】
ステップ826において、解答対応正解文字列決定部9は、確定正解文字列の一時記憶領域に識別番号iを追加する。ステップ828において、解答対応正解文字列決定部9は、確定解答枠の一時記憶領域に識別番号hを追加して格納し、割り付けが確定した解答枠の数AをA=A+1と設定する。その後、手順はステップ830に進む。
【0178】
ステップ830において、文字列類似度算出部248は、解答文字枠の識別番号hをh=h+1と設定する。その後、手順はステップ806に進む。
【0179】
図34Bを参照すると、ステップ832において、解答対応正解文字列決定部250は、割り付けが確定した確定解答文字枠の数Aが解答文字枠の数Bと等しい(A=B)かどうかを判定する。AがBと等しくないと判定された場合は、ステップ834において、解答対応正解文字列決定部250は、解答枠の識別番号hを初期値h=1、最大文字列類似度Sを初期値として識別番号hの解答枠における最大類似度S[h]、割り付けが確定した確定解答枠の識別番号kをk=hと設定する。
【0180】
ステップ838において、解答対応正解文字列決定部250は、識別番号hが解答枠の数Bより大きい(h>B)かどうかを判定する。ステップ836においてhがBより大きいと判定された場合は、手順はステップ832に戻る。
【0181】
ステップ836において識別番号hが解答文字枠の数Bより大きくないと判定された場合は、解答対応正解文字列決定部250は、ステップ840において、hが確定解答枠に含まれているかどうかを判定する。hが確定解答枠に含まれていると判定された場合は、手順はステップ836に進む。
【0182】
ステップ836において、解答対応正解文字列決定部250は、解答枠の識別番号hをh=h+1と設定する。その後、手順はステップ838に進む。
【0183】
ステップ840においてhが確定解答枠に含まれていないと判定された場合は、解答対応正解文字列決定部250は、ステップ842において、比較する解答枠の識別番号pを初期値p=h+1と設定し、第AC[h]番の正解文字列を解答対応正解文字列とする解答枠k=hと設定する。
【0184】
図34Cを参照すると、ステップ844において、解答対応正解文字列決定部250は、識別番号pが解答枠の数Bより大きいかどうかを判定する。識別番号pが解答枠の数Bより大きいと判定された場合は、解答対応正解文字列決定部250は、ステップ856において、確定正解文字列の一時記憶領域に識別番号AC[h]を追加して格納する。ステップ858において、解答対応正解文字列決定部250は、確定解答枠の一時記憶領域にkを追加して格納し、確定解答枠の数AをA=A+1と設定する。その後、手順は図35Bのステップ836に戻る。
【0185】
ステップ844において識別番号pが解答枠の数Bより大きくないと判定された場合は、解答対応正解文字列決定部250は、ステップ846において、識別番号pが確定解答枠(の一時記憶領域)の番号に含まれているかどうかを判定する。識別番号pが確定解答枠の番号に含まれていると判定された場合は、手順はステップ882に進む。
【0186】
ステップ882において、識別番号pをp=p+1と設定する。その後手順はステップ844に進む。
【0187】
ステップ846において識別番号pが確定解答枠の番号に含まれてないと判定された場合は、解答対応正解文字列決定部250は、ステップ848において、第h番の解答枠の最大文字列類似度を有する正解文字列の識別番号AC[h]が第p番の解答枠の最大文字列類似度を有する正解文字列の識別番号AC[p]と等しい(AC[h]=AC[p])かどうかを判定する。AC[h]がAC[p]と等しくないと判定された場合は、手順はステップ882に進む。
【0188】
ステップ848においてAC[h]がAC[p]と等しいと判定された場合は、解答対応正解文字列決定部250は、ステップ850において、最大文字列類似度Sが第p番の解答枠に対する最大文字列類似度S[p]より小さいか(S<S[p])どうかを判定する。SがS[p]より小さくないと判定された場合は、手順はステップ882に進む。
【0189】
ステップ580においてSがS[p]より小さいと判定された場合は、解答対応正解文字列決定部250は、ステップ852において、最大文字列類似度S=S[p]、識別番号AC[h]の正解文字列を解答対応正解文字列とする解答枠k = pと設定する。
【0190】
図34Dを参照すると、ステップ862において、解答対応正解文字列決定部250は、正解文字列の識別番号iをi=1、第h番の解答枠の確定正解文字列を除く最大文字列類似度S[h]を初期値S[h]=−1に、第h番の解答枠の確定正解文字列を除く最大文字列類似度を有する正解文字列の識別番号AC[h]を初期値AC[h]=0に設定する。
【0191】
ステップ864において、解答対応正解文字列決定部250は、正解文字列の識別番号iが正解文字列の数Nより大きいかどうかを判定する。正解文字列の識別番号iが正解文字列の数Nより大きいと判定された場合は、手順は図34Aのステップ842に戻る。
【0192】
ステップ864において正解文字列の識別番号iが正解文字列の数Nより大きくないと判定された場合は、解答対応正解文字列決定部250は、ステップ866において、正解文字列の識別番号iが確定正解文字列の(一時記憶領域の)番号に含まれているかどうかを判定する。正解文字列の識別番号iが確定正解文字列に含まれていると判定された場合は、手順はステップ872に進む。
【0193】
ステップ872において、解答対応正解文字列決定部250は、正解文字列の識別番号iをi=i+1と設定する。その後、手順はステップ864に戻る。
【0194】
ステップ866において正解文字列の識別番号iが確定正解文字列に含まれていないと判定された場合は、解答対応正解文字列決定部250は、ステップ868において、第h番の解答枠に入力された解答文字列と第i番の正解文字列との間の文字列類似度S[h][i]がS[h]より大きいかを判定する。文字列類似度S[h][i]がS[h]より大きくないと判定された場合は、手順はステップ872に進む。
【0195】
ステップ868において文字列類似度S[h][i]がS[h]より大きいと判定された場合は、解答対応正解文字列決定部250は、ステップ870において、文字列類似度S[h]=S[h][i]、正解文字列の識別番号AC[h]=iと設定する。その後、手順はステップ872に進む。
【0196】
図34Bを再び参照すると、ステップ832においてAがBと等しいと判定された場合は、全ての解答文字枠に対して解答対応正解文字列の割付けが終了し、手順は図34A〜34Dのルーチンを出る。
【0197】
解答文字枠の数と正解文字列の数が等しい場合について説明したが、正解文字列の数が解答文字枠の数より多い場合でも同様に正解文字列の割付を行うことができる。
【0198】
図35は、図25の学習支援システム200によって実行される正解/不正解を判定するための処理の別のフローチャートの一部を示している。この部分的なフローチャートは、図31Aのステップ502、図32Aのステップ602、および図33Aのステップ602と置き換えられる。
【0199】
図35を参照すると、ステップ1502において、解答文字列読出し部242は、正誤判定指示部212からの正解/不正解判定の指示(命令)に従って、解答文字列記憶部252から解答枠内の筆跡情報を取り出して文字切り出し領域候補生成部244に供給する。ステップ1504において、文字切り出し領域候補生成部244は、筆跡情報を分析して文字切り出し領域候補(文字切り出しの候補領域)を生成し、個々の文字切り出し領域候補にそれぞれの識別情報(a、b、c、...)を付与して文字切り出し領域候補記憶部254に格納し、その文字切り出し領域候補をその識別情報または識別番号とともに個別文字認識部246に供給する。
【0200】
ステップ1506において、個別文字認識部246は、識別情報または識別番号nを初期値n=1と設定する。ステップ1508において、個別文字認識部246は、一連の文字領域候補からなる各群または各パスについて、識別番号n(この場合、最初はn=1)の切り出し領域候補があるかどうかを判定する。第n番(最初はn=1)の切り出し領域候補があると判定された場合は、ステップ1510において、個別文字認識部246は、第n番の切り出し領域候補内の筆跡に対して、既知の形態で文字認識を行い、認識候補文字と認識スコアを生成する。ステップ1512において、個別文字認識部246は、識別番号n=n+1と設定する。その後、手順はステップ1508に戻る。
【0201】
ステップ1508において第n番(最初はn=1)の切り出し領域候補がないと判定された場合は、ステップ1522において、個別文字認識部246は、生成された切り出し領域候補と各領域候補に対する認識候補文字と認識スコアを最尤文字列決定部247に供給する。最尤文字列決定部247は、切り出し領域候補と各切り出し領域候補に対する認識候補文字と認識スコアを、正解文字列記憶部258に格納されている正解文字列と比較照合して、最尤文字列を決定し、その決定された最尤文字列を文字列類似度算出部248に供給する。その後、手順は、図31Aのステップ504、図32Aのステップ604、図33Aのステップ604、または図34Aのステップ602へ進む。
【0202】
図36A〜36Eは、最尤文字列決定部247によって実行される、図35のステップ1522の詳細な別のフローチャートを示している。この場合、最尤文字列の決定のための処理は、脱字および余剰文字の検出を含んでいる。
【0203】
最尤文字列決定部247は、ステップ1602において、ノード番号nに初期値n=1を設定する。ステップ1604において、最尤文字列決定部247は、生成された切り出し領域候補のノード中に第n番のノードが存在するかどうかを判定する。第n番のノードが存在しないと判定された場合は、手順は図36Eのステップ1662に進む。ステップ1604において第n番のノードが存在すると判定された場合は、ステップ1606において、最尤文字列決定部247は、その第n番ノードが先頭の切り出し領域候補かどうかを判定する。
【0204】
ステップ1606においてn番ノードが先頭の切り出し領域候補でないと判定された場合は、最尤文字列決定部247は、ステップ1610において、第n番ノードに直前に接続するリンク番号uを初期値u=1、最大文字列照合スコアmaxSを初期値maxS=0と設定する。
【0205】
ステップ1612において、最尤文字列決定部247はリンク番号uがU以下かどうかを判定する。ここで、Uは、第n番ノードに直前に接続するリンク(ノード)の合計数を表す。リンク番号uがU以下でない(Uより大)と判定された場合は、ステップ1616において、最尤文字列決定部247は、ノード番号n=n+1と設定する。その後、手順はステップ1604に戻る。
【0206】
ステップ1606において第n番ノードが先頭の切り出し領域であると判定された場合は、ステップ1618において、最尤文字列決定部247は、正解文字列における照合文字の位置Xを初期値X=1、最尤文字列における第n番ノードの文字位置Yを初期値Y=1、最大の文字列照合スコアmaxSを初期値maxS=0と設定する。続いて、ステップ1609において、最尤文字列決定部247は、直前選択ノードのノード番号tを“なし”と設定する。その後、手順はステップ1621に進む。
【0207】
ステップ1612においてリンク番号uがU以下であると判定された場合は、ステップ1613において、最尤文字列決定部247は、直前選択ノード番号tを第n番ノードに直前に接続する第u番のノードのノード番号と設定する。続いて、ステップ1621において、最尤文字列決定部247は、正解文字列における照合文字位置XをX=t番ノードの照合文字位置+1と設定し、文字位置YをY=t番ノードの文字位置+1と設定する。その後、手順は図36Bのステップ1636に進む。
【0208】
図36Bを参照すると、ステップ1636において、最尤文字列決定部247は、正解文字列中の照合文字位置Xが正解文字列の長さLを越えるかどうかを判定する。文字位置Xが長さLより大きいと判定された場合は、手順は図36Dのステップ1644へ進む。
【0209】
ステップ1636においてXがLより大きくないと判定された場合は、ステップ1682において、最尤文字列決定部247は、照合文字位置qを初期値q=Xと設定する。ステップ1684において、照合文字位置qがXとaの和(X+a)以上(q≧X+a)かどうかを判定する。ここで、aは所定の数値であり、連続して検出できる脱字および余剰字の数である。一方、qがXとaの和以上であると判定された場合は、ステップ1686において、最尤文字列決定部247はリンク番号u=u+1と設定する。その後、手順は図36Aのステップ1616に戻る。
【0210】
ステップ1684においてqがXとaの和以上でないと判定された場合は、最尤文字列決定部247は、ステップ1685においてqがLより大きいかどうかを判定する。qが正解文字列の長さLより大きいと判定された場合は、手順はステップ1686に進む。一方、qが長さLより大きくないと判定された場合は、手順は図36Cのステップ1687へ進む。
【0211】
図36Cを参照すると、ステップ1687において、最尤文字列決定部247は、正解文字列の第q番の文字がノードにおける文字候補に存在するかどうかを判定する。第q番の文字がノードにおける文字候補に存在しないと判定された場合は、ステップ1645において、最尤文字列決定部247は、文字照合スコアMS=不一致値または最低値、選択文字MJとして最大スコアの候補文字、照合文字位置MI=X−1を設定する。一方、第q番の文字がノードにおける候補に存在すると判定された場合は、ステップ1647において最尤文字列決定部247は、文字スコアMS=ノードにおける照合文字位置qの文字のスコア+加算値(一致値)、選択文字MJとして正解文字列の第q番の文字、照合文字位置MI=qを設定する。その後、手順はステップ1649へ進む。
【0212】
ステップ1649において、最尤文字列決定部247は、文字列照合スコア=(第t番ノードのMRS×(Y−1)+MS)/Yと設定する。ステップ1651において、文字列照合スコアMRSが最大の文字列照合スコアmaxSより大きいかどうかを判定する。文字列照合スコアMRSが最大スコアmaxSより大きくないと判定された場合は、手順はステップ1698進み、その後、図36Bのステップ1684へ戻る。
【0213】
ステップ1651において文字列照合スコアMRSが最大の文字列スコアmaxSより大きいと判定された場合は、ステップ1652において、最尤文字列決定部247は、最大の文字列スコアmaxS=MRSと設定する。ステップ1696において、最尤文字列決定部247は、照合文字位置MI、選択文字MJ、最大の文字列照合スコアmaxS、文字位置Y、直前選択ノードとして第t番ノード、を第n番ノードに関連づけて格納する。その後、手順はステップ1698に進む。
【0214】
図36Dを参照すると、図36Bのステップ1636のYES分岐の後のステップ1644において、最尤文字列決定部247は、文字照合スコアMS=不一致値または最低値、選択文字MJとして最大スコアの候補文字を設定する。
【0215】
ステップ1649において、最尤文字列決定部247は、文字列照合スコア=(第t番ノードのMRS×(Y−1)+MS)/Yと設定する。ステップ1651において、最尤文字列決定部247は、文字列照合スコアMRSが最大の文字列照合スコアmaxSより大きいかどうかを判定する。文字列照合スコアMRSが最大スコアmaxSより大きくないと判定された場合は、手順は図36Aのステップ1612へ戻る。
【0216】
ステップ1651において文字列照合スコアMRSが最大の文字列スコアmaxSより大きいと判定された場合は、ステップ1652において、最尤文字列決定部247は、最大の文字列スコアmaxS=MRSと設定する。ステップ1708において、最尤文字列決定部247は、照合文字位置X、選択文字MJ、最大の文字列照合スコアmaxMRS、文字位置Y、および、直前の選択ノードとして第t番ノード、を第n番ノードに関連づけて格納する。ステップ1712において、最尤文字列決定部247は、u=u+1と設定する。その後、手順は図36Aのステップ1612に戻る。
【0217】
図36Eを参照すると、図36Aのステップ1604のNO分岐の後、ステップ1662において、最尤文字列決定部247は、末尾ノードの順序番号rを初期値r=1、末尾ノードの最大の文字列照合スコアMAXを初期値MAX=0と設定する。
【0218】
ステップ1664において、最尤文字列決定部247は、文字切り出し領域の末尾ノードとしての第r番のノードが存在するかどうかを判定する。それが存在しないと判定された場合は、ステップ1676において、最尤文字列決定部247は、決定された末尾ノードLastから先行ノードへと辿って選択文字をつないで最尤文字列を決定する。
【0219】
ステップ1664において末尾ノードとしての第r番のノードが存在すると判定された場合は、ステップ1666において、最尤文字列決定部247は、末尾ノードとしての第r番のノード番号をCと設定する。ステップ1668において、最尤文字列決定部247は、第C番ノードの文字列照合スコアMRSが最大の文字列照合スコアMAXより小さいかどうかを判定する。MRSがMAXより小さくないと判定された場合は、ステップ1672において、最尤文字列決定部247は、r=r+1と設定する。その後、手順はステップ1664に戻る。一方、MRSがMAXより小さいと判定された場合は、ステップ1670において、最尤文字列決定部247は、MAX=MRS、Last=Cと設定する。その後、手順はステップ1672に進む。
【0220】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【0221】
この明細書および図面に開示された学習支援システムは、解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、1つの解答枠に対して入力された1つの解答文字列を解答文字列記憶領域に格納する解答文字列管理手段と、解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、読み出した解答文字列と正解文字列群記憶領域における上述の1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、複数の解答文字列の中から解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、解答文字列と対応正解文字列を照合して、解答文字列の正誤判定を行う正誤判定手段と、を含む。このような構成によれば、解答文字列に対応する正解文字列を選択して解答対応正解文字列として決定するという働きにより、正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【0222】
また、この明細書および図面に開示された学習支援システムは、上述の構成に加え、1つの解答枠に対するユーザによる解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、ユーザによって入力された解答文字列を上述の1つの解答枠に表示する解答文字列表示手段と、解答対応正解文字列決定手段によって決定された解答対応正解文字列を解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含む。このような構成によれば、解答対応正解文字列を解答対応政界文字列以外の正解文字列と異なる形態で表示するという働きにより、入力された解答に対応した正解文字列が一目で分かるように表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が瞬時に把握しやすくなるという効果が期待される。
【0223】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、複数の解答文字列の中から前記解答文字列に対応する等しい類似度を有する互いに等しい1つ以上の解答対応正解文字列の数が複数であった場合に、対応正解文字列決定手段は、当該1つ以上の正解文字列の中の1つだけを解答対応正解文字列として決定する。このような構成によれば、等しい類似度を有する互いに等しい1つ以上の解答対応正解文字列の中の1つだけを解答対応正解文字列として決定するという働きにより、1つの解答枠にして常に1つの解答対応正解文字列を表示することが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列が分かりやすく表示できるという効果が期待される。
【0224】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、解答対応正解文字列と解答文字列とを比較して、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を抽出する誤り文字位置抽出手段を含み、正解文字列表示手段は、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置に基づいて、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を表示する。このような構成によれば、解答対応正解文字列における解答文字列に対する異字、脱字または余剰字の位置を表示するという働きにより、解答文字列の一部が間違いである場合にその間違い箇所を示すことが可能となり、学習者にとって学習者が入力した解答に対応する正解文字列の中での間違い箇所が把握しやすくなるという効果が期待される。
【0225】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、誤り文字位置抽出手段は、さらに、解答文字列における前記解答対応正解文字列に対する異字、脱字または余剰字の位置を抽出し、解答文字列表示手段は、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置に基づいて、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置を表示する。このような構成によれば、解答文字列における解答対応正解文字列に対する異字、脱字または余剰字の位置を表示するという働きにより、解答文字列の一部が間違いである場合にその間違い箇所を示すことが可能となり、学習者にとって学習者が入力した解答文字列の中での間違い箇所が把握しやすくなるという効果が期待される。
【0226】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、1つの解答枠は、複数の正解文字列に対応し得る複数の解答枠の1つであり、文字列類似度算出手段は、複数の解答枠の各々における解答文字列と複数の正解文字列の各々との間の文字列類似度を算出し、解答対応正解文字列決定手段は、複数の解答枠の各々における解答文字列と複数の正解文字列の各々との間の文字列類似度に基づいて、複数の解答枠に対して複数の正解文字列の中の正解文字列を排他的に選択して割り付けて解答対応正解文字列として決定する。このような構成によれば、複数の解答枠に対して複数の正解文字列の中の正解文字列を排他的に選択して割り付けて解答対応正解文字列として決定するという働きにより、順不同の複数の正解文字列を持つ場合に正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、順不動の複数の正解文字列をもつ場合に学習者にとって学習者が入力した解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【0227】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、記憶手段は、複数の解答枠に対する解答対応正解文字列を表示するための表示位置の情報を格納する表示位置情報記憶領域を含み、さらに、複数の解答枠に対する表示位置の情報を取得する正解文字列表示位置取得手段を含み、解答対応正解文字列表示手段は、複数の解答枠に対する表示位置に、前記割り付けられた正解文字列の中の対応する正解文字列を表示する。このような構成によれば、複数の解答枠に対する表示位置に割り付けられた割付正解文字列の中の対応する正解文字列を表示するという働きにより、順不同の複数の正解文字列をもつ場合に複数の解答枠のそれぞれに対する表示位置に解答対応正解文字列を表示することが可能となり、順不動の複数の正解文字列を持つ場合に学習者にとって学習者が入力した解答に対応する正解文字列が分かりやすく表示できるという効果が期待される。
【0228】
また、この明細書および図面に開示された学習支援システムは、上述の構成の任意の組合せにおいて、記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、解答文字列管理手段は、さらに、1つの解答枠に対して入力された筆跡情報を解答文字列記憶領域に格納し、解答文字列読出し手段は、さらに、解答文字列記憶領域から筆跡情報を読み出し、さらに、読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、複数の領域候補の中の可能な組み合わせの各領域候補に対する複数の候補文字を、正解文字列群記憶領域における正解文字列における文字と照合して、最尤文字列を決定して解答文字列として文字列類似度算出手段に供給する最尤文字列決定手段と、を含む。このような構成によれば、解答文字列が手書きで入力された場合にも正誤判定結果だけでなく、入力された解答に対応した正解文字列が分かるように表示することが可能となり、手書きで解答することによる学習効果に加えて、学習者にとって学習者が入力した手書き解答に対応する正解文字列が把握しやすくなるという効果が期待される。
【0229】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) 解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、
を含むことを特徴とする学習支援システム。
(付記2) さらに、前記1つの解答枠に対するユーザによる前記解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、前記ユーザによって入力された前記解答文字列を前記1つの解答枠に表示する解答文字列表示手段と、前記解答対応正解文字列決定手段によって決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、前記正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含むことを特徴とする、付記1に記載の学習支援システム。
(付記3) 前記複数の解答文字列の中から前記解答文字列に対応する等しい類似度を有する互いに等しい前記1つ以上の正解対応正解文字列の数が複数であった場合に、解答対応正解文字列決定手段は、前記1つ以上の正解文字列の中の1つだけを前記解答対応正解文字列として決定することを特徴とする、付記1または2に記載の学習支援システム。
(付記4) さらに、前記解答対応正解文字列と前記解答文字列とを比較して、前記解答対応正解文字列における前記解答文字列に対する異字、脱字または余剰字の位置を抽出する誤り文字位置抽出手段を含み、
前記正解文字列表示手段は、前記解答対応正解文字列における前記解答文字列に対する前記異字、脱字または余剰字の位置に基づいて、前記解答対応正解文字列における前記解答文字列に対する前記異字、脱字または余剰字の位置を表示するものであることを特徴とする、付記1乃至3のいずれかに記載の学習支援システム。
(付記5) 前記誤り文字位置抽出手段は、さらに、前記解答文字列における前記解答対応正解文字列に対する異字、脱字または余剰字の位置を抽出し、
前記解答文字列表示手段は、前記解答文字列における前記対応正解解答文字列に対する前記異字、脱字または余剰字の位置に基づいて、前記解答文字列における前記解答対応正解文字列に対する前記異字、脱字または余剰字の位置を表示するものであることを特徴とする、付記4のいずれかに記載の学習支援システム。
(付記6) 前記1つの解答枠は、前記複数の正解文字列に対応し得る複数の解答枠の1つであり、
前記文字列類似度算出手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の文字列類似度を算出し、
前記解答対応正解文字列決定手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の前記文字列類似度に基づいて、前記複数の解答枠に対して前記複数の正解文字列の中の前記正解文字列を排他的に選択して割り付けて前記解答対応正解文字列として決定するものであることを特徴とする、付記1乃至5のいずれかに記載の学習支援システム。
(付記7) 前記記憶手段は、前記複数の解答枠に対する解答対応正解文字列を表示するための表示位置の情報を格納する表示位置情報記憶領域を含み、
さらに、前記複数の解答枠に対する前記表示位置の情報を取得する正解文字列表示位置取得手段を含み、
前記解答対応正解文字列表示手段は、前記複数の解答枠に対する前記表示位置に、前記割り付けられた正解文字列の中の対応する正解文字列を表示するものであることを特徴とする、付記6に記載の学習支援システム。
(付記8) 前記記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、
前記解答文字列管理手段は、さらに、前記1つの解答枠に対して入力された筆跡情報を前記解答文字列記憶領域に格納し、
前記解答文字列読出し手段は、さらに、前記解答文字列記憶領域から筆跡情報を読み出し、
さらに、前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列群記憶領域における正解文字列における文字と照合して、最尤文字列を決定して前記解答文字列として前記文字列類似度算出手段に供給する最尤文字列決定手段と、
を含むことを特徴とする、付記1乃至7のいずれかに記載の学習支援システム。
(付記9) 解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
前記情報処理装置に
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納するステップと、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出すステップと、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出するステップと、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定するステップと、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行うステップと、
を実行させるよう動作可能なプログラム。
(付記10) 解答文字列記憶領域および正解文字列群記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する工程と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出す工程と、
前記読み出した解答文字列と前記正解文字列群記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する工程と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する工程と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う工程と、
を含む、学習支援方法。
【図面の簡単な説明】
【0230】
【図1】図1は、本発明の実施形態に用いることができる情報処理装置および学習支援サーバを示している。
【図2】図2は、図1の情報処理装置および/または学習支援サーバによって実現される学習支援システムの構成を示している。
【図3】図3は、ユーザによって入力され解答文字列読出し部によって読み出された解答文字列、その解答に対応する正解文字列、解答文字列と正解文字列の間の一致文字数、および解答文字列と正解文字列の間の算出された類似度の例を示している。
【図4】図4Aおよび4Bは、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、大きい四角の解答枠における解答文字列、その解答文字列に対する解答枠における判定結果、および解答枠の上の位置における解答対応正解文字列の例を示している。
【図5】図5は、図1の情報処理装置および/または学習支援サーバによって実現される学習支援システムの別の構成を示している。
【図6】図6Aおよび6Bは、図5の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における解答文字列における誤り文字位置と誤り文字の種類を示している。
【図7】図7は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果および解答対応正解文字列の例を示している。
【図8】図8Aは、ユーザによって入力され解答文字列読出し部によって読み出された別の解答文字列、それに対応する正解文字列、一致文字数、および算出された類似度の例を示している。図8Bおよび8Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置の例を示している。図8Dは、解答対応正解文字列における誤り文字位置とその誤りの種類の例を示している。
【図9】図9は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果と解答対応正解文字列の例を示している。
【図10】図10Aは、ユーザによって入力され解答文字列読出し部によって読み出されたさらに別の解答文字列、それに対応する正解文字列、一致文字数、および算出された類似度の例を示している。図10Bおよび10Cは、比較すべき解答対応正解文字列および解答文字列と、解答対応正解文字列の文字位置に対する解答文字列との間の一致文字位置、不一致、脱字の位置を示している。図10Dは、解答対応正解文字列における誤り文字位置と誤りの種類の例を示している。
【図11】図11は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図12】図12は、図1の情報処理装置および/または学習支援サーバによって実現される学習支援システムのさらに別の構成を示している。
【図13】図13Aおよび13Bは、図12の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における誤り文字位置と、解答文字列における誤り文字位置と、誤り文字の誤りの種類を示している。
【図14】図14は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図15】図15A〜15Cは、図12の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答対応正解文字列における誤り文字位置と、解答文字列における誤り文字位置の誤りの種類の例を示している。
【図16】図16は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図17A】図17A〜17Cは、図12の学習支援システムの解答対応正解文字列決定から誤り文字位置抽出部に供給された比較すべき解答対応正解文字列および解答文字列と、誤り文字位置抽出部によって抽出された解答文字列における誤り文字位置と、解答文字列のおける誤り文字の誤りの種類の例を示している。
【図17B】(図17Aで説明)
【図17C】(図17Aで説明)
【図18】図18は、解答文字列が不正解の場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図19】図19Aは、ユーザによって入力され解答文字列読出し部によって読み出された3つの解答文字列、対応する3つの正解文字列、および算出された類似度の例を示している。図19Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、各解答文字列に対する解答対応正解文字列の割り付けまたは対応付けの例を示している。
【図20】図20は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列例を示している。
【図21】図21Aは、ユーザによって入力され解答文字列読出し部によって読み出された2つの解答文字列、可能な4つの正解文字列、および算出された類似度の例を示している。図21Bは、解答文字列と解答対応正解文字列の間の類似度に基づく、解答文字列に対する解答対応正解文字列の割り付けまたは対応付けを示している。
【図22】図22は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列、解答枠における解答文字列に対する判定結果、および解答対応正解文字列の例を示している。
【図23】図23Aは、表示装置112に表示された3つの解答枠識別番号、および正解文字列表示位置取得部によって取得された解答文字列対応正解文字列の表示位置(座標)を示している。図23Bは、図19Aの文字列類似度に基づいて、解答対応文字列決定部250によって割り付けられた解答対応正解文字列を示している。
【図24】図24は、解答文字列が正解および不正解を含む場合における、解答文字列表示部、正誤判定表示部および正解文字列表示部によって表示された、解答枠における解答文字列に対する判定結果と、解答対応正解文字列の例を示している。
【図25】図25は、図1の情報処理装置および/または学習支援サーバによって実現されるさらに別の学習支援システムの構成を示している。
【図26】図26Aは、ユーザによって入力され筆跡情報読出し部によって取り込まれた手書きの解答文字列の筆跡の例を示している。図26Bは、図26Aの筆跡座標データに対して、文字切り出し領域候補生成部によって生成された文字切り出し候補の例を示している。図26Cは、個別文字認識部による、図26Bに示された文字切り出し領域候補に対する認識候補文字および認識スコアの一例を示している。
【図27】図27A〜27Dは、最尤文字列決定部により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の1つに対する図26Bの文字切り出し候補の最尤文字列を決定する手順の例を示している。
【図28】図28A〜28Dは、最尤文字列決定部により、図26Cの認識候補文字の文字照合スコアおよび文字列照合スコアを求めて、正解文字列の別の1つに対する図26Bの文字切り出し候補の最尤文字列を決定する手順の例を示している。
【図29】図29は、解答対応正解文字列決定部によって、最尤文字列に対する解答対応正解文字列を決定する方法を説明するのに役立つ。
【図30】図30は、図25の学習支援システムによる不正解の場合の解答文字列の正誤判定結果の例を示している。
【図31A】図31Aおよび31Bは、図2の学習支援システムによって実行される正解/不正解を判定するための処理のフローチャートを示している。
【図31B】(図31Aで説明)
【図32A】図32A〜32Cは、図31Bのステップにおいて、図5の学習支援システムによって実行される、解答対応正解文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【図32B】(図32Aで説明)
【図32C】(図32Aで説明)
【図33A】図33A〜33Cは、図31Bのステップ546において、図12の学習支援システムによって実行される、解答文字列における誤り文字位置を抽出するための処理のフローチャートを示している。
【図33B】(図33Aで説明)
【図33C】(図33Aで説明)
【図34A】図34A〜34Dは、図23の学習支援システムによって実行される、正解/不正解を判定し、解答枠に対する解答対応正解文字列の割り付けを決定するための処理のフローチャートを示している。
【図34B】(図34Aで説明)
【図34C】(図34Aで説明)
【図34D】(図34Aで説明)
【図35】図35は、図25の学習支援システムによって実行される正解/不正解を判定するための処理の別のフローチャートの一部を示している。
【図36A】図36A〜36Eは、最尤文字列決定部によって実行される、図35のステップの詳細な別のフローチャートを示している。
【図36B】(図36Aで説明)
【図36C】(図36Aで説明)
【図36D】(図36Aで説明)
【図36E】(図36Aで説明)
【符号の説明】
【0231】
200 学習支援システム
222 解答文字列管理部
242 解答文字列読出し部
248 文字列類似度算出部
250 解答対応正解文字列決定部
254 正誤判定部
258 正解文字列群記憶部
【特許請求の範囲】
【請求項1】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、
前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、
を含むことを特徴とする学習支援システム。
【請求項2】
さらに、前記1つの解答枠に対するユーザによる前記解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、前記ユーザによって入力された前記解答文字列を前記1つの解答枠に表示する解答文字列表示手段と、前記解答対応正解文字列決定手段によって決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、前記正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含むことを特徴とする、請求項1に記載の学習支援システム。
【請求項3】
前記複数の解答文字列の中から前記解答文字列に対応する等しい類似度を有する互いに等しい前記1つ以上の正解対応正解文字列の数が複数であった場合に、対応正解文字列決定手段は、前記1つ以上の正解文字列の中の1つだけを前記解答対応正解文字列として決定することを特徴とする、請求項1または2に記載の学習支援システム。
【請求項4】
前記1つの解答枠は、前記複数の正解文字列に対応し得る複数の解答枠の1つであり、
前記文字列類似度算出手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の文字列類似度を算出し、
前記解答対応正解文字列決定手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の前記文字列類似度に基づいて、前記複数の解答枠に対して前記複数の正解文字列の中の前記正解文字列を排他的に選択して割り付けて前記解答対応正解文字列として決定するものであることを特徴とする、請求項1乃至3のいずれかに記載の学習支援システム。
【請求項5】
前記記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、
前記解答文字列管理手段は、さらに、前記1つの解答枠に対して入力された筆跡情報を前記解答文字列記憶領域に格納し、
前記解答文字列読出し手段は、さらに、前記解答文字列記憶領域から筆跡情報を読み出し、
さらに、前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定して前記解答文字列として前記文字列類似度算出手段に供給する最尤文字列決定手段と、
を含むことを特徴とする、請求項1乃至4のいずれかに記載の学習支援システム。
【請求項6】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
前記情報処理装置に
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納するステップと、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出すステップと、
前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出するステップと、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定するステップと、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行うステップと、
を実行させるよう動作可能なプログラム。
【請求項7】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する工程と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出す工程と、
前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する工程と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する工程と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う工程と、
を含む、学習支援方法。
【請求項1】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する解答文字列管理手段と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読出し手段と、
前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する文字列類似度算出手段と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する解答対応正解文字列決定手段と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う正誤判定手段と、
を含むことを特徴とする学習支援システム。
【請求項2】
さらに、前記1つの解答枠に対するユーザによる前記解答文字列を入力する解答入力手段と、ユーザによる正誤判定指示を入力する正誤判定指示手段と、前記ユーザによって入力された前記解答文字列を前記1つの解答枠に表示する解答文字列表示手段と、前記解答対応正解文字列決定手段によって決定された前記解答対応正解文字列を前記解答対応正解文字列以外の正解文字列と異なる形態で表示する正解文字列表示手段と、前記正誤判定手段から受け取った正誤判定の結果を表示する正誤判定表示手段と、を含むことを特徴とする、請求項1に記載の学習支援システム。
【請求項3】
前記複数の解答文字列の中から前記解答文字列に対応する等しい類似度を有する互いに等しい前記1つ以上の正解対応正解文字列の数が複数であった場合に、対応正解文字列決定手段は、前記1つ以上の正解文字列の中の1つだけを前記解答対応正解文字列として決定することを特徴とする、請求項1または2に記載の学習支援システム。
【請求項4】
前記1つの解答枠は、前記複数の正解文字列に対応し得る複数の解答枠の1つであり、
前記文字列類似度算出手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の文字列類似度を算出し、
前記解答対応正解文字列決定手段は、前記複数の解答枠の各々における解答文字列と前記複数の正解文字列の各々との間の前記文字列類似度に基づいて、前記複数の解答枠に対して前記複数の正解文字列の中の前記正解文字列を排他的に選択して割り付けて前記解答対応正解文字列として決定するものであることを特徴とする、請求項1乃至3のいずれかに記載の学習支援システム。
【請求項5】
前記記憶手段は、さらに、文字切り出し領域候補記憶領域および文字認識辞書記憶領域を含み、
前記解答文字列管理手段は、さらに、前記1つの解答枠に対して入力された筆跡情報を前記解答文字列記憶領域に格納し、
前記解答文字列読出し手段は、さらに、前記解答文字列記憶領域から筆跡情報を読み出し、
さらに、前記読み出した筆跡情報を文字単位の複数の領域候補に切り出す文字切り出し領域候補生成手段と、
前記文字切り出し領域候補生成手段により生成された複数の領域候補内の筆跡情報に対して、前記文字認識辞書記憶領域における文字認識辞書の情報に基づいて個々に文字認識を行って複数の候補文字を生成する個別文字認識手段と、
前記複数の領域候補の中の可能な組み合わせの各領域候補に対する前記複数の候補文字を、前記正解文字列記憶領域における正解文字列における文字と照合して、最尤文字列を決定して前記解答文字列として前記文字列類似度算出手段に供給する最尤文字列決定手段と、
を含むことを特徴とする、請求項1乃至4のいずれかに記載の学習支援システム。
【請求項6】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられるプログラムであって、
前記情報処理装置に
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納するステップと、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出すステップと、
前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出するステップと、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定するステップと、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行うステップと、
を実行させるよう動作可能なプログラム。
【請求項7】
解答文字列記憶領域および正解文字列記憶領域を含む記憶手段と、プロセッサとを具える情報処理装置に用いられる学習支援方法であって、
1つの解答枠に対して入力された1つの解答文字列を前記解答文字列記憶領域に格納する工程と、
前記解答文字列記憶領域から解答文字列を読み出す解答文字列読み出す工程と、
前記読み出した解答文字列と前記正解文字列記憶領域の前記1つの解答枠に対する複数の正解文字列との間の文字列類似度を算出する工程と、
前記解答文字列と前記複数の正解文字列の間のそれぞれの文字列類似度に基づいて、前記複数の解答文字列の中から前記解答文字列に対応する1つ以上の正解文字列を選択して1つ以上の解答対応正解文字列として決定する工程と、
前記解答文字列と前記対応正解文字列を照合して、前記解答文字列の正誤判定を行う工程と、
を含む、学習支援方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図17C】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31A】
【図31B】
【図32A】
【図32B】
【図32C】
【図33A】
【図33B】
【図33C】
【図34A】
【図34B】
【図34C】
【図34D】
【図35】
【図36A】
【図36B】
【図36C】
【図36D】
【図36E】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図17C】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31A】
【図31B】
【図32A】
【図32B】
【図32C】
【図33A】
【図33B】
【図33C】
【図34A】
【図34B】
【図34C】
【図34D】
【図35】
【図36A】
【図36B】
【図36C】
【図36D】
【図36E】
【公開番号】特開2009−276709(P2009−276709A)
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願番号】特願2008−130391(P2008−130391)
【出願日】平成20年5月19日(2008.5.19)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願日】平成20年5月19日(2008.5.19)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]