説明

検証装置、検証方法、検証プログラム及び作成装置

【課題】文字認識結果として得られた文字が正しいかを精度良く検証すること。
【解決手段】検証装置は、文字画像が入力されると、入力された文字画像に対して文字認識処理を実行する。また、検証装置は、第1の文字に対する文字認識処理にて誤認識した結果得られる可能性のある第2の文字と第1の文字とを区別する条件と、第1の文字及び第2の文字の各文字に関して、文字画像に含まれる文字の当文字画像内での大きさを示す情報と、当文字と近傍にある他の文字との関連性を示す情報と、当文字に対する文字認識処理の結果の確からしさを示す情報とのうち少なくともいずれか1つを含む属性値とを用いて、文字画像に含まれる文字の文字認識処理の結果が第1の文字である場合に結果の正誤を検証する検証式を作成する。また、検証装置は、文字認識処理の結果に第1の文字が含まれているかを識別し、含まれていると識別した場合に、作成した検証式を用いて検証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検証装置、検証方法、検証プログラム及び作成装置に関する。
【背景技術】
【0002】
従来、文字が記載された文書を光学的に画像データとして取得し、取得した画像データに含まれる文字を認識する文字認識装置がある。また、文字認識装置による文字認識処理の後、文字認識結果として得られた文字が正しいかを距離値を用いて検証する検証装置がある。なお、以下では、画像データを文字画像と称する。
【0003】
ここで、検証装置について更に説明する。検証装置は、文字ごとの特徴量が登録された辞書を有する。そして、検証装置は、文字画像に含まれる文字について算出した特徴量と、文字認識結果として得られた文字について辞書に予め登録されていた特徴量との間の距離を示す距離値を算出する。そして、検証装置は、距離値が小さいほど、距離値が大きい場合と比較して正しい確率が高いと検証する。なお、特徴量とは、例えば、文字線の傾き、文字面積等といった文字の形状に関するパラメータを示す。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−63784号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の検証装置では、検証結果の精度が悪いという課題があった。特に、他に形状が似ている文字がある類似文字について検証する場合に、検証結果の精度が悪かった。なお、類似文字とは、例えば、「l(エル)」と「1(いち)」、あるいは、「イ」と「ィ」などが該当する。
【0006】
例えば、文字画像に含まれる文字が「l(エル)」であり、文字認識結果として得られた文字が「1(いち)」である場合を例に用いて説明する。ここで、「l(エル)」と「1(いち)」とは形状が類似しており、「l(エル)」について算出された特徴量と、「1(いち)」について辞書に予め登録されていた特徴量との間の距離値が小さくなることがある。この場合、上述の検証装置は、正しい確率が高いと検証する。つまり、上述の検証装置は、文字認識結果として得られた文字が誤っていたとしても、正しい確率が高いと検証することがあった。
【0007】
開示の技術は、上記に鑑みてなされたものであって、文字認識結果として得られた文字が正しいかを精度良く検証可能な検証装置、検証方法、検証プログラム及び作成装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
開示する検証装置は、1つの態様において、文字画像が入力されると、入力された文字画像に対して文字認識処理を実行する文字認識部を備える。また、検証装置は、第1の文字に対する文字認識処理にて誤認識した結果得られる可能性のある第2の文字と前記第1の文字とを区別する条件と、前記第1の文字及び前記第2の文字の各文字に関して、文字画像に含まれる文字の当該文字画像内での大きさを示す情報と、当該文字と近傍にある他の文字との関連性を示す情報と、当該文字に対する文字認識処理の結果の確からしさを示す情報とのうち少なくともいずれか1つを含む属性値とを用いて、文字画像に含まれる文字の文字認識処理の結果が前記第1の文字である場合に前記結果の正誤を検証する検証式を作成する作成部を備える。また、検証装置は、前記文字認識部による文字認識処理の結果に前記第1の文字が含まれているかを識別し、含まれていると識別した場合に、前記作成部によって作成された検証式を用いて検証を行う検証部を備える。
【発明の効果】
【0009】
開示する検証装置の1つの態様によれば、文字認識結果として得られた文字が正しいかを精度良く検証可能であるという効果を奏する。
【図面の簡単な説明】
【0010】
【図1】図1は、実施例1に係る検証装置の構成の一例について説明するブロック図である。
【図2】図2は、実施例2に係る検証装置の構成の一例について説明するブロック図である。
【図3】図3は、実施例2における学習用データテーブルに記憶された情報の一例について説明する図である。
【図4】図4は、実施例2における最良統合論理式テーブルに記憶された情報の一例について説明する図である。
【図5】図5は、実施例2における表示画面の一例について説明する図である。
【図6−1】図6−1は、実施例2における最良論理式作成部による処理の全体像について説明する図である。
【図6−2】図6−2は、実施例2における最良論理式作成部による処理の全体像について説明する図である。
【図6−3】図6−3は、実施例2における最良論理式作成部による処理の全体像について説明する図である。
【図6−4】図6−4は、実施例2における最良論理式作成部による処理の全体像について説明する図である。
【図7−1】図7−1は、実施例2における一般化処理について説明する図である。
【図7−2】図7−2は、実施例2における一般化処理について説明する図である。
【図8】図8は、実施例2における評価値が最も高い論理式を選択する処理について説明する図である。
【図9−1】図9−1は、実施例2における最良統合論理式作成部による処理の全体像について説明する図である。
【図9−2】図9−2は、実施例2における最良統合論理式作成部による処理の全体像について説明する図である。
【図9−3】図9−3は、実施例2における最良統合論理式作成部による処理の全体像について説明する図である。
【図9−4】図9−4は、実施例2における最良統合論理式作成部による処理の全体像について説明する図である。
【図10】図10は、実施例2における最良統合論理式作成処理の流れの一例について説明するフローチャートである。
【図11】図11は、実施例2における最良論理式作成処理の流れの一例について説明するフローチャートである。
【図12】図12は、実施例2における一般化処理の流れの一例について説明するフローチャートである。
【図13】図13は、実施例2における評価値が最も高い論理式を選択する処理の流れの一例について説明するフローチャートである。
【図14】図14は、実施例2における検証処理の流れの一例について説明するフローチャートである。
【図15】図15は、実施例2に係る検証プログラムを実行するコンピュータの一例について説明する図である。
【発明を実施するための形態】
【0011】
以下に、開示の検証装置、検証方法、検証プログラム及び作成装置の実施例を図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0012】
図1を用いて、実施例1に係る検証装置100の構成の一例について説明する。図1は、実施例1に係る検証装置の構成の一例について説明するブロック図である。検証装置100は、図1に示す例では、作成部101と、文字認識部102と、検証部103とを有する。
【0013】
作成部101は、第1の文字に対する文字認識処理にて誤認識した結果得られる可能性のある第2の文字と第1の文字とを区別する条件と、属性値とを用いて、文字画像に含まれる文字の文字認識処理の結果が第1の文字である場合に結果の正誤を検証する検証式を作成する。ここで、属性値は、第1の文字及び第2の文字の各文字に関して、文字画像に含まれる文字の当文字画像内での大きさを示す情報と、当文字と近傍にある他の文字との関連性を示す情報と、当文字に対する文字認識処理の結果の確からしさを示す情報とのうち、少なくともいずれか1つを含む。
【0014】
文字認識部102は、文字画像が入力されると、入力された文字画像に対して文字認識処理を実行する。検証部103は、文字認識部による文字認識処理の結果に第1の文字が含まれているかを識別し、含まれていると識別した場合に、作成部101によって作成された検証式を用いて検証を行う。
【0015】
すなわち、検証装置100は、文字認識結果に誤認識しやすい文字が含まれている場合に、様々な情報を加味して予め作成した検証式を用いて、文字認識結果として得られた誤認識しやすい文字が文字認識結果として正しいかを検証する。この結果、実施例1に係る検証装置100によれば、文字認識結果として得られた文字が正しいかを精度良く検証可能である。
【実施例2】
【0016】
[実施例2に係る検証装置の構成]
実施例2に係る検証装置200について説明する。まず、図2を用いて、実施例2に係る検証装置200の構成の一例について説明する。図2は、実施例2に係る検証装置の構成の一例について説明するブロック図である。検証装置200は、図2に示す例では、入力部201と、表示部202と、記憶部300と、制御部400とを有する。
【0017】
入力部201は、制御部400と接続される。入力部201は、情報の入力を利用者から受け付け、受け付けた情報を制御部400に送る。入力部201は、キーボードやマウス、マイク、あるいは、文書の文字画像を取得するイメージスキャナやカメラなどが該当する。表示部202は、制御部400と接続される。表示部202は、制御部400から情報を受け付け、受け付けた情報を利用者に表示する。表示部202は、モニタ(若しくはディスプレイ、タッチパネル)などが該当する。
【0018】
なお、入力部201によって受け付けられる情報の詳細や、表示部202によって表示される情報の詳細については、ここでは説明を省略し、関係する各部について説明する際に併せて説明する。
【0019】
記憶部300は、制御部400と接続され、制御部400による各種処理に用いるデータを記憶する。記憶部300は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、又は、ハードディスクや光ディスクなどの記憶装置である。記憶部300は、図2に示す例では、学習用データテーブル301と、最良統合論理式テーブル302とを有する。
【0020】
学習用データテーブル301は、文字画像に含まれる文字を示す文字情報に対応付けて、文字画像に含まれていた文字に関する属性値を予め記憶する。具体的には、属性値は、文字画像に含まれる文字の文字画像内での大きさを示す情報や、近傍にある他の文字との関連性を示す情報や、文字画像に含まれる文字に対する文字認識処理の結果の確からしさを示す情報などを含む。
【0021】
なお、以下では、検証装置200は、学習用データテーブル301を有し、学習用データテーブル301が、予め情報を記憶している場合を例に説明する。しかしながら、本発明はこれに限定されるものではない。例えば、検証装置200は、学習用データテーブル301を有することなく、制御部400が処理を実行するごとに、利用者が属性値を検証装置200に入力しても良い。
【0022】
ここで、図3を用いて、学習用データテーブル301に記憶された情報の一例について更に説明する。図3は、実施例2における学習用データテーブルに記憶された情報の一例について説明する図である。図3に示す例では、文字画像に対して文字認識処理の結果として得られた文字を示す「認識結果」を併せて記憶する場合を例に示した。また、図3の「正解」は、文字画像に実際に含まれていた文字を示す。また、以下では、説明の便宜上、「正解」と「認識結果」と「属性値」との対応付けを「事例データ」と称する。
【0023】
また、図3に示す例では、「属性値」として、「座標」と「距離値」と「正読確率」と「形態素」と「バイグラム確率」と「行座標」とを記憶する場合を例に示した。ここで、「座標」や「行座標」は、文字画像に含まれる文字の文字画像内での大きさを示す情報である。また、「形態素」や「バイグラム確率」は、近傍にある(当該文字に隣接する)他の文字との関連性を示す情報である。また、「距離値」や「正読確率」は、文字画像に含まれる文字に対する文字認識処理の結果の確からしさを示す情報である。
【0024】
ここで、「距離値」や「正読確率」は、例えば、文字画像に対して文字認識処理を実行することで得られる。また、「座標」や「行座標」は、例えば、文字画像内における文字や行の位置識別することで得られる。また、「形態素」や「バイグラム確率」は、例えば、文字認識処理の結果得られた文字や文字列に対して、形態素解析やバイグラム確率を算出したりすることで得られる。
【0025】
ここで、「座標」は、文字画像における文字の位置を示す情報である。図3に示す例では、文字画像によって表される画像上に「x軸」と「y軸」とを設定した上で、「座標」として、文字データの左上の点を示す座標である「xs」「ys」と、文字データの右下の点を示す座標である「xe」「ye」とを用いる場合を示した。
【0026】
「距離値」は、文字画像に含まれる文字について算出した特徴量と、図2には図示していない辞書テーブル内にある特徴量のうち、文字認識処理の結果となった文字についての特徴量との距離を示す情報である。「距離値」は、特徴空間内における2つの特徴量間の距離が小さいほど、距離が大きい場合よりも文字認識結果の信頼度が高いことを示す。なお、辞書テーブルは、文字ごとの特徴量が登録されている。
【0027】
「正読確率」は、文字認識結果の確からしさを示す値である。「正読確率」は、値が高いほど、値が小さい場合と比較して文字認識結果が正しい確率が高いことを示す。また、「正読確率」は、値が小さいほど、値が高い場合と比較して文字認識結果が正しい確率が低いことを示す。
【0028】
「形態素」は、形態素解析の結果、形態素ごとに得られる品詞についての情報を示す。なお、形態素解析とは、文章を意味のある単語に区切り、辞書を利用して品詞を判別することを示す。例えば、「私は走った。」という文章に対して形態素解析を実行すると、「私=名詞」「は=助詞」「走っ=動詞」「た=助詞」「。=句読点」という解析結果が得られる。図3に示す例では、「形態素」は、辞書を利用して品詞が判別できなかった形態素を示す「未登録語」か、辞書を利用して品詞が判別できた形態素を示す「登録語」か、「記号」かのいずれかである場合を例に示した。図3に示す例では、形態素「1」は「記号」であることを示し、形態素「2」は「登録語」であることを示し、形態素「3」は「未登録語」であることを示す。
【0029】
なお、辞書を利用して品詞が判別できない場合とは、形態素解析にて区切られた単語が辞書に登録されていない場合が該当する。例えば、「フィンランド」という名詞が辞書に登録されていない場合には、「フィンランド」を形成する各文字の形態素は、「未登録語」になる。
【0030】
「バイグラム確率」は、言語的な確率のことであり、具体的には、文字「X1」の次に文字「X2」が出現する確率に関する値である。例えば、「フィンランド」を例に説明すると、「ィ」のバイグラム確率は、「ィ」の前に「フ」が出現する確率を示す。例えば、「大統領」という語句がよくでてくる場合を例に説明すると、「統」の前に「大」がでてくることを示すバイグラム確率は、「統」以外の文字である「武」の前に「大」がでてくることを示すバイグラム確率と比較して、値が高くなる。なお、図3に示す例では、バイグラム確率は、「頻度比率p」と「定数C」とを用いて、「log(p)*C」により算出される値を用いた。図3に示す例では、「バイグラム確率」は、「0」に近ければ近いほど、確率が大きいことを示す。なお、「頻度比率p」は、文字「X1」の次に文字「X2」が出現する確率を示す。
【0031】
「行座標」は、文字画像に実際に含まれていた文字が属する行の位置を示す情報である。図3に示す例では、「行座標」として、文字画像に実際に含まれていた文字が属する行の左上の点を示す座標である「xs0」「xe0」と、行の右下の点を示す座標である「ys0」「ye0」とを用いる場合を示した。
【0032】
ここで、図3を用いて、学習用データテーブル301に記憶された情報の具体的な一例について更に説明する。図3に示す例では、文字画像に「カーディオバイク(運動」が含まれていた場合を例に示した。すなわち、図3の「正解」に示すように、学習用データテーブル301には、「カーディオバイク(運動」に含まれる文字や記号それぞれについて、文字認識処理を行うことで得られた情報を記憶する。より詳細には、図3に示すように、学習用データテーブル301は、正解「カ」について、認識結果「カ」を記憶し、「座標」として、xs「711」ys「2061」xe「747」ye「2101」を記憶する。つまり、学習用データテーブル301は、文字画像に文字「カ」が含まれ、文字認識処理の結果として得られた文字「カ」を記憶する。また、学習用データテーブル301は、文字画像に含まれる文字「カ」の左上の点の座標がxs「711」ys「2061」であり、「カ」の右下の点の座標がxe「747」ye「2101」であることを記憶する。
【0033】
また、例えば、学習用データテーブル301は、正解「カ」について、距離値「666」と、正読確率「984」と、形態素「2」と、バイグラム確率「-548112」とを記憶する。また、例えば、学習用データテーブル301は、正解「カ」について、「行座標」として、xs0「706」ys0「68」xe0「774」ye0「2266」を記憶する。つまり、学習用データテーブル301は、文字画像に含まれる文字「カ」が属する行の左上の点を示す座標がxs0「706」ys0「68」であり、行の右下の点を示す座標がxe0「774」ye0「2266」であることを記憶する。また、学習用データテーブル301は、同様に、「カ」以降の「正解」についても属性値を記憶する。
【0034】
最良統合論理式テーブル302は、図4に示すように、「類似文字の組み合わせ」ごとに最良統合論理式を記憶する。なお、図4は、実施例2における最良統合論理式テーブルに記憶された情報の一例について説明する図である。「類似文字の組み合わせ」は、文字認識処理において誤認識される傾向のある文字の組み合わせを示し、図4に示すように、「対象とする文字」と「誤認識しやすい文字」とを含む。ここで、「対象とする文字」は、文字認識処理の対象となる文字を示し、「誤認識しやすい文字」は、「対象とする文字」に対する文字認識処理にて誤認識した結果に得られる可能性のある文字を示す。ここで、「誤認識しやすい文字」は、対象とする文字と形状が似ている文字が該当する。なお、対象とする文字は、「第1の文字」とも称し、誤認識しやすい文字は、「第2の文字」とも称する。
【0035】
例えば、文字画像に実際に含まれていた文字「イ」である場合に、「ィ」と誤認識されやすい場合を例に説明する。この場合、「類似文字の組み合わせ」は、対象とする文字「イ」と誤認識しやすい文字「ィ」とを含む。なお、他に、「類似文字の組み合わせ」としては、「l(エル)」と「1(いち)」との組み合わせなどがある。
【0036】
図4に示す例では、最良統合論理式テーブル302は、文字「イ」に対応付けて最良統合論理式「(F5(U=0.9)orF6(U=0.64))and(F5(U=0.76)orF6(U=0.64)orF2(U=2))and(F5(U=0.9)orF7(U=0.23))and(F5(U=0.76)orF7(U=0.23)orF2(U=2))」を記憶する。なお、最良統合論理式の詳細については、後述するため、ここでは説明を省略する。最良統合論理式は、「検証式」とも称する。
【0037】
最良統合論理式テーブル302は、後述するように、制御部400の最良統合論理式作成部404によって類似文字の組み合わせや最良統合論理式情報が格納される。また、最良統合論理式テーブル302に記憶された最良統合論理式は、制御部400の検証部406によって用いられる。
【0038】
制御部400は、入力部201、表示部202及び記憶部300と接続される。また、制御部400は、各種の制御手順などを規定したプログラムを記憶する内部メモリを有し、種々の制御処理を実行する。制御部400は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などである。
【0039】
また、制御部400は、機能部として、図2に示す例では、受付制御部401と、学習用データ取得部402と、最良論理式作成部403と、最良統合論理式作成部404と、文字認識部405と、検証部406とを有する。
【0040】
受付制御部401は、入力部201を介して、類似文字の組み合わせや条件を利用者から受け付ける。ここで、「条件」は、対象とする文字に対する文字認識処理にて誤認識した結果得られる可能性のある誤認識しやすい文字を対象とする文字と区別するものである。例えば、受付制御部401は、図5に示すような表示画面を表示部202にて表示する。そして、受付制御部401は、図5に示すような表示画面を介して、利用者から類似文字の組み合わせや条件を受け付ける。なお、図5は、実施例2における表示画面の一例について説明する図である。
【0041】
ここで、図5において、フィールド501は、対象とする文字の入力を受け付けるフィールドを示し、フィールド502は、誤認識しやすい文字の入力を受け付けるフィールドを示す。また、フィールド501やフィールド502に示す例では、対象とする文字として「イ」が入力されており、誤認識しやすい文字として「ィ」が入力されている場合を例に示した。また、フィールド503は、条件を入力する際に用いる定義を受け付けるフィールドである。フィールド503に示す例では、例えば、正読確率を表す定義は「c」となっている場合を例に示した。また、図5のフィールド504は、条件の入力を受け付けるフィールドを示す。フィールド504に示す例では、条件F1〜条件F7になる。
【0042】
ここで、図5に示した条件F1〜条件F7について簡単に説明する。なお、条件F1〜条件F7は、対象とする文字が「イ」であり、誤認識しやすい文字が「ィ」である場合に、利用者が入力した条件の一例である。以下では、条件F1〜条件F7を用いて説明するが、本発明はこれに限定されるものではなく、条件F1〜条件F7以外の条件を利用者が任意に設定して良い。
【0043】
条件F1は、「c>U」である。条件F1は、認識結果が正しければ、検証対象となる文字画像から得られた正読確率が所定の値以上であることを示す。条件F1は、認識結果が正しい可能性が高ければ高いほど、正読確率が高くなることを踏まえての条件である。ここで、条件F1の「c」には、検証対象となる文字画像から得られた正読確率が代入される。なお、「U」は、不定値であり、後述する最良論理式作成部403によって、属性値を用いて決定される。
【0044】
条件F2は、「m=U」である。条件F2は、認識結果が正しければ、検証対象となる文字画像から得られた形態素が所定の形態素になること示す。条件F2は、認識結果が正しければ、認識結果となる文字についての形態素解析結果が「登録語」「未登録語」「記号」のうち所定の1つになることを踏まえての条件である。「U」には、「登録語」か「未登録語」か「記号」のうちいずれかを示す値が用いられる。ここで、条件F2の「m」には、検証対象となる文字画像から得られた形態素を示す値が代入される。
【0045】
条件F3は、「dist(Y)−dist(X)>U」である。条件F3は、認識結果が正しければ、検証対象となる文字画像から得られた対象とする文字についての距離値の方が、誤認識しやすい文字に対する距離値よりも小さいことを示す。条件F3は、認識結果が正しければ、対象とする文字についての距離値が、誤認識しやすい文字についての距離値よりも小さくなることを踏まえての条件である。
【0046】
条件F1〜条件F3については、対象とする文字が「イ」であり、誤認識しやすい文字が「ィ」である場合に必ずしも限定されることなく、用いることが可能な条件である。また、条件F4〜条件F7については、文字のサイズに違いがある場合に有効な条件である。例えば、文字のサイズに違いがある場合の例としては、対象とする文字が「イ」であり、誤認識しやすい文字が「ィ」である場合などがある。
【0047】
条件F4は、「b(X)−b(Y)>U」である。条件F4は、認識結果が正しければ、検証対象となる文字画像から得られたバイグラム確率の方が、「ィ」のバイグラム確率よりも大きいことを示す。条件F4は、「イ」の方が「ィ」よりも使用頻度が高く、「イ」のバイグラム確率が「ィ」のバイグラム確率よりも大きくなることを踏まえての条件である。
【0048】
条件F5は、「(ye−ys+1)/(ye0−ys0+1)>U」である。条件F5は、認識結果が正しければ、検証対象となる文字画像から得られた行座標のy軸上における間隔を分母とし、検証対象となる文字画像から得られた座標のy軸上における間隔を分子とした値が、所定の値以上であることを示す。条件F5は、「イ」の方が「ィ」よりも高さが大きい文字であり、「イ」の高さを行の高さで割った値は、「ィ」の高さを行の高さで割った値よりも大きくなることを踏まえての条件である。
【0049】
条件F6は、「(xe−xs+1)/(xe0−xs0+1)>U」である。条件F6は、認識結果が正しければ、検証対象となる文字画像から得られた行座標のx軸上における間隔を分母とし、検証対象となる文字画像から得られた座標のx軸上における間隔を分子とした値が、所定の値以上であることを示す。条件F6は、「イ」の方が「ィ」よりも幅が大きい文字であり、「イ」の幅を行の幅で割った値は、「ィ」の幅を行の幅で割った値よりも大きくなることを踏まえての条件である。
【0050】
条件F7は、「(ys−ys0+1)/(ye0−ys0+1)>U」である。条件F7は、認識結果が正しければ、検証対象となる文字画像から得られた行座標のy軸上における間隔を分母とし、座標の右上の点から行座標の右上の点までのy軸上の距離を分子とした値が、所定の値以上であることを示す。条件F7は、「イ」の方が「ィ」よりも高さが大きい文字であり、行の上辺から「イ」までの距離は、行の上辺から「ィ」までの距離よりも大きいことを踏まえての条件である。
【0051】
学習用データ取得部402は、類似文字の組み合わせに関係する事例データを学習用データテーブル301から取得する。例えば、対象とする文字が「X」であり、誤認識しやすい文字が「Y」である場合を例に説明する。この場合、学習用データ取得部402は、学習用データテーブル301に記憶された事例データのうち、下記の(A)〜(D)に該当する事例データを取得する。
(A)正解が「X」、認識結果が「X」である事例データ
(B)正解が「X」、認識結果が「Y」である事例データ
(C)正解が「Y」、認識結果が「Y」である事例データ
(D)正解が「Y」、認識結果が「X」である事例データ
【0052】
対象とする文字が「イ」であり、誤認識しやすい文字が「ィ」である場合を例に、更に説明する。学習用データ取得部402は、正解が「イ」であり認識結果が「イ」である事例データ(A)と、正解が「イ」であり認識結果が「ィ」である事例データ(B)とを取得する。また、学習用データ取得部402は、正解が「ィ」であり認識結果が「ィ」である事例データ(C)と、正解が「ィ」であり認識結果が「イ」である事例データ(D)とを取得する。つまり、学習用データ取得部402は、正解が「イ」か「ィ」であり、認識結果が「イ」か「ィ」である事例データ各々を取得する。
【0053】
なお、以下では、説明の便宜上、事例データ(A)の集合を「集合A」と称し、事例データ(B)の集合を「集合B」と称する。また、「集合A」と「集合B」との和集合を「集合SX」と称する。また、事例データ(C)の集合を「集合C」と称し、事例データ(D)の集合を「集合D」と称する。また、「集合C」と「集合D」との和集合を「集合SY」と称する。
【0054】
最良論理式作成部403は、利用者によって入力された条件と事例データとを用いて、対象とする文字が正解となる事例データごとに、対象とする文字と誤認識しやすい文字とを区別する論理式を作成する。ここで、図6−1〜図6−4を用いて、最良論理式作成部403による処理の全体像について説明する。なお、図6−1〜図6−4は、実施例2における最良論理式作成部403による処理の全体像について説明する図である。
【0055】
図6−1〜図6−4においては、各事例データに含まれる属性値をプロットがされている。具体的には、図6−1〜図6−4の「C」は、対象とする文字が正解となる事例データを示す。例えば、図6−1〜図6−4の「C」は、正解が「X」の事例データを示し、「集合SX」に含まれる事例データ各々が該当する。また、図6−1〜図6−4の「E」は、誤認識しやすい文字が正解となる事例データを示す。例えば、図6−1〜図6−4の「E」は、正解が「Y」の事例データを示し、「集合SY」に含まれる事例データ各々が該当する。
【0056】
ここで、図6−1は、「集合SX」や「集合SY」に含まれる事例データの一例を示す。ここで、図6−1の「矢印」に示すように、最良論理式作成部403は、「集合SX」に含まれる事例データを1つ選択する。つまり、最良論理式作成部403は、図6−1の「C」を1つ選択する。そして、図6−2のグループ10に示すように、最良論理式作成部403は、選択した事例データを満たす論理式を作成する。そして、図6−3のグループ11〜13に示すように、最良論理式作成部403は、作成した論理式に対して一般化処理を実行することで、図6−2のグループ10で示した論理式よりも条件を緩めた複数の論理式を作成する。そして、図6−4のグループ14に示すように、最良論理式作成部403は、一般化処理を実行することで作成した複数の論理式のうち、評価値が最も高い論理式を1つ選択する。また、最良論理式作成部403は、「集合SX」に含まれる事例データそれぞれについて、図6−1から図6−4にて説明した処理を実行する。なお、一般化処理を実行することで作成された論理式を「除外条件式」とも称する。また、選択された論理式を「高評価除外条件式」とも称する。なお、評価値の詳細については後述する。
【0057】
以下では、最良論理式作成部403による処理のうち、図6−2に示した論理式を作成する処理と、図6−3に示した一般化処理により複数の論理式を作成する処理と、図6−4に示した評価値が最も高い論理式を1つ選択する処理とについて、更に説明する。
【0058】
図6−2に示した論理式を作成する処理について更に説明する。論理式を作成する処理について説明する際には、条件F1〜条件F7を例に説明する。また、例えば、事例データは、座標「(633、178)、(666、223)」、距離値「538」、正読確率「778」、形態素「2」、バイグラム確率「-1489414」、行座標「(614、64)、(688、2278)」である場合を例に用いる。また、例えば、「ィ」の距離値が「789」であり、バイグラム確率が「-2509827」であるものとして説明する。なお、「ィ」の距離値やバイグラム確率は、「ィ」が正解となる事例データに含まれる距離値やバイグラム確率を用いる。また、条件F5〜条件F7については、縦書き用に変換した上で用いる場合を例に用いる。つまり、縦書き用の条件F5〜条件F7は、下記のようになる。
縦書き用の条件F5 「(ye−ys+1)/(xe0−xs0+1)>U」
縦書き用の条件F6 「(xe−xs+1)/(xe0−xs0+1)>U」
縦書き用の条件F7 「(xs−xs0+1)/(xe0−xs0+1)<U」
【0059】
ここで、最良論理式作成部403は、事例データに含まれる属性値と条件とを用いて、属性値に関する等式や不等式を作成する。例えば、事例データの形態素は「2」であり、「イ」であれば形態素が「2」であることが多いことを踏まえ、最良論理式作成部403は、条件F2について、「m=U」の「U」を「2」に設定する。この結果、最良論理式作成部403は、条件F2について「m=2」という等式を作成する。また、最良論理式作成部403は、同様に、その他の条件についても「U」を設定することで、等式や不等式を作成する。
【0060】
また、最良論理式作成部403は、作成した等式や不等式をand条件で結合することで、選択した事例データについての論理式を作成する。例えば、条件F2について作成した「m=2」という等式や、他の条件について作成された等式や不等式をand条件で結合する。この結果、最良論理式作成部403は、論理式として下記の(論理式1)を作成する。
【0061】
(論理式1)「(c>778) and (m=2) and (dist(Y)-dist(X)>789-538) and (b(X)-b(Y)>-1489414+2509827) and ((ye-ys+1)/(xe0-xs0+1)>46/75) and ((xe-xs+1)/(xe0-xs0+1)>34/75) and ((xs-xs0+1)/(xe0-xs0+1)<20/75)」
【0062】
なお、(論理式1)は、下記の(論理式2)のように記載しても良い。
(論理式2)「F1(U=778) and F2(U=2) and F3(U=789-538) and F4(U=-1489414+2509827) and F5(U=46/75)) and F6(U=34/75) and F7(U=20/75)」
【0063】
次に、図6−3に示した一般化処理により複数の論理式を作成する処理について説明する。一般化処理とは、論理式を形成する構成要素を徐々に取り除くことによって条件を緩め、より一般的な論理式を作成する処理である。具体的には、最良論理式作成部403は、論理式を形成する構成要素を組み合わせ的に減らしていくことにより、より一般的な論理式を作成する。なお、構成要素とは、論理式に含まれる等式や不等式を示す。
【0064】
ここで、何らルールを設定することなく構成要素を減らすと、作成される論理式の数が組み合わせ爆発を起こすことを踏まえ、以下では、最良論理式作成部403が、評価値が上位3個の論理式に限定して段階的に構成要素を減らす手法を例に説明する。なお、以下に説明する手法は「ビーム探索」と称する。なお、以下では、「ビーム探索」を用いる場合を例に説明するが、本発明はこれに限定されるものではなく、他の公知の手法を用いても良い。なお、以下では、上位3個の論理式に限定する場合を例に説明するが、本発明はこれに限定されるものではなく、利用者が任意の値に設定して良い。
【0065】
では、一般化処理について、図6−2にて作成された論理式から構成要素を1つ減らす場合を例に説明する。図7−1は、実施例2における一般化処理について説明する図である。ここで、図7−1の「601」は、図6−2にて作成された論理式を示す。また、図7−1の「1」〜「7」は、それぞれ、最良論理式作成部403が作成した等式や不等式を示す。
【0066】
ここで、図7−1の「602」に示す例では、最良論理式作成部403は、図7−1の「601」に示す論理式を形成する構成要素のうちいずれか1つを減らすことで、「7」個の論理式を作成する。なお、図7−1の「602」の「×」は、一般化処理によって減らされた構成要素を示す。そして、図7−1の「603」に示すように、最良論理式作成部403は、図7−1の「602」の論理式のうち、評価値が高い上位「3」個に入る論理式を選択する。なお、評価値が高い論理式を選択する処理については、図6−4にて説明する処理と同様であり、後述するためここでは説明を省略する。
【0067】
次に、図7−2を用いて、図6−2にて作成された論理式から構成要素を1つ減らした後に、更に1つ構成要素を減らす場合を例に説明する。図7−2は、実施例2における一般化処理について説明する図である。ここで、図7−2の「604」は、図7−2の「603」にて選択された論理式を示す。また、図7−2の「1」〜「7」は、それぞれ、最良論理式作成部403が作成した等式や不等式を示す。
【0068】
ここで、図7−2の「604」に示すように、最良論理式作成部403は、図7−1の「603」に示した「3」個の論理式を、一般化処理の対象とする。具体的には、最良論理式作成部403は、図7−2の「604」に示す「3」個の論理式それぞれについて、論理式の構成要素のうちいずれか1つを減らす。この結果、図7−2の「605」に示す例では、最良論理式作成部403は、「18」個の論理式を作成する。そして、図7−2の「606」に示すように、最良論理式作成部403は、図7−2の「605」の論理式のうち、評価値が高い上位「3」個に入る論理式を選択する。なお、評価値が高い論理式を選択する処理については、図6−4にて説明する処理と同様であり、後述するためここでは説明を省略する。
【0069】
また、最良論理式作成部403は、同様の処理を繰り返すことで、図6−2にて作成された論理式から構成要素を段階的に減らし、複数の論理式を作成する。なお、一般化処理の詳細な流れの一例については、図12を用いて後述するため、ここでは説明を省略する。
【0070】
次に、図6−4に示した評価値が最も高い論理式を1つ選択する処理について、図8を用いて説明する。図8は、実施例2における評価値が最も高い論理式を選択する処理について説明する図である。図8の「701」は、最良論理式作成部403によって作成された論理式を示す。例えば、図8の「701」に示す例では、図8の「S0」は、構成要素が1つも減らされていない論理式を示し、図8の「S1」は、構成要素が1つ減らされた論理式を示す。
【0071】
ここで、図8の「702」に示すように、最良論理式作成部403は、図8の「701」に示す論理式のうち最も評価値の高い論理式を選択する。具体的には、最良論理式作成部403は、論理式が満たすべき事例データの数(正事例数)と、満たすべきでない事例データの数(負事例数)と、論理式を形成する構成要素数とを用いて、評価値を決定する。ここで、「正事例数」は、「集合SX」に含まれる事例データを何個説明したかを示す。例えば、図6−4に示す例では、「正事例数」は、「3」個になる。「負事例数」は、「集合SY」に含まれる事例データを何個満たしたかを示す。例えば、図6−4に示す例では、「負事例数」は、「0」個になる。また、「構成要素数」は、and条件やor条件を用いて連結された「認識結果の属性に関する等式や不等式」の数を示す。例えば、図8の「702」に示す論理式では、「6」になる。
【0072】
ここで、最良論理式作成部403は、負事例数が少なければ少ないほど、負事例数が多い論理式よりも評価値が高いと判定する。また、最良論理式作成部403は、正事例数が多ければ多いほど、正事例数が少ない論理式よりも評価値が高いと判定する。また、最良論理式作成部403は、構成要素数が多ければ多いほど、構成要素数が少ない論理式よりも評価値が高いと判定する。そして、最良論理式作成部403は、評価値が最も高いと判定した論理式を論理式として選択する。なお、以下では、最良論理式作成部403によって評価値が最も高いと判定された論理式を「最良論理式」と称する。
【0073】
上述のように、最良論理式作成部403は、「集合SX」に含まれる事例データそれぞれについて、図6−1から図6−4にて説明した処理を実行する。この結果、最良論理式作成部403は、「集合SX」に含まれる事例データそれぞれについて、最良論理式を作成する。
【0074】
図2の説明に戻る。最良統合論理式作成部404は、最良論理式各々を用いて、対象とする文字が正解となる事例データすべてを説明する論理式である最良統合論理式を作成する。ここで、図9−1〜図9−4を用いて、最良統合論理式作成部404による処理の全体像について説明する。なお、図9−1〜図9−4は、実施例2における最良統合論理式作成部による処理の全体像について説明する図である。
【0075】
図9−1〜図9−4においては、各事例データに含まれる属性値をプロットがされている。具体的には、図9−1〜図9−4の「C」は、対象とする文字が正解となる事例データを示す。例えば、図9−1〜図9−4の「C」は、正解が「X」の事例データを示し、「集合SX」に含まれる事例データ各々が該当する。また、図9−1〜図9−4の「E」は、誤認識しやすい文字が正解となる事例データを示す。例えば、図9−1〜図9−4の「E」は、正解が「Y」の事例データを示し、「集合SY」に含まれる事例データ各々が該当する。
【0076】
ここで、最良統合論理式作成部404は、最も評価値が高い最良論理式を選択する。例えば、図9−1のグループ21で表した最良統合論理式を選択する。そして、最良統合論理式作成部404は、被覆チェックを行う。具体的には、最良統合論理式作成部404は、選択した最良論理式によって説明されない(被覆されない)事例データがあるかを判定する。ここで、被覆チェックにおいて対象となる事例データは、対象とする文字が正解となる事例データである。最良統合論理式作成部404は、あると判定した場合には、図9−2の「矢印」に示すように、被覆されなかった事例データを1つ選択し、図9のグループ22に示すように、選択した事例データについての最良論理式を選択する。また、最良統合論理式作成部404は、図9−1と図9−2とにおいて選択した最良論理式をor条件にて結合する。そして、図9−3のグループ23やグループ24に示すように、最良統合論理式作成部404は、結合した論理式に対して一般化処理を実行することで、複数の論理式を作成する。そして、図9−4のグループ25に示すように、最良論理式作成部403は、一般化処理を実行することで作成した複数の論理式のうち、評価値が最も高い論理式を1つ選択する。なお、最良統合論理式作成部404によって選択された最も評価値が高い最良論理式を「高評価条件式」とも称する。
【0077】
また、最良統合論理式作成部404は、選択した論理式によって説明されない事例データがあるかを判定し、あると判定した場合には、図9−2〜図9−4を用いて説明した処理を繰り返す。一方、最良統合論理式作成部404は、選択した論理式によって説明されない事例データがないと判定した場合には、選択した論理式を「最良統合論理式」とする。この結果、最良統合論理式作成部404は、対象とする文字が正解となる事例データすべてを説明する最良統合論理式を「1」個作成する。
【0078】
なお、ここで、最良統合論理式作成部404による一般化処理は、最良論理式作成部403によって行われる処理と同様であり、詳細な説明については省略する。また、最良統合論理式作成部404による評価値が最も高い論理式を1つ選択する処理は、最良論理式作成部403によって行われる処理と同様であり、詳細な説明については省略する。
【0079】
上述したように、最良論理式作成部403と最良統合論理式作成部404とは、協働することで、条件や、第1の文字や第2の文字についての属性値を用いて、文字認識処理の結果が第1の文字である場合に結果の正誤を検証する検証式を作成する。
【0080】
文字認識部405は、文字画像を入力部201から受け付けると、受け付けた文字画像に対して文字認識処理を実行し、文字画像に含まれる文字を文字コードとして認識する。そして、文字認識部405は、文字画像のうち、文字が含まれている部分の文字画像から特徴量を算出し、算出した特徴量との類似度が最も高い文字を辞書テーブルから読み出し、文字認識結果とする。
【0081】
検証部406は、検証部406は、文字認識部405による文字認識結果に、最良統合論理式テーブル302に記憶された対象とする文字が含まれているかを識別する。例えば、検証部406は、文字認識結果に「イ」が含まれているかを識別する。そして、検証部406は、含まれていると識別すると、文字認識結果に含まれていた対象とする文字を検索キーとして、最良統合論理式テーブル302から最良統合論理式を読み出し、読み出した最良統合論理式を用いて検証を行う。
【0082】
検証部406による検証処理について、更に詳細に説明する。検証部406は、最良統合論理式テーブル302から読み出した最良統合論理式が、文字認識結果として得られた対象とする文字に関する属性値を満たすかを判定する。そして、検証部406は、満たすと判定した場合には、正しい可能性が高いと判定し、満たさないと判定した場合には、誤っている可能性が高いと判定する。
【0083】
ここで、検証部406は、対象とする文字に関する属性値として、例えば、文字認識部405が文字認識処理の過程において算出した属性値を使用し、あるいは、対象とする文字に関する属性値を自ら算出した上で使用する。以下に、検証部406が属性値を算出する手法の一例について簡単に説明する。なお、検証部406が属性値を算出する手法については以下に説明する手法に限定されるものではなく、その他の公知の手法や利用者が任意に設定した手法を用いて良い。
【0084】
例えば、「座標」や「行座標」を算出する場合には、検証部406は、文字画像における文字や行の座標を識別する。例えば、検証部406は、文字の左上の点を示す座標と文字の右下の点を示す座標とを識別し、行の左上の点を示す座標と行の右下の点を示す座標とを識別する。
【0085】
また、例えば、「距離値」を算出する場合には、検証部406は、文字画像に含まれる文字について特徴量を算出する。また、検証部406は、辞書テーブル内にある特徴量のうち、文字認識処理の結果となった文字についての特徴量を取得する。そして、検証部406は、算出した特徴量と取得した特徴量との距離を算出することで、距離値を算出する。
【0086】
また、例えば、「正読確率」を算出する場合には、検証部406は、文字画像に含まれる文字について特徴量を算出する。また、検証部406は、辞書テーブル内にある特徴量のうち、算出した特徴量から1番目に近い特徴量と、算出した特徴量から2番目に近い特徴量とを取得する。なお、ここで、算出した特徴量から1番目に近い特徴量は、文字認識処理の結果となった文字についての特徴量になる。そして、検証部406は、算出した特徴量と、算出した特徴量から1番目に近い特徴量との間の距離値「d1」を算出する。また、検証部406は、算出した特徴量と、算出した特徴量から2番目に近い特徴量との間の距離値「d2」を算出する。そして、検証部406は、距離値「d1」が距離値「d2」と比べて小さければ小さいほど高い値を算出し、距離値「d1」が距離値「d2」と比べて大きければ大きいほど小さい値を算出することで、正読確率を算出する。つまり、距離値「d1」が距離値「d2」と比較して小さければ小さいほど、文字画像に含まれる文字について特徴量が、文字認識処理の結果となった文字以外の文字とは離れていることを示すので、正読確率が高くなる。
【0087】
また、例えば、「バイグラム確率」を算出する場合には、検証部406は、「頻度比率p」と「定数C」とを用いて、「log(p)*C」を計算することで算出する。また、例えば、「形態素」を算出する場合には、検証部406は、文字認識処理の結果得られた文字列に対して形態素解析を実行することで文章を意味のある単語に区切り、辞書を利用して品詞を判別することで算出する。
【0088】
また、検証部406は、文字認識結果を表示部202から表示する。また、検証部406は、誤っている可能性が高いとの検証結果が得られた文字について、他の文字とは異なる様態にて表示部202から表示する。例えば、検証部406は、文字認識結果として得られた文字のうち、誤っている可能性が高いと判定した文字について、他の認識文字とは違う色を用いて表示する。
【0089】
なお、検証装置200は、既知のパーソナルコンピュータ、ワークステーション、サーバ、携帯電話、PHS(Personal Handyphone System)端末、移動体通信端末又はPDA(Personal Digital Assistant)などの情報処理装置を利用して実現しても良い。例えば、PDAなどの情報処理装置に、図2に示した学習用データテーブル301と、最良統合論理式テーブル302との各機能を搭載する。また、PDAなどの情報処理装置に、受付制御部401と、学習用データ取得部402と、最良論理式作成部403と、最良統合論理式作成部404と、文字認識部405と、検証部406との各機能を搭載することによって実現しても良い。
【0090】
例えば、サーバとしての検証装置200は、条件や類似文字の組み合わせをクライアントから受け付けると、最良統合論理式を作成した上で、クライアントに返信しても良い。またサーバとしての検証装置200は、クライアントから文字認識結果を受け付けると、検証式を用いた検証を実行した上で、検証結果をクライアントに返信しても良い。
【0091】
[実施例2に係る検証装置による処理]
次に、実施例2に係る検証装置200による処理について説明する。以下では、特に言及しない限り、対象とする文字が「イ」であり、と誤認識しやすい文字が「ィ」である場合を例に説明する。
【0092】
[最良統合論理式作成処理]
まず、図10を用いて、実施例2における最良統合論理式作成処理の流れの一例について説明する。図10は、実施例2における最良統合論理式作成処理の流れの一例について説明するフローチャートである。
【0093】
図10に示すように、受付制御部401が、類似文字の組み合わせと条件とを受け付けると(ステップS101肯定)、学習用データ取得部402は、類似文字の組み合わせに関係する事例データを学習用データテーブル301から取得する(ステップS102)。例えば、学習用データ取得部402は、正解が「イ」か「ィ」であり、認識結果が「イ」か「ィ」である事例データ各々を取得する。
【0094】
そして、最良論理式作成部403は、対象とする文字が正解となる事例データごとに、最良論理式を作成する(ステップS103)。なお、最良論理式を作成する処理の流れの詳細な一例については、図11を用いて後述するため、ここでは説明を省略する。
【0095】
そして、最良統合論理式作成部404は、対象とする文字が正解となる事例データごとに作成された最良論理式のうち、最も評価値が高い最良論理式を選択する(ステップS104)。そして、最良統合論理式作成部404は、被覆チェックを行う(ステップS105)。具体的には、最良統合論理式作成部404は、選択した最良論理式によって説明されない(被覆されない)事例データがあるかを判定する。
【0096】
ここで、最良統合論理式作成部404は、選択した最良論理式によって説明されない(被覆されない)事例データがあると判定した場合には(ステップS106肯定)、被覆されなかった事例データについての最良論理式をor条件で統合する(ステップS107)。つまり、最良統合論理式作成部404は、被覆されなかった事例データを選択し、選択した事例データについての最良論理式と、上述のステップS105にて被覆チェックの対象とした最良論理式とをor条件にて結合する。
【0097】
そして、最良統合論理式作成部404は、or条件にて結合することで作成した論理式に対して一般化処理を実行する(ステップS108)。この結果、最良統合論理式作成部404は、一般化処理を実行することで、複数の論理式を作成する。なお、一般化処理の流れの詳細な一例については、図13を用いて説明するため、ここでは説明を省略する。
【0098】
そして、最良統合論理式作成部404は、評価値の最も高い論理式を選択する(ステップS109)。すなわち、最良統合論理式作成部404は、一般化処理を実行することで作成した複数の論理式のうち、評価値の最も高い論理式を選択する。なお、評価値の最も高い論理式を選択する処理の詳細な流れの一例については、図12を用いて後述するため、説明を省略する。
【0099】
そして、最良統合論理式作成部404は、選択した論理式について、被覆チェックを行う(ステップS105)。また、最良統合論理式作成部404は、選択した最良論理式によって説明されない(被覆されない)事例データがないと判定するまで(ステップS106否定)、上述のステップS105〜ステップS108を繰り返す。
【0100】
一方、上述のステップS106において、最良統合論理式作成部404が、選択した最良論理式によって説明されない(被覆されない)事例データがないと判定した場合について説明する(ステップS106否定)。この場合、最良統合論理式作成部404は、被覆チェックの対象となった論理式を「最良統合論理式」として選択し、対象とする文字と対応付けて最良統合論理式テーブル302に格納する(ステップS110)。
【0101】
[最良論理式作成処理]
次に、図11を用いて、実施例2における最良論理式作成処理の流れの一例について説明する。図11は、実施例2における最良論理式作成処理の流れの一例について説明するフローチャートである。なお、図11を用いて説明する処理の流れは、図10におけるステップS103に対応する。
【0102】
図11に示すように、最良論理式作成部403は、対象とする文字が正解となる事例データを1つ選択する(ステップS201)。例えば、最良論理式作成部403は、「イ」が正解となる事例データを1つ選択する。そして、最良論理式作成部403は、選択した事例データを満たす論理式を作成する(ステップS202)。例えば、最良論理式作成部403は、利用者によって入力された条件それぞれについて、選択した属性値を用いて等式又は不等式を作成し、条件それぞれについて作成したて等式又は不等式をand条件にて結合することで、論理式を作成する。
【0103】
そして、最良論理式作成部403は、and条件にて結合することで作成した論理式に対して一般化処理を実行する(ステップS203)。この結果、最良論理式作成部403は、一般化処理を実行することで、複数の論理式を作成する。なお、一般化処理の流れの詳細な一例については、図13を用いて説明するため、ここでは説明を省略する。
【0104】
そして、最良論理式作成部403は、評価値の最も高い論理式を選択する(ステップS204)。すなわち、最良論理式作成部403は、一般化処理を実行することで作成した複数の論理式のうち、評価値の最も高い論理式を選択する。ここで、最良論理式作成部403によって選択された論理式が「最良論理式」になる。なお、評価値の最も高い論理式を選択する処理の詳細な流れの一例については、図12を用いて後述するため、説明を省略する。
【0105】
その後、最良論理式作成部403は、未処理の事例データがあるかを判定する(ステップS205)。つまり、最良論理式作成部403は、対象とする文字が正解となる事例データすべてについて、最良論理式を作成したかを判定する。ここで、最良論理式作成部403は、未処理の事例データがあると判定すると(ステップS205肯定)、上述のステップS201に戻り、処理を繰り返す。一方、最良論理式作成部403は、未処理の事例データがないと判定すると(ステップS205否定)、最良論理式作成処理を終了し、図10の処理におけるステップS104を開始する。
【0106】
この結果、最良論理式作成部403による最良論理式作成処理が終了した時点において、対象とする文字が正解となる事例データごとに、最良論理式が作成されたことになる。
【0107】
[一般化処理]
次に、図12を用いて、実施例2における一般化処理の流れの一例について説明する。図12は、実施例2における一般化処理の流れの一例について説明するフローチャートである。なお、図12を用いて説明する処理の流れは、図10のステップS108や図11のステップS203に対応する。
【0108】
なお、以下では、図11のステップS203において、最良論理式作成部403が一般化処理を実行する場合を例に説明する。また、以下では、説明の便宜上、一般化処理の対象となる論理式を形成する構成要素数が、つまり、図11のステップS202にて作成された論理式の構成要素数が「n」である場合を例に説明する。
【0109】
図12に示すように、最良論理式作成部403は、パラメータ「i」に「1」を設定し(ステップS301)、一般化処理の対象となる論理式を形成する構成要素を1つ減らした論理式各々を作成する(ステップS302)。ここで、ステップS302にて作成される論理式各々の構成要素数は、「n−1」になる。例えば、構成要素数が「7」である場合には、最良論理式作成部403は、7個ある等式又は不等式のうちいずれか1つを減らすことで、構成要素が1つ減って「6」個になった「7」個の論理式を作成する。
【0110】
そして、最良論理式作成部403は、作成した論理式各々のうち、評価値が高い上位「k」個に入る論理式を選択する(ステップS303)。例えば、最良論理式作成部403は、ステップS302にて作成した「7」個の論理式のうち、評価値が高い上位「3」個の論理式を選択する。
【0111】
そして、最良論理式作成部403は、パラメータ「i」に「1」加算する(ステップS304)。例えば、パラメータ「i」が「1」であった場合を例に説明すると、最良論理式作成部403は、パラメータ「1」に「1」加算して「2」にする。
【0112】
そして、最良論理式作成部403は、パラメータ「i」と構成要素数「n」とを比較し、パラメータ「i」が構成要素数「n」より小さいかを判定する(ステップS305)。例えば、パラメータが「2」であり、構成要素数が「7」である場合には、最良論理式作成部403は、小さいと判定する。また、パラメータが「7」であり、構成要素数が「7」であれば、最良論理式作成部403は、小さくないと判定する。
【0113】
ここで、最良論理式作成部403は、パラメータ「i」が構成要素数「n」より小さいと判定する場合には(ステップS305肯定)、評価値が高い上位「k」個に入る論理式として選択した論理式それぞれについて、論理式を形成する構成要素を1つ減らした論理式各々を作成する(ステップS306)。例えば、上述のステップS303にて「3」個の論理式を選択し、「3」個の論理式の構成要素数がそれぞれ「6」個である場合を例に説明する。この場合、最良論理式作成部403は、「3」個の論理式それぞれについて、6個ある等式又は不等式のうちいずれか1つを減らすことで、構成要素が1つ減って「5」個になった「6」個の論理式を作成する。つまり、最良論理式作成部403は、「6×3=18」個の論理式を作成する。
【0114】
そして、最良論理式作成部403は、作成した論理式について、評価値が高い上位「k」個に入る論理式を選択する(ステップS303)。つまり、例えば、最良論理式作成部403は、作成した「18」個の論理式のうち、評価値が高い上位「3」個の論理式を選択する。そして、最良論理式作成部403は、上述のステップS305において、パラメータ「i」が構成要素数「n」より小さくないと判定されるまで処理を繰り返す(ステップS303〜S306)。
【0115】
一方、上述のステップS305において、パラメータ「i」が構成要素数「n」より小さくないと判定した場合には(ステップS305否定)、一般化処理を終了する。
【0116】
[評価値が最も高い論理式を選択する処理]
次に、図13を用いて、実施例2における最良評価値が最も高い論理式を選択する処理の流れの一例について説明する。図13は、実施例2における評価値が最も高い論理式を選択する処理の流れの一例について説明するフローチャートである。なお、図13を用いて説明する処理の流れは、図10のステップS109や図11のステップS204に対応する。なお、以下では、図11のステップS204において、最良論理式作成部403が最良論理式を選択する場合を例に説明する。
【0117】
図13に示すように、最良論理式作成部403は、論理式それぞれについて、正事例数、負事例数、構成要素数を識別する(ステップS401)。そして、最良論理式作成部403は、負事例が「0」の論理式があるかを判定する(ステップS402)。ここで、最良論理式作成部403は、負事例が「0」の論理式があると判定した場合には(ステップS402肯定)、負事例が「0」の論理式について、(正事例数/構成要素数)を論理式ごとに算出する(ステップS403)。そして、最良論理式作成部403は、(正事例数/構成要素数)が最も高い論理式を最良論理式として選択する(ステップS404)。
【0118】
一方、最良論理式作成部403は、負事例が「0」の論理式がないと判定した場合には(ステップS402否定)、(正事例数×構成要素数)/(負事例数)を論理式ごとに算出する(ステップS405)。そして、最良論理式作成部403は、(正事例数×構成要素数)/(負事例数)が最も高い論理式を最良論理式として選択する(ステップS406)。
【0119】
[検証処理]
次に、図14を用いて、実施例2における検証処理の流れの一例について説明する。図14は、実施例2における検証処理の流れの一例について説明するフローチャートである。
【0120】
図14に示すように、文字認識部405は、文字画像を受け付けると(ステップS501肯定)、文字認識処理を実行する(ステップS502)。具体的には、文字認識部405は、文字画像のうち、文字が含まれている部分から特徴量を算出し、算出した特徴量との類似度が最も高い文字を辞書テーブルから読み出し、文字認識結果とする。
【0121】
そして、検証部406は、文字認識部405による文字認識結果に、最良統合論理式テーブル302に記憶された対象とする文字が含まれているかを判定する(ステップS503)。ここで、検証部406は、対象とする文字が含まれていないと判定した場合には(ステップS503否定)、文字認識結果をそのまま表示部202にて表示する(ステップS504)。
【0122】
一方、文字認識部405による文字認識結果に、対象とする文字が含まれていると判定した場合について説明する(ステップS503肯定)。この場合、検証部406は、文字認識結果に含まれていた対象とする文字を検索キーとして、最良統合論理式テーブル302から最良統合論理式を読み出す(ステップS505)。例えば、文字認識結果に「イ」が含まれていた場合には、対象となる文字「イ」に対応付けられた最良統合論理式を読み出す。そして、検証部406は、読み出した最良統合論理式を用いて検証処理を実行する(ステップS506)。
【0123】
そして、検証部406は、誤っている可能性が高いとの検証結果が得られた文字について、他の文字とは異なる様態にて表示部202から表示する(ステップS507)。例えば、検証部406は、文字認識結果として得られた文字のうち、誤っている可能性が高いと判定した文字について、他の認識文字とは違う色を用いて表示する。
【0124】
[実施例2の効果]
上述のように、実施例2によれば、検証装置200は、条件や属性値を用いて検証式を作成する。また、検証装置200は、文字画像が入力されると、入力された文字画像に対して文字認識処理を実行する。そして、検証装置200は、文字認識処理の結果に対象となる文字が含まれているかを識別し、含まれていると識別した場合に、検証式を用いて検証を行う。この結果、実施例2によれば、文字認識結果として得られた文字が他に形状が類似した文字がある類似文字であったとしても、文字認識結果として得られた文字が正しいかを精度良く検証可能である。
【0125】
また、実施例2によれば、検証装置200は、対象となる文字についての属性値ごとに、前記第2の文字と前記第1の文字とを区別する複数の条件の入力を受け付けて論理式を作成する。そして、検証装置200は、対象となる文字についての属性値ごとに、作成した論理式を一般化することで複数の論理式を作成する。また、検証装置200は、複数の論理式それぞれについて、対象となる文字についての属性値のうち論理式が満たしている属性値の数が多ければ多いほど高い値になり、第2の文字についての属性値のうち該論理式が満たしている属性値の数が少なければ少ないほど高い値になる評価値を算出する。そして、検証装置200は、算出された評価値が最も高い論理式を選択する。ここで、検証装置200が選択した論理式が最良論理式になる。また、検証装置200は、属性値ごとに選択した論理式のうち、最も評価値の高い論理式を1つ選択する。そして、検証装置200は、選択した論理式について、対象となる文字についての属性値すべてを満たしているかを判定し、満たしていると判定した場合には、選択した論理式を最良統合論理式として決定する。また、検証装置200は、満たしていないと判定した場合には、満たしていなかった他の属性値について選択された論理式と統合した上で、最良統合論理式として決定する。この結果、文字認識結果として得られた文字が正しいかを精度良く検証可能である。
【0126】
また、実施例2によれば、検証装置200は、検証の結果、文字画像に含まれる文字に関する属性値が検証式を満たさなかった場合に、文字認識処理の結果として得られた他の文字とは異なる態様にて表示部202から出力するこの結果、誤認識の可能性の高い類似文字を利用者が簡単に把握することが可能である。
【実施例3】
【0127】
さて、これまで本発明の実施例について説明したが、本発明は上記した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
【0128】
[学習用データ取得部]
例えば、上述の実施例では、対象とする文字が「イ」であり、誤認識しやすい文字が「ィ」である場合には、学習用データ取得部402は、正解が「イ」か「ィ」であり、認識結果が「イ」か「ィ」である事例データ各々を取得する場合を例に説明した。しかし、本発明はこれに限定されるものではない。例えば、学習用データ取得部402は、認識結果に関係なく、正解が「イ」か「ィ」である事例データを取得しても良い。
【0129】
[誤認識しやすい文字]
また、例えば、上述の実施例では、1つの対象とする文字に対応する誤認識しやすい文字は、1つである場合を例に説明した。しかし、本発明はこれに限定されるものではない。例えば、1つの対象とする文字に対応する誤認識しやすい文字が、2個以上あっても良い。
【0130】
[検証処理]
また、例えば、上述の実施例では、対象とする文字について作成された検証式を用いて検証する場合について説明したが、本発明はこれに限定されるものではない。例えば、検証装置は、文字認識処理の結果に「イ」が含まれていた場合に、「イ」について作成された検証式だけでなく、「ィ」について作成された検証式を用いて検証しても良い。そして、検証装置は、「イ」についての検証式を満たし、「ィ」についての検証式を満たさなかった場合に、文字認識処理の結果が正しいと検証しても良い。
【0131】
[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0132】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0133】
例えば、図2に示す例を用いて説明すると、最良統合論理式テーブル302と文字認識部405と検証部406とを有する第1の装置と、学習用データテーブル301と受付制御部401と学習用データ取得部402と最良論理式作成部403と最良統合論理式作成部404とを有する第2の装置とを別装置としても良い。
【0134】
この場合、第二の装置は、最良統合論理式を作成すると、第一の装置に送信する。また、第一の装置は、第一の装置から最良統合論理式を受信すると、最良統合論理式テーブル302に格納する。また、第一の装置は、最良統合論理式を用いた検証処理を実行する。
【0135】
[コンピュータ]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図15を用いて、上記の実施例と同様の機能を有する検証プログラムを実行するコンピュータの一例について説明する。なお、図15は、実施例2に係る検証プログラムを実行するコンピュータの一例について説明する図である。
【0136】
図15に示すように、実施例2におけるコンピュータ3000は、キーボード3001、マイク3002、スピーカ3003、ディスプレイ3004を有する。また、コンピュータ3000は、更に、通信部3006、CPU3010、ROM3011、HDD(Hard Disk Drive)3012、RAM(Random Access Memory)3013を有する。また、コンピュータ3000は、各部をバス3009などで接続している。
【0137】
ROM3011には、図15に示すように、受付制御プログラム3011aと、学習用データ取得プログラム3011bと、最良論理式作成プログラム3011cとが予め記憶されている。また、ROM3011には、更に、最良統合論理式作成プログラム3011dと、文字認識プログラム3011eと、検証プログラム3011fとが予め記憶されている。ここで、受付制御プログラム3011aは、上記の実施例2で示した受付制御部401と同様の機能を発揮する制御プログラムである。学習用データ取得プログラム3011bは、学習用データ取得部402と同様の機能を発揮する制御プログラムである。また、最良論理式作成プログラム3011cは、最良論理式作成部403と同様の機能を発揮する制御プログラムである。最良統合論理式作成プログラム3011dは、最良統合論理式作成部404と同様の機能を発揮する制御プログラムである。文字認識プログラム3011eは、文字認識部405と最良統合論理式作成部404と同様の機能を発揮する制御プログラムである。検証プログラム3011fは、検証部406と最良統合論理式作成部404と同様の機能を発揮する制御プログラムである。なお、これらのプログラム3011a〜3011fについては、図2に示した検証装置200の各構成要素と同様、適宜統合又は分離しても良い。
【0138】
そして、CPU3010が、これらのプログラム3011a〜3011fをROM3011から読み出して実行することにより、図15に示すように、各プログラム3011a〜3011fについては、受付制御プロセス3010aと、学習用データ取得プロセス3010bと、最良論理式作成プロセス3010cと、最良統合論理式作成プロセス3010dと、文字認識プロセス3010eと、検証プロセス3010fとして機能するようになる。なお、各プロセス3010a〜3010fは、図2に示した、受付制御部401と、学習用データ取得部402と、最良論理式作成部403と、最良統合論理式作成部404と、文字認識部405と、検証部406とにそれぞれ対応する。
【0139】
そして、HDD3012には、学習用データテーブル3012aと、最良統合論理式テーブル3012bが設けられている。なお、各テーブル3012a〜3012bは、図2に示した、学習用データテーブル301と、最良統合論理式テーブル302とにそれぞれ対応する。
【0140】
そして、CPU3010は、学習用データテーブル3012aと、最良統合論理式テーブル3012bとを読み出してRAM3013に格納し、RAM3013に格納された学習用データデータ3013aと、最良統合論理式データ3013bと、条件データ3013cと、最良論理式データ3013dとを用いて、検証プログラムを実行する。
【0141】
[その他]
なお、本実施例で説明した検証プログラムは、インターネットなどのネットワークを介して配布することができる。また、検証プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【0142】
100 検証装置
200 検証装置
201 入力部
202 表示部
300 記憶部
301 学習用データテーブル
302 最良統合論理式テーブル
400 制御部
401 受付制御部
402 学習用データ取得部
403 最良論理式作成部
404 最良統合論理式作成部
405 文字認識部
406 検証部

【特許請求の範囲】
【請求項1】
文字画像が入力されると、入力された文字画像に対して文字認識処理を実行する文字認識部と、
第1の文字に対する文字認識処理にて誤認識した結果得られる可能性のある第2の文字と前記第1の文字とを区別する条件と、前記第1の文字及び前記第2の文字の各文字に関して、文字画像に含まれる文字の当該文字画像内での大きさを示す情報と、当該文字と近傍にある他の文字との関連性を示す情報と、当該文字に対する文字認識処理の結果の確からしさを示す情報とのうち少なくともいずれか1つを含む属性値とを用いて、文字画像に含まれる文字の文字認識処理の結果が前記第1の文字である場合に前記結果の正誤を検証する検証式を作成する作成部と、
前記文字認識部による文字認識処理の結果に前記第1の文字が含まれているかを識別し、含まれていると識別した場合に、前記作成部によって作成された検証式を用いて検証を行う検証部と
を備えたことを特徴とする検証装置。
【請求項2】
前記属性値が、ある文字について文字画像に含まれる文字の当該文字画像内での大きさを示す情報と、当該文字と近傍にある他の文字との関連性を示す情報と、当該文字に対する文字認識処理の結果の確からしさを示す情報とのうち複数の情報を含み、
前記作成部は、
前記第2の文字と前記第1の文字とを区別する複数の条件の入力を受け付けて、前記第1の文字についての属性値ごとに条件式を作成する条件式作成部と、
前記条件式作成部によって作成された条件式ごとに、当該条件式に含まれる条件のうち少なくとも1つを除外した除外条件式を複数作成する除外条件式作成部と、
前記除外条件式作成部によって条件式ごとに作成された除外条件式それぞれについて、前記第1の文字についての属性値のうち当該除外条件式が満たしている属性値の数が多ければ多いほど高い値になり、前記第2の文字についての属性値のうち当該除外条件式が満たしている属性値の数が少なければ少ないほど高い値になる評価値を算出し、算出された評価値が最も高い除外条件式である高評価除外条件式を条件式ごとに選択する選択部と、
前記選択部によって前記条件式ごとに選択された高評価除外条件式のうち、最も評価値の高い高評価条件式を1つ選択し、前記第1の文字についての属性値すべてを満たしているかを判定し、満たしていると判定した場合には、選択した高評価条件式を前記検証式として決定し、満たしていないと判定した場合には、満たしていなかった他の属性値についての高評価条件式と統合した上で前記検証式として決定する決定部とを備えたことを特徴とする請求項1に記載の検証装置。
【請求項3】
前記検証部による検証の結果正しくないと判定された場合に、文字認識処理に含まれる他の文字とは異なる態様にて表示部から出力する出力部を更に備えたことを特徴とする請求項2に記載の検証装置。
【請求項4】
コンピュータが、
第1の文字に対する文字認識処理にて誤認識した結果得られる可能性のある第2の文字と当該第1の文字とを区別する条件と、前記第1の文字及び前記第2の文字の各文字に関して、文字画像に含まれる文字の当該文字画像内での大きさを示す情報と、当該文字と近傍にある他の文字との関連性を示す情報と、当該文字に対する文字認識処理の結果の確からしさを示す情報とのうち少なくともいずれか1つを含む属性値とを用いて、文字画像に含まれる文字の文字認識処理の結果が前記第1の文字である場合に前記結果の正誤を検証する検証式を作成する作成工程と、
文字画像が入力されると、入力された文字画像に対して文字認識処理を実行する文字認識工程と、
前記文字認識工程による文字認識処理の結果に前記第1の文字が含まれているかを識別し、含まれていると識別した場合に、前記作成工程によって作成された検証式を用いて検証を行う検証工程と
を実行することを特徴とする検証方法。
【請求項5】
第1の文字に対する文字認識処理にて誤認識した結果得られる可能性のある第2の文字と前記第1の文字とを区別する条件と、前記第1の文字及び前記第2の文字の各文字に関して、文字画像に含まれる文字の当該文字画像内での大きさを示す情報と、当該文字と近傍にある他の文字との関連性を示す情報と、当該文字に対する文字認識処理の結果の確からしさを示す情報とのうち少なくともいずれか1つを含む属性値とを用いて、文字画像に含まれる文字の文字認識処理の結果が前記第1の文字である場合に前記結果の正誤を検証する検証式を作成する作成手順と、
文字画像が入力されると、入力された文字画像に対して文字認識処理を実行する文字認識手順と、
前記文字認識手順による文字認識処理の結果に前記第1の文字が含まれているかを識別し、含まれていると識別した場合に、前記作成手順によって作成された検証式を用いて検証を行う検証手順と
をコンピュータに実行させることを特徴とする検証プログラム。
【請求項6】
文字画像に含まれる文字の当該文字画像内での大きさを示す情報と、当該文字と近傍にある他の文字との関連性を示す情報と、当該文字に対する文字認識処理の結果の確からしさを示す情報とのうち、少なくともいずれか1つを含む属性値を、当該文字画像に含まれる文字を示す文字情報に対応付けて記憶する属性値記憶部と、
第1の文字に対する文字認識処理にて誤認識の結果得られる可能性のある第2の文字と当該第1の文字とを区別する条件を受け付ける受付部と、
前記受付部によって受け付けられた条件と、前記属性記憶部に記憶された属性値のうち前記第1の文字及び前記第2の文字についての属性値とを用いて、文字認識処理の結果が当該第1の文字である場合に当該結果の正誤を検証する検証式を作成する作成部と
を備えたことを特徴とする作成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6−1】
image rotate

【図6−2】
image rotate

【図6−3】
image rotate

【図6−4】
image rotate

【図7−1】
image rotate

【図7−2】
image rotate

【図8】
image rotate

【図9−1】
image rotate

【図9−2】
image rotate

【図9−3】
image rotate

【図9−4】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate