(58)【調査した分野】(Int.Cl.,DB名)
前記第1の制御手段の制御によって抽出された文字認識結果と人手で入力された入力結果、又は、前記第2の制御手段の制御によって入力された複数の入力結果を統合する統合手段
をさらに具備することを特徴とする請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0018】
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について、
図8〜12を用いて説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
図8は、本実施の形態が利用される処理例を示す説明図である。「住所」、「氏名」、「商品番号」等の各種番号が記入された帳票内のデータを入力する業務がある。例えば、
図8の例に示すように、氏名欄812、住所欄814、商品番号欄816を有している帳票画像810があり、その氏名欄812、住所欄814、商品番号欄816内に、手書きで文字が記載される。
一般に、この帳票画像810を見て、情報処理装置800を用いて、オペレーター(ユーザー)によって人手(キー入力)による入力が行われているため、データ入力費用が課題となっている。
誤りの入力を排除するために、
図9の例に示されるように、従来の人手入力の場合には、複数の人(Aさん、Bさん)が同じ帳票画像810を見て、人手入力装置(Aさん)920A、人手入力装置(Bさん)920Bで並行にキー入力(ダブル入力)を行う。突き合わせ処理モジュール940では、人手入力装置(Aさん)920A、人手入力装置(Bさん)920Bのそれぞれで入力を行った結果を突き合わせる。2つの結果が同じであれば(「結果が同じ場合」946)、そのまま入力結果のデータを採用する(「キー入力結果が合っていると判断する」948)。2つの結果が異なる場合は(「結果が異なる場合」942)、キー入力結果が間違っていると判断する(「キー入力結果が間違っていると判断する」944)。間違っている場合には、別の処理(再入力等)を行うことになる。
背景技術に挙げた特許文献3等においては、
図10の例に示すように、人手入力装置(Bさん)920Bを文字認識器1030で代替する技術が開示されている。Aさんが見てキー入力を行っている帳票画像810と同じものを文字認識器1030に入力する。文字認識器1030は、入力された帳票画像810内の文字(具体的には、氏名欄812、住所欄814、商品番号欄816内に記載されている文字)を認識し、認識結果を出力する。突き合わせ処理モジュール1040は、人手入力装置(Aさん)1020でのAさんの入力結果と、文字認識器1030の認識結果を突き合わせて、2つの結果が同じであれば(「結果が同じ場合」1046)、そのまま入力結果(認識結果)のデータを採用する(「キー入力結果及び認識結果が合っていると判断する」1048)。2つの結果が異なる場合は(「結果が異なる場合」1042)、キー入力結果又は文字認識結果が間違っていると判断する(「キー入力結果又は認識結果が間違っていると判断する」1044)。この場合には、別の処理(再入力等)を行うことになる。
上記に示したように、文字認識器1030と人手による入力(人手入力装置(Aさん)1020)のダブル入力を行うのが従来技術である。
【0019】
図10の例に示した従来技術では、文字認識器1030の認識率が悪い場合には、その文字認識器1030の悪い認識率に引きずられて、最終的なデータ入力の品質が悪くなってしまう場合がある。
図11、
図12に示す例を用いて説明する。なお、
図11に示す例は
図9に示す例に対応し、
図12に示す例は
図10の示す例に対応している。
図11、
図12では、2つの結果が異なる場合には(「結果が異なる場合」1142、1242)、統合処理モジュール1160、1260は、「Cさん」(人手入力装置(Cさん)1150、1250)の入力結果を利用する場合を示す。
ここで、人の誤り率をrとする。
図11に示す例のように、人が2人で入力する場合には、どちらも誤る確率は、1−(1−r)
2である。最終的なデータが誤っている確率Eは、さらに、Cさんも誤る場合であるため、E=r[1−(1−r)
2]となる。人の誤り率をr=0.01とすると、
図11の場合のデータ誤り率は、1.99×10
−4となる。
次に、文字認識器1030の誤り率をRとする。最終的な誤り率は、E=r[1−(1−r)(1−R)]となる。
R=0.01であれば、
図11と
図12に示す例の結果は同じとなる。しかしながら、文字認識器1030の誤り率が大きな場合、例えば、R=0.1の場合は、最終的な誤り率は、E=1.09×10
−3となり、約1桁誤り率が大きくなってしまう。
【0020】
データ入力を行う場合に、文字認識器を利用するとデータ誤り率が増加する問題がある。
この問題を避けるためには、文字認識器を利用せず、人手でダブル入力を行えばよい。
ただし、この場合には、2人分の工数を常に必要としてしまうことになる。
【0021】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0022】
以下、文字認識対象として、文字画像を主に例示して説明する。ただし、文字画像に限定する必要はない。例えば、ストローク情報によって構成されているオンライン文字であってもよい。また、手書き文字に限らず、印刷文字等であってもよい。
本実施の形態である情報処理装置100は、文字画像108内に含まれている文字を示すテキストデータを出力データ152とするものであって、
図1の例に示すように、文字認識モジュール110、文字列分類モジュール120、認識結果選択モジュール130、人手入力モジュール140、結果統合モジュール150を有している。
【0023】
文字認識モジュール110は、文字列分類モジュール120、認識結果選択モジュール130と接続されており、文字画像108(具体例として、文字画像(A山B雄)108A、文字画像(C川D介)108B等)を受け付け、文字列分類モジュール120に認識確度112を、認識結果選択モジュール130に認識結果116を渡す。文字認識モジュール110は、文字画像108を文字認識する。テキストデータである認識結果116と、その認識結果116の認識確度112を出力する既存の文字認識技術を用いればよい。ここで、認識確度112の値が高いほど、その認識結果116である確率が高いことを示しているものとする。
文字列分類モジュール120は、文字認識モジュール110、認識結果選択モジュール130、人手入力モジュール140、結果統合モジュール150と接続されており、閾値118を受け付け、文字認識モジュール110から認識確度112を受け取り、認識結果選択モジュール130、人手入力モジュール140、結果統合モジュール150に分類結果122を渡す。文字列分類モジュール120は、文字認識対象である文字画像108を3種類のいずれかに分類する。
また、文字列分類モジュール120は、文字認識対象の文字画像108の文字認識結果の認識確度112を予め定められた複数の閾値118と比較することによって分類を行うようにしてもよい。具体的には、閾値118として、Th1、Th2(Th1はTh2より高い閾値)を用いて、分類結果122として第1の種類、第2の種類、第3の種類のいずれかを出力するようにしてもよい。認識確度112がTh1より高い場合(つまり、文字認識モジュール110による認識結果116を採用してもよい場合)は、第1の種類に分類し、認識確度112がTh1以下であって、Th2より高い場合(つまり、「文字認識モジュール110による認識結果116を採用してもよい場合」ではなく、かつ「文字認識モジュール110による認識結果116を採用してはならない場合」ではない場合)は、第2の種類に分類し、認識確度112がTh2以下の場合(つまり、文字認識モジュール110による認識結果116を採用してはならない場合)、第3の種類に分類する。
【0024】
認識結果選択モジュール130は、文字認識モジュール110、文字列分類モジュール120、結果統合モジュール150と接続されており、文字認識モジュール110から認識結果116を、文字列分類モジュール120から分類結果122を受け取り、結果統合モジュール150に認識結果132を渡す。認識結果選択モジュール130は、文字列分類モジュール120によって第1の種類に分類された場合に、文字認識対象の文字画像108に対する文字認識モジュール110による認識結果116を抽出する。また、認識結果選択モジュール130は、文字列分類モジュール120によって第2の種類に分類された場合に、文字認識対象の文字画像108に対する文字認識モジュール110による認識結果116を抽出する。つまり、分類結果122が第1の種類又は第2の種類である場合は、認識結果116を認識結果132として結果統合モジュール150に渡す。
人手入力モジュール140は、文字列分類モジュール120、結果統合モジュール150と接続されており、文字画像108を受け付け、文字列分類モジュール120から分類結果122を受け取り、結果統合モジュール150に人手入力結果142を渡す。人手入力モジュール140は、文字列分類モジュール120によって第2の種類に分類された場合に、文字認識対象の文字画像108を対象として人手で入力させるように制御する。また、人手入力モジュール140は、文字列分類モジュール120によって第3の種類に分類された場合に、文字認識対象の文字画像108を対象として複数人の人手で入力させるように制御する。つまり、分類結果122が第2の種類又は第3の種類である場合は、人手入力結果142(第2の種類の場合は1つの入力結果、第3の種類の場合は複数の入力結果)を結果統合モジュール150に渡す。以下、複数人の例として、2人の場合を示すが、3人以上であってもよい。
【0025】
結果統合モジュール150は、文字列分類モジュール120、認識結果選択モジュール130、人手入力モジュール140と接続されており、文字列分類モジュール120から分類結果122を、認識結果選択モジュール130から認識結果132を、人手入力モジュール140から人手入力結果142を受け取り、出力データ152を出力する。結果統合モジュール150は、文字列分類モジュール120によって第2の種類に分類された場合は、認識結果選択モジュール130によって抽出された文字認識結果を出力データ152として出力する。結果統合モジュール150は、文字列分類モジュール120によって第2の種類に分類された場合は、認識結果選択モジュール130によって抽出された文字認識結果と人手入力モジュール140によって人手で入力された入力結果を統合する。又は、結果統合モジュール150は、文字列分類モジュール120によって第3の種類に分類された場合は、人手入力モジュール140の制御によって入力された複数の入力結果を統合する。
結果統合モジュール150は、認識結果132と人手入力結果142が異なる場合、又は、複数の人手入力結果142が異なる場合は、人手による選択(認識結果132、人手入力結果142のいずれかの選択、複数の人手入力結果142のうちの1つの選択)又は人手による入力をさせるように制御するようにしてもよい。ここでの人手は、人手入力モジュール140によって入力を行ったユーザーであってもよいが、好ましくは、人手入力モジュール140によって入力を行ったユーザー以外のユーザーがよい。
【0026】
図1に示す例を用いて、動作例を説明する。
帳票画像が文字画像108として入力される。例えば、帳票の中の氏名欄の画像が入力される。特に切り取られている必要はないが、本例では、氏名欄が切り取られて、文字画像(A山B雄)108A、文字画像(C川D介)108B等のように入力される例を示している。
文字画像108は、文字認識モジュール110において、認識が行われ、認識確度112と認識結果116を出力する。
認識確度112は、文字列分類モジュール120に入力され、
図4の例で後述するように、(1)〜(3)の3種の文字列に分類する。文字列分類モジュール120では2つの閾値118を用いる。
認識結果選択モジュール130では、(1)又は(2)の場合に、認識結果116を選択する。
人手入力モジュール140では、(2)の場合には、1人分の人手データ入力を行うように、データ表示及び、データ受け取りを行う。(3)の場合には、2人分の人手データ入力を行うように、データ表示及び、データ受け取りを行う。
結果統合モジュール150では、分類結果122にしたがって、認識結果132と人手入力モジュール140の結果(人手入力結果142)を統合して最終的な処理を行う。最終的な処理の例として、
図11、
図12の例で後述するように、2つの結果を突き合わせて、結果が異なるようであれば、人手入力を行う等の処理を行う。結果統合モジュール150による処理結果が出力データ152となる。本出力データ152は、データ入力の内容(文字画像108に対応するテキストデータ)となる。
なお、文字列は、1文字以上の文字の連なりをいう。したがって、1文字も文字列と称する。
【0027】
閾値はTh1、Th2の2つではなくてもよい。どちらか1つでもよい。
Th1のみであれば、
(1)文字認識モジュール110のみでデータ入力を行う。
(2)文字認識モジュール110と人でダブル入力を行う。
の選択を行うことができる。この場合は、認識結果選択モジュール130は不要である。
Th2のみであれば、
(2)文字認識モジュール110と人でダブル入力を行う。
(3)人でダブル入力を行う。
の選択を行うことができる。
あるいは、Th1とTh2を同じ値に設定することにより、
(1)文字認識モジュール110のみでデータ入力を行う。
(3)人でダブル入力を行う。
の選択を行うことができる。
【0028】
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置100、画像読取装置210、入力用端末220A、入力用端末220B、入力用端末220Cは、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。
入力用端末220は、ユーザー222によって操作される。例えば、画像読取装置210は帳票画像810を読み取り、情報処理装置100に送信する。情報処理装置100による制御によって、第2の種類の場合は入力用端末220Aに画像読取装置210で読み取られた文字画像が送信され、ユーザー222Aによる入力結果を入力用端末220Aが情報処理装置100に送信する。また、情報処理装置100による制御によって、第3の種類の場合は入力用端末220A、入力用端末220Bに画像読取装置210で読み取られた文字画像が送信され、ユーザー222Aによる入力結果を入力用端末220Aが情報処理装置100に送信し、ユーザー222Bによる入力結果を入力用端末220Bが情報処理装置100に送信する。そして、文字認識モジュール110による認識結果116とユーザー222Aによる入力結果が異なる場合、又は、ユーザー222Aによる入力結果とユーザー222Bによる入力結果が異なる場合は、入力用端末220Cに画像読取装置210で読み取られた文字画像が送信され、ユーザー222Cによる入力結果を入力用端末220Cが情報処理装置100に送信する。
そして、情報処理装置100は、第1の種類の場合は、文字認識モジュール110による認識結果116を出力し、第2の種類の場合は、文字認識モジュール110による認識結果116とユーザー222Aによる入力結果を統合した結果を出力し、第3の種類の場合は、ユーザー222Aによる入力結果とユーザー222Bによる入力結果を統合した結果を出力する。ここでの統合結果は、両者が同じである場合はその値(入力結果又は認識結果)、異なる場合はユーザー222Cによる入力結果である。
【0029】
図3は、第1の実施の形態による処理例を示すフローチャートである。
ステップS302では、文字認識モジュール110は、文字画像108を受け付ける。
ステップS304では、文字認識モジュール110は、文字画像108を認識する。
ステップS306では、文字列分類モジュール120は、認識確度(K)112を判断し、「K>Th1」の場合はステップS308へ進み、「Th2<K≦Th1」の場合はステップS312へ進み、「K≦Th2」の場合はステップS318へ進む。
ステップS308では、認識結果選択モジュール130は、認識結果116を選択する。
ステップS310では、結果統合モジュール150は、認識結果132を出力データ152とする。
【0030】
ステップS312では、認識結果選択モジュール130は、認識結果116を選択する。
ステップS314では、人手入力モジュール140は、1人分の人手データ入力を促す。
ステップS316では、人手入力モジュール140は、人手入力結果を受け付ける。
ステップS318では、人手入力モジュール140は、2人分の人手データ入力を促す。
ステップS320では、人手入力モジュール140は、2人分の人手入力結果を受け付ける。
ステップS322では、突き合わせ処理を行い、「同じ」場合はステップS324へ進み、「異なる」場合はステップS326へ進む。
ステップS324では、結果統合モジュール150は、人手入力結果142を出力データ152とする。
ステップS326では、結果統合モジュール150は、統合処理を行う。
【0031】
図4は、本実施の形態による処理例を示す説明図である。
図4、5は、本実施の形態による処理例の概要を示すものである。
情報処理装置100は、文字認識器410(文字認識モジュール110に相当)、文字認識器420(文字認識モジュール110に相当)、人手入力装置(Aさん)430、人手入力装置(Bさん)440、人手入力装置(Cさん)450と接続されており、文字画像108を受け付ける。
データ入力を行う対象である文字画像108を情報処理装置100で下記3種類に分類する。
(1)文字認識器のみでデータ入力を行う。
(2)文字認識器と人でダブル入力を行う。
(3)人でダブル入力を行う。
従来技術では上記(2)のみであったために、全体の誤り率が高くなってしまっていたことが課題であった。本実施の形態では、文字認識器420の認識率が悪い文字画像108の場合には、上記(3)とすることにより、誤り率の劣化を防ぐ。
さらに、(3)とした場合、人手が2人必要となるため、全体の工数が増大する。これを避けるため、文字認識率の認識率が高い入力画像の場合には、人手入力を行わず、文字認識器410のみで処理を行う。
上記で示したように、3種の処理に分類することにより、データ入力の精度と工数削減を同時に実現することとなる。
図4に示す例では、人手入力装置(Aさん)430、人手入力装置(Bさん)440、人手入力装置(Cさん)450の操作者はそれぞれ異なっているが、人手入力装置(Aさん)430と人手入力装置(Bさん)440の操作者は同じ人でもよい。又は、人手入力装置(Aさん)430と人手入力装置(Cさん)450の操作者は同じ人でもよい。
【0032】
図5は、本実施の形態による処理例の概要を示す説明図である。
文字画像108として、文字画像(A山B雄)108A、文字画像(C川D介)108B、文字画像(E田F子)108C、文字画像(G谷H郎)108Dを対象とする。
文字認識器510は、文字画像(A山B雄)108A、文字画像(C川D介)108B、文字画像(E田F子)108Cを受け付ける。
人手入力装置520は、文字画像(C川D介)108B、文字画像(E田F子)108C、文字画像(G谷H郎)108Dを受け付ける。
人手入力装置530は、文字画像(G谷H郎)108Dを受け付ける。
つまり、情報処理装置100は、入力した文字列を、次の3種類に分類する。
(1)文字認識器のみでデータ入力を行う場合。
(2)文字認識器と人でダブル入力を行う場合。
(3)複数人でダブル入力を行う場合。
上記(1)の場合と、(2)の場合は、文字認識器510に文字画像108を送る。
上記(2)の場合と(3)の場合は、人が入力できるように文字画像108を送る。また、(3)の場合は、複数人によるデータ入力ができるように文字画像108を送る。
例えば、文字画像(A山B雄)108Aは「(1)文字認識器のみでデータ入力を行う」に該当した場合、文字認識器510によって認識処理を行う。
例えば、文字画像(C川D介)108B、文字画像(E田F子)108Cは「(2)文字認識器と人でダブル入力を行う」に該当した場合、文字認識器510によって認識処理を行い、人手入力装置520によって人手入力が行われる。
例えば、文字画像(G谷H郎)108Dは「(3)人でダブル入力を行う」に該当した場合、人手入力装置520と人手入力装置530によって人手入力が行われる。
【0033】
文字列分類モジュール120による分類は、認識確度112を用いて行う。認識確度112は文字認識モジュール110による処理結果である認識結果116に対する確信度である。
ここで認識確度をKとする。また、2つの閾値Th1、Th2を用意する。
このとき、下記のように分類する。
(1)K>Th1の場合:文字認識器のみでデータ入力を行う。
(2)Th2<K≦Th1の場合:文字認識器と人でダブル入力を行う。
(3)K≦Th2の場合:複数人でダブル入力を行う。
なお、上記式での等号の位置はどこでもよい。例えば、以下のようにしてもよい。
(1)K≧Th1の場合:文字認識器のみでデータ入力を行う。
(2)Th2≦K<Th1の場合:文字認識器と人でダブル入力を行う。
(3)K<Th2の場合:人でダブル入力を行う。
【0034】
認識確度の算出方法としては、下記のように様々な従来例を用いればよい。例えば、特開平5−040853、特開平5−020500、特開平5−290169、特開平8−101880、特開2011−113125(出力値を認識確度として用いる)、特開2013−069132(出力値を認識確度として用いる)等がある。
これらの中で、各文字に対する認識確度を用いるものがある。文字毎の認識確度を文字列の認識確度に変換する方式としては、下記のように様々な方式の中から適切なものを選択すればよい。
・文字列内の最大文字認識確度を文字列の認識確度とする。
・文字列内の最小文字認識確度を文字列の認識確度とする。
・文字列内の平均(最頻値、中央値等)文字認識確度を文字列の認識確度とする。
【0035】
図6は、第2の実施の形態の構成例についての概念的なモジュール構成図である。
情報処理装置600は、文字列分類モジュール610、文字認識選択モジュール620、文字認識モジュール630、人手入力モジュール640、結果統合モジュール650を有している。
文字列分類モジュール610は、文字認識選択モジュール620、人手入力モジュール640、結果統合モジュール650と接続されており、文字画像608を受け付け、文字認識選択モジュール620、人手入力モジュール640、結果統合モジュール650に分類結果612を渡す。文字列分類モジュール610は、文字列分類モジュール120と同等の機能を有している。ただし、文字認識による認識確度を用いて分類を行ってもよいし、認識確度以外の情報を用いて分類を行うようにしてもよい。例えば、文字認識モジュール630による文字認識処理を行って、その認識確度を用いるようにしてもよいし、文字認識モジュール630以外の文字認識処理を行って、その認識確度を用いるようにしてもよい。また、文字画像608が文字認識に適している画像であるか否かを判断(「適している」、「適していない」、「「適している」、「適していない」のいずれでもない」の3つに分類)するようにしてもよい。
文字認識選択モジュール620は、文字列分類モジュール610、文字認識モジュール630と接続されており、文字列分類モジュール610から分類結果612を受け取り、文字認識モジュール630に文字認識選択結果622を渡す。文字認識選択モジュール620は、第1の種類、第2の種類に分類された場合に、文字認識モジュール630に処理を行わせる。
文字認識モジュール630は、文字認識選択モジュール620、結果統合モジュール650と接続されており、文字画像608を受け付け、文字認識選択モジュール620から文字認識選択結果622を受け取り、結果統合モジュール650に認識結果632を渡す。文字認識モジュール630は、文字認識モジュール110と同等の処理を行う。ただし、ここでの文字認識処理は、必ずしも認識確度を出力する必要はない。
人手入力モジュール640は、文字列分類モジュール610、結果統合モジュール650と接続されており、文字画像608を受け付け、文字列分類モジュール610から分類結果612を受け取り、結果統合モジュール650に人手入力結果642を渡す。人手入力モジュール640は、人手入力モジュール140と同等の処理を行う。
結果統合モジュール650は、文字列分類モジュール610、文字認識モジュール630、人手入力モジュール640と接続されており、文字列分類モジュール610から分類結果612を、文字認識モジュール630から認識結果632を、人手入力モジュール640から人手入力結果642を受け取り、出力データ652を出力する。結果統合モジュール650は、結果統合モジュール150と同等の処理を行う。
【0036】
図6に示す例を用いて、動作例を説明する。
第1の実施の形態では、文字認識結果の認識確度を用いて、文字列分類を行ったが、必ずしもその手法を採る必要はない。別手法で文字列分類を行ってもよい。
帳票画像が文字画像608として入力される(第1の実施の形態と同じ)。
文字列分類モジュール610では、
図4の例に示された(1)〜(3)の3種の文字列に分類する。例えば、文字列分類モジュール610の中に文字認識器が入っており、認識確度を用いて分類を行う等の手法でもよいし、あるいは、文字認識は行わない手法でもよい。例えば、文字認識用の特徴抽出を行い、その特徴が特徴空間において予め定められた第1の部分空間(文字と認識するのに適している空間)にある場合は、第1の種類に分類し、予め定められた第3の部分空間(文字と認識できない空間)にある場合は、第3の種類に分類し、それ以外の場合(「文字と認識するのに適している空間」、「文字と認識できない空間」のいずれでもない場合)は第2の種類に分類するようにしてもよい。
文字認識選択モジュール620では、(1)又は(2)の場合に、文字認識を行うように選択する。文字認識モジュール630では、文字認識選択モジュール620による文字認識選択結果622を用いて文字認識処理を行う。
人手入力モジュール640では、(2)の場合には、1人分の人手データ入力を行うように、データ表示及び、データ受け取りを行う。(3)の場合には、2人分の人手データ入力を行うように、データ表示及び、データ受け取りを行う。
結果統合モジュール650では、分類結果612にしたがって、認識結果632と人手入力モジュール640による人手入力結果642を統合して最終的な処理を行う。最終的な処理の例として、
図11、
図12の例に示したように、2つの結果を突き合わせて、結果が異なるようであれば、人手入力を行う等の処理を行う。結果統合モジュール650による処理結果が出力データ652となる。本出力データ652は、データ入力の内容(文字画像608に対応するテキストデータ)となる。
【0037】
図7は、第2の実施の形態による処理例を示すフローチャートである。
ステップS702では、文字列分類モジュール610は、文字画像608を受け付ける。
ステップS704では、文字列分類モジュール610は、文字画像608を分類する。
ステップS706では、文字列分類モジュール610は、分類結果612を判断し、「パターンA」の場合はステップS708へ進み、「パターンB」の場合はステップS712へ進み、「パターンC」の場合はステップS720へ進む。
ステップS708では、文字認識選択モジュール620は、文字認識を行うよう選択する。
ステップS710では、文字認識モジュール630は、文字認識を行う。
ステップS712では、文字認識選択モジュール620は、文字認識を行うよう選択する。
ステップS714では、文字認識モジュール630は、文字認識を行う。
ステップS716では、人手入力モジュール640は、1人分の人手データ入力を促す。
ステップS718では、人手入力モジュール640は、人手入力結果を受け付ける。
ステップS720では、人手入力モジュール640は、2人分の人手データ入力を促す。
ステップS722では、人手入力モジュール640は、2人分の人手入力結果を受け付ける。
ステップS724では、突き合わせ処理を行い、「同じ」場合はステップS726へ進み、「異なる」場合はステップS728へ進む。
ステップS726では、結果統合モジュール650は、人手入力結果642を出力データ652とする。
ステップS728では、結果統合モジュール650は、統合処理を行う。
【0038】
次に、本実施の形態による効果例を示す。
E=r[1−(1−r)
2]と人の誤り率をr=0.01とした場合、
図11の場合のデータ誤り率は、1.99×10
−4となる。この場合を例に採り、効果を示す。
例えば、文字認識器の誤り率を1.99×10
−4となるように、閾値Th1と閾値Th2を設定することにより、文字認識器を用いた場合であっても、2人のダブル入力時と同じ誤り率でデータ入力が可能となる。
さらに、文字認識器の誤り率を1.99×10
−4となるように、閾値Th1を制御すると、閾値Th1以上の認識確度の場合では、人の工数が全く不要となるため、工数の削減も可能となる。
さらに、下記の場合を例にとり、具体的な効果を説明する。
・閾値Th1以上の文字列の割合:40%(この場合の文字認識器の誤り率:0.0001)
・閾値Th2以上、Th1未満の文字列の割合:20%(この場合の文字認識器の誤り率:0.01)
・閾値Th2未満の文字列の割合:40%(この場合の文字認識器の誤り率:0.1)
の場合を考える。
(1)従来技術(特開平6−274679)の場合、
文字列あたり、常に1人は入力するため、この場合の工数を1とする。
また全体の誤り率は、E=4.96×10
−4となる(下記参照)。
文字認識器の平均の誤り率は、
R=0.0001×0.4+0.01×0.2+0.1×0.4≒0.04
となるため、E=r[1−(1−r)(1−R)]より、全体の誤り率Eは、E=4.96×10
−4となる。
(2)本実施の形態の場合、
文字列あたりの工数は、1×0.2+2×0.4=1.0となり、従来技術と同じである。
本実施の形態では、
・閾値Th1以上の場合の誤り率:0.0001
・閾値Th2以上、Th1未満の場合の誤り率:1.99×10
−4
・閾寝Th2未満の場合の誤り率(人ダブル入力の誤り率と同じ):1.99×10
−4
それぞれの割合を考慮すると、全体の誤り率は、
0.0001×0.4+1.99×10−4×0.6=1.6×10−4
上記で示したように、本実施の形態を用いることによって、工数は同じであるにも関わらず、誤り率は、約1/3に減少させることができる。
【0039】
図13を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。
図13に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部1317と、プリンタ等のデータ出力部1318を備えたハードウェア構成例を示している。
【0040】
CPU(Central Processing Unit)1301は、前述の実施の形態において説明した各種のモジュール、すなわち、文字認識モジュール110、文字列分類モジュール120、認識結果選択モジュール130、人手入力モジュール140、結果統合モジュール150、文字列分類モジュール610、文字認識選択モジュール620、文字認識モジュール630、人手入力モジュール640、結果統合モジュール650等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0041】
ROM(Read Only Memory)1302は、CPU1301が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1303は、CPU1301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1304により相互に接続されている。
【0042】
ホストバス1304は、ブリッジ1305を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス1306に接続されている。
【0043】
キーボード1308、マウス等のポインティングデバイス1309は、操作者により操作される入力デバイスである。ディスプレイ1310は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。
【0044】
HDD(Hard Disk Drive)1311は、ハードディスク(フラッシュメモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU1301によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、文字画像108、認識確度112、認識結果116、分類結果122、認識結果132、人手入力結果142、出力データ152等が格納される。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【0045】
ドライブ1312は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1313に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1307、外部バス1306、ブリッジ1305、及びホストバス1304を介して接続されているRAM1303に供給する。リムーバブル記録媒体1313も、ハードディスクと同様のデータ記録領域として利用可能である。
【0046】
接続ポート1314は、外部接続機器1315を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1314は、インタフェース1307、及び外部バス1306、ブリッジ1305、ホストバス1304等を介してCPU1301等に接続されている。通信部1316は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1317は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1318は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0047】
なお、
図13に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、
図13に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに
図13に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファクシミリ、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファクシミリ等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0048】
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む)、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より高い」、「より低い(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より高い」、「より低い(未満)」、「以上」、「以下」としてもよい。
【0049】
前述の実施の形態では、「画像」を入力して、画像に対して文字認識を行う例を示していたが、文字認識は必ずしも「画像」に対するものに限定する必要はない。筆順情報(ストローク情報)等を用いて文字認識を行ってもよい。その場合、人手入力する際には、筆順データを人間が読めるように画像化すればよい。
前述の実施の形態では、人のダブル入力としていたが、ダブル(2人)ではなく、複数であれば何人でもよい。
また、人(1人)と文字認識器のダブル入力としていたが、人(1人以上)と、文字認識器の入力としてもよい。例えば、人が2人と文字認識器の入力としてもよい。
人は文字認識結果を見て、入力(あるいは、文字認識器の結果を修正)してもよい。
本実施の形態では、文字認識器は、論理的に1個の文字認識器として外部から見えていればよい。つまり、複数の文字認識器の出力を統合して1つの認識結果を出すような認識器であることを妨げるものではない。
【0050】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。