(57)【要約】【課題】誤った解答をしたユーザに解答のヒントを与えることを防ぐことを目的とする。【解決手段】解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する文字パターン照合部と、前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する判定部と、を有する文字認識装置が提供される。【選択図】図５
2018112931.tif 000002
【特許請求の範囲】
【請求項１】
解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する文字パターン照合部と、
前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する判定部と、
を有する文字認識装置。
【請求項２】
前記照合した結果に基づき、前記解答欄に手書きされた文字列のうちの少なくともいずれかの文字の照合に失敗したと判定した場合、前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字を、照合に成功したと判定した文字と区別して表示する表示部を有する、
請求項１に記載の文字認識装置。
【請求項３】
前記表示部は、前記認識文字列のうち前記照合に失敗したと判定した文字を伏字にして表示するか、又は前記手書きされた文字列の文字パターンにして表示する、
請求項２に記載の文字認識装置。
【請求項４】
前記文字パターン照合部は、前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字については、既に照合した前記認識文字列よりも下位の候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合し、
前記判定部は、前記照合した結果に基づき、前記照合に失敗したと判定した文字について前記下位の候補となる認識文字列の対応する文字を表示するか否かを判定する、
請求項１〜３のいずれか一項に記載の文字認識装置。
【請求項５】
解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する処理と、
前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する処理と、
をコンピュータに実行させるための文字認識プログラム。
【請求項６】
解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する処理と、
前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する処理と、
をコンピュータが実行する文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置、文字認識プログラム及び文字認識方法に関する。
【背景技術】
【０００２】
タッチパネルを搭載した端末に指等の手書きで文字を入力する際に、入力した文字の認証精度を向上させる技術が知られている（例えば、特許文献１〜３参照）。例えば、特許文献１は、指等で入力した文字列の各文字の区切り位置を判断し、１つの文字列について何通りかの区切りで文字列を切り出し、切り出した文字列毎に類似する文字候補を決定し、文字認識する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１９７８４０号公報
【特許文献２】特開２０１４−６７３０３号公報
【特許文献３】特開平７−２７１８９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献は、入力した文字列の各文字を正しく認識し、ユーザが望む文字を正確に入力するための技術である。このため、通常、文字認識された候補の文字は表示され、ユーザが正しく文字認識されているかを確認できるようになっている。
【０００５】
一方、端末に表示された解答欄に指等で解答を入力する場合、端末側で自動採点する際に解答欄に入力された解答に対して文字認識された候補の文字を表示すると、問題に対する正解を表示する場合が生じ、誤った解答をしたユーザに解答のヒントを提示してしまうことがある。
【０００６】
そこで、１つの側面では、本発明は、誤った解答をしたユーザに解答のヒントを与えることを防ぐことを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する文字パターン照合部と、前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する判定部と、を有する文字認識装置が提供される。
【発明の効果】
【０００８】
１つの側面では、本発明は、誤った解答をしたユーザに解答のヒントを与えることを防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るタブレット端末の機能構成の一例を示す図。
【図２】一実施形態に係るタブレット端末のハードウェア構成の一例を示す図。
【図３】一実施形態に係るタブレット端末を利用したテストの一例を示す図。
【図４】一実施形態に係る文字認識処理の一例を示すフローチャート。
【図５】一実施形態に係る文字認識処理（続き）の一例を示すフローチャート。
【図６】一実施形態に係る文字認識（正解が与えられた場合）の一例を示す図。
【図７】一実施形態に係る文字認識（正解に似ている誤字が与えられた場合）の一例を示す図。
【図８】一実施形態に係る文字認識（不正解かつ誤字が与えられた場合）の一例を示す図。
【図９】一実施形態に係る文字認識（不正解が与えられた場合）の一例を示す図。
【図１０】一実施形態に係る筆画の辞書パターンと入力文字列パターンとの照合の一例を示す図。
【図１１】一実施形態に係る筆画の各部の対応例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１１】
［解答の自動採点］
タッチパネルを搭載したタブレット端末等を用いて、指等のタッチ操作で問題に対する解答を入力することで試験を受けるシステムがある。このとき受けたテストは、システム側で自動採点され、受験者に採点結果が公表される。自動採点の際、受験者が手書きで書いた解答の文字列は、文字認識技術を用いて即座に文字認識され、システムが解答をどの文字に解釈したのかを受験者が確認できるように、認識結果の文字列が表示される。受験者は、認識結果がすぐに確認できるため、誤認識があった場合は、改めて丁寧に書き直せば良い。これにより、誤認識による誤採点をほぼなくすことができる。また受験者は漢字も含めて手書きで解答するため、かな漢字変換などと異なり、正しい表記を知らなければ正答することができない。試験において表記も含めた知識の確認が可能となる。
【００１２】
しかし、文字認識は文字入力のための手段であり、相対的にどの文字に一番形が近いかの候補文字を挙げることはできるが誤字かどうかの判定は行わない。したがって、文字の形をうろ覚えでも、正解に近い文字の場合には、正解として認識ができてしまうことがある。例えば、「形」の最後の３本を２本で書いても他に似ている文字がないために「形」という文字が認識できてしまうことがある。これは字形変動に強い高性能な文字認識エンジンほど顕著である。この場合、間違った文字が書かれても正解文字が表示されてしまうため、受験者に対して試験中に正しい字形を教えてしまうことになる。
【００１３】
また逆に、認識エンジンは正しく書いても間違った文字を認識してしまうことがある。入力した字形が他の文字の辞書パターンの方により似通ってしまっているといった原因により、誤認識が生じる。
【００１４】
そこで、以下に説明する本実施形態に係るタブレット端末１０では、自動採点システムにおける手書きの解答の認識結果の表示において、誤認識を減らすとともに、受験者に対して過剰なヒントを与えないようにする。
【００１５】
なお、本実施形態に係るタブレット端末１０は、文字認識機能を有する文字認識装置の一例である。文字認識装置の他の例としては、スマートフォン、ＰＤＡ（Personal Digital Assistants）、携帯電話、携帯用ゲーム機器、ＨＭＤ（Head Mount Display）、ＦＭＤ（Face Mount Display）のウェアラブルデバイス等、手書きで文字入力できるデバイスが挙げられる。文字認識装置は、タブレット端末１０等とサーバ装置とがネットワークで接続されたシステムであってもよい。この場合、タブレット端末１０を用いて入力された文字列をサーバ装置で文字認識することで自動採点が行われる。
【００１６】
［タブレット端末の機能構成］
一実施形態に係るタブレット端末１０の機能構成の一例について、図１を参照しながら説明する。タブレット端末１０は、記憶部１１、文字切り出し部１２、文字認識部１３、正解文字照合部１４、文字パターン照合部１５、文字列認識部１６、判定部１７、表示部１８及び文字選択部１９を有する。
【００１７】
記憶部１１は、解答ＤＢ（データベース）２１、辞書パターンＤＢ２２及び文脈ＤＢ２３を有する。解答ＤＢ２１は、問題と解答を関連付けて記憶する。例えば、「空気の１／５を占める成分は何でしょう」の問題に対して「酸素」の解答が記憶される。
【００１８】
辞書パターンＤＢ２２は、字形に関連付けて認識される文字を記憶する。例えば、「研」の字形に対して、「石」、「井」、「研」の文字が抽出されるようにしてもよい。辞書パターンＤＢ２２は、書き順に関連付けて認識される文字を記憶してもよい。この場合には、文字を書くときのペンの動きを検出し、書き順から文字を認識する。文脈ＤＢ２３は、文字と文字が隣り合う確率を記憶し、確率の高さに応じて文脈のつながり易さを判定するために使用される。
【００１９】
文字切り出し部１２は、解答記入欄に手書きされた文字列から文字切り出し候補を生成する。文字切り出し部１２は、指等で入力した文字列の各文字の区切り位置を判断し、１つの文字列について何通りかの区切りで文字列を切り出す。
【００２０】
文字切り出し部１２は、解答記入欄に一文字毎の記入欄が用意されていて、記入枠によって文字区切りが一意に定まる場合、記入枠により文字列の各文字の区切り位置を判断し、その区切りで文字列を切り出すようにしてもよい。
【００２１】
文字認識部１３は、辞書パターンＤＢ２２に基づき、文字切り出し部１２から生成された文字切り出し候補の文字に関連付けて認識される文字を認識する。以下、文字切り出し候補を認識した文字を、「認識候補ラティス」という。
【００２２】
正解文字照合部１４は、解答ＤＢ２１に基づき問題に対する解答を取得し、取得した解答の正解文字列と認識候補ラティスとを照合し、解答記入欄に手書きされた文字列と正解文字列との照合が成功か否かを判定する。正解文字列と認識候補ラティスとの照合は、正解文字列と認識候補ラティスとの類似度に基づき行われる。
【００２３】
判定部１７は、正解文字列と認識候補ラティスの各候補との類似度が所定の閾値（第２の閾値）よりも低い場合、照合に失敗したと判定し、正解文字列と認識候補ラティスのいずれかの候補との類似度が第２の閾値以上である場合、照合に成功したと判定する。
【００２４】
文字パターン照合部１５は、解答記入欄に手書きされた文字列から認識した認識候補ラティスの各候補の文字列（以下、「入力文字列パターン」ともいう。）の各文字を構成する部位の字形と、正解文字列の辞書パターンの文字列の各文字を構成する部位の字形とを照合する。各文字を構成する部位の字形を部位ごとに照合することを、「詳細照合」ともいう。
【００２５】
文字パターン照合部１５は、入力文字列パターンの各文字を構成する部位の字形と辞書パターンの各文字を構成する部位の字形との間の位置や方向を示す「距離値」に基づき詳細照合を行う。なお、文字パターン照合部１５は、正解文字照合部１４による照合の結果、正解文字列との照合に失敗した場合に限らず、正解文字列との照合に成功した場合にも詳細照合を行う。
【００２６】
つまり、詳細照合では、判定部１７により、上記距離値に基づき、各文字を構成する部位毎の「距離値」が所定の閾値（第１の閾値）以内の場合に詳細照合に成功したと判定する。これに対して、正解文字列の照合では、入力文字列パターンが正解文字列と同一か否か（つまり、入力文字列パターンが正解か否か）が判定される。よって、正解文字列の照合では、判定部１７は、例えば入力文字列パターンの文字列として認識された「認識候補ラティス」の認識候補文字の「類似度」から、類似度が第２の閾値以上の場合に正解文字列の照合に成功したと判定する。
【００２７】
文字列認識部１６は、文字切り出し部１２にて切り出した何通りかの文字についてそれぞれ文字認識部１３で得られた認識候補ラティスの文字列を認識する。文字列認識では、隣り合う文字の文脈を用いて文字列を認識してもよい。この場合、認識候補ラティスから認識結果を得るには、「文脈処理」と呼ばれる処理を行う。文脈処理とは、認識候補ラティスで表現される多数の文字列の組み合わせの中で、最も文脈的に通りやすい組み合わせを見つける処理である。文脈処理も様々な方法が提案されている。本実施形態では文脈処理方法については特に限定されず、公知の技術のいずれも適用することができる。
【００２８】
表示部１８は、入力文字列パターンの全ての文字に対して詳細照合に成功した場合、正解文字列を表示する。また、表示部１８は、詳細照合にて一致していると判定された文字を表示し、一致していないと判定された文字（存在しない漢字等、漢字として不正な文字）を伏字で表示する。表示部１８は、詳細照合にて一致していると判定された文字を表示し、一致していないと判定された文字を、手書きの文字パターンのまま表示してもよい。これ以外の方法によっても、表示部１８は、不正解と判定した文字を正解と判定した文字と区別して表示することができる。例えば、表示部１８は、不正解と判定した文字を、正解と判定した文字と異なる色または太さで表示してもよい。
【００２９】
文字選択部１９は、表示部１８によって表示された文字列の中の文字をユーザによって選択可能とする。表示部１８は、文字選択部１９によって選択された文字に対応する入力文字列パターンの認識候補ラティスのうち、文字パターン照合部１５が辞書パターンＤＢ２２から抽出した該当する辞書パターンと詳細照合した結果、不一致と見なされる文字を除いて認識候補ラティスを表示してもよい。
【００３０】
表示部１８は、伏字になる文字がある場合、候補として挙げられた認識候補ラティスよりも下位の認識候補ラティスの文字に対して該当する辞書パターンＤＢ２２との詳細照合を行い、その中に字形の距離値が第１の閾値以内であるために詳細照合に成功する文字がある場合、伏字の代わりにその下位の認識候補ラティスの文字を表示してもよい。
【００３１】
なお、図１は機能に着目したブロック図を描いており、これらの機能ブロックで示した各部のソフトウェアを実行するプロセッサはハードウェアである。
【００３２】
［タブレット端末のハードウェア構成］
次に、一実施形態に係るタブレット端末１０のハードウェア構成の一例について、図２を参照しながら説明する。タブレット端末１０は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６を有する。また、タブレット端末１０は、通信Ｉ／Ｆ１０７、及びＨＤＤ（Hard Disk Drive）１０８を有する。各部は、バスＢで相互に接続されている。
【００３３】
入力装置１０１は、タッチパネルを含み、指やスタイラスペンによりタブレット端末１０に各操作信号を入力するために用いられる。表示装置１０２は、ＬＣＤ（Liquid crystal Display）モニタ等のディスプレイ、プリンタ、ＣＲＴ（Cathode Ray Tube）などを含み、各種の処理結果を表示する。
【００３４】
通信Ｉ／Ｆ１０７は、タブレット端末１０をネットワークに接続するインターフェースである。これにより、タブレット端末１０は、通信Ｉ／Ｆ１０７を介して、他の機器とデータ通信を行うことができる。
【００３５】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、タブレット端末１０の全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、ＨＤＤ１０８には、各種のデータベースやプログラム等が格納されてもよい。
【００３６】
外部Ｉ／Ｆ１０３は、外部装置とのインターフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、タブレット端末１０は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびに、ＳＤメモリカード（SD Memory card）やＵＳＢメモリ（Universal Serial Bus memory）等がある。
【００３７】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０５には、基本プログラム等及びデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＣＰＵ１０６は、ＨＤＤ１０８やＲＯＭ１０５などの記憶装置から、プログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００３８】
かかる構成により、本実施形態に係るタブレット端末１０では、ＣＰＵ１０６が、例えば、ＨＤＤ１０８内に格納された文字認識プログラム及びデータを用いて文字認識処理を実行する。これにより、文字切り出し部１２、文字認識部１３、正解文字照合部１４、文字パターン照合部１５、文字列認識部１６、判定部１７及び文字選択部１９の各機能が実現される。また、記憶部１１は、例えばＲＡＭ１０４、ＲＯＭ１０５、ＨＤＤ１０８により実現可能である。表示部１８は、例えば表示装置１０２により実現可能である。
【００３９】
なお、解答ＤＢ２１、辞書パターンＤＢ２２及び文脈ＤＢ２３に記憶された情報は、ＲＡＭ１０４、ＨＤＤ１０８、又はネットワークを介してタブレット端末１０に接続されるクラウド上のサーバ等に格納され得る。
【００４０】
図３は、本実施形態に係るタブレット端末１０を利用したテストの画面の一例を示す。タブレット端末１０の画面には、解答記入欄Ｆ１と認識結果表示欄Ｆ２があり、受験者（ユーザ）は解答記入欄Ｆ１に、指やスタイラスペンを用いて手書きで解答を書き込む。手書きで書かれた解答は、文字認識の対象となる入力文字列パターンである。
【００４１】
認識結果表示欄Ｆ２には、解答の入力文字列パターンがタブレット端末１０の文字認識機能によりどのように解釈されたのかを表す文字列が表示される。
【００４２】
ユーザは、認識結果表示欄Ｆ２の解釈結果の文字列を見て、意図通りに解釈されていなければ改めて丁寧に書き直すことができる。自動採点の際は、解釈結果の合意が取れていることを前提にして採点ができるため、誤認識による誤採点の影響を少なくすることができる。
【００４３】
［文字認識処理］
次に、本実施形態に係る文字認識処理の一例について図４及び図５を参照して説明する。図４は、一実施形態に係る文字認識処理の一例を示したフローチャートである。図５は図４の文字認識処理の続きのフローチャートである。
【００４４】
図４の処理が開始されると、文字切り出し部１２は、解答記入欄Ｆ１に書かれた入力文字列パターンを取得し（ステップＳ１０）、取得した文字列パターンから文字を切り出し、文字切り出し候補のパターンを生成する（ステップＳ１２）。文字切り出し候補のパターンは、文字列パターンの中で、一文字と見なせるパターンをすべて抽出したものである。文字の切り出しは、一般に文字列認識の際に使われる技術であり、その具体的方法は様々なものが提案されている。本実施形態では、文字切り出し方法については特に限定されず、公知の技術のいずれも適用することができる。例えば「切り出しパラメータが学習可能なオンライン手書き文字切り出し手法」や「複数のストローク特徴を用いた手書き文字列からの実時間文字切り出し」に記載されている手法を用いることができる。
【００４５】
文字の切り出し候補のパターンの生成の一例を説明すると、例えば横書きが前提の文字切り出しであれば、各筆画の横軸方向の重なりを見ることで筆画同士を束ねることができる。筆画を横軸方向の位置(例えば筆画の横軸方向の中心点)でソートし、筆画をその順番で探索し、現在の筆画と重なりの一定以上大きい筆画(または筆画グループ)を見つけてグループ化する。これをそれ以上グループ化できなくなるまで繰り返す、というルールで重なりの大きいもの同士を束ねる。
【００４６】
筆画グループをさらに横軸方向でソートし、隣り合う筆画グループを併合することで文字を区切る切り出し候補を生成する。筆画グループがＮ個あった場合、そのままだと各筆画グループを先頭にして、連結なし、隣りの１個連結、隣りの２個連結、最後のグループまで連結といった感じで括って、全部でＮ（Ｎ＋１）／２個の切り出し候補となる。ここで、筆画グループの中で最大のサイズのものを選び、そのサイズ×定数倍を文字の最大サイズとしたとき、その最大サイズ以内のサイズまで筆画グループを連結するようにすれば、文字区切り候補を大幅に減らすことができる。
【００４７】
図６は、解答記入欄Ｆ１に正解の文字列パターンが与えられた場合の文字認識処理の一例を示す。図６（ａ）には、正解文字列「完了」に対して、入力文字列パターンが解答記入欄Ｆ１に正しく手書きで「完了」と書かれている。この場合、図６（ｂ）に一例を示すように、「完了」の手書き文字Ｃ１、「完」の手書き文字Ｃ２、「了」の手書き文字Ｃ３の３つが、文字切り出し候補のパターンとなる。
【００４８】
図４に戻り、次に、文字認識部１３は、各切り出し候補のパターンを文字として認識する（ステップＳ１４）。本実施形態では、文字認識方法については特に限定されず、公知の技術のいずれも適用することができる。
【００４９】
その結果、例えば、図６（ｂ）の「完了」の手書き文字Ｃ１、「完」の手書き文字Ｃ２、「了」の手書き文字Ｃ３の３つの文字切り出し候補のパターンでは、図６（ｃ）に示すように、「完了」の手書き文字Ｃ１の候補として、例えば「割」、「剴」の文字が認識される。また、「完」の手書き文字Ｃ２の候補に対して、例えば「完」、「皃」、「宗」の文字が認識され、「了」の手書き文字Ｃ３の候補に対して、例えば「ろ」、「３」、「了」の文字が認識される。
【００５０】
文字切り出し候補パターンとそれに対する認識候補文字の並びを、「認識候補ラティス」という。文字認識された「割」、「剴」を認識候補ラティスＲ１とし、「完」、「皃」、「宗」と「ろ」、「３」、「了」の組合わせを認識候補ラティスＲ２とする。
【００５１】
図４に戻り、次に、正解文字照合部１４は、解答ＤＢ２１を検索し、問題に対する解答となる正解文字列を選択し、認識候補ラティスと選択した正解文字列とを照合する（ステップＳ１６）。認識候補ラティスの中に正解文字列と一致する文字又は文字の組合わせを見つけることができれば正解文字列の照合に成功したことになる。認識候補ラティスと文字列との間のこのような照合は一般にViterbiアルゴリズムと呼ばれる方法で効率的に行うことができる。認識候補文字に関しては、入力文字列パターンに対してあまり類似度の低い候補を使うと照合精度が悪くなるため、類似度は所定の閾値（第２の閾値）以上の候補文字のみ使うのが望ましい。ただし、照合に失敗した場合には、類似度が第２の閾値よりも低い下位の候補文字を「認識候補ラティス」の認識候補文字として選んでもよい。
【００５２】
例えば、正解文字列が「完了」の場合、図６（ｄ）に示すように、認識候補ラティスＲ１の各文字と正解文字列「完了」とが照合される。次に、認識候補ラティスＲ２の組み合わせ文字と正解文字列の「完了」が照合される。照合には、認識候補ラティスＲ１、Ｒ２の各候補文字に付された類似度が用いられる。なお、ここでは、認識候補ラティスのそれぞれの認識候補文字に類似度(確信度)を付け、１００が類似度の最大値という前提で、類似度が７０以上のものだけを選定し、照合に用いているが、これに限らない。
【００５３】
その結果、判定部１７は、認識候補ラティスＲ２の９種類の組み合わせのうち、「完」の文字Ｐ１と「了」の文字Ｐ２の組み合わせが、第２の閾値以上であるため、正解文字列と一致する文字列であると判定してもよい。よって、本例では、正解文字列が認識候補ラティスの中に存在するため、正解文字列の照合に成功したこととなる。
【００５４】
図４に戻り、次に、判定部１７は、正解文字列との照合に成功したかを判定する（ステップＳ１８）。判定部１７が正解文字列との照合に失敗したと判定した場合、照合した結果が不一致と見なし、図５の［Ａ］の処理に進み、図５のフローチャートの先頭へと遷移する。一方、判定部１７が正解文字列との照合に成功したと判定した場合、文字パターン照合部１５は、入力文字列パターンの各文字と辞書パターンの各文字の部位ごとの字形の詳細照合を行う。このとき、まず、文字パターン照合部１５は、入力文字列パターンを文字毎に分離する(ステップＳ２０)。正解文字列との照合によって辞書パターンの各文字と入力文字列パターンの各文字パターンとの対応は取れるため、文字パターン照合部１５は、文字パターンを文字毎に分離することができる。
【００５５】
文字パターン照合部１５は、分離した入力文字列パターンの各文字を構成する部位の字形と、辞書パターンＤＢ２２に記憶された正解文字列の辞書パターンの各文字を構成する部位の字形とをそれぞれ照合する詳細照合を行う（ステップＳ２２）。つまり、文字パターン照合部１５は、入力文字列パターンに含まれる文字のパターン各部の部位の字形の詳細な照合、及び競合文字パターンとの区別を行う。
【００５６】
文字パターン照合部１５は、入力文字列パターンと辞書パターンとのパターン各部の部位の字形の対応付けと、対応付けた部位ごとの字形の信頼度を示す距離値の算出から詳細照合を行う。パターン各部の部位の対応付けは様々な方式が提案されており、例えばＤＰマッチングと呼ばれる手法等がある。本実施形態では、パターン各部の部位の対応付け方法については特に限定されず、公知の技術のいずれも適用することができる。
【００５７】
対応する部分ごとの距離値は、例えば、線の方向の差、位置の差を分布に当てはめ、その確率値を用いる方法などが考えられる。各文字の部位ごとの距離値においても、位置や形状の差を評価できる指標となっていれば、本実施形態は任意のものを使うことができる。各部において距離値を評価し、各文字の距離値がすべて所定の閾値（第１の閾値）以内であれば詳細照合は成功とされる。
【００５８】
競合文字パターンとは形状的に類似していて識別しにくい文字のパターンを指す。例えば「０」と「６」などが典型的である。このような文字間は各部ごとの類似度を見ても「一致（照合成功）」と判断されやすいため、区別を付けるための特別な判断を要する場合もある。「０」と「６」の例では、例えば筆記の始点と終点の位置関係で区別することができる。
【００５９】
例えば、図６（ｅ）に示すように、対応する文字パターンと正解文字列の辞書パターンとのパターン各部の部位の字形（すなわち、各文字を構成する部位（うかんむり等）の字形）の詳細照合が行われる。図６（ｅ）の例では、文字パターン照合部１５は、「完」の手書き文字Ｃ２を構成する部位の字形と正解文字列の辞書パターン「完」を構成する部位の字形とを照合する。また、「了」の手書き文字Ｃ３を構成する部位の字形と正解文字列の辞書パターン「了」を構成する部位の字形とを照合する。判定部１７は、照合した各部位の字形の距離値に基づき、解答記入欄Ｆ１に手書きされた入力文字列パターンを表示するか否かを判定する。詳細照合成功と判定された場合、図６（ｆ）に示すように入力文字列パターンから認識された文字列「完了」が認識結果表示欄Ｆ２表示される。これにより、正しい解答を行ったユーザに入力文字列パターンの認識結果を知られることができる。
【００６０】
図４に戻り、次に、判定部１７は、すべての文字パターンにおいて詳細照合に成功したかを判定する（ステップＳ２４）。判定部１７は、いずれかの文字において詳細照合に失敗したと判定した場合、図５の［Ａ］の処理に進む。一方、判定部１７が全文字において詳細照合に成功したと判定した場合、表示部１８は、認識結果の文字列「完了」を認識結果表示欄Ｆ２に表示し(ステップＳ２６)、本処理を終了する。
【００６１】
この結果、タブレット端末１０の画面には、解答記入欄Ｆ１とともに認識結果表示欄Ｆ２に正解文字列である「完了」が表示される。これにより、ユーザは、自分の答えが正解であるとわかる。
【００６２】
ステップＳ１８及びステップＳ２４において照合に失敗した場合、図５の［Ａ］の処理に進む。文字列認識部１６は、文字列認識処理を行う(ステップＳ２８)。文字列認識部１６は、各切り出し候補パターンを文字認識して得られた認識候補ラティスから文字列認識結果を得る。認識候補ラティスから認識結果を得るには、「文脈処理」と呼ばれる処理を使う。
【００６３】
文脈処理とは、認識候補ラティスで表現される多数の文字列の組み合わせの中で、最も文脈的に通りやすい組み合わせを見つける処理である。文脈処理も様々な方法が提案されている。文脈処理方法の一つの例としては、バイグラム確率を用いる方法が挙げられる。バイグラム確率とは、文字と文字が隣り合う確率のことである。本実施形態では、このバイグラム確率を文脈ＤＢ２３に記憶しておき、認識候補文字の距離値と組み合わせて最も確率の高い組み合わせの文字列を得る。この組み合わせの探索にもViterbiアルゴリズムを用いることができる。ただし、本実施形態では文脈処理方法についてはこれに限定されず、公知の技術のいずれも適用することができる。
【００６４】
文字パターン照合部１５は、認識候補ラティスから得た認識結果の文字列の文字毎に入力文字列パターンを分離する(ステップＳ３０)。次に、文字パターン照合部１５は、分離した文字パターンのうち未処理の文字パターンが残っているかを判定する（ステップＳ３２）。未処理の文字パターンが残っている間、ステップＳ３２〜Ｓ４０の処理を繰り返す。つまり、文字パターン照合部１５は、次の分離した文字パターンを取得する(ステップＳ３４)。文字パターン照合部１５は、取得した、分離した文字パターンと辞書パターンＤＢ２２の該当する辞書パターンの各部との詳細照合を行う(ステップＳ３６)。この処理は、ステップＳ２２の詳細照合と同様であるが、与える文字列が正解文字列ではなく文字列認識部１６から得られた認識結果文字列である点が異なる。
【００６５】
次に、判定部１７は、全文字において詳細照合に成功したかを判定する（ステップＳ３８）。判定部１７は、詳細照合に成功したと判定した場合、ステップＳ３２に戻る。他方、判定部１７は、詳細照合に成功しなかったと判定した場合、一致していると判定された文字を表示し、一致していないと判定された文字は伏字に設定し(ステップＳ４０)、ステップＳ３２に戻る。伏字は例えば「？」や「＊」などが挙げられる。また、入力文字列パターンそのものを表示しても良い。伏字の部分はそれとわかりやすいように色や太さを変えて表示することが好ましい。
【００６６】
ステップＳ３２において、文字パターン照合部１５は、分離した文字パターンのうち未処理の文字パターンが残っていないと判定した場合、表示部１８は、伏字の設定に基づき認識結果文字列のうち一致していないと判定された文字は伏字にして、認識結果文字列を表示し（ステップＳ４２）、本処理を終了する。
【００６７】
以上の機能を有するタブレット端末１０によれば、認識結果の文字例を表示する際に、一致していないと判定された文字は伏字等にすることで、タブレット端末１０を用いたテストの自動採点において、誤った解答をしたユーザに解答のヒントを与えることを防ぐようにすることができる。
（正解文字列に似ている誤字が入力された場合）
図７は、解答記入欄Ｆ１に、正解の文字列パターンである「宍３」に似ているが誤字を含んだ入力が与えられた場合の文字認識処理例を示す。図７（ａ）には、正解文字列「宍３」に対して「宍３」に似ているが誤字を含んだ入力文字列パターンが解答記入欄Ｆ１に記入されている。この場合、図７（ｂ）に示す正解文字列との照合では、類似度に基づき、入力文字列パターンは、正解文字列「宍３」と類似していると判定し、認識候補ラティスＲ４のうちの「宍」の文字Ｐ３と「３」の文字Ｐ４とから、正解文字列との照合に成功したと判定する。
【００６８】
図７（ｃ）に示すように、認識候補ラティスの類似度に基づき認識結果文字列が認識された後、図７（ｄ）に示すように、入力文字列パターンと辞書パターンとのパターン各部の部位の字形についての詳細照合が行われる。文字パターン照合部１５は、照合した各部位の字形の距離値に基づき、入力文字列パターンと認識結果文字列の辞書パターンとの各文字の各部位を比較する。判定部１７は、入力文字列パターンの文字Ｃ５が認識結果文字列の「宍」の文字Ｐ３と形が異なる部位があると判定する。
【００６９】
この結果、表示部１８は、図７（ｄ）に示すように、詳細照合にて照合に失敗した「宍」の文字は不正解と判定し、伏字（「？」）にして表示する。つまり、本実施形態に係る文字認識方法によれば、図７（ｅ）に示すように、「宍」に類似した誤字に対して受験者に過剰なヒントとならないよう一文字目の「宍」だけを伏字とし、「？３」が認識結果表示欄Ｆ２に表示される。このようにして、タブレット端末１０を利用した自動採点において、解文字列に似ている誤字を入力したユーザに解答のヒントを与えないようにすることができる。
（不正解かつ誤字を含むパターンが入力された場合）
図８（ａ）の解答記入欄Ｆ１には、正解文字列である「完了」の「完」が「缶」に似た誤字になっている入力文字列パターンが記入されている。このように不正解かつ誤字を含む入力文字列パターンが入力された場合の文字認識処理について説明する。
【００７０】
この場合、図８（ｂ）に示す正解文字列との照合では、類似度に基づき入力文字列パターンは、正解文字列「完了」と類似しないと判定され、入力文字列パターンと認識候補ラティスＲ５，Ｒ６と正解文字列との照合は失敗となる。
【００７１】
図８（ｃ）に示すように、認識候補ラティスの類似度に基づき認識結果文字列が認識された後、図８（ｄ）に示すように、入力文字列パターンと辞書パターンとのパターン各部の部位の字形についての詳細照合が行われる。文字パターン照合部１５は、照合した各部位の字形の距離値に基づき、入力文字列パターンと認識結果文字列の辞書パターンとの各文字の各部位を比較する。
【００７２】
入力文字列パターン各部の部位の字形を照合する詳細照合では、入力文字列パターンのうちの文字Ｃ８に辞書パターンの「缶」と大きく異なる部位があるため、図８（ｄ）に示すように、判定部１７は、入力文字列パターンのうちの一文字目で照合に失敗したと判定する。
【００７３】
この場合、他の解答記入欄で「缶」の字が使われていないとは限らない。よって、図８（ｅ）に示すように、表示部１８は、受験者に対する過剰なヒントとならないよう一文字目を伏字とし、認識結果表示欄Ｆ２に「？了」を表示する。このようにして、タブレット端末１０を利用した自動採点において、不正解かつ誤字を含む文字列を入力したユーザに解答のヒントを与えないようにすることができる。
（不正解文字列であって、字形は間違っていないパターンが入力された場合）
図９（ａ）の解答記入欄Ｆ１には、字形は間違っていないが不正解の文字列「缶了」が入力されている。この場合の文字認識処理例を説明すると、正解文字列「完了」と字がまったく異なるので、図９（ｂ）に示すように、類似度に基づき認識候補ラティスと正解文字列とを照合した結果、正解文字列の照合は失敗と判定される。
【００７４】
図９（ｃ）に示すように、認識候補ラティスの類似度に基づき認識結果文字列が認識された、図９（ｄ）に示すように、入力文字列パターンと辞書パターンとのパターン各部の部位の字形についての詳細照合が行われる。そして、文字認識の結果、類似度に基づき、「缶」の文字Ｐ５と「了」の文字Ｐ６との組み合わせである「缶了」が認識結果文字列として得られる。
【００７５】
続いて辞書ＤＢ２２の辞書パターンとの字形各部の詳細照合を行った結果、字形に特に誤りはないので、距離値に基づき、「缶」の文字Ｐ５と「了」の文字Ｐ６とのどちらの文字についても詳細照合に成功する。したがって、この場合には、図９（ｄ）に示すように、認識結果表示欄Ｆ２には、認識結果「缶了」がそのまま表示される。
【００７６】
以上に説明したように、本実施形態に係るタブレット端末１０を用いたテストにおいて、ある問題に対する解答の自動採点をする際に、誤った解答をしたユーザには伏字などを用いて解答のヒントを与えないようにしながら、解答のヒントにならない場合には、認識結果の文字列を表示することができる。
（バリエーション）
本実施形態は、図１に示す文字選択部１９を有してもよい。文字選択部１９は、表示部１８によって表示された文字列に含まれる１文字又は複数の文字をユーザによって選択可能とする。選択の方法は特に問わないが、例えば、タブレット端末１０に表示された文字列において目的の文字を指でタッチしたり、スタイラスペンを用いてタッチしたりするユーザ操作に応じて文字が選択されてもよい。
【００７７】
表示部１８は、文字選択部１９によって選択された文字に対応する入力文字列パターンの認識候補の中で、文字パターン照合部１５が辞書パターンＤＢ２２から抽出した該当する辞書パターンと詳細照合した結果、不一致と見なされる文字を除いて認識候補を表示する。
【００７８】
これによって、ユーザは認識候補選択によって計算機側の文字の解釈を修正することが可能となり、かつ、その文字を認識したときに、字形が誤っていると判定された文字は表示されないため、受験者に過剰なヒントを与えることを防ぐことができる。
【００７９】
さらに、表示部１８において伏字になる文字がある場合、さらに下位の認識候補に対して該当する辞書パターンとの詳細照合を行い、その中に詳細照合に成功する認識候補文字がある場合、伏字の代わりにその認識候補文字を表示してもよい。これによって、伏字になる可能性を極力なくし、ユーザが解答を修正する手間を減らすことができる。
（詳細照合に使用する距離値について）
最後に、文字パターン照合部１５が行う詳細照合に使用する距離値について、図１０及び図１１を参照して具体的に説明する。問題の簡単化のため、この例では筆順及び画数は基本的に同一であるものとし、筆順及び画数が異なっていたら字形が間違えていると判断する。また、筆跡入力は時系列の筆点座標点列で行われているものとし、辞書パターンも同様に筆点または特徴点の時系列座標点列で表されるものとする。各部への分割は筆画単位とする。つまり、文字パターン照合部１５は、筆画ごとにパターン間の距離値または類似度を計算し、その値が一定値を下回るあるいは上回るかどうかを判定する。そして、文字パターン照合部１５は、いずれかの筆画で距離値が第１の閾値を上回っていた場合は詳細照合に失敗したと判定する。
【００８０】
筆順及び画数が同一という前提であれば、図１０に示すように、入力文字列パターンの筆画のｎ画目は辞書パターンの筆画のｎ画目に対応することになる。また、図１１に示すように、この両筆画の両端点、すなわち始点同士と終点同士がさらに対応付く。そして、それぞれ始点から終点までの筆画の道のりをＮ等分(図１１では４等分)し、分割点ごとに順番に対応付けることで、筆画各部の対応も付けられる。
【００８１】
筆画各部の対応が取れた後、対応点ごとに位置と方向の距離値を計算し、位置の距離と方向の距離にそれぞれ一定の重み付けを乗じ、それら値をすべて足して対応点の数で割ることで、一つの筆画に対する「筆画間距離値」を計算することができる。方向の距離は例えば着目対応点と前の対応点との為すベクトルがあるとき、対応するベクトルの為す角度とする方法が挙げられる。位置の距離値は例えばユークリッド距離を使う。位置の比較ができるように、文字パターンの外接矩形の中心と長辺のサイズが一致するようにあらかじめ座標変換しておく。
【００８２】
このようにして、文字パターン照合部１５は、詳細照合において各筆画の入力文字列パターンと辞書パターンにおける距離値を算出し、この距離値をすべて足し合わせることで、字形全体の距離値を算出する。字形全体の距離値を数値化したものが図６等に示す類似度の数値である。字形の距離値を各辞書文字パターンと入力文字列パターンとの間において算出し、距離値の小さい順に並べれば文字認識候補を求めることができる。つまり距離値が小さい程、文字が似ていると判定し、文字認識候補となる。
【００８３】
ただし、上記では筆順、画数が等しいものとして処理の具体例を述べたが、これに限らない。辞書パターンに合わせて入力文字列パターンの正規筆画への並べ替え、正規画数への分離を行うことができれば、筆順筆画数を問わない詳細照合を行うことができる。並べ替え、分離を行うには、筆順、画数を問わないパターン間の対応付けを行い、その対応に従って入力文字列パターンの筆画の並べ替え、分離を行えば良い。筆順、画数を問わない時系列パターンの対応付け方法には以下の文献［１］に示す多層キューブサーチと呼ばれる方法がある。
【００８４】
文献［１］には、筆画と筆画の間の位置関係を評価する方法についても書かれており、これに従えば、例えば図の文字パターンの１画目の横線と３画目、４画目の斜め線の位置関係が上下入れ替わっている場合など、位置関係の詳細照合を行うこともできる。
文献［１］  電子情報通信学会論文誌Ｖｏｌ．Ｊ８２−Ｄ２  Ｎｏ．２  ｐｐ．２３０−２３９  「筆順・画数自由オンライン文字認識のための画対応決定法  ―多層キューブサーチ―」、愼  重弼，  迫江  博昭
以上、文字認識装置、文字認識プログラム及び文字認識方法を上記実施形態により説明したが、本発明に係る文字認識装置、文字認識プログラム及び文字認識方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【００８５】
例えば、本発明に係る文字認識方法は、表示一体型のタッチパネルを備えたタブレット端末１０上で動作するソフトウェア（文字認識プログラム）として実装することができる。また、本実施形態のタブレット端末１０の構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【００８６】
例えば、文字認識方法の一部分の処理がクラウド上のサーバで実行され、文字認識処理の他の部分の処理がタブレット端末１０で実行されるように、ネットワークシステム内の複数のコンピュータが連携して一連の文字認識方法が実行されてもよい。この場合、本発明に係る文字認識方法は、タブレット端末１０とサーバを有する計算機システム上で動作するソフトウェアとして実装される。
【００８７】
以上の説明に関し、更に以下の項を開示する。
（付記１）
解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する文字パターン照合部と、
前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する判定部と、
を有する文字認識装置。
（付記２）
前記照合した結果に基づき、前記解答欄に手書きされた文字列のうちの少なくともいずれかの文字の照合に失敗したと判定した場合、前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字を、照合に成功したと判定した文字と区別して表示する表示部を有する、
付記１に記載の文字認識装置。
（付記３）
前記表示部は、前記認識文字列のうち前記照合に失敗したと判定した文字を伏字にして表示するか、又は前記手書きされた文字列の文字パターンにして表示する、
付記２に記載の文字認識装置。
（付記４）
前記文字パターン照合部は、前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字については、既に照合した前記認識文字列よりも下位の候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合し、
前記判定部は、前記照合した結果に基づき、前記照合に失敗したと判定した文字について前記下位の候補となる認識文字列の対応する文字を表示するか否かを判定する、
付記１〜３のいずれか一項に記載の文字認識装置。
（付記５）
解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する処理と、
前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する処理と、
をコンピュータに実行させるための文字認識プログラム。
（付記６）
前記照合した結果に基づき、前記解答欄に手書きされた文字列のうちの少なくともいずれかの文字の照合に失敗したと判定した場合、前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字を、照合に成功したと判定した文字と区別して表示する、
付記５に記載の文字認識プログラム。
（付記７）
前記認識文字列のうち前記照合に失敗したと判定した文字を伏字にして表示するか、又は前記手書きされた文字列の文字パターンにして表示する、
付記６に記載の文字認識プログラム。
（付記８）
前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字については、既に照合した前記認識文字列よりも下位の候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合し、
前記照合した結果に基づき、前記照合に失敗したと判定した文字について前記下位の候補となる認識文字列の対応する文字を表示するか否かを判定する、
付記５〜７のいずれか一項に記載の文字認識プログラム。
（付記９）
解答欄に手書きされた文字列から認識した、候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合する処理と、
前記各文字を構成する部位の字形を照合した結果に基づき、前記解答欄に手書きされた文字列から認識した認識文字列の各文字を表示するか否かを判定する処理と、
をコンピュータが実行する文字認識方法。
（付記１０）
前記照合した結果に基づき、前記解答欄に手書きされた文字列のうちの少なくともいずれかの文字の照合に失敗したと判定した場合、前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字を、照合に成功したと判定した文字と区別して表示する、
付記９に記載の文字認識方法。
（付記１１）
前記認識文字列のうち前記照合に失敗したと判定した文字を伏字にして表示するか、又は前記手書きされた文字列の文字パターンにして表示する、
付記１０に記載の文字認識方法。
（付記１２）
前記解答欄に手書きされた文字列から認識した認識文字列のうち照合に失敗したと判定した文字については、既に照合した前記認識文字列よりも下位の候補となる認識文字列の各文字を構成する部位の字形と、前記解答欄に手書きされた文字列の各文字を構成する部位の字形とを照合し、
前記照合した結果に基づき、前記照合に失敗したと判定した文字について前記下位の候補となる認識文字列の対応する文字を表示するか否かを判定する、
付記１０〜１２のいずれか一項に記載の文字認識方法。
【符号の説明】
【００８８】
１０  タブレット端末
１１  記憶部
１２  文字切り出し部
１３  文字認識部
１４  正解文字照合部
１５  文字パターン照合部
１６  文字列認識部
１７  判定部
１８  表示部
１９  文字選択部
２１  解答ＤＢ
２２  辞書パターンＤＢ
２３  文脈ＤＢ
Ｆ１  解答記入欄
Ｆ２  認識結果表示欄
【図１】
2018112931.tif 000003
【図２】
2018112931.tif 000004
【図３】
2018112931.tif 000005
【図４】
2018112931.tif 000006
【図５】
2018112931.tif 000007
【図６】
2018112931.tif 000008
【図７】
2018112931.tif 000009
【図８】
2018112931.tif 000010
【図９】
2018112931.tif 000011
【図１０】
2018112931.tif 000012
【図１１】
2018112931.tif 000013