(57)【要約】      （修正有）【課題】文書から審査で必要な文字列を、業務上の損失の発生を抑止し、かつ、高い精度で抽出する計算機及び文書識別方法を提供する。【解決手段】計算機は、任意の審査の対象の文書に含まれる文字列である属性を抽出するため、属性の種別が定義された複数のテンプレートを管理するためのテンプレート情報を格納する。文書の画像データに対して文字認識処理を実行し、文字認識処理の結果及び複数のテンプレートを用いて属性の種別に対応する属性を抽出する。抽出された属性に基づいてテンプレートを選択し、選択されたテンプレートを用いて抽出された属性を含み、審査に用いられる出力情報を生成する。出力情報の信頼性を示す評価値及び閾値の比較結果に基づいて、審査が行われる前に出力情報に対して行われる確認操作の種別を決定し、文書に含まれる文字列に基づいて、決定された確認操作の種別を修正する。【選択図】図９
2019086984.tif 000002
【特許請求の範囲】
【請求項１】
任意の審査の対象の文書に含まれる文字列である属性を抽出する計算機であって、
前記計算機は、プロセッサ及び前記プロセッサに接続される記憶装置を備え、
前記記憶装置は、少なくとも一つ以上の属性の種別が定義された複数のテンプレートを管理するためのテンプレート情報を格納し、
前記テンプレート情報は、前記テンプレートの識別情報及び前記属性の種別を示す識別情報から構成されるエントリを複数含み、
前記プロセッサは、
前記文書の画像データに対して文字認識処理を実行し、
前記文字認識処理の結果及び前記複数のテンプレートを用いて、前記複数のテンプレートの各々に定義された前記属性の種別に対応する属性を抽出し、
前記抽出された属性に基づいてテンプレートを選択し、
前記選択されたテンプレートを用いて抽出された属性を含み、前記審査に用いられる出力情報を生成し、
前記出力情報の信頼性を示す評価値を算出し、
前記評価値及び閾値の比較結果に基づいて、前記審査が行われる前に前記出力情報に対して行われる確認操作の種別を決定し、
前記文書に含まれる文字列に基づいて、前記決定された確認操作の種別の修正が必要であるか否かを判定し、
前記決定された確認操作の種別の修正が必要であると判定された場合、前記決定された確認操作の種別を修正することを特徴とする計算機。
【請求項２】
請求項１に記載の計算機であって、
前記記憶装置は、前記審査において発生する可能性があるリスクの種別を特定するための文字列又は文字列の条件を定義するリスク特定ルールを管理するための第１管理情報、及び前記出力情報の確認操作の種別の修正方法を定義する修正ルールを管理するための第２管理情報を格納し、
前記第１管理情報は、種別が異なる前記リスクに対応する前記リスク特定ルールの情報を格納し、
前記修正ルールは、修正前の確認操作の種別、特定されたリスクの種別の組合せによって定義される条件式、及び修正後の確認操作の種別から構成され、
前記プロセッサは、
前記第１管理情報及び前記出力情報に基づいて、前記文書に存在するリスクの種別を特定し、
前記確認操作の種別及び前記特定されたリスクの種別の組合せに基づいて前記第２管理情報を参照して、該当する修正ルールが存在するか否かを判定し、
前記該当する修正ルールが存在すると判定された場合、前記該当する修正ルールに基づいて、前記確認操作の種別を修正することを特徴とする計算機。
【請求項３】
請求項２に記載の計算機であって、
前記プロセッサは、
前記文書から抽出された属性、及び前記確認操作の種別にしたがって操作された出力情報を用いた審査の結果を対応づけた学習用データを、前記記憶装置に格納し、
前記学習用データを用いて学習処理を実行することによって、任意の種別のリスクが発生する可能性がある文字列又は文字列の条件を表示する表示情報を生成し、
前記生成された表示情報を出力することを特徴とする計算機。
【請求項４】
請求項２に記載の計算機であって、
前記第１管理情報は、数値に対応する文字列の大小関係の条件を定義するリスク特定ルールを含むことを特徴とする計算機。
【請求項５】
任意の審査の対象の文書に含まれる文字列である属性を抽出する計算機が実行する文書識別方法であって、
前記計算機は、プロセッサ及び前記プロセッサに接続される記憶装置を備え、
前記記憶装置は、少なくとも一つ以上の属性の種別が定義された複数のテンプレートを管理するためのテンプレート情報を格納し、
前記テンプレート情報は、前記テンプレートの識別情報及び前記属性の種別を示す識別情報から構成されるエントリを複数含み、
前記文書識別方法は、
前記プロセッサが、前記文書の画像データに対して文字認識処理を実行する第１のステップと、
前記プロセッサが、前記文字認識処理の結果及び前記複数のテンプレートを用いて、前記複数のテンプレートの各々に定義された前記属性の種別に対応する属性を抽出する第２のステップと、
前記プロセッサが、前記抽出された属性に基づいてテンプレートを選択する第３のステップと、
前記プロセッサが、前記選択されたテンプレートを用いて抽出された属性を含み、前記審査に用いられる出力情報を生成する第４のステップと、
前記プロセッサが、前記出力情報の信頼性を示す評価値を算出する第５のステップと、
前記プロセッサが、前記評価値及び閾値の比較結果に基づいて、前記審査が行われる前に前記出力情報に対して行われる確認操作の種別を決定する第６のステップと、
前記プロセッサが、前記文書に含まれる文字列に基づいて、前記決定された確認操作の種別の修正が必要であるか否かを判定する第７のステップと、
前記プロセッサが、前記決定された確認操作の種別の修正が必要であると判定された場合、前記決定された確認操作の種別を修正する第８のステップと、を含むことを特徴とする文書識別方法。
【請求項６】
請求項５に記載の文書識別方法であって、
前記記憶装置は、前記審査において発生する可能性があるリスクの種別を特定するための文字列又は文字列の条件を定義するリスク特定ルールを管理するための第１管理情報、及び前記出力情報の確認操作の種別の修正方法を定義する修正ルールを管理するための第２管理情報を格納し、
前記第１管理情報は、種別が異なる前記リスクに対応する前記リスク特定ルールの情報を格納し、
前記修正ルールは、修正前の確認操作の種別、特定されたリスクの種別の組合せによって定義される条件式、及び修正後の確認操作の種別から構成され、
前記第７のステップは、
前記プロセッサが、前記第１管理情報及び前記出力情報に基づいて、前記文書に存在するリスクの種別を特定するステップと、
前記プロセッサが、前記確認操作の種別及び前記特定されたリスクの種別の組合せに基づいて前記第２管理情報を参照して、該当する修正ルールが存在するか否かを判定するステップと、を含み、
前記第８のステップは、前記プロセッサが、前記該当する修正ルールに基づいて、前記確認操作の種別を修正するステップを含むことを特徴とする文書識別方法。
【請求項７】
請求項６に記載の文書識別方法であって、
前記プロセッサが、前記文書から抽出された属性、及び前記確認操作の種別にしたがって操作された出力情報を用いた審査の結果を対応づけた学習用データを、前記記憶装置に格納するステップと、
前記プロセッサが、前記学習用データを用いて学習処理を実行することによって、任意の種別のリスクが発生する可能性がある文字列又は文字列の条件を表示する表示情報を生成するステップと、
前記プロセッサが、前記生成された表示情報を出力するステップと、を含むことを特徴とする文書識別方法。
【請求項８】
請求項６に記載の文書識別方法であって、
前記第１管理情報は、数値に対応する文字列の大小関係の条件を定義するリスク特定ルールを含むことを特徴とする文書識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を識別する計算機及び方法に関する。
【背景技術】
【０００２】
デジタル化の進展に伴い電子申請を利用する機会が増加している。電子申請では、対象の書類等が全てデジタル化されているわけではなく、紙ベースの文書又は紙をスキャンすることによって作成された画像が使用されている場合が多い。
【０００３】
本明細書では、電子化された文書を電子ベース文書と記載し、紙ベースの文書及び紙をスキャンすることによって作成された画像を紙ベース文書とも記載する。また、電子ベース文書及び紙ベース文書を区別しない場合、単に、文書とも記載する。
【０００４】
例えば、企業における出納業務では、（１）申請者が請求者から請求書を受け取り、（２）申請者が請求者への請求金額の支払いを記載した請求書を電子申請により財務部門に提出し、（３）財務部門に所属する人間が、請求書に記載された属性を確認し、電子申請が適正であると判断した場合、企業から請求者に請求金額を支払う、というような手続きが実行されている。
【０００５】
ここで、属性とは、審査対象であり、かつ、文書の特徴を示す文字列である。例えば、出納業務の場合、請求者の氏名及び名称、請求内容、請求金額、請求日、支払期限日、並びに請求金額の振込先の銀行口座番号等が属性に該当する。
【０００６】
紙ベース文書を扱う電子申請の場合、人が紙ベース文書を確認する必要があるため、業務の効率が低く、また、業務に要するコストが大きいという問題がある。
【０００７】
前述の問題に対し、光学文字認識（ＯＣＲ：Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）の技術を用いて、紙ベース文書から属性を読み出す方法が知られている。例えば、特許文献１に記載の技術が知られている。
【０００８】
特許文献１には、「顧客の請求書を電子的に提示する方法であって、顧客から電子的な請求書及び紙の請求書を受け取り、紙の請求書から電子イメージ情報を生成し、スキャンすることによって電子イメージ情報から第１ＯＣＲデータを抽出し、スキャンされた紙幣の種類の少なくとも１つの数値識別子を第１ＯＣＲデータから検索し、数値識別子の比較結果からスキャンされた紙の請求書のタイプを特定し、特定されたタイプに対応するテンプレートを用いて電子イメージ情報から第２ＯＣＲデータを抽出し、第２ＯＣＲデータから請求書情報を抽出し、請求書情報と知られた情報とを比較し、電子的な請求書及び請求書情報とを組み合わせた顧客請求提示を提示すること」が記載されている。
【０００９】
特許文献１に記載の技術を用いることによって、電子申請の業務において人が行う処理の工数を削減できるため、業務の効率を改善し、また、業務に要するコストを削減することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第８６３０９４９号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載の技術では、数値識別子と請求書の種別を予め設定する必要がある。しかし、類似する属性を含む文書を用いるが審査内容が異なる電子申請が存在する場合、ユーザが数値識別子と請求書の種別とを適切に関連付けることができない可能性がある。また、数値識別子が含まれていない可能性も考えられる。また、請求書の種別ごとにテンプレートを作成する必要がある。請求書の書式の変更等によって数値識別子及び請求書の種別に対応するテンプレートが変更される可能性もある。
【００１２】
したがって、従来技術では、最適なテンプレートを選択できないことによって属性の抽出精度が低くなり、業務効率の改善及び業務に要するコストの削減の効果が低い。
【００１３】
装置を用いた自動識別により、業務効率の改善及び業務に要するコストを削減できる。一方、誤った自動識別等に基づく審査によって業務上の損失が発生する可能性がある。したがって、装置を用いた自動識別において、前述のような業務上の損失を抑える仕組みが必要となる。
【００１４】
本発明は、業務上の損失の発生を抑止し、かつ、高い精度で審査で用いる属性を抽出する装置及び文書識別方法を提供する。
【課題を解決するための手段】
【００１５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、任意の審査の対象の文書に含まれる文字列である属性を抽出する計算機であって、前記計算機は、プロセッサ及び前記プロセッサに接続される記憶装置を備え、前記記憶装置は、少なくとも一つ以上の属性の種別が定義された複数のテンプレートを管理するためのテンプレート情報を格納し、前記テンプレート情報は、前記テンプレートの識別情報及び前記属性の種別を示す識別情報から構成されるエントリを複数含み、前記プロセッサは、前記文書の画像データに対して文字認識処理を実行し、前記文字認識処理の結果及び前記複数のテンプレートを用いて、前記複数のテンプレートの各々に定義された前記属性の種別に対応する属性を抽出し、前記抽出された属性に基づいてテンプレートを選択し、前記選択されたテンプレートを用いて抽出された属性を含み、前記審査に用いられる出力情報を生成し、前記出力情報の信頼性を示す評価値を算出し、前記評価値及び閾値の比較結果に基づいて、前記審査が行われる前に前記出力情報に対して行われる確認操作の種別を決定し、前記文書に含まれる文字列に基づいて、前記決定された確認操作の種別の修正が必要であるか否かを判定し、前記決定された確認操作の種別の修正が必要であると判定された場合、前記決定された確認操作の種別を修正することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、業務上の損失の発生を抑止し、かつ、高い精度で審査で用いる属性を文書から抽出できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１７】
【図１】実施例１のシステムの構成例を示す図である。
【図２】実施例１の計算機のハードウェア構成及びソフトウェア構成を説明する図である。
【図３】実施例１のテンプレート情報のデータ構造の一例を示す図である。
【図４】実施例１の単語辞書のデータ構造の一例を示す図である。
【図５】実施例１の表記辞書のデータ構造の一例を示す図である。
【図６】実施例１のリスク特定ルール管理情報のデータ構造の一例を示す図である。
【図７】実施例１の修正ルール管理情報のデータ構造の一例を示す図である。
【図８】実施例１の計算機が実行する処理の概要を説明するフローチャートである。
【図９】実施例１の文書審査モジュールが実行する文書サマリ情報生成処理の概要を示す図である。
【図１０】実施例１の文書審査モジュールが生成するＯＣＲ要素のデータ構造の一例を示す図である。
【図１１】実施例１の文書審査モジュールが実行する文書サマリ情報生成処理を説明するフローチャートである。
【図１２】実施例１のリスク回避判定モジュールが実行するリスク回避判定処理を説明するフローチャートである。
【図１３】実施例１の学習処理モジュールが実行する学習用データ蓄積処理の一例を説明するフローチャートである。
【図１４】実施例１のルール生成モジュールが実行する推奨金額提示処理の一例を説明するフローチャートである。
【図１５】実施例１の計算機が表示する設定画面の一例を示す図である。
【図１６】実施例１のルール生成モジュールが実行する推奨リスク単語提示処理の一例を説明するフローチャートである。
【図１７】実施例１の計算機が表示する設定画面の一例を示す図である。
【図１８】実施例１の計算機が表示するテンプレート入力画面の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施例について、図面を参照して説明する。
【００１９】
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではない。また実施例において説明されている各要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
また、以下の説明では、情報の一例として「ｘｘｘテーブル」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ｘｘｘテーブル」を「ｘｘｘ情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、一つのテーブルは、二つ以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部又は一部が一つのテーブルであってもよい。
【実施例１】
【００２１】
図１は、実施例１のシステムの構成例を示す図である。
【００２２】
システムは、計算機１００、入力端末１１０、クライアント端末１２０、及びスキャナ１３０から構成される。計算機１００、入力端末１１０、及びクライアント端末１２０は、ネットワーク１５０を介して互いに接続される。また、スキャナ１３０は、直接又はネットワークを介して計算機１００に接続される。
【００２３】
なお、本発明はネットワーク１５０の種類に限定されない。ネットワーク１５０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等が考えられる。また、本発明はネットワーク１５０の接続方式に限定されず、無線及び有線のいずれでもよい。また、スキャナ１３０は、計算機１００に直接又はネットワークを介して、クライアント端末１２０に接続されてもよい。
【００２４】
なお、本発明のシステムに含まれる計算機１００、入力端末１１０、クライアント端末１２０、及びスキャナ１３０の数は任意の数に設定できる。
【００２５】
計算機１００は、電子申請に関する処理を実行する。計算機１００が実行する処理の詳細は後述する。
【００２６】
クライアント端末１２０は、電子申請を行うユーザ（申請者）が操作する端末である。ユーザは、クライアント端末１２０を操作して、電子申請に必要な情報を入力し、電子申請に関連する紙の文書を提出する。提出する紙の文書は、例えば、電子申請が正当であることを示す証明書等が考えられる。
【００２７】
ユーザは、紙の文書の提出にあたり、電子申請を行う会社又は行政施設に直接文書を提出してもよい。クライアント端末１２０にスキャナ１３０が接続されている場合には、スキャナ１３０を用いて、紙の文書から文書画像データ９０１（図９参照）を生成し、それを提出してもよい。なお、本発明は、扱う電子申請の種類及び文書に限定されない。文書は、例えば、請求書、納品書、領収書、源泉徴収票、及び納税通知書等の各種書類、並びに、運転免許証及びマイナンバーカード等の各種証明書が考えられる。
【００２８】
電子申請時に入力される文書には、電子申請の審査に用いる文字列である属性が複数含まれる。例えば、文書が請求書の場合、請求金額、請求者名、請求宛先名、発行日、並びに、振込先を指定する銀行名、支店名、口座種別及び口座番号等の文字列、さらに、請求者が押印した印影が属性として含まれる。
【００２９】
本実施例では、属性は、属性の種別（属性の名称）及び属性として抽出される文字列を対応づけて管理される。また、本実施例では、文字列は、一般的な文字だけではなく、矢印、四角、及び円等の記号も含む概念である。
【００３０】
入力端末１１０は、計算機１００を管理する審査者又は電子申請を審査する審査者が操作する端末である。スキャナ１３０は、紙の文書から文書画像データ９０１を生成する。スキャナ１３０は、フラットベッドスキャナ及びオートシートフィーダ付きのスキャナ等が考えられる。
【００３１】
なお、スキャナ１３０の代わりに、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等の素子を用いて画像を撮影するデジタルカメラを備えてもよい。
【００３２】
図２は、実施例１の計算機１００のハードウェア構成及びソフトウェア構成を説明する図である。
【００３３】
計算機１００は、プロセッサ２０１、主記憶装置２０２、副記憶装置２０３、ネットワークインタフェース２０４、入力装置２０５、及び出力装置２０６を有する。各ハードウェアは内部バス等を介して互いに接続される。図２では、各ハードウェアの数は一つであるが、二つ以上でもよい。
【００３４】
なお、入力端末１１０及びクライアント端末１２０のハードウェア構成は、計算機１００と同一である。
【００３５】
プロセッサ２０１は、主記憶装置２０２に格納されるプログラムを実行する。プロセッサ２０１がプログラムにしたがって処理を実行することによって、特定の機能を実現するモジュールとして動作する。以下の説明では、モジュールを主語に処理を説明する場合、プロセッサ２０１が当該モジュールを実現するプログラムを実行していることを示す。
【００３６】
主記憶装置２０２は、プロセッサ２０１が実行するプログラム及びプログラムが使用する情報を格納する。また、主記憶装置２０２は、プログラムが一時的に使用するワークエリアを含む。主記憶装置２０２は、例えば、メモリ等が考えられる。
【００３７】
本実施例の主記憶装置２０２は、文書審査モジュール２１１、学習処理モジュール２１２、リスク回避判定モジュール２１３、ルール生成モジュール２１４、テンプレート設定モジュール２１５を実現するプログラムを格納する。また、主記憶装置２０２は、テンプレート情報２２１、単語辞書２２２、表記辞書２２３、リスク特定ルール管理情報２２４、及び修正ルール管理情報２２５を格納する。
【００３８】
主記憶装置２０２は、すべてのモジュールを実現するプログラムを格納していなくてもよい。
【００３９】
文書審査モジュール２１１は、電子申請の審査処理を実行する。具体的には、文書審査モジュール２１１は、電子申請を受け付け、テンプレートを用いて抽出された属性を含む文書サマリ情報９０５（図９を参照）を生成する。また、文書審査モジュール２１１は、文書サマリ情報９０５に対して行われる確認操作の種別を決定する。以下の説明では、確認操作の種別をクラスと記載する。本実施例では、ケース０、ケース１、ケース２の三つのクラスのいずれかに決定される。文書審査モジュール２１１は、決定された確認操作の種別にしたがった文書サマリ情報９０５の確認操作が行われた後、文書サマリ情報９０５を用いて電子申請を審査する。文書審査モジュール２１１が実行する処理の詳細については後述する。
【００４０】
ここで、確認操作の内容について説明する。ケース０では、文書サマリ情報９０５の信頼性が高いため、審査者による文書サマリ情報９０５の修正は行われない。ケース１では、計算機１００は、一人の審査者に対して、文書サマリ情報の入力を促す。審査者は文書サマリ情報を生成し、入力端末１１０を操作して計算機１００に文書サマリ情報を入力する。ケース２では、計算機１００は、二人の審査者に対して、文書サマリ情報の入力を促す。二人の審査者は、それぞれ、文書サマリ情報を生成し、入力端末１１０を操作して計算機１００に文書サマリ情報を入力する。以下の説明では、管理者によって生成される文書サマリ情報を入力文書サマリ情報と記載する。
【００４１】
なお、前述した三種類のクラスは一例であってこれに限定されない。例えば、一人の審査者が確認を行う操作と、審査者が確認を行わない操作の二種類のクラスでもよい。また、結果の目視による簡易な確認操作と、審査者に必要項目を入力させ、データの一致を判定するような詳細な確認操作との二種類のクラスでもよい。
【００４２】
学習処理モジュール２１２は、データの選択方法、抽出方法、推奨方法、及び分類方法に関する学習処理を実行する。なお、機械学習のアルゴリズムには、ロジスティック回帰、デシジョン  フォレスト、デシジョン  ジャングル、ブースト  デシジョン  ツリー、ニューラルネットワーク、平均化パーセプトロン、サポート  ベクタマシン、ローカル詳細サポート  ベクタマシン、及びベイズ  ポイント  マシン等が知られている。
【００４３】
リスク回避判定モジュール２１３は、文書審査モジュール２１１によって決定されたクラスを修正する。リスク回避判定モジュール２１３が実行する処理については後述する。
【００４４】
ルール生成モジュール２１４は、後述するリスク特定ルール管理情報２２４及び修正ルール管理情報２２５を生成する。
【００４５】
テンプレート設定モジュール２１５は、後述するテンプレート情報２２１の生成及び変更を行う。
【００４６】
テンプレート情報２２１は、審査に使用する文字列を文書から読み出すためのテンプレートを管理するための情報である。テンプレート情報２２１の詳細は図３を用いて説明する。
【００４７】
単語辞書２２２及び表記辞書２２３は、属性として抽出する文字列を定義した情報である。単語辞書２２２の詳細は図４を用いて説明し、また、表記辞書２２３の詳細は図５を用いて説明する。
【００４８】
リスク特定ルール管理情報２２４は、業務上の損失（リスク）を考慮して設定されるリスク特定ルールを管理するための情報である。リスク特定ルール管理情報２２４の詳細は図６を用いて説明する。ここで、業務上の損失とは、金銭的な損失、業務の信用の損失、及び審査の誤り等を含む概念である。また、リスク特定ルールは、文書の審査において発生する可能性があるリスクの種別を特定するための文字列又は文字列の条件を定義する情報である。
【００４９】
修正ルール管理情報２２５は、クラスの修正方法を定義する修正ルールを管理するための情報である。修正ルール管理情報２２５の詳細は図７を用いて説明する。
【００５０】
副記憶装置２０３は、データを永続的に格納する。副記憶装置２０３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等が考えられる。なお、主記憶装置２０２に格納されるプログラム及び情報は、副記憶装置２０３に格納されてもよい。この場合、プロセッサ２０１が、副記憶装置２０３からプログラム及び情報を読み出し、主記憶装置２０２にロードする。
【００５１】
ネットワークインタフェース２０４は、ネットワークを介して他の装置と接続するためのインタフェースである。
【００５２】
入力装置２０５は、計算機１００に対してデータを入力するための装置である。例えば、入力装置２０５は、キーボード、マウス、及びタッチパネル等を含む。
【００５３】
出力装置２０６は、データの入力画面及び処理結果等を出力する装置である。出力装置２０６は、タッチパネル及びディスプレイ等を含む。
【００５４】
図３は、実施例１のテンプレート情報２２１のデータ構造の一例を示す図である。
【００５５】
テンプレート情報２２１は、テンプレート番号３０１、属性３０２、位置情報３０３、及び請求者名３０４から構成されるエントリを含む。一つのエントリが一つのテンプレートに対応する。また、一つのエントリには、テンプレートにおいて定義された属性の行が一つ以上含まれる。
【００５６】
テンプレート番号３０１は、テンプレートを一意に識別するための識別情報を格納するフィールドである。本実施例では、テンプレートの識別情報は、エントリの識別情報としても用いられる。
【００５７】
属性３０２は、テンプレートに含まれる属性の種別を表す識別名称を格納するフィールドである。
【００５８】
位置情報３０３は、文書を構成する一領域における属性の種別に対応する属性の位置に関する情報を格納するフィールドである。より具体的には、位置情報３０３には、一頁に対応する紙面上の属性の種別に対応する属性の位置に関する情報が格納される。例えば、矩形領域の左上及び右下の座標が位置情報３０３に格納される。なお、座標は、属性間の相対的な位置関係を表す相対座標でもよいし、紙面上の絶対的な位置を示す絶対座標でもよい。また、位置情報３０３には、複数の位置を指定する情報が格納されてもよい。
【００５９】
なお、本発明は、位置情報３０３に格納される情報に限定されない。例えば、エントリは、属性の長さ及び属性が記載されている範囲等を格納するフィールドを含んでもよい。
【００６０】
請求者名３０４は、テンプレートを適用するユーザ及び会社等を示す情報を格納するフィールドである。特定の請求者の名称（文字列）を含む文書に対してのみテンプレートが適用される。
【００６１】
なお、エントリは、適用するテンプレートを選択するための情報として、請求者名３０４の他に、申請者名を格納するフィールドを含んでもよいし、また、請求者及び申請者の組合せを格納するフィールドを含んでもよい。
【００６２】
図３に示すテンプレート情報２２１は、テンプレート番号３０１をエントリの識別情報とするテーブル形式の情報であるが、請求者名３０４をエントリの識別情報とするテーブル形式の情報でもよい。
【００６３】
図４は、実施例１の単語辞書２２２のデータ構造の一例を示す図である。
【００６４】
単語辞書２２２は、属性として抽出する単語に対応する文字列を定義する情報であり、属性４０１及び文字列４０２から構成されるエントリを含む。一つのエントリが一つの属性に対応する。
【００６５】
属性４０１は、属性の識別名称を格納する。文字列４０２は、属性４０１に分類される単語（文字列）を格納する。
【００６６】
図５は、実施例１の表記辞書２２３のデータ構造の一例を示す図である。
【００６７】
表記辞書２２３は、属性として抽出する数値に対応する文字列を定義する情報であり、属性５０１及び表記５０２から構成されるエントリを含む。一つのエントリが一つの属性に対応する。
【００６８】
属性５０１は、属性の識別名称を格納する。表記５０２は、属性５０１に分類される数値（文字列）の表記ルールを格納する。
【００６９】
図６は、実施例１のリスク特定ルール管理情報２２４のデータ構造の一例を示す図である。
【００７０】
リスク特定ルール管理情報２２４は、種類が異なるリスク毎のリスク特定ルールを管理する管理テーブル６００を含む。各管理テーブル６００には識別情報が付与される。
【００７１】
図６に示すリスク特定ルール管理情報２２４には、二つの管理テーブル６００−１、６００−２が含まれる。管理テーブル６００−１には識別情報「Ａ」が付与され、管理テーブル６００−２には識別情報「Ｂ」が付与される。
【００７２】
管理テーブル６００−１は、金額に関連するリスクを特定するための文字列の条件をリスク特定ルールとして管理するテーブルであり、請求者名６１１及び基準金額６１２から構成されるエントリを含む。請求者名６１１は、請求者名３０４と同一のフィールドである。基準金額６１２は、リスクとして特定する文字列の条件となる金額（文字列）の基準値を格納するフィールドである。本実施例では、基準金額６１２以上の金額が文書に含まれる場合、リスクが存在すると判定される。
【００７３】
例えば、計算機１００は、請求者名６１１に対応する文書であり、かつ、文書に含まれる金額が基準金額６１２以上である場合、審査者が文書サマリ情報９０５（図９参照）を確認するようにクラスを修正する。これによって、大きな金額を扱う業務において発生する金銭的な損失を回避できる。
【００７４】
管理テーブル６００−２は、業務の誤りに関連するリスクを特定するための文字列をリスク特定ルールとして管理するテーブルであり、リスク単語６２１から構成されるエントリを含む。リスク単語６２１は、電子申請の審査の誤りが発生する審査の種別等を特定するための単語（文字列）を格納するフィールドである。
【００７５】
例えば、計算機１００は、電子申請の審査の誤りが高いことが判明している文字列が文書に含まれる場合、審査者が文書サマリ情報９０５（図９参照）を確認するようにクラスを修正する。これによって、審査の誤りを回避できる。
【００７６】
図６では、請求金額の条件及び単語に基づいて定義されたリスク特定ルールを示したが、リスク特定ルール管理情報２２４は、前述以外のリスク特定ルールを定義した管理テーブル６００を含んでもよい。
【００７７】
例えば、支払日までの残り日数、並びに、発行日及び支払日等の暦の誤りに関する条件をルールとすることが考えられる。また、特定日付及び曜日に審査の誤りが多い場合に、当該日付及び曜日をルールとすることが考えられる。また、文書から基準値以上の多数の数字が抽出された場合に、所望の数字とは異なる数字を抽出している可能性が高いとしてクラスを修正するためのルールを設定することも考えられる。
【００７８】
図７は、実施例１の修正ルール管理情報２２５のデータ構造の一例を示す図である。
【００７９】
修正ルール管理情報２２５は、クラス条件７０１、条件式７０２、及び修正クラス７０３から構成されるエントリを含む。一つのエントリは修正ルールに対応する。
【００８０】
クラス条件７０１は、クラスの条件を格納するフィールドである。具体的には、クラス条件７０１には、修正前のクラスの識別情報が格納される。条件式７０２は、リスクの種別に関する条件式を格納するフィールドである。具体的には、条件式７０２には、管理テーブル６００の識別情報を用いた論理式等が格納される。
【００８１】
修正クラス７０３は、修正方法を規定するフィールドである。具体的には、修正クラス７０３には、修正後のクラスの識別情報が格納される。
【００８２】
後述するように、計算機１００は、リスク特定ルール管理情報２２４に基づいて各種別のリスクの有無を特定する。また、計算機１００は、文書のクラスがクラス条件７０１に一致し、かつ、特定されたリスクの種別の組合せが条件式７０２を満たすか否かを判定する。すなわち、該当する修正ルールが存在するか否かが判定される。計算機１００は、判定結果に基づいてクラスを修正する。
【００８３】
図７に示す修正ルール管理情報２２５には、以下のような二つのエントリが格納されている。一番目のエントリには、変更前のクラスがケース１であり、かつ、管理テーブル６００−２に対応する種別のリスクが存在する場合、クラスをケース１からケース２に修正する修正ルールが設定される。二番目のエントリには、変更前のクラスがケース０であり、かつ、管理テーブル６００−１及び管理テーブル６００−２の少なくともいずれかに対応する種別のリスクが存在する場合、ケース０からケース１に修正する修正ルールが設定される。
【００８４】
図８は、実施例１の計算機１００が実行する処理の概要を説明するフローチャートである。
【００８５】
計算機１００の文書審査モジュール２１１は、ユーザが操作するクライアント端末１２０から、電子申請の要求を受け付ける（ステップＳ１０１）。電子申請の要求には、審査対象の文書画像データ９０１（図９参照）が含まれる。
【００８６】
なお、文書画像データ９０１が外部の記憶装置に格納されている場合、ユーザは、文書画像データ９０１の識別情報を電子申請の要求に含めてもよい。また、ユーザは、紙の文書を提出してもよい。紙の文書が提出された場合、計算機１００は、スキャナ１３０を用いて紙の文書をスキャンし、文書画像データ９０１を生成する。
【００８７】
次に、計算機１００の文書審査モジュール２１１は、文書サマリ情報生成処理を実行する（ステップＳ１０２）。
【００８８】
文書サマリ情報生成処理では、文書サマリ情報９０５（図９参照）が生成される。文書サマリ情報９０５は、文書画像データ９０１に対応する文書から抽出された属性をまとめた情報である。請求書に対応する文書画像データ９０１の場合、請求金額、並びに、振込先を特定する銀行名、支店名、口座種別、口座番号、請求者名、及び被請求者名等に対応する属性（文字列）が文書サマリ情報９０５に含まれる。領収書に対応する文書画像データ９０１の場合、金額、物を購入又はサービスの提供を受けた人又は組織の名称、及び物の販売又はサービスの提供を行った人又は組織の名称等に対応する属性（文字列）が文書サマリ情報９０５に含まれる。また、源泉徴収票に対応する文書画像データ９０１の場合、人の氏名、人が所属する組織の名称、人の収入額、及び人の減収徴収額等に対応する属性（文字列）が文書サマリ情報９０５に含まれる。
【００８９】
また、文書サマリ情報生成処理では、文書審査モジュール２１１が、文書サマリ情報９０５の信頼性を示す指標を算出し、当該指標に基づいて、文書サマリ情報９０５のクラスを決定する。さらに、リスク回避判定モジュール２１３が、リスク特定ルール管理情報２２４及び修正ルール管理情報２２５に基づいて、クラスを修正する。
【００９０】
計算機１００は、クラスに応じた確認操作にしたがって文書サマリ情報９０５の修正等の確認操作を行い、最終的な文書サマリ情報を出力する。
【００９１】
なお、文書サマリ情報生成処理の詳細は図９から図１０を用いて説明する。
【００９２】
計算機１００は、文書サマリ情報９０５を用いて電子申請の審査を行う（ステップＳ１０３）。計算機１００は、審査の結果として「許可」及び「拒絶」のいずれかの応答をユーザに出力する。
【００９３】
図９は、実施例１の文書審査モジュール２１１が実行する文書サマリ情報生成処理の概要を示す図である。図１０は、実施例１の文書審査モジュール２１１が生成するＯＣＲ要素のデータ構造の一例を示す図である。
【００９４】
ステップＳ１では、文書審査モジュール２１１は、文書画像データ９０１が入力された場合、文書画像データ９０１に対してＯＣＲ処理を実行する。
【００９５】
ステップＳ２では、文書審査モジュール２１１は、ＯＣＲ処理の結果及びテンプレート情報２２１を用いて、各テンプレートに含まれる属性に関するスコアを算出する。後述するように、本実施例では、一つの属性に対して複数のスコアが算出される。文書審査モジュール２１１は、属性及びスコアを対応付けたＯＣＲ要素９０２を生成する。図９に示す一つの矩形が一つのＯＣＲ要素９０２に対応する。
【００９６】
図１０に示すように、ＯＣＲ要素９０２は、属性１００１、項目値１００２、位置１００３、及びスコア１００４から構成される。
【００９７】
属性１００１は、属性の識別名称を格納するフィールドである。項目値１００２は、文書から抽出された属性（文字列）を格納するフィールドである。位置１００３は、紙面上の属性の位置を格納する。スコア１００４は、ＯＣＲ処理に関連するスコア又はテンプレートを用いて抽出された属性（文字列）に関連するスコア等を格納するフィールド群である。
【００９８】
本実施例では、ＯＣＲスコア及び位置スコアが算出される。ＯＣＲスコアは、ＯＣＲ処理の結果を評価するスコアである。例えば、抽出された文字列と登録されている字形との一致の度合いを表す値等である。ＯＣＲスコアの値が大きいほど誤読の可能性が低いことを示す。位置スコアは、文書画像データ９０１における属性の位置と、テンプレートにおける属性の位置とのズレの度合いを表す値である。位置スコアの値が小さいほど、ズレが小さいことを示す。
【００９９】
なお、ＯＣＲ要素９０２には、ＯＣＲスコア及び位置スコアのいずれか一方のみが含まれてもよい。また、ＯＣＲ要素９０２には、属性を含む矩形領域の面積に関する面積スコア、属性の種別が同一である属性間の距離に関連する項目スコア、及び属性の出現回数に関する出現回数スコア等が含まれてもよい。
【０１００】
ステップＳ３では、文書審査モジュール２１１は、各テンプレートのＯＣＲ要素９０２に基づいて、文書サマリ情報９０５の生成に適したテンプレートを選択する。テンプレートの選択は、例えば位置スコアの合計値が最大となるテンプレートを選択する方法等が考えられる。
【０１０１】
さらに、文書審査モジュール２１１は、選択されたテンプレートに含まれる各属性の種別のＯＣＲ要素９０２の中から代表ＯＣＲ要素９０３を選択する。図９に示す一つの矩形が一つの代表ＯＣＲ要素９０３に対応する。選択されたテンプレートに三種類の属性が含まれる場合、三つの代表ＯＣＲ要素９０３が選択される。代表ＯＣＲ要素９０３の選択方法としては、例えば、ステップＳ３で選択されたテンプレートに対して位置スコアが最大のＯＣＲ要素を選択する方法、又は位置スコア及びＯＣＲスコアの合計値が最大となるＯＣＲ要素を選択する方法等が考えられる。
【０１０２】
ステップＳ４では、文書審査モジュール２１１は、代表ＯＣＲ要素９０３を用いて、特徴ベクトル９０４を算出し、また、文書サマリ情報９０５を生成する。
【０１０３】
本実施例では、各代表ＯＣＲ要素９０３に含まれる複数のスコアを要素とするベクトルが特徴ベクトル９０４として生成される。また、文書サマリ情報９０５は、代表ＯＣＲ要素９０３の属性１００１及び項目値１００２等をまとめることによって生成される。
【０１０４】
ステップＳ５では、文書審査モジュール２１１は、特徴ベクトル９０４を評価式に代入することによって文書サマリ情報９０５の信頼性を示す評価値を算出し、算出された評価値に基づいてクラスを決定する。なお、評価式のパラメータは、予め設定されているものとする。また、別の方法として、文書審査モジュール２１１は、予め機械学習を行った分類器に特徴ベクトル９０４を入力することによってクラスを決定してもよい。
【０１０５】
本実施例では、評価値が第１の閾値以上である場合、クラスはケース０に決定される。評価値が第１の閾値より小さく、かつ、第２の閾値以上である場合、クラスはケース１に決定される。評価値が第２の閾値より小さい場合、クラスはケース２に決定される。
【０１０６】
ステップＳ６では、文書審査モジュール２１１は、リスク回避判定モジュール２１３に処理の実行を指示することによって、クラスを修正する。文書審査モジュール２１１は、修正後のクラスに基づいて文書サマリ情報９０５に対する確認操作を行う。
【０１０７】
ケース０に決定された場合、審査者による文書サマリ情報９０５の確認は行われない。ケース１に決定された場合、一人の審査者が入力文書サマリ情報を生成する。ケース２に決定された場合、二人の審査者がそれぞれ入力文書サマリ情報を生成する。
【０１０８】
ステップＳ８では、文書審査モジュール２１１は、申請の審査に用いる文書サマリ情報を選択する。
【０１０９】
ケース０の場合、文書審査モジュール２１１が生成した文書サマリ情報９０５が選択される。
【０１１０】
ケース１の場合、文書審査モジュール２１１は、文書サマリ情報９０５と、審査者が生成した入力文書サマリ情報とが一致するか否かを判定する。判定結果がＹＥＳの場合、文書審査モジュール２１１は、文書サマリ情報９０５を選択する。判定結果がＮＯの場合、文書審査モジュール２１１は、入力文書サマリ情報を入力した審査者又は他の審査者に、入力文書サマリ情報の修正又は新たな入力文書サマリ情報の生成を促す。この場合、文書審査モジュール２１１は、修正された入力文書サマリ情報又は新たな入力文書サマリ情報を選択する。
【０１１１】
ケース２の場合、文書審査モジュール２１１は、文書サマリ情報９０５と、二人の審査者が生成した入力文書サマリ情報とが一致するか否かを判定する。判定結果がＹＥＳの場合、文書審査モジュール２１１は、文書サマリ情報９０５を選択する。判定結果がＮＯの場合、文書審査モジュール２１１は、入力文書サマリ情報を入力したいずれかの審査者又は他の審査者に、入力文書サマリ情報の修正又は新たな入力文書サマリ情報の生成を促す。この場合、文書審査モジュール２１１は、修正された入力文書サマリ情報又は新たな入力文書サマリ情報を選択する。
【０１１２】
図１１は、実施例１の文書審査モジュール２１１が実行する文書サマリ情報生成処理を説明するフローチャートである。
【０１１３】
文書審査モジュール２１１は、文書画像データ９０１が入力された場合、以下で説明する文書サマリ情報生成処理を開始する。
【０１１４】
まず、文書審査モジュール２１１は、文書画像データ９０１に対してＯＣＲ処理を実行する（ステップＳ２０１）。ＯＣＲ処理は公知の方法を用いればよいため詳細な説明は省略する。ＯＣＲ処理によって、文書画像データ９０１は、計算機が扱うことができる文字列群のデータに変換される。
【０１１５】
次に、文書審査モジュール２１１は、テンプレート情報２２１から一つのテンプレートを選択する（ステップＳ２０２）。例えば、文書審査モジュール２１１は、テンプレート情報２２１の上のエントリから順に選択する。
【０１１６】
次に、文書審査モジュール２１１は、スコア算出処理を実行する（ステップＳ２０３）。スコア算出処理では、文書審査モジュール２１１は、選択されたテンプレートに含まれる属性の種別毎に、ＯＣＲ要素９０２を生成する。また、文書審査モジュール２１１は、ＯＣＲ要素９０２のスコアを算出する。ここで、ＯＣＲ要素９０２の生成方法及びスコアの算出方法の一例について説明する。
【０１１７】
文書審査モジュール２１１は、選択されたテンプレートに含まれる属性の種別の中からターゲット属性種別を選択する。すなわち、選択されたテンプレートに対応するエントリに含まれる属性３０２が一つ選択される。
【０１１８】
文書審査モジュール２１１は、単語辞書２２２を参照し、ＯＣＲ処理が実行された文書画像データ９０１からターゲット属性種別に対応するエントリの文字列４０２に一致又は類似する属性（文字列）を検索する。このとき、文書審査モジュール２１１は、図示しない類義語辞書を用いて、文字列４０２と同一の文字列だけではなく、意味等が一致又は類似する属性（文字列）を検索する。また、文書審査モジュール２１１は、表記辞書２２３を参照し、ＯＣＲ処理が実行された文書画像データ９０１からターゲット属性種別に対応するエントリの表記５０２に一致又は類似する属性（文字列）を検索する。
【０１１９】
文書審査モジュール２１１は、空のＯＣＲ要素９０２を生成し、ターゲット属性種別を属性１００１に設定する。文書審査モジュール２１１は、検索された属性を項目値１００２に設定し、検索された属性の位置を位置１００３に設定する。この時点では、検索された一つの属性に対して、一つのＯＣＲ要素９０２が生成される。
【０１２０】
文書審査モジュール２１１は、ＯＣＲ要素９０２の位置１００３に基づいて、検索された文字列間の距離を算出し、距離が閾値以下である文字列のＯＣＲ要素９０２を一つのＯＣＲ要素９０２に統合する。この場合、統合されたＯＣＲ要素９０２の項目値８０２及び位置８０３には、複数の値が設定される。
【０１２１】
単語辞書２２２及び表記辞書２２３のいずれを用いても属性が抽出されなかった場合、文書審査モジュール２１１は、属性８０１にターゲット属性種別を設定し、項目値８０２及び位置８０３を空欄に設定し、スコア８０４の全ての値を「０」に設定する。
【０１２２】
文書審査モジュール２１１は、単語辞書２２２及び項目値１００２を参照し、ターゲット属性種別に対応するエントリの文字列４０２と、単語辞書２２２を用いて抽出された属性とを比較し、比較結果に基づいてスコアを算出する。また、文書審査モジュール２１１は、表記辞書２２３及び項目値１００２を参照し、ターゲット属性種別に対応するエントリの表記５０２と、表記辞書２２３を用いて抽出された属性とを比較し、比較結果に基づいてスコアを算出する。例えば、表記５０２の少なくとも一つの表記と属性との一致度がスコアとして算出される。文書審査モジュール２１１は、二つのスコアの合計値をＯＣＲスコアに設定する。
【０１２３】
文書審査モジュール２１１は、位置１００３及びターゲット属性種別に対応する行の位置情報３０３を用いて属性の位置の誤差を算出し、当該誤差に基づいて位置スコアを算出する。例えば、誤差をパラメータとする数式を用いて位置スコアが算出される。
【０１２４】
文書審査モジュール２１１は、選択されたテンプレートに含まれる全ての属性種別について同様の処理を実行する。文書サマリ情報生成処理の説明に戻る。
【０１２５】
次に、文書審査モジュール２１１は、全てのテンプレートについて処理が完了したか否かを判定する（ステップＳ２０４）。
【０１２６】
全てのテンプレートについて処理が完了していないと判定された場合、文書審査モジュール２１１は、ステップＳ２０２に戻り、同様の処理を実行する。
【０１２７】
全てのテンプレートについて処理が完了したと判定された場合、文書審査モジュール２１１は、代表ＯＣＲ要素選択処理を実行する（ステップＳ２０５）。
【０１２８】
代表ＯＣＲ要素選択処理では、文書審査モジュール２１１は、テンプレートに含まれる各属性種別の候補ＯＣＲ要素を選択する。文書審査モジュール２１１は、テンプレートを用いて抽出された属性の抽出精度を評価するための値である比較値を算出する。文書審査モジュール２１１は、各テンプレートの比較値を用いて代表テンプレートを選択し、また、代表テンプレートに対応する候補ＯＣＲ要素を代表ＯＣＲ要素９０３として選択する。
【０１２９】
次に、文書審査モジュール２１１は、代表ＯＣＲ要素９０３を用いて、特徴ベクトル９０４を生成し（ステップＳ２０６）、また、文書サマリ情報９０５を生成する（ステップＳ２０７）。
【０１３０】
次に、文書審査モジュール２１１は、評価値を算出するための特徴ベクトル評価処理を実行し（ステップＳ２０８）、評価値に基づいてクラスを決定する。
【０１３１】
次に、文書審査モジュール２１１は、クラス修正処理を実行する（ステップＳ２０９）。
【０１３２】
具体的には、文書審査モジュール２１１は、リスク回避判定モジュール２１３にクラス修正処理の開始を指示する。クラス修正処理の詳細は、図１２を用いて説明する。文書審査モジュール２１１は、リスク回避判定モジュール２１３から処理の完了通知を受け付けるまで待ち状態に移行する。
【０１３３】
次に、文書審査モジュール２１１は、修正後のクラスがケース０、ケース１、及びケース２のいずれであるかを判定する（ステップＳ２１０）。
【０１３４】
クラスがケース０の場合、文書審査モジュール２１１は、ステップＳ２０７において生成された文書サマリ情報９０５を出力する（ステップＳ２１５）。その後、文書審査モジュール２１１は処理を終了する。
【０１３５】
クラスがケース１の場合、文書審査モジュール２１１は、一人の審査者が生成したテンプレート及び入力文書サマリ情報の入力を受け付ける（ステップＳ２１１、ステップＳ２１２）。その後、文書審査モジュール２１１は、文書サマリ情報９０５及び入力文書サマリ情報が一致する場合、文書サマリ情報９０５を出力する（ステップＳ２１５）。なお、文書サマリ情報９０５及び入力文書サマリ情報が一致しない場合、文書審査モジュール２１１は、入力文書サマリ情報を出力する（ステップＳ２１５）。
【０１３６】
クラスがケース２の場合、文書審査モジュール２１１は、二人の審査者が生成したテンプレート及び入力文書サマリ情報の入力を受け付ける（ステップＳ２１３、ステップＳ２１４）。その後、文書審査モジュール２１１は、文書サマリ情報９０５及び入力文書サマリ情報が一致する場合、文書サマリ情報９０５を出力する（ステップＳ２１５）。なお、文書サマリ情報９０５及び入力文書サマリ情報が一致しない場合、文書審査モジュール２１１は、入力文書サマリ情報を出力する（ステップＳ２１５）。
【０１３７】
図１２は、実施例１のリスク回避判定モジュール２１３が実行するリスク回避判定処理を説明するフローチャートである。
【０１３８】
リスク回避判定モジュール２１３は、リスク特定ルール管理情報２２４に登録されたリスク特定ルールの中から使用するリスク特定ルールを一つ選択する（ステップＳ３０１）。
【０１３９】
リスク回避判定モジュール２１３は、選択されたリスク特定ルールに対応する種別のリスクが文書に存在するか否かを判定する（ステップＳ３０２）。
【０１４０】
具体的には、リスク回避判定モジュール２１３は、文書サマリ情報９０５及びＯＣＲ要素９０２のいずれかを参照し、リスク特定ルールによって定義された文字列又は文字列の条件を満たす文字列が存在するか否かを判定する。リスク特定ルールによって定義された文字列又は文字列の条件を満たす文字列が存在する場合、リスク回避判定モジュール２１３は、選択されたリスク特定ルールに対応する種別のリスクが文書に存在すると判定する。
【０１４１】
選択されたリスク特定ルールに対応する種別のリスクが文書に存在しないと判定された場合、リスク回避判定モジュール２１３は、ステップＳ３０４に進む。
【０１４２】
選択されたリスク特定ルールに対応する種別のリスクが文書に存在すると判定された場合、リスク回避判定モジュール２１３は、リスクの種別に対応するフラグを設定する（ステップＳ３０３）。その後、リスク回避判定モジュール２１３は、ステップＳ３０４に進む。
【０１４３】
本実施例では、リスク特定ルール毎にフラグが存在する。なお、リスク回避判定モジュール２１３は、フラグの代わりに、リスク特定ルールの識別情報を主記憶装置２０２に格納してもよい。
【０１４４】
ステップＳ３０４では、リスク回避判定モジュール２１３は、リスク特定ルール管理情報２２４に登録されている全てのリスク特定ルールについて処理が完了したか否かを判定する（ステップＳ３０４）。
【０１４５】
全てのリスク特定ルールについて処理が完了していないと判定された場合、リスク回避判定モジュール２１３は、ステップＳ３０１に戻り、同様の処理を実行する。
【０１４６】
全てのリスク特定ルールについて処理が完了したと判定された場合、リスク回避判定モジュール２１３は、修正ルール管理情報２２５を参照して、該当する修正ルールが存在するか否かを判定する（ステップＳ３０５）。具体的には以下のような処理が実行される。
【０１４７】
リスク回避判定モジュール２１３は、現在のクラスがクラス条件７０１に一致するエントリを検索する。リスク回避判定モジュール２１３は、フラグの値に基づいて、検索されたエントリの条件式７０２を満たすか否かを判定する。検索されたエントリの条件式７０２を満たす場合、リスク回避判定モジュール２１３は、該当する修正ルールが存在すると判定する。
【０１４８】
該当する修正ルールが存在しないと判定された場合、リスク回避判定モジュール２１３は、リスク回避判定処理を終了する。
【０１４９】
該当する修正ルールが存在すると判定された場合、リスク回避判定モジュール２１３は、該当する修正ルールにしたがって、クラスを修正する（ステップＳ３０６）。その後、リスク回避判定モジュール２１３はリスク回避判定処理を終了する。
【０１５０】
具体的には、リスク回避判定モジュール２１３は、現在のクラスを、修正クラス７０３に設定されたクラスに変更する。
【０１５１】
ここで、具体例を用いてクラス修正処理を説明する。なお、計算機１００には図６に示すリスク特定ルール管理情報２２４及び図７に示す修正ルール管理情報２２５が設定されているものとする。
【０１５２】
請求人名として「Ａ株式会社」が含まれ、かつ、請求金額として「６万円」が含まれる文書を考える。
【０１５３】
この場合、管理テーブル６００−１の一番目のエントリの条件を満たす。したがって、リスク回避判定モジュール２１３は、管理テーブル６００−１に対応する種別のリスクが存在すると判定し、管理テーブル６００−２に対応する種別のリスクは存在しないと判定する。また、リスク回避判定モジュール２１３は、管理テーブル６００−１に対応するフラグを設定する。
【０１５４】
修正前のクラスが「ケース０」である場合、修正ルール管理情報２２５の二番目のエントリに対応する修正ルールに該当するため、リスク回避判定モジュール２１３は、クラスを「ケース０」から「ケース１」に修正する。
【０１５５】
次に、図１３から図１７を用いてリスク特定ルールの生成方法について説明する。
【０１５６】
図１３は、実施例１の学習処理モジュール２１２が実行する学習用データ蓄積処理の一例を説明するフローチャートである。
【０１５７】
審査が終了し、審査者が審査結果を確認し、審査結果が正しいか否かを判定した後、学習処理モジュール２１２は以下で説明する処理を実行する。
【０１５８】
学習処理モジュール２１２は、ＯＣＲ処理の結果及び審査に使用された文書サマリ情報を取得する（ステップＳ４０１）。
【０１５９】
次に、学習処理モジュール２１２は、ＯＣＲ処理によって抽出された文字列に対して形態素解析を実行し、単語の集合を取得する（ステップＳ４０２）。なお、学習処理モジュール２１２は、形態素解析を実行せずに、属性の集合をそのまま単語の集合として取得してもよい。
【０１６０】
次に、学習処理モジュール２１２は、審査結果に対する正誤判定の結果が「正解」であるか否かを判定する（ステップＳ４０３）。
【０１６１】
審査結果に対する正誤判定の結果が「正解」であると判定された場合、学習処理モジュール２１２は、正解の文書のグループに、請求者名、並びに、請求金額及び単語等の文字列の集合を対応づけた学習用データを追加し（ステップＳ４０４）、処理を終了する。
【０１６２】
審査結果に対する正誤判定の結果が「誤判定」であると判定された場合、学習処理モジュール２１２は、誤判定の文書のグループに、請求者名、並びに、請求金額及び単語等の文字列の集合を対応づけた学習用データを追加し（ステップＳ４０５）、処理を終了する。
【０１６３】
なお、前述した処理は、クラスがケース１又はケース２である文書のみを対象としてもよい。
【０１６４】
図１４は、実施例１のルール生成モジュール２１４が実行する推奨金額提示処理の一例を説明するフローチャートである。
【０１６５】
ルール生成モジュール２１４は、請求者名及び基準金額を取得する（ステップＳ５０１）。請求者名及び基準金額は、後述する設定画面１５００（図１５を参照）を介して入力される。
【０１６６】
次に、ルール生成モジュール２１４は、学習用データを用いて、判定指標を算出する（ステップＳ５０２）。ルール生成モジュール２１４は、算出された判定指標を設定画面１５００に表示する。
【０１６７】
本発明は判定指標の種類に限定されない。判定指標は例えば以下のようなものが考えられる。ルール生成モジュール２１４は、正解の文書のグループ及び誤判定の文書のグループに含まれる文書のうち、基準金額以下の金額を含む文書の割合を第１判定指標（自動化率）として算出する。また、ルール生成モジュール２１４は、誤判定の文書のグループに含まれる文書のうち、基準金額以下の金額を含む文書の割合を第２判定指標（誤判定率）として算出する。
【０１６８】
次に、ルール生成モジュール２１４は、判定指標と目標値とを比較することによって、ユーザ基準を満たすか否かを判定する（ステップＳ５０３）。
【０１６９】
例えば、判定指標が目標値に一致する場合、判定指標が目標値より大きい場合、又は判定指標が目標値より小さい場合等に、ユーザ基準を満たすと判定される。なお、目標値及びユーザ基準は任意に設定できる。前述の第１判定指標及び第２判定指標を用いた判定の場合、第１判定指標及び第２判定指標のいずれかが条件を満たさない場合、ユーザ基準を満たさないと判定される。
【０１７０】
ユーザ基準を満たさないと判定された場合、ルール生成モジュール２１４は、基準金額を変更し（ステップＳ５０４）、その後、ステップＳ５０２に戻り、同様の処理を実行する。本発明は、基準金額の変更方法に限定されない。例えば、ルール生成モジュール２１４は、現在の基準金額に一定金額を加算又は減算する。また、ルール生成モジュール２１４は、設定画面１５００に新たな基準金額の入力を促す表示を行ってもよい。
【０１７１】
ユーザ基準を満たすと判定された場合、ルール生成モジュール２１４は、現在の基準金額を推奨金額として設定画面１５００に表示する（ステップＳ５０５）。その後、ルール生成モジュール２１４は処理を終了する。
【０１７２】
図１５は、実施例１の計算機１００が表示する設定画面１５００の一例を示す図である。
【０１７３】
設定画面１５００は、管理テーブル６００−１に対応するリスク特定ルールを設定するための画面である。設定画面１５００は、基準金額設定欄１５１０、実行ボタン１５２０、登録ボタン１５３０、グラフ表示欄１５４０、指標値表示欄１５５０、及び推奨金額表示欄１５６０を含む。
【０１７４】
基準金額設定欄１５１０は、請求者名及び基準金額を設定するための欄である。実行ボタン１５２０は、ルール生成モジュール２１４に推奨金額提示処理の実行を指示するためのボタンである。登録ボタン１５３０は、請求者名及び基準金額の組合せを管理テーブル６００−１に登録するためのボタンである。
【０１７５】
グラフ表示欄１５４０は、推奨金額を視覚的に表示するための欄である。グラフ表示欄１５４０には、請求金額ごとの、正解のグループに含まれる文書及び誤判定のグループに含まれる文書の分布が表示される。
【０１７６】
指標値表示欄１５５０は、ルール生成モジュール２１４によって算出された判定指標の値を表示するための欄である。本実施例では、自動化率及び誤判定率が指標値表示欄１５５０に表示される。
【０１７７】
推奨金額表示欄１５６０は、目標値及び推奨金額を表示するための欄である。本実施例では、自動化率の目標値である目標自動化率、推奨金額、及び推定誤判定率が推奨金額表示欄１５６０に表示される。推定誤判定率は、目標自動化率を満たす場合の誤判定率を示す。なお、推奨金額表示欄１５６０は、目標自動化率の代わりに目標誤判定率を含んでもよい。
【０１７８】
審査者は、設定画面１５００に表示された審査結果の正誤判定の結果の分布及び推奨金額を参照して、基準金額設定欄１５１０に基準金額を設定し、登録ボタン１５３０を操作する。この場合、ルール生成モジュール２１４が、管理テーブル６００−１に請求者名及び基準金額を対応づけたエントリを登録する。
【０１７９】
図１６は、実施例１のルール生成モジュール２１４が実行する推奨リスク単語提示処理の一例を説明するフローチャートである。
【０１８０】
ルール生成モジュール２１４は、単語のグループの中からターゲット単語を選択する（ステップＳ６０１）。
【０１８１】
次に、ルール生成モジュール２１４は、ターゲット単語の判定指標を算出する（ステップＳ６０２）。ルール生成モジュール２１４は、算出された判定指標を設定画面１７００（図１７を参照）に表示する。
【０１８２】
本発明は判定指標の種類に限定されない。例えば、ルール生成モジュール２１４は、正解の文書であってターゲット単語を含む文書の数及び誤判定の文書であってターゲット単語を含む文書の数に基づいて誤判定率を判定指標として算出する。
【０１８３】
次に、ルール生成モジュール２１４は、単語のグループに含まれる全ての単語について処理が完了したか否かを判定する（ステップＳ６０３）。
【０１８４】
単語のグループに含まれる全ての単語について処理が完了していないと判定された場合、ルール生成モジュール２１４は、ステップＳ６０１に戻り、同様の処理を実行する。
【０１８５】
単語のグループに含まれる全ての単語について処理が完了したと判定された場合、ルール生成モジュール２１４は、判定指標に基づいて、推奨リスク単語を選択し（ステップＳ６０４）、選択された推奨リスク単語を設定画面１７００に表示する（ステップＳ６０５）。その後、ルール生成モジュール２１４は処理を終了する。
【０１８６】
例えば、ルール生成モジュール２１４は、誤判定率が大きい順に所定の数の単語を推奨リスク単語として選択する。また、ルール生成モジュール２１４は、誤判定率が閾値より大きい単語を推奨リスク単語として選択してもよい。
【０１８７】
本実施例では、判定指標として誤判定率を使用したがこれに限定されない。例えば、相関係数及びリフト値等を判定指標として用いてもよい。
【０１８８】
図１７は、実施例１の計算機１００が表示する設定画面１７００の一例を示す図である。
【０１８９】
設定画面１７００は、管理テーブル６００−２に対応するリスク特定ルールを設定するための画面である。設定画面１７００は、リスク単語表示欄１７１０、推奨リスク単語表示欄１７２０、実行ボタン１７３０、及び登録ボタン１７４０を含む。
【０１９０】
リスク単語表示欄１７１０は、管理テーブル６００−２に登録されているリスク単語を表示するための欄である。推奨リスク単語表示欄１７２０は、推奨リスク単語を表示するための欄である。
【０１９１】
実行ボタン１７３０は、ルール生成モジュール２１４に推奨リスク単語提示処理の実行を指示するためのボタンである。登録ボタン１７４０は、リスク単語を管理テーブル６００−２に登録するためのボタンである。
【０１９２】
審査者は、リスク単語を設定する場合、推奨リスク単語表示欄１７２０の中から一つ以上の単語を選択し、登録ボタン１７４０を操作する。この場合、ルール生成モジュール２１４は、選択された単語を管理テーブル６００−２に登録する。
【０１９３】
次に、図１８を用いてテンプレートの設定方法について説明する。
【０１９４】
本実施例では、テンプレート情報２２１に設定されたテンプレートを用いることによって、文書画像データ９０１から高い精度で属性を抽出することができる。しかし、様々な形式の文書のテンプレートを予め準備するためには工数がかかるという課題がある。そこで、本実施例の計算機１００は、工数の削減のためにテンプレートの作成を支援する。
【０１９５】
図１８は、実施例１の計算機１００が表示するテンプレート入力画面１８００の一例を示す図である。
【０１９６】
テンプレート入力画面１８００は、テンプレートを設定するための画面であり、審査者の要求に応じて任意のタイミングで表示できる。
【０１９７】
テンプレート入力画面１８００は、文書選択欄１８１０、選択ボタン１８２０、属性設定欄１８３０、追加ボタン１８４０、位置設定欄１８５０、及び登録ボタン１８６０を含む。
【０１９８】
文書選択欄１８１０は、テンプレートの設定対象となる文書を選択するための欄である。文書選択欄１８１０には、テンプレート設定モジュール２１５によって決定された文書の一覧が表示される。
【０１９９】
選択ボタン１８２０は、テンプレートの設定対象となる文書を選択するためのボタンである。
【０２００】
属性設定欄１８３０は、テンプレートに含める属性の種別を設定するための欄である。
【０２０１】
追加ボタン１８４０は、属性設定欄１８３０に行を追加するためのボタンである。
【０２０２】
位置設定欄１８５０は、属性設定欄１８３０に設定された属性の種別に対応する属性の紙面上の位置を設定する欄である。
【０２０３】
登録ボタン１８６０は、画面に入力したテンプレートをテンプレート情報２２１に設定するためのボタンである。
【０２０４】
審査者が文書選択欄１８１０に表示された文書を選択し、選択ボタン１８２０を操作した場合、位置設定欄１８５０に選択された文書の文書画像データ９０１が表示される。また、審査者は、位置設定欄１８５０に表示される文字列を囲むように矩形領域を選択することによって、属性の位置情報３０３を設定できる。
【０２０５】
なお、文書選択欄１８１０にて選択された文書に対応する文書サマリ情報９０５に含まれる代表ＯＣＲ要素９０３の位置情報を、位置設定欄１８５０における各属性の位置情報の初期値として設定し、表示することができる。この場合、審査者は、位置設定欄１８５０に表示された各属性の位置を確認し、修正する必要がない場合には位置設定欄１８５０に対応する操作を行わない。これによって、テンプレートの設定に要する工数を削減できる。
【０２０６】
審査者が登録ボタン１８６０を操作した場合、テンプレート設定モジュール２１５は、テンプレート情報２２１にエントリを追加し、追加されたエントリのテンプレート番号３０１に識別番号を設定する。また、テンプレート設定モジュール２１５は、追加されたエントリに、属性設定欄１８３０に設定された属性の種別の数と同一数の行を生成し、各行除く属性３０２に属性設定欄１８３０の値を設定する。また、テンプレート設定モジュール２１５は、位置設定欄１８５０に基づいて、各行の位置情報３０３に値を設定する。
【０２０７】
ここで、文書選択欄１８１０に表示される文書の決定方法について説明する。
【０２０８】
テンプレート設定モジュール２１５は、文書審査モジュール２１１が処理した文書の中から、選択可能なテンプレートが存在しない文書又は選択されたテンプレートを用いて算出された位置スコアが予め設定された閾値より小さい文書をテンプレート作成対象の文書として選択し、選択された文書のリストを生成する。テンプレート設定モジュール２１５は、生成されたリストを文書選択欄１８１０に表示する。
【０２０９】
前述の処理によって、既に存在するテンプレートと属性の位置が類似する文書のテンプレートが生成されないように制御できる。
【０２１０】
また、別の決定方法としては、テンプレート設定モジュール２１５は、前述した方法によって選択されたテンプレート作成対象の文書をグループ化し、各グループの中から一つ以上の文書を選択し、選択された文書のリストを生成する。テンプレート設定モジュール２１５は、生成されたリストを文書選択欄１８１０に表示する。グループ化の方法としては、請求者名等の属性の値に基づいてグループ化する方法、文書サマリ情報９０５に含まれる代表ＯＣＲ要素９０３に含まれる位置情報を用いてクラスタリングを行う方法が考えられる。なお、前述した各方法を組み合わせてもよい。
【０２１１】
本実施例によれば、計算機１００は、スコアに基づいて、最適なテンプレートを選択できる。また、計算機１００は、文書サマリ情報９０５の信頼性を示す評価値に基づいて、文書サマリ情報９０５の確認操作の種別（クラス）を決定する。さらに、計算機１００は、各種別のリスクの有無に基づいて、確認操作の種別を修正する。
【０２１２】
これによって、高い精度で自動的に属性を識別でき、業務上の損失を考慮した属性の識別結果の確認を行うことができる。したがって、電子申請の審査におけるリスクの発生を回避しつつ、審査の効率化を実現できる。
【０２１３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２１４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２１５】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２１６】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２１７】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２１８】
１００  計算機
１１０  入力端末
１２０  クライアント端末
１３０  スキャナ
１５０  ネットワーク
２０１  プロセッサ
２０２  主記憶装置
２０３  副記憶装置
２０４  ネットワークインタフェース
２０５  入力装置
２０６  出力装置
２１１  文書審査モジュール
２１２  学習処理モジュール
２１３  リスク回避判定モジュール
２１４  ルール生成モジュール
２１５  テンプレート設定モジュール
２２１  テンプレート情報
２２２  単語辞書
２２３  表記辞書
２２４  リスク特定ルール管理情報
２２５  修正ルール管理情報
９０１  文書画像データ
９０２  ＯＣＲ要素
９０３  代表ＯＣＲ要素
９０４  特徴ベクトル
９０５  文書サマリ情報
【図１】
2019086984.tif 000003
【図２】
2019086984.tif 000004
【図３】
2019086984.tif 000005
【図４】
2019086984.tif 000006
【図５】
2019086984.tif 000007
【図６】
2019086984.tif 000008
【図７】
2019086984.tif 000009
【図８】
2019086984.tif 000010
【図９】
2019086984.tif 000011
【図１０】
2019086984.tif 000012
【図１１】
2019086984.tif 000013
【図１２】
2019086984.tif 000014
【図１３】
2019086984.tif 000015
【図１４】
2019086984.tif 000016
【図１５】
2019086984.tif 000017
【図１６】
2019086984.tif 000018
【図１７】
2019086984.tif 000019
【図１８】
2019086984.tif 000020