(57)【特許請求の範囲】
【請求項１】
複数の紙文書に対してスキャン・OCRを経て得られ、複数の文書毎に複数のメタデータを格納するメタデータデータベースと、
前記メタデータとなりうる文字列を格納する辞書データベースと、
表示装置と、
入力デバイスと、
中央処理装置と、を有し、
前記中央処理装置は、
前記メタデータデータベースに格納された前記複数の文書のそれぞれについて前記複数のメタデータの中で処理対象データが文字列であるか否か判断し、
（i）前記処理対象データが文字列である場合、前記処理対象データを前記辞書データベースに格納された文字列、及び前記メタデータデータベースにおいて正しいメタデータとして既に登録済のデータと比較し、前記処理対象データが前記辞書データベースに格納された文字列、又は前記登録済のデータと矛盾が生じているか否か判断し、矛盾が生じている場合に、前記処理対象データを修正対象のメタデータとして抽出し、前記抽出されたメタデータが修正必要であることを示すアラート表示を前記表示装置に表示し、
前記修正対象のメタデータと前記辞書データベースに含まれる辞書データとを照合し、類似したデータを修正候補として前記表示装置にサジェスト表示し、
（ii）前記処理対象データが文字列以外のデータである場合、前記処理対象データが予め定義されたフォーマットで記述されているか判断し、前記フォーマットで記述されていない前記処理対象データを前記修正対象のメタデータとして抽出し、
前記修正対象となった前記処理対象データに対して、メタデータの記述形式を定義するメタデータ項目設定ファイルにおいて定義されている適切なフォーマットを前記修正候補としてサジェスト表示し、
（iii）前記処理対象データが予め定義されたフォーマットで記述された文字列以外のデータである場合、前記登録済のデータの中に前記処理対象データを持つ文書の案件ＩＤと同一の案件ＩＤを持つ他の文書があるか否か判断し、
（iii-1）これらの文書間の作成順序が正当でない場合には、前記処理対象データを前記修正対象のメタデータとして抽出し、前記修正対象となった前記処理対象データに対して、正当な作成順序が担保されるようなデータを前記修正候補としてサジェスト表示し、
（iii-2）前記登録済のデータを持つ文書における各メタデータの項目の従属関係と、前記処理対象データを持つ文書におけるメタデータの項目の従属関係とに矛盾がある場合には、前記処理対象データを前記修正対象のメタデータとして抽出し、前記修正対象となった前記処理対象データに対して、正当な従属関係となるような文字列データを前記修正候補としてサジェスト表示することを特徴とする文書処理システム。
【請求項２】
請求項１において、
さらに、形態素解析に使用する形態素解析辞書データを格納する形態素解析データベースを有し、
前記中央処理装置は、前記複数のメタデータの中の処理対象データに対して形態素解析を実行し、当該形態素解析により得られるデータが前記形態素解析辞書データに存在するか否か判断し、前記形態素解析により得られるデータの数が所定数未満の場合に、前記修正対象のメタデータであると判定することを特徴とする文書処理システム。
【請求項３】
請求項２において、
前記中央処理装置は、修正対象となった前記処理対象データと、前記メタデータデータベース及び前記辞書データベースを比較し、マッチング度が高い文字列データを前記修正候補としてサジェスト表示することを特徴とする文書処理システム。
【請求項４】
請求項１乃至３の何れか１項において、
前記中央処理装置は、前記処理対象データが修正された場合に、修正後のデータに対して、再度修正が必要か否か判断し、修正が必要な場合には、再度アラート表示をすることを特徴とする文書処理システム。
【請求項５】
コンピュータと記憶装置を、請求項１に記載の文書処理システムとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理システム、及びプログラムに関し、例えば、紙文書に対してスキャン・OCRを施して得られたメタデータ文字列を効率的に修正する技術に関する。
【背景技術】
【０００２】
企業など多くの組織では、オフィスソフトで作成したファイルや紙文書をスキャニングしたファイルなど大量のデータが日々生成され、ファイルサーバ等で保管される。これらの大量データの中から所望のファイルを探すときは、ファイルサーバ内のフォルダをたどりながら見つけるという手段が一般的である。しかしフォルダ構造が複雑である時や、ファイルを探したい人の意図しない構造でフォルダとして纏められていると、所望のファイルを探すのは非常に時間がかかってしまう。ファイルを探す別の方法として、全文検索を用いる手段があるが、これも２つの問題がある。
【０００３】
１つは、キーワード検索だけでは見つけられないファイルがあることである（図１参照）。例えば、ある期間内の文書を全て探したい場合、全文検索では文書内の日付の文字列を「日付のデータ」として扱うことができないため、探すことができない。また他の例として、検索者が探したいキーワードと別の単語・語句が同じ意味として使われていた場合にそれが探せないという問題がある。
【０００４】
もう１つは、大量の無関係なファイルにヒットしてしまうということである（図２参照）。例えば、顧客先としての銀行を探すつもりで検索すると、他のファイルの振込先にも書かれている場合や、見積番号などのIDをもとに検索すると、IDと同じ数字が金額などに書かれている場合である。これらの全文検索に起因する問題は、文書中のキーワードを意味のある文字として扱っていないために起こることである。
【０００５】
そこで、文書のメタデータ（属性情報）を文書に対応付けて管理する方法が考えられている。例えば、特許文献１では、仮想フォルダシステムが提案されている。仮想フォルダシステムとは、ファイルにメタデータを設定しておき、仮想フォルダにはメタデータに対する検索条件を定義することで行う。仮想フォルダ参照時には、検索条件に基づいたファイルの検索結果を提示することにより、検索条件に応じた分類を実現する。例えば営業文書を管理する場面では、全てのファイルについて「文書種別名」（契約書・注文書・見積書など）と「起票日」をメタデータとして設定しておき、仮想フォルダに「文書種別名が“契約書”であるもの」という検索条件を割り当てておけば、その仮想フォルダを参照すると契約書の一覧が取得できる。同様に、別の仮想フォルダで「起票日が２００９年1月〜３月のもの」と割り当てておけば、指定期間の文書を収集することができる。このように、仮想フォルダシステムでは、ファイルを意味的に分類するので、文書の効果的な活用が可能となる。
【０００６】
紙文書をスキャンし文字データを登録する際には、OCR(Optical Character Reader)を使用する方法が一般的である。例えば、フォーマットが固定の帳票(固定帳票)を電子化する際には、あらかじめ記入されるべき文字列の種類と位置座標を定義しておき、定義された位置座標内の文字列を、定義された種類のメタデータとして保存する方法がとられることがある。図３は固定帳票の例を示した図である。文書種別、顧客名、起票日、案件IDが記入されるべき位置を定義しておき、この位置に当該文字列を記載するように帳票を作成する。そして印刷された固定帳票を電子化する際には、固定帳票の定義に基づいて文字列を認識し、メタデータとして保存する。
【０００７】
そして、メタデータを修正する際には、元の文書を参照しながら行う。文書管理製品の多くは、メタデータ登録画面を用意しており、ユーザは文書を見ながらメタデータを手入力で修正する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−３２３３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
OCRは、その認識率が100％ではないため、文字を誤認することがある。そのため、ユーザは文字が誤認されているか否かをチェックし、さらにその文字を正しく修正する必要がある。
【００１０】
0005550959.tif 000002
【００１１】
本発明はこのような状況に鑑みてなされたものである、紙文書に対して、スキャン・OCRを経て得られたメタデータ文字列の修正作業を効率的に行うための技術を提供するものである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の文書処理システムでは、紙文書に対してスキャン・OCRを経て得られたメタデータの修正作業をする際に、メタデータの修正画面において、修正すべきデータか否かを算出・表示し（アラート機能）、修正後のデータの候補を算出・表示する（サジェスト機能）。
【００１３】
そして、アラート機能は、対象文字列に対して形態素解析を施し、その結果によって実現することができる。また、メタデータ種類毎に用意された辞書DB及び／又は既に登録済の文字列が格納されたDBと、処理対象データ（対象文字列）とを比較し、その比較結果に基づいてアラート表示するか（修正が必要か）否か判断しても良い。さらに、処理対象データがあらかじめ定義されたフォーマットとマッチするか否かを判定し、その結果に基づいてアラート表示するか（修正が必要か）否か判断しても良い。また、処理対象データと、既に登録済のデータと比較し、その比較結果に基づいて（文書の作成日時の前後関係が矛盾する等）アラート表示するか（修正が必要か）否か判断しても良い。また、処理対象データ及びそれと関連あるデータとの関係（従属関係）と、既に登録済のデータ及びそれと関連あるデータとの関係（従属関係）に矛盾が生じているか否かを判定し、その判定結果に基づいて、アラート表示するか（修正が必要か）否か判断しても良い。
【００１４】
また、サジェスト機能は、アラート機能によって判定された修正原因の種類に応じて、正しい文字列の候補、正しいフォーマット、正しい値（日時）の範囲を表示することを実現する。
【００１５】
さらなる本発明の特徴は、以下本発明を実施するための形態および添付図面によって明らかになるものである。
【発明の効果】
【００１６】
本発明によれば、紙文書に対してスキャン・OCRを施して得られる文字列の中から、修正すべき文字列を容易に発見することができ、さらに、修正すべき文字列を容易に設定することが可能となる。これにより、ユーザの文字列修正作業を効率的に行うことが可能となる。
【図面の簡単な説明】
【００１７】
【図１】全文検索（キーワード検索）ではファイルを見つけられない例を示す図である。
【図２】全文検索（キーワード検索）で無関係なファイルがヒットしてしまう例を示す図である。
【図３】固定帳票のメタデータ設定の一例を示す図である。
【図４】本発明の実施形態に係る文字列修正システム（文書処理システム）の概略構成を示す図である。
【図５】メタデータ項目設定ファイルの一例を示す図である。
【図６】メタデータの一例を示す図である。
【図７】辞書データの一例を示す図である。
【図８】修正画面の一例を示す図である。
【図９】アラート判定処理の全体概要を説明するためのフローチャートである。
【図１０】アラート判定処理における修正の必要性を判定する処理（ステップ９０７）の詳細を説明するためのフローチャートである。
【図１１】形態素解析結果であって、エラーフラグを管理するデータの一例を示す図である。
【図１２】形態素解析結果の一例を示す図である。
【図１３Ａ】同一案件IDの登録済データの一例（１）を示す図である。
【図１３Ｂ】同一案件IDの登録済データの一例（２）を示す図である。
【図１４】アラート結果の一例を示す図である。
【図１５】サジェスト処理の詳細を説明するためのフローチャートである。
【図１６Ａ】サジェスト結果の一例（１）を示す図である。
【図１６Ｂ】サジェスト結果の一例（２）を示す図である。
【図１６Ｃ】サジェスト結果の一例（３）を示す図である。
【図１６Ｄ】サジェスト結果の一例（４）を示す図である。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して本発明の実施形態に係わる文字列修正技術について説明する。ただし、本実施形態は本発明を実現するための一例にすぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成には同一の参照番号が付されている。
【００１９】
＜文字列修正システムの構成＞
図４は、本発明の実施形態による文字列修正システム（文書処理システム）の概略構成を示す図である。当該文字列修正システムは、紙文書を予めスキャン・OCRを施して得られるスキャン画像及びスキャン画像の文字列データを蓄積するスキャンデータDB４０１と、スキャンデータから抽出したメタデータを格納するメタデータDB４０２と、メタデータとなり得る多数の文字列を格納する辞書DB４０３と、形態素解析時に使用する辞書を格納する形態素解析DB４０４と、メタデータの定義が記載されているメタデータ項目設定ファイル４０５（具体的な内容は図４参照）と、閾値や各種パラメータが記載されているパラメータ設定ファイル４０６と、検索結果やメタデータ設定画面の表示等を行う表示装置４０７と、データの入力や編集やメニューの選択などの操作を行うためのキーボード４０８及びマウスなどのポインティングデバイス４０９と、必要な演算処理、制御処理等を行う中央処理装置４１０と、を有している。
【００２０】
スキャンデータDB４０１、メタデータDB４０２、辞書DB４０３、及び形態素解析DB４０４は、DB（データベース）としての実体が物理的に１つではなく複数である場合も対象としている。メタデータDB４０２には、確定されたメタデータだけでなく、未確定のメタデータも含まれる。よって、未確定のメタデータのみ抽出されて修正画面に表示されることになる。
【００２１】
中央処理装置４１０は、メタデータDB４０２に対してメタデータの修正を行う画面の表示を行う修正画面表示部４１１と、メタデータDB４０２におけるメタデータの中から、修正すべき文字列を算出する修正対象算出部４１２と、修正画面表示部において、ユーザによって選択されたメタデータに対して修正後の文字列の候補を算出する修正候補算出部４１３と、を含んでいる。なお、修正対象算出部４１２及び修正候補算出部４１３は、バックグラウンドで動作するものである。また、以上に述べた処理部・データ・処理部等で用いられるプログラム等は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯ、フロッピーディスク、ＵＳＢメモリ等の種々の記録媒体に格納して提供することもできる。
【００２２】
＜メタデータ項目の設定ファイル＞
図５は、固定帳票のメタデータ項目の設定ファイルの例である。図５はXML形式のテキストデータで、各メタデータの項目名(item)、データ型(type)、記載フォーマット(define)、記載範囲(upper left, lower right)、順序関係(constraint order)、順序式(order)、従属関係(dependent item)の各情報が記載されている。itemタグは各メタデータの種類を表す。typeタグはメタデータのデータ型を表す。例えばStringは文字列型を表し、文字列のデータが格納されることを示す。Intは整数型を表し、整数のデータが格納されることを示す。Dateは日付型を表し、日付のデータが格納されることを示す。また、各データは組み合わせることもできる。例えば、String + Intは、文字列データと整数データが組み合わされたデータを示す。各型は「+」演算子で結合される。また、データは正規表現で表すこともできる。その際のデータは、次に続くdefineタグで定義される。upper leftタグとlower rightタグは帳票上のメタデータの記載範囲を表す。upper leftタグは、記載範囲の左上の座標を表し、lower rightタグは、記載範囲の右下の座標を表す。文書管理システムでは、このような定義に基づいてメタデータを格納する。
【００２３】
＜メタデータ＞
図６は、メタデータDB４０２内のメタデータの一例を示す図である。本発明では、メタデータを登録したファイルは、メタデータと共にここで管理するものとする。従って、メタデータが未登録のファイルはここには登録されていないものとする。
【００２４】
図６で示されるように、メタデータDB４０２内のデータは表形式で管理され、１つのファイルが１行に対応している。表には、構成項目として、ファイルを一意に示すID６０１、メタデータが確定されているか否かを示す状態６０２、該当ファイルのファイルパス６０３、そして該当ファイルに登録されたメタデータ６０４が含まれる。
【００２５】
メタデータ６０４は、本システムで管理するメタデータ項目毎に列を構成している。図６の例では、メタデータ項目として、文書種別名６０５、顧客名６０６、起票日６０７、案件ID６０８がある。図６では、いくつかのセルに文字の誤りが含まれている。
【００２６】
＜辞書データ＞
図７は、辞書DB４０３内の辞書データの一例を示す図である。辞書データは、メタデータ項目毎に、メタデータの文字列となり得るリストを集めたテキストファイルで構成され、あらかじめDBに登録しておく。メタデータ項目「文書種別名」におけるメタデータのキーワードを集めたものを「文書種別名.txt」に、メタデータ項目「顧客名」におけるキーワードを集めたものを「顧客名.txt」に登録した例を示している。図７に示すように、キーワードごとに改行して入力する。
【００２７】
なお、文書種別名や顧客名以外に、製品名やプロジェクト名などによって構成される辞書データも考えられるが、これらに限られるものではない。
【００２８】
＜修正画面＞
図８は、修正画面表示部４１１が作成し、表示する修正画面の一例を示す図である。当該修正画面は、GUIのウインドウ上に、表形式で表されたメタデータの他に、処理実行時に押下される修正実行メニュー８０１と、各行の修正を実行するか否かを選択する処理チェックボックス８０２とを含んでいる。
【００２９】
システムからこの画面が起動されると、修正画面表示部４１１は、状態が「未確定」となっているメタデータ一覧を表示し、また修正すべきセルを自動的にアラート表示する。また、メタデータが記載されているセルは編集可能であり、ユーザが各セルを選択すると、その選択動作に応答して修正候補算出部４１３が、修正候補の文字列の候補を算出し、修正画面表示部４１１がその候補を表示したり、あるいは、修正画面表示部４１１が、メタデータのフォーマットや、値の範囲を表すポップアップを表示させたり場合がある。これによりユーザは文字列の修正作業を効率的に行うことができる。ユーザが各セル内の文字列を修正後、修正実行メニューが選択されると、処理チェックボックス８０２がチェックされたメタデータが更新され、状態が「確定」となる。
【００３０】
＜アラート判定処理＞
アラート判定処理は、図８の修正画面が表示されるタイミングと、図８の修正画面において、セル内の文字列が更新されるタイミングで実行される。
【００３１】
図９は、修正対象算出部４１２において実行されるアラート判定処理の内容であって、修正画面が表示されるタイミングで実行される場合の処理の概要を示すフローチャートである。
【００３２】
ステップ９０１では、修正対象算出部４１２は、変数Ｎにメタデータ未確定データ数を格納する。Ｎの初期値は、メタデータ修正画面に表示されているデータ数(ファイル数)となる。例えば、図８の画面には、スクロールバーがあるため全部は表示されていませんが、チェックの有無には関係なく画面に表示されているデータすべてが対象となる。仮に図８にスクロールバーがない状態であればＮ＝４である。
【００３３】
ステップ９０２では、修正対象算出部４１２は、Ｎが０か否かを判定する。０であれば、処理対象データがないことを示しており、処理はステップ９１０に進む。０でなければ、処理はステップ９０３に進む。
【００３４】
ステップ９０３では、修正対象算出部４１２は、メタデータ未確定データを１つ選択する。このデータをＦとする。
【００３５】
ステップ９０４では、修正対象算出部４１２は、変数Ｍに処理対象メタデータ項目数を格納する。例えば、図８の例ではＭは４となる。ステップ９０５では、Ｍが0か否かを判定する。０であれば、処理対象メタデータ項目がないことを示しており、処理はステップ９０９に進む。０でなければ、処理はステップ９０６に進む。
【００３６】
ステップ９０６では、修正対象算出部４１２は、Ｆにおける処理対象メタデータを１つ選択する。このデータをＧとする。
【００３７】
ステップ９０７では、修正対象算出部４１２は、Ｇに対して修正の必要有無を判定する。ステップ９０７の詳細は、図１０を用いて詳細に説明する。
【００３８】
ステップ９０８では、修正対象算出部４１２は、Ｍに対してデクリメントを行う。このようにしてＭが０になるまでループ処理が行われる。
【００３９】
また、ステップ９０９では、修正対象算出部４１２は、Ｎに対してデクリメントを行う。Ｍと同様にＮが０になるまでループ処理が行われる。
【００４０】
Ｎに関するループ処理が終了すると、ステップ９１０では、修正対象算出部４１２は、ステップ９０７において設定されたエラーフラグに応じてメタデータがアラート表示される。
【００４１】
＜修正必要性有無の判定処理＞
図１０は、図９におけるステップ９０７の修正の必要有無の判定処理の詳細を説明するためのフローチャートである。
【００４２】
修正の必要有無を判定する対象のメタデータ（Pとする）が読み込まれると、ステップ１００１では、修正対象算出部４１２は、Pのデータ型をチェックする。データ型がＳｔｒｉｎｇ型であれば、処理はステップ１００３に進む。Ｓｔｒｉｎｇ型とは、文字列を表すデータ型である。Ｓｔｒｉｎｇ型でなければ、処理はステップ１００２に進む。
【００４３】
ステップ１００２では、修正対象算出部４１２は、Pのフォーマットをチェックする。メタデータ項目設定ファイル４０５におけるメタデータフォーマットと照合し、正しければ処理はステップ１００５に進む。正しくなければ、処理はステップ１００６に進む。
【００４４】
ステップ１００３では、修正対象算出部４１２は、辞書DB４０３上の当該メタデータ項目の文字列データ、及びメタデータDB４０２において既に登録済のメタデータにおける当該メタデータ項目の文字列データと、Pを比較する。その結果、完全一致する文字列が存在すれば、処理はステップ１００７に進む。完全一致する文字列が存在しなければ、処理はステップ１００４に進む。メタデータDB４０２に格納された確認済の文字列データとの同一性もチェックするので、辞書DBにはないが、今までの処理で正しいと判断された文字列を再度修正対象とすることが無くなる。
【００４５】
ステップ１００４では、修正対象算出部４１２は、Ｐに対して形態素解析を行う。形態素解析の結果、未定義語が一定以上含まれていれば、処理はステップ１００６に進み、修正対象算出部４１２は、エラーフラグを「STRING」（文字列に誤りがあることを示すエラーフラグ。エラーフラグについては後述する）に設定する。未定義語が一定以上含まれていなければ、処理はステップ１００７に進む。なお、この際の閾値は、文書の状態や環境等の状況などによって自由に設定可能である。この閾値は、パラメータ設定ファイル４０６に格納されている。
【００４６】
ここで、形態素解析について説明する。図１２は、形態素解析結果の一例を示す図である。形態素解析結果は、対象文字列、形態素文字列、品詞の項目から構成される。例えば、「西戸塚≠ャピタル」は、形態素解析の結果、「西」、「戸塚」、「≠」、「ャピタル」と分解される。形態素解析を行う際には、形態素解析DB４０４の辞書データが使用される。この辞書には、単語と品詞のデータが格納されている。形態素解析の結果、辞書登録単語であれば、品詞データが存在するが、辞書登録単語でなければ品詞データが存在しない。一般に、正確にOCRで認識された文字列は、意味のある文字列であるため、未定義語が含まれる可能性は低い。しかし、OCRで誤認識された文字列は未定義語が多く含まれる可能性が高い。
【００４７】
本発明では、この現象を利用して、誤認識であるか否かを判定する材料としている。「西戸塚≠ャピタル」は、元の文字列は「西戸塚キャピタル」であるがOCRが誤認識したためこのような文字列となっている。「西戸塚キャピタル」と認識されていれば、形態素解析の結果、「西」、「戸塚」、「キャピタル」と分解され、すべて形態素解析DBに登録済の単語で構成される。「西戸塚≠ャピタル」の場合、形態素解析結果は図１２のようになり、未定義語が含まれる。これにより修正すべき文字列とみなすことができる。
【００４８】
ステップ１００５では、修正対象算出部４１２は、メタデータの順序関係の正当性を判定する。順序関係の正当性は、関連するデータの中で順序に規則性を持つメタデータが、正しい規則に基づいているか否かの観点で決定される。例えば、営業証憑において同一案件には複数の書類が存在し、例えば見積書、注文書、請求書などがある。これらの書類は通常必ず見積書、注文書、請求書の順番で生成される。そのため、これらの書類の起票日は、古い書類から見積書、注文書、請求書の順番となる。もしこれらの書類の起票日がこの順番となっていなければ、OCRの誤認識などの理由により、誤認識されたメタデータと考えることができる。順序関係の正当性を判定するため、まずメタデータ項目設定ファイル４０５を参照し、処理中のメタデータ項目に、「constraint order」タグが含まれるか否かを判定する。含まれていなければ、修正対象算出部４１２は、順序関係は正しいと判定し、処理をステップ１００７に進ませる。含まれていれば、修正対象算出部４１２は、さらに順序関係の正当性を調べる。正しければ、処理はステップ１００７に進み、誤っていれば処理はステップ１００６に進み、修正対象算出部４１２がエラーフラグを「ORDER」に設定する。順序関係を調べるには、まず「constraint order」タグの子要素の「group item」タグと「order item」タグと「order」タグを読み取る。「group item」タグは、処理中のデータを含む関連するデータをグルーピングするタグである。例えば、同一案件に含まれる、見積書、注文書、請求書などは同一グループであるため、「group item」タグとして「案件ID」が付与される。ただし「group item」タグは「constraint order」タグの子要素にのみ付与される。
【００４９】
ステップ１００６では、修正対象算出部４１２は、エラーフラグを「FORMAT」に更新する。ここで、エラーフラグとは、各メタデータにどのようなアラートを表示するかを設定するためのフラグである。図１１は、エラーフラグを管理するデータの一例を示している。このデータは、メタデータを示すIDと、各メタデータ項目名に対応するエラーフラグで構成される。エラーフラグは、図８の修正画面に表示されているメタデータに対するデータでありメモリ上に記憶される。そして、修正画面が開かれると生成され、閉じられると消去される。また、各エラーフラグの初期値は「CORRECT」である。エラーフラグは５種類あり、「CORRECT」は文字列が正しいと判定されアラートの必要がないことを示す。「STRING」は文字列に誤りがあると判定されたことを示す。「FORMAT」は、文字列のフォーマットに誤りがあると判定されたことを示す。「ORDER」は、関連する他のメタデータと比較した結果、値の順序関係に誤りがあると判定されたことを示す。「DEPENDENT」は、関連する他のメタデータと比較した結果、本来格納されるべき文字列と異なると判定されたことを示す。
【００５０】
ステップ１００７では、修正対象算出部４１２は、同一の「group item」タグを持つデータの中で、「order item」タグのメタデータ項目が、「order」タグに指定された文字列である場合に、処理中のメタデータ項目が「order」タグで指定された順番となっているか否かを判定する。図１３Ａに例を示す。図１３Ａは、同一案件IDを持つデータの例である。IDが０５０と０５１のデータは、確定済であり、１０２のデータは未確定となっている。これらのデータのメタデータ定義は、図４のメタデータ項目設定ファイルで規定されている。IDが１０２の起票日に対して順序関係の正当性を判定する。起票日は「constraint order」タグが設定されているため、順序関係が定義されているメタデータ項目である。同一の案件IDをもつデータは、図１３Ａに示すデータである。これらのデータの中で、「order item」タグで規定される文書種別名において、起票日は、見積書、注文書、請求書の順番でなければならない。しかし、IDが１０２のデータの起票日は、他の２つのデータよりも古い日付である。このため、IDが１０２のデータの起票日は、順序関係に誤りがあると考えられる。
【００５１】
また、ステップ１００７では、修正対象算出部４１２は、メタデータの従属関係の正当性を判定する。従属関係の正当性は、あるメタデータ項目が、他のメタデータ項目に従属している場合に、本来格納されるべき値が格納されているか否かの観点で決定される。例えば、営業証憑において、同一案件では一般に顧客名は同一となる。そのため、もし同一案件で顧客名が異なっていた場合、格納されているメタデータは誤りと考えることができる。従属関係の正当性を判定するため、まずメタデータ項目設定ファイル４０５を参照し、処理中のメタデータ項目に「dependent item」タグが含まれているか否かを判定する。含まれていなければ、修正対象算出部４１２は、従属関係が正しいと判定し、図１０のフローチャートで示される処理を終了する。含まれていれば、修正対象算出部４１２は、さらに従属関係の正当性を調べ、正しければ図１０のフローチャートを終了し、誤っていれば処理をステップ１００８に移行させ、エラーフラグを「DEPENDENT」に設定する。従属関係の正当性を調べるには、「dependent item」タグに設定されているメタデータ項目が共通するデータにおいて、処理中のメタデータ項目が、確定済データの当該メタデータ項目の値と同一か否かを調べる。図１３Ｂに例を示す。図１３Ｂは、同一案件IDを持つデータの例である。IDが０７０と０７１のデータは、確定済であり、１０３のデータは未確定である。これらのデータのメタデータ定義は、図４のメタデータ項目設定ファイルで規定されている。IDが１０３の起票日に対して従属関係の正当性を判定する。これらのデータにおいて、顧客名には「dependent item」タグが設定されているため、顧客名は案件IDに従属する。しかし、IDが１０３の顧客名は、確定済の他の２つのデータの顧客名とは異なる。このため、IDが１０３の顧客名は、従属関係に誤りがあると考えることができる。
【００５２】
＜アラート判定結果＞
図１４は、アラート判定結果の一例である。修正すべきメタデータが色分けして表示されている（１４０１）。これにより、ユーザは修正すべきメタデータを簡単にチェックすることができ、見落とすリスクも減少する。
【００５３】
また、アラート判定処理は、修正画面において、セル内の文字列が更新されるタイミングでも実行される。この場合は、図１０に示すフローチャートに沿った処理が再度行われる。図１０のフローチャートの処理の結果、設定されたエラーフラグに応じたアラートが表示される。
【００５４】
なお、上記説明では各メタデータのエラーフラグがいずれか1つの値のみを持ち、該当するエラーフラグに関するアラートのみを表示する場合の例を示した。
【００５５】
しかし、メタデータには同時に複数の誤りが含まれることもあり得る。
この点、本発明では、複数のアラートを同時に表示することも可能である。その場合はエラーフラグをアラートの種類毎に定義し、各アラートの必要の有無を当該エラーフラグに設定する。そしてアラート表示時にはエラーフラグを参照しアラートが必要な項目についてアラートを行う。
【００５６】
＜サジェスト処理＞
図１５は、修正候補算出部４１３において実行されるサジェスト処理の内容を説明するためのフローチャートである。
【００５７】
ステップ１５０１では、修正候補算出部４１３は、メタデータ修正画面においてメタデータが格納されているセルに対するユーザの入力（選択）を受け付ける。
【００５８】
ステップ１５０２では、修正候補算出部４１３は、選択されたメタデータ（Sとする）のエラーフラグを調べ、エラーフラグに応じて後の処理を行う。エラーフラグが「CORRECT」の場合は、メタデータは正しい値であるとみなし、処理はそのままステップ１５０８に進む。
【００５９】
ステップ１５０３は、エラーフラグが「STRING」の場合の処理であり、このときはメタデータの文字列が誤認識されていることになる。修正候補算出部４１３は、正しい文字列を提示するため、まずSとメタデータDB４０２および辞書DB４０３の当該メタデータ項目の値を比較する。比較する際には、任意の文字列マッチング手法が適用可能であるが、例えば、ＤＰマッチングでマッチング可能である。
【００６０】
ステップ１５０７では、修正候補算出部４１３は、ステップ１５０３で行ったマッチング結果の中から、マッチ度が高い文字列の上位から順に表示装置４０７に表示する。図１６Ｂは、この時のサジェスト画面例を示している。なお、太字はマッチした文字を表している。ユーザは、サジェスト表示された文字列の中から任意の文字列を選択可能である。このように修正候補の文字列が表示されることにより、ユーザは文字列の修正を容易に行うことができる。
【００６１】
ステップ１５０４は、エラーフラグが「FORMAT」の場合の処理であり、このときはメタデータのフォーマットが異なっていることになる。修正候補算出部４１３は、正しいフォーマットを提示するため、メタデータ項目設定ファイル４０５における、処理中のメタデータ項目の「define」タグの内容をポップアップする。図１６Ａは、この時のポップアップ画面例を示している。なお、この例では、メタデータの定義以外に例が示されているが、これはメタデータ項目設定ファイル内に例えば「example」タグを規定し、その中に例示したい文字列を設定し、ポップアップ時にその文字列を表示することで実現可能である。
【００６２】
ステップ１５０５は、エラーフラグが「ORDER」の場合の処理であり、このときはメタデータの順序関係が誤っていることになる。修正候補算出部４１３は、正しいデータの範囲を提示するため、メタデータ項目設定ファイル４０５における定義を読み取り、取りうる値の範囲をポップアップする。図１６Ｃは、この時のポップアップ画面例を示している。
【００６３】
ステップ１５０６は、エラーフラグが「DEPENDENT」の場合の処理であり、このときはメタデータの従属関係が誤っていることになる。修正候補算出部４１３は、正しい文字列を提示するため、メタデータ項目設定ファイル４０５における、処理中のメタデータ項目の「dependent item」タグを読み取り、従属しているメタデータ項目が共通するデータの確定済データを参照し、該当するメタデータをサジェスト表示する。図１６Ｄは、この時のサジェスト画面例を示している。ユーザは、サジェスト表示された文字列を選択することで、文字列の修正を容易に行うことができる。
【００６４】
ステップ１５０８では、修正候補算出部４１３は、文字列が修正されたか否かを判定する。文字列が修正されていれば、処理はステップ１５０９に進み、文字列が修正されていなければ処理は終了する。
【００６５】
ステップ１５０９では、修正候補算出部４１３は、修正画面における処理中のメタデータの表示文字列を、修正後の文字列で更新する。
【００６６】
ステップ１５１０では、修正候補算出部４１３は、修正後の文字列に対して再度修正の必要有無を判定する。修正後の文字列が正しい文字列とは限らないためである。この処理は、図１０のフローチャートに従って行われる。
【００６７】
ステップ１５１１では、修正候補算出部４１３は、ステップ１５１０の処理で設定されたエラーフラグに応じてアラート表示を行う。なお、前述したようにエラーフラグを項目毎に設定すれば、アラート処理と同様にサジェスト処理も複数同時に行うことが可能である。
【００６８】
＜まとめ＞
以上説明したように、本実施形態によれば、メタデータデータベースに格納された複数の文書のそれぞれについて複数のメタデータの中で修正対象となるメタデータを抽出し、そのメタデータが修正必要であることを示すアラート表示を行う。また、修正対象のメタデータと辞書データベースに含まれる辞書データとを照合し、類似したデータを修正候補としてサジェスト表示を行う。これにより、紙文書に対してスキャン・OCRを施して得られた文字列を容易に発見・修正することが可能となり、ユーザにとってストレスのない形でのメタデータ設定を実現できる。
【００６９】
処理対象データが修正された場合に、修正後のデータに対して、再度修正が必要か否か判断し、修正が必要な場合には、再度アラート表示をする。これにより、最終的に正しいメタデータが抽出されるようになる。
【００７０】
また、複数のメタデータの中の処理対象データに対して形態素解析を実行し、当該形態素解析により得られるデータが形態素解析DBの形態素解析辞書データに存在するか否か判断する。そして、形態素解析により得られるデータの数が所定数未満の場合に、修正対象であると判定する。これにより、OCRの認識処理に用いる形態素解析DBをメタデータの修正の必要性有無の判定処理に流用することができるので、当該文書処理システムを実現する上でのコストを抑えることが可能となる。
【００７１】
また、複数のメタデータの中の処理対象データが文字列以外のデータ（日付や案件ＩＤ番号等）である場合、処理対象データが予め定義されたフォーマットで記述されているか判断し、フォーマットで記述されていない処理対象データを修正対象のメタデータとして抽出する。これにより、辞書DBにない数字等の認識誤りを指摘して修正させることが可能となる。
【００７２】
さらに、複数のメタデータの中の処理対象データが既に登録済のデータ（確定済のメタデータ）と比較し、処理対象データが登録済のデータと矛盾が生じているか否か判断する。矛盾が生じている場合に、処理対象データを修正対象のメタデータとして抽出する。なお、この場合の矛盾とは、登録済のデータの中に、処理対象データを持つ文書の案件ＩＤと同一の案件ＩＤを持つ他の文書がある場合、これらの文書間の作成順序が正当でない場合や、登録済のデータを持つ文書における各メタデータの項目の従属関係と、処理対象データを持つ文書におけるメタデータの項目の従属関係とが異なる場合等が該当する。これにより、１つのメタデータ項目の正誤だけでなく、項目間及び複数の文書との関係での正誤も判定でき、最終的に、適切なメタデータを抽出することができるようになる。
【００７３】
また、サジェスト表示も、修正の原因に対応して行うことができる。つまり、文字列の場合、修正対象となった処理対象データと、メタデータデータベース及び辞書データベースを比較し、マッチング度が高い文字列データを修正候補としてサジェスト表示したり、メタデータの記述形式を定義するメタデータ項目設定ファイルにおいて定義されている適切なフォーマットを修正候補としてサジェスト表示したり、正当な作成順序が担保されるようなデータを修正候補としてサジェスト表示したり、正当な従属関係となるような文字列データを修正候補としてサジェスト表示したりすることが可能となる。
【００７４】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００７５】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００７６】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【００７７】
４０１…スキャンデータDB
４０２…メタデータDB
４０３…辞書DB
４０４…形態素解析DB
４０５…メタデータ項目設定ファイル
４０６…パラメータ設定ファイル
４０７…表示装置
４０８…キーボード
４０９…マウス
４１０…中央処理装置
４１１…修正画面表示部
４１２…修正対象算出部
４１３…修正候補算出部
６０１…ファイルＩＤ
６０２…状態
６０３…ファイルパス
６０４…メタデータ全体
６０５…文書種別名
６０６…顧客名
６０７…起票日
６０８…案件ＩＤ
８０１…修正実行メニュー
８０２…処理チェックボックス
１４０１…アラート表示されたメタデータ
１６０１…フォーマット表示ポップアップ
１６０２…入力候補文字列サジェスト
１６０３…データ範囲ポップアップ
１６０４…適正文字列サジェスト
【図１】
0005550959.tif 000003
【図２】
0005550959.tif 000004
【図３】
0005550959.tif 000005
【図４】
0005550959.tif 000006
【図５】
0005550959.tif 000007
【図６】
0005550959.tif 000008
【図７】
0005550959.tif 000009
【図８】
0005550959.tif 000010
【図９】
0005550959.tif 000011
【図１０】
0005550959.tif 000012
【図１１】
0005550959.tif 000013
【図１２】
0005550959.tif 000014
【図１３Ａ】
0005550959.tif 000015
【図１３Ｂ】
0005550959.tif 000016
【図１４】
0005550959.tif 000017
【図１５】
0005550959.tif 000018
【図１６Ａ】
0005550959.tif 000019
【図１６Ｂ】
0005550959.tif 000020
【図１６Ｃ】
0005550959.tif 000021
【図１６Ｄ】
0005550959.tif 000022