(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-12
(45)【発行日】2022-08-22
(54)【発明の名称】帳票情報処理装置、帳票情報構造化処理方法及び帳票情報構造化処理プログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20220815BHJP
【FI】
G06V30/412
(21)【出願番号】P 2018134466
(22)【出願日】2018-07-17
【審査請求日】2021-06-03
(73)【特許権者】
【識別番号】517329487
【氏名又は名称】株式会社豆蔵
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(72)【発明者】
【氏名】田中 裕
(72)【発明者】
【氏名】花田 高彬
(72)【発明者】
【氏名】鈴木 洋祐
(72)【発明者】
【氏名】五十嵐 智幸
(72)【発明者】
【氏名】阿嘉 駿介
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2007-052615(JP,A)
【文献】特開2010-140402(JP,A)
【文献】特開2018-005462(JP,A)
【文献】特開2013-229011(JP,A)
【文献】特開2012-194932(JP,A)
【文献】特開2009-093305(JP,A)
【文献】西田 京介 外3名,階層的オートタギング技術とその応用,情報処理学会論文誌 論文誌トランザクション,日本,一般社団法人情報処理学会,2013年04月15日,第6巻,第1号,pp.29~40
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00 - 3/60
G06T 5/00 - 5/50
G06T 7/00 - 7/90
G06V 30/00 - 30/424
CSDB(日本国特許庁)
(57)【特許請求の範囲】
【請求項1】
帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出部と、
抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理部と、
前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理部と
、を有するものであって、
前記タグ付け処理部は、学習済みモデルを用いて前記文字列に各々タグを付加することを特徴とする帳票情報処理装置。
【請求項2】
前記学習済みモデルは、
前記文字列が表す意味と当該文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルである、請求項1に記載の帳票情報処理装置。
【請求項3】
前記文字列抽出部により抽出した前記文字列を一次元配列した一次元配列テキスト情報を生成する一次元配列処理部を更に有し、
前記学習済みモデルは、
前記一次元配列内における位置と当該位置にある前記文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルである、請求項1又2に記載の帳票情報処理装置。
【請求項4】
前記一次元配列処理部により生成された前記一次元配列テキスト情報に含まれる前記一次元配列内の各配列要素のデータ型を判別し、前記一次元配列内において互いに所定の位置関係にあるべき配列要素間のデータ型の不一致を検出し、当該不一致を解消するべく前記一次元配列テキスト情報を補正する一次元配列補正処理部を更に有する、請求項3に記載の帳票情報処理装置。
【請求項5】
前記所定の位置関係は、前記帳票に記載された表に含まれる項目と当該項目の項目値との位置関係である、請求項4に記載の帳票情報処理装置。
【請求項6】
帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、
抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、
前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、
を有し、
前記タグ付け処理ステップは、学習済みモデルを用いて前記文字列に各々タグを付加することを特徴とする帳票情報構造化処理方法。
【請求項7】
帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、
抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、
前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、をコンピュータに実行させるものであって、
前記タグ付け処理ステップは、学習済みモデルを用いて前記文字列に各々タグを付加することを特徴とする帳票情報構造化処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票情報処理装置、帳票情報構造化処理方法及び帳票情報構造化処理プログラムに関するものである。
【背景技術】
【0002】
請求書や注文書、領収書など帳票は、殆どが紙媒体であり、しかも発行元ごとに書式や表記の形式が異なるため、基幹システム等への帳票内容の入力処理は主に手入力により行われている。このため、処理効率が悪いことに加え、処理すべき帳票量が増えるにつれて、入力ミス防止のための負荷が増大するという問題があった。
【0003】
そこで、帳票をOCR(Optical Character Recognition)によりテキストデータ化し、そのテキストデータに基づいて、帳票から表構造を認識する技術が提案された(特許文献1参照)。
【0004】
特許文献1に記載の技術では、まず、帳票から抽出された文字列が項目値を含む項目値行であるか否かを判定する。その後、“項目値行”に含まれる“項目”(例えば、Priceなど)を特定し、さらに、特定した“項目”に対応する“項目値”(例えば、$160.00)を特定する。特許文献1に記載の技術によれば、帳票内の表見出しと項目値とを正確に対応付けして、帳票処理を行うことができる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載の技術では、帳票内にそもそも表構造がなければ、項目と項目値とを対応付けることができない。また、表構造が含まれている帳票であれば、どのような種類の帳票であっても項目と項目値とを対応付ける処理を行い、結果を出力する。そのため、見積書と請求書など種類が異なる帳票であっても、仮にそれらに含まれる表構造内の項目名と項目値とが同じであれば、同じ結果(例えば、Priceと$160.00との対応関係)が出力されることになり、帳票の分類分けを行うことはできない。すなわち、特許文献1に記載の技術は、1つの帳票について、項目と項目値とを対応付けるものであり、複数種類の帳票が混在する条件下での帳票処理には適さない。
【0007】
そこで、本発明は、帳票を種別毎に処理し得る帳票情報処理装置、帳票情報構造化方法及び帳票情報構造化プログラムを提供する。
【課題を解決するための手段】
【0008】
本発明の一実施形態に係る帳票情報処理装置は、帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出部と、抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理部と、前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理部と、を有する。
【0009】
本発明の一実施形態に係る帳票情報構造化方法は、帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、を有する。
【0010】
本発明の一実施形態に係る帳票情報構造化プログラムは、帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、をコンピュータに実行させる。
【発明の効果】
【0011】
本発明によれば、帳票に記載された情報を文字認識することにより得られたテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報が生成されるので、帳票を種別毎に処理し得る。
【図面の簡単な説明】
【0012】
【
図1】一実施形態に係る帳票情報処理装置を備える帳票情報処理システムの機能ブロック図である。
【
図2】
図1に示す帳票情報処理システムにおける学習データ登録処理のフロー図である。
【
図3】
図1に示す帳票情報処理システムにおける帳票読み取り処理のフロー図である。
【
図4】
図1に示す帳票情報処理システムにおける基幹システムへの自動入力処理のフロー図である。
【
図6】
図5に示す帳票を文字認識することにより得られたテキスト情報の説明図である。
【
図7】
図6に示すテキスト情報にクレンジング処理及び一次元配列処理を施すことにより得られた一次元配列テキスト情報の説明図である。
【
図8】
図7に示す一次元配列テキスト情報に一次元配列補正処理を施すことにより得られた補正済みの一次元配列テキスト情報の説明図である。
【
図9】
図7に示す補正済みの一次元配列テキスト情報に自動タグ付け処理を施すことにより得られたタグ付きテキスト情報の説明図である。
【
図10】
図9に示すタグ付きテキスト情報にタグ付補正処理を施した後のタグ付きテキスト情報の説明図である。
【
図11】
図10に示すタグ付きテキスト情報に構造化処理を施すことにより得られた構造化テキスト情報の説明図である。
【
図12】
図10に示すタグ付きテキスト情報に構造化処理を施すことにより得られた構造化テキスト表項目情報の説明図である。
【発明を実施するための形態】
【0013】
以下、一実施形態に係る帳票情報処理装置を図面に基づいて説明する。
【0014】
[帳票情報処理システム]
図1に示す帳票情報処理システム1は、ドキュメントスキャナ(以下、「スキャナ」と記す)10と、一実施形態に係る帳票情報処理装置としてのサーバコンピュータ(以下、「サーバ」と記す)20と、第1端末コンピュータ(以下、「第1端末」と記す)40と、第2端末コンピュータ(以下、「第2端末」と記す)50と、基幹システムのクライアントコンピュータ(以下、「クライアント」と記す)60と、を有して構成される。
【0015】
スキャナ10とサーバ20とは、USB(Universal Serial Bus)71により相互に接続されている。サーバ20、第1端末40及び第2端末50は、イントラネット72により相互に接続されている。サーバ20とクライアント60とは、インターネット73により相互に接続されている。
【0016】
[スキャナ]
スキャナ10は、紙媒体の帳票(学習用帳票M1、入力対象帳票M2)の紙面に記載されている情報を光学文字認識(OCR:Optical Character Recognition)してテキスト情報を生成する。スキャナ10は、学習データ登録担当者及び帳票入力担当者により共用される。
【0017】
[サーバ]
サーバ20は、クレンジング処理部21と、文字列抽出部22と、一次元配列処理部23と、一次元配列補正処理部24と、タグ付け処理部25と、構造化処理部26と、振り分け処理部27と、学習データ登録処理部28と、機械学習部29と、タグ補正処理部30と、を有する。これら処理部21乃至30の機能は、サーバ20のCPU(Central Processing Unit)が一実施形態に係る帳票処理プログラムを実行することにより実現される。
【0018】
クレンジング処理部21は、スキャナ10により得られたテキスト情報T1に含まれるノイズ(抜け、誤り、等)を修正・除去するクレンジング処理を行うための機能ブロックである。
【0019】
文字列抽出部22は、クレンジング処理済みのテキスト情報T1から各種の文字列を抽出する機能ブロックである。文字列抽出部22は、クレンジング処理済みのテキスト情報T1からパターン認識などにより特定の文字・記号(「円」、「〒」、「¥」、等)及び文字列(「ご入金額」、「日付」、「伝票No」、等)を抽出する。
【0020】
一次元配列処理部23は、文字列抽出部22により抽出した文字列を一次元配列してなる一次元配列テキスト情報T2を生成する機能ブロックである。一次元配列には、抽出した文字列群を文字列単位で改行して一列に並べる縦配列と、抽出した文字列群を文字列間に区切り記号を挿入して一行に並べる横配列と、がある。この実施形態では前者すなわち縦配列を用いる。
【0021】
一次元配列補正処理部24は、光学文字認識の誤認識やクレンジング処理部21の不完全な処理により生じた、項目(「数量」、「単価」、等)と当該項目の項目値(「1台」、「\18,800」、等)との相対的位置関係の誤りを自動補正して、補正済み一次元配列テキスト情報T3を生成する機能ブロックである。より詳細には、一次元配列補正処理部24では、一次元配列処理部23により生成された一次元配列テキスト情報T2に含まれる一次元配列内の各配列要素のデータ型を判別し、その一次元配列内において互いに所定の位置関係にあるべき配列要素間のデータ型の不一致を検出し、その不一致を解消するべく一次元配列テキスト情報T2を補正する処理が行われる。
【0022】
タグ付け処理部25は、一次元配列補正処理部24により補正された各種の文字列に各々タグを付加することにより構成されるタグ付きテキスト情報T4を生成する処理(タグ付け処理)を行う機能ブロックである。タグ付け処理部25は、学習済みモデルLMを用いてタグ付け処理を行う。
【0023】
構造化処理部26は、タグ付きテキスト情報T4に基づいて、構造化テキスト情報T5及び構造化テキスト表項目情報T6を生成する機能ブロックである。構造化テキスト情報T5は、各帳票の記載内容をその帳票の種別(見積書、請求書、等)毎の書式に従って構造化したテキスト情報である。構造化テキスト表項目情報T6は、構造化テキスト情報T5を生成する過程で抽出された、帳票内の表に記載の内容をその帳票の種別毎の書式に従って構造化したテキスト情報である。構造化テキスト情報T5及び構造化テキスト表項目情報T6には、帳票の種別を特定するための属性情報及び当該帳票の発行元又は発行先である取引先を特定するための属性情報がそれぞれ付加される。
【0024】
振り分け処理部27は、構造化テキスト情報T5と構造化テキスト表項目情報T6とを帳票の種別及び取引先毎に所定のフォルダ27a、27b、・・・に振り分けて出力(保存)する機能ブロックである。構造化テキスト情報T5及び構造化テキスト表項目情報T6は、所定の表計算ソフトファイル形式(CSV形式、XLSX形式、等)にてフォルダ27a、27b、・・・に保存される。
【0025】
学習データ登録処理部28は、機械学習部29において使用される学習データLDを登録する処理を行う機能ブロックである。学習データ登録処理部28は、登録の際に学習データLDを版管理する。
【0026】
機械学習部29は、タグ付け処理部25が生成したタグ付きテキスト情報T4と学習データLDとに基づいて、公知の機械学習アルゴリズムにより学習済みモデルLMを更新する機能ブロックである。学習済みモデルLMは、文字列が表す意味と当該文字列に付すべきタグとの対応関係及び一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルである。機械学習部29では、原則、最新版の学習データLDを用いて機械学習が行なわれる。
【0027】
タグ補正処理部30は、タグ付きテキスト情報T4に含まれるタグ付け不良を補正するための機能ブロックである。タグ補正処理部30は、第1端末40及び第2端末50により遠隔操作される。第1端末40からの操作による補正後のタグ付きテキスト情報T4は、初期(初版)の学習データLDとして学習データ登録処理部28により登録される。第2端末50からの操作による補正後のタグ付きテキスト情報T4は、第二版目以降の学習データLDとして学習データ登録処理部28により登録される。
【0028】
[第1端末]
第1端末40は、学習データ登録担当者により操作されるコンピュータである。第1端末40は、表示機能40aと、クレンジング操作機能40bと、タグ補正操作機能40cと、を有する。これらの機能40a乃至40cは、第1端末40のCPUが一実施形態に係る帳票処理プログラムに付属する第1端末用プログラムを実行することにより実現される。
【0029】
表示機能40aは、テキスト情報T1及びタグ付きテキスト情報T4を、サーバ20を介して自装置のモニタに表示する機能である。
【0030】
クレンジング操作機能40bは、サーバ20のクレンジング処理部21を遠隔操作する機能である。この機能により、学習データ登録担当者は、第1端末40のモニタに表示されたテキスト情報T1を視認しつつ、そのテキスト情報T1に含まれるノイズの箇所を逐一補正する操作を行うことができる。
【0031】
タグ補正操作機能40cは、サーバ20のタグ補正処理部30を遠隔操作する機能である。この機能により、学習データ登録担当者は、第1端末40のモニタに表示されたタグ付きテキスト情報T4を視認しつつ、そのタグ付きテキスト情報T4に含まれるタグ付け不良の箇所を逐一補正する操作を行うことができる。
【0032】
[第2端末]
第2端末50は、帳票入力担当者により操作されるコンピュータである。第2端末50は、表示機能50aと、クレンジング操作機能50bと、タグ補正操作機能50cと、を有する。これらの機能50a乃至50cは、第2端末50のCPUが一実施形態に係る帳票処理プログラムに付属する第2端末用プログラムを実行することにより実現される。
【0033】
表示機能50aは、テキスト情報T1及びタグ付きテキスト情報T4を、サーバ20を介して自装置のモニタに表示する機能である。
【0034】
クレンジング操作機能50bは、サーバ20のクレンジング処理部21を遠隔操作する機能である。この機能により、帳票入力担当者は、第2端末50のモニタに表示されたテキスト情報T1を視認しつつ、そのテキスト情報T1に含まれるノイズの箇所を逐一補正する操作を行うことができる。
【0035】
タグ補正操作機能50cは、サーバ20のタグ補正処理部30を遠隔操作する機能である。この機能により、帳票入力担当者は、第2端末50のモニタに表示されたタグ付きテキスト情報T4を視認しつつ、そのタグ付きテキスト情報T4に含まれるタグ付け不良の箇所を逐一補正する操作を行うことができる。上述したように、第2端末50からの操作による補正後のタグ付きテキスト情報T4は、学習データLDとして登録される際に版管理される。なお、タグ補正操作機能50cは、サーバ20によるタグ付けの精度が低いと帳票入力担当者が判断した場合に使用される機能である。
【0036】
また、版管理された学習データLDの情報は、第2端末50のモニタ上に表示可能であり、第2端末50のモニタ上に表示された複数版の学習データLDの中から、帳票入力担当者が任意の学習データLDを選択できるようになっている。帳票入力担当者により学習データLDが選択された場合、その選択された学習データLDが機械学習に使用される。
【0037】
[クライアント]
クライアント60は、基幹システムのユーザが使用するコンピュータである。クライアント60は、サーバ20の特定のフォルダ27a、27b、・・・に表計算ソフトファイル形式で保存されている構造化テキスト情報T5と構造化テキスト表項目情報T6とを取得(ダウンロード)し、基幹システムに自動入力する自動入力機能60aと、基幹システムに手動入力する手動入力機能60bと、を有している。両機能60a、60bは、クライアント60のCPUがRPA(Robotic Process Automation)プログラムを実行することにより実現される。なお、手動入力機能60bは、帳票入力担当者が基幹システムへ構造化テキスト情報T5及び構造化テキスト表項目情報T6をコピー&ペーストしたり、公知のインポート機能等を使用して手動入力を行ったりする場合に使用される機能である。
【0038】
[処理フロー]
次に、上記のように構成された帳票情報処理システム1における処理の流れについて説明する。帳票情報処理システム1における処理は、学習データ登録処理(
図2)、帳票読み取り処理(
図3)及び基幹システムへの自動入力処理(
図4)からなる。
【0039】
(学習データ登録処理)
図2に示すように、学習データ登録処理は、学習用帳票読み取り処理S11、クレンジング処理S12、文字列抽出処理S13、一次元配列処理S14、一次元配列補正処理S15、自動タグ付け処理S16、タグ補正処理S17及び補正済みデータ登録処理S18からなる。
【0040】
学習用帳票読み取り処理S11は、学習用帳票M1の紙面に記載されている情報を光学文字認識してテキスト情報T1を生成する処理である。この処理は、学習データ登録担当者がスキャナ10に学習用帳票M1の読み取りを実行させることによりなされる。
【0041】
例えば、
図5に示す帳票を学習用帳票M1として学習用帳票読み取り処理S11を実行した場合、
図6に例示するテキスト情報T1が生成される。この段階でのテキスト情報T1には、「□」、「;」、「|」(罫線誤認識)、「」(スペース抜け)、等のノイズNSが含まれている。
【0042】
クレンジング処理S12は、テキスト情報T1に含まれるノイズNSを修正・除去する処理である。この処理は、学習データ登録担当者が、第1端末40からサーバ20のクレンジング処理部21を遠隔操作することによりなされる。学習データ登録担当者は、第2端末50のモニタ上で、テキスト情報T1に含まれるノイズNSの箇所を逐一補正する。
【0043】
文字列抽出処理S13は、ノイズNSを修正・除去した後のテキスト情報T1から帳票内容として取得すべき各種の文字列を抽出する処理である。この処理は、サーバ20の文字列抽出部22により実行される。
【0044】
一次元配列処理S14は、文字列抽出処理S13により抽出した文字列を一次元配列してなる一次元配列テキスト情報T2を生成する処理である。この処理は、サーバ20の一次元配列処理部23により実行される。
【0045】
一次元配列処理S14を経ることにより、例えば、
図7に示す一次元配列テキスト情報T2が生成される。一次元配列テキスト情報T2には、改行を表すマークMKが内部的に付加される。マークMKは、テキスト情報T1における各行の最終列毎に付加される。
【0046】
この例では、
図5の学習用帳票M1に表TBが記載されているため、
図7に示す一次元配列テキスト情報T2内には、表TBの項目を表す項目文字列(「品番・品名」、「数量」、「単価」、「金額」及び「備考」)R1~R5に続いて、当該表の項目値を表す値文字列V1~V5が繰り返し現れる。値文字列V1~V5は、本来、所定の周期(この例では、5行周期)Fで現れるべきである。しかし、光学文字認識の誤りやクレンジング処理S12での不完全なノイズ除去などに起因して、周期性が乱れる場合がある。
図7の例では、表TB(
図5)の罫線を「|」と誤認識したことによるノイズNSc(
図6)がクレンジング処理S12で除去されなかったため、周期がF+1に乱れている部分が存在する。また、
図7の例では、「2台」と「22,500」との間に入るべきスペースが入っていないノイズであるスペース抜けNSd(
図6)がクレンジング処理S12で修正されなかったため、「2台」と「22,500」とが改行されず、周期がF-1に乱れている部分が存在する。
【0047】
一次元配列補正処理S15は、一次元配列テキスト情報T2に内部的に付加されたマークMKに基づいてテキスト情報T1の各行の最終列を認識した上で、表TBの内容を判定し、表TBの内容を示す一次元配列内の各配列要素(各行の文字列)毎にデータ型DT及び出力項目OIの情報を付加した補正済み一次元配列テキスト情報T3を生成する処理が行われる。この処理は、サーバ20の一次元配列補正処理部24により実行される。
【0048】
図8に例示するように、データ型DTの種類には、数値型、数量型、電話番号型、金額型及び文字列型がある。ある一行の文字列が数字(「0」~「9」)のみを含む場合、その文字列は数値型と判定される。また、ある一行の文字列の先頭部分が1又は複数の数字からなり、その1又は複数の数字の後に所定の漢字(「台」、「枚」、等)が存在する場合、その文字列は数量型と判定される。また、ある一行の文字列が所定の桁数の数字とそれらの数字間に挿入されたハイフン(「-」)のみからなる場合、その文字列は電話番号型と判定される。また、ある一行の文字列が金額を表す所定の文字又は記号(「\」、「円」、等)と数字のみからなる場合、その文字列は金額型と判定される。そして、数値型、数量型、電話番号型及び金額型の何れにも該当しない場合、その文字列は文字列型と判定される。なお、改行を表すマークMKは改行サインと判定される。改行サインは、型を持たない単なる記号である。
【0049】
出力項目OIは、予め決められた所定の形式に従い、「出力項目名♯データ型」の形で各行の文字列に付加される。その際、所定のデータ型が所定の周期(この例では5)Fであることを考慮して、各行の文字列に付加する出力項目OIが修正・削除される。
【0050】
図8の例では、改行サインと次の改行サインとの間におけるデータ型の本来の並び順は、文字列型、数量型、金額型、金額型、文字列型の順であるところ、ノイズNSc(「|」)は文字列型であるため、改行サインと次の改行サインとの間におけるデータ型の並び順が、文字列型、数量型、文字列型、金額型、金額型、文字列型となっている部分が存在する。このため、データ型の並び順の規則性に基づき、ノイズNSc(「|」)の出力項目は削除されている。
【0051】
また、
図8の例では、スペース抜けNSdが生じている部分(「2台22,500」)は文字列型であるため、改行サインと次の改行サインとの間の行数が一行分不足し、且つ、データ型の並び順が文字列型、文字列型、金額型、文字列型となっている部分が存在する。このため、データ型の並び順の規則性に基づき、スペース抜けNSdが生じている部分(「2台22,500」)の出力項目は削除されている。
【0052】
自動タグ付け処理S16は、一次元配列補正処理S15を経て生成された補正済み一次元配列テキスト情報T3に基づいて、一次元配列テキスト情報T2に含まれる各種の文字列に各々タグを付加してなるタグ付きテキスト情報T4を自動生成する処理である。この処理は、サーバ20のタグ付け処理部25により実行される。
【0053】
図9に例示するタグ付きテキスト情報T4の第1行目には、「対象文字列」、「タグ種別」、等、項目名を示す文字列を含むタグ付き文字列「“対象文字列”,“データ型”,“出力項目”,“タグ種別”,“自動タグ付け推奨ランク”」が記載され、第2行目以降には、「“御見積書”,“文字列型”,“帳票種別#文字列型”,“LABEL_VALUE”,“1”」や「“03-5326-0000”,“電話番号型”,“連絡先TEL#電話番号型”,“VALUE”,“1”」など、各項目名に対応する内容を示す文字列を含むタグ付き文字列が記載されている。
【0054】
タグ補正処理S17は、タグ付きテキスト情報T4に含まれるタグ付け不良を補正するための処理である。この処理は、学習データ登録担当者が第1端末40からサーバ20のタグ補正処理部30を遠隔操作することによりなされる。
【0055】
例えば、
図9のタグ付きテキスト情報T4には、“出力項目”や“タグ種別”等が空欄(“”)になっている箇所Pが複数存在する。学習データ登録担当者は、第2端末50のモニタ上で、タグ付きテキスト情報T4に含まれるタグ付け不良の箇所Pを逐一補正する。また、学習データ登録担当者は、補正の際に、タグ付きテキスト情報T4に含まれている“自動タグ付け推奨ランク”のランキング情報を元に、自動タグ付け処理S16にて自動生成されたが不要なタグを判別する際の指針とすることができる。
【0056】
タグ補正処理S17を実施することにより、
図10に例示するタグ付け不良補正済みのタグ付きテキスト情報T4が得られる。
【0057】
補正済みデータ登録処理S18は、タグ付け不良補正済みのタグ付きテキスト情報T4を学習データLDとして登録する処理である。この処理は、サーバ20の学習データ登録処理部28により実行される。
【0058】
(帳票読み取り処理)
図3に示すように、帳票読み取り処理は、入力対象帳票読み取り処理(S21)、クレンジング処理(S22)、文字列抽出処理(S23)、一次元配列処理(S24)、一次元配列補正処理(S25)、自動タグ付け処理(S26)、構造化処理(S27)、振り分け処理(S28)、タグ補正処理(S29)、補正済みデータ登録処理(S30)からなる。
【0059】
入力対象帳票読み取り処理(S21)は、入力対象帳票(以下、単に「帳票」と記す)M2の紙面に記載されている情報を文字認識してテキスト情報T1を生成する処理である。この処理は、帳票入力担当者がスキャナ10に帳票M2の読み取りを実行させることによりなされる。
【0060】
例えば、
図5の帳票を帳票M2として読み取った場合、
図6に例示するテキスト情報T1が生成される。この段階でのテキスト情報T1には、「□」、「;」、「|」、「 」(スペース抜け)、等、ノイズNSa~NSdが含まれている。
【0061】
クレンジング処理(S22)は、テキスト情報T1に含まれるノイズNSa~NSdを修正・除去する処理である。この処理は、帳票入力担当者が、第2端末50からサーバ20のクレンジング処理部21を遠隔操作することによりなされる。帳票入力担当者は、第2端末50のモニタ上で、テキスト情報T1に含まれるノイズNSa~NSdの箇所を逐一補正する。
【0062】
文字列抽出処理(S23)、一次元配列処理(S24)、一次元配列補正処理(S25)及び自動タグ付け処理(S26)は、
図2に示した学習データ登録処理における文字列抽出処理(S13)、一次元配列処理(S14)、一次元配列補正処理(S15)及び自動タグ付け処理(S16)と同様になされる。
【0063】
構造化処理S27は、タグ付きテキスト情報T4に基づいて、帳票M2の種別(見積書、請求書、等)毎の書式に従って構造化テキスト情報T5と構造化テキスト表項目情報T6とを生成する機能ブロックである。この処理は、サーバ20の構造化処理部26により実行される。
【0064】
構造化処理S27により、
図11に例示する構造化テキスト情報T5及び
図12に例示する構造化テキスト表項目情報T6が生成される。
図11及び
図12に例示する構造化テキスト情報T5及び構造化テキスト表項目情報T6の第1行目には、タグ種別が“LABEL”の文字列が記載され、第2行目以降には、タグ種別が“VALUE”の文字列が各項目名に対応させて記載されている。具体的には、構造化テキスト情報T5の場合は、「“お客様コード”,“帳票種別”,“請求番号”,“所在地郵便番号”,“取引先名”,“連絡先TEL”,“連絡先FAX”,“見積金額”」が記載されている。また、構造化テキスト表項目情報T6の場合は、「“品番・品名”,“数量”,“単価”,“金額”,“備考”」が記載されている。また、構造化テキスト情報T5及び構造化テキスト表項目情報T6の第1列目には、各帳票M2の帳票情報処理フローの各段階の処理結果を、帳票M2毎に識別可能とするためのIDである“読み取り処理ID”が記載されている。なお、構造化テキスト情報T5及び構造化テキスト表項目情報T6は、帳票M2の帳票種別及び取引先名が同じであれば、常に同じ構造を持った情報として生成される。
【0065】
振り分け処理S28は、構造化テキスト情報T5及び構造化テキスト表項目情報T6を帳票M2の種別及び取引先毎に所定のフォルダ27a、27b、・・・に振り分けて出力する処理である。その際、振り分け先となるフォルダ27a、27b、・・・は、構造化テキスト情報T5及び構造化テキスト表項目情報T6に付された属性情報に基づいて決定される。この処理は、サーバ20の振り分け処理部27により実行される。
【0066】
タグ補正処理S29は、タグ付きテキスト情報T4に含まれるタグ付け不良を補正するための処理である。この処理は、帳票入力担当者が、サーバ20によるタグ付けの精度が低いと判断した場合に、第2端末50からサーバ20のタグ補正処理部30を遠隔操作することにより実行される。
【0067】
補正済みデータ登録処理S30は、タグ補正処理S29が実行された場合に、タグ付け不良を補正した後のタグ付きテキスト情報T4を学習データLDとして登録し、版管理する処理である。この処理は、サーバ20の学習データ登録処理部28により実行される。
【0068】
(基幹システムへの自動入力処理)
図4に示すように、基幹システムへの自動入力処理はダウンロード処理S31及び入力処理S32からなる。
【0069】
ダウンロード処理S31は、クライアント60が、サーバ20の特定のフォルダ27a、27b、・・・に表計算ソフトファイル形式にて保存されている構造化テキスト情報T5及び構造化テキスト表項目情報T6をダウンロードする処理である。入力処理S32は、ダウンロードした構造化テキスト情報T5及び構造化テキスト表項目情報T6をクライアント60が基幹システムに自動入力もしくは手動入力する処理である。
【0070】
以上説明したように、この実施形態によれば、帳票M2に記載された情報を光学文字認識することにより得られたテキスト情報T1から各種の文字列が文字列抽出部22により抽出され、抽出された文字列に各々タグを付加したタグ付きテキスト情報T4がタグ付け処理部25に生成され、そのタグ付きテキスト情報T4に基づいて、構造化テキスト情報T5及び構造化テキスト表項目情報T6すなわち、帳票M2の種別毎の書式に従って構造化したテキスト情報が構造化処理部26により生成されるので、複数種類の帳票M2が混在する条件下においても、正確に且つ高効率に帳票処理を行うことができる。そして、この実施形態によれば、取引先毎の形式によらない構造化テキスト情報T5及び構造化テキスト表項目情報T6が、振り分け処理部27により帳票M2の種別及び取引先毎に所定のフォルダ27a、27b、・・・に振り分けて出力されるので、RPA等の外部自動化処理を活用することによる帳票処理の汎用性を高めることができる。
【0071】
また、この実施形態によれば、機械学習部29が、タグ付け処理部25が生成したタグ付きテキスト情報T4と学習データLDとに基づいて、公知の機械学習アルゴリズムにより学習済みモデルLMを更新し、タグ付け処理部25が、機械学習部29により更新された学習済みモデルLMを用いて文字列に各々タグを付加する構成としたので、各種帳票M2の処理が繰り返され、機械学習部29による学習が進むにつれて、帳票処理の精度が向上していく。
【0072】
また、この実施形態によれば、一次元配列処理部23が、文字列抽出部22により抽出した文字列を一次元配列した一次元配列テキスト情報T2を生成し、タグ付け処理部25が、一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルLMを用いて文字列に各々タグを付加する構成としたので、タグ付け処理を比較的小さい演算負荷で高精度に実施できる。また、この実施形態では、学習済みモデルLMが、文字列が表す意味と当該文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルでもあるので、タグ付け処理を更に高精度に実施できる。
【0073】
また、この実施形態によれば、表TBの項目値を表す値文字列V1~V5が所定の周期Fで現れる、という規則性を考慮して、各値文字列V1~V5へのタグ付けを実行するようにしたので、文字認識精度の影響を受けにくく、且つ表TBの項目値のタグ付け処理を比較的小さい演算負荷で高精度に実施できる。
【0074】
また、この実施形態によれば、一次元配列処理部23により生成された一次元配列テキスト情報T2に含まれる一次元配列内の各配列要素のデータ型を判別し、その一次元配列内において互いに所定の位置関係にあるべき配列要素間のデータ型の不一致を検出し、その不一致を解消するべく一次元配列テキスト情報T2を自動補正する一次元配列補正処理部24を備えているので、光学文字認識の誤認識やクレンジング処理部21の不完全な処理等に起因して、一次元配列処理部23により生成された一次元配列テキスト情報T2に項目と当該項目の項目値との相対的位置関係の誤りが生じている場合でも、その誤りを自動補正した補正済み一次元配列テキスト情報T3に基づいてタグ付け処理部25により自動タグ付け処理を実行することにより、タグ付きテキスト情報T4を高精度に生成することができる。
【0075】
また、この実施形態によれば、タグ付け処理部25により自動生成されたタグ付きテキスト情報T4に含まれるタグ付け不良をタグ補正処理部30で補正し、補正後のタグ付きテキスト情報T4に基づいて構造化テキスト情報T5及び構造化テキスト表項目情報T6を生成する構成としたので、帳票M2の種別毎の構造化テキスト情報T5及び構造化テキスト表項目情報T6を高精度に生成できる。
【0076】
また、この実施形態によれば、学習データLDは学習データ登録処理部28にて版管理されており、機械学習部29での機械学習に使用する学習データLDを帳票入力担当者が選択可能であるので、帳票入力担当者が最適であると判断した版の学習データLDを使用して機械学習がなされることにより、タグ付け処理S26の精度を高め、構造化テキスト情報T5及び構造化テキスト表項目情報T6を高精度に生成することができる。
【0077】
なお、本発明は、上記実施形態に限定されるものではなく、適宜、変形、改良、等が可能である。例えば、上記実施形態では、帳票読み取り処理(
図3)において、構造化処理S27の前段階で必要に応じてタグ補正処理S29を実施可能としているが、構造化処理S27の後においても、必要に応じてタグ補正処理S29を実施可能としてもよい。さらに、帳票入力担当者が、文字列抽出結果や一次元配列テキスト情報T2を適宜補正できるようにしてもよい。
【0078】
また、上記実施形態では、学習済みモデルLMとして、文字列が表す意味と当該文字列に付すべきタグとの対応関係及び一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルを使用しているが、文字列が表す意味と当該文字列に付すべきタグとの対応関係又は一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係のいずれか一方を機械学習して得られた学習済みモデルを使用することも可能である。
【0079】
また、上記実施形態では、一次元配列内に所定の文字列(表TBの項目値を表す値文字列V1~V5)が所定の周期Fで現れる、という規則性を考慮して、所定の各文字列へのタグ付けを実行するようにしたが、一次元配列内における所定の文字列からの距離すなわち当該文字列から何番目の位置にあるかを判定(一次元配列内における文字列間の位置関係を判定)し、その判定結果に基づいて、タグ付け処理を行う方式を採用してもよい。この方式によれば、文字認識精度の影響を受けにくく、且つ任意の文字列のタグ付け処理を比較的小さい演算負荷で高精度に実施できる。
【0080】
また、上記実施形態では、構造化テキスト情報T5及び構造化テキスト表項目情報T6が所定の表計算ソフトファイル形式にてフォルダ27a、27b、・・・に保存されるようにしたが、テキスト情報T1、一次元配列テキスト情報T2、補正済み一次元配列テキスト情報T3及びタグ付きテキスト情報T4についても、構造化テキスト情報T5及び構造化テキスト表項目情報T6と同様、所定の表計算ソフトファイル形式にてフォルダ27a、27、・・・に保存されることが望ましい。上記実施形態に係る帳票情報処理の各段階の処理結果であるテキスト情報T1、一次元配列テキスト情報T2、補正済み一次元配列テキスト情報T3、タグ付きテキスト情報T4、構造化テキスト情報T5及び構造化テキスト表項目情報T6が所定の表計算ソフトファイル形式にてフォルダ27a、27b、・・・に保存されることにより、表計算ソフトを使用して帳票情報処理の各段階での処理内容をトレースすることが可能となる。これにより、帳票情報処理の精度低下の原因がどの段階の処理にあるかを特定することが可能になるので、各段階毎に処理内容を改善することで、帳票情報処理の精度を全体的に向上させることができる。
【0081】
また、上記実施形態では、帳票が紙媒体である場合を例にとり説明したが、本発明において、「帳票」は電子データ化された帳票(所謂「電子帳票」)を含む概念である。したがって、本発明において、「文字認識」には、光学的文字認識の他、非光学的文字認識が含まれる。
【0082】
また、上記実施形態では、データ型DTの種類として、数値型、数量型、電話番号型、金額型及び文字列型を例示したが、データ型DTの種類はこれらに限定されない。
【0083】
また、上記実施形態では、文字抜けやスペース抜けNSdをノイズの一種としているが、文字抜けやスペース抜けNSdについては、ノイズN(ノイズNSa~NSc)とは別種の修正対象としてもよい。
【符号の説明】
【0084】
20 サーバコンピュータ(帳票情報処理装置)
21 クレンジング処理部
22 文字列抽出部
23 一次元配列処理部
24 一次元配列補正処理部
25 タグ付け処理部
26 構造化処理部
27 振り分け処理部
28 学習データ登録処理部
29 機械学習部
30 タグ補正処理部
LM 学習済みモデル
LD 学習データ
M1 学習用帳票
T1 テキスト情報
T2 一次元配列テキスト情報
T4 タグ付きテキスト情報
T5 構造化テキスト情報
T6 構造化テキスト表項目情報