(57)【要約】【課題】  帳票を種別毎に処理し得る帳票処理装置を提供する。【解決手段】  帳票処理装置は、帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出部と、抽出された前記文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理部と、前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理部と、を有する。【選択図】  図１
2020013281.tif 000002
【特許請求の範囲】
【請求項１】
帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出部と、
抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理部と、
前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理部と、を有する帳票情報処理装置。
【請求項２】
前記タグ付け処理部は、学習済みモデルを用いて前記文字列に各々タグを付加する、請求項１に記載の帳票情報処理装置。
【請求項３】
前記学習済みモデルは、
前記文字列が表す意味と当該文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルである、請求項２に記載の帳票情報処理装置。
【請求項４】
前記文字列抽出部により抽出した前記文字列を一次元配列した一次元配列テキスト情報を生成する一次元配列処理部を更に有し、
前記学習済みモデルは、
前記一次元配列内における位置と当該位置にある前記文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルである、請求項２又は３に記載の帳票情報処理装置。
【請求項５】
前記一次元配列処理部により生成された前記一次元配列テキスト情報に含まれる前記一次元配列内の各配列要素のデータ型を判別し、前記一次元配列内において互いに所定の位置関係にあるべき配列要素間のデータ型の不一致を検出し、当該不一致を解消するべく前記一次元配列テキスト情報を補正する一次元配列補正処理部を更に有する、請求項４に記載の帳票情報処理装置。
【請求項６】
前記所定の位置関係は、前記帳票に記載された表に含まれる項目と当該項目の項目値との位置関係である、請求項５に記載の帳票情報処理装置。
【請求項７】
帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、
抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、
前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、を有する帳票情報構造化処理方法。
【請求項８】
帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、
抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、
前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、をコンピュータに実行させる、帳票情報構造化処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票情報処理装置、帳票情報構造化処理方法及び帳票情報構造化処理プログラムに関するものである。
【背景技術】
【０００２】
請求書や注文書、領収書など帳票は、殆どが紙媒体であり、しかも発行元ごとに書式や表記の形式が異なるため、基幹システム等への帳票内容の入力処理は主に手入力により行われている。このため、処理効率が悪いことに加え、処理すべき帳票量が増えるにつれて、入力ミス防止のための負荷が増大するという問題があった。
【０００３】
そこで、帳票をＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）によりテキストデータ化し、そのテキストデータに基づいて、帳票から表構造を認識する技術が提案された（特許文献１参照）。
【０００４】
特許文献１に記載の技術では、まず、帳票から抽出された文字列が項目値を含む項目値行であるか否かを判定する。その後、“項目値行”に含まれる“項目”（例えば、Ｐｒｉｃｅなど）を特定し、さらに、特定した“項目”に対応する“項目値”（例えば、＄１６０．００）を特定する。特許文献１に記載の技術によれば、帳票内の表見出しと項目値とを正確に対応付けして、帳票処理を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８―５４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の技術では、帳票内にそもそも表構造がなければ、項目と項目値とを対応付けることができない。また、表構造が含まれている帳票であれば、どのような種類の帳票であっても項目と項目値とを対応付ける処理を行い、結果を出力する。そのため、見積書と請求書など種類が異なる帳票であっても、仮にそれらに含まれる表構造内の項目名と項目値とが同じであれば、同じ結果（例えば、Ｐｒｉｃｅと＄１６０．００との対応関係）が出力されることになり、帳票の分類分けを行うことはできない。すなわち、特許文献１に記載の技術は、1つの帳票について、項目と項目値とを対応付けるものであり、複数種類の帳票が混在する条件下での帳票処理には適さない。
【０００７】
そこで、本発明は、帳票を種別毎に処理し得る帳票情報処理装置、帳票情報構造化方法及び帳票情報構造化プログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明の一実施形態に係る帳票情報処理装置は、帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出部と、抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理部と、前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理部と、を有する。
【０００９】
本発明の一実施形態に係る帳票情報構造化方法は、帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、を有する。
【００１０】
本発明の一実施形態に係る帳票情報構造化プログラムは、帳票に記載された情報を文字認識することにより得られたテキスト情報から各種の文字列を抽出する文字列抽出ステップと、抽出された前記各種の文字列に各々タグを付加したタグ付きテキスト情報を生成するタグ付け処理ステップと、前記タグ付きテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報を生成する構造化処理ステップと、をコンピュータに実行させる。
【発明の効果】
【００１１】
本発明によれば、帳票に記載された情報を文字認識することにより得られたテキスト情報に基づいて、帳票の種別毎の書式に従って構造化したテキスト情報が生成されるので、帳票を種別毎に処理し得る。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る帳票情報処理装置を備える帳票情報処理システムの機能ブロック図である。
【図２】図１に示す帳票情報処理システムにおける学習データ登録処理のフロー図である。
【図３】図１に示す帳票情報処理システムにおける帳票読み取り処理のフロー図である。
【図４】図１に示す帳票情報処理システムにおける基幹システムへの自動入力処理のフロー図である。
【図５】帳票の記載内容を例示する説明図である。
【図６】図５に示す帳票を文字認識することにより得られたテキスト情報の説明図である。
【図７】図６に示すテキスト情報にクレンジング処理及び一次元配列処理を施すことにより得られた一次元配列テキスト情報の説明図である。
【図８】図７に示す一次元配列テキスト情報に一次元配列補正処理を施すことにより得られた補正済みの一次元配列テキスト情報の説明図である。
【図９】図７に示す補正済みの一次元配列テキスト情報に自動タグ付け処理を施すことにより得られたタグ付きテキスト情報の説明図である。
【図１０】図９に示すタグ付きテキスト情報にタグ付補正処理を施した後のタグ付きテキスト情報の説明図である。
【図１１】図１０に示すタグ付きテキスト情報に構造化処理を施すことにより得られた構造化テキスト情報の説明図である。
【図１２】図１０に示すタグ付きテキスト情報に構造化処理を施すことにより得られた構造化テキスト表項目情報の説明図である。
【発明を実施するための形態】
【００１３】
以下、一実施形態に係る帳票情報処理装置を図面に基づいて説明する。
【００１４】
［帳票情報処理システム］
図１に示す帳票情報処理システム１は、ドキュメントスキャナ（以下、「スキャナ」と記す）１０と、一実施形態に係る帳票情報処理装置としてのサーバコンピュータ（以下、「サーバ」と記す）２０と、第１端末コンピュータ（以下、「第１端末」と記す）４０と、第２端末コンピュータ（以下、「第２端末」と記す）５０と、基幹システムのクライアントコンピュータ（以下、「クライアント」と記す）６０と、を有して構成される。
【００１５】
スキャナ１０とサーバ２０とは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）７１により相互に接続されている。サーバ２０、第１端末４０及び第２端末５０は、イントラネット７２により相互に接続されている。サーバ２０とクライアント６０とは、インターネット７３により相互に接続されている。
【００１６】
［スキャナ］
スキャナ１０は、紙媒体の帳票（学習用帳票Ｍ１、入力対象帳票Ｍ２）の紙面に記載されている情報を光学文字認識（ＯＣＲ：Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）してテキスト情報を生成する。スキャナ１０は、学習データ登録担当者及び帳票入力担当者により共用される。
【００１７】
［サーバ］
サーバ２０は、クレンジング処理部２１と、文字列抽出部２２と、一次元配列処理部２３と、一次元配列補正処理部２４と、タグ付け処理部２５と、構造化処理部２６と、振り分け処理部２７と、学習データ登録処理部２８と、機械学習部２９と、タグ補正処理部３０と、を有する。これら処理部２１乃至３０の機能は、サーバ２０のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が一実施形態に係る帳票処理プログラムを実行することにより実現される。
【００１８】
クレンジング処理部２１は、スキャナ１０により得られたテキスト情報Ｔ１に含まれるノイズ（抜け、誤り、等）を修正・除去するクレンジング処理を行うための機能ブロックである。
【００１９】
文字列抽出部２２は、クレンジング処理済みのテキスト情報Ｔ１から各種の文字列を抽出する機能ブロックである。文字列抽出部２２は、クレンジング処理済みのテキスト情報Ｔ１からパターン認識などにより特定の文字・記号（「円」、「〒」、「￥」、等）及び文字列（「ご入金額」、「日付」、「伝票Ｎｏ」、等）を抽出する。
【００２０】
一次元配列処理部２３は、文字列抽出部２２により抽出した文字列を一次元配列してなる一次元配列テキスト情報Ｔ２を生成する機能ブロックである。一次元配列には、抽出した文字列群を文字列単位で改行して一列に並べる縦配列と、抽出した文字列群を文字列間に区切り記号を挿入して一行に並べる横配列と、がある。この実施形態では前者すなわち縦配列を用いる。
【００２１】
一次元配列補正処理部２４は、光学文字認識の誤認識やクレンジング処理部２１の不完全な処理により生じた、項目（「数量」、「単価」、等）と当該項目の項目値（「１台」、「\18,800」、等）との相対的位置関係の誤りを自動補正して、補正済み一次元配列テキスト情報Ｔ３を生成する機能ブロックである。より詳細には、一次元配列補正処理部２４では、一次元配列処理部２３により生成された一次元配列テキスト情報Ｔ２に含まれる一次元配列内の各配列要素のデータ型を判別し、その一次元配列内において互いに所定の位置関係にあるべき配列要素間のデータ型の不一致を検出し、その不一致を解消するべく一次元配列テキスト情報Ｔ２を補正する処理が行われる。
【００２２】
タグ付け処理部２５は、一次元配列補正処理部２４により補正された各種の文字列に各々タグを付加することにより構成されるタグ付きテキスト情報Ｔ４を生成する処理（タグ付け処理）を行う機能ブロックである。タグ付け処理部２５は、学習済みモデルＬＭを用いてタグ付け処理を行う。
【００２３】
構造化処理部２６は、タグ付きテキスト情報Ｔ４に基づいて、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６を生成する機能ブロックである。構造化テキスト情報Ｔ５は、各帳票の記載内容をその帳票の種別（見積書、請求書、等）毎の書式に従って構造化したテキスト情報である。構造化テキスト表項目情報Ｔ６は、構造化テキスト情報Ｔ５を生成する過程で抽出された、帳票内の表に記載の内容をその帳票の種別毎の書式に従って構造化したテキスト情報である。構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６には、帳票の種別を特定するための属性情報及び当該帳票の発行元又は発行先である取引先を特定するための属性情報がそれぞれ付加される。
【００２４】
振り分け処理部２７は、構造化テキスト情報Ｔ５と構造化テキスト表項目情報Ｔ６とを帳票の種別及び取引先毎に所定のフォルダ２７ａ、２７ｂ、・・・に振り分けて出力（保存）する機能ブロックである。構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６は、所定の表計算ソフトファイル形式（ＣＳＶ形式、ＸＬＳＸ形式、等）にてフォルダ２７ａ、２７ｂ、・・・に保存される。
【００２５】
学習データ登録処理部２８は、機械学習部２９において使用される学習データＬＤを登録する処理を行う機能ブロックである。学習データ登録処理部２８は、登録の際に学習データＬＤを版管理する。
【００２６】
機械学習部２９は、タグ付け処理部２５が生成したタグ付きテキスト情報Ｔ４と学習データＬＤとに基づいて、公知の機械学習アルゴリズムにより学習済みモデルＬＭを更新する機能ブロックである。学習済みモデルＬＭは、文字列が表す意味と当該文字列に付すべきタグとの対応関係及び一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルである。機械学習部２９では、原則、最新版の学習データＬＤを用いて機械学習が行なわれる。
【００２７】
タグ補正処理部３０は、タグ付きテキスト情報Ｔ４に含まれるタグ付け不良を補正するための機能ブロックである。タグ補正処理部３０は、第１端末４０及び第２端末５０により遠隔操作される。第１端末４０からの操作による補正後のタグ付きテキスト情報Ｔ４は、初期（初版）の学習データＬＤとして学習データ登録処理部２８により登録される。第２端末５０からの操作による補正後のタグ付きテキスト情報Ｔ４は、第二版目以降の学習データＬＤとして学習データ登録処理部２８により登録される。
【００２８】
［第１端末］
第１端末４０は、学習データ登録担当者により操作されるコンピュータである。第１端末４０は、表示機能４０ａと、クレンジング操作機能４０ｂと、タグ補正操作機能４０ｃと、を有する。これらの機能４０ａ乃至４０ｃは、第１端末４０のＣＰＵが一実施形態に係る帳票処理プログラムに付属する第１端末用プログラムを実行することにより実現される。
【００２９】
表示機能４０ａは、テキスト情報Ｔ１及びタグ付きテキスト情報Ｔ４を、サーバ２０を介して自装置のモニタに表示する機能である。
【００３０】
クレンジング操作機能４０ｂは、サーバ２０のクレンジング処理部２１を遠隔操作する機能である。この機能により、学習データ登録担当者は、第１端末４０のモニタに表示されたテキスト情報Ｔ１を視認しつつ、そのテキスト情報Ｔ１に含まれるノイズの箇所を逐一補正する操作を行うことができる。
【００３１】
タグ補正操作機能４０ｃは、サーバ２０のタグ補正処理部３０を遠隔操作する機能である。この機能により、学習データ登録担当者は、第１端末４０のモニタに表示されたタグ付きテキスト情報Ｔ４を視認しつつ、そのタグ付きテキスト情報Ｔ４に含まれるタグ付け不良の箇所を逐一補正する操作を行うことができる。
【００３２】
［第２端末］
第２端末５０は、帳票入力担当者により操作されるコンピュータである。第２端末５０は、表示機能５０ａと、クレンジング操作機能５０ｂと、タグ補正操作機能５０ｃと、を有する。これらの機能５０ａ乃至５０ｃは、第２端末５０のＣＰＵが一実施形態に係る帳票処理プログラムに付属する第２端末用プログラムを実行することにより実現される。
【００３３】
表示機能５０ａは、テキスト情報Ｔ１及びタグ付きテキスト情報Ｔ４を、サーバ２０を介して自装置のモニタに表示する機能である。
【００３４】
クレンジング操作機能５０ｂは、サーバ２０のクレンジング処理部２１を遠隔操作する機能である。この機能により、帳票入力担当者は、第２端末５０のモニタに表示されたテキスト情報Ｔ１を視認しつつ、そのテキスト情報Ｔ１に含まれるノイズの箇所を逐一補正する操作を行うことができる。
【００３５】
タグ補正操作機能５０ｃは、サーバ２０のタグ補正処理部３０を遠隔操作する機能である。この機能により、帳票入力担当者は、第２端末５０のモニタに表示されたタグ付きテキスト情報Ｔ４を視認しつつ、そのタグ付きテキスト情報Ｔ４に含まれるタグ付け不良の箇所を逐一補正する操作を行うことができる。上述したように、第２端末５０からの操作による補正後のタグ付きテキスト情報Ｔ４は、学習データＬＤとして登録される際に版管理される。なお、タグ補正操作機能５０ｃは、サーバ２０によるタグ付けの精度が低いと帳票入力担当者が判断した場合に使用される機能である。
【００３６】
また、版管理された学習データＬＤの情報は、第２端末５０のモニタ上に表示可能であり、第２端末５０のモニタ上に表示された複数版の学習データＬＤの中から、帳票入力担当者が任意の学習データＬＤを選択できるようになっている。帳票入力担当者により学習データＬＤが選択された場合、その選択された学習データＬＤが機械学習に使用される。
【００３７】
［クライアント］
クライアント６０は、基幹システムのユーザが使用するコンピュータである。クライアント６０は、サーバ２０の特定のフォルダ２７ａ、２７ｂ、・・・に表計算ソフトファイル形式で保存されている構造化テキスト情報Ｔ５と構造化テキスト表項目情報Ｔ６とを取得（ダウンロード）し、基幹システムに自動入力する自動入力機能６０ａと、基幹システムに手動入力する手動入力機能６０ｂと、を有している。両機能６０ａ、６０ｂは、クライアント６０のＣＰＵがＲＰＡ（Robotic Process Automation）プログラムを実行することにより実現される。なお、手動入力機能６０ｂは、帳票入力担当者が基幹システムへ構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６をコピー＆ペーストしたり、公知のインポート機能等を使用して手動入力を行ったりする場合に使用される機能である。
【００３８】
［処理フロー］
次に、上記のように構成された帳票情報処理システム１における処理の流れについて説明する。帳票情報処理システム１における処理は、学習データ登録処理（図２）、帳票読み取り処理（図３）及び基幹システムへの自動入力処理（図４）からなる。
【００３９】
（学習データ登録処理）
図２に示すように、学習データ登録処理は、学習用帳票読み取り処理Ｓ１１、クレンジング処理Ｓ１２、文字列抽出処理Ｓ１３、一次元配列処理Ｓ１４、一次元配列補正処理Ｓ１５、自動タグ付け処理Ｓ１６、タグ補正処理Ｓ１７及び補正済みデータ登録処理Ｓ１８からなる。
【００４０】
学習用帳票読み取り処理Ｓ１１は、学習用帳票Ｍ１の紙面に記載されている情報を光学文字認識してテキスト情報Ｔ１を生成する処理である。この処理は、学習データ登録担当者がスキャナ１０に学習用帳票Ｍ１の読み取りを実行させることによりなされる。
【００４１】
例えば、図５に示す帳票を学習用帳票Ｍ１として学習用帳票読み取り処理Ｓ１１を実行した場合、図６に例示するテキスト情報Ｔ１が生成される。この段階でのテキスト情報Ｔ１には、「□」、「；」、「｜」（罫線誤認識）、「」（スペース抜け）、等のノイズＮＳが含まれている。
【００４２】
クレンジング処理Ｓ１２は、テキスト情報Ｔ１に含まれるノイズＮＳを修正・除去する処理である。この処理は、学習データ登録担当者が、第１端末４０からサーバ２０のクレンジング処理部２１を遠隔操作することによりなされる。学習データ登録担当者は、第２端末５０のモニタ上で、テキスト情報Ｔ１に含まれるノイズＮＳの箇所を逐一補正する。
【００４３】
文字列抽出処理Ｓ１３は、ノイズＮＳを修正・除去した後のテキスト情報Ｔ１から帳票内容として取得すべき各種の文字列を抽出する処理である。この処理は、サーバ２０の文字列抽出部２２により実行される。
【００４４】
一次元配列処理Ｓ１４は、文字列抽出処理Ｓ１３により抽出した文字列を一次元配列してなる一次元配列テキスト情報Ｔ２を生成する処理である。この処理は、サーバ２０の一次元配列処理部２３により実行される。
【００４５】
一次元配列処理Ｓ１４を経ることにより、例えば、図７に示す一次元配列テキスト情報Ｔ２が生成される。一次元配列テキスト情報Ｔ２には、改行を表すマークＭＫが内部的に付加される。マークＭＫは、テキスト情報Ｔ１における各行の最終列毎に付加される。
【００４６】
この例では、図５の学習用帳票Ｍ１に表ＴＢが記載されているため、図７に示す一次元配列テキスト情報Ｔ２内には、表ＴＢの項目を表す項目文字列（「品番・品名」、「数量」、「単価」、「金額」及び「備考」）Ｒ１〜Ｒ５に続いて、当該表の項目値を表す値文字列Ｖ１〜Ｖ５が繰り返し現れる。値文字列Ｖ１〜Ｖ５は、本来、所定の周期（この例では、５行周期）Ｆで現れるべきである。しかし、光学文字認識の誤りやクレンジング処理Ｓ１２での不完全なノイズ除去などに起因して、周期性が乱れる場合がある。図７の例では、表ＴＢ（図５）の罫線を「｜」と誤認識したことによるノイズＮＳｃ（図６）がクレンジング処理Ｓ１２で除去されなかったため、周期がＦ＋１に乱れている部分が存在する。また、図７の例では、「２台」と「22,500」との間に入るべきスペースが入っていないノイズであるスペース抜けＮＳｄ（図６）がクレンジング処理Ｓ１２で修正されなかったため、「２台」と「22,500」とが改行されず、周期がＦ−１に乱れている部分が存在する。
【００４７】
一次元配列補正処理Ｓ１５は、一次元配列テキスト情報Ｔ２に内部的に付加されたマークＭＫに基づいてテキスト情報Ｔ１の各行の最終列を認識した上で、表ＴＢの内容を判定し、表ＴＢの内容を示す一次元配列内の各配列要素（各行の文字列）毎にデータ型ＤＴ及び出力項目ＯＩの情報を付加した補正済み一次元配列テキスト情報Ｔ３を生成する処理が行われる。この処理は、サーバ２０の一次元配列補正処理部２４により実行される。
【００４８】
図８に例示するように、データ型ＤＴの種類には、数値型、数量型、電話番号型、金額型及び文字列型がある。ある一行の文字列が数字（「0」〜「9」）のみを含む場合、その文字列は数値型と判定される。また、ある一行の文字列の先頭部分が1又は複数の数字からなり、その1又は複数の数字の後に所定の漢字（「台」、「枚」、等）が存在する場合、その文字列は数量型と判定される。また、ある一行の文字列が所定の桁数の数字とそれらの数字間に挿入されたハイフン（「-」）のみからなる場合、その文字列は電話番号型と判定される。また、ある一行の文字列が金額を表す所定の文字又は記号（「\」、「円」、等）と数字のみからなる場合、その文字列は金額型と判定される。そして、数値型、数量型、電話番号型及び金額型の何れにも該当しない場合、その文字列は文字列型と判定される。なお、改行を表すマークＭＫは改行サインと判定される。改行サインは、型を持たない単なる記号である。
【００４９】
出力項目ＯＩは、予め決められた所定の形式に従い、「出力項目名♯データ型」の形で各行の文字列に付加される。その際、所定のデータ型が所定の周期（この例では５）Ｆであることを考慮して、各行の文字列に付加する出力項目ＯＩが修正・削除される。
【００５０】
図８の例では、改行サインと次の改行サインとの間におけるデータ型の本来の並び順は、文字列型、数量型、金額型、金額型、文字列型の順であるところ、ノイズＮＳｃ（「｜」）は文字列型であるため、改行サインと次の改行サインとの間におけるデータ型の並び順が、文字列型、数量型、文字列型、金額型、金額型、文字列型となっている部分が存在する。このため、データ型の並び順の規則性に基づき、ノイズＮＳｃ（「｜」）の出力項目は削除されている。
【００５１】
また、図８の例では、スペース抜けＮＳｄが生じている部分（「２台22,500」）は文字列型であるため、改行サインと次の改行サインとの間の行数が一行分不足し、且つ、データ型の並び順が文字列型、文字列型、金額型、文字列型となっている部分が存在する。このため、データ型の並び順の規則性に基づき、スペース抜けＮＳｄが生じている部分（「２台22,500」）の出力項目は削除されている。
【００５２】
自動タグ付け処理Ｓ１６は、一次元配列補正処理Ｓ１５を経て生成された補正済み一次元配列テキスト情報Ｔ３に基づいて、一次元配列テキスト情報Ｔ２に含まれる各種の文字列に各々タグを付加してなるタグ付きテキスト情報Ｔ４を自動生成する処理である。この処理は、サーバ２０のタグ付け処理部２５により実行される。
【００５３】
図９に例示するタグ付きテキスト情報Ｔ４の第１行目には、「対象文字列」、「タグ種別」、等、項目名を示す文字列を含むタグ付き文字列「“対象文字列”,“データ型”，“出力項目”,“タグ種別”,“自動タグ付け推奨ランク”」が記載され、第2行目以降には、「“御見積書”,“文字列型”，“帳票種別＃文字列型”,“ＬＡＢＥＬ＿ＶＡＬＵＥ”,“１”」や「“０３−５３２６−００００”,“電話番号型”，“連絡先ＴＥＬ＃電話番号型”,“ＶＡＬＵＥ”,“１”」など、各項目名に対応する内容を示す文字列を含むタグ付き文字列が記載されている。
【００５４】
タグ補正処理Ｓ１７は、タグ付きテキスト情報Ｔ４に含まれるタグ付け不良を補正するための処理である。この処理は、学習データ登録担当者が第１端末４０からサーバ２０のタグ補正処理部３０を遠隔操作することによりなされる。
【００５５】
例えば、図９のタグ付きテキスト情報Ｔ４には、“出力項目”や“タグ種別”等が空欄（“”）になっている箇所Ｐが複数存在する。学習データ登録担当者は、第２端末５０のモニタ上で、タグ付きテキスト情報Ｔ４に含まれるタグ付け不良の箇所Ｐを逐一補正する。また、学習データ登録担当者は、補正の際に、タグ付きテキスト情報Ｔ４に含まれている“自動タグ付け推奨ランク”のランキング情報を元に、自動タグ付け処理Ｓ１６にて自動生成されたが不要なタグを判別する際の指針とすることができる。
【００５６】
タグ補正処理Ｓ１７を実施することにより、図１０に例示するタグ付け不良補正済みのタグ付きテキスト情報Ｔ４が得られる。
【００５７】
補正済みデータ登録処理Ｓ１８は、タグ付け不良補正済みのタグ付きテキスト情報Ｔ４を学習データＬＤとして登録する処理である。この処理は、サーバ２０の学習データ登録処理部２８により実行される。
【００５８】
（帳票読み取り処理）
図３に示すように、帳票読み取り処理は、入力対象帳票読み取り処理（Ｓ２１）、クレンジング処理（Ｓ２２）、文字列抽出処理（Ｓ２３）、一次元配列処理（Ｓ２４）、一次元配列補正処理（Ｓ２５）、自動タグ付け処理（Ｓ２６）、構造化処理（Ｓ２７）、振り分け処理（Ｓ２８）、タグ補正処理（Ｓ２９）、補正済みデータ登録処理（Ｓ３０）からなる。
【００５９】
入力対象帳票読み取り処理（Ｓ２１）は、入力対象帳票（以下、単に「帳票」と記す）Ｍ２の紙面に記載されている情報を文字認識してテキスト情報Ｔ１を生成する処理である。この処理は、帳票入力担当者がスキャナ１０に帳票Ｍ２の読み取りを実行させることによりなされる。
【００６０】
例えば、図５の帳票を帳票Ｍ２として読み取った場合、図６に例示するテキスト情報Ｔ１が生成される。この段階でのテキスト情報Ｔ１には、「□」、「；」、「｜」、「 」（スペース抜け）、等、ノイズＮＳａ〜ＮＳｄが含まれている。
【００６１】
クレンジング処理（Ｓ２２）は、テキスト情報Ｔ１に含まれるノイズＮＳａ〜ＮＳｄを修正・除去する処理である。この処理は、帳票入力担当者が、第２端末５０からサーバ２０のクレンジング処理部２１を遠隔操作することによりなされる。帳票入力担当者は、第２端末５０のモニタ上で、テキスト情報Ｔ１に含まれるノイズＮＳａ〜ＮＳｄの箇所を逐一補正する。
【００６２】
文字列抽出処理（Ｓ２３）、一次元配列処理（Ｓ２４）、一次元配列補正処理（Ｓ２５）及び自動タグ付け処理（Ｓ２６）は、図２に示した学習データ登録処理における文字列抽出処理（Ｓ１３）、一次元配列処理（Ｓ１４）、一次元配列補正処理（Ｓ１５）及び自動タグ付け処理（Ｓ１６）と同様になされる。
【００６３】
構造化処理Ｓ２７は、タグ付きテキスト情報Ｔ４に基づいて、帳票Ｍ２の種別（見積書、請求書、等）毎の書式に従って構造化テキスト情報Ｔ５と構造化テキスト表項目情報Ｔ６とを生成する機能ブロックである。この処理は、サーバ２０の構造化処理部２６により実行される。
【００６４】
構造化処理Ｓ２７により、図１１に例示する構造化テキスト情報Ｔ５及び図１２に例示する構造化テキスト表項目情報Ｔ６が生成される。図１１及び図１２に例示する構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６の第１行目には、タグ種別が“ＬＡＢＥＬ”の文字列が記載され、第2行目以降には、タグ種別が“ＶＡＬＵＥ”の文字列が各項目名に対応させて記載されている。具体的には、構造化テキスト情報Ｔ５の場合は、「“お客様コード”,“帳票種別”,“請求番号”,“所在地郵便番号”，“取引先名”，“連絡先ＴＥＬ”，“連絡先ＦＡＸ”，“見積金額”」が記載されている。また、構造化テキスト表項目情報Ｔ６の場合は、「“品番・品名”，“数量”，“単価”，“金額”，“備考”」が記載されている。また、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６の第１列目には、各帳票Ｍ２の帳票情報処理フローの各段階の処理結果を、帳票Ｍ２毎に識別可能とするためのＩＤである“読み取り処理ＩＤ”が記載されている。なお、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６は、帳票Ｍ２の帳票種別及び取引先名が同じであれば、常に同じ構造を持った情報として生成される。
【００６５】
振り分け処理Ｓ２８は、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６を帳票Ｍ２の種別及び取引先毎に所定のフォルダ２７ａ、２７ｂ、・・・に振り分けて出力する処理である。その際、振り分け先となるフォルダ２７ａ、２７ｂ、・・・は、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６に付された属性情報に基づいて決定される。この処理は、サーバ２０の振り分け処理部２７により実行される。
【００６６】
タグ補正処理Ｓ２９は、タグ付きテキスト情報Ｔ４に含まれるタグ付け不良を補正するための処理である。この処理は、帳票入力担当者が、サーバ２０によるタグ付けの精度が低いと判断した場合に、第２端末５０からサーバ２０のタグ補正処理部３０を遠隔操作することにより実行される。
【００６７】
補正済みデータ登録処理Ｓ３０は、タグ補正処理Ｓ２９が実行された場合に、タグ付け不良を補正した後のタグ付きテキスト情報Ｔ４を学習データＬＤとして登録し、版管理する処理である。この処理は、サーバ２０の学習データ登録処理部２８により実行される。
【００６８】
（基幹システムへの自動入力処理）
図４に示すように、基幹システムへの自動入力処理はダウンロード処理Ｓ３１及び入力処理Ｓ３２からなる。
【００６９】
ダウンロード処理Ｓ３１は、クライアント６０が、サーバ２０の特定のフォルダ２７ａ、２７ｂ、・・・に表計算ソフトファイル形式にて保存されている構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６をダウンロードする処理である。入力処理Ｓ３２は、ダウンロードした構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６をクライアント６０が基幹システムに自動入力もしくは手動入力する処理である。
【００７０】
以上説明したように、この実施形態によれば、帳票Ｍ２に記載された情報を光学文字認識することにより得られたテキスト情報Ｔ１から各種の文字列が文字列抽出部２２により抽出され、抽出された文字列に各々タグを付加したタグ付きテキスト情報Ｔ４がタグ付け処理部２５に生成され、そのタグ付きテキスト情報Ｔ４に基づいて、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６すなわち、帳票Ｍ２の種別毎の書式に従って構造化したテキスト情報が構造化処理部２６により生成されるので、複数種類の帳票Ｍ２が混在する条件下においても、正確に且つ高効率に帳票処理を行うことができる。そして、この実施形態によれば、取引先毎の形式によらない構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６が、振り分け処理部２７により帳票Ｍ２の種別及び取引先毎に所定のフォルダ２７ａ、２７ｂ、・・・に振り分けて出力されるので、ＲＰＡ等の外部自動化処理を活用することによる帳票処理の汎用性を高めることができる。
【００７１】
また、この実施形態によれば、機械学習部２９が、タグ付け処理部２５が生成したタグ付きテキスト情報Ｔ４と学習データＬＤとに基づいて、公知の機械学習アルゴリズムにより学習済みモデルＬＭを更新し、タグ付け処理部２５が、機械学習部２９により更新された学習済みモデルＬＭを用いて文字列に各々タグを付加する構成としたので、各種帳票Ｍ２の処理が繰り返され、機械学習部２９による学習が進むにつれて、帳票処理の精度が向上していく。
【００７２】
また、この実施形態によれば、一次元配列処理部２３が、文字列抽出部２２により抽出した文字列を一次元配列した一次元配列テキスト情報Ｔ２を生成し、タグ付け処理部２５が、一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルＬＭを用いて文字列に各々タグを付加する構成としたので、タグ付け処理を比較的小さい演算負荷で高精度に実施できる。また、この実施形態では、学習済みモデルＬＭが、文字列が表す意味と当該文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルでもあるので、タグ付け処理を更に高精度に実施できる。
【００７３】
また、この実施形態によれば、表ＴＢの項目値を表す値文字列Ｖ１〜Ｖ５が所定の周期Ｆで現れる、という規則性を考慮して、各値文字列Ｖ１〜Ｖ５へのタグ付けを実行するようにしたので、文字認識精度の影響を受けにくく、且つ表ＴＢの項目値のタグ付け処理を比較的小さい演算負荷で高精度に実施できる。
【００７４】
また、この実施形態によれば、一次元配列処理部２３により生成された一次元配列テキスト情報Ｔ２に含まれる一次元配列内の各配列要素のデータ型を判別し、その一次元配列内において互いに所定の位置関係にあるべき配列要素間のデータ型の不一致を検出し、その不一致を解消するべく一次元配列テキスト情報Ｔ２を自動補正する一次元配列補正処理部２４を備えているので、光学文字認識の誤認識やクレンジング処理部２１の不完全な処理等に起因して、一次元配列処理部２３により生成された一次元配列テキスト情報Ｔ２に項目と当該項目の項目値との相対的位置関係の誤りが生じている場合でも、その誤りを自動補正した補正済み一次元配列テキスト情報Ｔ３に基づいてタグ付け処理部２５により自動タグ付け処理を実行することにより、タグ付きテキスト情報Ｔ４を高精度に生成することができる。
【００７５】
また、この実施形態によれば、タグ付け処理部２５により自動生成されたタグ付きテキスト情報Ｔ４に含まれるタグ付け不良をタグ補正処理部３０で補正し、補正後のタグ付きテキスト情報Ｔ４に基づいて構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６を生成する構成としたので、帳票Ｍ２の種別毎の構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６を高精度に生成できる。
【００７６】
また、この実施形態によれば、学習データＬＤは学習データ登録処理部２８にて版管理されており、機械学習部２９での機械学習に使用する学習データＬＤを帳票入力担当者が選択可能であるので、帳票入力担当者が最適であると判断した版の学習データＬＤを使用して機械学習がなされることにより、タグ付け処理Ｓ２６の精度を高め、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６を高精度に生成することができる。
【００７７】
なお、本発明は、上記実施形態に限定されるものではなく、適宜、変形、改良、等が可能である。例えば、上記実施形態では、帳票読み取り処理（図３）において、構造化処理Ｓ２７の前段階で必要に応じてタグ補正処理Ｓ２９を実施可能としているが、構造化処理Ｓ２７の後においても、必要に応じてタグ補正処理Ｓ２９を実施可能としてもよい。さらに、帳票入力担当者が、文字列抽出結果や一次元配列テキスト情報Ｔ２を適宜補正できるようにしてもよい。
【００７８】
また、上記実施形態では、学習済みモデルＬＭとして、文字列が表す意味と当該文字列に付すべきタグとの対応関係及び一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係を機械学習して得られた学習済みモデルを使用しているが、文字列が表す意味と当該文字列に付すべきタグとの対応関係又は一次元配列内における位置と当該位置にある文字列に付すべきタグとの対応関係のいずれか一方を機械学習して得られた学習済みモデルを使用することも可能である。
【００７９】
また、上記実施形態では、一次元配列内に所定の文字列（表ＴＢの項目値を表す値文字列Ｖ１〜Ｖ５）が所定の周期Ｆで現れる、という規則性を考慮して、所定の各文字列へのタグ付けを実行するようにしたが、一次元配列内における所定の文字列からの距離すなわち当該文字列から何番目の位置にあるかを判定（一次元配列内における文字列間の位置関係を判定）し、その判定結果に基づいて、タグ付け処理を行う方式を採用してもよい。この方式によれば、文字認識精度の影響を受けにくく、且つ任意の文字列のタグ付け処理を比較的小さい演算負荷で高精度に実施できる。
【００８０】
また、上記実施形態では、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６が所定の表計算ソフトファイル形式にてフォルダ２７ａ、２７ｂ、・・・に保存されるようにしたが、テキスト情報Ｔ１、一次元配列テキスト情報Ｔ２、補正済み一次元配列テキスト情報Ｔ３及びタグ付きテキスト情報Ｔ４についても、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６と同様、所定の表計算ソフトファイル形式にてフォルダ２７ａ、２７、・・・に保存されることが望ましい。上記実施形態に係る帳票情報処理の各段階の処理結果であるテキスト情報Ｔ１、一次元配列テキスト情報Ｔ２、補正済み一次元配列テキスト情報Ｔ３、タグ付きテキスト情報Ｔ４、構造化テキスト情報Ｔ５及び構造化テキスト表項目情報Ｔ６が所定の表計算ソフトファイル形式にてフォルダ２７ａ、２７ｂ、・・・に保存されることにより、表計算ソフトを使用して帳票情報処理の各段階での処理内容をトレースすることが可能となる。これにより、帳票情報処理の精度低下の原因がどの段階の処理にあるかを特定することが可能になるので、各段階毎に処理内容を改善することで、帳票情報処理の精度を全体的に向上させることができる。
【００８１】
また、上記実施形態では、帳票が紙媒体である場合を例にとり説明したが、本発明において、「帳票」は電子データ化された帳票（所謂「電子帳票」）を含む概念である。したがって、本発明において、「文字認識」には、光学的文字認識の他、非光学的文字認識が含まれる。
【００８２】
また、上記実施形態では、データ型ＤＴの種類として、数値型、数量型、電話番号型、金額型及び文字列型を例示したが、データ型ＤＴの種類はこれらに限定されない。
【００８３】
また、上記実施形態では、文字抜けやスペース抜けＮＳｄをノイズの一種としているが、文字抜けやスペース抜けＮＳｄについては、ノイズＮ（ノイズＮＳａ〜ＮＳｃ）とは別種の修正対象としてもよい。
【符号の説明】
【００８４】
２０  サーバコンピュータ（帳票情報処理装置）
２１  クレンジング処理部
２２  文字列抽出部
２３  一次元配列処理部
２４  一次元配列補正処理部
２５  タグ付け処理部
２６  構造化処理部
２７  振り分け処理部
２８  学習データ登録処理部
２９  機械学習部
３０  タグ補正処理部
ＬＭ  学習済みモデル
ＬＤ  学習データ
Ｍ１  学習用帳票
Ｔ１  テキスト情報
Ｔ２  一次元配列テキスト情報
Ｔ４  タグ付きテキスト情報
Ｔ５  構造化テキスト情報
Ｔ６  構造化テキスト表項目情報
【図１】
2020013281.tif 000003
【図２】
2020013281.tif 000004
【図３】
2020013281.tif 000005
【図４】
2020013281.tif 000006
【図５】
2020013281.tif 000007
【図６】
2020013281.tif 000008
【図７】
2020013281.tif 000009
【図８】
2020013281.tif 000010
【図９】
2020013281.tif 000011
【図１０】
2020013281.tif 000012
【図１１】
2020013281.tif 000013
【図１２】
2020013281.tif 000014