(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-06
(45)【発行日】2023-11-14
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06V 30/26 20220101AFI20231107BHJP
【FI】
G06V30/268
(21)【出願番号】P 2019030395
(22)【出願日】2019-02-22
【審査請求日】2021-09-16
(73)【特許権者】
【識別番号】000136136
【氏名又は名称】株式会社PFU
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】古川 健太郎
(72)【発明者】
【氏名】島崎 克仁
【審査官】宮島 潤
(56)【参考文献】
【文献】特開平4-267492(JP,A)
【文献】特開2000-339403(JP,A)
【文献】特開2000-123116(JP,A)
【文献】特開2003-50968(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00 - 30/12
G06V 30/226 - 30/32
G06V 30/42 - 30/424
(57)【特許請求の範囲】
【請求項1】
文字認識処理の結果に対する修正履歴を、文字認識処理対象のメタ情報の種別を表す各項目、及び、前記各項目の内容を示す文字列である項目値に関連付けて格納する修正履歴格納部と、
新たに入力された文字認識処理の結果と、前記項目値とを、前記各項目毎に比較する比較部と、
前記比較部による比較結果に基づいて、前記修正履歴格納部に格納されている項目値の組合せを選択する組合せ選択部と、
選択された前記組合せを用いて、新たに入力された文字認識処理の結果を補正する補正部と、
を有し、
前記修正履歴格納部は、前記各項目毎に、修正前の項目値である第一項目値と、修正後の項目値である第二項目値とを互いに関連付けて格納し、
前記比較部は、前記第一項目値と、新たに入力された文字認識処理結果に含まれる項目値である第三項目値とを比較
するとともに、前記第二項目値と前記第三項目値とを比較し、
前記組合せ選択部は、前記第三項目値に一致する前記第一項目値と、前記第三項目値に一致する前記第一項目値に関連付けられている前記第二項目値との前記組合せを選択し、
前記補正部は、選択された前記組合せに含まれる前記第二項目値によって前記第三項目値を補正する、
情報処理装置。
【請求項2】
前記組合せ選択部により選択された項目値の組合せの妥当性を
、前記修正履歴格納部に格納されている修正履歴の前記項目値の組合せ毎に登録されたユーザの操作による修正回数に基づいて評価
し、前記修正回数が所定回数以上である場合に前記項目値の組合せが妥当であると判断する一方で、前記修正回数が前記所定回数未満である場合に前記項目値の組合せが妥当でないと判断する妥当性評価部、をさらに有し、
前記補正部は、前記妥当性評価部により妥当であると判断された場合に、補正を実行する、
請求項1に記載の情報処理装置。
【請求項3】
ユーザの操作に応じて
、文字認識処理の結果に対する修正を実行する修正部と、
前記修正部により修正された項目及び修正後の項目値を、修正前の項目値に関連付けて前記修正履歴格納部に追加登録する修正履歴登録部と、
をさらに有する請求項1に記載の情報処理装置。
【請求項4】
前記組合せ選択部は、複数の項目における項目値全体の類似度が高いものとしてレーベンシュタイン距離の合算値が最も小さいものを、項目値の組合せとして選択する、
請求項3に記載の情報処理装置。
【請求項5】
前記比較部は、互いに関連付けて格納されている修正前の項目値、又は、修正後の項目値と、新たに入力された項目値とのレーベンシュタイン距離が所定の閾値以下であった場合に、一致であると判定する、
請求項4に記載の情報処理装置。
【請求項6】
文字認識処理の結果に対する修正履歴を、文字認識処理対象のメタ情報の種別を表す各項目、及び、前記各項目の内容を示す文字列である項目値に関連付けて格納する修正履歴格納ステップと、
新たに入力された文字認識処理の結果と、前記項目値とを、前記各項目毎に比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記修正履歴格納ステップにより格納されている項目値の組合せを選択する組合せ選択ステップと、
選択された前記組合せを用いて、新たに入力された文字認識処理の結果を補正する補正ステップと、
を有し、
前記修正履歴格納ステップにおいて、前記各項目毎に、修正前の項目値である第一項目値と、修正後の項目値である第二項目値とを互いに関連付けて格納し、
前記比較ステップにおいて、前記第一項目値と、新たに入力された文字認識処理結果に含まれる項目値である第三項目値とを比較
するとともに、前記第二項目値と前記第三項目値とを比較し、
前記組合せ選択ステップにおいて、前記第三項目値に一致する前記第一項目値と、前記第三項目値に一致する前記第一項目値に関連付けられている前記第二項目値との前記組合せを選択し、
前記補正ステップにおいて、選択された前記組合せに含まれる前記第二項目値によって前記第三項目値を補正する、
情報処理方法。
【請求項7】
文字認識処理の結果に対する修正履歴を、文字認識処理対象のメタ情報の種別を表す各項目、及び、前記各項目の内容を示す文字列である項目値に関連付けて格納する修正履歴格納ステップと、
新たに入力された文字認識処理の結果と、前記項目値とを、前記各項目毎に比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記修正履歴格納ステップにより格納されている項目値の組合せを選択する組合せ選択ステップと、
選択された前記組合せを用いて、新たに入力された文字認識処理の結果を補正する補正ステップと、
をコンピュータに実行させ、
前記修正履歴格納ステップにおいて、前記各項目毎に、修正前の項目値である第一項目値と、修正後の項目値である第二項目値とを互いに関連付けて格納し、
前記比較ステップにおいて、前記第一項目値と、新たに入力された文字認識処理結果に含まれる項目値である第三項目値とを比較
するとともに、前記第二項目値と前記第三項目値とを比較し、
前記組合せ選択ステップにおいて、前記第三項目値に一致する前記第一項目値と、前記第三項目値に一致する前記第一項目値に関連付けられている前記第二項目値との前記組合せを選択し、
前記補正ステップにおいて、選択された前記組合せに含まれる前記第二項目値によって前記第三項目値を補正する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
例えば、特許文献1には、入力された複数の項目のデータを項目毎に修正する入力修正方法であって、前記各項目の内容に対する確信度を計算する確信度計算手段と、前記確信度計算手段により計算された確信度を用いて前記項目の内容を更新する更新手段とを具備したことを特徴とする入力修正方法が開示されている。
【0003】
また、特許文献2には、スキャナで読み取った名刺の画像から文字認識し、前記名の会社名・氏名・住所などの項目ごとに区分した形式の名刺データを生成する名刺認識装置において、前記名刺データを順次格納する名刺データファイルと、前記名刺データをユーザが確認・修正した修正済みの名刺データを順次格納する修正済みデータファイルを具備し、以前に修正した名刺と今から修正する名刺の名刺データの一部の項目を比較して同じ会社の名刺かを判定し、両者が同じ会社の名刺の場合に、以前に修正した名刺の修正済データのうち、両者で同じである項目だけを今から修正する名刺の名刺データへ複写することを特徴とする名刺認識データ修正方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-244518
【文献】特開平4-267492
【発明の概要】
【発明が解決しようとする課題】
【0005】
項目値の組み合わせが一致する修正履歴のない場合でも、補正することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る情報処理装置は、文字認識処理の結果に対する修正履歴を、項目及び項目値に関連付けて格納する修正履歴格納部と、新たに入力された文字認識処理の結果と、前記修正履歴格納部に格納されている項目値とを、複数の項目それぞれについて比較する比較部と、前記比較部による比較結果に基づいて、前記修正履歴格納部に格納されている項目値の組合せを選択する組合せ選択部と、前記組合せ選択部により選択された項目値の組合せを用いて、新たに入力された文字認識処理の結果を補正する補正部とを有する。
【0007】
好適には、前記修正履歴格納部は、修正前の項目値と、修正後の項目値を互いに関連付けて格納しており、前記比較部は、前記修正履歴格納部に格納されている修正前の項目値、及び、修正後の項目値を、新たに入力された文字認識処理結果に含まれる項目値と比較する。
【0008】
好適には、前記組合せ選択部により選択された項目値の組合せの妥当性を、前記補正部により補正される補正量、又は、前記修正履歴格納部に格納されている修正履歴に対応する修正回数に基づいて評価する妥当性評価部をさらに有し、前記補正部は、前記妥当性評価部により妥当であると判断された場合に、補正を実行する。
【0009】
好適には、ユーザの操作に応じて、文字認識処理の結果に対する修正を実行する修正部と、前記修正部により修正された項目及び修正後の項目値を、修正前の項目値に関連付けて前記修正履歴格納部に追加登録する修正履歴登録部とをさらに有する。
【0010】
好適には、前記組合せ選択部は、複数の項目における項目値全体の類似度が高いものを、項目値の組合せとして選択する。
【0011】
好適には、前記比較部は、前記修正履歴格納部において、互いに関連付けて格納されている修正前の項目値、又は、修正後の項目値が、新たに入力された項目値と類似した場合に、一致であると判定する。
【0012】
本発明に係る情報処理方法は、文字認識処理の結果に対する修正履歴を、項目及び項目値に関連付けて格納する修正履歴格納ステップと、新たに入力された文字認識処理の結果と、前記修正履歴格納ステップにより格納されている項目値とを、複数の項目それぞれについて比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記修正履歴格納ステップにより格納されている項目値の組合せを選択する組合せ選択ステップと、前記組合せ選択ステップにより選択された項目値の組合せを用いて、新たに入力された文字認識処理の結果を補正する補正ステップとを有する。
【0013】
本発明に係るプログラムは、文字認識処理の結果に対する修正履歴を、項目及び項目値に関連付けて格納する修正履歴格納ステップと、新たに入力された文字認識処理の結果と、前記修正履歴格納ステップにより格納されている項目値とを、複数の項目それぞれについて比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記修正履歴格納ステップにより格納されている項目値の組合せを選択する組合せ選択ステップと、前記組合せ選択ステップにより選択された項目値の組合せを用いて、新たに入力された文字認識処理の結果を補正する補正ステップとをコンピュータに実行させる。
【発明の効果】
【0014】
項目値の組み合わせが一致する修正履歴のない場合でも、補正することができる。
【図面の簡単な説明】
【0015】
【
図1】入力情報補正システム1の全体構成を例示する図である。
【
図2】入力情報補正装置5のハードウェア構成を例示する図である。
【
図3】入力情報補正装置5の機能構成を例示する図である。
【
図4】修正履歴の登録処理の概要(S10)を説明するフローチャートである。
【
図5】入力情報補正処理(S20)を説明するフローチャートである。
【
図6】(a)は、読み取り画像を例示し、(b)は、抽出した項目値と修正履歴の項目値との比較例であり、(c)は、修正履歴に基づく項目値の補正例である。
【
図7】修正履歴DB600の構造を例示する図である。
【
図8】(a)は、補正前のOCR認識結果と補正後の認識結果を例示し、(b)は、「入力情報補正処理」により登録される修正履歴DB600の具体例である。
【
図9】修正履歴登録処理(S30)を説明するフローチャートである。
【
図10】類似した項目値の抽出処理(S40)を説明するフローチャートである。
【
図11】補正に使用する項目値の組み合わせの絞り込み(S50)を説明するフローチャートである。
【
図12】補正先の項目値検索と補正処理(S60)を説明するフローチャートである。
【
図13】(a)は、読み取り画像の誤認識結果を例示し、(b)は、項目値の組み合わせの抽出と補正とに使用するテーブルを例示する。
【
図14】(a)は、類似する項目値から項目値の組み合わせを検索する処理の一例を示し、(b)は、項目毎の補正先検索結果を示す。
【
図15】修正履歴DB600に存在しない項目値の組み合わせを補正する処理を例示する図である。
【
図16】(a)は、補正対象の項目値と修正後の項目値とが類似しない場合を例示する図であり、(b)は、補正対象の項目値と修正前の項目値とが類似しない場合を例示する図である。
【
図17】(a)は、修正履歴DB600に40社分の名刺データが登録された場合の処理時間を示す表であり、(b)は、修正履歴DB600に480社分の名刺データが登録された場合の処理時間を示す表であり、(c)は、従来手法と入力情報書処理装置5との予測線を含めた、データ数と処理時間の変化を表すグラフであり、(d)は、40社分または480社分の名刺データが登録された各修正履歴DB600における、辞書データのファイルサイズを比較した表である。
【発明を実施するための形態】
【0016】
本発明の実施形態を、図面を参照して説明する。
図1は、入力情報補正システム1の全体構成を例示する図である。
図1に例示するように、入力情報補正システム1は、複数のスキャナ3a、スキャナ3b、スキャナ3c及び入力情報補正装置5を含み、ネットワーク7を介して互いに接続している。スキャナ3a、スキャナ3b、スキャナ3cを合わせてスキャナ3と称する。スキャナ3は、光学式の読取装置で取得した画像データを入力情報補正装置5に送信する。本例において、スキャナ3は、文書または名刺をスキャンするものとする。
入力情報補正装置5は、コンピュータ端末であり、スキャナ3から受信した画像データの文字認識及び認識した文字の補正を行う。画像データに対して文字認識した結果を入力情報とする。具体的には、入力情報補正装置5は、画像データに対してOCR(Optical Character Recognition)処理を行い、入力情報を修正履歴に基づいて補正する。なお、入力情報補正装置5は、本発明に係る情報処理装置の一例である。
【0017】
図2は、入力情報補正装置5のハードウェア構成を例示する図である。
図2に例示するように、入力情報補正装置5は、CPU200、メモリ202、HDD204、ネットワークインタフェース206(ネットワークIF206)、表示装置208、及び、入力装置210を有し、これらの構成はバス212を介して互いに接続している。
CPU200は、例えば、中央演算装置である。
メモリ202は、例えば、揮発性メモリであり、主記憶装置として機能する。
HDD204は、例えば、ハードディスクドライブ装置であり、不揮発性の記録装置としてコンピュータプログラム(例えば、
図3の入力情報補正プログラム50)やその他のデータファイル(例えば、
図3の修正履歴データベース600)を格納する。
ネットワークIF206は、有線又は無線で通信するためのインタフェースであり、例えば、内部ネットワーク7における通信を実現する。
表示装置208は、例えば、液晶ディスプレイである。
入力装置210は、例えば、キーボード及びマウスである。
【0018】
図3は、入力情報補正装置1の機能構成を例示する図である。
図3に例示するように、本例の入力情報補正装置5には、入力情報補正プログラム50がインストールされると共に、修正履歴データベース600(修正履歴DB600)が構成される。
入力情報補正プログラム50は、取得部500、抽出部502、修正部504、修正履歴登録部506、比較部508、組合せ選択部510、補正部512、及び妥当性評価部514を有する。
なお、入力情報補正プログラム50の一部又は全部は、ASICなどのハードウェアにより実現されてもよく、また、OS(Operating System)の機能を一部借用して実現されてもよい。
【0019】
入力情報補正プログラム50において、取得部500は、スキャナ3により送信された画像データを取得する。
抽出部502は、文書または名刺のスキャン画像から、メタ情報を抽出する。メタ情報は、文書又は名刺の種別毎に定義され、項目名と項目値とを有する。項目名は、メタ情報の意味を表し、項目値はメタ情報の内容を表す。具体的には、名刺の項目名は、氏名、会社名、住所等であり、レシートの項目名は、店名、電話番号、発行日等であり、一般文書の項目名は、日付、文書タイトル、作者等である。具体的には、抽出部502は、取得部500により取得された画像データに対してOCR(Optical Character Recognition)処理を行い、メタ情報を抽出する。
修正部504は、ユーザの操作に応じて、文字認識処理の結果に対する修正を実行する。
修正履歴登録部506は、修正部504により修正された項目及び修正後の項目値を、修正前の項目値に関連付けて修正履歴DB600に追加で登録する。
ここで、修正履歴DB600は、文字認識処理の結果に対する修正履歴を、項目及び項目値に関連付けて格納する。具体的には、修正履歴DB600は、修正前の項目値と、修正後の項目値を互いに関連付けて格納する。なお、修正履歴DB600は、本発明に係る修正履歴格納部の一例である。
【0020】
比較部508は、新たに入力された文字認識処理の結果と、修正履歴DB600に格納されている項目値とを、複数の項目それぞれについて比較する。具体的には、比較部508は、修正履歴DB600に格納されている修正前の項目値、及び、修正後の項目値を、新たに入力された文字認識処理結果に含まれる項目値と比較する。より具体的には、比較部508は、修正履歴DB600において、互いに関連付けて格納されている修正前の項目値、又は、修正後の項目値が、新たに入力された項目値と類似した場合に、一致であると判定する。すなわち、比較部508は、抽出部502により抽出された項目値が修正履歴DB600に修正前の項目値、または修正後の項目値として存在しているか否かを検索する。
組合せ選択部510は、比較部508による比較結果に基づいて、修正履歴DB600に格納されている項目値の組合せを選択する。具体的には、組合せ選択部510は、複数の項目における項目値全体の類似度が高いものを、項目値の組合せとして選択する。より具体的には、組合せ選択部510は、比較部508により修正履歴DB600に存在すると判定された各項目値に基づいて、補正に使用する項目値の組み合わせを選択する。補正に使用する項目値の組み合わせが複数存在する場合に、組合せ選択部510は、比較部508により算出された類似度に基づいて項目値の組み合わせを選択する。
補正部512は、組合せ選択部510により選択された項目値の組合せを用いて、新たに入力された文字認識処理の結果(入力情報)を補正する。具体的には、補正部512は、妥当性評価部514(後述)により妥当であると判断された場合に、補正を実行する。
妥当性評価部514は、組合せ選択部510により選択された項目値の組合せの妥当性を、補正部512により補正される補正量、又は、修正履歴DB600に格納されている修正履歴に対応する修正回数に基づいて評価する。
【0021】
次に入力情報の補正処理の概要を説明する。
入力情報の補正は、「修正履歴の登録処理」及び「入力情報補正処理」からなる。「修正履歴の登録処理」は、補正先となる項目値を検索するための修正履歴を格納する修正履歴DB600を作成する。作成された修正履歴DB600に基づいて、「入力情報補正処理」における項目値の補正を行う。
「修正履歴の登録処理」は、ユーザの手入力による項目値の修正後に実行され、「入力情報補正処理」は、入力情報のOCR処理の結果から項目値を抽出した後に実行される。「修正履歴の登録処理」及び「入力情報補正処理」は、独立して動作する。
【0022】
図4は、修正履歴の登録処理の概要(S10)を説明するフローチャートである。
図4に例示するように、ステップ100(S100)において、修正部504は、ユーザの手入力による、OCRの文字認識結果(入力情報)への修正を受け付け、項目値を修正する。
ステップ105(S105)において、修正履歴登録部506は、修正前の項目値と修正後の項目値とを取得する。
ステップ110(S110)において、修正履歴DB600に格納される修正履歴のうち、同じ修正前の項目値と修正後の項目値とを有する修正履歴が存在する場合に、修正履歴の登録処理の概要(S10)は、S115へ移行し、同じ修正履歴が存在しない場合に、S120へ移行する。
ステップ115(S115)において、修正履歴登録部506は、修正履歴DB600に格納される修正履歴に同じ修正が行われたことを記録する。
ステップ120(S120)において、修正履歴登録部506は、修正履歴DB600に、新規に修正内容を登録する。
【0023】
図5は、入力情報補正処理(S20)を説明するフローチャートである。
図6(a)は、スキャナ3により読み取られた読み取り画像を例示し、(b)は、抽出した項目値と修正履歴の項目値との比較例であり、(c)は、修正履歴に基づく項目値の補正例である。
ステップ200(S200)において、
図6(a)に例示するように、取得部500は、スキャナ3により読み取られた画像データを取得する。
ステップ205(S205)において、抽出部502は、取得部500により取得された画像データに対してOCR処理を行う。
ステップ210(S210)において、抽出部502は、OCR処理の結果である入力情報から補正対象となる項目値を抽出する。具体的には、
図6(b)に例示するように、抽出部502は、会社名、住所、URL、及び電子メールの項目と項目値とを抽出する。
ステップ215(S215)において、比較部508は、抽出部502により抽出された補正対象の項目値と、修正履歴DB600に格納される項目値とを比較する。比較した結果、
図6(b)に例示するように、補正対象の項目値と一致する項目値が存在する場合に、入力情報補正処理(S20)は、S220へ移行し、一致する項目値が存在しない場合に、入力情報補正処理(S20)は、終了する。
ステップ220(S220)において、補正部512は、
図6(c)に例示するように、補正対象の項目値を、一致した項目値の修正後の値に補正する。
【0024】
図7は、修正履歴DB600の構造を例示する図である。
修正履歴DB600は、MetaItemテーブル、MetaDataSetテーブル、及びCorrectionテーブルを有する。
MetaItemテーブルは、メタ情報の各項目について格納し、各項目の項目値と、項目値に関連付けられたIDとを有する。MetaItemテーブルは、文書種別が含む項目の数だけ存在する。
MetaDataSetテーブルは、一つの入力情報から抽出できる項目値の組み合わせを格納するテーブルであり、MetaDataSetテーブルにおける、「Item1ID」から「Item4ID」は、MeraItem1テーブルの「Item1ID」からMetaItem4テーブルの「Item4ID」と同じである。また、「MetaDataSetID」は、一つの項目値の組み合わせ毎に割り振られたIDである。
Correctionテーブルは、項目値の修正前と修正後それぞれの組み合わせの情報を格納するテーブルである。「BeforeSetID」は、修正前の情報を示し、「AfterSetID」は、修正後の情報を示す。「BeforeSetID」及び「AfterSetID」は、「MetaDataSetID」が実体である。
ユーザが修正した内容を検索する場合は、Correctionテーブルの「BeforeSetID」及び「AfterSetID」に基づいて、該当する「MetaDataSet」テーブルのレコードを参照し、そのレコードが含む「ItemID(
図7におけるItem1IDからItem4IDの4つ)」をそれぞれのMetaItemテーブルから検索することにより、各項目値が得られる。
【0025】
図8は、「入力情報補正処理」により登録される修正履歴DB600の具体例を示す。
図8(a)は、名刺の住所の石川県の「石」を「右」に誤認識しているOCR処理後の認識結果を、「入力情報補正処理」により補正した認識結果を示す。この誤認識をユーザの操作により修正した場合、修正履歴DB600には、
図8(b)に例示されるテーブルが登録される。具体的には、Companyテーブルには、「CompanyID」が「Com_01」、「会社名」が「PFU」が登録される。Addressテーブルには、誤認識の結果である「AddressID」が「Add_01」、「住所」が「右川県かほく市宇野気ヌ98-2」と修正後の「AddressID」が「Add_02」、「住所」が「石川県かほく市宇野気ヌ98-2」とが登録される。URLテーブルには、「URLID」が「Url_01」、「URL」が「http://www.pfu.fujitsu.com/」が登録される。Emailテーブルには、「EmailID」が「Ema_01」、「電子メール」が「jp.fujitsu.com」が登録される。MetaDataSetテーブルには、誤認識された結果である「MetaDataSetID」が「Set_01」、「CompanyID」が「Com_01」、「AddressID」が「Add_01」、「URLID」が「Url_01」、「EmailID」が「Ema_01」と、修正後の「MetaDataSetID」が「Set_02」、「CompanyID」が「Com_01」、「AddressID」が「Add_02」、「URLID」が「Url_01」、「EmailID」が「Ema_01」とが登録される、Correctionテーブルには、「CorrectionID」が「Cor_01」、「BeforeSetID」が「Set_01」、「AfterSetID」が「Set_02」が登録される。
【0026】
図9は、修正履歴登録処理(S30)(修正履歴の登録処理の概要(S10)のより詳細な処理)を説明するフローチャートである。
図9に例示するように、ステップ300(S300)において、修正履歴登録部506は、ユーザにより修正された項目の修正前の項目値と修正後の項目値とを取得する。
ステップ305(S305)において、修正履歴登録部506は、取得された修正前の項目値が修正履歴DB600に登録済みであるか否かを判別する。登録済みである場合に、修正履歴登録処理(S30)は、S310へ移行し、登録済みでない場合に、S315へ移行する。
ステップ310(S310)において、修正履歴登録部506は、同じ項目値のIDを取得する。
ステップ315(S315)において、修正履歴登録部506は、新たにIDを割り振り、修正前の項目値と共に修正履歴DB600に登録する。
ステップ320(S320)において、修正前の項目値全てに対して修正履歴DB600に登録済みであるか否かを判別した場合は、修正履歴登録処理(S30)は、S325へ移行し、修正前の項目値すべてに対して修正履歴DB600に登録済みであるか否かを判別していない場合は、S305へ移行する。
【0027】
ステップ325(S325)において、修正履歴登録部506は、修正前の全ての項目値IDの組み合わせと同じ組み合わせが修正履歴DB600に登録済みであるか否かを判別する。登録済みである場合に、修正履歴登録処理(S30)は、S330へ移行し、登録済みでない場合に、S335へ移行する。
ステップ330(S330)において、修正履歴登録部506は、同じ組み合わせのIDを取得する。
ステップ335(S335)において、修正履歴登録部506は、新たにIDを割り振り、各項目値IDの組み合わせと共に修正履歴DB600に登録する。
ステップ340(S340)において、修正後の項目値について検討する。修正履歴登録部506は、取得された修正後の項目値が修正履歴DB600に登録済みであるか否かを判別する。登録済みである場合に、修正履歴登録処理(S30)は、S345へ移行し、登録済みでない場合に、S350へ移行する。
ステップ345(S345)において、修正履歴登録部506は、同じ項目値のIDを取得する。
ステップ350(S350)において、修正履歴登録部506は、新たにIDを割り振り、修正後の項目値と共に修正履歴DB600に登録する。
ステップ355(S355)において、修正後の項目値全てに対して修正履歴DB600に登録済みであるか否かを判別した場合は、修正履歴登録処理(S30)は、S360へ移行し、修正前の項目値すべてに対して修正履歴DB600に登録済みであるか否かを判別していない場合は、S340へ移行する。
【0028】
ステップ360(S360)において、修正履歴登録部506は、修正後の全ての項目値IDの組み合わせと同じ組み合わせが修正履歴DB600に登録済みであるか否かを判別する。登録済みである場合に、修正履歴登録処理(S30)は、S365へ移行し、登録済みでない場合に、S370へ移行する。
ステップ365(S365)において、修正履歴登録部506は、同じ組み合わせのIDを取得する。
ステップ370(S370)において、修正履歴登録部506は、新たにIDを割り振り、各項目値IDの組み合わせと共に修正履歴DB600に登録する。
ステップ375(S375)において、修正履歴登録部506は、修正前と修正後の組み合わせIDのペアが修正履歴DB600に登録済みであるか否かを判別する。登録済みである場合に、修正履歴登録処理(S30)は、S380へ移行し、登録済みでない場合に、S385へ移行する。
ステップ380(S380)において、修正履歴登録部506は、登録済みであった修正前と修正後の組み合わせIDのペアの修正回数を増やす。
ステップ385(S385)において、修正履歴登録部506は、新たにIDを割り振り、修正前と修正後の組み合わせIDのペアと共に修正履歴DB600に登録する。
【0029】
次に「入力情報補正処理」について説明する。「入力情報補正処理」は、「類似した項目値の抽出」、「補正に使用する修正履歴の組み合わせの絞り込み」、及び「補正先の項目値検索と補正処理」の3つのステップからなる。
【0030】
3つのそれぞれのステップについて説明する。
図10は、類似した項目値の抽出処理(S40)を説明するフローチャートである。
図10に例示するように、ステップ400(S400)において、抽出部502は、OCR処理の結果から補正対象となる項目値を抽出する。
ステップ405(S405)において、比較部508は、修正履歴DB600に格納される全ての項目値を取得する。
ステップ410(S410)において、比較部508は、補正対象となる一つの項目値とS405において取得した修正履歴の一つの項目値との類似度を計算する。具体的には、比較部508は、類似度をレーベンシュタイン距離に基づいて算出する。
ステップ415(S415)において、比較部508は、類似度が閾値以上であるか否かを判定する。閾値以上である場合に、類似した項目値の抽出処理(S40)は、S420へ移行し、閾値未満である場合に、類似した項目値の抽出処理(S40)は、S425へ移行する。
ステップ420(S420)において、修正履歴の項目値と比較部508により算出された類似度とを関連付けて記憶する。
【0031】
ステップ425(S425)において、補正対象である一つの項目に対して、修正履歴DB600から取得した全ての項目値との類似度を算出した場合に、類似した項目値の抽出処理(S40)は、S430へ移行し、全ての項目値との類似度の算出がされていない場合に、類似した項目値の抽出処理(S40)は、S410へ移行する。
ステップ430(S430)において、全ての補正対象の項目値に対して、修正履歴DB600から取得した項目値との類似度が算出された場合に、類似した項目値の抽出処理(S40)は、S435へ移行し、全ての補正対象の項目値に対して、類似度が算出されていない場合に、類似した項目値の抽出処理(S40)は、S410へ移行する。
ステップ435(S435)において、補正対象の項目値毎に類似度が閾値以上の項目値が1件以上ある場合に、類似した項目値の抽出処理(S40)は、処理を終了し、類似度が閾値以上の項目値が1件もない場合に、S440へ移行する。
ステップ440(S440)において、補正先が存在しないため、補正部512は、OCR処理された結果(入力情報)を補正後の値として出力する。
【0032】
図11は、補正に使用する項目値の組み合わせの絞り込み(S50)を説明するフローチャートである。
図11に例示するように、ステップ500(S500)において、組合せ選択部510は、類似度が閾値未満である項目値について、その項目値を含むMetaDataSet(項目値の組み合わせ)を検索する。
ステップ505(S505)において、検索結果のMetaDataSetが修正前の値である場合に、補正に使用する項目値の組み合わせの絞り込み(S50)は、S510へ移行し、修正前の値でない場合に、S515へ移行する。
ステップ510(S510)において、組合せ選択部510は、検索結果のMetaDataSetの修正後の値を検索する。
ステップ515(S515)において、組合せ選択部510は、どの項目に基づいて修正後のMetaDataSetを検索したかが分かるように、起点となった項目値の属する項目と、修正後のMetaDataSetのID番号とを関連付けて記録する。
【0033】
ステップ520(S520)において、類似度が閾値以下の全ての項目値に対して、項目値を含むMetaDataSetを検索した場合に、補正に使用する項目値の組み合わせの絞り込み(S50)は、S525に移行し、全ての項目値に対して、項目値を含むMetaDataSetを検索していない場合に、S500へ移行する。
ステップ525(S525)において、MetaDataSetの全ての項目において、同じMetaDataSetのID番号が関連付けられている場合に、補正に使用する項目値の組み合わせの絞り込み(S50)は、処理を終了し、MetaDataSetの全ての項目において、同じMetaDataSetのID番号が関連付けられていない場合に、補正に使用する項目値の組み合わせの絞り込み(S50)は、S530へ移行する。
ステップ530(S530)において、補正部512は、補正先が存在しないため、入力されたOCRの項目値を補正後の値として出力する。
【0034】
図12は、補正先の項目値検索と補正処理(S60)を説明するフローチャートである。
図12に例示するように、ステップ600(S600)において、MetaDataSet(項目値の組み合わせ)の全ての項目に関連付けられた同じMetaDataSetのID番号が複数存在する場合に、補正先の項目値検索と補正処理(S60)は、S605へ移行し、MetaDataSetの全ての項目に関連付けられた同じMetaDataSetのID番号が複数存在しない場合に、補正先の項目値検索と補正処理(S60)は、S610へ移行する。
ステップ605(S605)において、組合せ選択部510は、複数存在するMetaDataSetのうち、比較部508により算出された類似度が組み合わせ全体として最も高いMetaDataSet選択する。
ステップ610(S610)において、妥当性評価部514は、S605において、選択されたMetaDataSetへユーザが修正した履歴のうち、最も多い修正回数を取得する。
【0035】
ステップ615(S615)において、妥当性評価部514により、補正前の項目値と入力値からの補正量が50%以下である場合に、補正先の項目値検索と補正処理(S60)は、S620へ移行し、補正量が50%を超える場合に、補正先の項目値検索と補正処理(S60)は、S630へ移行する。
ステップ620(S620)において、補正部512は、S605において、選択したMetaDataSetから補正先の各項目値を取得する。
ステップ625(S625)において、補正部512は、取得した補正先の各項目値を補正後の値として出力する。
ステップ630(S630)において、妥当性評価部514により、S610において取得した修正回数が3回以上であると判定された場合に、補正先の項目値検索と補正処理(S60)は、S620へ移行し、修正回数が3回未満であると判定された場合に、S635へ移行する。
ステップ635(S635)において、妥当性評価部514は、取得したMetaDataSetへの修正回数を増やす。
ステップ640(S640)において、補正部512は、補正する条件を満たさないため、入力されたOCRの項目値を補正後の値として出力する。
【0036】
次に、補正先項目値の抽出と誤認識補正の具体例を説明する。
図13(a)は、読み取り画像(画像データ)と、読み取り画像の誤認識結果から抽出された項目と項目値を例示する。まず、
図13(b)に例示される各テーブルに基づいて「入力情報補正処理」の「類似した項目値の抽出」を実施する。具体的には、OCRによって認識した各項目値に類似する値を修正履歴DB600から抽出する。本例においては、会社名、住所、URL、電子メールのそれぞれについて、CompanyIDが「Com_01」及び「Com_03」、AddressIDが「Add_01」、「Add_03」、URLIDが「Url_01」、「Url_03」、EmailIDが「Ema_01」、「Ema_02」、「Ema_03」が類似する項目値として抽出される。
【0037】
次に、「入力情報補正処理」の「補正に使用する修正履歴の組み合わせの絞り込み」では、補正に使用する項目値の組み合わせを検索する。ここで、CompanyIDが「Com_03」について検討する。CompanyIDが「Com_03」を使用しているMetaDataSetは「Set_03」であり、Correctionテーブルにおいて「Set_03」は「Cor_03」で修正前を示す「BeforeSetID」に登録されているため、CorrectionIDが「Cor_03」の「AfterSetID」であるMetaDataSetID「Set_09」を抽出する。
MetaDataSetID「Set_09」は、項目が「会社名(Company)」に起因して検索されたため、
図14(a)に例示するように、「Set_09」を見つけることができた項目に印を付ける。
同様に、CompanyIDが「Com_03」を使用しているMetaDataSetは、「Set_04」から「Set_09」であり、Correctionテーブルにおいて、「Set_04」から「Set_08」は、「Set_09」へ修正されていることがわかる。したがって、MetaDataSetID「Set_09」は、会社名の項目から検索されたMetaDataSetであるという情報を記憶しておく。
この処理を、類似していると判定された会社名、住所、URL、電子メールの各項目値に対して行い、その結果を示すのが
図14(b)である。
図14(b)により、補正先となりえる項目値を共通して持ったメタ情報(AfterSetID)を得ることができる。
【0038】
次に、「入力情報補正処理」の「補正先の項目値検索と補正処理」において、補正に使用する項目値の組み合わせの選択と補正処理を行う。
図14(b)により、会社名、住所、URL、電子メールについて全ての補正先を含んだMetaDataSetIDは、「Set_09」のみであるので、ID「Set_09」の項目値の組み合わせ(MetaDataSet)を補正に使用する。MetaDataSetテーブルからMetaDataSetIDが「Set_09」となっているレコードを検索し、同レコードの各項目値IDを各項目テーブルで検索することにより補正後の各項目値を抽出できる。さらに、
図13(a)の項目値とMetaDataSetIDが「Set_09」の項目値を比較すると、住所と電子メールに1文字の差異があり、項目値全体に対しての差異が50%以下であることから、MetaDataSetIDが「Set_09」で表される値が補正後の項目値として出力される。
【0039】
次に、修正履歴DB600に存在しない項目値の組み合わせを補正する場合について説明する。
図15は、修正履歴DB600に存在しない項目値の組み合わせを補正する処理を例示する図である。
図15に例示するように、MetaDataSetID「Set_03」から「Set_09」へ修正、及びMetaDataSetID「Set_05」から「Set_09」へ修正されている。この時、MetaDataSetID「Set_12(
図13のMetaDataSetテーブルには存在しない新しい項目値の組み合わせ)」の補正を行いたい場合について検討する。MetaDataSetIDが「Set_12」のAddressID「Add_01」は、MetaDataSetID「Set_03」で使用され、MetaDataSetIDが「Set_12」のURLID「Url_01」はMetaDataSetID「Set_05」で使用されている。MetaDataSetIDが「Set_12」のCompanyID「Com_03」及びEmailID「Ema_03」は、MetaDataSetID「Set_03」及びMetaDataSetID「Set_05」の両方で使用されている。これに基づき、MetaDataSetIDが「Set_12」の全ての項目値はMetaDataSetID「Set_09」へ修正されていることがわかる。すなわち、MetaDataSetIDが「Set_12」をMetaDataSetIDが「Set_09」へ補正することができる。
このように、項目値毎に一致する値から項目値の組み合わせ全体を探し出すことにより、修正履歴DB600に存在しない項目値の組み合わせでも補正することが可能である。
【0040】
「補正に使用する修正履歴の組み合わせの絞り込み」は、修正前と修正後の両方とを参照するが、修正後のみと比較した場合、ユーザによる修正時に項目値の修正量が多かった場合、同様の項目値に対して補正処理を行う際に、修正後の値と比較しても類似と判断されず、補正先の候補として選ばれない可能性がある。例えば、
図16(a)に例示するように、補正対象の項目値と修正前の項目値とは類似しているため、類似検索で抽出することができ、修正履歴DB600から補正先の候補となる修正後の値を抽出することができるが、補正対象の項目値と修正後の項目値は類似していないため、類似検索で抽出することができない。
【0041】
一方で、ユーザによる修正時に使用した項目値が正しいメタ情報の項目値と大きく違う場合、正しいメタ情報と類似した項目値から補正を行う際に、修正前の値と比較しても類似と判断されず、補正先の候補に選ばれない可能性がある。
図16(b)に例示するように、補正対象のデータと補正後のデータが有する各項目を類似しているため、類似検索で抽出することができるが、補正対象の項目値と修正前の項目値は類似していないため、類似検索で抽出することができない。
【0042】
次に、従来手法と入力情報処理装置5との処理時間について説明する。
入力情報処理装置5における修正履歴DB600では、データは、項目名毎に分けて格納されており、修正履歴DB600内で重複する項目値は、文字列検索を行わない。
図13(b)のデータを使用した補正で修正履歴DB600を検索する際に行われる文字列検索は16回となる。これを従来の検索方法では、
図13(b)のMetaDataSetテーブルの組み合わせ全てで項目毎に検索を行うため、合計で44回もの処理が行われる。検索回数は約3倍となり、検索回数の絶対的な差は格納されているデータ数が多い程大きくなる。
【0043】
図17(a)及び
図17(b)は、実際に処理時間を計測した結果である。
図17(a)及び
図17(b)では修正履歴DB600への登録名刺データ数が異なる。前提として、名刺の項目内で重複する項目値は存在しないこと、全項目でOCR処理の文字認識が誤っており、ユーザによる修正が全項目に行われること、補正対象に空白はなかったものとし、全ての項目のユーザによる修正は50%未満とする(補正条件を満たす)。
図17(a)において、入力情報処理装置5は、修正履歴DB600を使用することによるオーバーヘッドのため、従来手法よりも処理時間が遅いが、これは、レコード数が少ないため、そもそもの処理時間が短く、オーバーヘッドの影響が大きく出たものである。
しかし、よりレコード数の多い
図17(b)においては、入力情報処理装置5の方が処理は高速であり、
図17(a)の処理時間と比べ2倍となっている。
図17(c)に例示するように、入力情報補正装置5は、さらに登録される名刺のデータが12倍となっても処理時間は、約1.6倍にとどまっており、登録データ数に対する処理時間の増加が緩やかであることがわかる。
【0044】
さらに、
図17(d)は、従来手法と入力情報補正装置5との
図17(a)及び
図17(b)で使用した辞書のファイルサイズを示すが、480社分のデータを格納した場合、入力情報補正装置5は従来手法のファイルサイズの4分の1のファイルサイズとなっている。これは、重複した項目値を辞書に登録せず、ID番号で管理しているためである。ユーザの修正回数によって同じ件数の名刺を扱った場合でもファイルサイズは異なるが、修正回数が多いほど入力情報補正装置5によるファイルサイズ削減の効果は大きくなる。
【0045】
以上説明したように、本実施形態の入力情報補正装置5によれば、入力情報の項目値と修正履歴の項目値との類似に基づいて、補正先となる項目値の組み合わせを抽出し、入力情報のOCR処理の誤認識を、抽出した項目値の組み合わせにしたがって補正することができる。
また、入力情報補正装置5は、OCR処理の誤認識を入力情報の項目値の組み合わせと修正履歴の項目値の組み合わせとの類似度に基づいて、補正先の項目値との組み合わせを選択するため、完全一致でなくても補正が可能である。
さらに、入力情報補正装置5は、ユーザが過去に修正したことがない項目値の組み合わせでも、項目値毎に類似した値から、修正履歴の修正前及び修正後の両方の項目値に基づいて補正先の項目値の組み合わせを抽出するため、修正履歴に存在する項目値の組み合わせを用いて補正することができる。
【符号の説明】
【0046】
1…入力情報補正システム
3…スキャナ
5…入力情報補正装置
50…入力情報補正プログラム
500…取得部
502…抽出部
504…修正部
506…修正履歴登録部
508…比較部
510…組合せ選択部
512…補正部
514…妥当性評価部
600…修正履歴データベース