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