(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-23
(45)【発行日】2025-07-01
(54)【発明の名称】情報処理装置、及び情報処理プログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20250624BHJP
【FI】
G06V30/412
(21)【出願番号】P 2020208692
(22)【出願日】2020-12-16
【審査請求日】2023-11-20
【前置審査】
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】辰巳 大祐
(72)【発明者】
【氏名】植田 学
(72)【発明者】
【氏名】阿部 茜
(72)【発明者】
【氏名】安藤 惇
【審査官】小池 正彦
(56)【参考文献】
【文献】特開2011-248609(JP,A)
【文献】特開2012-208589(JP,A)
【文献】特開2019-185137(JP,A)
【文献】特開2004-321458(JP,A)
【文献】特開2019-041150(JP,A)
【文献】米国特許出願公開第2020/0273078(US,A1)
【文献】米国特許出願公開第2020/0372249(US,A1)
【文献】米国特許出願公開第2019/0166104(US,A1)
【文献】米国特許出願公開第2020/0380286(US,A1)
【文献】特開2008-204226(JP,A)
【文献】特開2020-184109(JP,A)
【文献】特開2020-144636(JP,A)
【文献】特開2013-025393(JP,A)
【文献】特開2018-055255(JP,A)
【文献】特開2020-135095(JP,A)
【文献】特開2020-140410(JP,A)
【文献】特開2007-233913(JP,A)
【文献】特開2017-162179(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
(57)【特許請求の範囲】
【請求項1】
プロセッサを有し、前記プロセッサは、
文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及び前記キー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、
前記属性情報を用いて、前記文字認識の実行結果から抽出した前記バリュー文字列に対応する前記キー文字列を取得し、
取得したキー文字列、及び対応するバリュー文字列を出力し、
前記プロセッサは、
文字列が属する属性を推定するための学習を行った推定モデルをさらに備え、
前記推定モデルを用いて、前記対象画像に含まれる文字列の属性を推定し、
前記プロセッサは、
前記対象画像における前記文字列の位置を示す情報である位置情報をさらに取得し、
前記推定モデルに、画像における文字列の位置と、文字列の属性と、を予め学習させ、
前記文字認識の結果から抽出した前記文字列の位置を用いて、前記属性を推定し、
前記プロセッサは、
前記推定モデルに、画像における文字列の位置として、画像における予め定められた箇所に位置するオブジェクトと、文字列と、の位置の関係を学習させ、
前記対象画像に含まれるオブジェクトの位置と、前記対象画像における前記文字列の位置と、の関係から属性を推定する
情報処理装置。
【請求項2】
プロセッサを有し、前記プロセッサは、
文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及び前記キー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、
前記属性情報を用いて、前記文字認識の実行結果から抽出した前記バリュー文字列に対応する前記キー文字列を取得し、
取得したキー文字列、及び対応するバリュー文字列を出力し、
前記プロセッサは、
画像に含まれる文字列を検出するための学習を行った検出モデルをさらに備え、
前記対象画像に対する前記文字認識の結果から前記キー文字列が抽出できなかった場合、前記検出モデルを用いて、前記キー文字列を抽出する
情報処理装置。
【請求項3】
前記プロセッサは、
前記キー文字列、及び前記バリュー文字列の位置の関係を表す情報である位置関係情報をさらに取得し、
前記検出モデルを用いて、前記位置関係情報と、前記文字認識の結果から抽出した前記バリュー文字列の位置と、により、前記キー文字列を検出する
請求項
2に記載の情報処理装置。
【請求項4】
プロセッサを有し、前記プロセッサは、
文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及び前記キー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、
前記属性情報を用いて、前記文字認識の実行結果から抽出した前記バリュー文字列に対応する前記キー文字列を取得し、
取得したキー文字列、及び対応するバリュー文字列を出力し、
前記プロセッサは、
予め記憶されたバリュー文字列、又は過去に修正されたバリュー文字列を用いて、前記文字認識の結果から抽出した前記バリュー文字列を修正して出力する
情報処理装置。
【請求項5】
前記プロセッサは、
予め記憶されたバリュー文字列、又は過去に修正されたバリュー文字列を学習した修正モデルを用いて、前記文字認識の結果から抽出した前記バリュー文字列を修正する
請求項
4に記載の情報処理装置。
【請求項6】
プロセッサを有し、前記プロセッサは、
文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及び前記キー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、
前記属性情報を用いて、前記文字認識の実行結果から抽出した前記バリュー文字列に対応する前記キー文字列を取得し、
取得したキー文字列、及び対応するバリュー文字列を出力し、
前記プロセッサは、
前記バリュー文字列に対応する前記キー文字列が抽出できない場合、前記属性情報を前記キー文字列に設定して、前記キー文字列、及び対応する前記バリュー文字列を出力する
情報処理装置。
【請求項7】
プロセッサを有し、前記プロセッサは、
文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及び前記キー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、
前記属性情報を用いて、前記文字認識の実行結果から抽出した前記バリュー文字列に対応する前記キー文字列を取得し、
取得したキー文字列、及び対応するバリュー文字列を出力し、
前記プロセッサは、
前記キー文字列、及び前記バリュー文字列の位置の関係を表す情報である位置関係情報と、前記属性情報と、を関連付けた情報である関連情報をさらに取得し、
前記バリュー文字列の属性を示す属性情報に対して、前記関連情報において関連付けられている位置関係情報と、前記文字認識の結果から抽出した前記バリュー文字列の位置と、により抽出した前記バリュー文字列に対応する前記キー文字列を取得する
情報処理装置。
【請求項8】
コンピュータに、
文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及び前記キー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、
前記属性情報を用いて、前記文字認識の実行結果から抽出した前記バリュー文字列に対応する前記キー文字列を取得し、
取得したキー文字列、及び対応するバリュー文字列を出力する
ことを実行させ、
文字列が属する属性を推定するための学習を行った推定モデルをさらに備え、
前記推定モデルを用いて、前記対象画像に含まれる文字列の属性を推定する
ことを実行させ、
前記対象画像における前記文字列の位置を示す情報である位置情報をさらに取得し、
前記推定モデルに、画像における文字列の位置と、文字列の属性と、を予め学習させ、
前記文字認識の結果から抽出した前記文字列の位置を用いて、前記属性を推定する
ことを実行させ、
前記推定モデルに、画像における文字列の位置として、画像における予め定められた箇所に位置するオブジェクトと、文字列と、の位置の関係を学習させ、
前記対象画像に含まれるオブジェクトの位置と、前記対象画像における前記文字列の位置と、の関係から属性を推定する
ことを実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び情報処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、多種レイアウトが混在する帳票群を、帳票定義なしに、読取対象文字列の読み取りおよび当該文字列の属性の判定を行う帳票認識装置であって、前記帳票画像から文字列領域を検出する文字列検出部と、前記文字列領域の個々の文字を認識する文字列認識部と、帳票画像内の文字列に対し、当該文字列が項目名である確率を表す項目名尤度を計算する項目名尤度計算部と、帳票画像内の文字列に対し、当該文字列が表記辞書に登録された単語や文字列の文法表記ルールに一致する確率を表す項目値尤度を計算する項目値尤度計算部と、帳票画像内の文字列ペアに対し、当該文字列ペアの文字列の枠または文字列矩形に基づいて、当該文字列ペアの配置関係が項目名-項目値関係として妥当であるかを表す配置尤度を計算する配置尤度計算部と、前記項目名尤度、項目値尤度、配置尤度を基に、当該文字列ペアの項目名-項目値としての尤もらしさを表す評価値を計算する項目名-項目値関係評価値計算部と、前記項目名-項目値関係評価値計算部の出力する前記評価値により、帳票画像内での項目名-項目値関係の対応付けを決定する項目名-項目値関係決定部を有することを特徴とする技術が開示されている。
【0003】
特許文献2には、帳票を処理する帳票処理装置のコンピュータを、画像読取装置で前記帳票を読み取らせて帳票画像を取得する画像読取手段、前記画像読取手段によって取得した帳票画像に文字認識処理を実行して文字列を認識する文字列認識手段、前記文字列認識手段によって認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得する同一行文字列群情報取得手段、前記同一行文字列群情報取得手段によって取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断する特定文字列判断手段、前記特定文字列判断手段によって前記特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断する特定画像判断手段、前記特定画像判断手段によって前記特定画像が存在すると判断された場合、前記特定画像の前記近傍の同一行文字列群情報に含まれる項目文字列を前記帳票に記載された特定の内容項目として取得する内容項目取得手段、として機能させる技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第5621169号公報
【文献】特許第6616269号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
書類等を読み取った画像に対して文字認識(OCR:Optical Character Recognition)処理を実行することによって、画像に含まれている文字列を抽出する技術がある。文字認識処理によって画像から文字列を抽出する場合において、キーとして予め指定された文字列(以下、「キー文字列」という。)に対応するバリューとなる文字列(以下、「バリュー文字列」という。)を抽出するキーバリュー抽出を行うことがある。
【0006】
文字認識処理によるキーバリュー抽出は、文字認識の実行結果からバリュー文字列が抽出できた場合であっても、実行結果に誤認識等が含まれることによってキー文字列が抽出できない場合、又は書類等にバリュー文字列に対応するキー文字列が含まれていない場合、対応した文字列としてキー文字列、及びバリュー文字列を出力できない。
【0007】
本発明は、文字認識処理によるキー文字列が抽出できない場合、又は書類等にバリュー文字列に対応するキー文字列が含まれていない場合であっても、対応した文字列としてキー文字列、及びバリュー文字列を出力することができる情報処理装置、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の態様の情報処理装置は、プロセッサを有し、プロセッサは、文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及びキー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、属性情報を用いて、文字認識の実行結果から抽出したバリュー文字列に対応するキー文字列を取得し、取得したキー文字列、及び対応するバリュー文字列を出力する。
【0009】
第2の態様の情報処理装置は、第1の態様に係る情報処理装置において、プロセッサは、文字列が属する属性を推定するための学習を行った推定モデルをさらに備え、推定モデルを用いて、対象画像に含まれる文字列の属性を推定する。
【0010】
第3の態様の情報処理装置は、第2の態様に係る情報処理装置において、プロセッサは、推定モデルに、文字列と、文字列の属性と、を予め学習させ、文字認識の結果から抽出した文字列を用いて、属性を推定する。
【0011】
第4の態様の情報処理装置は、第2の態様に係る情報処理装置において、プロセッサは、対象画像における文字列の位置を示す情報である位置情報をさらに取得し、推定モデルに、画像における文字列の位置と、文字列の属性と、を予め学習させ、文字認識の結果から抽出した文字列の位置を用いて、属性を推定する。
【0012】
第5の態様の情報処理装置は、第4の態様に係る情報処理装置において、プロセッサは、推定モデルに、画像における文字列の位置として、画像における予め定められた箇所に位置するオブジェクトと、文字列と、の位置の関係を学習させ、対象画像に含まれるオブジェクトの位置と、対象画像における文字列の位置と、の関係から属性を推定する。
【0013】
第6の態様の情報処理装置は、第1の態様から第5の態様の何れか1つの態様に係る情報処理装置において、プロセッサは、画像に含まれる文字列を検出するための学習を行った検出モデルをさらに備え、対象画像に対する文字認識の結果からキー文字列が抽出できなかった場合、検出モデルを用いて、キー文字列を抽出する。
【0014】
第7の態様の情報処理装置は、第6の態様に係る情報処理装置において、プロセッサは、キー文字列、及びバリュー文字列の位置の関係を表す情報である位置関係情報をさらに取得し、検出モデルを用いて、位置関係情報と、文字認識の結果から抽出したバリュー文字列の位置と、により、キー文字列を検出する。
【0015】
第8の態様の情報処理装置は、第1の態様から第7の態様の何れか1つの態様に係る情報処理装置において、プロセッサは、予め記憶されたバリュー文字列、又は過去に修正されたバリュー文字列を用いて、文字認識の結果から抽出したバリュー文字列を修正して出力する。
【0016】
第9の態様の情報処理装置は、第8の態様に係る情報処理装置において、プロセッサは、予め記憶されたバリュー文字列、又は過去に修正されたバリュー文字列を学習した修正モデルを用いて、文字認識の結果から抽出したバリュー文字列を修正する。
【0017】
第10の態様の情報処理装置は、第1の態様から第9の態様の何れか1つの態様に係る情報処理装置において、プロセッサは、バリュー文字列に対応するキー文字列が抽出できない場合、属性情報をキー文字列に設定して、キー文字列、及び対応するバリュー文字列を出力する。
【0018】
第11の態様の情報処理装置は、第1の態様から第9の態様の何れか1つの態様に係る情報処理装置において、プロセッサは、キー文字列、及びバリュー文字列の位置の関係を表す情報である位置関係情報と、属性情報と、を関連付けた情報である関連情報をさらに取得し、バリュー文字列の属性を示す属性情報に対して、関連情報において関連付けられている位置関係情報と、文字認識の結果から抽出したバリュー文字列の位置と、により抽出したバリュー文字列に対応するキー文字列を取得する。
【0019】
第12の態様の情報処理プログラムは、コンピュータに、文字列を含む対象画像に対する文字認識の実行結果から、キーとして予め指定された文字列であるキー文字列、及びキー文字列に対応するバリューを示す文字列であるバリュー文字列が属する属性を示す情報である属性情報を取得し、属性情報を用いて、文字認識の実行結果から抽出したバリュー文字列に対応するキー文字列を取得し、取得したキー文字列、及び対応するバリュー文字列を出力することを実行させる。
【発明の効果】
【0020】
第1の態様の情報処理装置、及び第12の態様の情報処理プログラムによれば、文字認識処理によるキー文字列が抽出できない場合、又は書類等にバリュー文字列に対応するキー文字列が含まれていない場合であっても、対応した文字列としてキー文字列、及びバリュー文字列を出力することができる。
【0021】
第2の態様の情報処理装置によれば、学習を反映して、属性を推定できる。
【0022】
第3の態様の情報処理装置によれば、抽出した文字列の内容から対象画像の属性、及び文字列の種類を推定できる。
【0023】
第4の態様の情報処理装置によれば、抽出した文字列に不備が存在する場合であっても文字列の属性、及び種類を推定できる。
【0024】
第5の態様の情報処理装置によれば、検索する方向が定められていない場合と比較して、属性、及び文字列の種類を推定する精度をより向上できる。
【0025】
第6の態様の情報処理装置によれば、抽出処理によってキー文字列が抽出できなかった場合であっても、キー文字列を取得できる。
【0026】
第7の態様の情報処理装置によれば、バリュー文字列に対するキー文字列の位置関係を考慮して、キー文字列を検出できる。
【0027】
第8の態様の情報処理装置によれば、ユーザが文字列を修正する場合と比較して、ユーザの負荷を軽減できる。
【0028】
第9の態様の情報処理装置によれば、1つの修正候補を用いて修正する場合と比較して、精度よく文字列を修正できる。
【0029】
第10の態様の情報処理装置によれば、対象画像にキー文字列に該当する文字列が存在しない場合であっても、キー文字列を出力できる。
【0030】
第11の態様の情報処理装置によれば、バリュー文字列に対するキー文字列の位置関係を考慮して、キー文字列を抽出できる。
【図面の簡単な説明】
【0031】
【
図1】各実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【
図2】第1実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【
図3】各実施形態に係る文字列の抽出を行う対象画像の一例を示す図である。
【
図4】各実施形態に係る認識結果の一例を示す図である。
【
図5】各実施形態に係る位置関係データベースの一例を示す図である。
【
図6】各実施形態に係るキー文字列及びバリュー文字列の指定の説明に供する確認訂正画面の一例を示す図である。
【
図7】第1実施形態に係る文字列を抽出する抽出処理の流れの一例を示すフローチャートである。
【
図8】第2実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【
図9】第2実施形態に係る文字列を抽出する抽出処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0032】
[第1実施形態]
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
【0033】
図1を参照して、情報処理装置10の構成について説明する。
図1は、本実施形態に係る情報処理装置10のハードウェア構成の一例を示すブロック図である。一例として、本実施形態に係る情報処理装置10は、パーソナルコンピュータ等の端末、又はサーバである形態について説明する。しかし、これに限定されない。情報処理装置10は、画像形成装置等の他の装置に組み込まれていてもよい。
【0034】
図1に示すように、本実施形態に係る情報処理装置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は、プロセッサの一例である。
【0035】
CPU11は、情報処理装置10の全体を統括し、制御する。ROM12は、本実施形態で用いる情報処理プログラムを含む各種プログラム及びデータ等を記憶している。RAM13は、各種プログラムの実行時のワークエリアとして用いられるメモリである。CPU11は、ROM12に記憶されたプログラムをRAM13に展開して実行することにより、文字列を抽出する処理を行う。ストレージ14は、一例としてHDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等である。なお、ストレージ14には、情報処理プログラム等を記憶してもよい。入力部15は、文字の入力等を受け付けるマウス、及びキーボード等である。モニタ16は、抽出した文字列等を表示する。通信I/F17は、データの送受信を行う。
【0036】
次に、
図2を参照して、情報処理装置10の機能構成について説明する。
図2は、本実施形態に係る情報処理装置10の機能的な構成の一例を示すブロック図である。
【0037】
図2に示すように、情報処理装置10は、取得部21、認識部22、推定部23、抽出部24、確認訂正部25、出力部26、記憶部27、及び学習部28Aを備えている。CPU11が情報処理プログラムを実行することで、取得部21、認識部22、推定部23、抽出部24、確認訂正部25、出力部26、記憶部27、及び学習部28Aとして機能する。
【0038】
取得部21は、文字列を抽出する対象となる画像(以下、「対象画像」という。)31を取得する。なお、本実施形態に係る対象画像31は、
図3に示すように、記載する項目と、項目に対してユーザによって記載された文字列と、印影等のオブジェクト32と、を含む書類の画像である形態について説明する。しかし、これに限定されない。対象画像31は、罫線等で区切られた帳票又は伝票の画像であってもよいし、機械的に印字された領収書等であってもよいし、文字列を含む画像であれば如何なる画像であってもよい。また、オブジェクト32は、書類の種類ごとに予め定められた箇所に位置するものとして説明する。
【0039】
認識部22は、文字認識(OCR:Optical Character Recognition)処理を用いて、対象画像31から書類に含まれている文字列及びオブジェクト32と、対象画像31における文字列及びオブジェクト32の位置(座標)と、を取得し、認識結果33として出力する。
【0040】
なお、本実施形態に係る認識結果33は、一例として
図4に示すように、対象画像31から取得した文字列及びオブジェクト32、文字列及びオブジェクト32毎の属性、種類、及び位置(座標)を含む。ここで、認識結果33に係る文字列毎の属性とは、例えば、「日付」及び「住所」等の文字列が属する属性を示す情報(以下、「属性情報」という。)である。また、種類とは、指定されたキーを示す文字列(以下、「キー文字列」という。)、又はキー文字列に対応するバリューを示す文字列(以下、「バリュー文字列」という。)を表す文字列の種類である。
【0041】
また、本実施形態では、認識部22において対象画像31に含まれる文字列を認識する形態について説明したが、認識部22において対象画像31を解析して書類の種類を識別して、認識結果として出力してもよい。例えば、解析として、特定の文字列、及び罫線等の位置を認識し、予め記憶しておいた書類の特徴と比較して書類の種類を識別してもよいし、対象画像31に含まれている書類を識別するための識別子を認識して、書類の種類を識別してもよい。書類の種類を識別させることによって、書類毎に含まれるキー文字列が特定される。つまり、認識部22は、書類の種類を識別して、抽出するキー文字列を特定してもよい。
【0042】
推定部23は、認識結果33における文字列毎の属性情報と、認識結果における文字列の種類と、を推定する。推定部23は、文字列毎に推定した属性、及び文字列の種類を認識結果33に出力する。例えば、推定部23は、RNN(Recurrent Neural Network)、及びSVM(Support Vector Machine)等の文字列の属性、及び種類を推定するための学習を行った学習モデルである。推定部23は、文字列、文字列の属性、及び文字列の種類を予め学習し、認識部22によって出力された文字列を用いて、文字列の属性、及び種類の推定を行い、認識結果33に出力する。
【0043】
なお、本実施形態に係る推定部23は、文字列の属性、及び種類を推定するための学習を行った学習モデルである形態について説明した。しかし、これに限定されない。後述する記憶部27に予め記憶されている文字列を用いて、文字列の属性、及び種類の推定を行ってもよい。例えば、推定部23は、認識部22によって出力された文字列と、記憶部27に記憶されている文字列と、の類似する度合(以下、「類似度」という)を導出する。推定部23は、記憶部27に記憶されている文字列のうち、最も類似度が高い文字列の属性、及び種類を文字列の属性、及び種類として推定してもよい。また、類似度は、レーベンシュタイン距離を用いて、導出してもよい。ここで、レーベンシュタイン距離とは、任意の文字列を他の文字列に変更する際に、文字の入れ替え、追加、及び削除した回数を計数して導出される距離である。
【0044】
抽出部24は、認識結果33からバリュー文字列の位置を取得し、取得した位置を用いて、バリュー文字列に対応するキー文字列を認識結果33から抽出する。具体的には、抽出部24は、バリュー文字列と同一の属性、かつバリュー文字列の近傍に位置する文字列をキー文字列として抽出する。ここで、近傍に位置する文字列とは、例えば、バリュー文字列の位置から予め定められた距離に位置する文字列、又はバリュー文字列の位置から最も短い距離に位置する文字列である。例えば、
図3に示す「富士 太郎」がバリュー文字列として取得された場合、抽出部24は、バリュー文字列と同一の属性である「申請者名」を対応するキー文字列として抽出する。
【0045】
なお、本実施形態では、バリュー文字列の近傍に位置する文字列をキー文字列として抽出する形態について説明した。しかし、これに限定されない。予め定められた方向に位置する文字列をキー文字列として抽出してもよい。例えば、バリュー文字列の左側等のように、バリュー文字列を起点とした予め定められた方向に位置する文字列をキー文字列として抽出してもよい。また、
図5に示すように、後述する記憶部27は、属性、キー名、及び位置関係を関連付けて記憶する位置関係データベース(以下、「位置関係DB」という。)34を記憶していてもよい。属性は、文字列の属性であり、キー名は、対象画像31における書類に記載されているキー文字列の名称であり、位置関係は、各々のキー文字列を基点として、対応するバリュー文字列が位置する方向を示す情報である。ここで、位置関係DB34は、関連情報の一例である。
【0046】
一例として
図5に示す「申請日」の位置関係「K-右-V」は、対象画像31において、キー文字列「申請日」の右側にバリュー文字列である「XX年XX月XX日」が位置することを表している。言い換えると、位置関係は、バリュー文字列である「XX年XX月XX日」の左側にキー文字列「申請日」が位置することを表している。
【0047】
つまり、抽出部24は、認識結果33から抽出したバリュー文字列の属性を用いて、位置関係DB34からバリュー文字列に係る位置関係を取得する。抽出部24は、バリュー文字列の位置を基点にして、取得した位置関係が示す方向とは逆方向に位置する文字列をキー文字列として抽出してもよい。
【0048】
確認訂正部25は、対象画像31から抽出した文字列、文字列の属性、文字列の種類及び文字列の位置を表示して、文字列の属性、文字列の種類、及び文字列の位置の訂正を受け付ける。一例として、
図6に示すように、確認訂正部25は、確認訂正画面40を表示する。確認訂正画面40は、抽出文字列表示領域41、及び対象画像表示領域42を備えている。確認訂正部25は、抽出部24が抽出した文字列を抽出文字列として抽出文字列表示領域41に表示し、表示した文字列に対応する文字列の位置を対象画像表示領域42における対象画像31にハイライトで表示する。
【0049】
また、確認訂正画面40は、抽出文字列表示領域41に表示されている抽出文字列が選択された後、対象画像表示領域42における抽出文字列に対応する位置を指定されることによって抽出した文字列と、対象画像31における文字列の位置と、の訂正を受け付ける。例えば、抽出文字列表示領域41において「申込日」が選択された後、対象画像表示領域42において、ユーザによって「申込日」が記載されている領域を指定されることによって、キー文字列、及びキー文字列の位置の訂正を受け付ける。この際に、抽出文字列表示領域41の「申込日」における色彩欄、及び対象画像表示領域42における「申込日」が記載された領域には、同一の色彩のハイライトが表示される。
【0050】
出力部26は、対象画像31から抽出したキー文字列、及びバリュー文字列を出力する。
【0051】
記憶部27は、対象画像31と、対象画像31から抽出した文字列、対象画像31における文字列の位置を関連付けて記憶する。また、記憶部27は、位置関係DB34、過去に抽出が行われた対象画像31、及び過去に抽出が行われた対象画像31における文字列を記憶している。
【0052】
学習部28Aは、学習モデルである推定部23の学習を行う。学習部28Aは、対象画像31、及び文字列を入力データとし、文字列の属性、及び種類を教師データとして、推定部23に学習させる。
【0053】
なお、本実施形態に係る推定部23は、文字列を入力データとして学習して、文字列の属性、及び種類を推定する形態について説明した。しかし、これに限定されない。対象画像31における文字列の位置を入力データとしてもよい。例えば、推定部23は、対象画像31における認識結果33に含まれる文字列の位置を入力データとして、文字列の属性、及び種類を学習して、推定してもよい。
【0054】
また、推定部23は、対象画像31における文字列の位置と、対象画像31に含まれるオブジェクト32の位置と、の関係を学習して、文字列の属性、及び種類を推定してもよい。例えば、書類には同一の属性である「住所」を示す文字列であっても、「申請先住所」及び「申請元住所」等のように、異なる「住所」を示していることがあり、「請求先住所」のように、対象画像31にキー文字列が含まれないことがある。しかしながら、記載されている項目、及び書類に含まれるオブジェクト32の位置は、書類毎に予め定められているため、対象画像31に含まれるオブジェクト32と、文字列と、の位置関係から文字列の属性、及び種類を特定することが可能である。つまり、推定部23は、対象画像31に含まれるオブジェクト32の位置と、対象画像31における文字列の位置と、の関係を入力データとして学習し、文字列の属性、及び種類を推定してもよい。
【0055】
また、推定部23は、各々の文字列の位置関係を入力データとして学習し、文字列の属性、及び種類を推定してもよいし、位置関係DB32に含まれる位置関係、及び文字列の位置を入力データとして学習して、文字列の属性、及び種類を推定してもよい。また、推定部23は、バリュー文字列に対応するキー文字列が、対象画像31に含まれていない場合、推定した属性をキー文字列として設定してもよいし、バリュー文字列に対応するキー文字列を推定してもよい。
【0056】
次に、
図7を参照して、本実施形態に係る情報処理装置10の作用について説明する。
図7は、本実施形態に係る文字列を抽出する抽出処理の一例を示すフローチャートである。CPU11がROM12又はストレージ14から情報処理プログラムを読み出し、実行することによって、
図7に示す情報処理プログラムが実行される。
図7に示す情報処理プログラムは、例えば、ユーザから対象画像31、及び抽出処理を実行する指示が入力された場合、情報処理プログラムが実行される。
【0057】
ステップS101において、CPU11は、ユーザによって入力された対象画像31を取得する。
【0058】
ステップS102において、CPU11は、取得した対象画像31に対して文字認識処理を実行して、文字列、及び文字列の位置を認識結果33として出力する。
【0059】
ステップS103において、CPU11は、認識結果33を用いて、文字列の属性、及び種類を推定して、認識結果33に出力する。
【0060】
ステップS104において、CPU11は、認識結果33からバリュー文字列を検索して抽出する。
【0061】
ステップS105において、CPU11は、抽出したバリュー文字列の位置、及び属性を用いて、バリュー文字列に対応するキー文字列を特定して抽出する。
【0062】
ステップS106において、CPU11は、キー文字列が抽出できたか否かの判定を行う。キー文字列が抽出できた場合(ステップS106:YES)、CPU11は、ステップS107に移行する。一方、キー文字列が抽出できなかった場合(ステップS106:NO)、CPU11は、ステップS107に移行する。
【0063】
ステップS107において、CPU11は、バリュー文字列の属性をキー文字列として設定する。
【0064】
ステップS108において、CPU11は、キー文字列、及びバリュー文字列を関連付けて、抽出した結果を出力する。
【0065】
ステップS109において、CPU11は、他のバリュー文字列が存在するか否かの判定を行う。他のバリュー文字列が存在する場合(ステップS109:YES)、CPU11は、ステップS104に移行する。一方、他のバリュー文字列が存在しない場合(ステップS109:NO)、CPU11は、ステップS110に移行する。
【0066】
ステップS110において、CPU11は、確認訂正画面を表示して、ユーザによる文字列の属性、種別、及び位置の訂正を受け付ける。
【0067】
ステップS111において、CPU11は、対象画像31、文字列の属性、種類、及び位置を関連付けて記憶する。
【0068】
ステップS112において、CPU11は、抽出した結果を用いて、キー文字列、及びバリュー文字列を出力する。
【0069】
以上説明したように、本実施形態によれば、文字列の属性を用いて、バリュー文字列に対応するキー文字列を抽出して、キーバリュー抽出が実行される。したがって、文字認識処理によって、キー文字列が抽出できない場合、又は書類等にバリュー文字列に対応するキー文字列が含まれていない場合であっても、対応した文字列としてキー文字列、及びバリュー文字列が出力される。
【0070】
[第2実施形態]
第1実施形態では、認識結果33からバリュー文字列に対応するキー文字列を抽出できた場合、キー文字列、及びバリュー文字列を関連付けて出力する形態について説明した。本実施形態では、認識結果33からバリュー文字列に対応するキー文字列を抽出できなかった場合、対象画像31からキー文字列に対応する画像を検出して、キー文字列、及びバリュー文字列を関連付けて出力する形態について説明する。
【0071】
なお、本実施形態に係る情報処理装置10のハードウェア構成(
図1参照)、対象画像31の例(
図3参照)、認識結果33の例(
図4参照)、及び位置関係DB34の例(
図5参照)は、第1実施形態と同様であるため、説明を省略する。また、本実施形態に係る確認訂正画面40の例(
図6参照)は、第1実施形態と同様であるため、説明を省略する。
【0072】
次に、
図8を参照して、情報処理装置10の機能構成について説明する。
図8は、本実施形態に係る情報処理装置10の機能的な構成の一例を示すブロック図である。なお、
図8における
図2に示す情報処理装置10の機能と同一の機能については、
図8と同一の符号を付して、その説明を省略する。
【0073】
図8に示すように、情報処理装置10は、取得部21、認識部22、推定部23、抽出部24、確認訂正部25、出力部26、記憶部27、学習部28B、及び検出部29を備えている。CPU11が情報処理プログラムを実行することで、取得部21、認識部22、推定部23、抽出部24、確認訂正部25、出力部26、記憶部27、学習部28B、及び検出部29として機能する。
【0074】
学習部28Bは、学習モデルである推定部23、及び後述する検出部29の学習を行う。学習部28Bは、対象画像31、及び文字列を入力データとし、文字列の属性、及び種類を教師データとして、推定部23に学習させる。また、学習部28Bは、対象画像31、及び文字列の位置を入力データとし、バリュー文字列に対応するキー文字列を教師データとして、後述する検出部29に学習させる。
【0075】
検出部29は、物体検知処理を用いて、対象画像31から指定されたバリュー文字列の近傍に位置するキー文字列を検出する。具体的には、検出部29は、CNN(Convolution Neural Network)及びYOLO(You Only Look Once)等の指定された文字列の近傍に位置する文字列を検出するための機械学習を行った学習モデルである。検出部29は、対象画像31からバリュー文字列の近傍に位置するキー文字列の画像を検出し、検出した画像を識別してキー文字列を取得して、推定部23に出力する。
【0076】
なお、本実施形態係る検出部29は、機械学習を用いた学習モデルであり、対象画像31からバリュー文字列の位置の近傍に位置するキー文字列の画像を検出する形態について説明した。しかし、これに限定されない。パターンマッチング処理を用いて、バリュー文字列の位置の近傍に位置するキー文字列の画像を検出してもよい。例えば、キー文字列に対応した各々の画像を予め記憶し、形状検出、及びテンプレートマッチング等のパターンマッチング処理によってキー文字列の画像を検出する。検出部29は、キー文字列に対応した画像を用いて、対象画像31からキー文字列を検出し、バリュー文字列の近傍に位置するキー文字列を特定してもよい。
【0077】
次に、
図9を参照して、本実施形態に係る情報処理装置10の作用について説明する。
図9は、本実施形態に係る文字列を抽出する抽出処理の一例を示すフローチャートである。CPU11がROM12又はストレージ14から情報処理プログラムを読み出し、実行することによって、
図9に示す情報処理プログラムが実行される。
図9に示す情報処理プログラムは、例えば、ユーザから対象画像31、及び抽出処理を実行する指示が入力された場合、情報処理プログラムが実行される。なお、
図9における
図7に示す抽出処理と同一のステップについては、
図7と同一の符号を付して、その説明を省略する。
【0078】
ステップS113において、CPU11は、キー文字列が抽出できたか否かの判定を行う。キー文字列が抽出できた場合(ステップS113:YES)、CPU11は、ステップS108に移行する。一方、キー文字列が抽出できなかった場合(ステップS113:NO)、CPU11は、ステップS114に移行する。
【0079】
ステップS114において、CPU11は、対象画像31に対して、バリュー文字列の位置を用いてキー文字列を検出する検出処理を実行して、キー文字列を検出結果として出力する。ここで、検出処理とは、対象画像31からバリュー文字列に対応するキー文字列の画像を検出し、キー文字列を取得する処理である。
【0080】
ステップS115において、CPU11は、検出結果を用いて、文字列の属性、及び種類を推定して、検出結果に出力する。
【0081】
ステップS116において、CPU11は、検出したキー文字列が、バリュー文字列に対応するか否かの判定を行う。バリュー文字列に対応する場合(ステップS116:YES)、CPU11は、ステップS108に移行する。一方、バリュー文字列に対応しない場合(ステップS116:NO)、CPU11は、ステップS117に移行する。
【0082】
ステップS117において、CPU11は、バリュー文字列の属性をキー文字列として設定する。
【0083】
以上説明したように、本実施形態によれば、検出処理を用いて、バリュー文字列に対応するキー文字列を検出して、キーバリュー抽出が実行される。したがって、文字認識処理によって、キー文字列が抽出できない場合であっても、対応した文字列としてキー文字列、及びバリュー文字列が出力される。
【0084】
なお、本実施形態では、検出処理によって、キー文字列を検出する形態について説明した。しかし、これに限定されない。バリュー文字列を検出してもよい。
【0085】
また、本実施形態では、確認訂正画面40において、文字列の属性、種類、及び位置の訂正を受け付ける形態について説明した。しかし、これに限定されない。抽出した文字列の訂正を受け付けてもよい。また、抽出した文字列の訂正を受け付ける場合、抽出した文字列を一律に表示して訂正を受け付けてもよい。また、文字列の確からしさを表す確信度を導出し、確信度が予め定められた閾値より小さい場合、確信度が予め定められた閾値より小さい文字列のみを表示してもよい。
【0086】
また、本実施形態では、確認訂正画面40において、認識結果33から取得した文字列の位置の訂正を受け付ける形態について説明した。しかし、これに限定されない。対象画像31における文字列の位置の指定を受け付けてもよい。
【0087】
また、本実施形態では、確認訂正を行う際に、文字列の位置の訂正を受け付ける形態について説明した。しかし、これに限定されない。対象画像31を情報処理装置10に入力した際に、予め文字列の位置の指定を受け付けてもよいし、文字列を出力した後の任意の契機に、記憶部27に記憶されている対象画像31を表示して、文字列の位置の訂正を受け付けてもよい。
【0088】
また、本実施形態では、確認訂正画面40において文字列の修正を受け付ける形態について説明した。しかし、これに限定されない。記憶部27に記憶されている文字列、又は過去に抽出された文字列を用いて、抽出した文字列を修正してもよい。また、記憶部27に複数のバリュー文字列を関連付けて記憶し、抽出したバリュー文字列に対応する他のバリュー文字列を記憶部27から検索して提示してもよい。例えば、記憶部27は、過去に抽出された「氏名」のバリュー文字列と、「住所」のバリュー文字列と、を関連付けて、記憶する。抽出部24は、「氏名」のバリュー文字列を抽出した場合、「氏名」のバリュー文字列に対応する「住所」のバリュー文字列を記憶部27から取得して、修正候補として提示して、修正してもよい。
【0089】
また、抽出した文字列を修正するための機械学習を用いた学習モデルを用いて、抽出した文字列を修正してもよい。例えば、過去に抽出処理が行われた対象画像31から抽出した文字列及び過去に修正された文字列を記憶部27に記憶し、図示しない修正部は、記憶部27に記憶されている対象画像31、及び対象画像31における文字列及び過去に修正された文字列を学習する。修正部は、抽出した文字列の修正候補を提示して、文字列を修正してもよい。
【0090】
以上、各実施形態を用いて本発明について説明したが、本発明は各実施形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で各実施形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。
【0091】
なお上記実施形態において、プロセッサとは広義的なプロセッサを指し、例えば汎用的なプロセッサ(例えば、CPU:Central Processing Unit)や、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0092】
また、上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0093】
また、本実施形態では、情報処理プログラムがストレージにインストールされている形態を説明したが、これに限定されるものではない。本実施形態に係る情報処理プログラムを、コンピュータ読取可能な記憶媒体に記録した形態で提供してもよい。例えば、本発明に係る情報処理プログラムを、CD(Compact Disc)-ROM及びDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態で提供してもよい。本発明に係る情報処理プログラムを、USB(Universal Serial Bus)メモリ及びメモリカード等の半導体メモリに記録した形態で提供してもよい。また、本実施形態に係る情報処理プログラムを、通信I/F17に接続された通信回線を介して外部装置から取得するようにしてもよい。
【符号の説明】
【0094】
10 情報処理装置
11 CPU
12 ROM
13 RAM
14 ストレージ
15 入力部
16 モニタ
17 通信インターフェース
18 バス
21 取得部
22 認識部
23 推定部
24 抽出部
25 確認訂正部
26 出力部
27 記憶部
28A、28B 学習部
29 検出部
31 対象画像
32 オブジェクト
33 認識結果
34 位置関係データベース
40 確認訂正画面
41 抽出文字列表示領域
42 対象画像表示領域