(57)【要約】【課題】誤採点を低減し採点の効率を高めることが可能な認識装置等を提供すること。【解決手段】文字列認識装置は、手書き入力された入力パターンから１つ又は複数の認識エンジンにより語句又は数式を認識する認識部と、認識結果が信頼できるか否かを判定する信頼度判定部と、信頼できると判定された認識結果が正答であるか誤答であるかを判定する正誤判定部と、信頼できないと判定された複数の認識結果に対応する複数の入力パターンを類似度に応じてグループ分けする分類部とを含む。【選択図】図２
2018206115.tif 000002
【特許請求の範囲】
【請求項１】
手書き入力された入力パターンから１つ又は複数の認識エンジンにより語句又は数式を認識する認識部と、
認識結果が信頼できるか否かを判定する信頼度判定部と、
信頼できると判定された認識結果が正答であるか誤答であるかを判定する正誤判定部と、
信頼できないと判定された複数の認識結果に対応する複数の入力パターンを類似度に応じてグループ分けする分類部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記信頼度判定部は、
入力パターンに対する複数の認識エンジンによる認識の確信度を複数の認識エンジン毎に算出し、算出した確信度に基づいて認識結果が信頼できるか否かを判定することを特徴とするプログラム。
【請求項３】
請求項２において、
前記信頼度判定部は、
複数の認識エンジン毎に算出した確信度のうち最も高い確信度が所定の閾値を超える場合に、確信度が最も高い認識エンジンの認識結果が信頼できると判定することを特徴とするプログラム。
【請求項４】
請求項２において、
前記信頼度判定部は、
確信度が所定の閾値を超える認識エンジンが２つ以上ある場合、当該２つ以上の認識エンジンそれぞれの認識結果のうち最多数の認識結果が１種類である場合又は認識結果が一致する場合に、当該最多数の認識結果又は一致する認識結果が信頼できると判定することを特徴とするプログラム。
【請求項５】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至４のいずれか１項のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項６】
手書き入力された入力パターンから１つ又は複数の認識エンジンにより語句又は数式を認識する認識部と、
認識結果が信頼できるか否かを判定する信頼度判定部と、
信頼できると判定された認識結果が正答であるか誤答であるかを判定する正誤判定部と、
信頼できないと判定された複数の認識結果に対応する複数の入力パターンを類似度に応じてグループ分けする分類部とを含むことを特徴とする認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び認識装置に関する。
【背景技術】
【０００２】
近年におけるスマートフォンやタブレット型ＰＣの急速な普及とともに、これらのデバイスを利用した学習システムが今後広く実用化されていくことが期待されている。このような環境では、選択式の問題だけでなく、記述式の問題を課して、ユーザ（解答者、受験者）の深い理解を問うことができる。そして手書き認識の技術を用いれば、採点支援や自動採点を行うことが可能となる。
【０００３】
記述式解答の必要性が高い算数・数学において、手書き解答の認識を採用した学習システムのプロトタイプが発表されている（例えば、非特許文献１〜３）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】鈴木雅人  他、「手書き数式解析に基づく基礎数学学習支援システムの開発」、電子情報通信学会、信学技法、ＥＴ２００９−１２９、ｐ.１４７−１５２（２０１０）
【非特許文献２】千葉智史  他、「手書き数式認識を利用したタブレットＰＣ上での数学ｅラーニングシステムの試作」、情報処理学会研究報告、Ｖｏｌ.２０１４−ＣＥ−１２７、Ｎｏ.１０、ｐ.１−５（２０１４）
【非特許文献３】小西渉  他、「手書き数式認識を用いた算数・数学自動採点システム」、情報処理学会研究報告、コンピュータと教育研究会報告、２０１６−ＣＥ−１３３（７）、１−７（２０１６）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１、２に開示されたシステムは、学習者（受験者）が自分の手書きの認識結果を確認し、必要なら認識誤りを訂正し、その正誤判定の結果を得るものであり、受験者が認識結果を確認することなく採点支援或いは自動採点を行うものではない。非特許文献３に開示されたシステムは、自動採点を指向しているが、単一認識方式による認識結果と模範解答を照合しているだけで、誤採点を防ぐ工夫や、自動採点できない場合における採点支援の仕組みなどは含まれていない。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、誤採点を低減し採点の効率を高めることが可能なプログラム、情報記憶媒体及び認識装置を提供することにある。
【課題を解決するための手段】
【０００７】
（１）本発明は、手書き入力された入力パターンから１つ又は複数の認識エンジンにより語句又は数式を認識する認識部と、認識結果が信頼できるか否かを判定する信頼度判定部と、信頼できると判定された認識結果が正答であるか誤答であるかを判定する正誤判定部と、信頼できないと判定された複数の認識結果に対応する複数の入力パターンを類似度に応じてグループ分けする分類部としてコンピュータを機能させることを特徴とするプログラムに関する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関係する。また、本発明は、上記各部を含む認識装置に関係する。
【０００８】
本発明によれば、手書き入力パターンを認識エンジンにより認識し、認識結果が信頼できるか否かを判定し、信頼できると判定された認識結果について正誤判定部で正答であるか誤答であるかを判定し、信頼できないと判定された認識結果については正誤判定しないことで、自動採点による誤採点（正しい解答が誤答と判定される、又は、誤った解答が正答と判定される確率）を低減することができる。また、信頼できないと判定された複数の認識結果に対応する複数の入力パターンを類似度に応じてグループ分けすることで、採点者による手動採点の採点ミスと採点ムラを低減して手動採点の効率を高めることができる。
【０００９】
（２）また本発明に係るプログラム、情報記憶媒体及び文字列認識装置では、前記信頼度判定部は、入力パターンに対する複数の認識エンジンによる認識の確信度を複数の認識エンジン毎に算出し、算出した確信度に基づいて認識結果が信頼できるか否かを判定してもよい。
【００１０】
本発明によれば、各認識エンジンの認識結果の信頼度を適切に判定することができる。
【００１１】
（３）また本発明に係るプログラム、情報記憶媒体及び文字列認識装置では、前記信頼度判定部は、複数の認識エンジン毎に算出した確信度のうち最も高い確信度が所定の閾値を超える場合に、確信度が最も高い認識エンジンの認識結果が信頼できると判定してもよい。
【００１２】
本発明によれば、各認識エンジンの認識結果の信頼度を適切に判定することができる。
【００１３】
（４）また本発明に係るプログラム、情報記憶媒体及び文字列認識装置では、前記信頼度判定部は、確信度が所定の閾値を超える認識エンジンが２つ以上ある場合、当該２つ以上の認識エンジンそれぞれの認識結果のうち最多数の認識結果が１種類である場合又は認識結果が一致する場合に、当該最多数の認識結果又は一致する認識結果が信頼できると判定してもよい。
【００１４】
本発明によれば、各認識エンジンの認識結果の信頼度を適切に判定することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の認識装置の機能ブロック図の一例である。
【図２】本実施形態の認識装置の処理の流れを示すフローチャートである。
【図３】手書き数式に対する数式認識エンジンの出力の例を示す図である。
【図４】手書き英単語に対する英語認識エンジンの出力の例と、手書き日本語単語に対する日本語認識エンジンの出力の例を示す図である。
【図５】手書き入力パターンをクラスタリングした例を示す図である。
【図６】類似度の計算例を示す図である。
【図７】手動採点画面の一例を示す図である。
【図８】採点内容の確認ダイアログを示す図である。
【図９】手動採点画面の一例を示す図である。
【図１０】手動採点画面の一例を示す図である。
【図１１】採点確認画面の一例を示す図である。
【図１２】訂正ダイアログを示す図である。
【図１３】エンジンＡを利用したスコア方式の閾値設定の実験結果を示す図である。
【発明を実施するための形態】
【００１６】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の
範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１７】
１．構成
図１に本実施形態の認識装置の機能ブロック図の一例を示す。なお本実施形態の認識装置は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１８】
入力部１６０は、ユーザが筆記媒体（ペン、指先等）で手書き文字（手書き語句や手書き数式の解答）を入力するためのものであり、その機能は、タブレット、タッチパネル等の筆記面などにより実現できる（オンライン方式の場合）。入力部１６０は、筆記媒体が筆記面に触れてから離れるまでの筆記媒体の位置を表す座標データを一定時間間隔で検出し、検出された座標データ列（座標点系列、オンライン手書きパターンと呼ぶ）をストローク（筆画）のデータとして処理部１００に出力する。なお、ストロークの終点から次のストロークの始点までのベクトルをオフストローク（運筆ベクトル）と呼び、ストロークとオフストロークの連続する系列をストローク列と呼ぶ。なお、オフライン方式では、入力部１６０は、紙等に筆記された語句や数式を、スキャナー等で白黒画像或いは濃淡画像として読み取る。
【００１９】
記憶部１７０は、処理部１００の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部１００のワーク領域として機能し、その機能はハードディスク、ＲＡＭなどにより実現できる。
【００２０】
表示部１９０は、処理部１００で生成された画像を出力するものであり、その機能は、入力部１６０としても機能するタッチパネル、ＬＣＤ或いはＣＲＴなどのディスプレイにより実現できる。
【００２１】
処理部１００（プロセッサ）は、入力部１６０からの座標データやプログラムなどに基づいて、認識処理、判定処理、分類処理、表示制御などの処理を行う。この処理部１００は記憶部１７０内の主記憶部をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。処理部１００は、認識部１１０、信頼度判定部１１２、正誤判定部１１４、分類部１１６、表示制御部１２０を含む。
【００２２】
認識部１１０は、手書き入力された入力パターンから１つ又は複数の認識エンジン（文字認識エンジン、数式認識エンジン）により語句又は数式を認識する。複数の認識エンジンを用いる場合には、互いに異なる複数の認識エンジンを用いる。互いに異なる認識エンジンとは、例えば、異なる学習パターンで学習させた認識エンジン、想定される入力を認識できるものの認識可能な対象が異なる認識エンジン、認識方式が異なる認識エンジン、特に、ストローク順に依存する認識エンジンとストローク順に依存しない（各ストロークの位置に基づきストローク順をソートする）認識エンジンなどである。
【００２３】
信頼度判定部１１２は、認識部１１０の認識結果が信頼できるか否かを判定する。信頼度判定部１１２は、入力パターンに対する複数の認識エンジンによる認識の確信度を複数の認識エンジン毎に算出し、算出した確信度に基づいて認識結果が信頼できるか否かを判定してもよい。
【００２４】
正誤判定部１１４は、信頼度判定部１１２により信頼できると判定された認識結果を記憶部１７０に記憶された正答（模範解答）と照合して、当該認識結果が正答であるか誤答であるかを判定する。
【００２５】
分類部１１６は、信頼度判定部１１２により信頼できないと判定された複数の認識候補に対応する複数の入力パターン間の類似度を算出し、算出した類似度に基づき当該複数の入力パターンをグループ分けする処理（クラスタリング処理）を実行する。
【００２６】
表示制御部１２０は、正誤判定部１１４の判定結果を表示部１９０に表示させる制御を行う。また、表示制御部１２０は、分類部１１６によってグループ分けされた複数の入力パターンをグループ毎に表示部１９０に表示させる制御を行う。
【００２７】
２．処理
図２は、本実施形態の認識装置の処理の流れを示すフローチャートである。ここでは、学校におけるテストの自動採点を行う場合を例にとって説明する。
【００２８】
まず、処理部１００は、生徒ＩＤを表す変数ｉに１をセットする（ステップＳ１０）。なお、図中のループ開始端には、「変数＝初期値、終値、増分値」を記載し、ループ終了端には、「変数」を記載している。ここで、ＳＮは、テストを行った解答者（生徒）の人数を表す値である。次に、処理部１００は、問題番号を表す変数ｊに１をセットする（ステップＳ１１）。ここで、ＰＮは、問題数を表す値である。
【００２９】
次に、認識部１１０は、生徒ＩＤ「ｉ」の問題番号「ｊ」での手書き解答（手書き入力パターン）を取得し、手書き解答が未入力である（解答が白紙である）か否かを判断する（ステップＳ１２）。手書き解答が未入力である場合（ステップＳ１２のＹ）には、ステップＳ１６に移行する。手書き解答が未入力でない場合（ステップＳ１２のＮ）には、認識部１１０は、取得した手書き解答に対して１つ又は複数の認識エンジンにより認識を行う。なお、算数や数学のテストを実施した場合には、１つ又は複数の数式認識エンジンにより数式を認識し、英語や国語のテストを実施した場合には、１つ又は複数の文字認識エンジン（英語認識エンジン、日本語認識エンジン）により語句（単語）を認識する。
【００３０】
次に、信頼度判定部１１２は、認識結果の信頼度を算出し、算出した信頼度に基づき認識結果が信頼できるか否かを判断する（ステップＳ１４，Ｓ１５）。信頼度の判定手法の詳細については後述する。
【００３１】
認識結果が信頼できる場合（ステップＳ１５のＹ）には、正誤判定部１１４は、認識結果を記憶部１７０に記憶された正答と照合し、認識結果が正答と一致する場合には正答（正解）と判定し、一致しない場合は誤答（不正解）と判定する（ステップＳ１６）。なお、手書き解答が未入力である場合は誤答と判定する。正誤判定部１１４による判定結果（正誤の別と点数を示す採点結果）は、生徒ＩＤ及び問題番号に関連付けて記憶部１７０に記憶される。一方、認識結果が信頼できない場合（ステップＳ１５のＮ）には、正誤判定部１１４は、取得した手書き解答（当該認識結果に対応する手書き解答）を、生徒ＩＤ及び問題番号に関連付けて記憶部１７０に記憶する（ステップＳ１７）。以降、変数ｊを１ずつ加算しながら、変数ｊがＰＮに達するまで、ステップＳ１２〜Ｓ１７の処理を繰り返す。また、変数ｊがＰＮに達した場合、変数ｉを１ずつ加算しながら、変数ｉがＳＮを超えるまで、ステップＳ１１〜Ｓ１８の処理を繰り返す。
【００３２】
次に、処理部１００は、変数ｊに１をセットする（ステップＳ２０）。次に、分類部１１６は、問題番号「ｊ」において、複数の認識結果が信頼できないと判定されたか否かを判定し（ステップＳ２１）、信頼できないと判定された認識結果が０又は１つである場合（ステップＳ２１のＮ）には、ステップＳ２３に移行する。信頼できないと判定された認識結果が複数である場合（ステップＳ２１のＹ）には、分類部１１６は、信頼できないと判定された複数の認識結果に対応する複数の手書き解答を類似度に応じてグループ分けするクラスタリング処理を実行する（ステップＳ２２）。クラスタリング手法の詳細につい
ては後述する。グループ分けの結果は、生徒ＩＤ及び問題番号に関連付けて記憶部１７０に記憶される。以降、変数ｊを１ずつ加算しながら、変数ｊがＰＮに達するまで、ステップＳ２１、Ｓ２２の処理を繰り返す。また、先に分類部１１６の処理である手書き解答の類似度に応じてグループ分けするクラスタリング処理を実行してから、信頼度判定部１１２、正誤判定部１１４、表示制御部１２０の処理を実行しても良い。また、認識部１１０、信頼度判定部１１２、正誤判定部１１４を経ずに、すべて分類部１１６に渡しても良い。
【００３３】
次に、表示制御部１２０は、グループ分けした手書き解答（認識結果が信頼できないと判定された解答）の手動採点を行うための手動採点画面を表示部１９０に表示させる制御を行う（ステップＳ２３）。手動採点の詳細については後述する。
【００３４】
本実施形態の認識装置によれば、手書き入力パターンに対する認識エンジンの認識結果が信頼できるか否かを判定し、信頼できると判定された認識結果についてのみ正誤判定部１１４で正誤判定（自動採点）を行い、信頼できないと判定された認識結果については正誤判定しないことで、自動採点による誤採点（正しい解答が誤答と判定されたり、誤った解答が正答と判定される確率）を低減することができる。また、信頼できないと判定された複数の認識結果に対応する複数の入力パターンを類似度に応じてグループ分けした上で手動採点に回すことで、採点者による手動採点の採点ミスと採点ムラを低減して手動採点の効率を高めることができる。
【００３５】
２．１．信頼度判定
以下、認識結果の信頼度を判定する手法として、スコア方式、多数決方式、全数一致方式、確信度関数方式、確信度関数と多数決の組み合わせ方式、及び、確信度関数と全数一致の組み合わせ方式について説明する。
【００３６】
２．１．１．スコア方式
スコア方式では、手書き認識エンジンを１つ利用する。認識エンジンは、複数の認識候補と各認識候補のスコア（確からしさの確率）を出力する。解答者が丁寧に解答（語句や数式）を筆記した場合、第１位の認識候補（スコアが最も高い認識候補）は正しい認識結果になり、第１位の認識候補のスコアと第２位以降の認識候補のスコアの比の絶対値（以降、単に「比」と呼称する）は大きくなる可能性が高い。一方、解答者が曖昧に解答を筆記した場合、第１位の認識候補は正しい認識結果になるかもしれないが、第１位の認識候補のスコアと第２位以降の認識候補のスコアの比は小さくなる可能性が高い。
【００３７】
図３に、手書き数式に対する数式認識エンジンの出力（認識候補とスコア）の例を示す。図３の左側に示すように、解答者が丁寧に「７３」と筆記した場合、第１位の認識候補は「７３」となり、スコアは「ｅ−２．５０４０８９」となる。第２位の認識候補は「７３」となり、スコアは「ｅ−３．８９０３８３」となる。第１位の認識候補のスコアと第２位の認識候補のスコアの比は「ｅ１．３８６２９４」となり大きい。一方、図３の右側に示すように、解答者が「７３」とも「１３」とも見える曖昧な数式を筆記した場合、第１位の認識候補は「７３」となり、スコアは「ｅ−１．４４８８６２４」となる。第２位の認識候補は「１３」となり、スコアは「ｅ−１．５４０８３５」となる。第１位の認識候補のスコアと第２位の認識候補のスコアの比は「ｅ０．０５２２１１」となり小さい。
【００３８】
スコア方式では、信頼度判定部１１２は、認識エンジンで得た第１位の認識候補のスコアと第２位の認識候補のスコアの比を求め、スコアの比が所定の閾値よりも大きければ、認識結果の信頼度が高い（信頼できる）と判定し、当該第１位の認識候補を最終的な認識結果とする。この場合、正誤判定部１１４は、当該認識結果（第１位の認識候補）を正答と照合して正誤判定を行う。また、信頼度判定部１１２は、スコアの比が所定の閾値以下
であれば、認識結果の信頼度が低い（信頼できない）と判定し、正誤判定部１１４は、認識結果の自動採点を行わない。
【００３９】
図４に、手書き英単語に対する英語認識エンジンの出力の例と、手書き日本語単語に対する日本語認識エンジンの出力の例を示す。なお、図３に示す例（数式の場合）と、図４に示す例（英語、日本語の場合）とでスコアの位が違うのは、図４に示す例では対数を取り、図３に示す例では対数を取っていないためであり、また、図４の上側に示す例（英語の場合）と図４の下側に示す例（日本語の場合）とでスコアの位が違うのは、正規化の基準が違うからである。図４に示す例では、スコアのマイナス対数を取っているため、スコアの比ではなくスコアの差を所定の閾値と比較して信頼度を判定する。なお、スコアとして確率値の対数を取る場合はスコアの差を用いる。これは、確率値にあたるスコアの比を用いることと全く等価である。
【００４０】
２．１．２．多数決方式
多数決方式では、ｎ（但し、ｎ＝２ｉ−１（ｉ＝２，３，４，…））個の手書き認識エンジンを利用する。信頼度判定部１１２は、ｎ個の認識エンジンそれぞれが出力した第１位の認識候補を調べ、ｎ個の第１位の認識候補のうち、一番多く出た（最多数の）認識候補が１種類である場合に、認識結果の信頼度が高いと判定し、当該最多数の認識候補を最終的な認識結果とする。この場合、正誤判定部１１４は、当該認識結果（最多数の認識候補）を正答と照合して正誤判定を行う。また、信頼度判定部１１２は、一番多く出た認識候補が２種類以上存在した場合は、認識結果の信頼度が低いと判定し、正誤判定部１１４は、認識結果の自動採点を行わない。
【００４１】
２．１．３．全数一致方式
全数一致方式では、ｎ（ｎは２以上の整数）個の手書き認識エンジンを利用する。信頼度判定部１１２は、ｎ個の認識エンジンそれぞれが出力した第１位の認識候補を調べ、ｎ個の第１位の認識候補が全て一致する場合に、認識結果の信頼度が高いと判定し、当該第１位の認識候補を最終的な認識結果とする。この場合、正誤判定部１１４は、当該認識結果（第１位の認識候補）を正答と照合して正誤判定を行う。また、信頼度判定部１１２は、ｎ個の第１位の認識候補が一致しない場合は、認識結果の信頼度が低いと判定し、正誤判定部１１４は、認識結果の自動採点を行わない。
【００４２】
２．１．４．確信度関数方式
確信度関数方式では、ｎ（ｎは２以上の整数）個の手書き認識エンジンと同数（ｎ個）のＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を利用する。ＳＶＭは、入力パターンに対する各認識エンジンの認識結果が信頼できるか否かを判断するために利用する。入力パターンに対する各認識エンジンによる認識の確信度を計算するため、認識エンジン毎にＳＶＭを用意し、認識エンジン毎のＳＶＭを学習させておく。ＳＶＭの学習は、入力パターンに対して認識エンジンが正しく認識できたか否かを与えて行う。
【００４３】
信頼度判定部１１２は、手書き入力パターンの特徴値（例えば、入力パターンのストローク数、方向特徴ヒストグラムなど）と当該手書き入力パターンを認識エンジンにより認識したときのスコア（例えば、上位ｐ個のスコア（確率値）及び上位ｑ個のスコアの比率）とを、当該認識エンジンに対応するＳＶＭに入力して、当該認識エンジンの認識結果の確信度を算出する。この処理により、入力パターンの特徴やスコアの分布に対する認識エンジンの適正を評価することができる。なお、認識結果のスコアが確率値でない場合には、スコアの比率に代えて、スコアの差や２つのスコアに適切な関数を適用して得られる値をＳＶＭに入力してもよい。
【００４４】
このように、信頼度判定部１１２は、入力パターンに対する複数の認識エンジンの認識
結果の確信度を複数の認識エンジン毎に算出し、次式（１）により、複数の認識エンジン毎に算出した確信度のうち最も高い確信度を求める。
【００４５】
【数１】
2018206115.tif 000003
ここで、ｘは、手書き入力パターンであり、ｇｓｖｍｉはｘに対する各認識エンジンの認識結果の確信度を計算する関数（すなわち、ＳＶＭ）であり、Ｍａｘは、最大の確信度を選択するための関数である。ｉは、各認識エンジンを示し、ここでは、各認識エンジンをａ、ｂ、ｃのようにアルファベット表記で示している。
【００４６】
信頼度判定部１１２は、複数の認識エンジン毎に算出した確信度のうちの最大値が所定の閾値γよりも大きい場合に、認識結果の信頼度が高いと判定し、確信度が最大の認識エンジンの第１位の認識候補を最終的な認識結果とする。この場合、正誤判定部１１４は、当該認識結果を正答と照合して正誤判定を行う。また、信頼度判定部１１２は、複数の認識エンジン毎に算出した確信度のうちの最大値が所定の閾値以下である場合には、認識結果の信頼度が低いと判定し、正誤判定部１１４は、認識結果の自動採点を行わない。確信度関数方式により、各認識エンジンの認識結果の信頼度を適切に判定することができる。
【００４７】
２．１．５．確信度関数と多数決又は全数一致の組み合わせ方式
確信度関数と多数決又は全数一致の組み合わせ方式は、確信度関数方式において、確信度が高い認識エンジンが２つ以上存在する可能性があること、及び、確信度が最も高い認識エンジンの認識結果が誤認識である可能性があることを考慮して改良した方式である。
【００４８】
確信度関数方式と多数決方式とを組み合わせた方式では、複数の認識エンジン毎に確信度を算出した結果、確信度が所定の閾値を超える認識エンジンが２つ以上ある場合、当該２つ以上の認識エンジンそれぞれの認識結果（第１位の認識候補）のうち最多数の認識結果が１種類である場合に、認識結果の信頼度が高いと判定して当該最多数の認識結果を最終的な認識結果とし、最多数の認識結果が２種類である場合には、認識結果の信頼度が低いと判定する。
【００４９】
確信度関数方式と全数一致方式とを組み合わせた方式では、複数の認識エンジン毎に確信度を算出した結果、確信度が所定の閾値を超える認識エンジンが２つ以上ある場合、当該２つ以上の認識エンジンそれぞれの認識結果（第１位の認識候補）が全て一致する場合に、認識結果の信頼度が高いと判定して当該一致する認識結果を最終的な認識結果とし、認識結果が一致しない場合には、認識結果の信頼度が低いと判定する。
【００５０】
なお、確信度が所定の閾値を超える認識エンジンが１つである場合には、当該認識エンジンの認識結果の信頼度が高いと判定し、確信度が所定の閾値を超える認識エンジンがない場合には、認識結果の信頼度が低いと判定する。上記組み合わせ方式により、各認識エンジンの認識結果の信頼度をより適切に判定することができる。
【００５１】
２．２．クラスタリング処理
図５に、手書き入力パターンをクラスタリングした例を示す。図５に示すように、問題番号ｍでは、認識結果の信頼度が低いと判定され、自動採点されなかった手書き入力パターン（手書き解答）が９個（９人分）ある。これら解答者の手書き解答を採点者が１個ずつ採点するのは採点ミスと採点ムラを招き、手間と時間もかかる。そこで、本実施形態の認識装置では、分類部１１６が、自動採点されなかった手書き解答に対してクラスタリング処理を実行して、類似する手書き解答毎にクラスタに分類（グループ分け）する。これにより、採点者は似た手書き解答を一度にまとめて採点することができ、採点ミスと採点
ムラを低減して手動採点の効率を高めることができる。図５に示す例では、９個の手書き解答が３つのクラスタに分類され、４個の手書き解答「（ｘ−７）（ｘ＋８）」がクラスタ１に、２個の手書き解答「（ｘ−４）（ｘ−１５）」がクラスタ２に、３個の手書き解答「（ｘ＋３）２」がクラスタ３に分類されている。従って、採点者は、クラスタごとに同じ手書き解答をまとめて採点することができる。
【００５２】
クラスタリングでは、４ステップの処理を実行する。第１ステップは正規化であり、正規化により手書き入力パターンを標準サイズに整える。第２ステップは特徴点抽出であり、手書き入力パターンのストローク列からＲａｍｍｅｒの方法を用いて、端点や屈曲点などの特徴点を抽出する。第３ステップは、特徴抽出であり、特徴点毎にその位置と方向（８方向に量子化した方向）の特徴値を抽出する。第４ステップでは、Ｋ−ｍｅａｎｓ法を用いたクラスタリングを実行する。Ｋ−ｍｅａｎｓ法の際に、各入力パターンの類似度を利用して、各クラスタのセントロイドを求める。類似度は、対象パターンと比較パターンがどれだけ同じパターンであるかを示す指標である。類似度を求めるには、まず、対象パターンの特徴点Ｍ個と比較パターンの特徴点Ｎ個の中からそれぞれ１つずつを選び、特徴量を用いてユークリッド距離を求める。全ての特徴点の組み合わせのユークリッド距離を求め、その中から最小の距離（ＭＩＮＤＩＳ）を求める。次に、ＭＩＮＤＩＳに基づき閾値を設定する。例えば、閾値＝δ×ＭＩＮＤＩＳ（δは１より大きい係数）とする。次に、対象パターンの特徴点Ｍ個と比較パターンの特徴点Ｎ個の中からそれぞれ１つずつを選び、特徴量を用いてユークリッド距離を求め、求めた距離が閾値以下の場合、マッチング特徴点とする。全てのマッチング特徴点を求めたら、次式（２）により類似度（Ｓｉｍｉｌａｒｉｔｙ）を求める。
【００５３】
【数２】
2018206115.tif 000004
ここで、Ｍは、対象パターンの特徴点の数であり、Ｎは、比較パターンの特徴点の数であり、ｎは、マッチングの個数（すなわち、２ｎは、マッチングした特徴点の数）である。マッチングは１対１対応であるから、類似度は、０以上１以下の値を示し、０に近いほど対象パターンと比較パターンが違うパターンであることを示し、１に近いほど両者が同じパターンであることを示す。図６に、類似度の計算例を示す。図６に示す例では、対象パターンを「３」とし、比較パターンを「２」としている。対象パターンの特徴点の数（Ｍ）は１１個であり、比較パターンの特徴点の数（Ｎ）は９個であり、マッチングした特徴点の数（２ｎ）は１０個である。従って、類似度は０．５となり、対象パターンと比較パターンは、同じパターンと断定するには難しいことが分かる。ここで、クラスタリングの方法は、Ｋ−ｍｅａｎｓ法に限定しない。また、クラスタリングに用いる特徴も、上に示したものに限定しない。なお、英語や日本語で語句ではなく短文を筆記させる記述式の問題では、手書き認識の上に、自然言語理解の問題も加わる。但し、その場合でも、文字や単語の認識の後、文字列の編集距離を使ってクラスタリングすることが可能である。
【００５４】
３．手動採点
図７に、表示部１９０に表示される手動採点画面の一例を示す。手動採点画面には、採点を行う問題番号とその解答リスト（正答、部分正答の例と、それぞれの配点）、グループ番号、採点待ち人数、解答者の生徒ＩＤ及び手書き解答が表示される。解答者の手書き解答はグラスタリングされたグループ（クラスタ）毎に表示され、採点者は、「○」ボタン（正解）、「×」ボタン（不正解）、「△」ボタン（部分正解）を用いて、グループ毎に手書き解答の採点を行うことができる。問題番号を変更する場合は、「Ｐｒｅｖ」ボタン（前の問題を表示する）と「Ｎｅｘｔ」ボタン（次の問題を表示する）を使用し、グループ番号を変更する場合は、「ＰｒｅｖＧ」ボタン（前のグループを表示する）と「Ｎｅ
ｘｔＧ」ボタン（次のグループを表示する）を使用する。
【００５５】
図７は、問題番号「１」（最初の問題）に対しての手動採点画面であり、正答は「２２」で正解の場合「１０」点を与えることを示している。採点待ちの解答者は１人であり、この解答者の生徒ＩＤは「２０」、手書き解答は「２２」と読める。チェックボックスはデフォルトの「採点する」に設定されている。このチェックを外すと「採点しない」に変化し、「採点しない」の状態の手書き解答は、「○」ボタン、「×」ボタン、「△」ボタンを押しても採点されない。
【００５６】
図７に示す例では、解答者の手書き解答は正解であるので「○」ボタンを押すと、採点内容の確認ダイアログ（図８参照）が表示される。採点内容は、判定が「○」、配点が「１０」点となっている。この採点内容は正しいので「Ｙｅｓ」ボタンを押して採点を実行する。配点を変更する場合は、トラックバーを使用する。問題番号「１」の採点待ち人数は１人であるので、問題番号「１」の採点は終了し、手動採点画面に「採点待ちはありません」と表示される（図９参照）。そして、「Ｎｅｘｔ」ボタンを押して、次の問題の採点を行う。これらの作業を最後の問題番号まで繰り返す。
【００５７】
問題番号「１」では、自動採点されなかった手書き解答が１つであったため、クラスタリングは実行されていない。図１０に、クラスタリングが実行されている問題番号の手動採点画面を示す。図１０に示すように、問題番号「４」で自動採点されなかった１８個の手動解答は、４つのグループに分類されている。８個の手書き解答「ａ（ｘ２−ｙ２）」と１個の手書き解答「ａ（ｘ−ｙ）２」はグループ番号「１」に分類されている。これらの手書き解答は不正解であるので、採点者は「×」ボタンを押して採点を実行する。２個の手書き解答「ａ（ｘ−ｙ）（ｘ＋ｙ）」はグループ番号「２」に分類されている。これらの手書き解答は正解であるので、採点者は「○」ボタンを押して採点を実行する。７個の手書き解答「ａ（ｘ＋ｙ）（ｘ−ｙ）」のうち６個はグループ番号「３」に分類され、残りの１個はグループ番号「４」に分類されている。これらの手書き解答も正解であるので、採点者は「○」ボタンを押して採点を実行する。
【００５８】
全ての問題の採点が完了したときに、「採点確認画面へ移行するか？」というダイアログが表示される。そのダイアログの「Ｙｅｓ」のボタンを押すと、採点確認画面へ移行する。採点確認画面では、採点者は、誤採点がないかを確認し、誤採点があれば訂正することができる。図１１に、採点確認画面の一例を示す。採点確認画面には、採点確認を行う問題番号とその解答リスト、全解答者の採点結果情報（生徒ＩＤ、自動採点／手動採点の別、採点結果、手書き解答）が表示される。採点結果情報は、正解、部分正解、不正解の毎に、生徒ＩＤの小さい順に表示される。自動採点による採点結果には、「ｃｏｍｐｕｔｅｒ」と表記されたアイコンが表示され、手動採点による採点結果には、「Ｔｅａｃｈｅｒ」と表記されたアイコンが表示される。自動採点による採点結果と手動採点による採点結果を区別して表示する方法は、上記で示す方法以外に、色で区別する等の方法も考えられる。これにより、採点者は、自動採点された解答者の採点結果を中心に誤採点がないかを確認することができる。問題番号を変更する場合は、「Ｐｒｅｖ」ボタン（前の問題を表示する）と「Ｎｅｘｔ」ボタン（次の問題を表示する）を使用する。全ての問題の採点確認が終了した場合には、「結果表示画面へ」ボタンを押して、全体結果表示画面（各解答者の点数、偏差値、各問題の正答率などを確認するための画面）に移行する。
【００５９】
図１１に示す例（問題番号「５」）では、誤採点が２つある。１つ目は、生徒ＩＤ「８」に対する採点であり、手書き解答は正解であるが、自動採点の結果は不正解となっている。２つ目は、生徒ＩＤ「９」に対する採点であり、手書き解答は部分正解であるが、自動採点の結果は不正解となっている。生徒ＩＤ「８」の誤採点を訂正する場合、生徒ＩＤ「８」の「採点訂正」ボタンを押す。「採点訂正」ボタンを押すと、訂正ダイアログ（図
１２参照）が表示される。訂正ダイアログには、問題番号、生徒ＩＤ、手書き解答、及び、採点に必要な「○」ボタン、「×」ボタン、「△」ボタン、トラックバーが表示される。採点の訂正内容を設定し、「訂正登録」ボタンを押して訂正を実行する。
【００６０】
４．評価実験
本実施形態の手法を評価する実験を行った。５０種類の小・中学校の数式パターン３セットを、電子ペンを用いて書き写してもらう方式で、２１人から計３，１５０パターンの手書き数式パターン（ＩｎｋＭＬ形式）を収集し、学習・評価用パターンとした。１セット目では、普段の書き方で入力してもらった。２セット目では、入力欄を上下に２等分する補助線を１本引いておき、補助線より上に数式の上付き文字を入力し、補助線より下に数式の下付き文字を入力してもらう制限を加えた。３セット目では、入力欄を上下に４等分する補助線を３本引いておき、２セット目と同様の制限を加えた。この３本の補助線は、筆記者に、数式を平行に筆記することを意識させるために設けた。
【００６１】
自動採点の評価実験では、５分割交差検証法を採用した。学習・評価パターンの筆記者ごとに０から２０までの番号を振り、各人のパターンを、表１に示すように５分割してクロスバリデーションを行った。
【００６２】
【表１】
2018206115.tif 000005
【００６３】
表１に示す各バリデーションの学習データを用いて最適な閾値を設定する実験を行い、テストパターンを用いて自動採点の評価実験を行った。
【００６４】
また、採点時間の評価実験では、まず、３０人の被験者に小・中学校レベルの試験問題１０問をタブレットを用いて受験してもらい、手書き解答パターンを収集し、この手書き解答パターンに対して自動採点を行った後、９人の被験者に手動採点と採点確認・訂正を行ってもらい、その作業の時間を計測して平均をとった。また、自動採点と分類部のクラスタリングが採点時間をどれくらい削減できるかを比較するために、この手書き解答パターンに対して、３人の被験者が、自動採点とクラスタリングを行わずに全部を手動で採点した場合と、自動採点をせずにクラスタリングだけ行った場合の作業時間も計測し平均をとった。
【００６５】
４．１．自動採点の評価実験
本実験では、３つの手書き数式認識エンジンを利用した。これら３つの認識エンジンを、以降、エンジンＡ、エンジンＢ、エンジンＣと呼ぶ。エンジンＡは、小・中学校の単位なしの数式を認識することができる。エンジンＢは、小・中学校の単位なし及び単位付きの数式を認識することができる。エンジンＣは、ストローク順に依存せず、小・中学校の数式を認識することができる。エンジンＡとエンジンＢは、認識候補を最大５つまで出力できる。エンジンＣは、認識結果を１つのみ出力できるが、エンジンに候補機能を追加することで任意の数の認識候補を出力できる。
【００６６】
本実験では、自動採点の各方式について、正採点率、誤採点率及び棄却率を評価した。正採点率ＣＭＲａｔｅ、誤採点率ＷＭＲａｔｅ、棄却率ＲｅＪＲａｔｅは、評価パターン数をＰＮ、正しく認識した数をｃｏｒＲＮ、誤認識した数をｅｒｒＲＮ、棄却した（信頼度が低いと判定した）数をｒｅｊＮとしたとき、それぞれ次式により求めた。
ＣＭＲａｔｅ＝ｃｏｒＲＮ／ＰＮ×１００
ＷＭＲａｔｅ＝ｅｒｒＲＮ／ＰＮ×１００
ＲｅＪＲａｔｅ＝ｒｅｊＮ／ＰＮ×１００
【００６７】
本来、正採点率は、正しい解答を正答と判定するものと誤った解答を誤答と判定するものを合わせた率であり、誤採点率は、正しい解答を誤答と判定するものと誤った解答を正答と判定するものを合わせた率である。しかし、本実験では、誤答のデータはないため、正採点率は、正しい解答を正認識して正答と判定する率（正認識率）であり、誤採点率は、正しい解答を誤認識して誤答と判定する率（誤認識率）である。但し、誤答のデータがある場合でも、誤った解答を正答と判定することは殆どないため、本実験により、ほぼ正確に正採点率と誤採点率を評価することができる。
【００６８】
次に、スコア方式と確信度関数の閾値を設定する方法について説明する。閾値設定に使用するデータとして、表１で示した各バリデーションの学習データを用いた。学習データで閾値設定実験を行い、テストデータで評価実験を行った。また、確信度関数方式で使用するＳＶＭの学習方法も上記と同様である。ＳＶＭの特徴値としては、入力数式パターンの特徴と各認識エンジンの認識結果のスコア、第１位の認識候補のスコアと第２位の認識候補のスコア（確率）の比の３つを採用した。より多くの特徴を採用することで、確信度関数の信頼性を高めることができる。
【００６９】
スコア方式の閾値設定について説明する。最適な閾値とは誤採点率が低くなる値である。しかし、誤採点率が低くなればなるほど、認識結果の信頼度が低いと判定される数が多くなり、棄却率が高くなる（正採点率が低くなる）というトレードオフが生じる。図１３に、エンジンＡを利用したスコア方式の閾値設定の実験結果を示す。この実験では、バリデーション１の学習データを用いた。なお、スコア方式で利用する手書き数式エンジンが、エンジンＡの場合は閾値αと呼び、エンジンＢの場合は閾値βと呼ぶ。図１３の縦棒グラフは、横軸に閾値αの値、縦軸に誤採点率と棄却率を示す。閾値αは、０から１．５までの値を０．１間隔で示した。黒色の縦棒グラフは誤採点率を示し、グレーの縦棒グラフは棄却率を示す。図１３の実験結果から、閾値αの値が大きくなるにつれて、誤採点率が低くなり、棄却率が高くなっているのが分かる。低い誤採点率は、誤採点数が少なくなり、採点を訂正する手間が省ける点では良い。しかし、棄却率が高くなり、採点者による手動採点の負担が増えることになる。従って、本実験では、スコア方式の最適な閾値（α、β）は、誤採点率が１％未満に初めて達した値とすることにする。図１３に示すように、バリデーション１では、誤採点率が０．８％である閾値αの値「１．１」が最適な値である。エンジンＡを利用した際のバリデーション２〜５、エンジンＢを利用した際のバリデーション１〜５に対しても、同様の閾値設定実験を行い、最適な閾値を設定した。表２に、エンジンＡとエンジンＢの各バリデーションに対する最適な閾値を示す。
【００７０】
【表２】
2018206115.tif 000006
【００７１】
次に、確信度関数方式の閾値設定について説明する。最適な閾値の定義は、スコア方式の閾値設定と同様である。確信度関数方式でも、誤採点率が低くなればなるほど、認識結果の信頼度が低いと判定される数が多くなり、棄却率が高くなるというトレードオフが生じる。従って、確信度関数方式の最適な閾値（γ）は、スコア方式と同様に、誤採点率が１％未満に初めて達した値とすることにする。表３に、各バリデーションに対する最適な閾値を示す。
【００７２】
【表３】
2018206115.tif 000007
【００７３】
表４に、自動採点の各方式についての評価実験の結果を示す。
【００７４】
【表４】
2018206115.tif 000008
【００７５】
表４において、「スコアＡ」、「スコアＢ」は、エンジンＡ、エンジンＢを用いたスコア方式を示す。「多数決」は、多数決方式を示し、「全数一致」は、全数一致方式を示す。「確信度関数」は、確信度関数方式を示し、閾値なしの場合と閾値ありの場合を示している。閾値なしの確信度関数方式では、一番高い確信度と閾値γとの比較（信頼度の判定）を行わず、確信度が一番高い認識エンジンの第１位の認識候補を最終的な認識結果とする。「確信度関数＋多数決」は、確信度関数方式と多数決方式を組み合わせた方式を示す。「確信度関数＋全数一致」は、確信度関数方式と全数一致方式を組み合わせた方式を示す。
【００７６】
エンジンＡ〜Ｃの中で、誤採点率が低いのは、エンジンＣ、エンジンＢ、エンジンＡの順であることが分かる。
【００７７】
スコア方式については、誤採点率が１％未満になるように閾値を設定したため、誤採点率は低い。しかし、棄却した数が多くなってしまい、正採点率は、スコアＡは２８．３１％、スコアＢは２９．８４％を示した。
【００７８】
多数決方式は、誤採点率が１１．０５％、棄却率が１３．１８％を示し、全数一致方式は、誤採点率が１．２９％、棄却率が４４．１％を示した。
【００７９】
閾値なしの確信度関数方式は、誤採点率が２３．８６％、棄却率が０％を示し、エンジンＢより誤採点率が約３．６ポイント下がった。閾値ありの確信度関数方式は、誤採点率が０．８６％、棄却率が７２．８２％を示し、スコア方式より棄却率が約２〜３ポイント上がった。確信度関数と多数決の組み合わせ方式は、誤採点率が８．８４％、棄却率が１６．５１％を示した。確信度関数と全数一致の組み合わせ方式は、誤採点率が３．６５％、棄却率が３５．８６％を示した。
【００８０】
従って、誤採点率に焦点を当てるならば、スコア方式、閾値ありの確信度関数方式が優れている。また、これらの方式は、閾値の値を変えることにより、誤採点率と棄却率の値を変えることができる。つまり、採点者は棄却する（手動採点を行う）解答数を調整することができる。
【００８１】
棄却率に焦点を当てるならば、閾値なしの確信度関数方式、多数決方式、及び、確信度関数と多数決の組み合わせ方式が優れている。これらの方式は、解答数の約７５％以上を自動採点するので、手動採点する手間を軽減することができる。
【００８２】
誤採点率と棄却率の両方に焦点を当てるならば、全数一致方式、確信度関数と全数一致の組み合わせ方式が優れている。これらの方式は、誤採点率が３．７％未満であり、誤認識による誤採点を低減しつつ、約５５％から６０％を自動採点することができる。また、確信度関数方式は、ＳＶＭで使用する特徴量を増やすことによって、精度を高くすることができる。
【００８３】
４．２．採点時間の評価実験
表５に、採点時間の評価実験の結果を示す。
【００８４】
【表５】
2018206115.tif 000009
【００８５】
自動採点の方式としては、全数一致方式を採用した。上述したように、試験問題は１０問、解答者人数は３０人である。自動採点時間は１４分４１秒、９名の被験者に対する計測を平均して、手動採点時間は６分５１秒、採点確認・訂正時間は６分４８秒という結果になった。自動採点時間は、高性能コンピュータを使用することで短縮でき、また、採点者はこの間に別のことができるので、採点者が採点する時間は手動採点と採点確認・訂正時間の合計である。従って、試験問題１０問、解答者３０人に係る採点時間は１３分３９秒となる。この実験が影響しないように３週間おいて、自動採点とクラスタリングの両方を用いずに全て手動採点と採点確認・訂正をした場合の採点所要時間を計測すると、３名の被験者に対する計測を平均して、採点時間は１８分５６秒であった。約６分（３割以上）削減できている。自動採点は行わずにクラスタリングだけ行って手動採点と採点確認・訂正を行った場合は、採点時間は３名の平均で１４分１５秒であった。約４分（２割以上）削減できた。クラスタリングするだけでも、似た解答をまとめて採点できる利点があることが確認できた。
【００８６】
なお、本発明は、上述の実施の形態に限定されるものではなく、種々の変更が可能である。本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【００８７】
１００  処理部、１１０  認識部、１１２  信頼度判定部、１１４  正誤判定部、１１６
分類部、１２０  表示制御部、１６０  入力部、１７０  記憶部、１９０  表示部
【図１】
2018206115.tif 000010
【図２】
2018206115.tif 000011
【図３】
2018206115.tif 000012
【図４】
2018206115.tif 000013
【図５】
2018206115.tif 000014
【図６】
2018206115.tif 000015
【図７】
2018206115.tif 000016
【図８】
2018206115.tif 000017
【図９】
2018206115.tif 000018
【図１０】
2018206115.tif 000019
【図１１】
2018206115.tif 000020
【図１２】
2018206115.tif 000021
【図１３】
2018206115.tif 000022