IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

特許7468057情報処理装置、情報処理システム、及び情報処理プログラム
<>
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図1
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図2
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図3
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図4
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図5
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図6
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図7
  • 特許-情報処理装置、情報処理システム、及び情報処理プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】情報処理装置、情報処理システム、及び情報処理プログラム
(51)【国際特許分類】
   G06V 30/24 20220101AFI20240409BHJP
   G06V 30/412 20220101ALI20240409BHJP
【FI】
G06V30/24 620D
G06V30/412
【請求項の数】 11
(21)【出願番号】P 2020056635
(22)【出願日】2020-03-26
(65)【公開番号】P2021157460
(43)【公開日】2021-10-07
【審査請求日】2023-02-28
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】上條 裕義
(72)【発明者】
【氏名】山中 優輝
【審査官】淀川 滉也
(56)【参考文献】
【文献】特開2000-113100(JP,A)
【文献】特開平11-154198(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/24
G06V 30/412
(57)【特許請求の範囲】
【請求項1】
プロセッサを有し、前記プロセッサは、
書類の読み取り画像から予め定められた項目、及び前記項目に対応する値を取得し、
取得した前記項目、及び前記値の少なくとも一方が取得できていない場合、前記項目、及び前記値の取得、又は未取得の状態に応じて、前記項目、及び前記値の取得よりも前に行われた処理である前処理、及び文字認識の設定を変更して、前記前処理、及び前記文字認識を実施するように制御し、
前記プロセッサは、前記項目、及び前記値が取得できた場合、かつ取得した前記値が前記項目に対応していないと判定された場合、前記文字認識を実施するように制御する
情報処理装置。
【請求項2】
前記プロセッサは、前記項目に対応する前記値の候補を予め記憶し、前記候補と、前記値とが、同一であると認められない場合、前記値が前記項目に対応していないと判定する請求項1に記載の情報処理装置。
【請求項3】
前記前処理は、複数の処理が定められており、前記プロセッサは、設定を変更した前記前処理、及び前記文字認識を実施した結果から前記項目、及び前記値の少なくとも一方が取得できない場合、異なる前処理、及び文字認識を再び実施するように制御する請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記プロセッサは、前記複数の処理を全て施した場合、かつ処理を施した前記文字認識の結果から前記項目、及び前記値の少なくとも一方が取得できない場合、前記項目、及び前記値が取得できない旨の通知を行う請求項3に記載の情報処理装置。
【請求項5】
前記プロセッサは、前記項目、及び前記値の少なくとも一方が取得できていない場合、前記項目、及び前記値が位置する箇所を特定する請求項1から請求項4の何れか1項に記載の情報処理装置。
【請求項6】
前記プロセッサは、前記項目、及び前記値が取得できていない場合、前記項目、及び前記値とは異なる箇所に位置する前記項目、及び前記値が取得できているか判定を行う請求項5に記載の情報処理装置。
【請求項7】
前記プロセッサは、異なる箇所に位置する前記項目、及び前記値が取得できている場合、地紋、及び透かしを除去する設定を変更する制御を行う請求項6に記載の情報処理装置。
【請求項8】
前記前処理、及び前記文字認識の各々に優先順位と、
前記項目、及び前記値を取得する際に発生した障害の種別に対応する前記前処理、及び前記文字認識の各々の選択の可否と、が設定されており、
前記プロセッサは、前記優先順位、及び前記選択の可否に応じて、前記設定を変更するように制御する請求項1から請求項7の何れか1項に記載の情報処理装置。
【請求項9】
請求項1から請求項8の何れか1項に記載の情報処理装置と、
前記前処理を実施する前処理装置と、
前記文字認識を実施する文字認識装置と、を備え、
前記前処理装置、及び前記文字認識装置は、前記情報処理装置の指示に応じて、文字を認識しやすくするための処理を実施する
情報処理システム。
【請求項10】
前処理装置、及び前記文字認識装置は、文字を認識しやすくするための処理として、地紋の除去、透かしの除去、白抜き文字の反転、網掛け除去、色背景除去、辞書の変更、及びOCRエンジンの変更の少なくとも1つを実施する請求項9に記載の情報処理システム。
【請求項11】
コンピュータに
書類の読み取り画像から予め定められた項目、及び前記項目に対応する値を取得し、
取得した前記項目、及び前記値の少なくとも一方が取得できていない場合、前記項目、及び前記値の取得、又は未取得の状態に応じて、前記項目、及び前記値の取得よりも前に行われた処理である前処理、及び文字認識の設定を変更して、前記前処理、及び前記文字認識を実施するように制御し、
前記項目、及び前記値が取得できた場合、かつ取得した前記値が前記項目に対応していないと判定された場合、前記文字認識を実施するように制御する
ことを実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、及び情報処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、原始証憑を読取った読取画像から、濃度調整や背景処理を含む画像処理を経て文字列の存在する箇所を把握し文字列ないし文字を切り出す前処理と、文字認識を行う文字認識処理と、文字認識処理後の後処理とを行い、認識結果のテキストデータを生成する会計処理支援システムにおいて、前処理と、文字認識処理と、認識対象の解析処理を含む後処理とで構成される認識処理を行い、各処理の状況、認識結果及び、文字認識における辞書データとの特徴量の類似度を含む一部の処理状況に基づいた「認識の信頼性情報」を出力する認識処理部と、前記認識処理部が生成した、前記認識処理を構成する各処理の処理状況を取得して、各処理状況に第1の評価用パラメータを適用した各処理状況の信頼性を評価して、各処理の全体としての信頼性を判定し、前記認識処理部とは独立した処理によって「評価の信頼性情報」を出力する評価処理部と、前記認識の信頼性情報と前記評価の信頼性情報とを比較し、第2の評価用パラメータを適用して判定した結果である総合的な信頼性を出力する総合比較評価処理部とを備え、記憶部に、前記認識処理で利用するための認識辞書と各種の認識用パラメータを記録した認識DBと、前記認識処理における各処理過程の処理状況をその都度記録し、処理状況を評価するための指標となる評価用パラメータを格納するための評価DBであって、各処理過程の処理状況に基づいて、全体としての処理状況の信頼性を評価して「評価の信頼性情報」を生成するための第1の評価用パラメータと、前記「認識の信頼性情報」及び前記「評価の信頼性情報」を比較し総合評価を行うための第2の評価用パラメータとを記録した評価DBと、を備え、前記認識処理部は、前処理過程における処理の状況を前処理情報として出力し、文字認識処理における処理の状況を文字認識処理情報として出力し、原始証憑の特性に応じた認識結果の解析処理の状況を解析処理情報として出力し、認識処理全体としての信頼性を前記「認識の信頼性情報」として出力し、前記評価処理部は、前記認識処理部が生成した前記前処理情報を取得し、前記認識処理部が生成した前記文字認識処理情報を取得し、前記認識処理部が生成した前記解析処理情報を取得し、前記前処理情報と文字認識処理情報と解析処理情報の各処理情報を構成する各要素情報に対し、前記第1の評価用パラメータを適用して各処理情報の基本評価の値を算出したうえで、特定の処理情報の基本評価の値が他の処理情報のものより著しく低い場合に前記他の基本評価の値が所定以上あっても評価を下げる調整を行って前記「評価の信頼性情報」を生成し、前記総合比較評価処理部は、前記認識の信頼性情報と、前記評価の信頼性情報とを比較し、当該比較結果に対し前記第2の評価用パラメータを適用して総合的な信頼性を出力することを特徴とする会計データ入力支援システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-294792号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、書類を読み取り、そこに含まれる文字情報を認識して出力するサービスがあり、当該サービスから書類に設定した項目を検出し、検出した項目に関連付けられる文字列を書類から取得する情報処理装置がある。
【0005】
ところで、近年では、書類に付された透かし及び地紋等によって、認識できなかった文字列を認識するために、文字列を認識する前の処理(以下、「前処理」という。)として、透かし及び地紋等が付された書類をAI(Artificial Intelligence)等に学習させた学習モデルを用いて、透かし及び地紋等を除去する処理を行うことがある。
【0006】
しかしながら、書類から項目、及び文字列を取得することができない場合、ユーザが項目、及び文字列を取得する前に行われた前処理、及び文字情報を認識する処理の中で問題がある処理を特定した上で、問題がある処理から再実行する必要があった。
【0007】
本発明は、書類から項目、及び文字列を取得することができない場合において、項目、及び文字列を取得可能にする前処理、及び文字情報を認識する処理を選択して、項目、及び文字列を取得する処理を再実行できる情報処理装置、情報処理システム、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の態様の情報処理装置は、プロセッサを有し、プロセッサは、書類の読み取り画像から予め定められた項目、及び項目に対応する値を取得し、取得した項目、及び値の少なくとも一方が取得できていない場合、項目、及び値の取得、又は未取得の状態に応じて、項目、及び値の取得よりも前に行われた処理である前処理、及び文字認識の設定を変更して、前処理、及び文字認識を実施するように制御する。
【0009】
第2の態様の情報処理装置は、第1の態様に係る情報処理装置において、プロセッサは、項目、及び値が取得できた場合、かつ取得した値が項目に対応していないと判定された場合、前処理、及び文字認識を実施するように制御する。
【0010】
第3の態様の情報処理装置は、第2の態様に係る情報処理装置において、プロセッサは、項目に対応する値の候補を予め記憶し、候補と、値とが、同一であると認められない場合、値が項目に対応していないと判定する。
【0011】
第4の態様の情報処理装置は、第1の態様から第3の態様までの何れか1つの態様に係る情報処理装置において、前処理は、複数の処理が定められており、プロセッサは、設定を変更した前処理、及び文字認識を実施した結果から項目、及び値の少なくとも一方が取得できない場合、異なる前処理、及び文字認識を再び実施するように制御する。
【0012】
第5の態様の情報処理装置は、第4の態様に係る情報処理装置において、プロセッサは、複数の処理を全て施した場合、かつ処理を施した文字認識の結果から項目、及び値の少なくとも一方が認識できない場合、項目、及び値が取得できない旨の通知を行う。
【0013】
第6の態様の情報処理装置は、第1の態様から第5の態様までの何れか1つの態様に係る情報処理装置において、プロセッサは、項目、及び値の少なくとも一方が取得できていない場合、項目、及び値が位置する箇所を特定する。
【0014】
第7の態様の情報処理装置は、第6の態様に係る情報処理装置において、プロセッサは、項目、及び値が取得できていない場合、項目、及び値とは異なる箇所に位置する項目、及び値が取得できているか判定を行う。
【0015】
第8の態様の情報処理装置は、第7の態様に係る情報処理装置において、プロセッサは、異なる箇所に位置する項目、及び値が取得できている場合、地紋、及び透かしを除去する設定を変更する制御を行う。
【0016】
第9の態様の情報処理装置は、第1の態様から第8の態様までの何れか1項に係る情報処理装置において、前処理、及び文字認識の各々に優先順位が設定されており、プロセッサは、優先順位に応じて、設定を変更するように制御する。
【0017】
第10の態様の情報システムは、第1の態様から第9の態様の何れか1つの態様に係る情報処理装置と、前処理を実施する前処理装置と、文字認識を実施する文字認識装置と、を備え、前処理装置、及び文字認識装置は、情報処理装置の指示に応じて、文字を認識しやすくするための処理を実施する。
【0018】
第11の態様の情報処理システムは、第10の態様に係る情報処理システムにおいて、処理装置、及び文字認識装置は、文字を認識しやすくするための処理として、地紋の除去、透かしの除去、白抜き文字の反転、網掛け除去、色背景除去、辞書の変更、及びOCRエンジンの変更の少なくとも1つを実施する。
【0019】
第12の態様の情報処理プログラムは、コンピュータに書類の読み取り画像から予め定められた項目、及び項目に対応する値を取得し、取得した項目、及び値の少なくとも一方が取得できていない場合、項目、及び値の取得、又は未取得の状態に応じて、項目、及び値の取得よりも前に行われた処理である前処理、及び文字認識の設定を変更して、前処理、及び文字認識を実施するように制御することを実行させる。
【発明の効果】
【0020】
第1の態様の情報処理装置及び第12の態様の情報処理プログラムによれば、書類から文字列を取得することができない場合において、文字列を認識可能にする前処理を選択して、文字列を認識する処理を再実行できる。
【0021】
第2の態様の情報処理装置によれば、文字列の誤認識を検出することができる。
【0022】
第3の態様の情報処理装置によれば、候補を考慮しない場合と比較して、より正確に誤認識を検出することができる。
【0023】
第4の態様の情報処理装置によれば、複数の処理を考慮しない場合と比較して、項目、及び文字列を取得することができない原因に応じて、より適切な処理を選択することができる。
【0024】
第5の態様の情報処理装置によれば、項目、及び文字列が取得できないことを検知することができる。
【0025】
第6の態様の情報処理装置によれば、項目、及び文字列が取得することができない位置を考慮しない場合と比較して、より精度よく項目、及び文字列を取得できない原因を検出することができる。
【0026】
第7の態様の情報処理装置によれば、取得できない箇所と異なる箇所を考慮しない場合と比較して、より精度よく項目、及び文字列を取得できない原因を検出することができる。
【0027】
第8の態様の情報処理装置によれば、項目、及び文字列を取得することができない原因に応じた処理を選択して、文字列を取得する処理を再実行することができる。
【0028】
第9の態様の情報処理装置によれば、優先順位を考慮しない場合と比較して、選択可能である処理が複数ある場合であっても、より早期に処理を選択することができる。
【0029】
第10の態様の情報処理システムによれば、書類から文字列を取得することができない場合において、文字列を取得可能にする前処理を選択して、文字列を取得する処理を再実行することができる。
【0030】
第11の態様の情報処理システムによれば、項目、及び文字列を取得できない原因に応じて、文字列を取得可能にする前処理を選択することができる。
【図面の簡単な説明】
【0031】
図1】本実施形態に係る情報処理システムの構成の一例を示すブロック図である。
図2】本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
図3】本実施形態に係る情報処理装置の機能的な構成の一例を示すブロック図である。
図4】本実施形態に係る情報処理システムの処理の一例を示すデータフロー図である。
図5】本実施形態に係る読み取った書類の一例を示す模式図である。
図6】本実施形態に係る優先順位データベースの一例を示す模式図である。
図7】本実施形態に係る情報処理の一例を示すフローチャートである。
図8】本実施形態に係る判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0032】
以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。なお、本実施形態に係る情報処理装置10は、一例として、書類、帳票を読み取った画像データ、及びOCR(Optical Character Reader)を実行した結果等を管理するサーバである形態について説明する。しかし、これに限定されない。情報処理装置10は、例えばプリント機能、コピー機能、スキャン機能、及びファクシミリ機能等の機能を有する複合機に搭載されてもよいし、パーソナルコンピュータ等の端末でもよい。
【0033】
図1は、本実施形態に係る情報処理システム1の構成の一例を示すブロック図である。図1に示すように、本実施形態に係る情報処理システム1は、前処理装置2、認識装置3、及び情報処理装置10を備えている。
【0034】
前処理装置2は、書類を読み取った画像(以下、「読取画像」という。)に対して、OCR処理を実行する前に、項目、及び文字列を認識しやすくするための処理(以下、「前処理」という。)を実行する。ここで、前処理は、OCR処理を実行する前に読取画像に対して行う処理を指す。本実施例では、前処理は、OCR処理よりも前に実行する、項目および文字列を認識しやすくするための処理である。例えば、前処理とは、読取画像の位置ずれを修正するための直立化、文字列以外を排除するノイズ除去、及び文字列を2階調に変換する二値化等である。本実施形態に係る前処理装置は、さらに、地の色が黒であり、文字列の色が白である白抜き文字に対して色を反転する処理、文字列に掛けられた網掛け、及び斜線等を除去する処理、書類の背景の色を除去する処理、及び透かし、又は地紋を除去する処理を実行する。ここで、以下では、白抜き文字に対して色を反転する処理を「白抜き反転」といい、文字列に掛けられた網掛け、及び斜線等を除去する処理を「網掛け除去」といい、透かしを除去する処理を「透かし除去」といい、地紋を除去する処理を「地紋除去」という。
【0035】
認識装置3は、読取画像に対して、前処理装置2によって前処理が行われた画像(以下、「処理済画像」という。)に対して、OCR処理を実行して、処理済画像から文字列の認識を行う。
【0036】
情報処理装置10は、認識装置3が実行した認識結果を取得して、項目、及び文字列の抽出を行う。なお、本実施形態に係る情報処理装置10は、予め指定された項目に関連付けられた文字列を抽出する。このように、予め項目を指定し、指定した項目に関連付けられている文字列の抽出を行うことを「キーバリュー抽出」という。本実施形態では、各々の書類に記載された項目(キー)に対応する文字列(バリュー)を抽出する形態について説明する。ここで、キーバリュー抽出では、項目に関連付けられている文字列の相対位置(すなわち、項目、及び文字列の位置関係。本実施例では、項目を基準とした場合の文字列が存在しうる位置を指す。)を予め設定しておく必要がある。なお、本実施形態では、項目の下側、若しくは項目の右側に位置する文字列を抽出する設定がなされている形態について説明する。また、本実施形態に係る項目は、「氏名」、及び「品名」等を示し、本実施形態に係る文字列は、「富士太郎」、及び「モニタ」等の各々の項目に対応する具体的な内容を示すものである。また、文字列は、値の一例である。また、本実施形態に係る認識装置3は、文字認識装置の一例である。
【0037】
次に、図2を参照して、情報処理装置10のハードウェアの構成について説明する。図2は、本実施形態に係る情報処理装置10のハードウェア構成の一例を示すブロック図である。図2に示すように、本実施形態に係る情報処理装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、モニタ16、及び通信インターフェース(通信I/F)17を含んで構成されている。CPU11、ROM12、RAM13、ストレージ14、入力部15、モニタ16、及び通信I/F17の各々はバス18により相互に接続されている。ここで、CPU11は、プロセッサの一例である。
【0038】
CPU11は、情報処理装置10の全体を統括し、制御する。ROM12は、本実施形態で用いる情報処理プログラムを含む各種プログラム及びデータ等を記憶している。RAM13は、各種プログラムの実行時のワークエリアとして用いられるメモリである。CPU11は、ROM12に記憶されたプログラムをRAM13に展開して実行することにより、文字認識の結果から項目、及び文字例を抽出し、記憶する処理を行う。ストレージ14は、一例としてHDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等である。なお、ストレージ14には、情報処理プログラム等を記憶してもよい。入力部15は、文字の入力等を受け付けるキーボード及びマウス等である。モニタ16は、画像データ等を表示する。通信I/F17は、データの送受信を行う。
【0039】
次に、図3を参照して、情報処理装置10の機能構成について説明する。図3は、本実施形態に係る情報処理装置10の機能的な構成の一例を示すブロック図である。
【0040】
図3に示すように、情報処理装置10は、取得部21、判定部22、制御部23、及び記憶部24を有する。CPU11が情報処理プログラムを実行することで、取得部21、判定部22、制御部23、及び記憶部24として機能する。
【0041】
取得部21は、読取画像に対する文字認識の結果から項目、及び文字列を取得する。
【0042】
判定部22は、取得した項目、及び文字列が正常に取得できているか否かの判定を行う。例えば、文字認識の結果から項目、及び文字列が取得できている場合、判定部22は項目、及び文字列が認識できている判定を行う。
【0043】
また、判定部22は、項目、及び文字列が取得できた場合、取得した文字列が項目に対応しているか否かの判定を行う。例えば、判定部22は、後述する記憶部24から取得した項目に対応する文字列の候補と、取得した文字列と、の比較を行って、対応しているか否かの判定を行う。ここで、文字列の候補は、項目に応じた文字列、数字、及び記号の一覧である。例えば、項目が「日付」である場合、文字列は、数字、数字を区切る記号、及び文字が想定されるため、文字列の候補として、全角数字、半角数字、「/」等の数字を区切る記号、及び「年」、「月」、「日」等の文字が挙げられる。つまり、判定部22は、項目に応じた候補を取得し、取得した文字列に候補にない文字、記号、及び数字等を含んでいた場合、文字列が項目に対応していないと判定する。なお、本実施形態に係る候補は、文字、記号、及び数字である形態について説明した。しかし、これに限定されない。候補は、文字コードであってもよい。例えば、候補として、文字コード、及び文字コードの範囲を設定し、文字列に含まれる文字の文字コードが候補に設定されている文字コードに含まれない場合、項目に対応した文字列が取得できていないと判定してもよい。
【0044】
制御部23は、判定部22が判定した項目、及び文字列の取得、又は未取得の状態に応じて、前処理、及び文字認識の設定を変更して、前処理、及び文字認識を実施するように制御する。
【0045】
記憶部24は、認識画像、認識した結果、文字列の候補、項目、及び文字列を取得した位置を記憶する。また、記憶部24は、後述する優先順位データベース(以下、「優先順位DB」という。)を記憶している。
【0046】
次に、情報処理装置10の作用について説明する前に、図4から図6を参照して、本実施形態に係る項目、及び文字列の取得、又は未取得の状態に応じて、前処理、及び文字認識を実施するように制御する手法について説明する。図4は、本実施形態に係る情報処理システムの処理の一例を示すデータフロー図である。図5は、本実施形態に係る読み取った書類の一例を示す模式図である。図6は、本実施形態に係る優先順位データベースの一例を示す図である。
【0047】
また、本実施形態では、情報処理装置10は、図5における書類に含まれる表A、表B、及び表Cから項目、及び文字列を抽出する形態について説明する。ここで、表A、表B、及び表Cは、特定した項目、及び文字列が位置する箇所の一例である。
【0048】
図4に示すように、情報処理システム1は、前処理装置2、認識装置3、及び情報処理装置10を含んでいる。
【0049】
前処理装置2は、書類を読み取った読取画像30を取得し、読取画像30に対して、画像の直立化、ノイズ除去等の前処理31を実施し、処理済画像32を出力する。
【0050】
認識装置3は、処理済画像32を取得し、処理済画像32に対して、OCR処理33として、キーバリュー抽出を実施し、OCR結果34を出力する。
【0051】
情報処理装置10は、OCR結果取得処理35において取得したOCR結果34を用いて、判定処理36の処理を行う。具体的には、OCR結果34から取得した、項目、及び文字列に対して取得、又は未取得の状態の判定を行う。
【0052】
情報処理装置10は、制御処理37の処理として、優先順位DB39を用いて、判定に応じて、文字を認識するための処理を選択して、前処理装置2又は認識装置3に処理を再実行する指示を出力する。
【0053】
一例として、図5に示すように、情報処理装置10は、書類40に含まれる矩形によって囲まれた領域41から表Aに対応する項目、及び文字列を抽出する。しかしながら、図5に示すように、表Aの項目欄が白抜き文字となっているため、項目が取得できないことがある。
【0054】
情報処理装置10は、領域41から表Aに対応する項目、及び文字列を抽出し、文字列は取得できたが、項目が取得できない場合、領域41の項目に障害がある判定を行う。
【0055】
領域41から抽出した項目に障害がある判定を行った場合、情報処理装置10は、前処理装置2に領域41の項目欄に白抜き反転処理を実行する指示を出力する。前処理装置2が白抜き反転処理を行うことで、後続の認識装置3にて、領域41における項目、及び文字列が抽出される。
【0056】
また、図5に示すように、表Bには、表Bに重なるように透かしが付されており、透かしに重なっている項目、及び文字列が取得できないことがある。
【0057】
情報処理装置10は、領域42から表Bに対応する項目、文字列を抽出し、項目、文字列が取得できない場合、情報処理装置10は、表B以外の領域から項目、及び文字列が抽出できているか否かの判定を行う。
【0058】
例えば、領域42から抽出した表Bに対応する項目、及び文字列を取得できない、かつ領域41から抽出した表Aに対応する項目、及び文字列が取得できた場合、情報処理装置10は、領域42の表Bに障害がある判定を行う。
【0059】
情報処理装置10は、表Bに障害がある判定を行った場合、前処理装置2に透かし除去を実行する指示を出力する。前処理装置2が透かし除去を行うことで、後続の認識装置3にて、領域42における項目、及び文字列が抽出される。
【0060】
ここで、公知技術として、透かしが付された読取画像を学習した学習モデルを用いて、透かしが除去される方法が知られている。しかしながら、学習モデルを備えたAI(Artificial Intelligence)を搭載した前処理装置2に透かし除去の実行を指示しても、透かし除去に用いる学習モデルが読取画像に対応していない場合、項目、及び文字列が取得できないことがある。したがって、本実施形態に係る情報処理装置10は、前処理装置2に学習モデルの変更、又はAIエンジンの変更等の設定を変更して前処理を実行する指示を出力する。
【0061】
また、領域42に対応する項目、及び文字列を取得できない、かつ領域41に対応する項目、及び文字列が取得できない場合、情報処理装置10は、読取画像全体に障害がある判定を行う。
【0062】
情報処理装置10は、読取画像全体に障害がある判定を行った場合、認識装置3によってOCRが正常に行われなかったと判断して、認識装置3にOCRエンジンを変更する等の認識装置3の設定を変更して、OCRを実行する指示を出力する。認識装置3が異なるOCRエンジンでOCRを実行することによって、読取画像から項目、及び文字列が取得される。
【0063】
また、図5に示すように、表Cには、項目「金額」の記載欄の部分に網掛けが付されており、項目に関連付けられている文字列が取得できないことがある。
【0064】
情報処理装置10は、領域43から表Cに対応する項目、文字列を抽出し、項目は取得できたが、文字列が取得できない場合、領域43の文字列に障害があると判定を行う。
【0065】
情報処理装置10は、領域43から抽出した文字列に障害があると判定を行った場合、前処理装置2に網掛け除去を実行する指示を出力する。情報処理装置10は、前処理装置2に領域43に網掛け除去を実行する指示を出力する。前処理装置2が網掛け除去を行うことで、後続の認識装置3にて、領域43における項目、及び文字列が抽出される。
【0066】
また、情報処理装置10は、項目、及び文字列が取得できた場合、文字列が項目に対応しているか否かの判定を行う。図4に示すように情報処理装置10は、文字列が項目に対応しているか否かの判定を行う場合、候補データ38から項目に対応する文字列の候補を取得して、判定を行う。
【0067】
情報処理装置10は、文字列が項目に対応、又は同一であると認められないと判定した場合、OCRに障害があると判断して、認識装置3に、OCR辞書を変更する指示を出力する。認識装置3がOCR辞書の変更を行うことで、認識装置3にて、正常な項目、及び文字列が抽出される。
【0068】
なお、本実施形態では、錯綜を避けるために、障害があるとされた1つの判定に対して、1つの対処方法を実施して、認識処理を再実行する形態について説明した。しかし、これに限定されない。1つの判定に対して複数の対処方法があってもよい。
【0069】
例えば、情報処理装置10は、項目、又は文字列に障害があると判定した場合、網掛け除去、白抜き反転、色背景除去、AIエンジンの変更、透かし除去、及び地紋の除去の指示を前処理装置2に出力してもよい。情報処理装置10は、項目、又は文字列に障害があると判定した場合、項目と文字列との相対位置、及びOCRエンジンの変更、又は白抜き反転、の指示を認識装置3に出力してもよい。また、情報処理装置10は、表、又は読取画像に障害があると判定した場合、網掛け除去、色背景除去、AIエンジンの変更、透かし除去、及び地紋の除去の指示を前処理装置2に出力してもよい。また、情報処理装置10は、表、又は読取画像に障害があると判定した場合、OCRエンジン、及びOCR辞書の変更の指示を認識装置3に出力してもよい。
【0070】
具体的には、情報処理装置10は、図6に示す優先順位DB39を取得して、対処方法を選択する。優先順位DB39は、優先順位、対処方法、指示先、及び障害内容を含んでいる。優先順位は、対処方法を実行する順番であり、対処方法は、障害がある場合に出力する指示の内容であり、指示先は、対処方法を実行するように指示を出力する装置の名称であり、障害内容は、情報処理装置10が判定した障害の内容である。また、障害内容における「〇」は、判定された障害内容に対して、選択可能である対処方法であることを示す。
【0071】
例えば、情報処理装置10は、「項目に障害あり」と判定した場合、障害内容の「項目」の列において、「〇」となっている対処方法を選択し、設定されている指示先に選択した対処方法を実行するように指示を出力する。また、選択する対処方法は優先順位の高い順番に選択される。つまり、情報処理装置10は、「項目」の列において、「〇」となっている優先順位が「1」の「透かし除去」を実行して、障害が解決しない場合、情報処理装置10は、優先順位「2」の「地紋除去」を選択する。また、選択可能である対処方法を全て実施した結果、障害が解決しない場合、情報処理装置10は、ユーザに障害が解決しない旨の通知を行う。
【0072】
なお、本実施形態に係る優先順位は、ユーザによって指定されてもよいし、対処方法毎の障害が解決した回数を記憶して、回数が多いほど優先順位が高くなるように設定してもよい。また、読取画像毎に対処方法を設定することによって、障害が早期に解決されるため、優先順位は、記憶された読取画像毎に設定されてもよい。
【0073】
次に、図7、及び図8を参照して、本実施形態に係る情報処理プログラムの作用について説明する。図7は、本実施形態に係る情報処理の一例を示すフローチャートである。CPU11がROM12又はストレージ14から情報処理プログラムを読み出し、実行することによって、図7に示す情報処理が実行される。図7に示す情報処理は、例えば、ユーザから情報処理プログラムの実行指示が入力された場合、情報処理が実行される。
【0074】
ステップS101において、CPU11は、項目に対応する文字列の候補を取得する。
【0075】
ステップS102において、CPU11は、対処方法の優先順位DBを取得する。
【0076】
ステップS103において、CPU11は、認識装置3からOCR結果を取得する。
【0077】
ステップS104において、判定処理を実行する。なお、判定処理の詳細については、後述する図8において詳細に説明する。
【0078】
ステップS105において、CPU11は、優先順位DB39を用いて、対処方法を選択する。
【0079】
ステップS106において、CPU11は、障害があり、再実行指示を出力するか否かの判定を行う。再実行指示を出力する場合(ステップS106:YES)、CPU11は、ステップS107に移行する。一方、再実行指示を出力しない場合(ステップS106:NO)、CPU11は、ステップS110に移行する。
【0080】
ステップS107において、CPU11は、前処理装置2に指示を出力するか否かの判定を行う。前処理装置2に指示を出力する場合(ステップS107:YES)、CPU11は、ステップS108に移行する。一方、前処理装置2に指示を出力しない(認識装置3に指示を出力する)場合(ステップS107:NO)、CPU11は、ステップS109に移行する。
【0081】
ステップS108において、CPU11は、選択した対処方法を実行する指示を前処理装置2に出力する。
【0082】
ステップS109において、CPU11は、選択した対処方法を実行する指示を認識装置3に出力する。
【0083】
ステップS110において、CPU11は、情報処理を終了するか否かの判定を行う。情報処理を終了する場合(ステップS110:YES)、CPU11は、情報処理を終了する。一方、情報処理を終了しない場合(ステップS110:NO)、CPU11は、ステップS103に移行する。なお、本実施形態では、前処理装置2、又は認識装置3に指示を出力しない場合、情報処理を終了する。
【0084】
次に、図8を参照して、本実施形態に係る判定処理プログラムの作用について説明する。図8は、本実施形態に係る判定処理の一例を示すフローチャートである。CPU11がROM12又はストレージ14から判定処理プログラムを読み出し、実行することによって、図8に示す判定処理が実行される。図8に示す判定処理は、例えば、情報処理プログラムから判定処理プログラムの実行指示が入力された場合、判定処理が実行される。
【0085】
ステップS201において、CPU11は、OCR結果から表に対応する項目、及び文字列を抽出する。
【0086】
ステップS202において、CPU11は、項目、及び文字列が全て取得できたか否かの判定を行う。項目、及び文字列が全て取得できた場合(ステップS202:YES)、CPU11は、ステップS203に移行する。一方、少なくとも1つの項目、及び文字列が取得できていない場合(ステップS202:NO)、CPU11は、ステップS205に移行する。
【0087】
ステップS203において、CPU11は、取得した文字列が項目に対応しているか否かの判定を行う。取得した文字列が項目に対応している場合(ステップS203:YES)、CPU11は、ステップS212に移行する。一方、取得した文字列が項目に対応していない場合(ステップS203:NO)、CPU11は、ステップS204に移行する。
【0088】
ステップS204において、CPU11は、OCRに障害があると判定する。
【0089】
ステップS205において、CPU11は、項目が取得できたか否かの判定を行う。項目が取得できた場合(ステップS205:YES)、CPU11は、ステップS206に移行する。一方、項目が取得できなかった場合(ステップS205:NO)、CPU11は、ステップS207に移行する。
【0090】
ステップS206において、CPU11は、文字列に障害があると判定する。
【0091】
ステップS207において、CPU11は、文字列が取得できたか否かの判定を行う。文字列が取得できた場合(ステップS207:YES)、CPU11は、ステップS208に移行する。一方、文字列が取得できなかった場合(ステップS207:NO)、CPU11は、ステップS209に移行する。
【0092】
ステップS208において、CPU11は、項目に障害があると判定する。
【0093】
ステップS209において、CPU11は、項目、及び文字列が取得できなかった表とは異なる表において、項目、及び文字列が取得できたか否かの判定を行う。異なる表の項目、及び文字列が取得できた場合(ステップS209:YES)、CPU11は、ステップS210に移行する。一方、異なる表の項目、及び文字列が取得できなかった場合(ステップS209:NO)、CPU11は、ステップS211に移行する。
【0094】
ステップS210において、CPU11は、項目、及び文字列が取得できなかった表に障害があると判定する。
【0095】
ステップS211において、CPU11は、認識画像に障害があると判定する。
【0096】
ステップS212において、CPU11は、全ての表について判定を実行したか否かの判定を行う。全ての表を判定した場合(ステップS212:YES)、CPU11は、判定処理を終了する。一方、全ての表を判定していない場合(ステップS212:NO)、CPU11は、ステップS201に移行する。
【0097】
以上説明したように、キーバリュー抽出において、項目、及び文字列の取得、又は未取得の状態に応じて、項目、及び文字列を認識しやすくするための対処方法が選択される。したがって、本実施形態によれば、書類から文字列を認識することができない場合において、文字列を認識可能にする前処理を選択して、文字列を認識する処理を再実行できる。
【0098】
なお、本実施形態では、OCR処理の後に実行されるキーバリュー抽出の結果からキーバリュー抽出の前段階で実行された前処理、及びOCR処理の何れかを選択し、設定を変更して実行する指示を出力する説明をした。しかし、これに限定されない。つまり、ある処理の結果から当該処理に影響を与える複数の前処理の内、どの前処理を再実行するかを決定してもよい。
【0099】
例えば、判定を行う処理がOCR処理であり、複数の前処理を地紋除去、及び赤色の印鑑を除去する印鑑除去であるとする。この場合、OCR処理の結果から全体的に文字列が抽出されない場合、書類の全面に対して画像処理が作用していなかった、つまり、地紋処理の画像処理が不適であったと判断し、異なる設定値で地紋除去の画像処理を再実行するように指示を出力する。なお、地紋は書類を提供する提供主体により異なることが多いため、設定値を変更することで解消することがある。
【0100】
一方、文字認識結果は取得できているが、一部の領域のみ文字を認識できていない場合には、特定領域の画像処理である赤色の印鑑除去のパラメータが不適であったと判断し、設定値を変更して印鑑除去の画像処理を再実行するように指示を出力する。
【0101】
その他、上記実施形態で説明した情報処理装置10の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【0102】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0103】
なお、上記各実施形態において、プロセッサとは、広義的なプロセッサを指し、例えばCPU等の汎用的なプロセッサや、例えばGPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、及びプログラマブル論理デバイス等の専用のプロセッサを含むものである。
【0104】
また、上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0105】
また、上記各実施形態では、情報処理のプログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0106】
1 情報処理システム
2 前処理装置
3 認識装置
10 情報処理装置
11 CPU
12 ROM
13 RAM
14 ストレージ
15 入力部
16 モニタ
17 通信I/F
18 バス
21 取得部
22 判定部
23 制御部
24 記憶部
30 読取画像
31 前処理
32 処理済画像
33 OCR処理
34 OCR結果
35 OCR結果取得処理
36 判定処理
37 制御処理
38 候補データ
39 優先順位DB
40 書類
41、41、42 領域
図1
図2
図3
図4
図5
図6
図7
図8