以下、採点装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、自動採点と手動採点の両方を用いる文字列の採点装置について説明する。
また、本実施の形態において、手動採点で不正解の場合、その判断理由を入力することができる文字列の採点装置について説明する。
また、本実施の形態において、手動採点の結果を用いて、自動採点のアルゴリズムを改善していける採点装置について説明する。
また、本実施の形態において、入力された手書き文字(画像)から構造点を取得し、構造点を用いて、正解文字と比較し、比較結果を出力する採点装置について説明する。
さらに、本実施の形態において、手書き文字の構造点を用いて構造比較し、次に構造点および特徴点を用いて特徴比較を行う採点装置について説明する。
図1は、本実施の形態における採点装置のブロック図である。
採点装置1は、文字画像読取部10、正解文字情報格納部11、文字画像格納部12、判断結果格納部13、判断部14、判断結果出力部15、受付部16、判断結果蓄積部17、判断情報更新部18、比較出力部19を具備する。
判断部14は、文字分割手段141、点情報取得手段142、判断手段143を具備する。
点情報取得手段142は、構造点情報取得手段1421、特徴点情報取得手段1422を具備する。
判断手段143は、構造判断手段1431、特徴判断手段1432を具備する。
特徴判断手段1432は、グループ分割手段14321、グループ特徴判断手段14322、特徴量取得手段14323、バランス判断手段14324を具備する。
文字画像読取部10は、手書き入力された1以上の文字を読み取る。文字画像読取部10は、紙などの媒体に記載された1以上の文字から、当該文字を含む画像を構成する。文字画像読取部10は、例えば、スキャナやデジタルカメラなどである。
正解文字情報格納部11は、1以上の正解文字情報を格納し得る。正解文字情報とは、正解の文字列を示す情報である。文字列とは、1以上の文字である。文字とは、漢字であることが好適であるが、漢字であるとは問わない。また、本実施の形態において、文字は、一般的な文字(ひらがな、カタカナ、英文字、ハングル、アラビア語文字等)に限らず、絵文字、図柄、記号などでも良い。さらに、本実施の形態において、文字は、構造点または/および特徴点が取り出されることができる図形などでも良い。
正解文字情報が示す文字列を構成する文字(以下、適宜「正解文字」という)の情報は、後述するような構造点情報と特徴点情報と接続情報を有しても良いし、構造点情報と特徴点情報でも良いし、構造点のみでも良いし、文字のコードでも良い。また、正解の文字列とは、手書き入力された文字列と比較される比較対象の文字列である。なお、手書き入力された文字列を構成する文字を、適宜「入力文字」という。
構造点情報とは、文字の骨格を構成する構造点を示す情報である。構造点とは、文字の骨格を構成する端点または分岐点または交点である。構造点情報は、通常、点の位置を示す位置情報(x、y)を有する。正解文字情報に構造点を示すフラグが付与され、構造点を識別できるようにしても良い。正解文字情報は、1以上の特徴点情報を含むことは好適である。特徴点情報とは、特徴点の情報である。特徴点とは、エッジ上の点であり、閾値より曲がりの程度の大きい点である。エッジとは、2つの構造点を結ぶ線である。また、正解文字情報は、文字の特徴を示す1以上の判断情報を有することは好適である。判断情報とは、特徴量または特徴量の範囲を示す情報である。特徴量とは、例えば、後述するグループの占める面積の比率、1以上のグループである文字の部分の占める面積の比率、グループ間の距離、文字のはねの長さ、特定の線(画)の長さなど、文字の特徴を示す値であれば何でも良い。グループとは、文字の骨格を構成する一の連結されている構造点または特徴点の集合である。また、グループとは、文字の骨格を構成する一の連結されている構造点または特徴点の集合から構成される線図でも良い。さらに具体的には、正解文字情報は、例えば、構造点情報または特徴点情報であるノード情報、および構造点や特徴点の接続を示す接続情報を有することは好適である。
正解文字情報格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
正解文字情報格納部11に正解文字情報が記憶される過程は問わない。例えば、記録媒体を介して正解文字情報が正解文字情報格納部11で記憶されるようになってもよく、通信回線等を介して送信された正解文字情報が正解文字情報格納部11で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された正解文字情報が正解文字情報格納部11で記憶されるようになってもよい。
文字画像格納部12は、手書き入力された文字列を含む画像である文字画像(適宜、「入力文字画像」という)を格納し得る。文字画像格納部12は、通常、文字画像読取部10が取得した文字画像を格納している。文字画像格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。文字画像格納部12に文字画像が記憶される過程は問わない。例えば、記録媒体を介して文字画像が文字画像格納部12で記憶されるようになってもよく、通信回線等を介して送信された文字画像が文字画像格納部12で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された文字画像が文字画像格納部12で記憶されるようになってもよい。
判断結果格納部13は、判断結果を格納し得る。判断結果とは、判断部14が行った判断の結果である。判断結果格納部13は、ユーザが入力したユーザ判断結果も格納していても良い。判断結果格納部13は、判断の対象となった文字列を識別する情報(例えば、答案用紙を識別する答案用紙識別子や、被験者を識別する識別子など)も格納していても良い。判断結果格納部13は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。判断結果格納部13に判断結果が記憶される過程は問わない。例えば、記録媒体を介して判断結果が判断結果格納部13で記憶されるようになってもよく、通信回線等を介して送信された判断結果が判断結果格納部13で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された判断結果が判断結果格納部13で記憶されるようになってもよい。
判断部14は、文字画像(入力文字画像)と正解文字情報とを比較し、手書き入力された文字列が正解か不正解かを示す判断結果を取得する。判断部14は、例えば、文字画像を文字認識処理し、文字コード列を取得する。そして、判断部14は、取得した文字コード列と正解文字情報(この場合「1以上の文字コード」)とを比較し、両社が一致すれば正解と判断し、両社が一致しなければ不正解と判断する。また、判断部14は、後述する文字分割手段141、点情報取得手段142、および判断手段143を用いて判断処理を行なうことは好適である。判断部14は、例えば、1以上の特徴量を含む判断情報を用いて、文字画像に含まれる文字が不正解か否かを判断することは好適である。
ここで、比較とは、文字画像と正解文字情報とを直接比較する必要はない。例えば、文字画像から抽出した構造点情報と特徴点情報を用いて、正解文字情報と比較しても良い。また、上述したように、判断部14は、文字画像を文字認識処理して取得した文字コードの列と正解文字情報と比較しても良い。
判断部14は、通常、MPUやメモリ等から実現され得る。判断部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
文字分割手段141は、文字画像格納部12に格納されている文字画像に含まれる2以上の文字から、各文字を切り出す。文字分割手段141は、文字認識処理などで利用されている公知技術であるので詳細な説明を省略する。文字分割手段141は、通常、MPUやメモリ等から実現され得る。文字分割手段141の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
点情報取得手段142は、文字画像格納部12に格納されている文字画像に含まれる各文字に対して、1以上の構造点情報、および1以上の特徴点情報を取得する。また、点情報取得手段142は、文字画像格納部12に格納されている文字画像に含まれる各文字に対して、1以上の構造点情報のみを取得しても良い。なお、文字画像格納部12に格納されている文字画像に含まれる各文字とは、文字分割手段141が切り出した各文字である。さらに詳細には、点情報取得手段142は、文字画像に含まれる各文字をグラフ化し、ノードとエッジ(線分)を検出し、特定のノードである端点または分岐点または交点を検出する。この特定のノードは、構造点である。また、点情報取得手段142は、2つの構造点を結ぶ線であるエッジ上の点であり、閾値より曲がりの程度の大きい点である特徴点を検出する。なお、点情報取得手段142は、閾値を予め格納している。また、曲がりの程度とは、例えば、2つの直線により構成される角度である。また、曲がりの程度とは、エッジ上の各点の微分値(傾き)などでも良い。なお、ここで、ノードとは、構造点または特徴点である。
点情報取得手段142は、通常、MPUやメモリ等から実現され得る。点情報取得手段142の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
構造点情報取得手段1421は、文字画像格納部12に格納されている文字画像に含まれる各文字に対して、1以上の構造点情報を取得する。さらに具体的には、構造点情報取得手段1421は、例えば、図2に示すように動作する。まず、構造点情報取得手段1421は、手書き文字画像に対して、細線化処理を行う。細線化処理とは、手書きの文字画像(a)から太さを除去して、線画画像に変換後、線画画像(ラスター)から線画データ(ベクター(b))に変換する。かかる変換をラスターベクター変換という。次に、構造点情報取得手段1421は、グラフデータ作成処理を行う。つまり、構造点情報取得手段1421は、線画データ(ベクター)から構造点を抽出する。構造点は、線画データの端点、分岐点、または交点である。
構造点情報取得手段1421は、通常、MPUやメモリ等から実現され得る。構造点情報取得手段1421の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
特徴点情報取得手段1422は、文字画像格納部12に格納されている文字画像に含まれる各文字に対して、1以上の特徴点情報を取得する。つまり、特徴点情報取得手段1422は、図2の線画データ(ベクター)より特徴点を抽出する。構造点情報取得手段1421の処理と、特徴点情報取得手段1422の処理により、ノード(構造点または特徴点)とエッジを有するグラフデータ(図2(c))が構成される。また、点情報取得手段142は、正規化されていないグラフデータ(図2(c))を正規化し、正規化されたグラフデータ(図2(d))を得る。正規化とは、ここでは、ノードの位置情報を、XY座標系の(0,0)(0,1)(1,1)(1,0)の矩形領域に収める処理である。
特徴点情報取得手段1422は、通常、MPUやメモリ等から実現され得る。特徴点情報取得手段1422の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
判断手段143は、文字画像に含まれる各文字に対応する正解文字情報に含まれる構造点情報と、点情報取得手段142が取得した構造点情報とを比較し、文字画像に含まれる各文字が不正解か否かを判断する。判断手段143は、2つの構造点情報から、2つの文字の構造が一致しないと判断した場合、2つの文字が異なる、と判断する。
判断手段143は、構造点情報と特徴点情報を異なる用い方により、構造点情報取得手段1421が取得した1以上の構造点情報および特徴点情報取得手段1422が取得した1以上の特徴点情報と、正解文字情報に含まれる1以上の構造点情報および1以上の特徴点情報とを比較し、文字画像に含まれる文字が不正解か否かを判断する。ここで、「異なる用い方」とは、例えば、構造点情報を用いて構造の一致/不一致を判断し、構造点情報と特徴点情報を用いて形状の一致/不一致を判断することである。また、例えば、「異なる用い方」とは、構造点情報を用いて構造の一致/不一致を判断し、特徴点情報を用いて文字の曲がり度合いの一致/不一致を判断すること等である。
判断手段143は、受付部16が受け付けた1以上の特徴量を基準にして、文字画像に含まれる文字が不正解か否かを判断することは好適である。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。なお、判断手段143は、さらに具体的には、構造判断手段1431、特徴判断手段1432により、文字画像に含まれる各文字が不正解か否かを判断することは好適である。
判断手段143は、通常、MPUやメモリ等から実現され得る。判断手段143の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
構造判断手段1431は、構造点情報取得手段1421が取得した1以上の構造点情報と、正解文字情報に含まれる1以上の構造点情報を比較し、文字画像に含まれる文字が不正解か否かを判断する。構造判断手段1431は、2つの文字の構造を比較し、異なる文字か否かを判断する。構造判断手段1431は、構造点の接続情報を用いて、2つの文字の構造を比較し、異なる文字か否かを判断することは好適である。構造判断手段1431は、さらに具体的には、図3に示すような方法で、文字画像に含まれる文字が不正解か否かを判断する。つまり、構造判断手段1431は、入力文字の構造点情報(ここでは、各構造点の接続情報)と、正解文字の構造点情報(ここでは、各構造点の接続情報)とを取得する。そして、構造判断手段1431は、2つの構造点情報が有する接続情報(グラフ構造)がすべて一致しない場合に、2つの文字は異なる、と判断する。また、構造判断手段1431は、入力文字の構造点の位置情報と、対応する正解文字の構造点の位置情報とを比較し、その差を算出しても良い。そして、その差の集合(例えば、差の絶対値をすべて加えた値)を用いて、2つの文字の形状の違いを判断しても良い。つまり、例えば、構造判断手段1431は、差の絶対値をすべて加えた値が所定以上の値であれば、両文字は異なると判断しても良い。
構造判断手段1431は、通常、MPUやメモリ等から実現され得る。構造判断手段1431の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
特徴判断手段1432は、構造判断手段1431が文字画像に含まれる文字が不正解でないと判断した文字に対して、構造点情報取得手段1421が取得した1以上の構造点情報および特徴点情報取得手段1422が取得した1以上の特徴点情報と、正解文字情報に含まれる1以上の構造点情報および1以上の特徴点情報とを比較し、文字が不正解か否かを判断する。なお、特徴判断手段1432は、主として、2つの文字の形を比較し、文字画像に含まれる文字が不正解か否かを判断する。具体的には、特徴判断手段1432は、グループ分割手段14321、グループ特徴判断手段14322、特徴量取得手段14323、およびバランス判断手段14324により、文字が不正解か否かを判断することは好適である。
特徴判断手段1432は、通常、MPUやメモリ等から実現され得る。特徴判断手段1432の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
グループ分割手段14321は、一文字を1以上のグループに分割する。つまり、グループ分割手段14321は、一文字に含まれる構造点および特徴点を、連結されている構造点または特徴点を有する1以上のグループに分割する。つまり、グループ分割手段14321は、例えば、ひらがな「い」は2つのグループに分割する。また、グループ分割手段14321は、例えば、漢字「淳」を6つのグループに分割する。グループ分割手段14321は、図4に示すように、連結しているノード群を一つのグループである、と判断する。文字「ぽ」は、3つのグループに分割される。
グループ分割手段14321は、通常、MPUやメモリ等から実現され得る。グループ分割手段14321の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
グループ特徴判断手段14322は、各グループごとに、構造点情報取得手段1421が取得した1以上の構造点情報および特徴点情報取得手段1422が取得した1以上の特徴点情報と、正解文字情報に含まれる1以上の構造点情報および1以上の特徴点情報とを比較し、文字が不正解か否かを判断する。
グループ特徴判断手段14322は、各グループごとに、構造点情報取得手段1421が取得した1以上の構造点情報および特徴点情報取得手段1422が取得した1以上の特徴点情報が示す各点に対応する点であり、正解文字情報に含まれる1以上の構造点情報または1以上の特徴点情報のうちのいずれかが示す点の情報である対応点情報を取得する。そして、グループ特徴判断手段14322は、構造点情報取得手段1421が取得した1以上の構造点情報および特徴点情報取得手段1422が取得した1以上の特徴点情報が示す各点と対応する点の位置情報を用いて、文字が不正解か否かを判断する。
グループ特徴判断手段14322は、例えば、図5に示すように、各グループごとに(図5では「ぽ」の1画目のグループ)、対応するノードを決定し、そのノード間の距離を算出する。そして、距離の集合を用いて、2つのグループの評価値を算出する。グループ特徴判断手段14322は、その評価値が所定より大きい場合(以上も含む)、2つの文字は異なると判断する。具体的には、例えば、図5に示すように、入力文字「ぽ」の第1画のグループがP1、P2、P3、P4のノードを有する、とする。また、正解文字「ぽ」の第1画のグループがQ1、Q2、Q3、Q4、Q5のノードを有する、とする。そして、グループ特徴判断手段14322は、2つの文字のグループ間で、他方のノードであり、距離が最も近いノードを、対応するノードでると決定する。図5において、グループ特徴判断手段14322は、Q1、Q2、Q3、Q4、Q5は、それぞれ、P1、P2、P2、P3、P4に対応すると決定する。次に、グループ特徴判断手段14322は、対応する2点「(P1,Q1)(P2,Q2)(P2,Q3)(P3,Q4)(P4,Q5)」のそれぞれの距離を算出する。そして、グループ特徴判断手段14322は、その距離を、数式1に代入し、評価値を算出する。次に、グループ特徴判断手段14322は、その評価値が閾値以上であれば、入力文字が不正解であると判断する。
数式1において、点Piの位置情報が(pxi,pyi)、点Qjの位置情報が(qxj,qyj)である。
グループ特徴判断手段14322は、通常、MPUやメモリ等から実現され得る。グループ特徴判断手段14322の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
特徴量取得手段14323は、手書き入力された文字のバランスを示す1以上の特徴量を取得する。文字のバランスとは、通常、グループ間のバランスである。また、グループ間のバランスとは1以上のグループ(文字の部分)間のバランスも含む趣旨である。
特徴量取得手段14323は、例えば、各文字を構成するグループが有するノードの位置情報から、各グループが含まれる最小の矩形の面積を、グループごとに算出する。そして、特徴量取得手段14323は、文字が有するノードの位置情報から、文字が含まれる最小の矩形の面積を算出する。そして、特徴量取得手段14323は、各グループの矩形の面積、文字の矩形の面積を用いて、各グループの、文字全体に占める面積の割合を算出する。かかる場合、特徴量は、各グループの、文字全体に占める面積の割合である。
また、特徴量取得手段14323は、例えば、手書き入力された文字の1以上のグループにより構成される文字の部分が占める面積の比率を特徴量として算出する。かかる場合、特徴量は、1以上のグループにより構成される文字の部分が占める面積の比率である。なお、文字の部分とは、1以上のグループにより構成される。
また、特徴量取得手段14323は、例えば、手書き入力された文字の各グループ間の距離を特徴量として算出する。かかる場合、特徴量は各グループ間の距離である。特徴量取得手段14323は、例えば、入力文字の各グループに対して、他のそれぞれのグループとの最短距離を算出する。そして、特徴量取得手段14323は、例えば、得た距離の和を算出する。かかる場合、特徴量は1以上のグループ間の距離の和である。
特徴量取得手段14323は、例えば、ハネなどの特定の線分の長さを取得する。かかる場合、特徴量は特定の線分の長さである。
特徴量取得手段14323は、通常、MPUやメモリ等から実現され得る。特徴量取得手段14323の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
バランス判断手段14324は、特徴量取得手段14323が取得した1以上の特徴量を用いて、文字が不正解か否かを判断する。バランス判断手段14324は、特徴量取得手段14323が取得した1以上の特徴量を、判断情報に適用し、判断情報が示す条件を満たすか否かを判断する。判断情報が示す条件を満たさない場合、バランス判断手段14324は、入力文字が不正解であると判断する。なお、判断情報は、特徴量のみでも良く、特徴量を有する判断のためのルールや式などでも良い。判断情報は、通常、正解文字情報格納部11の正解文字情報が有する。バランス判断手段14324は、例えば、正解の文字の1以上のグループにより構成される文字の部分が占める面積の比率を含む判断情報を取得し、特徴量取得手段14323が算出した特徴量と判断情報とから、文字が不正解か否かを判断する。バランス判断手段14324は、例えば、正解の文字のグループ間の距離を含む判断情報を取得し、特徴量取得手段14323が算出した特徴量と判断情報とから、文字が不正解か否かを判断する。
バランス判断手段14324は、通常、MPUやメモリ等から実現され得る。バランス判断手段14324の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
判断結果出力部15は、判断結果を出力する。また、判断結果出力部15は、判断部14における判断結果、および正解の文字列、および入力文字画像を出力しても良い。なお、判断結果は、2以上の文字を比較する場合、すべての文字が正解の場合に、正解とされても良い。判断結果とは、正解または不正解を示す情報の他、文字画像を含んでも良い。判断結果出力部15は、判断結果と判断理由を出力することは好適である。また、判断結果出力部15は、不正解と判断したときのみ、判断理由を出力することは好適である。なお、判断理由は、例えば、後述するコメントである。コメントは、判断情報が有する情報である。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。出力とは、ディスプレイへの表示および記録媒体への蓄積など、異なる2以上の処理でも良い。
判断結果出力部15は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。判断結果出力部15は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
受付部16は、判断結果出力部15が判断結果を出力した後、ユーザ判断結果を受け付ける。ユーザ判断結果とは、手書き入力された文字列が正解か不正解かを示すユーザの判断結果である。また、受付部16は、ユーザ判断結果と判断理由を受け付けても良い。判断理由は、一定の条件を満たす場合のみ受け付けられても良い。一定の条件とは、判断部14における判断結果と受付部16が受け付けたユーザ判断結果とが異なること、または、判断部14における判断結果が○(OK)で、ユーザ判断結果が×(NG)であることなどである。受付部16は、特徴量、または特徴量を含む判断情報などを受け付けても良い。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。ユーザ判断結果の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部16は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
判断結果蓄積部17は、受付部16が受け付けたユーザ判断結果を蓄積する。判断結果蓄積部17は、受付部16が受け付けたユーザ判断結果と判断理由を蓄積することは好適である。判断結果蓄積部17は、通常、MPUやメモリ等から実現され得る。判断結果蓄積部17の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
判断情報更新部18は、判断部14における判断結果と受付部16が受け付けたユーザ判断結果とが、予め決められた条件を満たす場合に、判断情報を更新する。判断情報更新部18は、判断結果とユーザ判断結果とが異なる場合に、判断情報を更新しても良い。また、判断情報更新部18は、判断結果が「不正解(NG)」であり、ユーザ判断結果が「正解(OK)」である場合に、判断情報を更新しても良い。また、判断情報更新部18は、判断結果が「正解(OK)」であり、ユーザ判断結果が「不正解(NG)」である場合に、判断情報を更新しても良い。さらに、判断情報更新部18は、受付部16が受け付けた1以上の特徴量を用いて、判断情報を更新しても良い。判断情報とは、入力文字画像に含まれる文字が不正解か否かを判断する基準となる情報である。判断情報は、例えば、特徴量を有する条件を示す情報である。
判断情報更新部18は、通常、MPUやメモリ等から実現され得る。判断情報更新部18の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
比較出力部19は、判断結果出力部15が出力した判断結果と、受付部16が受け付けたユーザ判断結果を比較し、両方の結果が異なる場合に、判断理由を出力する。比較出力部19は、判断結果とユーザ判断結果が異なる場合に、判断理由に加えて、判断結果とユーザ判断結果の両方、またはどちらか一方を出力することは好適である。なお、両方の結果が異なる場合とは、判断結果が「正解」でありユーザ判断結果が「不正解」である場合、または判断結果が「不正解」でありユーザ判断結果が「正解」である場合である。
また、比較出力部19は、判断結果出力部15が出力した判断結果と受付部16が受け付けたユーザ判断結果がともに「不正解」であり、かつ、判断結果出力部15が出力した判断理由(コメント)と、ユーザが入力した判断理由が異なる場合に、判断理由を出力することは好適である。また、かかる場合、比較出力部19は、判断理由に加えて、判断結果とユーザ判断結果の両方、またはどちらか一方を出力することは好適である。比較出力部19は、判断結果出力部15が出力した判断理由(コメント)と、ユーザが入力した判断理由とを比較する処理を行うが、かかる処理は、例えば、文字列である判断理由(コメント)と文字列であるユーザが入力した判断理由とから、1以上の自立語を取得し、両文字列から取得された1以上の自立語が一致する場合に、判断理由が同じであると判断し、1以上の自立語が一致しない場合に、判断理由が異なると判断しても良い。また、判断理由(コメント)とユーザが入力した判断理由とにコードが振られており、両コードが一致する場合に判断理由が同じであると判断し、両コードが一致しない場合に、判断理由が異なると判断しても良い。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。出力とは、ディスプレイへの表示および記録媒体への蓄積など、異なる2以上の処理でも良い。比較出力部19は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。比較出力部19は、MPUと出力デバイスのドライバーソフトまたは、MPUと出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、採点装置1の動作について図6のフローチャートを用いて説明する。
(ステップS601)採点装置1は、自動採点処理を行う。自動採点処理について、図7のフローチャートを用いて説明する。
(ステップS602)採点装置1は、手動採点処理を行う。手動採点処理について、の動作について図13のフローチャートを用いて説明する。なお、手動採点処理の動作の概要は以下である。まず、ユーザは、判断結果出力部15が出力した判断結果を見る。そして、ここでは、通常、判断結果は被験者(テストを受けた者)の解答(文字画像)を含む。そして、判断結果出力部15は、さらに、正解文字を出力していることが好適である。正解文字とは、正解文字情報により構成される文字列である。次に、ユーザは、被験者の解答(文字画像)が正解か否かを判断する。そして、ユーザは、ユーザ判断結果を入力する。次に、受付部16は、ユーザ判断結果を受け付ける。この場合、受付部16は、判断情報を変更するための特徴量などを受け付けても良い。次に、判断結果蓄積部17は、ユーザ判断結果を判断結果と対応付けて蓄積する。また、ユーザは、判断理由を入力しても良い。かかる場合、受付部16は、判断理由をも受け付ける。そして、判断結果蓄積部17は、ユーザ判断結果を判断結果と判断理由とを対応付けて蓄積する。
(ステップS603)採点装置1は、後処理を行う。後処理について、図14のフローチャートを用いて説明する。処理を終了する。なお、後処理とは、ユーザの判断を自動採点処理に反映させるための処理である。
なお、図6のフローチャートにおいて、一問ずつ、自動採点と手動採点を順次行っても良い。
次に、ステップS601の自動採点処理の動作について図7のフローチャートを用いて説明する。
(ステップS701)文字画像読取部10は、カウンタiに1を代入する。
(ステップS702)文字画像読取部10は、i番目の答案が存在するか否かを判断する。i番目の答案が存在すればステップS703に行き、i番目の答案が存在しなければ上位処理にリターンする。
(ステップS703)文字画像読取部10は、手書き入力された1以上の文字を読み取ったか否かを判断する。文字を読み取ればステップS705に行き、文字を読み取らなければステップS703に戻る。なお、ここで読み取られた文字画像は、文字画像格納部12に格納されている。
(ステップS704)文字分割手段141は、ステップS703で読み取られた文字から文字画像を取得する。
(ステップS705)文字分割手段141は、ステップS704で取得した文字画像を、各文字の画像に分割する。
(ステップS706)点情報取得手段142は、カウンタiに1を代入する。
(ステップS707)点情報取得手段142は、ステップS705で分割された文字の画像の中に、i番目の文字の画像が存在するか否かを判断する。i番目の文字の画像が存在すればステップS708に行き、i番目の文字の画像が存在しなければステップS712に行く。
(ステップS708)点情報取得手段142は、点情報取得処理を行う。点情報取得処理について、図8のフローチャートを用いて説明する。
(ステップS709)判断手段143は、判断処理を行う。判断処理について、図9のフローチャートを用いて説明する。
(ステップS710)点情報取得手段142は、ステップS709における判断処理の結果が「OK」か「NG」であるかを判断する。「OK」であればステップS711に行き、「NG」であればステップS712に行く。
(ステップS711)点情報取得手段142は、カウンタiを1、インクリメントする。ステップS707に戻る。
(ステップS712)判断結果出力部15は、判断結果を出力する。なお、判断結果出力部15は、入力文字画像と判断結果を出力することは好適である。また、判断結果出力部15は、判断結果に加えて、正解文字情報により構成される正解文字を出力することは好適である。
(ステップS713)文字画像読取部10は、カウンタiを1、インクリメントする。ステップS702に戻る。
次に、ステップS706の点情報取得処理について、図7のフローチャートを用いて説明する。
(ステップS801)点情報取得手段142は、手書きの文字画像から太さを除去して、線画画像に変換する。かかる処理は公知技術である。
(ステップS802)点情報取得手段142は、ステップS801で得られた線画画像から線画データ(ベクター)に変換し、ベクターデータを得る。かかる処理は公知技術である。
(ステップS803)構造点情報取得手段1421は、ステップS802で得られたベクターデータから、構造点を抽出する。また、特徴点情報取得手段1422は、ステップS802で得られたベクターデータから、特徴点を抽出する。なお、構造点、特徴点の抽出方法は、上述した通りである。
(ステップS804)構造点情報取得手段1421または特徴点情報取得手段1422は、構造点または特徴点の位置情報(ここでは、座標情報(x,y))を取得し、記憶媒体に蓄積する。
(ステップS805)構造点情報取得手段1421または特徴点情報取得手段1422は、構造点および特徴点の接続情報を取得し、記憶媒体に蓄積する。上位処理にリターンする。
なお、図8のフローチャートにおいて、構造点と特徴点の抽出、位置情報の取得、および接続情報の取得をシーケンシャルに行わず、並行して行っても良い。
次に、ステップS707の判断処理について、図9のフローチャートを用いて説明する。
(ステップS901)判断手段143は、判断対象の入力文字に対応する正解文字の正解文字情報を、正解文字情報格納部11から読み出す。
(ステップS902)構造判断手段1431は、構造比較処理を行う。構造比較処理について、図10のフローチャートを用いて説明する。
(ステップS903)特徴判断手段1432は、ステップS902における判断結果が「OK」であったか否かを判断する。「OK」であればステップS904に行き、「OK」でなければ上位処理にリターンする。
(ステップS904)特徴判断手段1432は、形状比較処理を行う。形状比較処理について、図11のフローチャートを用いて説明する。
(ステップS905)特徴判断手段1432は、ステップS904における判断結果が「OK」であったか否かを判断する。「OK」であればステップS906に行き、「OK」でなければ上位処理にリターンする。
(ステップS906)特徴判断手段1432は、特徴量比較処理を行う。特徴量比較処理について、図12のフローチャートを用いて説明する。
なお、図9のフローチャートにおいて、構造比較処理を最初に行うことは好ましいが、構造比較処理と形状比較処理と特徴量比較処理の順序は問わない。
次に、ステップS902の構造比較処理について、図10のフローチャートを用いて説明する。
(ステップS1001)構造判断手段1431は、一文字に含まれる構造点および特徴点を、連結されている構造点または特徴点を有する1以上のグループに分割する。なお、かかるグループに分割する処理は、グループ分割手段14321が行っても良い。
(ステップS1002)構造判断手段1431は、初期化処理を行う。初期化処理とは、カウンタiに1を代入し、変数の判断結果に「OK」を代入する処理である。
(ステップS1003)構造判断手段1431は、i番目のグループが存在するか否かを判断する。i番目のグループが存在すればステップS1003に行き、i番目のグループが存在しなければ上位処理にリターンする。
(ステップS1004)構造判断手段1431は、入力文字のi番目のグループの構造点情報を取得する。
(ステップS1005)構造判断手段1431は、正解文字のi番目のグループの構造点情報を取得する。
(ステップS1006)構造判断手段1431は、カウンタjに1を代入する。
(ステップS1007)構造判断手段1431は、入力文字のi番目のグループにj番目の構造点が存在するか否かを判断する。j番目の構造点が存在すればステップS1008に行き、j番目の構造点が存在しなければステップS1010に行く。
(ステップS1008)構造判断手段1431は、j番目の構造点に対応する構造点が、正解文字情報のi番目のグループの中に存在するか否かを判断する。存在すればステップS1009に行き、存在しなければステップS1011に行く。なお、「対応する」か否かは、例えば、i番目のグループの接続情報から構造点のノードのみを残し、当該残ったノードを検査することにより判断され得る。検査とは、入力文字の構造点の接続の順に、正解文字に対応する構造点が存在するか否かを判断することである。対応するか否かは、構造点の接続情報のみで判断を行うことが好適であるが、構造点の位置情報のみで判断を行っても良いし、構造点の接続情報と位置情報の両方を用いて判断を行っても良い。
(ステップS1009)構造判断手段1431は、カウンタjを1、インクリメントする。ステップS1007に戻る。
(ステップS1010)構造判断手段1431は、ステップS1008における対応するか否かの判断において、判断の対象にならなかった構造点(余った構造点)が存在するか否かを判断する。余った構造点が存在すればステップS1011に行き、余った構造点が存在しなければステップS1012に行く。
(ステップS1011)構造判断手段1431は、判断結果に「NG」を代入する。上位処理にリターンする。
(ステップS1012)構造判断手段1431は、カウンタiを1、インクリメントする。ステップS1003に戻る。
次に、ステップS904の形状比較処理について、図11のフローチャートを用いて説明する。
(ステップS1101)グループ分割手段14321は、一文字に含まれる構造点および特徴点を、連結されている構造点または特徴点を有する1以上のグループに分割する。
(ステップS1102)グループ特徴判断手段14322は、初期化処理を行う。初期化処理とは、カウンタiに1を代入し、変数の判断結果に「OK」を代入する処理である。
(ステップS1103)グループ特徴判断手段14322は、i番目のグループが存在するか否かを判断する。i番目のグループが存在すればステップS1104に行き、i番目のグループが存在しなければ上位処理にリターンする。
(ステップS1104)グループ特徴判断手段14322は、入力文字のi番目のグループの構造点情報、および特徴点情報を取得する。
(ステップS1105)グループ特徴判断手段14322は、正解文字のi番目のグループの構造点情報、および特徴点情報を取得する。
(ステップS1106)グループ特徴判断手段14322は、入力文字のi番目のグループと、正解文字のi番目のグループのノード数を比較し、ノード数の多い方の文字のグループを決定する。ノード数の多い方の文字のグループを基準に、以下、チェックを行う。
(ステップS1107)グループ特徴判断手段14322は、初期化処理を行う。初期化処理とは、カウンタjに1を代入し、変数の評価値に「0」を代入する処理である。
(ステップS1108)グループ特徴判断手段14322は、基準のグループのj番目のノードが存在するか否かを判断する。ノードが存在すればステップS1109に行き、ノードが存在しなければステップS1113に行く。
(ステップS1109)グループ特徴判断手段14322は、基準とならない他方の文字のグループのノードのうち、j番目のノード(基準となる文字のノード)に対応するノードを決定し、2つのノードの組の情報を、少なくとも一時蓄積する。なお、j番目のノードに対応するノードとは、例えば、j番目のノードに最も距離が近いノードである。また、2つのノードの組とは、2つの文字の対応する2つのノードである。
(ステップS1110)グループ特徴判断手段14322は、ステップS1109で組とした2つのノード間の距離を算出する。グループ特徴判断手段14322は、2つのノードの情報が有する2つの位置情報から距離を算出する。
(ステップS1111)グループ特徴判断手段14322は、評価値に距離を加える。なお、評価値は、最終的に、2つのノード間の距離の和となる。
(ステップS1112)グループ特徴判断手段14322は、カウンタjを1、インクリメントする。ステップS1108に戻る。
(ステップS1113)グループ特徴判断手段14322は、評価値が閾値より大きいか否か(「以上であるか否か」を含む)を判断する。大きければステップS1114に行き、大きくなければステップS1115に行く。
(ステップS1114)グループ特徴判断手段14322は、判断結果に「NG」を代入する。上位処理にリターンする。
(ステップS1115)グループ特徴判断手段14322は、カウンタiを1、インクリメントする。ステップS1103に戻る。
次に、ステップS906の特徴量比較処理について、図12のフローチャートを用いて説明する。なお、特徴量比較処理は、バランス比較処理を含む。
(ステップS1201)特徴量取得手段14323は、入力文字の矩形の面積を取得する。入力文字の矩形の面積は、例えば、入力文字のノードがすべて含まれる矩形の面積である。
(ステップS1202)特徴量取得手段14323は、初期化処理を行う。初期化処理とは、カウンタiに1を代入し、判断結果に「OK」を代入する処理である。
(ステップS1203)特徴量取得手段14323は、入力文字の中に、i番目のグループが存在するか否かを判断する。i番目のグループが存在すればステップS1204に行き、i番目のグループが存在しなければステップS1211に行く。
(ステップS1204)特徴量取得手段14323は、i番目のグループの矩形の面積を算出する。
(ステップS1205)特徴量取得手段14323は、文字全体の面積に対する、i番目のグループの面積の比率を算出する。
(ステップS1206)バランス判断手段14324は、ステップS1205で取得された比率が許容範囲か否かを判断する。許容範囲は、判断情報であり、例えば、正解文字情報格納部11に格納されている。許容範囲であればステップS1207に行き、許容範囲でなければステップS1210に行く。なお、許容範囲に関する情報は、例えば、正解文字情報が有する判断情報である。
(ステップS1207)特徴量取得手段14323は、i番目のグループと他のグループとの距離を算出する。距離とは、i番目のグループの矩形の重心と、他のグループの矩形の重心との距離でも良いし、i番目のグループのノードと他のグループのノードとの距離のうち、最も近い2ノード間の距離でも良い。ここで、グループが3以上存在する場合、特徴量取得手段14323は、2以上の距離を算出しても良い。他のグループとは、隣接する一のグループでも良いし、隣接する1以上のグループでも良いし、他のすべてのグループでも良い。
(ステップS1208)バランス判断手段14324は、ステップS1207で取得された1以上の距離を用いて算出される値が許容範囲か否かを判断する。許容範囲であればステップS1209に行き、許容範囲でなければステップS1210に行く。1以上の距離を用いて算出される値とは、例えば、1以上の距離の和などである。なお、許容範囲に関する情報は、例えば、正解文字情報が有する判断情報である。
(ステップS1209)特徴量取得手段14323は、カウンタiを1、インクリメントする。ステップS1203に戻る。
(ステップS1210)バランス判断手段14324は、判断結果に「NG」を代入する。上位処理にリターンする。
(ステップS1211)特徴量取得手段14323は、他の特徴量が存在するか否かを判断する。他の特徴量が存在すればステップS1212に行き、他の特徴量が存在しなければ上位処理にリターンする。なお、他の特徴量が存在するか否かは、例えば、正文字情報の中をチェックすることにより判断され得る。なお、他の特徴量に対応する値とは、例えば、はねの長さである。はねの長さは、通常、特定の2つの構造点間の距離である。
(ステップS1212)特徴量取得手段14323は、他の特徴量に対応する値を、入力文字の構造点情報、または特徴点情報、または構造点情報と特徴点情報から取得する。
(ステップS1213)バランス判断手段14324は、ステップS1212で取得した他の特徴量に対応する値が、許容範囲であるか否かを判断する。許容範囲であればステップS1211に行き、許容範囲でなければステップS1210に行く。なお、許容範囲に関する情報は、例えば、正解文字情報が有する判断情報である。
次に、ステップS602の手動採点処理の動作について図13のフローチャートを用いて説明する。
(ステップS1301)判断結果出力部15は、カウンタiに1を代入する。
(ステップS1302)判断結果出力部15は、i番目の答案(文字画像)が存在するか否かを判断する。i番目の答案が存在すればステップS1303に行き、存在しなければ上位処理にリターンする。
(ステップS1303)判断結果出力部15は、i番目の答案に対応する文字画像と、判断結果をディスプレイに表示する。
(ステップS1304)受付部16は、ユーザ判断結果を受け付けたか否かを判断する。ユーザ判断結果を受け付ければステップS1305に行き、受け付けなければステップS1304に戻る。
(ステップS1305)判断結果蓄積部17は、ステップS1304で受け付けられたユーザ判断結果を、判断結果と対応付けて蓄積する。
(ステップS1306)受付部16は、ユーザ判断結果が、予め決められた一定の条件を満たすか否かを判断する。一定の条件を満たす場合はステップS1307に行き、一定の条件を満たさない場合はステップS1310に行く。
(ステップS1307)判断結果出力部15は、判断理由の入力を促す出力を行う。判断結果出力部15は、例えば、「今の判断の理由を入力してください。」と表示する。なお、判断理由の入力を促すための情報は、判断結果出力部15が予め保持している。
(ステップS1308)受付部16は、判断理由を受け付けたか否かを判断する。判断理由を受け付ければステップS1309に行き、受け付けなければステップS1308に戻る。
(ステップS1309)判断結果蓄積部17は、ステップS1308で受け付けられた判断理由を、ユーザ判断結果と対応付けて蓄積する。
(ステップS1310)判断結果出力部15は、カウンタiを1、インクリメントする。ステップS1302に戻る。
次に、ステップS603の後処理の動作について図14のフローチャートを用いて説明する。
(ステップS1401)比較出力部19は、カウンタiに1を代入する。
(ステップS1402)比較出力部19は、i番目の答案(文字画像)が存在するか否かを判断する。i番目の答案が存在すればステップS1403に行き、存在しなければステップS1408に行く。
(ステップS1403)比較出力部19は、i番目の答案に対応するi番目の判断結果と、i番目のユーザ判断結果とを取得する。なお、i番目の判断結果は自動採点処理により取得された情報である。また、i番目のユーザ判断結果は、ユーザが入力した判断結果である。
(ステップS1404)比較出力部19は、i番目の判断結果と、i番目のユーザ判断結果とが一致するか否かを判断する。一致すればステップS1407に行き、一致しなければステップS1405に行く。
(ステップS1405)比較出力部19は、i番目の答案に対応するi番目の入力文字画像を取得する。
(ステップS1406)比較出力部19は、i番目のユーザ判断結果に対応する判断理由を取得する。
(ステップS1407)比較出力部19は、カウンタiを1、インクリメントする。ステップS1402に戻る。
(ステップS1408)比較出力部19は、正解文字情報を読み出す。
(ステップS1409)比較出力部19は、正解文字情報(正解の文字列)、入力文字画像、判断理由、および判断情報を表示する。なお、判断情報は、ステップS1408で読み出した正解文字情報に含まれている、とする。
(ステップS1410)受付部16は、特徴量の更新の受け付けをしたか否か判断する。特徴量の更新の受け付けした場合はステップS1411に行き、受け付けしなかった場合はステップS1414に行く。
(ステップS1411)判断情報更新部18は、受付部16が受け付けた特徴量を用いて、正解文字情報が有する判断情報を更新する。
(ステップS1412)受付部16は、シミュレーションを行う指示を受け付けたか否かを判断する。シミュレーションを行う指示を受け付ければステップS1413に行き、受け付けなければステップS1414に行く。
(ステップS1413)自動採点処理が行われる。自動採点処理については、図7のフローチャートを用いて説明した。ただし、ここでの自動採点処理の対象は、ステップS1409で表示された入力文字画像のみである。かかる入力文字画像は、判断結果とユーザ判断結果が一致しなかった入力文字画像である。また、ここでの自動採点処理は、ステップS704以降の処理だけでも良い。そして、この自動採点処理により、判断の条件が変わった状態で、自動採点され、判断情報が適切か否か、ユーザは検査できる。
(ステップS1414)受付部16は、処理を終了する旨の指示を受け付けたか否かを判断する。処理を終了する旨の指示を受け付けた場合は上位処理にリターンし、受け付けない場合はステップS1410に戻る。
以下、本実施の形態における採点装置の具体的な動作について説明する。
今、正解文字情報格納部11は、図15、図16に示す正解文字情報管理表を保持している。正解文字情報管理表は、1以上の正解文字の正解文字情報を保持している。正解文字情報は、構造点情報と特徴点情報を有する。なお、図15において、構造点情報と特徴点情報とは、ノード位置情報および接続情報であり、区別されていない。ただし、図15において、接続情報から、端点、分岐点、交点は判断可能であるので、構造点と特徴点は区別され得る。図15において、正解文字情報は、文字コードと、ノード位置情報と接続情報を有する。図15の右側の文字と丸と丸の中の数字とにより構成される絵文字は、ノード位置情報と接続情報により構成される文字のイメージを示す絵文字である。図15の右側の文字の丸は、構造点または特徴点を示す。構造点は白抜きの丸である。特徴点は網掛けの丸である。文字「か」において、ノード位置情報のP1は、右側の絵文字の丸1の構造点を示す。文字「か」において、ノード位置情報のP3は、右側の絵文字の丸3の特徴点を示す。文字は、正規化された大きさであるので、ノード位置情報は(0,1)の範囲に収まる。なお、ノード位置情報は、ノードの位置情報である。また、接続情報は、点の接続を示す情報であり、図15のデータは一例である。また、図15において、ノード位置情報に対応して、ノードの種類(構造点または特徴点)を示すフラグを有しても良い。
また、図16において、正解文字情報管理表は、1以上の正解文字の正解文字情報を保持している。正解文字情報は、文字コードと、ノード位置情報と接続情報と特徴量を有する。ここでは、文字は「奈」であり、正解文字情報は、2つの特徴量とコメントを有する。図16において、正解文字情報管理表は、特徴量とコメントを有する以外、図15と同じ構造である。
図16において、特徴量(1)「5<=P15−P16」は、漢字「奈」の下側のハネが5ピクセル以上であることを示す。図16の特徴量(1)に対応するコメント「ハネが不十分」は、特徴量(1)が適用されて、文字が不正解であると判断された場合に出力されるコメントである。
図16の特徴量(2)「0.8<=A/B<=1.2」は、漢字「奈」の上部「大」と、下部「示」の比率が0.8以上、1.2以下であることを示す。なお、図14の特徴量(2)の「A(P1−P4−・・・)」は、漢字「奈」の上部「大」を示す。図14の特徴量(2)の「B(P10−P11,P12−・・・)」は、漢字「奈」の下部「示」を示す。図14の特徴量(2)に対応するコメント「バランスが悪い」は、特徴量(2)が適用されて、文字が不正解であると判断された場合に出力されるコメントである。
なお、特徴量の定義方法は、上記に限られないことは言うまでもない。
かかる状況において、多数の被験者に対して漢字テストを実施する、とする。そして、多数の被験者が記載した答案用紙であり、正解の場合は漢字「奈」が記載された多数の答案用紙を、採点装置1を用いて採点する、とする。
つまり、採点装置1は、まず、以下のように自動採点を行う。まず、文字画像読取部10は、かかる答案用紙を順読み取って、文字画像を取得する。ここで、文字画像読取部10は、例えば、オートフィーダー付きのスキャナである。
次に、文字分割手段141は、読み取られた文字から文字画像を取得する。ここでは、入力画像の文字列は一字であるので、文字分割手段141は、分割処理は行わず、漢字「奈」の文字画像を取得する。
まず、点情報取得手段142は、各答案用紙の漢字「奈」に対して、上記で説明した点情報取得処理を行う。そして、点情報取得手段142は、構造点情報、および特徴点情報を取得する。
次に、判断手段143は、点情報取得手段142が取得した構造点情報および特徴点情報を用いて、上述した判断処理を行う。つまり、まず、判断手段143は、判断対象の入力文字に対応する正解文字の正解文字情報(図16)を、正解文字情報格納部11から読み出す。次に、構造判断手段1431は、上記で説明した構造比較処理を行う。
次に、構造比較処理の結果である判断結果が「OK」であれば、特徴判断手段1432は、形状比較処理を行う。
そして、形状比較処理の結果である判断結果も「OK」であれば、以下のような特徴量を用いたバランス比較処理を行う。つまり、バランス判断手段14324は、正解文字情報格納部11から、漢字「奈」の特徴量(1)、および特徴量(2)を読み出す。
次に、特徴量取得手段14323は、特徴量(1)の「P15−P16」から、入力文字のハネの長さ(「P15−P16」の距離)を取得する。そして、バランス判断手段14324は、特徴量取得手段14323が取得したハネの長さが5ピクセル以上であるか否かを判断する。5ピクセル未満であれば、バランス判断手段14324は、入力文字を不正解とする。
次に、特徴量取得手段14323が取得したハネの長さが5ピクセル以上である場合、特徴量取得手段14323は、特徴量(2)の「A=(P1−P4・・・)」から、「奈」の上部の「大」の矩形の面積(A)を取得する。次に、特徴量取得手段14323は、特徴量(2)の「B=(P10−P11,P12―・・・)」から、「奈」の下部の「示」の矩形の面積(B)を取得する。そして、特徴量取得手段14323は、比率(A/B)を算出する。
そして、バランス判断手段14324は、比率(A/B)が「0.8<=A/B<=1.2」を満たすか否かを判断する。満たさない場合、バランス判断手段14324は、入力文字を不正解とする。
そして、判断結果出力部15は、自動判断の結果である判断結果を判断結果格納部13に蓄積する。判断結果は、通常、答案用紙を識別する答案用紙識別子(被験者識別子と同意義)と対応付けて蓄積される。また、判断結果出力部15は、判断結果と対にコメント(判断理由)を蓄積することは好適である。判断理由とは、判断情報が有する情報である。
次に、ユーザは、被験者の答案用紙(文字画像)と自動判断された結果である判断結果をディスプレイに表示させる指示を入力する。そして、判断結果出力部15は、順に、被験者の答案用紙(文字画像)と判断結果(図17参照)をディスプレイに表示する。なお、図17において、判断結果が「×(不正解)」の場合、コメントが出力されている。
次に、ユーザ(採点者)は、「ユーザ判断結果」のフィールド(属性値)に「○」または「×」を入力する、とする。そして、ユーザ(採点者)は、図18に示すようなユーザ判断結果を入力した、とする。
そして、受付部16は、図18に示すユーザ判断結果を受け付ける。次に、判断結果蓄積部17は、受け付けられたユーザ判断結果(図18)を、判断結果と対応付けて蓄積する。
ここで、受付部16は、ユーザ判断結果が、予め決められた一定の条件(ここでは、「判断結果とユーザ判断結果が異なる」)を満たすか否かを判断する。そして、答案用紙識別子「002」について、一定の条件を満たすと判断する。
次に、判断結果出力部15は、判断理由の入力を促す出力を行う。つまり、例えば、判断結果出力部15は、「答案用紙識別子「002」について、「×」と判断された理由を入力してください」をディスプレイ上に出力する。
次に、ユーザは、「この程度のバランスの悪さは、許容範囲です」と入力した、とする。そして、受付部16は、判断理由「この程度のバランスの悪さは、許容範囲です」を受け付ける。
次に、判断結果蓄積部17は、受け付けられた判断理由「この程度のバランスの悪さは、許容範囲です」を、答案用紙識別子「002」に対応付けて蓄積する。
以上、手動採点処理の具体例について説明した。
次に、後処理の具体例について説明する。
まず、判断結果出力部15は、各答案用紙に対応する判断結果とユーザ判断結果とを取得する。そして、判断結果出力部15は、判断結果とユーザ判断結果とが一致するか否かを判断する。そして、判断結果とユーザ判断結果とが一致しない場合、その正解文字情報と、一致しなかった入力文字画像、判断理由、および判断情報を取得し、出力する。かかる出力例が、図19および図20である。
図19は、特徴量(1)を含む判断情報が適用されたことにより、ハネが不十分であるか否かに関して、自動判定処理の判断結果と手動採点処理でのユーザ判断結果が異なる文字(採点対象)が表示されている。
そして、図19(a)のハネの部分の丸は、判断結果出力部15が「P15−P16」から、構造点P15、P16が中に含まれる丸を描画したもの、とする。
そして、判断結果出力部15は、図19(b)のような、判断情報更新画面を表示する。判断情報更新画面は、ここでは、ハネの長さの条件(判断情報)を変更するための画面である。そして、ユーザは、図19(b)の判断情報更新画面に対して、キーボード等の入力手段を用いて、「5ピクセル以上」を「3ピクセル以上」に変更し、「更新」ボタンを押下した、とする。すると、受付部16は、正誤情報「3」を受け付ける。そして、判断情報更新部18は、受付部16が受け付けた正誤情報「3」から、判断情報「3<=P15−P16」を構成し、図16の判断情報(特徴量(1)の判断情報)を変更する。
次に、ユーザは、図19(b)の「シミュレーション」ボタンを押下した、とする。すると、特徴量取得手段14323、およびバランス判断手段14324は、上述したアルゴリズムにより、採点対象の各文字が、特徴量(1)の判断情報「3<=P15−P16」を満たすか否かを判断する。そして、判断結果出力部15は、図20に示すような判断結果(シミュレーション画面)を出力する。図20の判断結果において、○は、判断情報を「3<=P15−P16」に変更したことによって、正解となった文字を示す。図20の判断結果において、×は、判断情報を「3<=P15−P16」に変更した場合でも、不正解である文字を示す。図20に示すように、シミュレーションを行うことにより、ユーザは、適正な判断情報を得ることができる。
図20は、特徴量(2)を含む判断情報が適用されたことにより、バランスの良否に関して、自動判定処理の判断結果と手動採点処理でのユーザ判断結果が異なる文字(採点対象)が表示されている。
かかる表示を得るために、以下の処理が行われる。つまり、特徴量取得手段14323は、特徴量(2)の「A=(P1−P4・・・)」から、「奈」の上部の「大」の矩形の面積(A)を取得する。次に、特徴量取得手段14323は、特徴量(2)の「B=(P10−P11,P12―・・・)」から、「奈」の下部の「示」の矩形の面積(B)を取得する。そして、特徴量取得手段14323は、比率(A/B)を算出する。
そして、バランス判断手段14324は、比率(A/B)が「0.8<=A/B<=1.2」を満たすか否かを判断する。満たさない場合、バランス判断手段14324は、入力文字を不正解とする。
そして、判断結果出力部15は、図21(a)のような判断結果を出力する。図21(a)は、特徴量(2)の判断情報に関して、判断結果とユーザ判断結果が異なる文字を出力している。
そして、判断結果出力部15は、図21(b)のような、判断情報更新画面を出力する。判断情報更新画面は、ここでは、比率(A/B)に関する判断情報を変更するための画面である。そして、ユーザは、図21(b)の判断情報更新画面に対して、キーボード等の入力手段を用いて、「比率 0.8以上1.2以下」を「比率 0.7以上1.4以下」に変更し、「更新」ボタンを押下した、とする。すると、受付部16は、正誤情報「0.7以上1.4以下」を受け付ける。そして、判断情報更新部18は、受付部16が受け付けた正誤情報「0.7以上1.4以下」から、判断情報「0.7<=A/B<=1.4」を構成し、図16の判断情報(特徴量(2)の判断情報)を変更する。
次に、ユーザは、図21(b)の「シミュレーション」ボタンを押下した、とする。すると、特徴量取得手段14323、およびバランス判断手段14324は、上述したアルゴリズムにより、採点対象の各文字が、特徴量(2)の判断情報「0.7<=A/B<=1.4」を満たすか否かを判断する。そして、判断結果出力部15は、図22に示すような判断結果(シミュレーション画面)を出力する。図22の判断結果において、○は、判断情報を「0.7<=A/B<=1.4」に変更したことによって、正解となった文字を示す。図22の判断結果において、×は、判断情報を「0.7<=A/B<=1.4」に変更した場合でも、不正解である文字を示す。図22に示すように、シミュレーションを行うことにより、ユーザは、適正な判断情報を得ることができる。
以上、判断結果とユーザ判断結果が異なる文字(答案)に対して、特徴量を変換させ、シミュレーションが行われた。しかし、例えば、採点装置1は、自動採点処理により不正解であると判断された文字に対して、シミュレーションを行っても良い。また、採点装置1は、すべての文字(答案)に対して、シミュレーションを行っても良い。
次に、自動採点処理の別の具体例について説明する。まず、文字画像読取部10は、ユーザが手書き入力した文字「ぽすと」を読み取った、とする。
次に、文字分割手段141は、読み取られた文字「ぽすと」から文字画像を取得する。文字画像は、図2(a)に示したように、太さを有するビットマップである。
そして、文字分割手段141は、取得した文字画像「ぽすと」を、「ぽ」「す」「と」の3つの文字の画像に分割する。
次に、点情報取得手段142は、1番目の文字の画像「ぽ」に対して、以下のように点情報取得処理を行う。つまり、点情報取得手段142は、手書きの文字画像から太さを除去して、線画画像に変換する(図2(b)参照)。そして、点情報取得手段142は、線画画像から線画データ(ベクター)に変換し、ベクターデータを得る。
次に、構造点情報取得手段1421は、ベクターデータの端点、分岐点、および交点を構造点と決定し、構造点の位置情報を蓄積する。
次に、特徴点情報取得手段1422は、ベクターデータの特徴点情報を取得する。つまり、特徴点情報取得手段1422は、ベクターデータが構成するエッジ間の角度を取得し、当該角度が示す曲がりの程度が、閾値より大きい場合、エッジの交点を特徴点として検出し、当該特徴点の位置情報を蓄積する。
次に、点情報取得手段142は、構造点および特徴点の接続情報を取得し、蓄積する。以上の処理により、正規化されていないグラフデータが取得できた(図2(c)参照)。
次に、点情報取得手段142は、正規化し、グラフデータが(0,0)(0,1)(1,1)(1,0)の矩形に収まるように、構造点および特徴点の位置情報を変換する。かかる正規化の処理は公知技術であるので、詳細な説明は省略する。以上の処理により、正規化されたグラフデータが取得できた(図2(d)参照)。
次に、判断手段143は、以下のような判断処理を行う。つまり、判断手段143は、判断対象の入力文字「ぽ」に対応する正解文字の正解文字情報(図15の「ぽ」の情報)を、正解文字情報格納部11から読み出す。
次に、構造判断手段1431は、以下のように構造比較処理を行う。つまり、構造判断手段1431は、文字「ぽ」に含まれる構造点および特徴点を、連結されている構造点または特徴点を有する3つのグループに分割する。そして、構造判断手段1431は、図10のフローチャートにしたがって、グループごとに、入力文字の「ぽ」の各ノードに対応するノードが、正解文字の「ぽ」のノード中に存在するか否かを判断する。
そして、図10のフローチャートにしたがって、構造判断手段1431は、入力文字の「ぽ」のすべてのノードについて、対応するノードが正解文字の「ぽ」のノード中に存在し、かつ、正解文字の「ぽ」のノード中に余ったノードが存在しない場合に、入力文字の「ぽ」が不正解でない、と判断する(図3参照)。なお、余ったノードとは、対応するノードが存在しないノードである。
次に、特徴判断手段1432は、以下のような形状比較処理を行う(図11のフローチャートを参照のこと)。つまり、グループ分割手段14321は、文字「ぽ」のグループ毎に、入力文字の形状が正解文字と同じか否かを判断する。具体的には、図5に示したように、特徴判断手段1432は、グループ毎に、入力文字を構成するノードと、正解文字を構成するノードの対応をとる。そして、特徴判断手段1432は、入力文字のノードと正解文字のノード(対応がとれたノード)との距離を算出する。そして、特徴判断手段1432は、1以上の距離の値を用いて、評価値を算出する。この評価値の算出式の例が上述した数式1である。
そして、特徴判断手段1432は、予め格納している閾値を読み出す。そして、特徴判断手段1432は、評価値と閾値を比較し、入力文字の形状が、正解文字の形状と比較して、予め決められた以上の近似度を有するか否かを判断する。予め決められた以上の近似度を有しなければ入力文字を不正解である、と判断する。
以上の処理を全グループに対して行い、一つのグループでも、予め決められた以上の近似度を有しなければ、入力文字を不正解である、と判断する。
次に、特徴量取得手段14323、およびバランス判断手段14324は、特徴量比較処理を行う。
以上の処理を2番目の文字「す」、3番目の文字「と」に対しても行い、3つの文字、すべてが不正解でない場合に、入力文字は正解である、と判断される。
そして、判断結果出力部15は、判断結果を出力する。判断結果の出力態様は問わない。
以上、本実施の形態によれば、手書き文字列の正解/不正解の判断において、自動判断を行って、自動判断の判断結果を出力した後、採点者(ユーザ)が手動で判断する。つまり、採点者(ユーザ)は、自動判断結果を見ながら、採点できるので、非常に効率的で正確な文字列の正誤判断ができる。例えば、何十万通もの答案の漢字テストを採点するような場合、1通あたり1秒でも、採点時間が短縮できれば、非常に効果は大きいものとなる。
また、本実施の形態によれば、文字の正誤判断が適切にできる。特に、本実施の形態によれば、入力文字から構造点および特徴点を抽出し、構造点の情報と特徴点の情報とを、異なる用い方をする(異なるアルゴリズムを適用する)ことにより、文字の正誤判断が適切にできる。
また、本実施の形態によれば、まず、採点装置1は、構造点を用いて構造比較し、次に、構造点および特徴点を用いて特徴比較を行った。そのため、異なる文字の判断が高速に、かつ、精度高くできた。
また、本実施の形態によれば、採点装置1は、構造点および特徴点を用いて、各グループの形状、および特徴をチェックした。そのため、精度高く、文字の正誤判断が可能となった。
また、本実施の形態によれば、採点装置1は、さらに、特徴量をも用いて、文字の特徴的なポイント(ハネやバランスなど)をチェックした。そのため、非常に精度高く、文字の正誤判断が可能となった。
さらに、本実施の形態によれば、採点装置1は、採点された1以上の入力文字を見ながら、特徴量(または判断情報)を変更し、シミュレーションできた。そのため、ユーザは、実際に入力された文字を見ながら、適切な特徴量(または判断情報)を設定できる。
なお、本実施の形態において、判断情報更新部18は、ユーザが入力した特徴量を用いて、判断情報を更新した。しかし、判断情報更新部18は、ユーザが入力したユーザ判断結果を用いて、判断情報を更新しても良い。つまり、判断情報更新部18は、判断結果とユーザ判断結果とが異なる場合、ユーザ判断結果を尊重し、ユーザ判断結果の対象となった文字の対応する特徴量(ハネの長さや、バランスなど)を取得し、当該特徴量を用いて、判断情報を更新しても良い。さらに具体的には、判断情報が「5<=P15−P16」でり、ハネの長さ「4」である文字に対して、ユーザ判断結果が「OK(正解)」である場合、判断情報更新部18は、判断情報を「4<=P15−P16」に修正しても良い。一方、判断情報が「5<=P15−P16」でり、ハネの長さ「6」である文字に対して、ユーザ判断結果が「NG(不正解)」である場合、判断情報更新部18は、判断情報を「6<P15−P16」に修正しても良い。
また、判断情報が「0.8<=A/B<=1.2」でり、「A/B=0.7」である文字に対して、ユーザ判断結果が「OK(正解)」である場合、判断情報更新部18は、判断情報を「0.7<=A/B<=1.2」に修正しても良い。一方、判断情報が「0.8<=A/B<=1.2」でり、「A/B=0.85」である文字に対して、ユーザ判断結果が「NG(不正解)」である場合、判断情報更新部18は、判断情報を「0.85<A/B<=1.2」に修正しても良い。
また、判断情報更新部18は、判断結果が「NG」であり、ユーザ判断結果が「OK」である場合のみ、ユーザ判断結果を尊重するように、上記のように、自動的に判断情報を更新しても良い。
また、判断情報更新部18は、判断結果が「OK」であり、ユーザ判断結果が「NG」である場合のみ、ユーザ判断結果を尊重するように、上記のように、自動的に判断情報を更新しても良い。
以上の処理により、自動採点の判断結果と手動採点の判断結果が異なった場合に、採点装置1の自動採点の判断ロジックを調整することができる。
また、本実施の形態において、採点装置1は、文字の正誤判断の際に、構造点のみを抽出して、構造点のみを用いて、正誤判断を行っても良い。かかる場合、非常に高速に正誤判断が可能である。
また、本実施の形態によれば、特徴量(または判断情報)は、主として、ハネまたは文字の部分間の比率であった。しかし、他の特徴量(または判断情報)を適用しても良いことは言うまでもない。他の特徴量(または判断情報)とは、例えば、文字の部分間の距離である。なお、文字の部分とは、1以上のグループである。また、比率は、面積の比でなくとも良い。比率は、文字の部分の矩形の対角線の長さの比でも良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、正解の文字を示す正解文字情報であり、文字の骨格を構成する端点または分岐点または交点である構造点の情報である構造点情報を含む1以上の正解文字情報と、手書き入力された1以上の文字を含む画像である文字画像とを格納しており、コンピュータを、前記文字画像と前記正解文字情報とを比較し、前記手書き入力された文字列が正解か不正解かを示す判断結果を取得する判断部と、前記判断結果を出力する判断結果出力部と、前記判断結果出力部が判断結果を出力した後、前記手書き入力された文字列が正解か不正解かを示すユーザの判断結果であるユーザ判断結果を受け付ける受付部と、前記受付部が受け付けたユーザ判断結果を蓄積する判断結果蓄積部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記受付部は、ユーザ判断結果と判断理由を受け付け、前記判断結果蓄積部は、前記受付部が受け付けたユーザ判断結果と判断理由を蓄積するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記正解文字情報は、正解の文字列と正誤判断のための情報である判断情報とを有し、前記判断部における判断結果と前記受付部が受け付けたユーザ判断結果とが異なる場合、前記判断情報を更新する判断情報更新部をさらに具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記判断情報は、正解の文字を特徴付ける1以上の特徴量を有し、前記判断部は、1以上の特徴量を含む判断情報を用いて、文字画像に含まれる文字が不正解か否かを判断するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記判断部は、前記文字画像格納部に格納されている文字画像に含まれる各文字に対して、1以上の構造点を検出し、当該構造点の情報である構造点情報を、1以上取得する点情報取得手段と、前記文字画像に含まれる各文字に対応する正解文字情報に含まれる構造点情報と、前記点情報取得手段が取得した構造点情報とを比較し、文字画像に含まれる各文字が不正解か否かを判断する判断手段とを具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記正解文字情報は、文字の骨格を構成する端点または分岐点または交点である構造点の情報である構造点情報と、2つの構造点を結ぶ線であるエッジ上の点であり、閾値より曲がりの程度の大きい点である特徴点の情報である特徴点情報とを有し、前記点情報取得手段は、前記文字画像格納部に格納されている文字画像に含まれる各文字に対して、1以上の構造点情報を取得する構造点情報取得手段と、前記文字画像格納部に格納されている文字画像に含まれる各文字に対して、1以上の特徴点情報を取得する特徴点情報取得手段とを具備し、前記判断手段は、構造点情報と特徴点情報を異なる用い方により、前記構造点情報取得手段が取得した1以上の構造点情報および前記特徴点情報取得手段が取得した1以上の特徴点情報と、前記正解文字情報に含まれる1以上の構造点情報および1以上の特徴点情報とを比較し、文字画像に含まれる文字が不正解か否かを判断するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記判断手段は、前記構造点情報取得手段が取得した1以上の構造点情報と、前記正解文字情報に含まれる1以上の構造点情報を比較し、文字画像に含まれる文字が不正解か否かを判断する構造判断手段と、前記構造判断手段が文字画像に含まれる文字が不正解でないと判断した文字に対して、前記構造点情報取得手段が取得した1以上の構造点情報および前記特徴点情報取得手段が取得した1以上の特徴点情報と、前記正解文字情報に含まれる1以上の構造点情報および1以上の特徴点情報とを比較し、前記文字が不正解か否かを判断する特徴判断手段とを具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記特徴判断手段は、一文字に含まれる構造点および特徴点を、連結されている構造点または特徴点を有する1以上のグループに分割するグループ分割手段と、各グループごとに、前記構造点情報取得手段が取得した1以上の構造点情報および前記特徴点情報取得手段が取得した1以上の特徴点情報と、前記正解文字情報に含まれる1以上の構造点情報および1以上の特徴点情報とを比較し、前記文字が不正解か否かを判断するグループ特徴判断手段と、手書き入力された文字のグループ間のバランスを示す1以上の特徴量を取得する特徴量取得手段と、前記特徴量取得手段が取得した1以上の特徴量を用いて、前記文字が不正解か否かを判断するバランス判断手段とを具備するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記グループ特徴判断手段は、各グループごとに、前記構造点情報取得手段が取得した1以上の構造点情報および前記特徴点情報取得手段が取得した1以上の特徴点情報が示す各点に対応する点であり、前記正解文字情報に含まれる1以上の構造点情報または1以上の特徴点情報のうちのいずれかが示す点の情報である対応点情報を取得し、前記1以上の構造点情報および前記1以上の特徴点情報の各々が示す各点と、各対応点情報が示す各点との距離を算出し、前記距離の絶対値の和を算出し、当該距離の絶対値の和が閾値以上または閾値より大きい場合に、前記文字が不正解であると判断するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記特徴量取得手段は、手書き入力された文字の1以上のグループにより構成される文字の部分が占める面積の比率を特徴量として算出し、前記バランス判断手段は、正解の文字の1以上のグループにより構成される文字の部分が占める面積の比率を含む判断情報を取得し、前記特徴量取得手段が算出した特徴量と前記判断情報とから、前記文字が不正解か否かを判断するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記特徴量取得手段は、手書き入力された文字の各グループ間の距離を特徴量として算出し、前記バランス判断手段は、正解の文字のグループ間の距離を含む判断情報を取得し、前記特徴量取得手段が算出した特徴量と前記判断情報とから、前記文字が不正解か否かを判断するものとして、コンピュータを機能させることは好適である。
また、図23は、本明細書で述べたプログラムを実行して、上述した実施の形態の採点装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図23は、このコンピュータシステム340の概観図であり、図24は、コンピュータシステム340のブロック図である。
図23において、コンピュータシステム340は、FDドライブ、CD−ROMドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図24において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の採点装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の採点装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、ハードウェアによって行われる処理、例えば、モデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。