JP6320089B2 - 認識装置、認識方法およびプログラム - Google Patents

認識装置、認識方法およびプログラム Download PDF

Info

Publication number
JP6320089B2
JP6320089B2 JP2014044341A JP2014044341A JP6320089B2 JP 6320089 B2 JP6320089 B2 JP 6320089B2 JP 2014044341 A JP2014044341 A JP 2014044341A JP 2014044341 A JP2014044341 A JP 2014044341A JP 6320089 B2 JP6320089 B2 JP 6320089B2
Authority
JP
Japan
Prior art keywords
character
candidate
recognition
character string
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014044341A
Other languages
English (en)
Other versions
JP2015170129A (ja
Inventor
鈴木 智久
智久 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2014044341A priority Critical patent/JP6320089B2/ja
Publication of JP2015170129A publication Critical patent/JP2015170129A/ja
Application granted granted Critical
Publication of JP6320089B2 publication Critical patent/JP6320089B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Discrimination (AREA)

Description

本発明の実施形態は、認識装置、認識方法およびプログラムに関する。
文字認識における知識処理を行う方法として、認識対象の文字列をモデル化して知識辞書に格納し、モデルに合致する文字列を知識辞書の結果とする方法が知られている。例えば、照合したい単語を登録した単語辞書部と単語辞書部に登録された単語を受理する有限オートマトンを有する単語照合部を備え、有限オートマトンが受理した単語を知識処理の結果として出力するシステムが知られている(例えば、特許文献1参照)。また、文脈自由文法で記述した地名表記と文字認識候補を照合することで知識処理を行う技術が知られている(例えば、特許文献2参照)。
特開平11−143893号公報 特許第4006176号公報
しかしながら、認識対象の文字列をモデル化して、知識処理の結果をモデルに合致する文字列に限定する従来の技術では、知識処理の結果としてありえない文字列および不自然な文字列等を効率良く排除することが困難であった。例えば、英文において母音字が5文字以上続く文字列は、単語として不自然であるが、従来の技術では、こういった文字列を効率良く排除することは困難であった。
本発明が解決しようとする課題は、使用されることが無い文字列および使用することが禁止される文字列等を効率良く排除して、文字列を精度良く認識することにある。
実施形態に係る認識装置は、入力画像から、文字を含むと推測される画素の集合である文字候補を検出する候補検出部と、前記文字候補のそれぞれを認識して、認識結果の候補の文字である少なくとも1つの認識候補を生成する認識部と、前記少なくとも1つの認識候補のそれぞれを、認識対象の文字列をモデル化した知識辞書と照合して、前記入力画像に含まれると推測される文字列と知識辞書を照合して得られる照合結果を生成する照合部と、前記照合結果のうち、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除する禁則処理部を備える。
図1は、実施形態に係る認識装置10の構成を示す図である。 図2は、実施形態に係る認識装置10の処理を示すフロー図である。 図3は、入力画像の一例を示す図である。 図4は、様式データの構成を示す図である。 図5は、入力画像から一連の文字候補を生成する処理を示す図である。 図6は、断片データの構成を示す図である。 図7は、断片番号の一例を示す図である。 図8は、文字候補データの構成を示す図である。 図9は、文字候補番号の一例を示す図である。 図10は、文字候補の始点番号および終点番号の一例を示す図である。 図11は、文字候補マトリクスの一例を示す図である。 図12は、文字認識辞書の構成を示す図である。 図13は、認識候補の配列の構成を示す図である。 図14は、知識辞書の構成を示す図である。 図15は、禁則辞書の構成を示す図である。 図16は、第一の非決定性有限オートマトンの一例を示す図である。 図17は、第一の非決定性有限オートマトンを変換することで得られる第二の非決定性有限オートマトンの一例を示す図である。 図18は、照合結果データの構成を示す図である。 図19は、照合処理を示すフロー図である。 図20は、知識辞書探索処理を示すフロー図である。 図21は、知識辞書探索処理でのデータのアクセスの流れの一例を示す図である。 図22は、禁則辞書探索処理を示すフロー図である。 図23は、禁則辞書探索処理でのデータのアクセスの流れの一例を示す図である。 図24は、結果抽出の処理の流れを示すフロー図である。 図25は、結果抽出において参照されるデータとスタック上に積まれる文字コードの一例を示す図である。 図26は、変形例に係る認識装置10で認識結果として用いられる文字とそれらの文字の種別を表す記号の一例を示す図である。 図27は、変形例に係る認識装置10で認識される文字列を文字の種別を表す記号の列として表した知識辞書の内容の一例を示す図である。 図28は、変形例に係る照合結果データの一例を示す図である。 図29は、実施形態に係る認識装置10のハードウェア構成を示す図である。
図1は、実施形態に係る認識装置10の構成を示す図である。認識装置10は、例えばスキャナ等により読み取られた入力画像に含まれる文字列を認識し、認識した文字列を出力する。
認識装置10は、入力部30と、入力画像記憶部32と、様式データ記憶部34と、候補検出部36と、候補記憶部38と、文字認識辞書記憶部40と、認識部42と、知識辞書記憶部44と、照合部46と、照合結果記憶部48と、禁則辞書記憶部50と、禁則処理部52と、結果抽出部54と、出力部56を備える。
入力部30は、スキャナ等により取り込まれた入力画像を入力する。入力部30は、ネットワーク等を介して他のコンピュータから入力画像を入力してもよい。入力画像記憶部32は、入力部30により入力された入力画像を記憶する。
様式データ記憶部34は、入力画像における文字列が記載された領域を特定する様式データを記憶する。
候補検出部36は、様式データ記憶部34に記憶された様式データに基づいて、入力画像から、文字候補を検出する。それぞれの文字候補は、1つの文字を含むと推測される画素の集合である。候補検出部36は、検出した文字候補を候補記憶部38に書き込む。
候補記憶部38は、文字候補を記憶する。さらに、候補記憶部38は、文字候補のそれぞれに対応させて、その文字候補の認識結果の候補の文字である認識候補を記憶する。
文字認識辞書記憶部40は、文字認識辞書を記憶する。文字認識辞書は、認識対象の画像と、予め登録された文字のそれぞれとの類似度を算出するための情報を格納する。
認識部42は、文字認識辞書記憶部40に記憶された文字認識辞書に基づいて、候補記憶部38に記憶された文字候補のそれぞれを認識する。そして、認識部42は、1つの文字候補に対して、認識結果の候補の文字である少なくとも1つの認識候補を生成する。認識部42は、生成した少なくとも1つの認識候補を、文字候補に対応付けて候補記憶部38に書き込む。
知識辞書記憶部44は、認識対象の文字列をモデル化した知識辞書を記憶する。本実施形態においては、知識辞書は、認識対象の文字列をモデル化した決定性有限オートマトンである。
照合部46は、少なくとも1つの認識候補のそれぞれを知識辞書と照合して、入力画像に含まれると推測される文字列と知識辞書を照合して得られる少なくとも1つの照合結果を生成する。この過程において、照合部46は、対応する文字列の尤もらしさを表すスコアを含む照合結果を生成する。そして、照合部46は、生成した少なくとも1つの照合結果を照合結果記憶部48に書き込む。
照合結果記憶部48は、照合部46により生成された少なくとも1つの照合結果を記憶する。照合結果記憶部48は、文字候補の認識候補を並べて得られる文字列を先頭から知識辞書と照合していく過程における開始時点、途中段階および完了時点での照合結果を記憶する。なお、照合部46は、照合の途中段階において、記憶領域を節約することを目的として、スコアの低い照合結果を削除してもよい。
禁則辞書記憶部50は、禁止対象の文字列をモデル化した禁則辞書を記憶する。本実施形態においては、禁則辞書は、禁止対象の文字列をモデル化した決定性有限オートマトンである。
禁則処理部52は、少なくとも1つの照合結果のうち、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除する。本実施形態において、禁則処理部52は、照合結果により特定されるそれぞれの文字列を決定性有限オートマトンである禁則辞書と照合し、文字列が禁則辞書の決定性有限オートマトンで受理された場合、対応する照合結果を削除する。
禁則処理部52は、照合部46による照合の途中段階において禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果が発生した場合、その途中段階の照合結果を削除してもよい。また、禁則処理部52は、照合部46による照合が全て完了した後において、複数の照合結果のそれぞれに禁止対象の文字列を含むかを照合して、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除してもよい。
結果抽出部54は、照合部46による照合および禁則処理部52による削除が全て完了した後において、照合結果記憶部48に記憶された少なくとも1つの照合結果からスコアに基づき1個以上の照合結果を選択し、選択した1個以上の照合結果により特定される文字列を抽出する。結果抽出部54は、一例として、スコアが最も良い照合結果により特定される文字列を抽出する。
出力部56は、結果抽出部54により抽出された文字列を外部へと出力する。
図2は、実施形態に係る認識装置10の処理を示すフロー図である。まず、ステップS1において、認識装置10は、入力画像を入力する。
続いて、ステップS2において、認識装置10は、入力画像から、1つの文字を含むと推測される画素の集合である文字候補を検出する。続いて、ステップS3において、認識装置10は、文字認識辞書に基づいて、文字候補のそれぞれを認識して、認識結果の候補の文字である少なくとも1つの認識候補を生成する。
続いて、ステップS4において、認識装置10は、少なくとも1つの認識候補のそれぞれを知識辞書と照合して、入力画像に含まれると推測される文字列と知識辞書を照合して得られる少なくとも1つの照合結果を生成する。これとともに、ステップS4において、認識装置10は、照合結果により特定されるそれぞれの文字列を禁則辞書と照合し、禁則辞書の決定性有限オートマトンで受理される文字列と知識辞書を照合して得られた照合結果を削除する。
続いて、ステップS5において、認識装置10は、照合処理が全て完了した後において、照合結果からスコアに基づき1つの照合結果を選択し、選択した照合結果により特定される文字列を抽出し、認識結果の文字列とする。文字候補の個数が0個の場合、すなわち入力画像上に文字が含まれない場合、ステップS5において選択すべき照合結果が生成されないが、この場合は認識結果の文字列を空文字列とする。最後に、ステップS6において、認識装置10は、認識結果の文字列を出力する。
図3は、入力画像の一例を示す図である。本実施形態において、入力画像は、図3に示すように、商品を発注するための注文書をスキャナ等により取り込んで得られた画像データである。入力画像の予め定められた記入枠の内側には、発注者の名前が記入されている。本実施形態において、認識装置10は、予め定められた記入枠の内側に記入された日本語の名前の文字列を認識し、認識した文字列を表すテキストデータを出力する。
図4は、様式データの構成を示す図である。様式データ記憶部34は、予め作成された様式データを記憶する。
様式データは、図4に示すように、入力画像に含まれる記入枠の個数を示す値と、記入枠の個数分の記入枠レコードを格納する配列を含む。本例において、配列の最初のエントリのインデックスは、0である。すなわち、配列は、0オリジンである。なお、本実施形態で用いる他の配列も、特別の記載が無い限り0オリジンである。記入枠レコードのそれぞれは、入力画像に含まれるそれぞれの記入枠に一対一で対応する。
それぞれの記入枠レコードは、入力画像内における、対応する記入枠の位置を示す情報を含む。本例において、記入枠の位置を示す情報は、対応する記入枠の左右の端のX座標(横方向の座標)および上下の端のY座標(縦方向の座標)である。
図5は、入力画像から一連の文字候補を生成する処理を示す図である。候補検出部36は、記入枠レコードに示された情報に基づいて記入枠の領域を特定し(例えば図5中の点線で囲まれた領域)、特定した領域から部分領域画像を抽出する。続いて、候補検出部36は、抽出した部分領域画像を二値化して二値画像を生成する。続いて、候補検出部36は、二値画像上で黒画素の連結成分を抽出し、それぞれの連結成分に対してラベリングを行う。ラベリングしたそれぞれの連結成分は、文字を構成する要素であり、断片と呼ぶ。続いて、候補検出部36は、連続して並んだ1個以上の断片を組み合わせて、文字候補を生成する。文字候補は、1個の文字を表していると推測される画素の集合である。
図6は、断片データの構成を示す図である。候補記憶部38は、断片を表す断片データを記憶する。断片データは、図6に示すように、断片の個数を示す値と、断片の個数分の断片レコードを格納する配列を含む。断片レコードのそれぞれは、それぞれの断片と一対一で対応する。
それぞれの断片レコードは、対応する断片の位置を示す情報と、断片の形状を示す二値画像を含む。本例において、断片の位置を示す情報は、対応する断片の左右の端のX座標および上下の端のY座標であり、当該断片の外接矩形を示す。断片の形状を示す二値画像は、当該断片の外接矩形内で当該連結成分上の画素を黒画素とし、残りを白画素とした画像である。
候補検出部36は、それぞれの断片について、中心のX座標と、中心のY座標を算出する。中心のX座標は、左右の端のX座標の平均値である。中心のY座標は、上下の端のY座標の平均値である。そして、候補検出部36は、配列内の複数の断片レコードを、中心のX座標の昇順に整列する。これにより、候補検出部36は、配列内の複数の断片レコードを、記入枠における文字記入方向(本例では左から右に向かう方向)に整列することができる。
図7は、断片番号の一例を示す図である。それぞれの断片レコードは、配列のインデックスにより識別される。断片レコードを文字記入方向に整列した後のインデックスを、断片番号と呼ぶ。従って、それぞれの断片には、図7に示すように断片番号が対応付けられる。
図8は、文字候補データの構成を示す図である。候補検出部36は、連続して並んだ1個以上の断片を組み合わせて、文字候補を生成する。この過程において、候補検出部36は、外接の矩形の横幅Lが予め定められた長さ(Lmax)以下となる全てのパターンで1個以上の断片を組み合わせて、文字候補を生成する。
候補記憶部38は、文字候補を表す文字候補データを記憶する。文字候補データは、図8に示すように、生成した文字候補の個数を示す値と、文字候補マトリクス(詳細後述)と、文字候補の個数分の文字候補レコードを格納する配列を含む。文字候補レコードのそれぞれは、それぞれの文字候補と一対一で対応する。
それぞれの文字候補レコードは、対応する文字候補の位置を示す情報と、対応する文字候補の始点番号および終点番号(詳細後述)と、文字候補の形状を示す二値画像と、認識候補エントリを含む認識候補の配列(詳細後述)を含む。本例において、文字候補の位置を示す情報は、対応する文字候補の左右の端のX座標および上下の端のY座標であり、二値画像上での当該文字候補の外接矩形を示す。文字候補の形状を示す二値画像は、当該文字候補の外接矩形内で当該文字候補上の画素を黒画素とし、残りを白画素とした画像である。認識候補エントリは、認識部42により値が設定され、候補検出部36では値は設定されない。
図9は、文字候補番号の一例を示す図である。それぞれの文字候補レコードは、配列のインデックスにより識別される。文字候補レコードのインデックスを、文字候補番号と呼ぶ。従って、それぞれの文字候補には、図9に示すように文字候補番号が対応付けられる。
図10は、文字候補の始点番号および終点番号の一例を示す図である。文字候補は、連続して並んだ1個以上の断片を組み合わせて生成される。このため文字候補は、元となった1個以上の断片の並びのうちの先頭の断片に対する断片番号と、最後の断片に対する断片番号に1を加算した値とのセットで、一意に識別することができる。
本実施形態では、先頭の断片に対する断片番号を、その文字候補の始点番号と呼び、最後の断片に対する断片番号に1を加算した値を、その文字候補の終点番号と呼ぶ。従って、それぞれの文字候補には、図10に示すように、始点番号および終点番号が対応付けられる。なお、始点番号および終点番号は、文字候補の区切り位置を表すことから、始点番号および終点番号の両者をまとめて位置番号とも呼ぶ。
図11は、文字候補マトリクスの一例を示す図である。文字候補マトリクスは、図11に示すように、始点番号を第1インデックス、終点番号を第2インデックスとする文字候補番号の二次元配列である。文字候補マトリクスは、文字候補レコードの生成の開始前に、全てのエントリを−1に設定することで初期化される。そして、候補検出部36は、文字候補を作成する毎に、文字候補マトリクスの対応するエントリに文字候補番号を書き込む。
図12は、文字認識辞書の構成を示す図である。文字認識辞書記憶部40は、予め作成された文字認識辞書を記憶する。文字認識辞書は、図12に示すように、辞書エントリの個数を示す値と、辞書エントリを格納する配列を含む。
それぞれの辞書エントリは、文字コードと、予め定められたDsub個の基底ベクトルを含む。基底ベクトルは、文字コードに対応する文字を表す部分空間の特徴ベクトルである。特徴ベクトルは、一例として、対応する文字の二値画像を縦方向および横方向に予め任意に定めた個数で分割し、分割した領域のそれぞれの黒画素の個数の比率を求め、求めた一連の比率を特徴ベクトルの要素とすることで算出される。
図13は、認識候補の配列の構成を示す図である。文字候補レコードに格納される認識候補の配列は、図13に示すように、予め定められたNcand個の認識候補エントリを含む。それぞれの認識候補エントリは、文字コードと、類似度を含む。
認識部42は、文字候補のそれぞれに対して文字認識をして、認識結果の候補の文字である少なくとも1つの認識候補を生成する。本実施形態においては、認識部42は、それぞれの文字候補レコードに対して、予め定められたNcand個の認識候補エントリを生成して、認識候補の配列に書き込む。
より具体的には、認識部42は、対応する文字候補レコードに含まれる二値画像から特徴ベクトルを抽出し、文字認識辞書のそれぞれの辞書エントリに格納された基底ベクトルと部分空間法により照合して類似度を算出する。認識部42は、類似度が上位Ncand個の辞書エントリのそれぞれについて、その辞書エントリに格納された文字コードを抽出し、抽出した文字コードと算出した類似度を含む認識候補エントリを生成する。そして、認識部42は、生成したNcand個の認識候補エントリを対応する文字候補レコードの認識候補の配列に書き込む。さらに、認識部42は、それぞれの文字候補レコードの認識候補の配列に含まれる認識候補エントリを、類似度の降順で整列する。
図14は、知識辞書の構成を示す図である。知識辞書記憶部44は、設計者等が予め作成した知識辞書を記憶する。
本実施形態において、知識辞書は、認識対象の文字列をモデル化した決定性有限オートマトンである。本実施形態では、決定性有限オートマトンである知識辞書を、DFAαとも呼ぶ。DFAαは、例えば、設計者が認識対象の文字列を正規表現で記述し、その正規表現を決定性有限オートマトンに変換することで生成される。
DFAαは、図14に示すように、状態数を示す値と、状態の数分の状態レコードを格納する状態配列と、エッジの数分のエッジレコードを格納するエッジ配列を含む。
それぞれの状態レコードは、DFAαに含まれるそれぞれの状態と一対一に対応し、状態は状態レコードの番号すなわち状態番号で一意に識別される。なお、状態配列は0オリジンであり、従って状態番号が0の状態は開始状態である。それぞれの状態レコードは、受理状態フラグと、エッジ配列内のエッジレコードへのポインタと、エッジレコードの要素数を含む。
受理状態フラグは、当該状態が受理状態であるか否かを示す。受理状態フラグは、一例として、1の場合に受理状態であることを示し、0の場合に受理状態ではないことを示す。
エッジレコードへのポインタは、エッジ配列内における、当該状態から出て行くエッジの集合の格納位置を示す。エッジレコードの要素数は、当該状態から出て行くエッジの個数を表す。エッジレコードへのポインタおよび要素数により、当該状態から出て行く全てのエッジに対応するエッジレコードを特定することができる。
それぞれのエッジレコードは、DFAαに含まれるそれぞれのエッジと一対一に対応する。それぞれのエッジレコードは、遷移先の状態番号と、コードを含む。
遷移先の状態番号は、当該エッジによる遷移先の状態を特定する状態番号を表す。
コードは、当該エッジにより表される遷移を起こす入力記号を表す。本実施形態においては、コードには、文字を表す文字コードが格納される。従って、DFAαでは、認識候補の文字を表す文字コードにより、ある状態から他の状態への遷移が起きる。
図15は、禁則辞書の構成を示す図である。禁則辞書記憶部50は、設計者等が予め作成した禁則辞書を記憶する。
本実施形態において、禁則辞書は、禁止対象の文字列をモデル化した決定性有限オートマトンである。禁止対象の文字列は、入力が禁止される文字列、入力がありえない文字列および不自然な文字列等であり、例えば設計者により定義される。本実施形態では、決定性有限オートマトンである禁則辞書を、DFAβとも呼ぶ。
DFAβは、図15に示すように、状態数を示す値と、状態の数分の状態レコードを格納する状態配列と、エッジの数分のエッジレコードを格納するエッジ配列を含む。禁則辞書を構成するそれぞれの要素は、図14に示した知識辞書(DFAα)と同一であるので詳細な説明は省略する。
DFAβは、設計者が禁止対象の文字列を正規表現で記述し(モデル化し)、その正規表現を第一の非決定性有限オートマトンに変換し、第一の非決定性有限オートマトンを第二の非決定性有限オートマトンに変換し、第二の非決定性有限オートマトンを決定性オートマトンに変換することで得られる。
図16は、第一の非決定性有限オートマトンの一例を示す図である。図17は、第一の非決定性有限オートマトンを変換することで得られる第二の非決定性有限オートマトンの一例を示す図である。図16に示すオートマトンでは、開始状態から受理状態までの経路上の入力記号列が、禁止対象の文字列を表す。
第二の非決定性有限オートマトンは、図16に示すような第一の非決定性有限オートマトンを、次の手続きで変換することにより得られる。まず、第一の非決定性有限オートマトンに、開始状態から開始状態へと戻り、全ての文字(コード)が入力記号として割り当てられた自己ループのエッジが追加される。続いて、自己ループが追加されたオートマトンに、開始状態を除く全ての状態のそれぞれから開始状態へと戻り、空記号εが入力記号として割り当てられた空エッジ(ε遷移)を追加することで図17に示すような第二の非決定性有限オートマトンが得られる。
すなわち、第二の非決定性有限オートマトンは、図17に示すように、開始状態から受理状態までの経路上の入力記号列が、禁止対象の文字列を表す。さらに、第二の非決定性有限オートマトンは、開始状態から開始状態へと戻り全ての文字が入力記号として割り当てられた自己ループのエッジと、開始状態を除く全ての状態のそれぞれから開始状態へと戻り空記号が入力記号として割り当てられた空エッジを含む。
このように構成した第二の非決定性有限オートマトンを決定性有限オートマトンに変換することで得られるDFAβは、禁止対象の文字列をモデル化したものとなっており、禁止対象の文字列を含む文字列を入力した場合に、受理状態に確実に遷移するように構成されている。
なお、正規表現から非決定性有限オートマトンまたは決定性有限オートマトンを生成する方法、非決定性有限オートマトンから決定性有限オートマトンを生成する方法は、例えば、A.V.エイホ,R.セシィ,J.D.ウルマン著、原田健一訳、コンパイラI,初版 1986、pp.134−172等に記載されている。
図18は、照合結果データの構成を示す図である。照合部46は、文字候補に含まれる認識候補のそれぞれを、先頭から順次に知識辞書と照合して、入力画像の記入枠内に記載されていると推測される文字列と知識辞書を照合して得られる照合結果を生成する。そして、照合部46は、生成した照合結果を、照合結果記憶部48に書き込む。これとともに、禁則処理部52は、照合結果により特定される文字列を、禁則辞書と照合して、禁則辞書の決定性有限オートマトンで受理される文字列を表す照合結果を照合結果記憶部48から削除する。
照合結果記憶部48は、照合結果データを記憶する。照合結果データは、それぞれの位置番号毎に、照合結果の個数と、照合結果の配列を含む。
照合結果の個数は、当該位置番号に関連付けられた照合結果の個数を表す。照合結果の配列は、当該位置番号に関連付けられた照合結果を格納する。それぞれの照合結果は、状態番号αと、状態番号βと、スコアと、コードと、位置番号および照合結果の番号のペアを含む。また、それぞれの照合結果は、格納先の配列が関連付けられた位置番号および、格納先の配列内での配列要素としての番号のペアで一意に識別される。以降では、照合結果の格納先の配列が関連付けられた位置番号を「照合結果が関連付けられた位置番号」、照合結果の格納先の配列内での配列要素としての番号を「照合結果の番号」と呼称する。
状態番号αは、知識辞書(DFAα)の状態を表す。すなわち、状態番号αは、先頭の認識候補から当該位置の認識候補までのそれぞれの文字に応じて、DFAαを開始状態から順次に遷移させた場合に到達する状態を示す。
状態番号βは、禁則辞書(DFAβ)の状態を表す。すなわち、状態番号βは、当該照合結果により特定される文字列に含まれるそれぞれの文字に応じて、DFAβを開始状態から順次に遷移させた場合に到達する状態を示す。
スコアは、先頭の認識候補から当該位置の認識候補までのそれぞれに対応付けられた類似度を累積した値を表す。すなわち、スコアは、先頭の認識候補から当該位置の認識候補までの文字列の尤もらしさを表す。コードは、当該位置の認識候補の文字を表す文字コードである。
位置番号および照合結果の番号のペアは、先頭から当該位置まで1個ずつ文字候補をたどりながら文字候補の認識候補を入力記号としてDFAαを遷移させながら照合結果を生成していく過程における、直前の照合結果が関連付けられた位置番号および、直前の照合結果の番号を表す。位置番号および照合結果の番号のペアは、結果抽出部54が認識結果の文字列を抽出する際に参照される。
図19は、照合処理を示すフロー図である。図2のステップS4に示した照合処理の詳細について図19を参照して説明する。
まず、ステップS11において、照合部46は、照合結果データを初期化する。具体的には、照合部46は、照合結果データの全ての位置番号について、照合結果の個数を0に設定するとともに、照合結果の配列を空にする。
続いて、ステップS12において、照合部46は、位置番号0に関連付けて、新たな1つの照合結果を生成する。新たな1つの照合結果は、状態番号αおよび状態番号βが0に、スコアが0に、位置番号および照合結果の番号が−1に、コードが−1に設定される。続いて、ステップS13において、照合部46は、位置番号0に関連付けられた照合結果の個数を1に設定する。続いて、ステップS14において、照合部46は、位置番号を表す変数Pstに0を代入する。
続いて、ステップS15において、照合部46は、Pstが、Pstmax以下であるか否かを判断する。Pstmaxは、最後の位置番号Pedから1を減じた値である。照合部46は、PstがPstmax以下である場合(ステップS15の真)、処理をステップS16に進める。
ステップS16において、照合部46は、禁則処理部52を呼び出す。ステップS16において、禁則処理部52は、位置番号Pstに関連付けられたそれぞれの照合結果について、禁則辞書を用いて禁則辞書探索処理を実行する。これにより、禁則処理部52は、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除することができる。なお、禁則辞書探索処理の詳細については、図22および図23を参照して後述する。
続いて、ステップS17において、照合部46は、Pstに関連付けられた照合結果を、スコアが最上位からNpr番目までに絞り込む。すなわち、照合部46は、スコアがNpr番目より低い照合結果を削除する。
続いて、ステップS18において、照合部46は、Pstに関連付けられたそれぞれの照合結果に対して、知識辞書を用いて知識辞書探索処理を実行する。これにより、照合部46は、Pstより後ろの位置番号に関連付けた新たな照合結果を生成することができる。なお、知識辞書探索処理については、図20および図21を参照して後述する。
続いて、ステップS19において、照合部46は、Pstに1を加算する。照合部46は、ステップS19を終了すると、処理をステップS15に戻す。そして、照合部46は、PstがPstmaxを超えるまで、ステップS16からステップS19の処理を繰り返す。
PstがPstmax以下ではなくなった場合(ステップS15の偽)、照合部46は、処理をステップS20に進める。ステップS20において、照合部46は、禁則処理部52を呼び出す。ステップS20において、禁則処理部52は、最後の位置番号Pedに関連付けられたそれぞれの照合結果について、禁則辞書を用いて禁則辞書探索処理を実行する。これにより、禁則処理部52は、禁止対象の文字列を知識辞書と照合した結果得られる照合結果を削除することができる。そして、照合部46は、ステップS20の処理を終えると、本フローを終了する。
図20は、知識辞書探索処理を示すフローチャートである。図21は、知識辞書探索処理でのデータアクセスの流れの一例を示す。
図20および図21を参照しながら、図19のステップS18の知識辞書探索処理を説明する。まず、ステップS31において、照合部46は、照合結果データを参照し、Pstに関連付けられた全ての照合結果を列挙する。
続いて、ステップS32において、照合部46は、文字候補データの配列内の文字候補レコードを参照し、Pstを始点位置とする全ての文字候補を列挙する。照合部46は、文字候補マトリクスにおける始点番号がPstに一致する全てのエントリを走査し、−1以外の文字候補の番号を収集することで、Pstを始点位置とする全ての文字候補を列挙することができる。
続いて、照合部46は、ステップS32で列挙した全ての文字候補レコードのそれぞれに対して、ステップS34〜ステップS48の処理を実行する(ステップS33とステップS49との間のループ処理)。以降ではこのループ処理における処理対象の文字候補レコードに対応する文字候補を「文字候補Cc」と称する。
ステップS34において、照合部46は、文字候補Ccに対応する文字候補レコードの認識候補の配列を参照し、当該文字候補の全ての認識候補エントリを列挙する。
続いて、照合部46は、ステップS34で列挙した全ての認識候補エントリのそれぞれに対して、ステップS36〜ステップS47の処理を実行する(ステップS35とステップS48との間のループ処理)。以降ではこのループ処理における処理対象の認識候補エントリに対応する認識候補を「認識候補Cr」と称する。
続いて、照合部46は、ステップS31で列挙した、Pstに関連付けられた全ての照合結果のそれぞれに対して、ステップS37〜ステップS46の処理を実行する(ステップS36とステップS47との間のループ処理)。以降ではこのループ処理における処理対象の照合結果を「照合結果Mp」と称する。
ステップS37において、照合部46は、知識辞書(DFAα)を参照して、照合結果Mpに含まれる状態番号αに対応する状態レコードを列挙する。
続いて、ステップS38において、照合部46は、ステップS37で列挙した状態レコードに含まれるエッジレコードへのポインタおよびエッジレコードの要素数により、状態番号αの状態から出て行くエッジを表すエッジレコードの格納された範囲を特定することで、状態番号αの状態から出て行くエッジを表す全てのエッジレコードを列挙する。
続いて、照合部46は、ステップS38で列挙した全てのエッジレコードのそれぞれに対して、ステップS40〜ステップS45の処理を実行する(ステップS39とステップS46との間のループ処理)。以降ではこのループ処理における処理対象のエッジレコードを「エッジレコードEr」と称する。
ステップS40において、照合部46は、認識候補Crの認識候補エントリに設定された文字コードと、エッジレコードErに設定された文字コードとが一致するか否かを判断する。一致しない場合(ステップS40のNo)、照合部46は、次のエッジレコードに処理を移し、ステップS40からの処理を繰り返す。一致する場合(ステップS40のYes)、照合部46は、処理をステップS41に進める。
ステップS41において、照合部46は、文字候補Ccの文字候補レコードの終点位置に関連付けて新しい照合結果Mnを生成して、照合結果データに書き込む。
続いて、ステップS42において、照合部46は、新しい照合結果Mnに状態番号αとして、エッジレコードErに設定された状態番号(遷移先の状態番号)を設定する。また、照合部46は、新しい照合結果Mnに状態番号βとして−1を設定する。
続いて、ステップS43において、照合部46は、新しい照合結果Mnにコードとして、認識候補Crの認識候補エントリに設定された文字コードを設定する。
続いて、ステップS44において、照合部46は、新しい照合結果Mnに位置番号として、照合結果Mpが関連付けられた位置番号Pstを設定する。また、照合部46は、新しい照合結果Mnに照合結果の番号として、照合結果Mpの番号を格納する。
続いて、ステップS45において、照合部46は、新しい照合結果Mnにスコアとして、照合結果Mpに格納されたスコアと、認識候補Crの認識候補エントリに格納された類似度を加算した値を設定する。
ステップS46において、照合部46は、全てのエッジレコードについて、ステップS40〜ステップS45の処理を終えると、ループを抜けて処理をステップS47に進める。
ステップS47において、照合部46は、Pstに関連付けられた全ての照合結果について、ステップS37〜ステップS46の処理を終えると、ループを抜けて処理をステップS48に進める。
ステップS48において、照合部46は、文字候補Ccに対応する全ての認識候補エントリについて、ステップS36〜ステップS47の処理を終えると、ループを抜けて処理をステップS49に進める。
そして、ステップS49において、照合部46は、全ての文字候補レコードについて、ステップS34〜ステップS48の処理を終えると、ループを抜けて、本フローを終了する。
このように照合部46は、第1の文字候補の照合結果に、照合により到達した知識辞書(DFAα)の状態を示す番号(状態番号α)を書き込む。そして、照合部46は、第1の文字候補に続く第2の文字候補を知識辞書(DFAα)と照合する際、第1の文字候補の照合結果に書き込まれた番号(状態番号α)に示される状態から第2の文字候補の認識候補による状態遷移に対応するエッジを辿ることで第2の文字候補を照合する。
図22は、禁則辞書探索処理を示すフローチャートである。図23は、禁則辞書探索処理でのデータの流れを示す。
図22および図23を参照しながら、禁則辞書探索処理を説明する。まず、ステップS51において、禁則処理部52は、照合結果データを参照し、Pstに関連付けられた全ての照合結果を列挙する。
続いて、禁則処理部52は、ステップS51で列挙した全ての照合結果のそれぞれに対して、ステップS53〜ステップS62の処理を実行する(ステップS52とステップS63との間のループ処理)。以降ではこのループ処理における処理対象の照合結果を「照合結果Mt」と称する。
ステップS53において、禁則処理部52は、照合結果Mtに格納された位置番号および照合結果の番号により特定される直前の照合結果Mを取得する。
続いて、ステップS54において、禁則処理部52は、禁則辞書(DFAβ)を参照して、直前の照合結果Mに格納された状態番号βに対応する状態レコードを取得する。
続いて、ステップS55において、禁則処理部52は、ステップS54で取得した状態レコードに格納されたエッジレコードへのポインタおよびエッジレコードの要素数により、から、状態番号βの状態から出て行くエッジを表すエッジレコードが格納された範囲を特定することで、状態番号βの状態から出て行くエッジを表す全てのエッジレコードを列挙する。
続いて、ステップS56とステップS58との間のループ処理において、禁則処理部52は、ステップS55で列挙した全てのエッジレコードのそれぞれに対して、ステップS57の判断処理を実行する。以降ではこのループ処理における処理対象のエッジレコードを「エッジレコードEt」と称する。
ステップS57において、禁則処理部52は、処理対象の照合結果Mtに格納された文字コードと、エッジレコードEtに格納された文字コードが一致するか否かを判断する。一致しない場合(ステップS57のNo)、禁則処理部52は、次のエッジレコードの処理に移り、ステップS57の処理を繰り返す。一致する場合(ステップS57のYes)、禁則処理部52は、ステップS56とステップS58との間のループ処理を抜けて、処理をステップS59に進める。
ステップS59において、禁則処理部52は、エッジレコードEtの遷移先の状態番号により特定される状態レコードStの受理状態フラグを確認し、状態レコードStに対応するDFAβの状態が受理状態であるか否かを判断する。
受理状態である場合(ステップS59のYes)、ステップS61において、禁則処理部52は、照合結果Mtを削除する。受理状態ではない場合(ステップS59のNo)、ステップS60において、禁則処理部52は、照合結果Mtに状態番号βとして、エッジレコードEtの遷移先の状態番号を設定する。
また、禁則処理部52は、ステップS56とステップS58との間のループ処理において、全てのエッジレコードについて、文字コードが一致しない場合、処理をステップS62に進める。ステップS62において、禁則処理部52は、照合結果Mtに状態番号βとして、初期状態を表す0を設定する。
ステップS60、ステップS61またはステップS62の処理を終えると、禁則処理部52は、次の照合結果について、ステップS52から処理を繰り返す。
そして、ステップS63において、禁則処理部52は、全ての照合結果について、ステップS53〜ステップS62の処理を終えると、ループを抜けて、本フローを終了する。
このように禁則処理部52は、第1の照合結果により特定される文字列を照合することにより到達した禁則辞書(DFAβ)の状態を示す番号(状態番号β)を第1の照合結果に書き込む。そして、禁則処理部52は、第1の照合結果に続く第2の文字候補を知識辞書(DFAα)と照合して得られた第2の照合結果により特定される文字列を照合する際、第1の照合結果に書き込まれた番号に示されるDFAβの状態から第2の文字候補の認識候補による状態遷移に対応するエッジを辿ることで、第2の照合結果により特定される文字列を照合する。
図24は、結果抽出部で行われる結果抽出の処理の流れを示す図である。図25は、結果抽出において参照されるデータとスタック上に積まれる文字コードの様子を示す図である。
図2のステップS5に示した結果抽出は結果抽出部54で行われる。以降では、結果抽出の詳細について図24および図25を参照して説明する。まず、ステップS70において結果抽出部54は、文字候補の個数が0であるか否か確認し、文字候補の個数が0の場合はステップS84において認識結果の文字列を空文字列として本フローを終了する。文字候補の個数が0でない場合は、ステップS71において、結果抽出部54は、最後の位置番号Pedに関連付けられた全ての照合結果を列挙した上で、ステップS72以降の処理を実行する。
続いて、ステップS72において、結果抽出部54は、ステップS71において列挙した照合結果のそれぞれについて、知識辞書(DFAα)から状態番号αに対応する状態レコードを取得して、受理状態フラグを確認する。
続いて、ステップS73において、結果抽出部54は、状態番号αに対応する状態が受理状態の照合結果があるかを判断する。以降では、状態番号αに対応する状態が受理状態の照合結果を「DFAαで受理状態の照合結果」と称する。DFAαで受理状態の照合結果がある場合には(ステップS73のYes)、ステップS74において、結果抽出部54は、DFAαで受理状態の照合結果のうち、スコアが最大の照合結果を照合結果Mxとして選択する。DFAαで受理状態の照合結果が無い場合には(ステップS73のNo)、ステップS75において、結果抽出部54は、列挙した全ての照合結果のうち、スコアが最大の照合結果を照合結果Mxとして選択する。
ステップS74またはステップS75の処理に続いて、ステップS76において、結果抽出部54は、位置番号を表す変数pに、選択した照合結果Mxが関連付けられた位置番号pxを代入する。また、結果抽出部54は、照合結果の番号を表す変数mに、選択した照合結果Mxの番号mxを代入する。
続いて、ステップS77において、結果抽出部54は、FILO(First In Last Out)メモリであるスタックを空にする。
続いて、ステップS78において、pとmとが指す照合結果のコードが−1であるかを判断する。pとmとが指す照合結果のコードが−1ではない場合(ステップS78の偽)、結果抽出部54は、処理をステップS79に進める。
ステップS79において、結果抽出部54は、pとmとが指す照合結果に格納されているコードをスタックに積む。続いて、ステップS80において、結果抽出部54は、pにpとmとが指す照合結果に格納された位置番号を、mにpとmとが指す照合結果に格納された照合結果の番号を代入する。
そして、結果抽出部54は、ステップS80の処理を終えると、処理をステップS78に戻して、pとmとが指す照合結果に格納されたコードが−1となるまで、ステップS79とステップS80の処理を繰り返す。これにより、結果抽出部54は、図25に示すように、文字列の末尾から順に文字コードを選択して、スタックに積み上げていくことができる。
pとmとが指す照合結果のコードが−1である場合(ステップS78の真)、すなわち、位置番号が0に関連付けられた照合結果を指す場合には、結果抽出部54は、処理をステップS81に進める。ステップS81において、結果抽出部54は、メモリに格納された認識結果の文字列を空文字列に初期化する。
続いて、ステップS82において、スタックが空であるかを判断する。スタックが空ではない場合(ステップS82の偽)、結果抽出部54は、ステップS83において、スタックのトップからコードを1つ取り出して、メモリに格納された認識結果の文字列の末尾に追加する。
ステップS83の処理を終えると、結果抽出部54は、処理をステップS82に戻して、スタックが空になるまで、ステップS83の処理を繰り返す。これにより、結果抽出部54は、文字列の先頭から末尾までを生成することができる。
そして、結果抽出部54は、スタックが空となった場合(ステップS82の真)、本フローの処理を終了する。
以上のように、本実施形態に係る認識装置10は、禁止対象の文字列をモデル化した禁則辞書を用いて、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除する。これにより、本実施形態に係る認識装置10で、使用されることが無い文字列および使用することが禁止される文字列等を効率良く排除して、文字列を精度良く認識することができる。
(変形例)
変形例に係る認識装置10は、知識辞書および照合結果データの形式と、照合部46、禁則処理部52および結果抽出部54の働きが異なる点を除いては、図1から図25を参照して説明した構成と同様である。以下、変形例に係る認識装置10について、図1から図25を参照して説明した構成との相違点を説明する。
図26は、変形例に係る認識装置10で認識結果として用いられる文字とそれらの文字の種別を表す記号の一例を示す図である。図27は、変形例に係る認識装置10で認識される文字列を文字の種別を表す記号の列として表した知識辞書の内容の一例を示す図である。
変形例に係る認識装置10は、文字の種別を現す記号を並べた文字列をモデル化した知識辞書を用いる。文字の種別を現す記号は、一例として、1から9までの数字を示す記号「N」、0から9までの数字を現す記号「n」、ハイフンを現す記号「−」、マンション名、アパート名、棟名に使われる文字を現す記号「M」を用いる。知識辞書は、図27に示されるような、これらの記号を並べたワイルドカード文字列が含まれている。
図28は、変形例に係る照合結果データの一例を示す図である。本変形例において、照合結果データに含まれる照合結果のそれぞれは、スコアsと、置換え済み文字数cと、ワイルドカード文字列を部分的に認識結果で置き換えた文字列wとの組を含む。
照合結果データは、位置番号のそれぞれに対応して、照合結果が格納される配列と、配列の要素数を含む。なお、図28において、照合結果の文字列wのアンダーラインを示した文字は、ワイルドカードから認識結果に置き換えられた部分を示す。
本変形例において照合部46は、先ず、知識辞書に含まれる文字列のそれぞれを複写し、位置番号0の照合結果の配列の要素に設定することで、位置番号0の照合結果の配列を初期化する。それぞれの照合結果には、スコアとして0、置換え済み文字数として0、文字列wとして知識辞書から複写した文字列が設定される。続いて、照合部46は、位置番号Pstを1からPstmaxまで順に1ずつ増加させながら、位置番号Pst+1以降の照合結果を生成する。
本変形例において、照合部46は、知識辞書探索処理において、照合結果の置換え済み文字数cを取得し、当該照合結果の文字列wのc番目の文字が文字候補Ccの認識候補Crの文字コードと一致する場合は、文字候補Ccの終点番号と等しい位置番号に関連付けて、新しい照合結果Mnを生成する。新しい照合結果Mnには、直前の照合結果のスコアに認識候補Crの類似度を加算したスコアと、置き換え済みの文字数c+1と、照合結果の文字列wのc番目の文字を認識候補Crに置き換えた文字列とが設定される。
本変形例において、禁則処理部52は、禁則辞書探索処理において、照合結果の置換え済み文字数cを取得し、照合結果の文字列のc−1番目の文字までの部分文字列が禁則辞書に格納されたDFAβで受理されるか否か確認する。そして、禁則処理部52は、受理される場合、その照合結果を削除し、受理されない場合にはその照合結果を残存させる。
このように、認識装置10は、認識対象の文字列をモデル化した知識辞書と文字候補を照合することで照合結果を得る方法であれば、どのような方法で文字列を照合してもよい。また、認識装置10は、禁止対象の文字列を照合結果から検出する方法であれば、どのような方法で禁止対象の文字列を検出してもよい。
図29は、実施形態に係る認識装置10のハードウェア構成を示す図である。
認識装置10は、プログラムを実行可能な一般的なコンピュータシステムにより実現することができる。認識装置10は、一例として、ディスプレイ110と、キーボード112と、スキャナ114と、外部記憶装置116と、通信装置118と、コンピュータ120を備える。
ディスプレイ110は、表示装置であり、認識した文字列等を表示する。キーボード112は、入力装置であり、ユーザからの操作を受け付けて情報を入力する。スキャナ114は、用紙等に記載された情報を読み取って入力画像等を取得する。外部記憶装置116は、ハードディスクドライブまたは光ディスクドライブ等であり、各種の情報を記憶する。通信装置118は、インターネット等を介して外部のコンピュータ等と情報を入出力し、例えば入力画像を外部から取得したり、文字列を外部へと出力したりする。
コンピュータ120は、一例として、CPU122と、入出力制御部124と、記憶装置126を有する。CPU122、入出力制御部124および記憶装置126は、バス128により接続される。
CPU122は、プログラムを実行して認識装置10の全体の制御をする。入出力制御部124は、ディスプレイ110、キーボード112、スキャナ114、外部記憶装置116および通信装置118等とのインターフェイスである。また、入出力制御部124は、バス128を介したデータ転送等も制御する。
記憶装置126は、ROM、RAMまたはハードディスクドライブ等を含む。記憶装置126では、同一のアドレス空間により、ROM、RAMまたはハードディスクドライブ等の何れのデバイスに対してもアクセスが可能である。記憶装置126は、プログラム、入力画像、様式データ、辞書データ(文字認識辞書、知識辞書および禁則辞書)、および、作業データ(文字候補および照合結果)等を記憶する。これらのデータは、記憶装置を構成する何れのデバイス(ROM、RAMおよびハードディスクドライブ)に記憶されていてもよい。また、これらのデータは、一部または全部が、外部記憶装置116、または、通信装置118を介してアクセスされるサーバ等に記憶されていてもよい。
本実施形態の認識装置10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、本実施形態の認識装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の認識装置10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施形態の認識装置10で実行されるプログラムは、上述した各部(入力部30、候補検出部36、認識部42、照合部46、禁則処理部52、結果抽出部54および出力部56)を含むモジュール構成となっており、実際のハードウェアとしてはCPU122(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、入力部30、候補検出部36、認識部42、照合部46、禁則処理部52、結果抽出部54および出力部56が記憶装置126上に生成されるようになっている。なお、入力部30、候補検出部36、認識部42、照合部46、禁則処理部52、結果抽出部54および出力部56は、一部または全部がハードウェアで構成されていてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10 認識装置
30 入力部
32 入力画像記憶部
34 様式データ記憶部
36 候補検出部
38 候補記憶部
40 文字認識辞書記憶部
42 認識部
44 知識辞書記憶部
46 照合部
48 照合結果記憶部
50 禁則辞書記憶部
52 禁則処理部
54 結果抽出部
56 出力部
110 ディスプレイ
112 キーボード
114 スキャナ
116 外部記憶装置
118 通信装置
120 コンピュータ
122 CPU
124 入出力制御部
126 記憶装置
128 バス

Claims (10)

  1. 入力画像から、文字を含むと推測される画素の集合である文字候補を検出する候補検出部と、
    前記文字候補のそれぞれを認識して、認識結果の候補の文字である少なくとも1つの認識候補を生成する認識部と、
    前記少なくとも1つの認識候補のそれぞれを、認識対象の文字列をモデル化した知識辞書と照合して、前記入力画像に含まれると推測される文字列と知識辞書を照合して得られる照合結果を生成する照合部と、
    前記照合結果のうち、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除する禁則処理部と、
    を備える認識装置。
  2. 前記照合部は、対応する文字列の尤もらしさを表すスコアを含む照合結果を生成し、
    前記認識装置は、前記照合結果から前記スコアに基づき1つの照合結果を選択し、選択した照合結果により特定される文字列を抽出する結果抽出部をさらに備える
    請求項1に記載の認識装置。
  3. 前記知識辞書は、認識対象の文字列をモデル化した有限オートマトンである
    請求項1に記載の認識装置。
  4. 前記知識辞書は、第1の決定性有限オートマトンであり、
    前記照合部は、
    第1の文字候補の照合結果に、照合により到達した前記第1の決定性有限オートマトンの状態を示す番号を書き込み、
    前記第1の文字候補に続く第2の文字候補を前記第1の決定性有限オートマトンと照合する際、前記第1の文字候補の照合結果に書き込まれた番号に示される状態から第2の文字候補の認識候補による状態遷移に対応するエッジを辿ることで第2の文字候補を照合する
    請求項3に記載の認識装置。
  5. 前記禁則処理部は、前記照合結果により特定される文字列を、禁止対象の文字列をモデル化した禁則辞書と照合し、禁止対象の文字列を含む文字列と知識辞書を照合して得られる照合結果を削除する
    請求項1に記載の認識装置。
  6. 前記禁則辞書は、禁止対象の文字列をモデル化した有限オートマトンである
    請求項5に記載の認識装置。
  7. 前記禁則辞書は、第2の決定性有限オートマトンであり、
    前記禁則処理部は、
    第1の照合結果により特定される文字列を照合することにより到達した前記第2の決定性有限オートマトンの状態を示す番号を前記第1の照合結果に書き込み、
    前記第1の照合結果に続く第2の文字候補を前記第2の決定性有限オートマトンと照合して得られた第2の照合結果により特定される文字列を照合する際、前記第1の照合結果に書き込まれた番号に示される状態から前記第2の文字候補の認識候補による状態遷移に対応するエッジを辿ることで、前記第2の照合結果により特定される文字列を照合する
    請求項6に記載の認識装置。
  8. 前記第2の決定性有限オートマトンが、
    禁止対象の文字列を含む文字列を入力した場合に、受理状態に遷移するように構成されている
    ことを特徴とした請求項7に記載の認識装置。
  9. 入力画像から、文字を含むと推測される画素の集合である文字候補を検出する候補検出ステップと、
    前記文字候補のそれぞれを認識して、認識結果の候補の文字である少なくとも1つの認識候補を生成する認識ステップと、
    前記少なくとも1つの認識候補のそれぞれを、認識対象の文字列をモデル化した知識辞書と照合して、前記入力画像に含まれると推測される文字列と知識辞書を照合して得られる照合結果を生成する照合ステップと、
    前記照合結果のうち、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除する禁則処理ステップと、
    を含む認識方法。
  10. コンピュータを認識装置として機能させるためのプログラムであって、
    前記コンピュータに、
    入力画像から、文字を含むと推測される画素の集合である文字候補を検出する候補検出ステップと、
    前記文字候補のそれぞれを認識して、認識結果の候補の文字である少なくとも1つの認識候補を生成する認識ステップと、
    前記少なくとも1つの認識候補のそれぞれを、認識対象の文字列をモデル化した知識辞書と照合して、前記入力画像に含まれると推測される文字列と知識辞書を照合して得られる照合結果を生成する照合ステップと、
    前記照合結果のうち、禁止対象の文字列を含む文字列と知識辞書を照合して得られた照合結果を削除する禁則処理ステップと、
    を実行させるプログラム。
JP2014044341A 2014-03-06 2014-03-06 認識装置、認識方法およびプログラム Active JP6320089B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014044341A JP6320089B2 (ja) 2014-03-06 2014-03-06 認識装置、認識方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014044341A JP6320089B2 (ja) 2014-03-06 2014-03-06 認識装置、認識方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015170129A JP2015170129A (ja) 2015-09-28
JP6320089B2 true JP6320089B2 (ja) 2018-05-09

Family

ID=54202817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014044341A Active JP6320089B2 (ja) 2014-03-06 2014-03-06 認識装置、認識方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6320089B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019021600A1 (ja) * 2017-07-24 2019-01-31 京セラドキュメントソリューションズ株式会社 画像処理装置
JP7401202B2 (ja) * 2019-06-17 2023-12-19 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5851309B2 (ja) * 1979-04-21 1983-11-15 日本電信電話株式会社 文字選択処理方式
JPH07114622A (ja) * 1993-10-20 1995-05-02 Hitachi Ltd 文字認識装置の後処理方法
JPH07282203A (ja) * 1994-04-07 1995-10-27 Hitachi Ltd 文字入力装置
JP3313272B2 (ja) * 1996-01-08 2002-08-12 株式会社日立製作所 住所読み取り方法および識別関数重みベクトル生成方法

Also Published As

Publication number Publication date
JP2015170129A (ja) 2015-09-28

Similar Documents

Publication Publication Date Title
TWI321294B (en) Method and device for determining at least one recognition candidate for a handwritten pattern
JP3689455B2 (ja) 情報処理方法及び装置
JP5125573B2 (ja) 領域抽出プログラム、文字認識プログラム、および文字認識装置
JP3480404B2 (ja) 単語大分類装置及びその単語大分類方法並びにその制御プログラムを記録した記録媒体
JP6003705B2 (ja) 情報処理装置及び情報処理プログラム
US10963717B1 (en) Auto-correction of pattern defined strings
US11475688B2 (en) Information processing apparatus and information processing method for extracting information from document image
EP3539051A1 (en) System and method of character recognition using fully convolutional neural networks
KR20090090280A (ko) 패턴 인식 방법, 및 패턴 인식 프로그램을 기억하는 기억 매체
US10438097B2 (en) Recognition device, recognition method, and computer program product
JP2008310772A (ja) 情報処理装置、その制御プログラムおよび該制御プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに制御方法
JP6320089B2 (ja) 認識装置、認識方法およびプログラム
US8208685B2 (en) Word recognition method and word recognition program
JP5942361B2 (ja) 画像処理装置及び画像処理プログラム
JP2009093305A (ja) 帳票認識装置
JP5252596B2 (ja) 文字認識装置、文字認識方法及びプログラム
WO2010026804A1 (ja) 近似照合装置、近似照合方法、プログラム及び記録媒体
JP6334209B2 (ja) 認識装置、認識方法およびプログラム
JP7322468B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2016181458A1 (ja) 認識装置、認識方法およびプログラム
JP2008186056A (ja) 手書き文字入力装置および手書き文字入力プログラム
JP2010237909A (ja) 知識補正プログラム、知識補正装置および知識補正方法
JP2586372B2 (ja) 情報検索装置及び情報検索方法
JP7421384B2 (ja) 情報処理装置、修正候補表示方法、及びプログラム
JP2903779B2 (ja) 文字列認識方法及びその装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160923

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180403

R150 Certificate of patent or registration of utility model

Ref document number: 6320089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150