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

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

▶ 有限責任監査法人トーマツの特許一覧

特許7150809多モデル深層学習による文書のデジタル化アーキテクチャ、文書画像処理プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-30
(45)【発行日】2022-10-11
(54)【発明の名称】多モデル深層学習による文書のデジタル化アーキテクチャ、文書画像処理プログラム
(51)【国際特許分類】
   G06V 30/412 20220101AFI20221003BHJP
【FI】
G06V30/412
【請求項の数】 16
(21)【出願番号】P 2020219612
(22)【出願日】2020-12-28
(65)【公開番号】P2022104411
(43)【公開日】2022-07-08
【審査請求日】2021-10-29
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】301017433
【氏名又は名称】有限責任監査法人トーマツ
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(72)【発明者】
【氏名】シェイク シャハリアル ホサイン
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2004-178010(JP,A)
【文献】特開2020-184109(JP,A)
【文献】特開2020-046860(JP,A)
【文献】特開平11-250041(JP,A)
【文献】特開平04-005779(JP,A)
【文献】特開平05-233871(JP,A)
【文献】特開平08-263588(JP,A)
【文献】特開平07-160809(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
G06V 30/194
G06V 30/14
(57)【特許請求の範囲】
【請求項1】
文書を画像化した文書画像を取得する文書画像取得部と、
前記文書画像取得部が取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の背景色を検出し、当該背景色が白色か否かを判断し、当該背景色が白色でないと判断した場合、前記文書画像の背景以外の情報を抽出し、当該背景色を白色にした後に抽出した情報を重ね合わせることで背景色を除去する背景除去部と、
前記文書画像取得部が取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の中の文字列を抽出し、抽出した文字列の中に傾斜した文字列があるか否かを判断し、前記文書画像の中に傾いた文字列が有る場合に、傾斜した当該文字列の書字方向に対する傾斜角を検出し、傾斜した当該文字列に対して傾斜角がゼロになるように回転処理を施して当該文字列の傾きを補正する傾き補正部と、
前記文書画像取得部が取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の全体の縦横比が実際の文書の全体の縦横比と異なる場合は、当該文書画像の全体の縦横比が実際の文書の全体の縦横比と等しくなるように調整する形状調整部と、
文書画像に含まれる複数の要素と、当該複数の要素の各々の識別情報との対応関係を学習したレイアウト学習モデルを用いて、
前記背景除去部、前記傾き補正部、及び前記形状調整部の処理を経た前記文書画像に含まれる複数の要素の各々の前記文書画像内における範囲を特定し、前記要素の種類は前記文書の種類に応じて必要なものと不要なものとに予め分類、前記文書画像に含まれる複数の要素のうち、認識した要素が不要なものに該当する場合は当該要素の位置情報は取得せず、認識した要素が必要なものに該当する場合は当該要素の位置情報を取得するレイアウト認識部と、
前記レイアウト認識部により認識された前記種類が前記表に該当する前記要素において、当該要素に含まれる前記表の中のセルの各々の単体毎の画像に切り出し、前記表に含まれる全ての前記セルについてセル単体毎の画像と前記セルの各々の前記文書画像内における位置情報を取得する切出部と、
文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、
前記切出部において切り出された前記セルの各々に含まれる文字列について、前記文字列学習モデルを用いて文字認識し、前記文字列の画像にスペースが含まれている場合に当該文字列とともにスペースも一緒に認識し、かつ、前記文字列の画像に文字を構成しない画素であるノイズが含まれている場合に当該ノイズを除去して、前記文字列に係るテキストデータを生成する文字列認識部と、
前記文字列認識部により生成された前記文字列に係るテキストデータを、当該テキストデータを含む前記セルに係る前記切出部が取得した前記文書画像内における位置情報に、電子媒体のテキストとして出力する出力部と、
を備えることを特徴とする電子文書生成装置。
【請求項2】
前記レイアウト認識部により認識された前記種類が前記表に該当する前記要素において、前記レイアウト認識部は、前記表を構成する全ての縦線及び横線の各々の長さと位置を認識することで、隣接する2本の前記縦線及び隣接する2本の前記横線により構成される四角形を前記表のセルとして認識し、
さらに、前記レイアウト認識部は前記表を構成する線の線種についても認識し、認識された当該線種は、前記文書画像取得部が取得した文書画像に基づいて電子文書を再現する際に、当該電子文書に含まれる表を構成する線のオブジェクトに反映されることを特徴とする請求項1に記載の電子文書生成装置。
【請求項3】
前記レイアウト認識部は、前記文書画像取得部が取得した文書画像と取得した前記要素とを照合し、前記文書画像取得部が取得した文書画像と取得した前記要素の位置情報との間に齟齬があった場合は取得した前記要素の最小境界ボックスの位置情報の調整を行うことを特徴とする請求項1又は2に記載の電子文書生成装置。
【請求項4】
前記レイアウト認識部は、認識範囲の周囲の所定範囲以内に文字と同色の色又は予め設定された色の線が有るか否かの判定を行い、当該線が有る場合には当該線を含む範囲を認識範囲に追加する補正を行うことを特徴とする請求項1乃至3のいずれか1項に記載の電子文書生成装置。
【請求項5】
前記レイアウト認識部は、認識範囲の内部に所定の大きさの空白が有るか否かの判定を行い、当該空白が有る場合には、当該空白及び当該空白より右側の部分に係る範囲を削除して認識範囲とする補正を行うことを特徴とする請求項1乃至4のいずれか1項に記載の電子文書生成装置。
【請求項6】
複数の前記要素を含む文書画像であって、当該要素に当該要素の各々に該当する前記種類に関連付けられたアノテーションが付与されており、
前記アノテーションが付与された複数の前記文書画像を蓄積してレイアウト学習用データを生成するレイアウト学習用データ生成部をさらに備え、
前記レイアウト学習用データは前記レイアウト学習モデルの教師有り学習に用いられる、
ことを特徴とする請求項1ないし5のいずれか1項に記載の電子文書生成装置。
【請求項7】
前記文書画像に、前記アノテーションとともに前記文書画像に含まれる前記複数の要素に係る範囲の各々の前記文書画像内における位置情報が付与されることを特徴とする請求項6に記載の電子文書生成装置。
【請求項8】
入力に基づいて、前記レイアウト認識部により認識された前記複数の要素の各々の種類、及び前記複数の要素の各々の範囲の前記文書画像内における位置情報の少なくともいずれかが修正され、この修正されたデータを追加することで前記レイアウト学習用データを更新するレイアウト学習用データ修正部をさらに備える、
ことを特徴とする請求項6または7に記載の電子文書生成装置。
【請求項9】
前記レイアウト学習用データ修正部により更新された前記レイアウト学習用データを用いて、前記レイアウト学習モデルの再学習を行うレイアウト学習部をさらに備える、
ことを特徴とする請求項8に記載の電子文書生成装置。
【請求項10】
前記文字列学習モデルの教師有り学習に用いる文字列学習用データを生成する文字列学習用データ生成部をさらに備える、
ことを特徴とする請求項1ないし9のいずれか1項に記載の電子文書生成装置。
【請求項11】
入力に基づいて、前記文字列認識部により生成されたテキストデータが修正され、この修正されたテキストデータを追加することで前記文字列学習用データを更新する文字列学習用データ修正部をさらに備える、
ことを特徴とする請求項10に記載の電子文書生成装置。
【請求項12】
前記文字列学習用データ修正部により更新された前記文字列学習用データを用いて、前記文字列学習モデルの再学習を行う文字列学習部をさらに備える、
ことを特徴とする請求項11に記載の電子文書生成装置。
【請求項13】
前記文字列認識部は、複数の前記文字列学習モデルを備え、前記複数の要素の各々に含まれる文字列の言語に適応した前記文字列学習モデルを用いる、
ことを特徴とする請求項1ないし12のいずれか1項に記載の電子文書生成装置。
【請求項14】
前記レイアウト学習モデルは、契約書用のレイアウト学習モデル、請求書用のレイアウト学習モデル、覚書用のレイアウト学習モデル、納品書用のレイアウト学習モデル、又は領収書用のレイアウト学習モデルのいずれかであることを特徴とする請求項1ないし13のいずれか1項に記載の電子文書生成装置。
【請求項15】
電子文書生成装置に用いられるコンピュータが、
文書を画像化した文書画像を取得する文書画像取得ステップと、
前記文書画像取得ステップにおいて取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の背景色を検出し、当該背景色が白色か否かを判断し、当該背景色が白色でないと判断した場合、前記文書画像の背景以外の情報を抽出し、当該背景色を白色にした後に抽出した情報を重ね合わせることで背景色を除去する背景除去ステップと、
前記文書画像取得ステップにおいて取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の中の文字列を抽出し、抽出した文字列の中に傾斜した文字列があるか否かを判断し、前記文書画像の中に傾いた文字列が有る場合に、傾斜した当該文字列の書字方向に対する傾斜角を検出し、傾斜した当該文字列に対して傾斜角がゼロになるように回転処理を施して当該文字列の傾きを補正する傾き補正ステップと、
前記文書画像取得ステップにおいて取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の全体の縦横比が実際の文書の全体の縦横比と異なる場合は、当該文書画像の全体の縦横比が実際の文書の全体の縦横比と等しくなるように調整する形状調整ステップと、
文書画像に含まれる複数の要素と、当該複数の要素の各々の識別情報との対応関係を学習したレイアウト学習モデルを用いて、
前記背景除去ステップ、前記傾き補正ステップ、及び前記形状調整ステップの処理を経た前記文書画像に含まれる複数の要素の各々の前記文書画像内における範囲を特定し、前記要素の種類は前記文書の種類に応じて必要なものと不要なものとに予め分類、前記文書画像に含まれる複数の要素のうち、認識した要素が不要なものに該当する場合は当該要素の位置情報は取得せず、認識した要素が必要なものに該当する場合は当該要素の位置情報を取得するレイアウト認識ステップと、
前記レイアウト認識ステップにおいて認識された前記種類が前記表に該当する前記要素において、当該要素に含まれる前記表の中のセルの各々の単体毎の画像に切り出し、前記表に含まれる全ての前記セルについてセル単体毎の画像と前記セルの各々の前記文書画像内における位置情報を取得する切出ステップと、
文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、
前記切出ステップにおいて切り出された前記セルの各々に含まれる文字列について、前記文字列学習モデルを用いて文字認識し、前記文字列の画像にスペースが含まれている場合に当該文字列とともにスペースも一緒に認識し、かつ、前記文字列の画像に文字を構成しない画素であるノイズが含まれている場合に当該ノイズを除去して、前記文字列に係るテキストデータを生成する文字列認識ステップと、
前記文字列認識ステップにおいて生成された前記文字列に係るテキストデータを、当該テキストデータを含む前記セルに係る前記切出ステップにおいて取得した前記文書画像内における位置情報に、電子媒体のテキストとして出力する出力ステップと、
を行うことを特徴とする電子文書生成方法。
【請求項16】
電子文書生成装置に用いられるコンピュータに、
文書を画像化した文書画像を取得する文書画像取得機能と、
前記文書画像取得機能において取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の背景色を検出し、当該背景色が白色か否かを判断し、当該背景色が白色でないと判断した場合、前記文書画像の背景以外の情報を抽出し、当該背景色を白色にした後に抽出した情報を重ね合わせることで背景色を除去する背景除去機能と、
前記文書画像取得機能において取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の中の文字列を抽出し、抽出した文字列の中に傾斜した文字列があるか否かを判断し、前記文書画像の中に傾いた文字列が有る場合に、傾斜した当該文字列の書字方向に対する傾斜角を検出し、傾斜した当該文字列に対して傾斜角がゼロになるように回転処理を施して当該文字列の傾きを補正する傾き補正機能と、
前記文書画像取得機能において取得した前記文書画像についてレイアウトを認識る前に、前記文書画像の全体の縦横比が実際の文書の全体の縦横比と異なる場合は、当該文書画像の全体の縦横比が実際の文書の全体の縦横比と等しくなるように調整する形状調整機能と、
文書画像に含まれる複数の要素と、当該複数の要素の各々の識別情報との対応関係を学習したレイアウト学習モデルを用いて、
前記背景除去機能、前記傾き補正機能、及び前記形状調整機能の処理を経た前記文書画像に含まれる複数の要素の各々の前記文書画像内における範囲を特定し、前記要素の種類は前記文書の種類に応じて必要なものと不要なものとに予め分類、前記文書画像に含まれる複数の要素のうち、認識した要素が不要なものに該当する場合は当該要素の位置情報は取得せず、認識した要素が必要なものに該当する場合は当該要素の位置情報を取得するレイアウト認識機能と、
前記レイアウト認識機能において認識された前記種類が前記表に該当する前記要素において、当該要素に含まれる前記表の中のセルの各々の単体毎の画像に切り出し、前記表に含まれる全ての前記セルについてセル単体毎の画像と前記セルの各々の前記文書画像内における位置情報を取得する切出機能と、
文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、
前記切出機能において切り出された前記セルの各々に含まれる文字列について、前記文字列学習モデルを用いて文字認識し、前記文字列の画像にスペースが含まれている場合に当該文字列とともにスペースも一緒に認識し、かつ、前記文字列の画像に文字を構成しない画素であるノイズが含まれている場合に当該ノイズを除去して、前記文字列に係るテキストデータを生成する文字列認識機能と、
前記文字列認識機能において生成された前記文字列に係るテキストデータを、当該テキストデータを含む前記セルに係る前記切出機能において取得した前記文書画像内における位置情報に、電子媒体のテキストとして出力する出力機能と、
を発揮することを特徴とする電子文書生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子文書生成装置、電子文書生成方法、及び電子文書生成プログラムに関し、特に紙文書を走査して電子文書を生成する電子文書生成装置、電子文書生成方法、及び電子文書生成プログラムに関するものである。
【背景技術】
【0002】
デジタル情報技術が進展しペーパーレス化が普及してきているが、紙文書による情報の蓄積や伝達は依然として広く利用されている。膨大な紙文書を抱える企業などから、紙文書を効率良くデジタル文書に変換できる技術が望まれている。
【0003】
従来からのOCRテキスト認識技術では、一文字単位で文字認識を行っていたので文字認識の認識効率が良くない点が問題となっていた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2010-244372号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、本開示の電子文書生成装置、電子文書生成方法、及び電子文書生成プログラムは、文書画像に含まれる文字列を、従来の光学文字認識とは異なる手法によって、テキストデータに変換することを目的とする。
【課題を解決するための手段】
【0006】
すなわち、第1の態様に係る電子文書生成装置は、文書を画像化した文書画像を取得する文書画像取得部と、文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、文書画像取得部に取得された文書画像に含まれる文字列を文字認識し、当該文字列に係るテキストデータを生成する文字列認識部と、テキストデータを電子媒体のテキストとして出力する出力部とを備える。
【0007】
第2の態様は、第1の態様に係る電子文書生成装置において、文書画像に含まれる複数の要素と、当該複数の要素の各々の識別情報との対応関係を学習したレイアウト学習モデルを用いて、文書画像取得部に取得された文書画像に含まれる複数の要素の各々の文書画像内における範囲を特定し、複数の要素の各々の種類を認識し、複数の要素の各々の範囲に係る文書画像内における位置情報を取得するレイアウト認識部をさらに備え、文字列認識部は、レイアウト認識部により特定された範囲に含まれる文字列について、文字列学習モデルを用いて文字認識し、文字列に係るテキストデータを生成し、出力部は、複数の要素に係る範囲の各々の位置情報に、複数の要素に係るテキストデータの各々を電子媒体のテキストとして出力することとしてもよい。
【0008】
第3の態様は、第2の態様に係る電子文書生成装置において、要素の種類は、文字列、表、画像、印章、又は手書きのいずれかであることとしてもよい。
【0009】
第4の態様は、第3の態様に係る電子文書生成装置において、レイアウト認識部により認識された種類が表に該当する要素において、当該要素に含まれる表の中のセルの各々を切り出し、セルの各々の文書画像内における位置情報を取得する切出部をさらに備え、文字列認識部は、切出部に切り出されたセルの各々に含まれる文字列について、文字列学習モデルを用いて文字認識を行い、文字列に係るテキストデータを生成することとしてもよい。
【0010】
第5の態様は、第2ないし4の態様に係る電子文書生成装置において、複数の要素を含む文書画像であって、当該要素に当該要素の各々に該当する種類に関連付けられたアノテーションが付与されており、アノテーションが付与された複数の文書画像を蓄積してレイアウト学習用データを生成するレイアウト学習用データ生成部をさらに備え、レイアウト学習用データはレイアウト学習モデルの教師有り学習に用いられることとしてもよい。
【0011】
第6の態様は、第5の態様に係る電子文書生成装置において、文書画像に、アノテーションとともに文書画像に含まれる複数の要素に係る範囲の各々の文書画像内における位置情報が付与されることとしてもよい。
【0012】
第7の態様は、第5または6の態様に係る電子文書生成装置において、入力に基づいて、レイアウト認識部により認識された複数の要素の各々の種類、及び複数の要素の各々の範囲の文書画像内における位置情報の少なくともいずれかが修正され、この修正されたデータを追加することでレイアウト学習用データを更新するレイアウト学習用データ修正部をさらに備えることとしてもよい。
【0013】
第8の態様は、第7の態様に係る電子文書生成装置において、レイアウト学習用データ修正部により更新されたレイアウト学習用データを用いて、レイアウト学習モデルの再学習を行うレイアウト学習部をさらに備えることとしてもよい。
【0014】
第9の態様は、第2ないし8の態様に係る電子文書生成装置において、文字列学習モデルの教師有り学習に用いる文字列学習用データを生成する文字列学習用データ生成部をさらに備えることとしてもよい。
【0015】
第10の態様は、第9の態様に係る電子文書生成装置において、入力に基づいて、文字列認識部により生成されたテキストデータが修正され、この修正されたテキストデータを追加することで文字列学習用データを更新する文字列学習用データ修正部をさらに備えることとしてもよい。
【0016】
第11の態様は、第10の態様に係る電子文書生成装置において、文字列学習用データ修正部により更新された文字列学習用データを用いて、文字列学習モデルの再学習を行う文字列学習部をさらに備えることとしてもよい。
【0017】
第12の態様は、第2ないし11の態様に係る電子文書生成装置において、文字列認識部は、複数の文字列学習モデルを備え、複数の要素の各々に含まれる文字列の言語に適応した文字列学習モデルを用いることとしてもよい。
【0018】
第13の態様は、第2ないし12の態様に係る電子文書生成装置において、文書画像取得部が取得した文書画像について前処理を行う前処理部をさらに備え、前処理部は、背景除去部、傾き補正部、及び形状調整部を備え、背景除去部は、文書画像取得部が取得した文書画像の背景を除去し、傾き補正部は、文書画像取得部が取得した文書画像の傾きを補正し、形状調整部は、文書画像取得部が取得した文書画像の全体の形状及び大きさを調整することとしてもよい。
【0019】
第14の態様は、第2ないし13の態様に係る電子文書生成装置において、レイアウト学習モデルは、契約書用のレイアウト学習モデル、請求書用のレイアウト学習モデル、覚書用のレイアウト学習モデル、納品書用のレイアウト学習モデル、又は領収書用のレイアウト学習モデルのいずれかであることとしてもよい。
【0020】
第15の態様に係る電子文書生成方法は、電子文書生成装置に用いられるコンピュータが、文書を画像化した文書画像を取得する文書画像取得ステップと、文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、文書画像取得ステップにて取得された文書画像に含まれる文字列を文字認識し、当該文字列に係るテキストデータを生成する文字列認識ステップと、テキストデータを電子媒体のテキストとして出力する出力ステップとを実行する。
【0021】
第16の態様に係る電子文書生成プログラムは、電子文書生成装置に用いられるコンピュータに、文書を画像化した文書画像を取得する文書画像取得機能と、文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、文書画像取得機能にて取得された文書画像に含まれる文字列を文字認識し、当該文字列に係るテキストデータを生成する文字列認識機能と、テキストデータを電子媒体のテキストとして出力する出力機能とを発揮させる。
【発明の効果】
【0022】
本開示に係る電子文書生成装置は、文書を画像化した文書画像を取得する文書画像取得部と、文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、文書画像取得部に取得された文書画像に含まれる文字列を文字認識し、当該文字列に係るテキストデータを生成する文字列認識部と、テキストデータを電子媒体のテキストとして出力する出力部とを備え、機械学習されたモデルを用いて文書画像に含まれる文字列を文字認識するので、文書画像をテキストデータに変換する際の文字認識の認識効率を向上させることができる。
【図面の簡単な説明】
【0023】
図1】本実施形態に係る電子文書生成装置を含む電子文書生成システムの概略を示す図である。
図2】電子文書生成装置の物理的構成を示すブロック図である。
図3】電子文書生成装置が行う処理の概略を示す図である。
図4】電子文書生成装置の機能的構成を示すブロック図である。
図5】電子文書生成装置の入力データと出力データとを説明する図である。
図6】前処理で行う背景除去を説明する図である。
図7】前処理で行う傾き補正を説明する図である。
図8】前処理で行う形状調整を説明する図である。
図9】レイアウト認識処理で行う欠落解消の補正処理を説明する図である。
図10】レイアウト認識処理で行う重なり解消の補正処理を説明する図である。
図11】レイアウト認識処理で行うレイアウト認識を説明する図である。
図12】レイアウト認識処理で行う表の認識を説明する図である。
図13】セル画像の切り出しを説明する図である。
図14】セル画像内の文字列を説明する図である。
図15】文字列認識処理で行うテキストデータの配置を説明する図である。
図16】文字列認識処理で行うノイズ除去を説明する図である。
図17】アノテーションが付与されたレイアウト学習用データの例を示す図である。
図18】アノテーションが付与されたレイアウト学習用データの例を示す図である。
図19】アノテーションが付与されたレイアウト学習用データの例を示す図である。
図20】アノテーションが付与されたレイアウト学習用データの例を示す図である。
図21】アノテーションが付与されたレイアウト学習用データの例を示す図である。
図22】アノテーションが付与されたレイアウト学習用データの例を示す図である。
図23】アノテーションが付与されたレイアウト学習用データの例を示す図である。
図24】アノテーションが付与された文字列学習用データの例を示す図である。
図25】電子文書生成プログラムのフローチャートである。
図26】電子文書生成プログラムに係る一実施形態のフローチャート(1/3)である。
図27】電子文書生成プログラムに係る一実施形態のフローチャート(2/3)である。
図28】電子文書生成プログラムに係る一実施形態のフローチャート(3/3)である。
【発明を実施するための形態】
【0024】
図1乃至図24を参照して本開示に係る電子文書生成装置10の一実施形態について説明する。本実施形態では、電子文書生成装置10をインターネット及びLAN(Local Area Network)などの情報通信ネットワーク11に接続して使用する一例を示す。図1を参照して、電子文書生成装置10を含む電子文書生成システム100の概略を説明する。図1は、電子文書生成装置10を含む電子文書生成システム100の概略を示す図である。
【0025】
電子文書生成システム100は、電子文書生成装置10、ユーザ端末12、文字列学習モデル13、レイアウト学習モデル14、及び文書画像データベース15などを備える。電子文書生成装置10、ユーザ端末12、文字列学習モデル13、レイアウト学習モデル14、及び文書画像データベース15は、情報通信ネットワーク11に接続され、おのおの相互に情報通信が可能である。
【0026】
電子文書生成システム100は、電子文書生成装置10を用いて文書画像に含まれた文字列を文字認識しテキストデータを生成するものである。電子文書生成装置10は、文書画像のレイアウトについてレイアウト学習モデルを用いて画像認識し、文書画像に含まれた文字列について文字列学習モデルを用いて文字認識するものである。
【0027】
電子文書生成装置10とは、例えば、パソコンなどに代表されるコンピュータの一種であり情報処理装置である。電子文書生成装置10は、さらに様々なコンピュータに含まれる演算処理装置及びマイコン等も含み、アプリケーションによって本開示に係る機能を実現することが可能な機器、及び装置などをも含むのもとする。
【0028】
文字列学習モデル13は、文書画像に含まれる文字列の画像認識を行う学習モデルであり、電子文書生成装置10の文字認識に用いられる。文字列学習モデル13は、情報通信ネットワーク11を介して電子文書生成装置10に利用可能であればその保存場所は任意であり、例えばパソコン、サーバー装置、データベースなどの情報処理装置に保存される。本実施形態の説明の便宜上、文字列学習モデル13は、文字列学習モデル13が保存される情報処理装置を表すものとする。
【0029】
文字列学習モデル13は、既存の学習モデルにより構成されてもよいし、若しくは電子文書生成装置10の利用に適した学習モデルとして独自に構成されてもよい。文字列学習モデル13は、日本語、英語、中国語などの各種言語に適した学習モデルをそれぞれ備えるものとし、図1では第1文字列学習モデル、第2文字列学習モデル、第3文字列学習モデルなどと記載するものとする。
【0030】
なお、文字列学習モデル13は、情報通信ネットワーク11に接続されるものに限らず、電子文書生成装置10に含まれ当該装置10の直接的な制御のもとに利用されてもよい。また、文字列学習モデル13は、情報通信ネットワーク11に接続された複数の情報処理装置に分散して保存されてもよい。
【0031】
レイアウト学習モデル14は、文書画像に含まれる複数の要素と当該複数の要素の各々の識別情報との対応関係を後述のレイアウト学習用データに基づいて学習し、文書画像のレイアウトの認識を行う学習モデルであり、電子文書生成装置10のレイアウト認識に用いられる。レイアウト学習モデル14は、文字列学習モデル13と同様に、情報通信ネットワーク11を介して電子文書生成装置10に利用可能であればその保存場所は任意であり、情報通信ネットワーク11に接続された情報処理装置に保存される。本実施形態の説明の便宜上、レイアウト学習モデル14は、レイアウト学習モデル14が保存される情報処理装置を表すものとする。
【0032】
レイアウト学習モデル14は、契約書用のレイアウト学習モデル、請求書用のレイアウト学習モデル、覚書用のレイアウト学習モデル、納品書用のレイアウト学習モデル、及び領収書用のレイアウト学習モデルなどを含む。
【0033】
契約書用のレイアウト学習モデルは、契約書の文書画像のレイアウト認識を行う学習モデルであり、契約書用のレイアウト学習用データを用いて学習する。契約書用のレイアウト学習モデルは、契約書のどの位置に、どのような情報があるかを学習し、特に、箇条書きで記載され、表が無い場合が多く、手書きの署名欄が有るなど契約書に特有のレイアウトについて学習する。契約書用のレイアウト学習用データは、後述するアノテーションが付与された、例えば、200種類の契約書のフォームであって1フォームにつき少なくとも3、4枚の契約書の文書画像に基づいて生成される。
【0034】
請求書用のレイアウト学習モデルは、請求書の文書画像のレイアウト認識を行う学習モデルであり、請求書用のレイアウト学習用データを用いて学習する。請求書用のレイアウト学習モデルは、請求書のどの位置に、どのような情報があるかを学習し、特に、表の占める範囲が大きい場合が多く、日本語で書かれていても英数字の字句も少なくないなど請求書に特有のレイアウトについて学習する。請求書用のレイアウト学習用データは、後述するアノテーションが付与された、例えば、200種類の請求書のフォームであって1フォームにつき少なくとも3、4枚の請求書の文書画像に基づいて生成される。
【0035】
覚書用のレイアウト学習モデルは、覚書の文書画像のレイアウト認識を行う学習モデルであり、覚書のレイアウト学習用データを用いて学習する。覚書用のレイアウト学習モデルは、覚書のどの位置に、どのような情報があるかを学習し、特に、表が無い場合が多く、手書きの署名欄が有るなど覚書に特有のレイアウトについて学習する。覚書用のレイアウト学習用データは、後述するアノテーションが付与された、例えば、200種類の覚書のフォームであって1フォームにつき少なくとも3、4枚の覚書の文書画像に基づいて生成される。
【0036】
納品書用のレイアウト学習モデルは、納品書の文書画像のレイアウト認識を行う学習モデルであり、納品書用のレイアウト学習用データを用いて学習する。納品書用のレイアウト学習モデルは、納品書のどの位置に、どのような情報があるかを学習し、特に、表の占める範囲が大きい場合が多く、商品の名称及び品番などの記載が少なくないなど納品書に特有のレイアウトについて学習する。納品書用のレイアウト学習用データは、後述するアノテーションが付与された、例えば、200種類の納品書のフォームであって1フォームにつき少なくとも3、4枚の納品書の文書画像に基づいて生成される。
【0037】
領収書用のレイアウト学習モデルは、領収書の文書画像のレイアウト認識を行う学習モデルであり、領収書用のレイアウト学習用データを用いて学習する。領収書用のレイアウト学習モデルは、領収書のどの位置に、どのような情報があるかを学習し、特に、金額の手書き欄、若しくは金額が記載された表が記載されている場合が多いなど領収書に特有のレイアウトについて学習する。領収書用のレイアウト学習用データは、後述するアノテーションが付与された、例えば、200種類の領収書のフォームであって1フォームにつき少なくとも3、4枚の領収書の文書画像に基づいて生成される。
【0038】
なお、レイアウト学習モデル14は、情報通信ネットワーク11を介する電子文書生成装置10の利用に限定されるものではなく、電子文書生成装置10に含まれるものとしてもよい。また、レイアウト学習モデル14は、情報通信ネットワーク11に接続された複数の情報処理装置に分散して保存されてもよい。
【0039】
文書画像データベース15は、文書の画像を蓄積したデータベースである。電子文書生成装置10は、文書画像データベース15に記憶された文書画像を取得し、文字列学習モデルの学習に用いる文字列学習用データ、及びレイアウト学習モデルの学習に用いるレイアウト学習用データを生成する。
【0040】
ユーザ端末12は、電子文書生成装置10の操作に用いられる。電子文書生成装置10によって生成された電子文書の中に誤って認識された文字があった場合、若しくは電子文書生成装置10によって生成された電子文書のレイアウトが誤って認識されたものであった場合に、ユーザ端末12のユーザからの修正入力に従って当該電子文書は修正され、電子文書生成装置10は当該修正を受け付けて、文字列学習モデル13及びレイアウト学習モデル14の少なくともいずれかの再学習を行う。
【0041】
次に図2を参照して、電子文書生成装置10の機械的構成について説明する。図2は、電子文書生成装置10の機械的構成を示すブロック図である。電子文書生成装置10は、入出力インターフェース20、通信インターフェース21、Read Only Memory(ROM)22、Random Access Memory(RAM)23、記憶部24、Central Processing Unit(CPU)25、Graphics processing units(GPU)28等を備えている。
【0042】
入出力インターフェース20は、電子文書生成装置10の外部装置に対してデータなどの送受信を行う。外部装置とは、電子文書生成装置10に対してデータなどの入出力を行う入力装置26及び出力装置27のことである。入力装置26とはキーボード、マウス、及びスキャナーなどのことであり、出力装置27とはモニター、プリンタ及びスピーカなどのことである。
【0043】
通信インターフェース21は、情報通信ネットワーク11を介して外部との通信を行う際に電子文書生成装置10のデータなどの入出力を行う機能を備える。
記憶部24は、記憶装置として利用でき、電子文書生成装置10が動作する上で必要となる各種アプリケーション及び当該アプリケーションによって利用される各種データなどが記録される。GPU28は、機械学習などを実行する上で行われる繰り返し演算を多用する場合に適しており、CPU25とともに用いる。
【0044】
電子文書生成装置10は、後述する電子文書生成プログラムをROM22若しくは記憶部24に保存し、RAM23などで構成されるメインメモリに当該電子文書生成プログラムを取り込む。CPU25は、電子文書生成プログラムを取り込んだメインメモリにアクセスして、電子文書生成プログラムを実行する。
【0045】
次に図3を参照して、電子文書生成装置10が行う処理の概略を説明する。図3は、電子文書生成装置10が行う処理の概要を示す図である。
電子文書生成装置10は、次に述べる処理I~IIIをこの順に行う。
【0046】
処理Iでは、文書画像の「背景除去」、「傾き補正」、及び「形状調整」を含む前処理55を行う。
前処理55とは、文字列を含む画像に対して、学習モデルを用いた文字認識を実行(認識)しやすくするための事前の処理を行うことをいい、処理II、IIIで行う認識処理の認識精度を向上させることを目的とする。
【0047】
処理IIでは、レイアウト認識処理56を行う。
レイアウト認識処理56では、先ず文書画像の「レイアウト認識」を行う。レイアウト認識処理56とは、入力された画像内で、どの位置に、どのような情報があるのかを認識する処理である。
【0048】
ここでいう情報とは、文字列、表、画像、印章、手書きなどのことをいう。電子文書生成装置10は、文書画像のレイアウトを認識して文書画像に表が含まれている場合は、「表の認識」を行い、表に含まれるセルについて「セルの画像の切り出し」を行う。
【0049】
処理IIIでは、文字列認識処理57を行う。
文字列認識処理57とは、文字列を含む画像を、画像と画像に含まれる文字列との対応関係を学習した文字列学習モデル13を用いて、テキストデータに変換する処理のことである。文字列認識処理57は、「テキストデータの配置」及び「ノイズ除去」などの処理を含むものとしてもよい。
【0050】
文字列認識処理57では、文字列の画像をテキストデータに変換するとともに、「テキストデータの配置」及び「ノイズ除去」を行う。
「テキストデータの配置」とは、切出した文字列の画像にスペースが含まれている場合には文字列とともにスペースも一緒に認識されるので、テキストデータはスペースとともに配置されることを指す。
【0051】
「ノイズ除去」とは、切出した文字列の画像にノイズが含まれている場合に、ノイズについては電子文書生成装置10によって認識されないのでテキストデータから受動的に除去されることをいう。ここでいうノイズとは、切り出された文字列の画像に含まれる、文字を構成しない画素のことをいう。
【0052】
次に図4を参照して、電子文書生成装置10の機能的構成について説明する。図4は、電子文書生成装置10の機能的構成を示すブロック図である。電子文書生成装置10は、後述する電子文書生成プログラムを実行することで、CPU25に、文書画像取得部31、前処理部32、背景除去部32a、傾き補正部32b、形状調整部32c、レイアウト認識部33、切出部34、文字列認識部35、出力部36、レイアウト学習用データ生成部40、レイアウト学習用データ修正部41、レイアウト学習部42、文字列学習用データ生成部43、文字列学習用データ修正部44、文字列学習部45等を備える。
【0053】
文書画像取得部31(図4参照)は、文書を画像化した文書画像を取得する。
文書画像取得部31は、文書画像データベース15から文書画像を取得してもよい。或いは、文書画像取得部31は、入力装置26のスキャナーから文書画像を入手してもよい。
【0054】
図5を参照して、文書画像取得部31に取得された文書画像、及び電子文書生成装置10から出力される電子文書について説明する。
図5は電子文書生成装置10の入力データと出力データとを説明する図であり、図5(a)は入力データとして文書画像取得部31に取得された文書画像を示す。当該文書画像には、ホチキス跡50、手書き51、印章52、及び画像53などのノイズが存在する。
【0055】
これらのノイズは、人及びパソコンなどの情報処理装置が当該文書の内容を理解する上で邪魔若しくは不要となる。ノイズの他の例としては、ファイリングのために開けた穴、紙面に残った折り目などがある。折り目は線として認識される恐れがあり、電子文書に反映されないように除去の必要性が高いものである。
【0056】
電子文書生成装置10は、取得した文書画像のレイアウトを維持しつつ、当該文書画像内の文字列をテキストデータに変換して電子文書を出力する(図5(b)参照)。電子文書生成装置10は、ノイズとして認識したホチキス跡50、手書き51、印章52、及び画像53について能動的処理によりノイズ除去54し、その他、文字列及びノイズとして認識されなかった文書画像内の画素については、電子文書に残留させない受動的処理により除去する。
【0057】
図5(b)の文書画像内の表は、当該文書画像内の配置を維持しつつ、電子文書内のオブジェクトデータとしてテキストデータとともに出力される。電子文書生成装置10は、出力する電子文書に含める要素を任意に選択できるものである。
【0058】
例えば、ホチキス跡50、手書き51、印章52、及び画像53などは通常使用では除去されるが、印章52、及び画像53をイメージデータとして電子文書に含めて出力することもできる。
【0059】
前処理部32(図4参照)は、文書画像取得部31が取得した文書画像について前処理55を行う。
前処理55は、後述するレイアウト認識部33及び文字列認識部35による、学習モデルを用いる画像認識の認識精度を向上させるために行われる。
【0060】
前処理部32は、背景除去部32a、傾き補正部32b、及び形状調整部32cを備える。
背景除去部32a(図4参照)は、文書画像取得部31が取得した文書画像の背景を除去する。
【0061】
図6を参照して、背景除去部32aにより行われる処理について説明する。図6は、前処理55で行う背景除去を説明する図である。図6(a)は背景除去される前の文書画像58aを示し、図6(b)は背景除去された後の文書画像58bを示す。
【0062】
背景除去部32aは、文書画像の背景色を白色にすることによって文書画像の背景を除去する。具体的には、背景除去部32aは、取得した文書画像の背景色を検出し、当該背景色が白色か否かを判断する。背景色が白色ではないと判断された場合、背景除去部32aは、文書画像の背景以外の情報を抽出し、背景色を白色にした後に抽出した情報を重ね合わせる。
【0063】
背景除去部32aによれば、背景を削除することでレイアウト認識部33及び文字列認識部35による画像認識の誤動作の原因となるノイズを除去することができ、認識精度を向上させることができる。
【0064】
傾き補正部32b(図4参照)は、文書画像取得部31が取得した文書画像の傾きを補正する。
図7を参照して、傾き補正部32bにより行われる処理について説明する。図7は、前処理55で行う傾き補正を説明する図である。図7(a)は傾き補正される前の文書画像59aを示し、図7(b)は傾き補正された後の文書画像59bを示す。
【0065】
傾き補正部32bは、文書画像の中に傾いた文字列がある場合に当該文字列の傾きを補正し、当該文字列を書字方向に対して平行若しくは垂直にする。傾き補正部32bは、文書画像が縦書きの場合は、傾いた文字列を縦書きの方向に対して平行になるように補正し、文書画像が横書きの場合は、傾いた文字列を横書きの方向に対して平行になるように補正する。
【0066】
具体的には、傾き補正部32bは、文書画像の文字列を抽出し、抽出した文字列の中に傾斜した文字列があるか否かを判断する。抽出した文字列の中に傾斜した文字列があると判断した場合に、傾き補正部32bは、傾斜した当該文字列の書字方向に対する傾斜角を検出し、傾斜した当該文字列に対して傾斜角がゼロになるように回転処理を施す。
【0067】
傾き補正部32bによれば、文字列の傾きを補正することで、文字列認識部35による画像認識の認識精度を向上させることができる。さらに、レイアウト認識部33によるレイアウトの認識エラーを低減することができる。
【0068】
形状調整部32c(図4参照)は、文書画像取得部31が取得した文書画像の全体の形状及び大きさを調整する。
図8を参照して、形状調整部32cにより行われる処理について説明する。図8は、前処理で行う形状調整を説明する図である。図8(a)は形状調整される前の文書画像60aを示し、図8(b)は形状調整された後の文書画像60bを示す。
【0069】
形状調整部32cは、文書画像取得部31が取得した文書画像の全体の形状が実際の文書と比べて異なる場合、当該文書画像の全体の形状を実際の文書の全体の形状に基づいて調整を行う。具体的には、文書画像取得部31が取得した文書画像の全体の縦横比が実際の文書の全体の縦横比と異なる場合は、当該文書画像の全体の縦横比が実際の文書の全体の縦横比と等しくなるように形状調整部32cが調整する。
【0070】
また、文書画像取得部31が取得した文書画像の大きさが大きすぎる場合、若しくは小さすぎる場合に、その後の処理が正常に行われない可能性があるので、形状調整部32cは、その後の処理が正常に行われるように文書画像取得部31が取得した文書画像の大きさを調整する。
【0071】
形状調整部32cによれば、文書画像取得部31が取得した文書画像の形状及び大きさを調整することで、その後に行われるレイアウト認識部33による実際の文書に則したレイアウトの認識精度を向上させることができ、さらに文字列認識部35による画像認識の認識精度を向上させることができる。
【0072】
レイアウト認識部33(図4参照)は、文書画像61に含まれる複数の要素と、当該複数の要素の各々の識別情報との対応関係を学習したレイアウト学習モデル14を用いて、文書画像取得部31に取得された文書画像61に含まれる複数の要素の各々の文書画像61内における範囲を特定し、複数の要素の各々の種類を認識し、複数の要素の各々の範囲に係る文書画像61内における位置情報を取得する。
【0073】
要素の種類は、文字列48、表49、画像53、印章52、又は手書き51のいずれかであることとしてもよい。なお、要素の種類はこれに限らず、ホチキス跡50、パンチ穴跡、破損(破れ)跡、複写用カーボン汚れなどを用いてもよい。
【0074】
要素の種類は、文書の種類(例えば、契約書、請求書、覚書、納品書、又は領収書など)に適したものを用いてもよい。例えば、領収書の裏面に複写用のカーボンが添布してあり、表面にカーボンが移り汚れとなる場合は、要素の種類に複写用カーボンによる汚れを用いて能動的に当該複写用カーボンによる汚れを除去してもよい。
【0075】
レイアウト学習モデル14は、契約書用のレイアウト学習モデル、請求書用のレイアウト学習モデル、覚書用のレイアウト学習モデル、納品書用のレイアウト学習モデル、又は領収書用のレイアウト学習モデルのいずれかであることとしてもよい。
【0076】
要素の種類は、文書の種類に応じて必要なものと不要なものとに分類してもよい。
この場合、レイアウト認識部33は、文書画像61に含まれる複数の要素のうち、認識した要素が不要なものに該当する場合は当該要素の位置情報は取得されず、認識した要素が必要なものに該当する場合は当該要素の位置情報を取得することとしてもよい。または、レイアウト認識部33は、文書画像61に含まれる複数の要素のうち、必要な要素のみを認識し、当該要素の位置情報を取得することとしてもよい。
【0077】
レイアウト認識部33は、要素の各々の種類を認識して、当該要素の各々の範囲に係る文書画像の位置情報を取得した後、要素同士が重なり合う、若しくは要素同士が離れすぎている場合には、実際の文書に基づいて、当該要素の各々の範囲及び取得した位置情報を補正する。
【0078】
図9を参照して、レイアウト認識部33が認識した認識範囲に欠落が生じた場合にレイアウト認識部33が行う欠落解消の補正処理の一例について説明する。欠落とは、レイアウト認識部33が要素として認識するべき範囲についてその一部が認識されず、要素の範囲の一部が不足することをいう。図9はレイアウト認識処理で行う欠落解消の補正処理を説明する図であり、図9(a)は補正前の様子を示し、図9(b)は補正後の様子を示す。
【0079】
レイアウト認識部33は、文書画像取得部31によって取得された文書画像に含まれる文字列の画像70を文字列として認識する際に、その認識範囲に欠落が有るか否かの判定を行い、欠落が有る場合には欠落部分を追加する補正処理を行う。
【0080】
図9(a)は、レイアウト認識部33が、文字列の画像70について認識範囲72aの文字列として認識した様子を示している。認識範囲72aは、文字列の画像70の左端部分に欠落を有している。レイアウト認識部33は、認識範囲72aの周囲の所定範囲以内に黒線が有るか否かの判定を行い、黒線が有る場合には黒線を含む範囲72bを認識範囲72aに追加する補正を行う(図9(b)参照)。
【0081】
なお、レイアウト認識部33が行う有無の判定は黒線に限定されるものではなく、文字と同色の線又は予め設定された色の線が認識範囲72aの周囲の所定範囲以内に有るか否かの判定を行うこととしてもよい。なぜらな、レイアウト認識処理で行う欠落解消の補正処理は、その後に行われる文字認識処理の認識精度を向上させるのが主な目的だからである。
【0082】
当該補正処理によれば、レイアウト認識部33が認識した要素の範囲に欠落が生じ場合でも、その欠落した範囲を追加することで正常な認識範囲へと補正することができ、当該要素に含まれる文字列について文字列認識部35は正常に文字認識を行うことができる。
【0083】
図10を参照して、レイアウト認識部33が認識した認識範囲が、他の要素に重なってしまった場合にレイアウト認識部33が行う補正の一例について説明する。図10はレイアウト認識処理で行う重なり解消の補正処理を説明する図であり、図10(a)は補正前の様子を示し、図10(b)は補正後の様子を示す。
【0084】
レイアウト認識部33は、文書画像取得部31によって取得された文書画像に含まれる文字列の画像73を文字列として認識する際に、その認識範囲75aが他の要素(例えば、表74)に重なっているか否かの判定を行い、重なりが生じている場合には重なりを解消する補正処理を行う。
【0085】
図10(a)は、レイアウト認識部33が、文字列の画像73について認識範囲75aの文字列として認識した様子を示している。認識範囲75aは、文字列の画像73の右隣の表74に空白(スペース)を超えて重なっている。レイアウト認識部33は、認識範囲75aの内部に所定の大きさの空白(スペース)が有るか否かの判定を行い、当該空白(スペース)が有る場合には、当該空白(スペース)及び当該空白(スペース)より右側の部分に係る認識範囲75aを削除して認識範囲75bとする補正を行う(図10(b)参照)。
【0086】
要素と他の要素との間には必ず所定の大きさの空白(スペース)があるので、レイアウト認識部33は、認識範囲の内部に所定の大きさの空白(スペース)が有る場合に当該認識範囲は他の要素と重なっていると断定するものである。レイアウト認識処理で行う重なり解消の補正処理によれば、レイアウト認識部33はレイアウトの認識精度を向上させることができる。
【0087】
図11を参照して、レイアウト認識部33により行われる処理について説明する。図11は、レイアウト認識処理56で行うレイアウト認識を説明する図であり、図11(a)はレイアウト認識される前の文書画像61の状態を示し、図11(b)はレイアウト認識された後の文書画像62の状態を示す。
【0088】
レイアウト認識部33は、文書画像61に含まれる要素(文字列48、表49、印章52、画像53)の文書画像61内における範囲について、レイアウト学習モデル14を用いた画像認識により特定する。
【0089】
図11(b)において、説明の便宜上、特定された文字列48の範囲を実線で囲い、特定された表49、印章52、及び画像53の範囲を破線で囲う。要素の境界は電子文書生成装置10が認識できれば良いので、人に対して可視化されていなくても良い。
【0090】
レイアウト認識部33は、特定された文書画像61内における範囲において、レイアウト学習モデル14を用いた画像認識により該当する要素の種類を認識し、当該要素の種類とともに当該範囲の文書画像62内に係る位置情報を取得する。位置情報は、文書画像62内の所定点を原点とした平面直交座標によって表されてもよい。
【0091】
レイアウト学習モデル14は、文書画像61の種類に合わせて予め設定されており、レイアウト認識部33は、予め設定されたレイアウト学習モデル14を用いて文書画像61のレイアウトを認識する。
【0092】
すなわち、文書画像取得部31により取得された文書画像61が契約書だった場合は契約書用のレイアウト学習モデル14を用いて画像認識を行い、請求書だった場合は請求書用のレイアウト学習モデル14を用いて画像認識を行い、覚書だった場合は覚書用のレイアウト学習モデル14を用いて画像認識を行い、納品書だった場合は納品書用のレイアウト学習モデル14を用いて画像認識を行い、領収書だった場合は領収書用のレイアウト学習モデル14を用いて画像認識を行う。
【0093】
レイアウト認識部33は、文書画像取得部31により取得された文書画像61の種類に合わせてレイアウト学習モデル14を使い分けるので、文書画像61のレイアウト認識の認識精度を向上させることができる。
【0094】
切出部34(図4参照)は、レイアウト認識部33により認識された種類が表に該当する要素において、当該要素に含まれる表の中のセルの各々を切り出し、セルの各々の文書画像内における位置情報を取得する。
【0095】
図12を参照して、レイアウト認識部33による表49の認識について説明する。図12はレイアウト認識処理56で行う表の認識を説明する図であり、図12(a)はレイアウト認識部33に認識される前の表63を示し、図12(b)はレイアウト認識部33に認識された後の表64を示す。図12(b)では、説明の便宜上、縦線65として認識された線を一点鎖線として表し、横線66として認識された線を破線として表すことにする。
【0096】
レイアウト認識部33は、表64を構成する全ての縦線65及び横線66の各々の長さと位置を認識する。レイアウト認識部33は、表64を構成する全ての縦線65及び横線66の長さと位置を認識することで、表64に含まれる全てのセルについて認識する。すなわち、レイアウト認識部33は、隣接する2本の縦線65及び隣接する2本の横線66により構成される四角形をセルとして認識する。
【0097】
さらに、レイアウト認識部33は表64を構成する線の線種についても認識する。認識された線種は、取得した文書画像に基づいて電子文書を再現する際に、当該電子文書に含まれる表を構成する線のオブジェクトに反映される。従って、例えば、文書画像62内の表の線が破線であった場合、文書画像62に基づいて再現された電子文書に含まれる表の線は破線のオブジェクトとして表現される。
【0098】
切出部34は、レイアウト認識部33により把握された表64に含まれる全てのセルについてセル単体毎の画像に切り出す。
図13を参照して、切出部34によるセル画素の切り出しについて説明する。図13は、セル画像の切り出しを説明する図である。切出部34により切り出されたセル67は、複数の文字列を含む場合もある。
【0099】
切出部34は、表64に含まれる全てのセルについてセル単体毎の画像と当該セルの表64における位置情報について取得する。位置情報は、表64内の所定点を原点とした平面直交座標によって表されてもよいし、若しくは表64における(行、列)によって表されてもよい。
【0100】
切出部34は、レイアウト認識部33により認識された表を構成する全ての縦線及び横線を再生し、全てのセルの位置情報を生成する。
【0101】
図14を参照して、複数の文字列を含むセル67について説明する。図14は、セル画像内の文字列を説明する図である。
【0102】
切出部34は、切り出されたセル67に複数行の文字列が含まれている場合は、さらに全ての文字列について文字列単体毎の画像を切り出す。図14に示すセル67は、2行の文字列を含んでおり、切出部34は文字列の画像67a及び文字列の画像67bを切出す。
【0103】
文字列認識部35(図4参照)は、文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデル13を用いて、文書画像取得部31に取得された文書画像に含まれる文字列を文字認識し、当該文字列に係るテキストデータを生成する。
【0104】
文字列認識部35は、レイアウト認識部33により認識された範囲に含まれる文字列について、文字列学習モデル13を用いて文字認識し、文字列に係るテキストデータを生成してもよい。
【0105】
文字列認識部35は、切出部34に切り出されたセルの各々に含まれる文字列について、文字列学習モデル13を用いて文字認識を行い、文字列に係るテキストデータを生成してもよい。
【0106】
文字列認識部35は、複数の文字列学習モデル13を備え、複数の要素の各々に含まれる文字列の言語に適応した文字列学習モデル13を用いてもよい。
文字列認識部35は、英語で書かれた文書画像を文字認識する場合に、英語の文字列の認識に適した文字列学習モデルを用いることで、認識精度を向上させることができる。
【0107】
図15、16を用いて文字列認識部35が行う文字認識について説明する。
図15は、文字列認識処理57で行うテキストデータの配置を説明する図であり、図15(a)は文字認識が行われる前の文字列の画像67aであり、図15(b)は文字認識が行われた後の文字列68a、すなわちテキストデータ68aである。
【0108】
図16は、文字列認識処理57で行うノイズ除去を説明する図であり、図16(a)は文字認識が行われる前の文字列の画像71aであり、図16(b)は文字認識が行われた後の文字列71b、すなわちテキストデータ71bである。
【0109】
図15(a)に示す文字列の画像67aは、1行の文字列の他に手書きチェック跡が残る。当該文字列は、単語と単語との間に空白を含んでいる。文字列認識部35は、文字列の画像67a全体について、文字列学習モデル13を用いて文字認識し、テキストデータを生成する。
【0110】
文字列認識部35は、文字列の画像67aの中の、2個の字句である「L/C NO:」、「ILC18H000219」、及び2個の字句の間の空白について文字認識して、2個の字句に対応するテキストデータ、及び2個の字句の間の空白に対応するテキストデータを生成する(68a:図15(b)参照)。
従って、文字列認識部35は、字句と字句の間にあるスペースについても認識してテキストデータに変換するので、画像67aと同様に2つの字句を離して配置することができる。
【0111】
文字列認識部35は、文字列の画像67aについて文字認識する際に、手書きチェック跡については文字認識されずテキストデータに含まれないので、出力される電子文書から手書きチェック跡は削除される(68a:図15(b))。従って、文字列認識部35の文字認識の対象とならない手書チェック跡などのノイズは受動的に電子文書から除去される。
【0112】
図16(a)に示す文字列の画像71aは、1行の文字列に重なった印章の一部がノイズとして残っている。文字列認識部35は、文字列の画像71a全体について、文字列学習モデル13を用いて文字認識し、テキストデータを生成する。
【0113】
文字列認識部35は、文字列の画像71a全体について文字認識し、文字列「authorized to act on behalf of the」について、当該文字列に対応するテキストデータについて生成する(71b:図16(b)参照)。
【0114】
文字列の画像71aに含まれるノイズは、文字列認識部35の文字認識の対象とはならないので、受動的に電子文書から除去される(71b:図16(b)参照)。
【0115】
図15、16を用いて、文書画像と、その文章画像に対する文字認識を施した後の文字列のテキストデータについて説明したが、文字列学習モデル13は、図15(a)と図15(b)とを対応付けたデータや、図16(a)と図16(b)とを対応付けたデータを、教師データとして、多数学習することで、このような深層学習を用いた画像からの文字認識を実現することができる。
【0116】
文字列認識部35は、文字列学習モデル13を用いて、画像67a、71aに含まれる文字列について文字認識する際に当該文字列に含まれる文字の大きさ及び書体などの属性データを取得してもよい。この文字の属性データは、後述の出力部36によって出力されるテキストデータの属性データとして反映される。
【0117】
出力部36(図4参照)は、テキストデータを電子媒体のテキストとして出力する。
出力部36は、複数の要素に係る範囲の各々の位置情報に、複数の要素に係るテキストデータの各々を電子媒体のテキストとして出力してもよい。
【0118】
電子媒体とは、電子的に記録媒体に保存されたデータに限らず、記録媒体に保存された状態でなくパソコンなどの情報処理装置がその内容を扱うことが出来るデータそのものも含むものとする。
要素の位置情報は、文書画像62内の所定点を原点とした平面直交座標によって表されてもよい。
【0119】
出力部36によれば、複数の要素に係るテキストデータを当該要素に係る位置情報に基づいて出力するので、取得した文書画像61のレイアウトを維持しつつノイズを除去して、当該文書画像61内の文字列をテキストデータに変換して電子文書を出力することができる。
【0120】
出力部36は、文字列認識部35によって取得された文字の属性データについて、テキストデータに反映させて電子文書に出力してもよい。当該出力部36によれば、電子文書生成装置10は、文書画像61に含まれる文字の大きさ及び書体などの属性データについて、出力する電子文書に含まれるテキストデータの属性データとして再現することができる。
【0121】
レイアウト学習用データ生成部40(図4参照)は、複数の要素を含む文書画像であって、当該要素に当該要素の各々に該当する種類に関連付けられたアノテーションが付与されており、アノテーションが付与された複数の文書画像を蓄積してレイアウト学習用データを生成する。
【0122】
レイアウト学習用データはレイアウト学習モデル14の教師有り学習に用いられる。
レイアウト学習用データに蓄積される文書画像に、アノテーションとともに文書画像に含まれる複数の要素に係る範囲の各々の文書画像内における位置情報が付与されてもよい。
【0123】
図17から図23を参照して、アノテーションが付与されたレイアウト学習用データについて説明する。図17から図23は、アノテーションが付与されたレイアウト学習用データの例を示す図である。
【0124】
レイアウト学習用データ生成部40は、文書画像データベース15から文書画像を取得し、当該文書画像にアノテーションを付与してレイアウト学習用データを生成する。なお、レイアウト学習用データを生成する際に、レイアウト学習用データ生成部40を用いること無く、ユーザが手動でレイアウト学習用データを生成することもできる。ユーザが手動でレイアウト学習用データを生成する場合は、文書画像データベース15から取得した文書画像にユーザ端末12を用いてアノテーションを付与することができる。
【0125】
図17、18を参照して、請求書用のレイアウト学習モデル14の学習に用いられるレイアウト学習用データについて説明する。文書画像に含まれる要素として、文字列、表、画像、印章、外枠、ノイズについて、電子文書生成装置10が識別し分類できるように、それぞれの要素に注釈記号を付与する。
【0126】
文字列に係る要素には、文字列の注釈記号76を付与し、当該文字列を矩形の枠線で囲い、当該枠線に「Text」のタグを目印として付ける。矩形の枠線で囲われた部分は、文書画像内における当該文字列に係る要素の占める範囲としてレイアウト学習モデル14に学習される。
【0127】
表に係る要素には、表の注釈記号77を付与し、当該表の外枠に矩形の枠線を重ね合わせ、当該枠線に「Border Table」のタグを目印として付ける。矩形の枠線で囲われた部分は、文書画像内における当該表に係る要素の占める範囲としてレイアウト学習モデル14に学習される。
【0128】
画像に係る要素には、画像の注釈記号78を付与し、当該画像の境界線に注釈記号を示す枠線を重ね合わせ、当該枠に「Image」のタグを目印として付ける。画像には、ロゴ、マーク、写真、及びイラストなどが含まれるものとする。枠線で囲われた部分は、文書画像内における当該画像に係る要素の占める範囲としてレイアウト学習モデル14に学習される。
【0129】
印章に係る要素には、印章の注釈記号79を付与し、当該印章の境界線に注釈記号を示す枠線を重ね合わせ、当該枠線に「Hun」のタグを目印として付ける。枠線で覆われた部分は、文書画像内における当該印章に係る要素の占める範囲としてレイアウト学習モデル14に学習される。
【0130】
外枠に係る要素には、外枠の注釈記号80を付与し、当該外枠の境界線に枠線を重ね合わせ、当該枠線に「Border」のタグを目印として付ける。枠線を構成する4本の線分について、その長さと位置について、レイアウト学習モデル14に学習される。
【0131】
ノイズに係る要素には、ノイズの注釈記号81を付与し、当該ノイズを矩形の枠で囲い、当該枠に「Noise」のタグを目印として付ける。枠で覆われた部分は、文書画像内における当該ノイズに係る要素の占める範囲としてレイアウト学習モデル14に学習される。
【0132】
図19を参照して、表の認識の学習に用いられるレイアウト学習データについて説明する。文書画像データベース15から取得した文書画像に含まれる表について、表を構成する全ての縦線に縦線の注釈記号83である一点鎖線を重ね合わせ、表を構成する全ての横線に横線の注釈記号84である破線を重ね合わせる。
【0133】
レイアウト学習モデル14は、全ての一点鎖線及び破線を認識することで、表の大きさ、表が占める範囲、位置、及び表に含まれ全セルの情報について学習することができる。セルの情報とは、表に含まれるセルの数、及びセル各々の表における位置のことであり、表における位置は表の(行、列)で表される。
【0134】
図20、21を参照して、表のセルの中の文字列の認識の学習に用いられるレイアウト学習データについて説明する。図20は、セルの各々に1行ずつ文字列が含まれているレイアウト学習データである。図21は、1行の文字列を含むセル、2行の文字列を含むセル、3行の文字列を含むセルに係る表を認識するレイアウト学習データである。
【0135】
図20図21が示す通り、1つのセルに含まれる文字列の行数に影響を受けることなく、文字列の各々に文字列の注釈記号76を付与し、当該文字列を矩形の枠線で囲い、当該枠線に「Text」のタグを目印として付ける。
【0136】
レイアウト学習モデル14は、文字列の注釈記号76の範囲、及び表内における文字列の位置を学習する。電子文書生成装置10は、表を構成する全ての縦線及び横線に係るオブジェクトデータとともに、文字列に係るテキストデータを電子文書に出力することで表を再現することができる。
【0137】
図22を参照して、表のセルの中の文字列の認識の学習に用いられるレイアウト学習データについて説明する。図22の表のセルに含まれる文字列の各々に文字列の注釈記号76を付与し、当該文字列を矩形の枠線で囲い、当該枠線に「Text」のタグを目印として付ける。
【0138】
レイアウト学習モデル14は、文字列の注釈記号76の範囲、及び文字列の文書内における位置情報について学習をする。電子文書生成装置10は、文字列に係るテキストデータを文書内における位置に置くことで表を電子文書内に再現することができる。電子文書生成装置10は、表を構成する縦線及び横線を電子文書内に再現することなく、テキストデータの出力のみで電子文書内に表を再現することができる。
【0139】
図23を参照して、印章の認識の学習に用いられるレイアウト学習モデルについて説明する。図23に係るレイアウト学習モデルにより、レイアウト学習モデル14は、印章に係る要素を用いること無く、文字列に係る要素、及び文字列の下部に位置する空白により印章の範囲と位置を学習することができる。
【0140】
レイアウト学習用データ修正部41(図4参照)は、入力に基づいて、レイアウト認識部33により取得された複数の要素の各々の種類、及び複数の要素の各々の範囲の文書画像内における位置情報の少なくともいずれかが修正され、この修正されたデータを追加することでレイアウト学習用データを更新する。
【0141】
レイアウト認識部33に画像認識される前の文書画像61とレイアウト認識部33に画像認識された後の文書画像62との間に齟齬が生じる場合がある。例えば、文字列の一部が認識されない場合、画像として認識されるべき要素が印章として認識されてしまう場合、表の位置にズレが生じた場合などがある。
【0142】
このような場合に、レイアウト認識部33に画像認識された後の文書画像62について、レイアウト認識部33に画像認識される前の文書画像61に合わせるように修正を行い、この修正されたデータをレイアウト学習用データに追加することで、レイアウト学習用データは更新される。
【0143】
レイアウト学習部42(図4参照)は、レイアウト学習用データ修正部41により更新されたレイアウト学習用データを用いて、レイアウト学習モデル14の再学習を行う。
レイアウト学習モデル14は再学習されることで、文書画像のレイアウトの認識精度を向上させることができる。
【0144】
文字列学習用データ生成部43(図4参照)は、文字列学習モデル13の教師有り学習に用いる文字列学習用データを生成する。
文字列学習用データ修正部44(図4参照)は、入力に基づいて、文字列認識部35により生成されたテキストデータが修正され、この修正されたテキストデータを追加することで文字列学習用データを更新する。
【0145】
文字列学習部45(図4参照)は、文字列学習用データ修正部44により更新された文字列学習用データを用いて、文字列学習モデル13の再学習を行う。
【0146】
文字列学習用データ生成部43は、文書画像データベース15から文書画像を取得し、当該文書画像にアノテーションを付与して文字列学習用データを生成する。なお、文字列学習用データを生成する際に、文字列学習用データ生成部43を用いること無く、ユーザが手動で文字列学習用データを生成することもできる。ユーザが手動で文字列学習用データを生成する場合は、文書画像データベース15から取得した文書画像にユーザ端末12を用いてアノテーションを付与することができる。
【0147】
図24を参照して、文字列学習モデル13の学習に用いられる文字列学習データについて説明する。図21は、アノテーションが付与された文字列学習用データの例を示す図である。図24は、文字列学習用データ生成部43の出力画面であり、ユーザ端末12若しくは電子文書生成装置10の出力装置27に表示される。
【0148】
文字列学習用データ生成部43は、文書画像データベース15から取得した文書画像に含まれる文字列について、当該文字列各々に対応するテキストデータをテキストデータの注釈85として付与する。
【0149】
なお、アノテーションの付与はテキストデータに替えて、対応する文字コードをテキストデータの注釈85として付与してもよい。文字列学習用データ生成部43は、文書画像に含まれる文字列が空白を含む場合、当該文字列に対応するテキストデータは同じ様に空白を含むようにして文字列学習用データを生成する。
【0150】
次に、図25を参照して、本実施形態に係る電子文書生成装置10によって実行される電子文書生成方法を電子文書生成プログラムとともに説明する。図25は、電子文書生成プログラムのフローチャートである。電子文書生成方法は、電子文書生成プログラムに基づいて、電子文書生成装置10のCPU25により実行される。
【0151】
電子文書生成プログラムは、電子文書生成装置10のCPU25に対して、文書画像取得機能、前処理機能、レイアウト認識機能、切出機能、文字認識機能、出力機能などの各種機能を実現させる。これらの機能は図25に示される順に実行されるが、適宜、順番を入れ替えて実行することもできる。なお、各機能は前述の電子文書生成装置10の説明と重複するため、その詳細な説明は省略する。
【0152】
文書画像取得機能は、文書を画像化した文書画像を取得する(S31:文書画像取得ステップ)。
文書画像の形式は、一例としてPDF、JPG、及びGIFなどがあり、この他電子文書生成装置10が画像として処理できるデータ形式のものは含み得る。
【0153】
前処理機能は、文書画像取得機能が取得した文書画像について前処理を行う(S32:前処理ステップ)。
前処理機能は背景除去機能、傾き補正機能、及び形状調整機能を備え、背景除去機能は文書画像取得機能が取得した文書画像の背景を除去し、傾き補正機能は文書画像取得機能が取得した文書画像の傾きを補正し、形状調整機能は文書画像取得機能が取得した文書画像の全体の形状及び大きさを調整する。
【0154】
レイアウト認識機能は、文書画像に含まれる複数の要素と、当該複数の要素の各々の識別情報との対応関係を学習したレイアウト学習モデル14を用いて、文書画像取得機能に取得された文書画像に含まれる複数の要素の各々の文書画像内における範囲を特定し、複数の要素の各々の種類を認識し、及び複数の要素の各々の範囲に係る文書画像内における位置情報を取得する(S33:レイアウト認識ステップ)。
【0155】
要素の種類は、文書の種類に応じて必要なものと不要なものとに分類してもよい。
この場合、レイアウト認識機能は、文書画像取得機能に取得された文書画像に含まれる複数の要素のうち、認識した要素が不要なものに該当する場合は当該要素の位置情報は取得されず、認識した要素が必要なものに該当する場合は当該要素の位置情報を取得することとしてもよい。または、レイアウト認識機能は、文書画像61に含まれる複数の要素のうち、必要な要素のみを認識し、当該要素の位置情報を取得することとしてもよい。
【0156】
レイアウト認識機能は、要素の各々の種類を認識して、当該要素の各々の範囲に係る文書画像の位置情報を取得した後、要素同士が重なり合う、若しくは要素同士が離れすぎている場合には、実際の文書に基づいて、当該要素の各々の範囲及び取得した位置情報を補正する。
【0157】
レイアウト認識機能は、表を構成する全ての縦線及び横線の各々の長さと位置を認識する。レイアウト認識機能は、表を構成する全ての縦線及び横線の長さと位置を把握することで、表に含まれる全てのセルについて把握する。すなわち、レイアウト認識機能は、隣接する2本の縦線及び隣接する2本の横線により構成される四角形をセルとして認識する。
【0158】
さらに、レイアウト認識機能は表を構成する線の線種についても認識する。認識された線種は、取得した文書画像に基づいて電子文書を再現する際に、当該電子文書に含まれる表を構成する線のオブジェクトに反映される。従って、例えば、文書画像内の表の線が破線であった場合、文書画像に基づいて再現された電子文書に含まれる表の線は破線のオブジェクトとして表現される。
【0159】
切出機能は、レイアウト認識機能により認識された種類が表に該当する要素において、当該要素に含まれる表の中のセルの各々を切り出し、セルの各々の文書画像内における位置情報を取得する(S34:切出ステップ)。
切出機能は、レイアウト認識機能により認識された表を構成する全ての縦線及び横線を再生し、全てのセルの位置情報を生成する。
【0160】
切出機能により切り出されたセルは、複数の文字列を含む場合もある。切出機能は、切り出されたセルに複数行の文字列が含まれている場合は、さらに全ての文字列について文字列単体毎の画像を切り出す。
【0161】
レイアウト認識機能によって認識された文字列の画像、及び切出し機能により切り出された文字列の画像は、1行ごとに文字認識機能に送り出される。
【0162】
文字認識機能は、文書画像と当該文書画像に含まれる文字列との対応関係を学習した文字列学習モデルを用いて、文書画像取得機能に取得された文書画像に含まれる文字列を文字認識し、当該文字列に係るテキストデータを生成する(S35:文字認識ステップ)。
【0163】
出力機能は、テキストデータを電子媒体のテキストとして出力する(S36:出力ステップ)。
出力機能は、レイアウト認識機能により取得された文字列の位置情報、及び切出部により取得されたセルの文書画像内における位置情報に基づいてテキストデータを出力し、電子媒体のテキストとして再生する。
【0164】
次に、上記した電子文書生成プログラムについて、図26から図28を参照して、領収書の文書画像を電子文書に変換する一実施形態について説明する。図26から図28は、電子文書生成プログラムに係る一実施形態のフローチャートである。図26から図28に示すフローチャートは、これらを結合することで、1つの電子文書生成プログラムのフローチャートを示すこととなる。
【0165】
ステップS102において、文書画像取得部31は、文書画像データベース15より文書画像若しくはPDFを取得する。
ステップS103において、文書画像取得部31が取得したデータがPDFか否かの判定を行う。PDFではない場合(No:S103)、即ち、文書画像取得部31が取得したデータが文書画像であった場合、ステップS106に移行する。
【0166】
文書画像取得部31が取得したデータがPDFだった場合(Yes:S103)、ステップS104に移行し、当該PDFを文書画像に変換した後に当該文書画像を取得する(S105)。
【0167】
ステップS106において、前処理部32は、取得した文書画像について前処理を行う。前処理部32は、背景除去部32a、傾き補正部32b、及び形状調整部32cを備える。
【0168】
背景除去部32aは、取得した文書画像の背景を除去する。傾き補正部32bは、取得した文書画像に含まれる文字列が傾いている場合に傾き補正を行い文字列の傾きを補正する。形状調整部32cは、取得した文書画像の全体の形状及び大きさの調整を行う。
【0169】
ステップS107において、レイアウト認識部33は、前処理部32により行われた前処理を経た文書画像を取得する。
取得された前処理後の文書画像は、後述のステップS115、ステップS120、及びステップS136の文書画像切り出し処理に送られる。
【0170】
ステップS108及びステップS109において、レイアウト認識部33は、文書画像のレイアウト認識を行い、文書画像に含まれる複数の要素について、要素ごとにその範囲を特定し、要素ごとに種類と位置情報とを取得する。
要素の種類は、文字列、表、画像、印章、手書きである。
【0171】
ステップS110において、レイアウト認識部33は、取得した要素の最小境界ボックスの位置情報の調整処理を行う。
最小境界ボックスとは、要素を囲う矩形のうち面積が最小のものをいい、当該要素が占める範囲を意味する。レイアウト認識部33は、文書画像と取得した要素とを照合し、文書画像と取得した要素の位置情報との間に齟齬があった場合は取得した要素の最小境界ボックスの位置情報の調整を行う。
【0172】
ステップS111において、レイアウト認識部33は、ステップS110にて実施された最小境界ボックスの調整処理後のレイアウト情報を取得する。当該レイアウト情報には、要素の種類、及び位置情報が含まれる。
【0173】
ステップS112において、レイアウト認識部33は、後述するステップS130の処理により送られてくる内部記憶された要素のレイアウト情報を参照して、文書画像の中に他の要素が残っているか否かを判定する。
【0174】
ステップS130の処理により送られてくる内部記憶された要素のレイアウト情報の中に全ての要素のレイアウト情報が含まれている場合、レイアウト認識部33は、文書画像の中に他の要素が残っていないと判定して(No:S112)、ステップS131に移行して、ステップS112からステップS130のループの終了処理を行いステップS132に移行する。
【0175】
一方、ステップS130の処理により送られてくる内部記憶された要素のレイアウト情報の中に全ての要素のレイアウト情報が含まれていない場合、レイアウト認識部33は、文書画像の中に他の要素が残っていると判定して(Yes:S112)、ステップS113に移行する。
【0176】
ステップS113において、レイアウト認識部33は、文書画像の中に残る要素が表であるか否かを判定する。
文書画像に表が残っていない場合(No:S113)、後述のステップS130へ表以外のレイアウト情報を送る。
【0177】
文書画像に表が残っている場合(Yes:S113)、ステップS114に移行する。なお、文書画像は領収書に係るものであるので表を含む場合が多い。従って、文書画像が表を含まないと判断された場合、レイアウト認識部33は処理を中断して、電子文書が領収書に係るものか否かを確認するようにしてもよい。
【0178】
ステップS114において、レイアウト認識部33は、文書画像内の表を構成する全ての縦線及び横線の大きさ及び位置情報を取得する。表を構成する全ての縦線及び横線の大きさ及び位置情報を取得すれば、表に含まれる全てのセルについて、そのセルの大きさ及び位置を取得することができる。
【0179】
ステップS115において、切出部34は、ステップS107の処理により取得された前処理後の文書画像の中から表の画像の切り出し処理を行う。
ステップS116において、切出部34は、ステップS115にて切り出された表の画像を取得する。
【0180】
ステップS117及びステップS118において、切出部34は、ステップS116にて取得された表の画像からセルを抽出する処理を行い(ステップS117)、セルの情報を取得する(ステップS118)。
【0181】
セルの情報とは、表におけるセルの位置情報に相当する行、列、及び座標のことである。
ステップS118にて取得されたセルの情報は、後述するステップS127に送られる。
【0182】
ステップS119において、切出部34は、ステップS127の処理により送られてきた内部記憶された表のレイアウト情報を参照して、表の中に他のセルが残っているか否かを判定する。
【0183】
ステップS127の処理により送られてきた内部記憶されたセルのレイアウト情報の中に全てのセルのレイアウト情報が含まれている場合、切出部34は、表の中に他のセルが残っていないと判定して(No:S119)、ステップS128に移行して、ステップS119からステップS127のループの終了処理を行いステップS130に移行する。
【0184】
一方、ステップS127の処理により送られてくる内部記憶されたセルのレイアウト情報の中に全てのセルのレイアウト情報が含まれていない場合、切出部34は、表の中に他のセルが残っていると判定して(Yes:S119)、ステップS120に移行する。
【0185】
ステップS120において、切出部34は、ステップS107の処理により取得された前処理後の文書画像からセルの画像を切り出す処理を行う。
ステップS121において、切出部34は、ステップS120の処理により切り出されたセルの画像を取得する。
【0186】
ステップS122において、文字列認識部35は、ステップS121の処理により取得されたセルの画像について文字列認識の処理を行う。
ステップS123において、文字列認識部35は、文字列認識の処理が行われた文字列の位置情報を取得する。
【0187】
ステップS124において、文字列認識部35は、ステップS123の処理により取得した文字列の最小境界ボックスの位置情報の調整処理を行う。
文字列認識部35は、文書画像と取得した文字列の位置情報とを照合し、文書画像と取得した文字列の位置情報との間に齟齬があった場合は取得した文字列の最小境界ボックスの位置情報の調整を行う。
【0188】
ステップS125において、文字列認識部35は、ステップS124にて実施された文字列の最小境界ボックスの位置情報の調整処理後の位置情報を取得する。
【0189】
ステップS126及びステップS127において、文字列認識部35は、ステップS118の処理によって取得されたセルの情報とステップS125の処理によって取得された調整後の文字列の位置情報とを併合し(ステップS127)、表のレイアウト情報として内部記憶装置に内部記憶する(ステップS126)。内部記憶装置とは、図2に示すRAM23若しくは記憶部24の何れか、若しくはその両方のことをいう。
【0190】
ステップS119からステップS127の処理は、表に含まれる全てのセルについて行われる。ステップS119からステップS127の処理が表に含まれる最後のセルについて行われた後にステップS128のループの終了処理が行われて、文字列認識部35はステップS130に移行する。
【0191】
ステップS129及びステップS130において、出力部36は、ステップS126の処理により取得された表のレイアウト情報とステップS113の処理により取得された表以外のレイアウト情報とを併合し(ステップS130)、全ての要素のレイアウト情報として内部記憶装置に内部記憶する(ステップS129)。
【0192】
ステップS112からステップS130の処理は、文書画像に含まれる全ての要素について行われる。ステップS112からステップS130の処理が文書画像に含まれる最後の要素について行われた後にステップS131のループの終了処理が行われて、文字列認識部35はステップS132に移行する。
【0193】
ステップS132において、文字列認識部35は、文書画像に他の要素が残っているか否かの判定を行う。
文字列認識部35は、後述のステップS140の処理により送られてきた内部記憶された要素のレイアウト情報を参照して、文書画像の中に他の要素が残っているか否かを判定する。
【0194】
ステップS140の処理により送られてきた内部記憶された要素のレイアウト情報の中に全ての要素のレイアウト情報が含まれている場合、文字列認識部35は、文書画像の中に他の要度が残っていないと判定して(No:S132)、ステップS141に移行して、ステップS132からステップS140のループの終了処理を行いステップS142に移行する。
【0195】
一方、ステップS140の処理により送られてくる内部記憶された要素のレイアウト情報の中に全ての要素のレイアウト情報が含まれていない場合、文字列認識部35は、文書画像の中に他の要素が残っていると判定して(Yes:S132)、ステップS133に移行する。
【0196】
ステップS133において、文字列認識部35は、文書画像の中に残っている要素が文字列であるか否かを判定する。
文字列認識部35が、文書画像に残っている要素が文字列であると判定した場合(Yes:S133)、ステップS135に移行する。
【0197】
文字列認識部35が、文書画像に残っている要素が文字列ではないと判定した場合(No:S133)、ステップS132に移行するループの続行処理が行われる(ステップS134)。
ステップS135において、文字列認識部35は、文字列の位置情報を取得する。
【0198】
ステップS136及びステップS137において、文字列認識部35は、ステップS107の処理によって取得された前処理後の文書画像の中から文字列の画像を切り出し(ステップS136)、文字列の画像を取得する。
【0199】
ステップS138及びステップS139において、文字列認識部35は、ステップS137の処理によって取得された文字列の画像について文字列認識の処理を行い(ステップS138)、文字列認識の処理により予測されたテキストデータを生成する(ステップS139)。
【0200】
ステップS140において、文字列認識部35は、ステップS135の処理によって取得された文字列の位置情報とステップS139の処理によって生成されたテキストデータとを併合して要素のレイアウト情報を生成する。生成された要素のレイアウト情報は、ステップS129に送られる。ステップS129では、送られてきた要素のレイアウト情報を内部記憶装置に内部記憶する。内部記憶装置とは、図2に示すRAM23若しくは記憶部24の何れか、若しくはその両方のことをいう。
【0201】
ステップS132からステップS140までの処理は、ステップS140の処理によって送られてきた要素のレイアウト情報の中に全ての要素のレイアウト情報が含まれているとステップS132の処理によって判定されるまで行われる。
【0202】
ステップS141において、ステップS140の処理によって送られてきた要素のレイアウト情報の中に全ての要素のレイアウト情報が含まれているとステップS132の処理によって判定されたことを受けて、ステップS132からステップS140までのループの終了処理が行われて、ステップS142に移行される。
【0203】
ステップS142において、電子文書生成装置10は後処理を行う。後処理では、全ての要素のテキストデータ、画像、及び位置情報について、JSON(javascript object notation)への出力、及びTSV(Tab-Separated Values)への変換などが行われる。
なお、上記した各機能部の処理は、電子文書生成装置10のCPU25により実行される処理である。
【0204】
ステップS143において、出力部36は、後処理を経た全ての要素の情報について、最終形態として単純なテキストファイル、HTML(HyperText Markup Language)、市販されている文字編集ソフトで編集可能なファイル形式、及び編集可能はPDFなどの電子文書として出力する。
【0205】
上記した実施形態によれば、電子文書生成装置10は、文書画像のレイアウトについてレイアウト学習モデル14を用いて認識し、その上で文字列学習モデル13を用いて文書画像の文字認識を行う。すなわち、電子文書生成装置10は、文書画像に含まれる複数の要素の種類を特定し、要素の種類に適した文字認識を行うので、文字認識の認識精度を向上させることができる。
【0206】
さらに、上記した実施形態によれば、電子文書生成装置10は、従来からのOCRテキスト認識技術で行っていた一文字単位の文字認識と比較して、文字列学習モデル13を用いて文書画像の文字認識を文字列ごとに行うので、文字認識の際の認識効率を向上させることができる。
【0207】
さらに、上記した実施形態によれば、電子文書生成装置10は、文字認識を行う際に、一文字単位の文字認識ではなく、文字列ごとに文字認識を行うので、文字に重なって存在するノイズなどの影響を抑制して文字認識を行うことができ、一文字単位で行う文字認識と比較して文字認識の認識精度を向上させることができる。
【0208】
さらに、上記した実施形態によれば、従来のOCRテキスト認識技術を用いた文字認識では誤認識するような文字でも、文字列学習モデル13を用いた文字認識では正しく認識することができる。例えば、文字の上に印章が重ねられた場合、その文字について従来のOCRテキスト認識技術では誤認識する可能性があったが、文字列学習モデル13を用いた文字認識では正しく認識することができる。
【0209】
さらに、上記した実施形態によれば、電子文書生成装置10は、種類が表に該当する要素については、セル単体に係る画像に含まれる文字列ごとに文字認識を行うので、表に含まれる文字列の文字認識の認識精度を向上させることができる。
【0210】
さらに、上記した実施形態によれば、アノテーションが付与された文字列学習データ及びレイアウト学習データにより、文字列学習モデル13及びレイアウト学習モデル14を学習するので、レイアウト認識部33及び文字列認識部35の認識精度を向上させることができる。
【0211】
さらに、上記した実施形態によれば、文書画像の中に表が有る場合は表を構成する全ての縦線及び横線について先ず認識し、当該表に含まれる全てのセルについて認識する。その後で、全てのセルについて、表の内部における位置情報に影響を受けることが無くセルごとの画像に文字列認識を行うので、セルの内部の文字列の文字認識の認識精度を向上させることができる。
【0212】
本開示は上記した実施形態に係る電子文書生成装置10に限定されるものではなく、特許請求の範囲に記載した本開示の要旨を逸脱しない限りにおいて、その他種々の変形例、若しくは応用例により実施可能である。
【符号の説明】
【0213】
10 電子文書生成装置
11 情報通信ネットワーク
12 ユーザ端末
13 文字列学習モデル
14 レイアウト学習モデル
15 文書画像データベース
20 入出力インターフェース
21 通信インターフェース
22 ROM
23 RAM
24 記憶部
25 CPU
26 入力装置
27 出力装置
28 GPU
31 文書画像取得部
32 前処理部
32a 背景除去部
32b 傾き補正部
32c 形状調整部
33 レイアウト認識部
34 切出部
35 文字列認識部
36 出力部
40 レイアウト学習用データ生成部
41 レイアウト学習用データ修正部
42 レイアウト学習部
43 文字列学習用データ生成部
44 文字列学習用データ修正部
45 文字列学習部
47 傾き補正前の文書画像
48 文字列
49 表
50 ホッチキス跡
51 手書き
52 印章
53 画像
54 ノイズ除去
55 前処理
56 レイアウト認識処理
57 文字列認識処理
58a、59a、60a 文書画像
58b、59b、60b 文書画像
61、62 文書画像
63、64 表
65 縦線
66 横線
67 セル画像
69、70、73 文字列の画像
71a 文字列の画像
71b テキストデータ
72 認識範囲
73 表
75 認識範囲
76 文字列の注釈記号
77 表の注釈記号
78 画像の注釈記号
79 印章の注釈記号
80 外枠の注釈記号
81 ノイズの注釈記号
82 手書きの注釈記号
83 縦線の注釈記号
84 横線の注釈記号
85 テキストデータの注釈
100 電子文書生成システム
S31 文書画像取得ステップ
S32 前処理ステップ
S33 レイアウト認識ステップ
S34 切出ステップ
S35 文字認識ステップ
S36 出力ステップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28