(57)【特許請求の範囲】
【請求項１】
第１の文書と該第１の文書の格納先を示す第１の格納先情報を受け付ける受付手段と、
文書と格納先情報を階層構造として記憶する文書記憶手段から、前記受付手段によって受け付けられた第１の格納先情報を含む構造に類似する構造の第２の格納先情報を特定し、前記受付手段によって受け付けられた第１の文書に類似する第２の文書を、該特定した第２の格納先情報が示す格納先に格納されている文書から抽出する文書抽出手段と、
前記文書抽出手段によって抽出された複数の第２の文書を解析して、雛形となる文書である雛形文書を生成する雛形文書生成手段と、
前記雛形文書生成手段によって生成された雛形文書に基づいて、前記受付手段によって受け付けられた第１の文書と比較するための文書である比較文書を生成する比較文書生成手段と、
前記比較文書生成手段によって生成された比較文書と前記受付手段によって受け付けられた第１の文書を比較して差異を抽出する差異抽出手段と、
前記差異抽出手段によって抽出された差異を出力する出力手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記雛形文書生成手段は、前記第２の文書内で該第２の文書に関する属性と対応する部分、複数の前記第２の文書間で同じ部分、複数の前記第２の文書間で異なる部分、のいずれか１つ以上を抽出し、該抽出した部分に基づいて、雛形文書を生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記雛形文書生成手段は、前記第２の文書内で該第２の文書に関する属性と対応する部分については、該属性を用いた規則を生成し、該規則を前記雛形文書に組み込む
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記雛形文書生成手段は、複数の前記第２の文書間で同じ部分については、前記雛形文書内に該部分を用いる
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記雛形文書生成手段は、複数の前記第２の文書間で異なる部分については、前記雛形文書内では比較対象とはしない部分とする
ことを特徴とする請求項２から４のいずれか一項に記載の情報処理装置。
【請求項６】
コンピュータを、
第１の文書と該第１の文書の格納先を示す第１の格納先情報を受け付ける受付手段と、
文書と格納先情報を階層構造として記憶する文書記憶手段から、前記受付手段によって受け付けられた第１の格納先情報を含む構造に類似する構造の第２の格納先情報を特定し、前記受付手段によって受け付けられた第１の文書に類似する第２の文書を、該特定した第２の格納先情報が示す格納先に格納されている文書から抽出する文書抽出手段と、
前記文書抽出手段によって抽出された複数の第２の文書を解析して、雛形となる文書である雛形文書を生成する雛形文書生成手段と、
前記雛形文書生成手段によって生成された雛形文書に基づいて、前記受付手段によって受け付けられた第１の文書と比較するための文書である比較文書を生成する比較文書生成手段と、
前記比較文書生成手段によって生成された比較文書と前記受付手段によって受け付けられた第１の文書を比較して差異を抽出する差異抽出手段と、
前記差異抽出手段によって抽出された差異を出力する出力手段
として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、誤った内容の要素の作成、必須要素の記入漏れを防止する装置、及び誤記や誤りを含んだ情報があった場合に内容を自動生成する装置を提供することを目的とし、この文書管理装置は、文書タイプ定義手段、文書構文検査手段、要素属性定義手段、要素内容生成手段、文書登録手段及び文書記憶手段とからなり、文書タイプ定義手段では、文書のタイプとして、内部要素とその間の関係を定義し、その文書が文書タイプに適合しているかどうかを文書構文検査手段で検査し、適合しているものを文書登録手段で登録し、このとき、書き込み不可要素がある場合、又は必須要素が設定されていない場合に登録を拒否しユーザーに書き直しを命じ、また、登録時に要素内容生成手段により自動的に内容を設定して情報の漏れや誤記を防止することが開示されている。
【０００３】
特許文献２には、作業対象のドキュメントに関して過去に作業したドキュメントとの相違部分を読み取ることを支援する読取支援装置を提供することを課題とし、参照ドキュメント記憶手段が参照ドキュメントの候補を記憶し、取得手段が作業対象のドキュメントを取得し、参照ドキュメント選択手段が当該作業対象のドキュメントに基づいて参照ドキュメントの候補の中から比較対象とする参照ドキュメントを選択し、比較手段が当該参照ドキュメントと作業対象のドキュメントとを比較して相違部分を検出し、出力手段が当該相違部分と他の部分との出力態様を異ならせて作業対象のドキュメントを出力し、また、参照ドキュメント記憶手段が参照ドキュメントの候補と関連付けてその作業に関する情報を記憶し、出力手段が当該情報を出力することが開示されている。
【０００４】
特許文献３には、新規文書の文書タイプ別の登録を自動的に行うことによりユーザー側の面倒な作業を不要とすることを課題とし、所定の複数の振り分け項目に基づいて定義された複数の文書タイプが文書タイプ別に分類して登録された文書タイプ格納手段と、新規文書から全文テキストデータを抽出するテキスト抽出手段と、全文テキストデータと文書タイプとを比較し、全文テキストデータに相応した文書タイプがあるか否かを判断する判断手段と、判断手段が全文テキストデータに相応した文書タイプがあると判断したとき、新規文書をその文書タイプ別に登録し、全文テキストデータに相応した文書タイプがないと判断したとき、新規文書を新たな文書タイプとして登録する登録手段とを有することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０６−１０３２６８号公報
【特許文献２】特開２００１−２９７０８０号公報
【特許文献３】特開２００６−２５９９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、予め比較文書を作成することなく、格納対象の文書と比較文書との差異を出力するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、第１の文書と該第１の文書の格納先を示す第１の格納先情報を受け付ける受付手段と、文書と格納先情報を階層構造として記憶する文書記憶手段から、前記受付手段によって受け付けられた第１の格納先情報を含む構造に類似する構造の第２の格納先情報を特定し、前記受付手段によって受け付けられた第１の文書に類似する第２の文書を、該特定した第２の格納先情報が示す格納先に格納されている文書から抽出する文書抽出手段と、前記文書抽出手段によって抽出された複数の第２の文書を解析して、雛形となる文書である雛形文書を生成する雛形文書生成手段と、前記雛形文書生成手段によって生成された雛形文書に基づいて、前記受付手段によって受け付けられた第１の文書と比較するための文書である比較文書を生成する比較文書生成手段と、前記比較文書生成手段によって生成された比較文書と前記受付手段によって受け付けられた第１の文書を比較して差異を抽出する差異抽出手段と、前記差異抽出手段によって抽出された差異を出力する出力手段を具備することを特徴とする情報処理装置である。
【０００８】
請求項２の発明は、前記雛形文書生成手段は、前記第２の文書内で該第２の文書に関する属性と対応する部分、複数の前記第２の文書間で同じ部分、複数の前記第２の文書間で異なる部分、のいずれか１つ以上を抽出し、該抽出した部分に基づいて、雛形文書を生成することを特徴とする請求項１に記載の情報処理装置である。
【０００９】
請求項３の発明は、前記雛形文書生成手段は、前記第２の文書内で該第２の文書に関する属性と対応する部分については、該属性を用いた規則を生成し、該規則を前記雛形文書に組み込むことを特徴とする請求項２に記載の情報処理装置である。
【００１０】
請求項４の発明は、前記雛形文書生成手段は、複数の前記第２の文書間で同じ部分については、前記雛形文書内に該部分を用いることを特徴とする請求項２又は３に記載の情報処理装置である。
【００１１】
請求項５の発明は、前記雛形文書生成手段は、複数の前記第２の文書間で異なる部分については、前記雛形文書内では比較対象とはしない部分とすることを特徴とする請求項２から４のいずれか一項に記載の情報処理装置である。
【００１２】
請求項６の発明は、コンピュータを、第１の文書と該第１の文書の格納先を示す第１の格納先情報を受け付ける受付手段と、文書と格納先情報を階層構造として記憶する文書記憶手段から、前記受付手段によって受け付けられた第１の格納先情報を含む構造に類似する構造の第２の格納先情報を特定し、前記受付手段によって受け付けられた第１の文書に類似する第２の文書を、該特定した第２の格納先情報が示す格納先に格納されている文書から抽出する文書抽出手段と、前記文書抽出手段によって抽出された複数の第２の文書を解析して、雛形となる文書である雛形文書を生成する雛形文書生成手段と、前記雛形文書生成手段によって生成された雛形文書に基づいて、前記受付手段によって受け付けられた第１の文書と比較するための文書である比較文書を生成する比較文書生成手段と、前記比較文書生成手段によって生成された比較文書と前記受付手段によって受け付けられた第１の文書を比較して差異を抽出する差異抽出手段と、前記差異抽出手段によって抽出された差異を出力する出力手段として機能させることを特徴とする情報処理プログラムである。
【発明の効果】
【００１３】
請求項１の情報処理装置によれば、予め比較文書を作成することなく、格納対象の文書と比較文書との差異を出力することができる。
【００１４】
請求項２の情報処理装置によれば、本構成を有していない場合に比較して、文書間で同じ部分、異なる部分のいずれか１つ以上を抽出でき、抽出した結果に基づいて、比較文書を生成するための雛形文書を生成することができる。
【００１５】
請求項３の情報処理装置によれば、規則を雛形文書内に組み込むことができる。
【００１６】
請求項４の情報処理装置によれば、第２の文書間で同じ部分を雛形文書内に用いることができる。
【００１７】
請求項５の情報処理装置によれば、第２の文書間で異なる部分については、雛形文書内では比較対象とはしない部分とすることができる。
【００１８】
請求項６の情報処理プログラムによれば、予め比較文書を作成することなく、格納対象の文書と比較文書との差異を出力することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による処理例を示すフローチャートである。
【図３】文書記憶モジュール内のフォルダ構造を示す説明図である。
【図４】文書、文書属性、フォルダ属性の例を示す説明図である。
【図５】文書、文書属性、フォルダ属性の例を示す説明図である。
【図６】文書、文書属性、フォルダ属性の例を示す説明図である。
【図７】比較結果・テンプレート文書の例を示す説明図である。
【図８】テンプレートテーブルのデータ構造例を示す説明図である。
【図９】比較文書の例を示す説明図である。
【図１０】差異表示文書の例を示す説明図である。
【図１１】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２１】
本実施の形態である情報処理装置は、図１の例に示すように、受付モジュール１１０、類似文書抽出モジュール１２０、文書記憶モジュール１３０、文書比較モジュール１４０、テンプレート文書生成モジュール１５０、比較文書生成モジュール１６０、差異検出モジュール１７０、出力モジュール１８０を有している。
なお、文書とは、テキストデータ、場合によっては画像、動画、音声等の電子データ、又はこれらの組み合わせであり、記憶、編集及び検索等の対象となり、システム又は利用者間で個別の単位として交換できるものをいい、これらに類似するものを含む。具体的には、文書作成ソフトウェアによって生成された電子文書、画像データ、電子メール等が該当する。
文書の格納先又は文書の格納先を示す格納先情報をフォルダともいう。なお、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によっては、フォルダはディレクトリーともいわれる。
【００２２】
受付モジュール１１０は、類似文書抽出モジュール１２０、差異検出モジュール１７０と接続されている。受付モジュール１１０は、文書１０２とその文書１０２の格納先フォルダ１０４を受け付ける。文書１０２は、格納先フォルダ１０４へ格納しようとしている場合、又は格納先フォルダ１０４へ既に格納した場合のいずれであってもよい。例えば、マウス、キーボード、タッチパネル等に対する操作者の操作に基づいて、文書１０２が選択され、格納先フォルダ１０４へ移動又は複写された場合が該当する。
【００２３】
文書記憶モジュール１３０は、類似文書抽出モジュール１２０と接続されている。文書記憶モジュール１３０は、文書とフォルダを階層構造として記憶する。ここでの階層構造について説明する。文書の集合（０個以上の文書）をフォルダに格納する。文書、フォルダのいずれか又は文書とフォルダの集合をフォルダに格納する。このようにして、文書、フォルダを構成要素とする階層構造を構成する。いわゆるファイルシステムである。なお、フォルダには名前をつけることができる。文書記憶モジュール１３０に記憶されている内容（文書、フォルダ、フォルダ構造）に対して、類似文書抽出モジュール１２０からアクセスされる。
【００２４】
類似文書抽出モジュール１２０は、受付モジュール１１０、文書記憶モジュール１３０、文書比較モジュール１４０と接続されている。類似文書抽出モジュール１２０は、文書記憶モジュール１３０から、受付モジュール１１０によって受け付けられた格納先フォルダ１０４を含む構造に類似する構造のフォルダを特定し、受付モジュール１１０によって受け付けられた文書１０２に類似する文書を、その特定したフォルダに格納されている文書から抽出する。
２段階で、類似する文書を特定する。
まずは、格納先フォルダ１０４を含む構造に類似するフォルダを特定する。格納先フォルダ１０４を含む構造とは、格納先フォルダ１０４と格納先フォルダ１０４に関連するフォルダ間の関係をいう。格納先フォルダ１０４に関連するフォルダとは、例えば、格納先フォルダ１０４に対して、親（上位）のフォルダ、さらにその親のフォルダ、子（下位）のフォルダ、さらにその子のフォルダ、兄弟のフォルダ（同じ親フォルダを有している他のフォルダ）等をいう。類似するフォルダとは、格納先フォルダ１０４に関連するフォルダ間の関係と同じ又は類似する関係を有しているフォルダをいう。例えば、格納先フォルダ１０４と同じ名前のフォルダ、格納先フォルダ１０４の親フォルダと同じ名前の親フォルダを有しているフォルダ、格納先フォルダ１０４の子フォルダと同じ名前の子フォルダを有しているフォルダ、格納先フォルダ１０４と予め定められた数の文字数だけ異なる名前のフォルダ、格納先フォルダ１０４の親フォルダと予め定められた数の文字数だけ異なる名前の親フォルダを有しているフォルダ、格納先フォルダ１０４の子フォルダと予め定められた数の文字数だけ異なる名前の子フォルダを有しているフォルダ等がある。類似するか否かの比較は、パス名の比較によって行うようにしてもよい。予め定められた数としては、例えば、１文字、２文字等がある。また、パス名内の予め定められた数のフォルダの名前だけが異なる場合に類似と判断してもよい。
【００２５】
次に、文書１０２に類似する文書を、前述の類似しているフォルダに格納されている文書から抽出する。例えば、文書１０２と同じ名前の文書、文書１０２と予め定められた数の文字数だけ異なる名前の文書、文書１０２の内容と同じ内容の文書、文書１０２の内容と予め定められた数の文字数だけ異なる内容の文書、文書１０２の属性と同じ属性の文書、文書１０２の属性と予め定められた数の文字数だけ異なる属性を有している文書等がある。予め定められた数としては、例えば、文書の内容の場合は文書の容量に応じて決定してもよい。
【００２６】
文書比較モジュール１４０、テンプレート文書生成モジュール１５０は、類似文書抽出モジュール１２０によって抽出された複数の類似文書を解析して、雛形（以下、テンプレートともいう）となる文書であるテンプレート文書を生成する。ここでの解析とは、文書の属性と対応する部分、複数の文書間で同じ部分、異なる部分を抽出することである。
文書比較モジュール１４０は、類似文書抽出モジュール１２０、テンプレート文書生成モジュール１５０と接続されている。文書比較モジュール１４０は、類似文書抽出モジュール１２０によって抽出された類似文書に対して、（１）類似文書内でその類似文書に関する属性と対応する部分、（２）複数の類似文書間で同じ部分、（３）複数の類似文書間で異なる部分、のいずれか１つ以上を抽出する。
【００２７】
以下、これらの部分について説明する。
（１）類似文書内でその類似文書に関する属性と対応する部分について
類似文書に関する属性とは、その類似文書の属性、その類似文書が格納されているフォルダの属性、そのフォルダと関連するフォルダの属性がある。例えば、類似文書内に担当者名の記載がある場合であって、その類似文書の属性としての「格納者」と同じであれば、この（１）に該当する。また、類似文書内に宛先名称の記載がある場合であって、その類似文書が格納されているフォルダの２つ上のフォルダ名と同じであれば、この（１）に該当する。
（２）複数の類似文書間で同じ部分について
類似文書抽出モジュール１２０によって抽出された複数の類似文書間を比較する。内容を比較して、同じ部分を抽出する。例えば、類似文書内のタイトルの記載が同じ場合は、この（２）に該当する。なお、（１）の抽出を先に行う。複数の類似文書間で同じ部分であるが（１）にも該当する部分である場合は、（１）に該当する部分として抽出することになる。
（３）複数の類似文書間で異なる部分について
類似文書抽出モジュール１２０によって抽出された複数の類似文書間を比較する。内容を比較して、異なる部分を抽出する。類似する文書ではあるが、その文書固有の記載がある。これらの記載部分が（３）に該当する。
【００２８】
テンプレート文書生成モジュール１５０は、文書比較モジュール１４０、比較文書生成モジュール１６０と接続されている。テンプレート文書生成モジュール１５０は、文書比較モジュール１４０によって抽出された部分を用いて、テンプレート文書を生成する。
テンプレート文書生成モジュール１５０は、類似文書内でその類似文書に関する属性と対応する部分については、その属性を用いた規則を生成し、その規則をテンプレート文書に組み込むようにしてもよい。属性を用いた規則とは、前述の例では、属性としての「格納者」が記載されている領域であることを示す規則である。また、属性としての「文書が格納されているフォルダの２つ上のフォルダ名」が記載されている領域であることを示す規則である。規則の適用については、比較文書生成モジュール１６０の説明で述べる。また、規則をテンプレート文書に組み込むとは、テンプレート文書から比較文書を生成する場合に、その規則を適用できるようにしたものである。規則自体をテンプレート文書内に記憶させてもよいし、テンプレート文書から比較文書を生成する場合に、アクセスできるようになっていれば、どこに記憶されていてもよい。
テンプレート文書生成モジュール１５０は、複数の類似文書間で同じ部分については、テンプレート文書内にその部分を用いるようにしてもよい。つまり、複数の類似文書間で同じ部分は、テンプレート文書でもそのまま用いられる。
テンプレート文書生成モジュール１５０は、複数の類似文書間で異なる部分については、テンプレート文書内では比較対象とはしない部分とするようにしてもよい。つまり、複数の類似文書間で異なる部分は、その文書固有のことが記載される領域であるので、比較文書においては、対象の文書と比較しても、比較対象とはしない部分とするものである。後述する自由記載欄が該当する。
【００２９】
比較文書生成モジュール１６０は、テンプレート文書生成モジュール１５０、差異検出モジュール１７０と接続されている。比較文書生成モジュール１６０は、テンプレート文書生成モジュール１５０によって生成されたテンプレート文書に基づいて、受付モジュール１１０によって受け付けられた文書１０２と比較するための文書である比較文書を生成する。つまり、文書１０２は、格納先フォルダ１０４に格納される文書としてふさわしい文書であるか否かを判断するため、テンプレート文書から文書１０２と比較するための文書（比較文書）を生成する。
具体的には、テンプレート文書内の規則を適用して、比較文書を生成する。規則を適用する場合に、文書１０２に関する属性を用いる。この規則を適用するとは、前述の例で、属性としての「格納者」が記載されている領域であることを示す規則の場合、文書１０２の属性である「格納者」の文字列をその領域内に記載することである。なお、文書１０２に関する属性として、格納先フォルダ１０４の属性、格納先フォルダ１０４に関連するフォルダの属性も含む。この場合の規則を適用するとは、前述の例で、属性としての「文書が格納されているフォルダの２つ上のフォルダ名」が記載されている領域であることを示す規則の場合、格納先フォルダ１０４の２つ上のフォルダ名をその領域内に記載することである。
【００３０】
差異検出モジュール１７０は、受付モジュール１１０、比較文書生成モジュール１６０、出力モジュール１８０と接続されている。差異検出モジュール１７０は、比較文書生成モジュール１６０によって生成された比較文書と受付モジュール１１０によって受け付けられた文書１０２を比較して差異を抽出する。つまり、比較文書は、格納先フォルダ１０４に格納される文書としてふさわしい文書（既に作成された文書等である格納先フォルダ１０４に類似しているフォルダ内にある類似文書等から生成された文書）であるので、これと文書１０２を比較して差異を抽出することによって、その差異部分を文書１０２の誤りの可能性がある部分として抽出する。
【００３１】
出力モジュール１８０は、差異検出モジュール１７０と接続されている。出力モジュール１８０は、差異検出モジュール１７０によって抽出された差異を、文書１０２の誤りの可能性がある部分として出力する。ここで差異を出力するとは、文書１０２内の差異がある部分を他の部分とは異なる形態（色、形状、模様、出力方法、又はこれらの組み合わせ）で出力するようにしてもよい。例えば、文書１０２を表示する場合に、その部分を赤くして表示する、矩形で囲って表示する、背景に模様を付して表示する、点滅表示する等が該当する。また、出力には、出力対象を画像とする場合、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ差異の情報を含む文書画像を書き込むこと等がある。また、出力対象を差異の情報を含む文書（例えば、差異の情報が追記された文書であってもよいし、差異の情報と文書へのリンクによって構成されている情報であってもよい）とする場合、ハードディスク装置、メモリーカード等の記憶媒体に記憶すること、文書データベース等の文書記憶装置へ差異の情報を含む文書を書き込むこと、他の情報処理装置（例えば、差異部分を通知する通知用プログラム等であってもよい）へ送信すること等がある。
【００３２】
図２は、本実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、受付モジュール１１０が、文書Ａ１と格納先のフォルダＢを受け付ける。
例えば、文書記憶モジュール１３０は、図３に例示するフォルダ構造の文書群を記憶している。これは、見積業務用に作成されたものであり、宛先の会社毎にファイルが分類されており、見積番号毎に見積、承認、発注、納品等の業務毎のフォルダが構成されている。そして、業務毎のフォルダ内にその業務で使用する又は使用された文書が格納されている。具体的には、見積業務フォルダ３００には、Ａ社フォルダ３０２、Ｂ社フォルダ３４８、Ｃ社フォルダ３５８、Ｄ社フォルダ３６０がある。Ａ社フォルダ３０２には、見積０００１フォルダ３０４、見積０００３フォルダ３３８がある。見積０００１フォルダ３０４には、見積フォルダ３０６、承認フォルダ３１２、発注フォルダ３１８、納品フォルダ３２２がある。見積フォルダ３０６には、見積書３０８、見積回答書３１０がある。承認フォルダ３１２には、承認依頼書３１４、承認書３１６がある。発注フォルダ３１８には、発注書３２０がある。納品フォルダ３２２には、納品書３２４がある。見積０００２フォルダ３２６には、見積フォルダ３２８、承認フォルダ３３４、発注フォルダ３３６がある。見積フォルダ３２８には、見積書３３０、見積回答書３３２がある。見積０００３フォルダ３３８には、見積フォルダ３４０、承認フォルダ３４２、発注フォルダ３４４、納品フォルダ３４６がある。Ｂ社フォルダ３４８には、見積０１０１フォルダ３５０、見積０１０２フォルダ３５２、見積０１０３フォルダ３５４、見積０１０４フォルダ３５６がある。
このようなフォルダ構造に対して、操作者の操作に応じて、文書Ａ１として文書４００を、格納先のフォルダＢとして見積フォルダ３４０に格納しようとしている場合（又は格納した場合）に、文書４００と見積フォルダ３４０を受け付ける。図４は、文書４００、文書４００の文書属性４１０、文書４００のフォルダ属性４２０（格納先フォルダの属性の一例）の例を示す説明図である。フォルダ属性４２０は、文書４００を見積フォルダ３４０に格納した場合のパス名である。
【００３３】
ステップＳ２０４では、類似文書抽出モジュール１２０が文書記憶モジュール１３０から、格納先のフォルダＢ１と関連するフォルダによって構成されるフォルダ構造と類似するフォルダ構造を有するフォルダＢ２を抽出する。
前述の例で示すと、見積フォルダ３４０に類似するフォルダ構造を有するフォルダＢとして、見積フォルダ３０６、見積フォルダ３２８を抽出する。パス名内の１つのフォルダ名だけが異なる場合（パス名内の見積０００３フォルダ３３８に対して見積０００１フォルダ３０４、見積０００２フォルダ３２６の部分が異なるだけ）に該当し、類似するフォルダとして抽出する。例えば、パス名が類似しているか否かを判断のために、類似している場合を正規表現等を用いて予め定めておいてもよい。
【００３４】
ステップＳ２０６では、類似文書抽出モジュール１２０が文書記憶モジュール１３０から、抽出したフォルダＢ２内から文書Ａ１と類似する文書Ａ２を抽出する。
前述の例で示すと、見積フォルダ３０６、見積フォルダ３２８内の文書から、文書４００と類似する文書Ａ２として、見積書３０８、見積書３３０を抽出する。見積書３０８の内容は文書５００である。見積書３３０の内容は文書６００である。図５は、文書５００、文書５００の文書属性５１０、文書５００のフォルダ属性５２０（格納先フォルダの属性の一例）の例を示す説明図である。図６は、文書６００、文書６００の文書属性６１０、文書６００のフォルダ属性６２０（格納先フォルダの属性の一例）の例を示す説明図である。文書４００の文書名、内容等と、文書５００、文書６００の文書名、内容等を比較して、異なる部分が予め定められた割合よりも少ない場合に該当するので、類似していると判断している。
【００３５】
ステップＳ２０８では、文書比較モジュール１４０が、抽出した複数の文書Ａ２に対して、（１）文書Ａ２に関する属性と対応する部分（なお、複数の文書Ａ２で同様の対応があることを条件としてもよい）、（２）複数の文書Ａ２間で同じ部分、（３）複数の文書Ａ２間で異なる部分を抽出する。
前述の例を用いると、文書５００と文書６００を比較した結果の例を比較結果・テンプレート文書７００に示す。図７は、比較結果・テンプレート文書７００の例を示す説明図である。比較結果・テンプレート文書７００は、領域７１０から領域７３０を有している。これらの領域は、句読点、改行コード、記号（例えば、「：」等）、フィールド、構造化文書の場合はタグ等、又は構文解析の結果で分割した結果である。この領域毎にステップＳ２０８の処理を行う。
「（１）文書Ａ２に関する属性と対応する部分」として、領域７１２、領域７２２、領域７２８、領域７３０を抽出する。なお、領域７１２は、格納フォルダ（見積フォルダ３０６、見積フォルダ３２８）の２つ上のフォルダ名（Ａ社フォルダ３０２）に対応する。領域７２２は、格納フォルダ（見積フォルダ３０６、見積フォルダ３２８）の１つ上のフォルダ名（見積０００１フォルダ３０４、見積０００２フォルダ３２６）に対応する。領域７２８は、属性「格納者」に対応する。領域７３０は、属性「格納日」に対応する。
「（２）複数の文書Ａ２間で同じ部分」として、領域７１０、領域７１４、領域７１６、領域７２０、領域７２４、領域７２６を抽出する。
「（３）複数の文書Ａ２間で異なる部分」として、領域７１８を抽出する。
なお、（１）、（２）、（３）の部分の抽出の対象として、文書内のテキストに限られず、画像の場合はその画像に対する文字認識結果、文字サイズ、文字色などを含めてもよい。例えば、（２）、（３）の部分を抽出するために複数の文書間で比較する場合に、テキストのみならず、文字サイズ、文字色などを含めた比較をして同じ部分、異なる部分を抽出するようにしてもよい。
【００３６】
ステップＳ２１０では、テンプレート文書生成モジュール１５０が、ステップＳ２０８で抽出した部分に対して、以下の処理を行い、テンプレート文書を生成する。（Ａ）（１）の部分については、属性を用いたルールを生成する、（Ｂ）（２）の部分については、その部分をそのまま利用する、（Ｃ）（３）の部分については、自由記述部分とする。
生成したテンプレート文書の例として、比較結果・テンプレート文書７００を示す。図７は、比較結果・テンプレート文書７００の例を示す説明図である。比較結果・テンプレート文書７００は、領域７１０から領域７３０を有している。各領域のステップＳ２１０の処理結果として、テンプレートテーブル８００を生成する。そして、比較結果・テンプレート文書７００にテンプレートテーブル８００を組み込む。図８は、テンプレートテーブル８００のデータ構造例を示す説明図である。テンプレートテーブル８００は、ＩＤ欄８１０、領域欄８２０、ルール欄８３０を有している。ＩＤ欄８１０は、本実施の形態において領域を一意に識別する符号を記憶する。領域欄８２０は、その領域の位置を記憶する。領域欄８２０は、Ｘ欄８２２、Ｙ欄８２４、Ｗ欄８２６、Ｈ欄８２８を有している。Ｘ欄８２２は、その領域の左上座標のＸ座標を記憶する。Ｙ欄８２４は、その領域の左上座標のＹ座標を記憶する。Ｗ欄８２６は、その領域の幅を記憶する。Ｈ欄８２８は、その領域の高さを記憶する。ルール欄８３０は、その領域に適用されるルールを記憶する。なお、領域欄８２０として、文書内の座標によって位置を特定したが、文書内の位置を特定し得るものであれば、フィールド、構造化文書の場合であればタグ等であってもよい。
【００３７】
ステップＳ２１２では、比較文書生成モジュール１６０が、テンプレート文書に対して、文書Ａ１に関する属性を適用して、比較文書を生成する。
前述の例を用いると、文書４００に対して比較結果・テンプレート文書７００に組み込まれているテンプレートテーブル８００を適用した結果の例が、比較文書９００である。図９は、比較文書９００の例を示す説明図である。比較文書９００は、領域９１２、領域９１８、領域９２２、領域９２８、領域９３０を有している。領域９１２は、格納フォルダ（見積フォルダ３４０）の２つ上のフォルダ名（Ａ社フォルダ３０２）を使用したものである。領域９１８は、自由記載欄としたものである。領域９２２は、格納フォルダ（見積フォルダ３４０）の１つ上のフォルダ名（見積０００３フォルダ３３８）を使用したものである。領域９２８は、文書４００の文書属性４１０内の「格納者」を使用したものである。領域９３０は、文書４００の文書属性４１０内の「格納日」を使用したものである。
【００３８】
ステップＳ２１４では、差異検出モジュール１７０が、文書Ａ１と比較文書を比較して、差異部分を検出する。
前述の例を用いると、文書４００と比較文書９００を比較する。差異部分は、比較文書９００で表すと領域９２２であり、文書４００の該当部分は「見積０００５」となっているが、比較文書９００では「見積０００３」となっている。なお、領域９１８は、文書４００との比較対象とはしていない。
ステップＳ２１６では、出力モジュール１８０が、差異部分を誤りの可能性がある部分として出力する。
前述の例を用いると、文書４００と比較文書９００の差異部分を差異表示文書１０００の例のように出力する。図１０は、差異表示文書１０００の例を示す説明図である。差異表示文書１０００は、領域１０２２を有している。領域１０２２が差異部分であり、誤りの可能性があること（見積０００３フォルダ３３８に格納しようとしている又は格納したにもかかわらず、依頼番号が見積０００５となっていること）を指摘している。
【００３９】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１１に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１１０１を用い、記憶装置としてＲＡＭ１１０２、ＲＯＭ１１０３、ＨＤ１１０４を用いている。ＨＤ１１０４として、例えばハードディスクを用いてもよい。受付モジュール１１０、類似文書抽出モジュール１２０、文書比較モジュール１４０、テンプレート文書生成モジュール１５０、比較文書生成モジュール１６０、差異検出モジュール１７０、出力モジュール１８０等のプログラムを実行するＣＰＵ１１０１と、そのプログラムやデータを記憶するＲＡＭ１１０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１１０３と、補助記憶装置であるＨＤ１１０４と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置１１０６と、ＣＲＴ、液晶ディスプレイ等の出力装置１１０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１１０７、そして、それらをつないでデータのやりとりをするためのバス１１０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００４０】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１１に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００４１】
前述の実施の形態では、類似文書として２つの文書を抽出し、テンプレート文書を生成していたが、３つ以上の類似文書を抽出するようにしてもよい。文書比較モジュール１４０は、確率を用いて、「（１）類似文書内でその類似文書に関する属性と対応する部分」、「（２）複数の類似文書間で同じ部分」、「（３）複数の類似文書間で異なる部分」を抽出してもよい。例えば、文書の１行目は、５つの文書のうち４つの文書は同じであるが、１つが異なる場合は、８０％の確率（同じである割合）で４つの文書の１行目を採用したことを抽出結果内に含めるようにしてもよい。そして、テンプレート文書生成モジュール１５０はその確率を規則（テンプレートテーブル８００のルール欄８３０）内に含め、比較文書生成モジュール１６０は領域内にその確率を含め、差異検出モジュール１７０は比較結果にその確率を含めるようにしてもよい。そして、出力モジュール１８０は、その確率で誤っている可能性があることを指摘するように出力してもよい。前述の例では、対象文書の１行目が比較文書と異なっている場合は、８０％の確率で対象文書の１行目は誤っていること、正しいのは比較文書の１行目（４つの文書の１行目）である可能性が８０％であることを指摘して出力するようにしてもよい。同様に、４つ以上の類似文書の場合に５０％の確率で属性「格納日」と一致している部分が間違っている場合は、「類似文書の５０％は、第Ｘ行目に格納日と同じ日時が記載されています。内容を確認してください。」等のメッセージを出力するようにしてもよい。なお、類似文書が２つの場合、確率５０％であることは異なっていることであるので、同じ部分ではなく、差異部分として抽出する。確率を用いるのは３つ以上の類似文書を抽出した場合としてもよい。
【００４２】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００４３】
１０２…文書
１０４…格納先フォルダ
１１０…受付モジュール
１２０…類似文書抽出モジュール
１３０…文書記憶モジュール
１４０…文書比較モジュール
１５０…テンプレート文書生成モジュール
１６０…比較文書生成モジュール
１７０…差異検出モジュール
１８０…出力モジュール
【図１】
0005510221.tif 000002
【図２】
0005510221.tif 000003
【図３】
0005510221.tif 000004
【図４】
0005510221.tif 000005
【図５】
0005510221.tif 000006
【図６】
0005510221.tif 000007
【図７】
0005510221.tif 000008
【図８】
0005510221.tif 000009
【図９】
0005510221.tif 000010
【図１０】
0005510221.tif 000011
【図１１】
0005510221.tif 000012