(57)【特許請求の範囲】
【請求項１】
コンピュータが、
画像に含まれる問題文の文字列のうち正解の文字列に設定される枠を取得し、
設定された枠からのずれを許容する許容範囲を算出し、
手書き入力による筆跡を取得し、
前記枠から算出された前記許容範囲内に含まれる筆跡が存在するか否かにより、前記枠に対応する傍線問題が正解であるか否かを判定する、
処理を実行することを特徴とする傍線問題採点方法。
【請求項２】
前記算出する処理は、前記枠の幅または高さに基づいて前記許容範囲を算出し、
前記判定する処理は、前記手書き入力による筆跡の中に、前記画像上の左右端または上下端の位置が前記許容範囲内に含まれる筆跡が存在するか否かにより、前記枠に対応する傍線問題が正解であるか否かを判定することを特徴とする請求項１に記載の傍線問題採点方法。
【請求項３】
前記算出する処理は、前記枠の幅または高さに基づいて前記許容範囲を算出し、
前記判定する処理は、前記手書き入力による筆跡の中に、前記画像上の垂直または水平の位置が前記許容範囲内に含まれる筆跡が存在するか否かにより、前記枠に対応する傍線問題が正解であるか否かを判定することを特徴とする請求項１に記載の傍線問題採点方法。
【請求項４】
前記コンピュータが、
前記筆跡が前記算出された許容範囲内に収まる場合に、前記手書き入力による筆跡が直線状であるか否かを判定する処理をさらに実行することを特徴とする請求項１〜３のいずれか１つに記載の傍線問題採点方法。
【請求項５】
前記コンピュータが、
第１の枠の左右または上下の辺と、前記第１の枠と異なる第２の枠の左右または上下の辺との距離が、前記枠の高さまたは幅から定めた範囲内である場合に、前記第１の枠及び前記第２の枠を左右または上下に連結することにより合成する処理をさらに実行し、
前記判定する処理は、前記第１の枠、前記第２の枠及び合成後の枠ごとに、当該枠から算出された許容範囲内に収まる筆跡が存在するか否かを判定することを特徴とする請求項１〜４のいずれか１つに記載の傍線問題採点方法。
【請求項６】
コンピュータに、
画像に含まれる問題文の文字列のうち正解の文字列に設定される枠を取得し、
設定された枠からのずれを許容する許容範囲を算出し、
手書き入力による筆跡を取得し、
前記枠から算出された前記許容範囲内に含まれる筆跡が存在するか否かにより、前記枠に対応する傍線問題が正解であるか否かを判定する、
処理を実行することを特徴とする傍線問題採点プログラム。
【請求項７】
画像に含まれる問題文の文字列のうち正解の文字列に設定される枠を取得する第１取得部と、
設定された枠からのずれを許容する許容範囲を算出する算出部と、
手書き入力による筆跡を取得する第２取得部と、
前記枠から算出された前記許容範囲内に含まれる筆跡が存在するか否かにより、前記枠に対応する傍線問題が正解であるか否かを判定する判定部と、
を有することを特徴とする傍線問題採点装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、傍線問題採点方法、傍線問題採点プログラム及び傍線問題採点装置に関する。
【背景技術】
【０００２】
インターネットやタブレット端末を活用した電子教材が導入されつつある。かかる電子教材では、一例として、問題文のうち解答に対応する箇所に傍線を引かせる形式で傍線問題が出題されることがある。
【０００３】
このような傍線問題を電子教材として提供する場合、問題文がテキスト形式で記述されたテキストデータであれば、コンピュータ上でドラッグ操作等を通じて範囲を指定させることにより、傍線を解答として入力させたり、解答を採点したりすることができる。ところが、問題文が紙文書である場合、問題文に含まれる正解の文字列と、解答として入力された傍線部の文字列との対応付けを行うために、問題文の紙文書がＯＣＲ（Optical  Character  Recognition）等を用いることにより電子化される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−１６４８８５号公報
【特許文献２】特開２００７−４８２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＯＣＲには、その文字認識の精度に自ずから限界がある。すなわち、ＯＣＲには、レイアウト認識、行方向推定、行分割、文字分割、文字認識といった手順が含まれる。これら手順は、それぞれが様々な原因によって誤りを生じさせる場合がある。例えば、想定外の特殊なレイアウトであったり、問題文の紙文書における文字のにじみやかすれ、紙面の汚れなどが誤りの一因となる。このように、ＯＣＲを用いる場合、文字認識の結果に対する修正操作が避けられないので、問題文の正解の文字列と傍線部の文字列との対応付けに手間が生じる結果、傍線問題の採点効率が低下してしまう。
【０００６】
１つの側面では、本発明は、傍線問題の採点効率を向上させることができる傍線問題採点方法、傍線問題採点プログラム及び傍線問題採点装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一態様の傍線問題採点方法では、コンピュータが、文字列を含む画像上で前記文字列の一部または全部を囲む枠を設定し、設定された枠に基づいて判定範囲を算出し、手書き入力による筆跡を取得し、前記枠の位置と前記手書き入力による筆跡の位置とに基づいて、前記筆跡が前記算出された判定範囲内に収まるか否かを判定する処理を実行する。
【発明の効果】
【０００８】
傍線問題の採点効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る傍線問題採点装置の機能的構成を示す図である。
【図２】図２は、黒画素の切れ目の検出例を示す図である。
【図３Ａ】図３Ａは、問題文画像への矩形の設定例を示す図である。
【図３Ｂ】図３Ｂは、問題文画像への解答の記入例を示す図である。
【図３Ｃ】図３Ｃは、第１の判定方法の一例を示す図である。
【図３Ｄ】図３Ｄは、第２の判定方法の一例を示す図である。
【図４】図４は、実施例１に係る傍線問題採点処理の手順を示すフローチャート（１）である。
【図５】図５は、実施例１に係る傍線問題採点処理の手順を示すフローチャート（２）である。
【図６】図６は、応用例を示す図である。
【図７Ａ】図７Ａは、応用例に関する効果の一側面を示す図である。
【図７Ｂ】図７Ｂは、応用例に関する効果の一側面を示す図である。
【図８】図８は、実施例１及び実施例２に係る傍線問題採点プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して本願に係る傍線問題採点方法、傍線問題採点プログラム及び傍線問題採点装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
［傍線問題採点装置の構成］
図１は、実施例１に係る傍線問題採点装置の機能的構成を示す図である。図１に示す傍線問題採点装置１０は、問題文のうち解答に対応する箇所に傍線を引かせる形式で出題される傍線問題に対し、傍線が手書き入力された解答の正解または不正解を判定することにより、傍線問題の採点を支援する傍線問題採点処理を実行するものである。
【００１２】
一実施形態として、傍線問題採点装置１０は、上記の傍線問題採点処理がパッケージソフトウェアやオンラインソフトウェアとして提供される傍線問題採点プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、スマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末のみならず、タブレット端末やスレート端末などを含む携帯端末装置に傍線問題採点プログラムをインストールさせる。これによって、携帯端末装置を傍線問題採点装置１０として機能させることができる。なお、ここでは、一例として、傍線問題採点装置１０が携帯端末装置として実装される場合を例示して以下の説明を行うが、パーソナルコンピュータを始めとする据置き型の端末装置に傍線問題採点プログラムをインストールさせることもできる。
【００１３】
以下では、あくまで一例として、問題作成者により使用されるコンピュータに傍線問題の採点機能が実装される場合を例示するが、必ずしも問題作成者により使用されるコンピュータ上に傍線問題の採点機能が実装されずともよい。すなわち、問題文を含む画像上に傍線が手書き入力を介して記述された筆跡、すなわち傍線問題への解答を入力とし、当該解答の正解または不正解の判定結果を出力する機能が実現されればよく、ネットワーク上のコンピュータ、例えばサーバ装置、物理マシンまたは物理マシン群により形成されるクラウドとして実装されることとしてもかまわない。
【００１４】
かかる傍線問題採点装置１０は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。例えば、傍線問題採点装置１０がタブレット端末として実装される場合には、加速度センサや角速度センサなどのモーションセンサをさらに有することとしてもよい。また、傍線問題採点装置１０が移動体通信端末として実装される場合には、アンテナ、ＧＰＳ（Global  Positioning  System）受信機などの機能部をさらに有していてもかまわない。なお、図１には、一例として、傍線問題採点装置１０がタブレット端末として実装される場合の機能部が例示されているが、傍線問題採点装置１０を据置き端末として実装する場合には、キーボード、マウスやディスプレイなどの入出力デバイスを有することとしてもよい。
【００１５】
図１に示すように、傍線問題採点装置１０は、タッチパネル１１と、問題記憶部１２と、設定部１３と、矩形記憶部１４と、取得部１５と、筆跡記憶部１６と、算出部１７と、判定部１８と、採点部１９とを有する。
【００１６】
タッチパネル１１は、表示可能かつ入力可能なデバイスである。
【００１７】
表示に関する一側面として、タッチパネル１１は、傍線問題採点装置１０上で実行される傍線問題採点プログラムを始め、ＯＳ（Operating  System）やアプリケーションプログラムによって出力される画像を表示する。入力に関する一側面として、タッチパネル１１は、タッチペンや手指などによる手書き入力を始め、タッチパネル１１のスクリーン上でなされるタップ、フリック、スイープ、ピンチインやピンチアウトなどのタッチ操作を受け付ける。なお、ここでは、傍線問題採点装置１０に対する指示入力を行う入力デバイスとしてタッチパネル１１を例示したが、これに限らず、タッチパネル１１との間で相補的な入力を実現する物理キーなどをさらに有していてもかまわない。
【００１８】
ここで、タッチパネル１１の動作原理には、任意の方式を採用できる。例えば、抵抗膜方式や静電容量方式、弾性表面波方式、赤外線方式（赤外線をパネルの端からパネル表面に対して平行に発し、反対側の端のセンサで赤外線が指などで遮られているかどうかを取得することによって指タッチ位置のセンシングを行う方式）、カメラで指位置をトラッキングする方式など、様々な方式が存在するが、いずれの方式が採用されることとしてもかまわない。また、タッチパネル１１に限らず、電子ペンを用いた電磁誘導方式、紙などに印刷された特殊なパターンをペン先に仕込んだカメラで読み取ってペン先位置を特定する方式、加速度センサやジャイロセンサでペン先や指先の動きを計測する方式など、ペン入力装置または指に取り付ける装置を採用することとしてもかまわない。
【００１９】
問題記憶部１２は、問題文を含む画像を記憶する記憶部である。以下では、問題文を含む画像のことを「問題文画像」と記載する場合がある。
【００２０】
一実施形態として、問題記憶部１２には、問題文が印刷された紙文書がスキャナ等の読取装置により読み取られた画像が記憶される。このように問題文に関するデータは、必ずしもテキストデータなどのように文字コードにより定まる文字列のデータでなくともよく、イメージデータであってかまわない。
【００２１】
設定部１３は、問題文画像上に所定の枠を設定する処理部である。
【００２２】
一実施形態として、設定部１３は、問題記憶部１２に記憶された問題文画像のうちいずれかの問題文画像が指定された場合、タッチパネル１１に問題文画像を表示させる。このようにタッチパネル１１に問題文画像を表示させた状態で、設定部１３は、問題文のうち問題作成者が正解と定める部分の文字列を囲む枠の一例として、矩形の設定を受け付ける。例えば、矩形を設定する場合、ドラッグ操作等の範囲指定により矩形の設定を受け付けることができる。この他、矩形を形成する各頂点の座標を指定させたり、頂点の一部と矩形の幅および高さを指定させたりすることにより、矩形の設定を受け付けることもできる。なお、ここでは、「枠」の一例として、矩形の領域が設定される場合を例示するが、矩形以外にも多角形、円、楕円などの任意の形状を枠として設定できる。
【００２３】
このように矩形を設定させる場合、設定部１３は、問題文画像から検出される文字の区切りの検出結果を用いることにより、矩形の設定を支援することもできる。例えば、設定部１３は、タッチパネル１１に表示された問題文画像のうち画像内の文字に対応する色を縦方向および横方向に走査することにより、黒画素のヒストグラムを方向ごとに算出する。その上で、設定部１３は、黒画素のヒストグラム上で度数が所定の閾値以下となる部分を黒画素の切れ目として検出し、問題作成者により範囲指定が行われる矩形の幅や高さを黒画素の切れ目に合わせて伸縮させることができる。ここでは、黒画素の切れ目を検出する場合を例示したが、その適用範囲が白黒の問題文画像に限定される訳ではない。すなわち、文字の区切りを検出するのに必ずしも黒画素を用いずともよく、他の色により文字が印字される場合には、その文字の色に対応する画素を走査することとすればよい。
【００２４】
図２は、黒画素の切れ目の検出例を示す図である。図２には、横書きの問題文画像に含まれる文字列の一例として、「：有しているも・・・」という文字列が示されると共に、縦方向及び横方向の黒画素のヒストグラムが示されている。図２に示すように、設定部１３は、タッチパネル１１を介して範囲指定が行われる矩形の周辺で、問題文画像を縦方向および横方向に走査することにより、黒画素のヒストグラムを縦方向および横方向ごとに算出する。その上で、設定部１３は、黒画素のヒストグラムに含まれる度数がゼロまたは一定以下である箇所を黒画素の切れ目と判定する。図２の例で言えば、横方向には、ｎ１、ｎ２、ｎ３、ｎ４、ｎ５、ｎ６及びｎ７の７つが水平方向の黒画素の切れ目として検出されると共に、縦方向には、ｍ１及びｍ２が垂直方向の黒画素の切れ目として検出される。例えば、範囲指定が行われた矩形の幅と、水平方向の黒画素の切れ目とが一致しない場合、矩形との水平距離が最も近い黒画素の切れ目の位置に矩形を形成する幅方向の辺の長さを補正することができる。また、範囲指定が行われた矩形の高さと、垂直方向の黒画素の切れ目とが一致しない場合、矩形との垂直距離が最も近い黒画素の切れ目の位置に矩形を形成する高さ方向の辺の長さを補正することができる。
【００２５】
このように、設定部１３は、範囲指定が行われることを条件に起動し、切れ目の位置の近傍にある矩形の辺が切れ目の位置に一致するように動作する処理をバックグラウンドで実行することができる。
【００２６】
矩形記憶部１４は、矩形の定義データを記憶する記憶部である。
【００２７】
一実施形態として、矩形記憶部１４には、設定部１３により問題文画像上に設定された矩形データが記憶される。例えば、左上の頂点の座標と右下の頂点の座標とにより、矩形の位置およびサイズが定義される場合を想定するが、他のパラメータにより矩形を定義することとしてもかまわない。なお、ここでは、一例として、矩形データがリスト形式で記憶される場合を想定するが、他の形式、例えばテーブル形式などで記憶されることとしてもかまわない。
【００２８】
取得部１５は、傍線問題の解答に関する筆跡データを取得する処理部である。
【００２９】
一実施形態として、取得部１５は、ハードディスクや光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアに保存された筆跡データを読み出すことにより取得することもできる。他の一例として、取得部１５は、外部装置、例えば解答者により使用される端末装置からネットワークを介して受信することによって筆跡データを取得することもできる。
【００３０】
かかる筆跡データは、解答者の端末装置で手書き入力されることにより生成される。例えば、解答者の端末装置では、端末装置の表示部に表示された問題文画像上でポインティングデバイスを介して描画される手書き入力を受け付ける。これによって、問題文画像上における手書き入力の座標の時系列データ、すなわち筆点の集合が筆跡データとして採取される。例えば、筆跡データは、数十分の一秒といったサンプリング周期で手書き入力の座標がオペレーティングシステムなどの基本ソフトにより取り込まれることとする。
【００３１】
筆跡記憶部１６は、筆跡データを記憶する記憶部である。
【００３２】
一実施形態として、筆跡記憶部１６には、取得部１５により取得された筆跡データ、すなわち手書き入力の座標の時系列データが記憶される。例えば、筆跡記憶部１６には、タッチパネル等で手書き入力が検知されてから当該手書き入力が検知されなくなるまでに検知された一連の筆点の軌跡、いわゆる一筆書きをリストの最小単位とし、筆跡データがリスト形式で記憶される。なお、ここでは、筆跡データがリスト形式で記憶される場合を想定するが、他の形式、例えばテーブル形式などで記憶されることとしてもかまわない。
【００３３】
算出部１７は、矩形から筆跡データと比較する判定範囲を算出する処理部である。なお、以下では、横書きの問題文に傍線が描画される場合を例示して説明を行うが、縦書きの問題文にも水平を垂直に読み替え、垂直を水平に読み替えることにより同様の判定を行うことができるのは言うまでもない。
【００３４】
一実施形態として、算出部１７は、矩形記憶部１４に記憶された矩形リストから矩形データを用いて、矩形Ｒの高さｈを算出する。例えば、矩形データには、矩形Ｒに関する左上の頂点の座標及び右下の頂点の座標が含まれるので、左上の頂点のＹ座標から右下の頂点のＹ座標を減算するか、あるいは互いのＹ座標の差を計算し、その絶対値をとることにより、矩形Ｒの高さｈを求めることができる。
【００３５】
その上で、算出部１７は、上記の判定範囲として、筆跡データにより定まる傍線の位置と正解の文字列の位置とのずれが許容範囲内であるか否かを判定する第１の判定に用いる閾値ｔ２及び閾値ｔ３を算出する。
【００３６】
例えば、横書きの問題文に傍線を引かせる場合、正解の文字列に下線を引かせる状況が想定される。かかる下線は手書き入力により描画されることから、下線が正解の文字列から上下方向にぶれるのを避けるのは困難であるので、下線の位置が正解の文字列から上下方向にずれることを条件付きで認める。かかる条件の一例として、筆跡データにより定まる傍線と、正解の文字列が記述された行とを対応付けることができる範囲が上記の許容範囲に設定される。すなわち、上記の閾値ｔ２は、正解の文字列の下端から上方向へ傍線がずれることを許容する閾値であり、例えば、正解の文字列を形成する文字のサイズを推定できる矩形Ｒの高さｈに所定の係数ａ２、例えば１以下の値を乗算することにより設定できる。また、上記の閾値ｔ３は、正解の文字列の下端から下方向へ傍線がずれることを許容する閾値であり、例えば、正解の文字列を形成する文字のサイズを推定できる矩形Ｒの高さｈに所定の係数ａ３、例えば１以下の値を乗算することにより設定できる。このように下線を描画させる場合、行間に下線を引かせることになるので、文字列に重なる上方向よりも文字列に重ならない下方向へ下線がずれる可能性が高いと推定できる。このことから、閾値ｔ２及び閾値ｔ３は、同値とするものできるが、ｔ２＜ｔ３となる係数ａ２及び係数ａ３を閾値の設定に用いることもできる。
【００３７】
また、算出部１７は、筆跡データにより定まる傍線の端点と正解の文字列の端部とのずれが許容範囲内であるか否かを判定する第２の判定に用いる閾値ｔ１を算出する。
【００３８】
すなわち、横書きの問題文に下線が手書き入力により描画される場合、下線が正解の文字列から左右方向にずれるのを避けるのは困難であるので、下線の各端点が正解の文字列の両端からはみ出たり、両端に届かないといった左右方向のずれを条件付きで認める。かかる条件の一例として、筆跡データにより定まる傍線の端点と、正解の文字列のうち両端の文字とを対応付けることができる範囲が上記の許容範囲に設定される。すなわち、上記の閾値ｔ１は、正解の文字列の両端から左右方向へ傍線の端点がずれることを許容する閾値であり、例えば、正解の文字列を形成する文字のサイズを推定できる矩形Ｒの高さｈに所定の係数ａ１、例えば１以下の値を乗算することにより設定できる。
【００３９】
判定部１８は、筆跡が枠から定まる判定範囲内に収まっているか否かを判定する処理部である。図１に示すように、判定部１８は、第１判定部１８ａと、第２判定部１８ｂと、第３判定部１８ｃとを有する。
【００４０】
第１判定部１８ａは、上記の第１の判定を実行する処理部である。
【００４１】
一実施形態として、第１判定部１８ａは、矩形Ｒの下端位置Ｙlowに対する上下方向のずれの許容範囲を算出する。例えば、第１判定部１８ａは、矩形記憶部１４に記憶された矩形Ｒの矩形データにより求まる下端位置Ｙlowから算出部１７により算出された閾値ｔ２を減算する計算、すなわちＹlow−ｔ２の計算により、上方向のずれの許容範囲Ｙ１を算出する。さらに、第１判定部１８ａは、矩形記憶部１４に記憶された矩形データにより求まる下端位置Ｙlowに算出部１７により算出された閾値ｔ３を加算する計算、すなわちＹlow＋ｔ３の計算により、下方向のずれの許容範囲Ｙ２を算出する。一方、第１判定部１８ａは、筆跡記憶部１６に記憶された筆跡リストのうち判定の対象とする筆跡の筆跡データから当該筆跡の外接矩形ｒを算出する。さらに、第１判定部１８ａは、筆跡の外接矩形ｒの垂直方向の中心位置Ｙｃを算出する。その上で、第１判定部１８ａは、筆跡の外接矩形ｒの中心位置Ｙｃが許容範囲内であるか否か、すなわち「Ｙ１≦Ｙｃ≦Ｙ２」の条件を満たすか否かを判定する。
【００４２】
この条件を満たす場合には、傍線の位置が正解の文字列の下端から上下方向にずれていたとしても、正解の文字列の１つ上の行や１つ下の行までは下線が上下方向にずれていないと推定できる。一方、この条件を満たさない場合には、正解の文字列の１つ上の行または１つ下の行まで下線がずれていると推定できる。
【００４３】
第２判定部１８ｂは、上記の第２の判定を実行する処理部である。
【００４４】
一実施形態として、第２判定部１８ｂは、矩形Ｒの左端の位置ＸＬと矩形Ｒの右端の位置ＸＲとを算出する。例えば、第２判定部１８ｂは、矩形記憶部１４に記憶された矩形Ｒの矩形データに含まれる左上の頂点のＸ座標を矩形Ｒの左端の位置ＸＬとして抽出すると共に、右下の頂点のＸ座標を矩形Ｒの左端の位置ＸＲとして抽出する。これと共に、第２判定部１８ｂは、第１判定部１８ａにより求められた筆跡の外接矩形ｒの左端の位置Ｘleftを抽出すると共に、外接矩形ｒの右端の位置Ｘrightを抽出する。その上で、第２判定部１８ｂは、外接矩形ｒの左端の位置Ｘleftが許容範囲内である否か、すなわち「ＸＬ−ｔ１≦Ｘleft≦ＸＬ＋ｔ１」の条件を満たすか否かを判定する。そして、第２判定部１８ｂは、外接矩形ｒの右端の位置Ｘrightが許容範囲内である否か、すなわち「ＸＲ−ｔ１≦Ｘright≦ＸＲ＋ｔ１」の条件を満たすか否かを判定する。
【００４５】
これら２つの条件を満たす場合、下線の各端点が正解の文字列の両端からはみ出たり、両端に届かなかったとしても、正解の文字列のうち両端の文字とを対応付けることができる程度までしか下線の各端点が左右方向にずれていないと推定できる。一方、２つの条件のうちいずれか１つの条件でも満たさない場合、正解の文字列に含まれない文字にまで下線が描画されているか、あるいは正解の文字列の全てに下線が描画されていないといった過不足があると推定できる。なお、ここでは、外接矩形ｒの左端および右端の両面で判定を行う場合を例示したが、いずれか一方のみの判定を行うこととしてもよい。
【００４６】
第３判定部１８ｃは、筆跡データにより定まる筆跡が直線状であるか否かを判定する第３の判定を実行する処理部である。
【００４７】
一実施形態として、第３判定部１８ｃは、少なくとも筆跡の形状が直線状であるか否かを判定し、さらに筆跡の方向も判定する判定ロジックを採用できる。例えば、問題文が横書きである場合、横方向に伸びる直線であるか否かを判定し、縦書きである場合、縦方向に伸びる直線であるか否かを判定する。このように形状が直線状であるか否かを判定する方法の一例として、最小二乗法を用いる方法を挙げることができる。具体的には、第３判定部１８ｃは、筆跡を形成する筆点列を最も良く表す直線、すなわち問題文が横書きである場合、筆跡データに含まれる座標の時系列データとの間で誤差が最小となる横方向の直線を最小二乗法により求め、この直線と筆点列との位置ずれ、本例では垂直方向のずれを計算する。そして、第３判定部１８ｃは、位置ずれの統計値、例えば平均値が一定値以内であるか否かにより、筆跡の形状が直線状であるか否かを判定する。この他、第３判定部１８ｃは、筆跡データにおいて、時系列に隣接する筆点の間でベクトルを為し、各ベクトルの方向と所定の方向とのずれの平均を算出し、ずれの平均値が所定以内であるか否かにより、筆跡の形状が直線状であるか否かを判定することもできる。さらに、単純には、筆跡の外接矩形ｒの高さと幅の比を用いる方法も有効である。例えば、高さｈと幅ｗがｗ＞ｈ×３の関係にあるとき、その筆跡はおおよそ横方向に伸びた直線であると見なすこともできる。なお、上記のいずれの方法を択一的に採用したり、複合させて採用したりすることができ、他の既存の技術により、筆跡が直線状であるか否かを判定することもできる。
【００４８】
採点部１９は、判定部１８の判定結果にしたがって傍線問題の解答を採点する処理部である。
【００４９】
一実施形態として、採点部１９は、第１判定部１８ａ、第２判定部１８ｂ及び第３判定部１８ｃの全ての処理部で条件を満たすと判定された矩形及び筆跡の組合せに正解マークを付与する。一方、採点部１９は、矩形記憶部１４に記憶された矩形リストに含まれる矩形と、筆跡記憶部１６に記憶された筆跡リストに含まれる筆跡との全ての組合せに第１判定部１８ａ、第２判定部１８ｂ及び第３判定部１８ｃによる判定を行った後に、正解マークが付与されていない矩形及び筆跡に不正解マークを付与する。このような正解マーク及び不正解マークの付与により、点数等の評価を行うことができる。例えば、矩形ごとにあらかじめ定められた配点にしたがって正解マークの点数を集計したり、矩形の個数に対する正解マークの割合を算出したりすることができる。
【００５０】
なお、上記の設定部１３、取得部１５、算出部１７、判定部１８及び採点部１９などの機能部は、次のようにして実装できる。例えば、中央処理装置、いわゆるＣＰＵ（Central  Processing  Unit）などに、上記の各処理部と同様の機能を発揮するプロセスをメモリ上に展開して実行させることにより実現できる。これらの処理部は、必ずしも中央処理装置で実行されずともよく、ＭＰＵ（Micro  Processing  Unit）に実行させることとしてもよい。また、上記の各機能部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００５１】
また、上記の矩形記憶部１４及び筆跡記憶部１６には、一例として、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。また、上記の矩形記憶部１４及び筆跡記憶部１６は、必ずしも主記憶装置でなくともよく、補助記憶装置であってもかまわない。この場合、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。
【００５２】
［具体例］
次に、図３Ａ〜図３Ｄを用いて、傍線問題の解答を採点する具体例を説明する。図３Ａは、問題文画像への矩形の設定例を示す図である。図３Ｂは、問題文画像への解答の記入例を示す図である。図３Ｃは、第１の判定方法の一例を示す図である。図３Ｄは、第２の判定方法の一例を示す図である。これら図３Ａ〜図３Ｄの例では、傍線問題の一例として、問題文「私は昨日、校庭で遊びました」が例示されており、正解の文字列「校庭で」へ下線が付されているか否かを判定する場合を想定する。なお、ここでは、問題文が横書きである場合を例示するが、縦書きの場合には「校庭で」の部分の右側に傍線が引かれているか否かを判定することとすればよい。
【００５３】
図３Ａに示すように、問題文は、画像で与えられており、問題文画像には「私は昨日、校庭で遊びました」と記述されている。ただし、画像として扱っているのでテキストデータとしては何が書かれているのかはコンピュータには認識できない。この問題文画像の中で、正解の文字列である「校庭で」の部分にドラッグ操作等の範囲指定により矩形Ｒが設定される。かかる矩形の設定は、タッチパネル１１等を介して問題作成者により行われる。この結果、傍線問題が作成されることになる。
【００５４】
図３Ｂには、解答者により問題文画像上に解答が記入された状態が示されている。図３Ｂに示す例では、手書き入力により「校庭で」の部分に下線Ｕが描画されている。かかる下線Ｕの筆跡データが解答者の端末装置から取得された場合、図３Ｃに示す要領で第１の判定が実行される。
【００５５】
図３Ｃに示す通り、矩形Ｒの下端位置Ｙlowから上方向への距離を閾値ｔ２とし、下方向への距離を閾値ｔ３とする許容範囲、すなわち図示の塗りつぶしの領域を設定し、この許容範囲内に下線Ｕの外接矩形ｒの中心位置Ｙｃが含まれるか否かが判定される。この例では、下線Ｕの外接矩形ｒの中心位置Ｙｃが許容範囲に含まれる。それ故、正解の文字列の１つ上の行や１つ下の行までは下線が上下方向にずれていないと推定できる。なお、ここでは、下線Ｕの外接矩形ｒの中心位置Ｙｃが許容範囲に含まれるか否かが判定される場合を例示したが、許容範囲内に上端と下端の両方を含む、といった判定条件としても良い。
【００５６】
このように第１の判定で条件を満たす場合、図３Ｄに示す要領で第２の判定が実行される。図３Ｄに示す通り、矩形Ｒの左右端の位置から距離ｔ１の範囲内に、下線Ｕの左端の位置Ｘleft及び右端の位置Ｘrightがそれぞれ収まるか否かが判定される。この例では、下線Ｕの左端の位置Ｘleft及び右端の位置Ｘrightが収まるので、正解の文字列のうち両端の文字「校」及び「で」とを対応付けることができる程度までしか下線Ｕの各端点が左右方向にずれていないと推定できる。その後、下線Ｕの形状が直線状、すなわち横方向の直線であると判定された場合、矩形Ｒ及び下線Ｕに正解マークが付与される。なお、ここでは、矩形Ｒの端から左右ともに距離ｔ１の範囲としているが、高さｈに基づいて算出される、それぞれ異なる値を設定しても良い。
【００５７】
このように、第１の判定、第２の判定及び第３の判定は、矩形が設定され、筆跡データが取得されることにより、ＯＣＲ等の文字認識処理が実行されずとも、手書き入力による解答が正解または不正解であるか否かを判定できる。それ故、文字認識の結果に対する修正操作を不要化できるので、問題文の正解の文字列と傍線部の文字列との対応付けの自動化を実現できる。したがって、傍線問題の採点効率を向上させることができる。
【００５８】
［処理の流れ］
図４及び図５は、実施例１に係る傍線問題採点処理の手順を示すフローチャートである。この処理は、問題文の縦書きまたは横書きの種類が設定された状態で採点の担当者、例えば問題作成者から採点対象とする問題文が指定された場合に実行される。
【００５９】
図４に示すように、矩形記憶部１４に記憶された矩形リストを参照する参照位置が先頭に初期化される（ステップＳ１０１）。続いて、矩形リストの参照位置が最後尾に設定されるまで（ステップＳ１０２Ｎｏ）、下記のステップＳ１０３〜ステップＳ１１９の処理が実行される。
【００６０】
すなわち、算出部１７は、矩形リストから設定中の参照位置に対応する矩形データを選択し（ステップＳ１０３）、矩形リストの参照位置を次の矩形データへシフトする（ステップＳ１０４）。続いて、算出部１７は、矩形Ｒの高さｈを算出する（ステップＳ１０５）。
【００６１】
そして、算出部１７は、ステップＳ１０５で算出された矩形Ｒの高さｈを用いて、正解の文字列の下端から上下方向へ傍線がずれることを許容する閾値ｔ２及び閾値ｔ３と、正解の文字列の両端から左右方向へ傍線の端点がずれることを許容する閾値ｔ１とを許容範囲、すなわち判定範囲として算出する（ステップＳ１０６）。
【００６２】
続いて、第１判定部１８ａは、ステップＳ１０３で選択された矩形Ｒの矩形データにより求まる下端位置ＹlowからステップＳ１０６で算出された閾値ｔ２を減算する計算を行うことにより上方向のずれの許容範囲Ｙ１を算出すると共に、ステップＳ１０３で選択された矩形Ｒの矩形データにより求まる下端位置ＹlowにステップＳ１０６で算出された閾値ｔ３を加算する計算を行うことにより、下方向のずれの許容範囲Ｙ２を算出する（ステップＳ１０７）。
【００６３】
その上で、筆跡記憶部１６に記憶された筆跡リストを参照する参照位置が先頭に初期化された上で（ステップＳ１０８）、筆跡リストの参照位置が最後尾に設定されるまで（ステップＳ１０９Ｎｏ）、下記のステップＳ１１０〜ステップＳ１１９の処理が実行される。
【００６４】
すなわち、第１判定部１８ａは、筆跡リストから設定中の参照位置に対応する筆跡データを選択し（ステップＳ１１０）、筆跡リストの参照位置を次の筆跡データへシフトする（ステップＳ１１１）。続いて、第１判定部１８ａは、ステップＳ１１０で選択された筆跡データから当該筆跡の外接矩形ｒを算出する（ステップＳ１１２）。そして、第１判定部１８ａは、筆跡の外接矩形ｒの中心位置Ｙｃを算出する（ステップＳ１１３）。
【００６５】
その上で、第１判定部１８ａは、筆跡の外接矩形ｒの中心位置Ｙｃが許容範囲内であるか否か、すなわち「Ｙ１≦Ｙｃ≦Ｙ２」の条件を満たすか否かを判定する（ステップＳ１１４）。
【００６６】
このとき、筆跡の外接矩形ｒの中心位置Ｙｃが「Ｙ１≦Ｙｃ≦Ｙ２」の条件を満たす場合（ステップＳ１１４Ｙｅｓ）、第２判定部１８ｂは、ステップＳ１０３で選択された矩形Ｒの矩形データに含まれる左上の頂点のＸ座標を矩形Ｒの左端の位置ＸＬとして抽出すると共に右下の頂点のＸ座標を矩形Ｒの右端の位置ＸＲとして抽出し、ステップＳ１１２で求められた筆跡の外接矩形ｒの左端の位置Ｘleftを抽出すると共に外接矩形ｒの右端の位置Ｘrightを抽出する（ステップＳ１１５）。
【００６７】
その上で、第２判定部１８ｂは、外接矩形ｒの左端の位置Ｘleftが許容範囲内である否か、すなわち「ＸＬ−ｔ１≦Ｘleft≦ＸＬ＋ｔ１」の条件を満たすか否かを判定する（ステップＳ１１６）。このとき、外接矩形ｒの左端の位置Ｘleftが「ＸＬ−ｔ１≦Ｘleft≦ＸＬ＋ｔ１」の条件を満たす場合（ステップＳ１１６Ｙｅｓ）、第２判定部１８ｂは、外接矩形ｒの右端の位置Ｘrightが許容範囲内である否か、すなわち「ＸＲ−ｔ１≦Ｘright≦ＸＲ＋ｔ１」の条件を満たすか否かをさらに判定する（ステップＳ１１７）。
【００６８】
ここで、外接矩形ｒの右端の位置Ｘrightが「ＸＲ−ｔ１≦Ｘright≦ＸＲ＋ｔ１」の条件も満たす場合（ステップＳ１１７Ｙｅｓ）、第３判定部１８ｃは、ステップＳ１１０で選択された筆跡データにより定まる筆跡が直線状であるか否かを判定する（ステップＳ１１８）。
【００６９】
そして、筆跡が直線状である場合（ステップＳ１１８Ｙｅｓ）、採点部１９は、ステップＳ１０３で選択された矩形と、ステップＳ１１０で選択された筆跡との組合せに正解マークを付与し（ステップＳ１１９）、ステップＳ１０９の処理へ移行する。
【００７０】
一方、上記のステップＳ１１４Ｎｏ、ステップＳ１１６Ｎｏ、ステップＳ１１７ＮｏまたはステップＳ１１８Ｎｏのいずれかに該当する場合、正解マークの付与を行わずに、ステップＳ１０９へ移行する。
【００７１】
その後、筆跡リストの参照位置が最後尾であり、かつ矩形リストの参照位置が最後尾である場合（ステップＳ１０９ＹｅｓかつステップＳ１０２Ｙｅｓ）、採点部１９は、ステップＳ１１９で正解マークが付与されていない矩形および筆跡に不正解マークを付与し（ステップＳ１２０）、処理を終了する。
【００７２】
［効果の一側面］
上述してきたように、本実施例に係る傍線問題採点装置１０は、問題文を含む画像上で正解とする文字列を含む領域に設定された矩形に基づいて判定範囲を算出し、手書き入力による筆跡が判定範囲に収まるか否かを判定する。したがって、本実施例に係る傍線問題採点装置１０によれば、傍線問題の採点効率を向上させることができる。
【実施例２】
【００７３】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７４】
［応用例］
上記の傍線問題採点装置１０は、第１の矩形の左または右の辺と、第１の矩形と異なる第２の矩形の左または右の辺との距離が所定の距離以内である場合、第１の矩形及び第２の矩形を左右に連結することもできる。
【００７５】
図６は、応用例を示す図である。図６には、互いが連接する第１の矩形Ｒ１及び第２の矩形Ｒ２とが示されている。図６に示すように、第１の矩形Ｒ１の右の辺と第２の矩形Ｒ２の左の辺との距離が、第１の矩形Ｒ１及び第２の矩形Ｒ２の高さに基づいて定めた閾値以下であれば、第１の矩形Ｒ１及び第２の矩形Ｒ２を連結することにより、一つの矩形に合成し、合成後の矩形を矩形リストに追加する。この際、元の第１の矩形Ｒ１及び元の第２の矩形Ｒ２も矩形リストからは削除しない。
【００７６】
図６に示す「ｈ」は、矩形の高さを表す。ここで「ｈ」は、複数ある矩形の高さの平均を取ることで求めても良いし、いずれかの矩形の高さを代表として一つを選択してｈの値としても良い。かかる「ｈ」にそれぞれ一定数ＡＷ、ＡＨを乗じることで距離の閾値ＴＷ及び閾値ＴＨを求める。また、２つの矩形の左右の辺のうち最寄りの辺同士の水平軸上の距離をｄＷとする。また、垂直方向で矩形の中心を通る直線の位置を矩形の垂直方向の位置とすると、２つの矩形の垂直方向の距離値は、図６に示す通り、ｄＨとなる。これら水平方向の距離ｄＷが閾値ＴＷ以下であり、かつ垂直方向の距離ｄＨが閾値ＴＨ以下である場合に、２つの矩形を併合する。これら２つの矩形が併合された矩形データを矩形リストに追加して図４及び図５に示した処理が実行される。なお、図６の例では、問題文が横書きである場合を例示したが、計算過程において垂直、水平方向を入れ替えることで縦書きの場合にも同様に計算を適用することができる。
【００７７】
これにより、第１の矩形Ｒ１及び第２の矩形Ｒ２の各々に下線が描画される場合と、第１の矩形Ｒ１及び第２の矩形Ｒ２にまとめて下線が描画される場合との両方で、正解と判定できるようになる。
【００７８】
図７Ａ及び図７Ｂは、応用例の効果の一側面を示す図である。これら図７Ａ及び図７Ｂは、いずれも問題文が「今まで特定の範囲内で取得していた」であり、「特定の」と「範囲内で」の２つの文字列が正解である場合が示されている。図７Ａには、正解の文字列「特定の」に対応する箇所に下線Ｕ１が描画されると共に、正解の文字列「範囲内で」に対応する箇所に下線Ｕ２が描画された場合の解答が示されている。一方、図７Ｂには、２つの正解の文字列を包含する文字列「特定の範囲内で」の全体にわたって下線Ｕ３が描画された場合が示されている。
【００７９】
これら図７Ａに示す下線Ｕ１及び下線Ｕ２と、図７Ｂに示す下線Ｕ３との両方を正解としたいといったケースも考えられる。なぜなら、解答者が意図して文字列「特定の範囲内で」をまとめて下線を引く場合や意図せずに各々の矩形に引いた下線が繋がってしまう状況も起こりうるからである。このような場合でも、第１の矩形Ｒ１及び第２の矩形Ｒ２が連結により合成された矩形を矩形リストに追加することにより、図７Ａに示す下線Ｕ１及び下線Ｕ２と、図７Ｂに示す下線Ｕ３との両方を正解と判定することが可能になる。なお、図７Ａ及び図７Ｂには、横書きの場合を例示したが、縦書きの場合には、第１の矩形の上または下の辺と、第１の矩形と異なる第２の矩形の上または下の辺との距離が、矩形の高さまたは幅に基づいて算出される値の範囲内にあるとき、第１の矩形及び第２の矩形を上下に連結することにより、同様の効果を得ることができる。
【００８０】
［縦書き］
上記の実施例１では、あくまで一例として問題文が横書きである場合を例示したが、問題文が縦書きである場合も、図４及び図５に示した処理を同様に実行することができる。例えば、第１の判定の場合、矩形記憶部１４に記憶された水平位置と、筆跡記憶部１６に記憶された筆跡の水平位置とを比較し、位置の差が矩形の幅に基づいて求めた許容範囲内に収まっているかどうかを判定することとすればよい。また、第２の判定の場合、矩形記憶部１４に記憶された各矩形の上下端の位置と、筆跡記憶部１６に記憶された筆跡の上下端の位置とを比較し、位置の差が矩形の幅に基づいて求めた許容範囲内に収まっているかどうかを判定することとすればよい。
【００８１】
［レイアウトの自動判別］
上記の実施例１では、問題文が横書きまたは縦書きのいずれであるかを設定させる場合を例示したが、矩形記憶部１４に記憶された各矩形の縦横比から問題文が横書きまたは縦書きのいずれであるかを自動的に設定することができる。例えば、矩形の水平方向の辺が垂直方向の辺よりも長い場合には、横書きと推定することができるし、また、矩形の垂直方向の辺が水平方向の辺よりも長い場合には、横書きと推定することができる。この場合、複数の矩形で同一の判定結果が得られることを横書きまたは縦書きの判定を確定させる条件としてもかまわない。
【００８２】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、設定部１３、取得部１５、算出部１７、判定部１８または採点部１９を傍線問題採点装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、設定部１３、取得部１５、算出部１７、判定部１８または採点部１９を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の傍線問題採点装置１０の機能を実現するようにしてもよい。
【００８３】
［傍線問題採点プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図８を用いて、上記の実施例と同様の機能を有する傍線問題採点プログラムを実行するコンピュータの一例について説明する。
【００８４】
図８は、実施例１及び実施例２に係る傍線問題採点プログラムを実行するコンピュータのハードウェア構成例を示す図である。図８に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００８５】
ＨＤＤ１７０には、図８に示すように、上記の実施例１で示した設定部１３、取得部１５、算出部１７、判定部１８及び採点部１９と同様の機能を発揮する傍線問題採点プログラム１７０ａが記憶される。この傍線問題採点プログラム１７０ａは、図１に示した設定部１３、取得部１５、算出部１７、判定部１８及び採点部１９の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【００８６】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から傍線問題採点プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、傍線問題採点プログラム１７０ａは、図８に示すように、傍線問題採点プロセス１８０ａとして機能する。この傍線問題採点プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち傍線問題採点プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、傍線問題採点プロセス１８０ａが実行する処理の一例として、図４や図５に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【００８７】
なお、上記の傍線問題採点プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００８８】
１０    傍線問題採点装置
１１    タッチパネル
１２    問題記憶部
１３    設定部
１４    矩形記憶部
１５    取得部
１６    筆跡記憶部
１７    算出部
１８    判定部
１８ａ  第１判定部
１８ｂ  第２判定部
１８ｃ  第３判定部
１９    採点部
【図１】
0006464891.tif 000002
【図２】
0006464891.tif 000003
【図３Ａ】
0006464891.tif 000004
【図３Ｂ】
0006464891.tif 000005
【図３Ｃ】
0006464891.tif 000006
【図３Ｄ】
0006464891.tif 000007
【図４】
0006464891.tif 000008
【図５】
0006464891.tif 000009
【図６】
0006464891.tif 000010
【図７Ａ】
0006464891.tif 000011
【図７Ｂ】
0006464891.tif 000012
【図８】
0006464891.tif 000013