(57)【特許請求の範囲】
【請求項１】
複数の文書テンプレートを記憶した文書テンプレート記憶手段と、
前記文書テンプレート記憶手段に記憶された複数の文書テンプレートのうちのいずれか１以上を用いて文書を作成する文書作成手段と、
新たな文書テンプレートを前記文書テンプレートに登録させる新規文書テンプレート登録手段とを備え、
前記文書テンプレート記憶手段に記憶された各文書テンプレートは、それぞれ１または複数の部分を含み、
前記文書テンプレート記憶手段は、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶しており、
前記新規文書テンプレート登録手段は、
少なくとも１の部分を含む新たな文書テンプレートを入力して、前記文書テンプレート記憶手段に記憶させる新規テンプレート入力手段と、
前記新規テンプレート入力手段から入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索する重複部分検索手段と、
前記重複部分検索手段の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化する最適化手段と、
前記最適化手段によって前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索する検索手段と、
前記検索手段による検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換する再最適化手段とを備える
ことを特徴とする文書作成システム。
【請求項２】
前記新規文書テンプレート登録手段は、前記文書作成手段による文書の作成の際に用いることができる文書テンプレートがない場合、新たな文書テンプレートを利用者に入力させ、文書テンプレート記憶手段に登録させ、
前記文書作成手段は、前記新規文書テンプレート登録手段によって新たに登録された文書テンプレートを用いて文書を作成する
ことを特徴とする請求項１に記載の文書作成システム。
【請求項３】
それぞれが１または複数の部分を含む複数の文書テンプレートであって、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶する文書テンプレート記憶手段と、
少なくとも１の部分を含む新たな文書テンプレートを入力して、前記文書テンプレート記憶手段に記憶させる新規テンプレート入力手段と、
前記新規テンプレート入力手段から入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索する重複部分検索手段と、
前記重複部分検索手段の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化する最適化手段と、
前記最適化手段によって前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索する検索手段と、
前記検索手段による検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換する再最適化手段と
を備えることを特徴とする文書テンプレート登録装置。
【請求項４】
前記最適化手段は、前記重複部分検索手段による検索の結果、前記新たな文書テンプレートの一部分と既存の特定の文書テンプレートの全部分とが内容的に重複している場合、前記新たな文書テンプレートの当該部分を、前記特定の文書テンプレートを指し示すポインタに置換させる
ことを特徴とする請求項３に記載の文書テンプレート登録装置。
【請求項５】
前記最適化手段は、前記重複部分検索手段による検索の結果、前記新たな文書テンプレートの全部分と既存の特定の文書テンプレートの一部分とが内容的に重複している場合、前記特定の文書テンプレートの当該部分を、前記新たな文書テンプレートを指し示すポインタに置換させる
ことを特徴とする請求項３または４に記載の文書テンプレート登録装置。
【請求項６】
前記最適化手段は、前記重複部分検索手段による検索の結果、前記新たな文書テンプレートの一部分と既存の特定の文書テンプレートの一部分とが内容的に重複している場合、該内容的に重複した部分を切り出して該切り出した部分を全内容とする文書テンプレートを生成し、前記新たな文書テンプレートの当該部分と前記特定の文書テンプレートの当該部分とを、前記切り出した部分を内容とする文書テンプレートを指し示すポインタに置換させる
ことを特徴とする請求項３乃至５のいずれか１項に記載の文書テンプレート登録装置。
【請求項７】
それぞれが１または複数の部分を含む複数の文書テンプレートであって、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶する文書テンプレート記憶手段に、少なくとも１の部分を含む新たな文書テンプレートを登録するための方法であって、
少なくとも１の部分を含む新たな文書テンプレートを外部から入力させ、前記文書テンプレート記憶手段に記憶させるステップと、
前記入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索するステップと、
前記重複部分の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化するステップと、
前記最適化により前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索するステップと、
前記ポインタ構造の検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換するステップと
を含むことを特徴とする文書テンプレート登録方法。
【請求項８】
それぞれが１または複数の部分を含む複数の文書テンプレートであって、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶する文書テンプレート記憶手段を有するコンピュータ装置を、
少なくとも１の部分を含む新たな文書テンプレートを入力して、前記文書テンプレート記憶手段に記憶させる新規テンプレート入力手段、
前記新規テンプレート入力手段から入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索する重複部分検索手段、
前記重複部分検索手段の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化する最適化手段、
前記最適化手段によって前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索する検索手段、及び、
前記検索手段による検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換する再最適化手段
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書作成システム、文書テンプレート登録装置及び方法、そのためのプログラム、並びに文書テンプレート登録データに関し、特に実質的に同内容の文書テンプレートが重複して蓄積されるのを抑えることができるものに関する。
【０００２】
【従来の技術】
ビジネス文書では、定型文が利用される場合が多い。また、個人間でやりとりされる文書でも、季節の挨拶状などには定型文が利用される場合がある。そこで、特にこのような定型文の作成を容易にするため、予めデータベースなどに格納されたデータを検索し、抽出されたデータを基にして文書の作成を行うことができるものとして、例えば、特開２０００−５７０６６号公報、特開２０００−３０５８７２号公報、特開平５−３４６９１９号公報（以下、それぞれ従来例１、２、３という）などがある。
【０００３】
従来例１では、受信した電子メールの質問内容を解読し、その解読内容に基づいて回答データ蓄積部から回答データを検索する。回答データが検索された場合には、その回答データを含む返信メールを自動的に作成する。一方、回答データが検索されなかった場合は、新たな回答データを入力して返答文を作成すると共に、入力した回答データを回答データ蓄積部に蓄積させる。
【０００４】
従来例２では、電子メールでの問い合わせ及びその対応状況が複数のクライアントにおいて共通の対応記録データベースに登録されている。各クライアントにおいて受信した電子メールに対する返信メールを作成する場合に、共通の対応記録データベースにアクセスし、そこに登録された対応状況に基づいて返信メールを作成することができる。新たな内容の返答をした場合などには、それが対応記録データベースに登録されるものとなる。
【０００５】
従来例３では、例えば、ビジネス文書を構成するパーツとして、頭語、時候、…、結語といった構成部分（パーツ）に分類しておき、パーツ毎に分類してパーツメモリに複数種類のデータを記憶している。そして、パーツデータメモリからパーツ毎に選び出したデータを組み合わせることで、ビジネス文書を作成することができるようにしている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記した従来例には、それぞれ次のような問題があった。すなわち、従来例１と２とでは、返答文の作成に際して適切なデータが記憶されていなかった場合に新たに登録されることとなるデータは、その一部が既存のデータとは異なっているものの、他の部分は内容的に同じであるという場合もあり得る。このように内容が重複した部分を有するデータがいくつも存在すると、データ全体を記憶するために必要な容量が大きくなってしまうという問題があった。また、記憶されたデータを整理する場合にも、そのメンテナンス効率が悪いという問題があった。
【０００７】
一方、従来例３では、パーツ毎に分類してデータを記憶しているので、一部のパーツだけ僅かに異なるデータがいくつも記憶されてしまうということは防ぐことができる。しかし、例えば本文のように比較的長い内容となるパーツでは、同じ分類に属するパーツのデータ間で、内容の一部重複ということが発生し得る。このような状態が発生した場合は、やはり従来例１及び２と同じ問題が生じてしまうこととなっていた。
【０００８】
本発明は、複数の文書テンプレートにおいて内容的に重複した部分が重ねて文書テンプレート記憶手段（データベース）に蓄積されるのを抑えることができる文書作成システム、文書テンプレート登録装置及び方法、そのためのプログラム、並びに文書テンプレート登録データを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点にかかる文書作成システムは、
複数の文書テンプレートを記憶した文書テンプレート記憶手段と、
前記文書テンプレート記憶手段に記憶された複数の文書テンプレートのうちのいずれか１以上を用いて文書を作成する文書作成手段と、
新たな文書テンプレートを前記文書テンプレートに登録させる新規文書テンプレート登録手段とを備え、
前記文書テンプレート記憶手段に記憶された各文書テンプレートは、それぞれ１または複数の部分を含み、
前記文書テンプレート記憶手段は、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶しており、
前記新規文書テンプレート登録手段は、
少なくとも１の部分を含む新たな文書テンプレートを入力して、前記文書テンプレート記憶手段に記憶させる新規テンプレート入力手段と、
前記新規テンプレート入力手段から入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索する重複部分検索手段と、
前記重複部分検索手段の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化する最適化手段と、
前記最適化手段によって前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索する検索手段と、
前記検索手段による検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換する再最適化手段とを備える
ことを特徴とする。
【００１０】
上記文書作成システムでは、文書テンプレート記憶手段に新たな文書テンプレートを記憶させると、この新たな文書テンプレートに含まれる部分で既存の文書テンプレートに含まれる部分と内容の重複がある場合に、そのような部分を他の文書テンプレートを指し示すポインタで置き換えることにより、実質的に同じ内容の部分を文書テンプレート記憶手段に記憶させなくてもよいようにしている。このように実質的に同じ内容の部分は文書テンプレート記憶手段に最小限だけ記憶しておけばよいことから、必要となる記憶容量を小さくすることができる。
【００１１】
上記文書作成システムにおいて、
前記新規文書テンプレート登録手段は、前記文書作成手段による文書の作成の際に用いることができる文書テンプレートがない場合、新たな文書テンプレートを利用者に入力させ、文書テンプレート記憶手段に登録させ、
前記文書作成手段は、前記新規文書テンプレート登録手段によって新たに登録された文書テンプレートを用いて文書を作成するものとすることができる。
【００１２】
文書作成に用いることができる文書テンプレートがない場合というのは、一般的に利用者が最も新たな文書テンプレートの登録を行いたいと考える場合である。また、新たな文書テンプレートの登録は、一般的に作成中の文書における必要性に基づいて行われたものである。このため、ここで示したように新規文書テンプレート登録手段と文書作成手段を構成することによって、文書作成システムとしての使い勝手がよくなる。
【００１３】
上記目的を達成するため、本発明の第２の観点にかかる文書テンプレート登録装置は、
それぞれが１または複数の部分を含む複数の文書テンプレートであって、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶する文書テンプレート記憶手段と、
少なくとも１の部分を含む新たな文書テンプレートを入力して、前記文書テンプレート記憶手段に記憶させる新規テンプレート入力手段と、
前記新規テンプレート入力手段から入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索する重複部分検索手段と、
前記重複部分検索手段の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化する最適化手段と、
前記最適化手段によって前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索する検索手段と、
前記検索手段による検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換する再最適化手段と
を備えることを特徴とする。
【００１４】
上記文書テンプレート登録装置では、文書テンプレート記憶手段に新たな文書テンプレートを記憶させると、この新たな文書テンプレートに含まれる部分で既存の文書テンプレートに含まれる部分と内容の重複がある場合に、そのような部分を他の文書テンプレートを指し示すポインタで置き換えることにより、実質的に同じ内容の部分を文書テンプレート記憶手段に記憶させなくてもよいようにしている。このように実質的に同じ内容の部分は文書テンプレート記憶手段に最小限だけ記憶しておけばよいことから、必要となる記憶容量を小さくすることができる。
【００１５】
上記文書テンプレート登録装置において、
前記最適化手段は、前記重複部分検索手段による検索の結果、前記新たな文書テンプレートの一部分と既存の特定の文書テンプレートの全部分とが内容的に重複している場合、前記新たな文書テンプレートの当該部分を、前記特定の文書テンプレートを指し示すポインタに置換させるものとすることができる。
【００１６】
また、前記最適化手段は、前記重複部分検索手段による検索の結果、前記新たな文書テンプレートの全部分と既存の特定の文書テンプレートの一部分とが内容的に重複している場合、前記特定の文書テンプレートの当該部分を、前記新たな文書テンプレートを指し示すポインタに置換させるものとすることができる。
【００１７】
また、前記最適化手段は、前記重複部分検索手段による検索の結果、前記新たな文書テンプレートの一部分と既存の特定の文書テンプレートの一部分とが内容的に重複している場合、該内容的に重複した部分を切り出して該切り出した部分を全内容とする文書テンプレートを生成し、前記新たな文書テンプレートの当該部分と前記特定の文書テンプレートの当該部分とを、前記切り出した部分を内容とする文書テンプレートを指し示すポインタに置換させるものとすることができる。
【００２０】
上記目的を達成するため、本発明の第３の観点にかかる文書テンプレート登録方法は、
それぞれが１または複数の部分を含む複数の文書テンプレートであって、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶する文書テンプレート記憶手段に、少なくとも１の部分を含む新たな文書テンプレートを登録するための方法であって、
少なくとも１の部分を含む新たな文書テンプレートを外部から入力させ、前記文書テンプレート記憶手段に記憶させるステップと、
前記入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索するステップと、
前記重複部分の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化するステップと、
前記最適化により前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索するステップと、
前記ポインタ構造の検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換するステップと
を含むことを特徴とする。
【００２１】
上記目的を達成するため、本発明の第４の観点にかかるプログラムは、
それぞれが１または複数の部分を含む複数の文書テンプレートであって、他の文書テンプレートと内容が重複する部分を含んでいる文書テンプレートについて該重複部分を前記他のテンプレートを指し示すポインタで置き換えたものを記憶する文書テンプレート記憶手段を有するコンピュータ装置を、
少なくとも１の部分を含む新たな文書テンプレートを入力して、前記文書テンプレート記憶手段に記憶させる新規テンプレート入力手段、
前記新規テンプレート入力手段から入力させた新たな文書テンプレートの各部分と、前記文書テンプレート記憶手段に既に記憶されていた文書テンプレートの各部分とで、内容の重複する部分を検索する重複部分検索手段、
前記重複部分検索手段の検索結果に従って、新たな文書テンプレートに含まれる部分及び既存の文書テンプレートに含まれる部分のうちの少なくとも１つの部分を、他の文書テンプレートを指し示すポインタに置換させて、前記文書テンプレート記憶手段を最適化する最適化手段、
前記最適化手段によって前記新たな文書テンプレートに置換されたポインタが複数含まれる場合に、そのうちの少なくとも２つのポインタと同じポインタ構造を有するさらに他の文書テンプレートを前記文書テンプレート記憶手段から検索する検索手段、及び、
前記検索手段による検索で同じポインタ構造を有する文書テンプレートが抽出された場合に、前記新たな文書テンプレートからのポインタを前記同じポインタ構造を有する文書テンプレートを指し示すポインタにさらに置換する再最適化手段
として機能させることを特徴とする。
【００２５】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００２６】
図１は、この実施の形態にかかる返信メール作成システムの構成を示すブロック図である。この文書作成システムは、ＣＰＵ、記憶装置（主記憶及び補助記憶を含む）、入力装置、表示装置及び通信装置を備える汎用コンピュータ装置によって構成され、図示するように、メール受信部１と、メール解析部２と、回答テンプレートデータベース３と、返信メール作成部４と、新規テンプレート登録部５と、メール返信部６とを備えている。返信メール作成部４は、回答検索部４１と、回答選択部４２と、回答加工部４３とを含む。
【００２７】
メール受信部１は、インターネットなどを介して送られてきた、返信メールの作成対象となる往信の電子メール（往信メール）を受信する。メール解析部２は、メール受信部１が受信した往信メールを形態素解析し、構文解析する。回答テンプレートデータベース３は、返信メールを作成する際に選択可能な回答テンプレートを登録したデータベースである。回答テンプレートデータベース３及びそこに登録される回答テンプレートの詳細については後述する。
【００２８】
返信メール作成部４は、受信メールの内容に対して回答した返信の電子メール（返信メール）を作成する。返信メール作成部４において、回答検索部４１は、まずメール解析部２の解析結果から特徴情報を抽出し、この特徴情報を用いて回答テンプレートデータベース３を検索して、１以上の回答テンプレートを抽出する。回答選択部４２は、例えば利用者の選択に従って、回答検索部４１が抽出した回答テンプレートの中から返信メールの作成に用いる回答テンプレートを選択する。回答検索部４１が回答テンプレートを抽出できなかった場合、及び回答選択部４２で回答テンプレートを選択しない場合には、その旨が新規テンプレート登録部５に通知される。回答加工部４３は、利用者からの入力に基づいて回答選択部４２が選択した回答テンプレートを加工して、返信メールを作成する。
【００２９】
新規テンプレート登録部５は、返信メールを作成するための処理の中で、或いは任意のタイミングでの利用者からの指示によって、回答テンプレートデータベース３に新たな回答テンプレートを登録する。この際、新たな回答テンプレートが既存の回答テンプレートと内容的に重複するかどうかを判定し、重複状況に応じて回答テンプレートの格納単位及び格納構造を最適化する。メール返信部６は、返信メール作成部４が作成した返信メールを、その作成の元となった往信メールの送信元アドレスを送信先アドレスとして、インターネットなどを介して送信する。
【００３０】
なお、メール解析部２、返信メール作成部４、及び新規テンプレート登録部５は、主としてプログラムを実行するＣＰＵによって実現される。返信メール作成部４の回答検索部４１、回答選択部４２、回答加工部４３は、入力装置からの情報の入力を受け付け、表示装置に処理した情報を表示させる機能も、ＣＰＵのプログラム実行により実現させている。メール受信部１及びメール返信部６は、ＣＰＵのプログラム実行により制御される通信装置によって実現される。回答テンプレートデータベース３は、記憶装置内の所定の領域に格納される。
【００３１】
図２は、回答テンプレートデータベース３に登録される回答テンプレートの例を示す図である。図示するように、回答テンプレート３０は、タグ（<template>及び</template>）３ａによって、その始まりと終わりとが示されている。タグ３ａによって囲まれた範囲には、回答テンプレート３０の回答部分３ｂ、３ｃ、３ｄが含まれている。
【００３２】
回答部分３ｂ、３ｄは、その内容を示す文字列からなるもので、タグ（<text>及び</text>）によって、その始まりと終わりとが示される。この部分は、予め構文解析されて構文木の形で回答テンプレートデータベース３に格納されていてもよい。回答部分３ｃは、他の回答テンプレートを指し示すポインタによって構成されるもので、タグ（<pointer>及び</pointer>）の中に、ポインタとしての参照先テンプレート名が記入されている。回答テンプレート３０は、回答検索部４１によって回答テンプレートデータベース３から抽出される場合、回答部分３ｃは、参照先テンプレート名で示す他の回答テンプレートの内容に置き換えられる。
【００３３】
図３は、回答テンプレートデータベース３の構造を示す図である。ここでは、説明を簡単にするため、６つの回答テンプレート３１〜３６のみを示している。これらの回答テンプレート３１〜３６のうちで、回答テンプレート３１、３２は４つの回答部分を、回答テンプレート３３は３つの回答部分を、回答テンプレート３４は２つの回答部分を、回答テンプレート３５、３６は１つの回答部分を含んでいる。
【００３４】
回答テンプレート３１の上から２番目及び３番目の回答部分は、回答テンプレート３４と内容が重複しており、回答テンプレートデータベース３において、この部分が回答テンプレート３４を指し示すポインタに置き換えられている。回答テンプレート３２の上から３番目及び４番目の回答部分も、回答テンプレート３４と内容が重複しており、回答テンプレートデータベース３において、この部分も回答テンプレート３４を指し示すポインタに置き換えられている。つまり、回答テンプレート３４は、回答テンプレート３１と３２とから指し示されている。
【００３５】
また、回答テンプレート３３の上から２番目の回答部分は、回答テンプレート３５と内容が重複しており、回答テンプレートデータベース３において、この部分が回答テンプレート３５を指し示すポインタに置き換えられている。回答テンプレート３４の下の回答部分も、回答テンプレート３５と内容が重複しており、回答テンプレートデータベース３において、この部分も回答テンプレート３５を指し示すポインタに置き換えられている。つまり、回答テンプレート３５は、回答テンプレート３３と３４とから指し示されている。また、回答テンプレート３４は、回答テンプレート３１と３２とから指し示されている他に、回答テンプレート３５を指し示すものとなっている。
【００３６】
また、回答テンプレート３３の１番下の回答部分は、回答テンプレート３６と内容が重複している。回答テンプレートデータベース３において、この部分が回答テンプレート３６を指し示すポインタに置き換えられている。つまり、回答テンプレート３６は、回答テンプレート３３から指し示されている。また、回答テンプレート３３は、回答テンプレート３５と３６との２つを、指し示すものとなっている。
【００３７】
なお、このような構造で回答テンプレート３１〜３６を格納した回答テンプレートデータベース３から、例えば回答テンプレート３１を抽出する場合、次のようにして抽出が行われる。すなわち、回答テンプレート３１には、回答テンプレート３４を指し示すポインタが含まれているので、この部分を回答テンプレート３４の内容で置換する。回答テンプレート３４の内容で置換を行った回答テンプレート３１には、さらに回答テンプレート３５を指し示すポインタが含まれていることとなる。そこでこの部分を回答テンプレート３５の内容で置換して他の回答テンプレートを指し示すポインタがなくなった状態で、回答テンプレート３１として抽出するものとなる。
【００３８】
以下、この実施の形態にかかる返信メール作成システムにおける処理について説明する。図４は、この実施の形態にかかる返信メール作成システムにおける全体的な処理の流れを示すフローチャートである。
【００３９】
まず、メール受信部１が、返信メールの作成対象となる電子メール（往信メール）を受信する（ステップＳ１０１）。次に、メール解析部２は、受信メールの本文を形態素解析し、さらに構文解析して構文木を生成する（ステップＳ１０２）。次に、回答検索部４１は、ステップＳ１０２で生成された構文木に基づいて特徴情報を抽出し、抽出した特徴情報に基づいて回答テンプレートデータベース３を検索する（ステップＳ１０３）。この検索によって、回答テンプレートデータベース３から抽出された回答テンプレートがあったかどうかを判定する（ステップＳ１０４）。
【００４０】
検索された回答テンプレートがあった場合には、回答選択部４２は、抽出された回答テンプレートの一覧を表示装置に表示させ、この一覧の中から所望の回答テンプレートを利用者に選択させる。或いは、選択すべき回答テンプレートがないことを利用者に指示させる（ステップＳ１０５）。ここで、利用者が選択すべき回答テンプレートがないことを指示したかどうかを判定する（ステップＳ１０６）。いずれかの回答テンプレートが選択された場合には、ステップＳ１０９の処理に進む。
【００４１】
また、ステップＳ１０４で抽出された回答テンプレートがなかった場合、またはステップＳ１０６で選択すべき回答テンプレートがないことが指示された場合には、新規テンプレート登録部５は、新たな回答テンプレートの登録を行うかどうかを利用者に指示させる（ステップＳ１０７）。新たな回答テンプレートの登録を行わないと利用者から指示された場合には、ステップＳ１０９の処理に進む。
【００４２】
新たな回答テンプレートの登録を行うと利用者から指示された場合には、新規テンプレート登録部５は、詳細を後述する回答テンプレート登録処理を行って、新たな回答テンプレートを回答テンプレートデータベース３に登録する（ステップＳ１０８）。そして、ステップＳ１０３の処理に戻り、回答検索部４１に、新たな回答テンプレートが登録された回答テンプレートデータベース３を検索させる。
【００４３】
ステップＳ１０９では、回答加工部４３は、回答テンプレートが選択されていればこの回答テンプレートを元に利用者に情報を入力させ、回答テンプレートが選択されていなければ白紙のシートに情報を入力させることで、回答文を生成する。生成された回答文は、返信メール作成部４からメール返信部６に渡される（ステップＳ１０９）。
【００４４】
そして、メール返信部６は、返信メール作成部４から渡された回答を本文とし、往信メールの発信元のアドレスを宛先とした返信メールを、インターネットなどを介して送信する（ステップＳ１１０）。これにより、受信メールの発信者に、返信メールが届けられることとなる。以上でこの実施の形態にかかる返信メール作成装置における一連の処理が終了する。
【００４５】
次に、ステップＳ１０８の回答テンプレート登録処理について、詳細に説明する。図５は、ステップＳ１０８の回答テンプレート登録処理を詳細に示すフローチャートである。図６〜図８は、回答テンプレート登録処理における新たな回答テンプレートの登録を説明する図である。
【００４６】
新規テンプレート登録部５は、新たに登録しようとする回答テンプレートを利用者に入力装置から入力させる（ステップＳ２０１）。次に、この新たに登録された回答テンプレートと同じ名称の回答テンプレートが回答テンプレートデータベース３に既に登録されているかどうかを判定する（ステップＳ２０２）。同じ名称の回答テンプレートが未だ登録されていなければ、ステップＳ２０４の処理に進む。
【００４７】
同じ名称の回答テンプレートが既に登録されていた場合には、利用者に登録しようとする回答テンプレートの名称を変更させる（ステップＳ２０３）。そして、ステップＳ２０２の処理に戻り、未だ登録されていない名称に変更されるまでこの処理を繰り返させ、未だ登録されていない名称に変更されたと判定することによって、ステップＳ２０４の処理に進む。
【００４８】
ステップＳ２０４では、新規テンプレート登録部５は、ステップＳ２０１で入力された新たな回答テンプレートを回答テンプレートデータベース３に登録する。その後、新規テンプレート登録部５は、回答テンプレートデータベース３から内容が重複する回答テンプレートを抽出し、回答テンプレートの格納単位・格納階層を最適化するための処理を行う。
【００４９】
回答テンプレートの格納単位・格納階層を最適化するための処理として、新規テンプレート登録部５は、変数ｎに０を代入する（ステップＳ２０５）。次に、新規テンプレート登録部５は、図６（ａ）に示すように回答テンプレートデータベース３に既に登録されている回答テンプレートの各回答部分であって、新たに登録された回答テンプレートの各回答部分と内容が重複するものを全て検索する。ここで重複部分が検索された数についてのカウントを行っている（ステップＳ２０６）。
【００５０】
次に、新規テンプレート登録部５は、重複部分が検索された数についてのカウント値が変数ｎの値より大きいかどうかを判定する（ステップＳ２０７）。カウント値が変数ｎの値より大きい場合には、新規テンプレート登録部５は、回答テンプレートデータベース３内の回答テンプレートの分割・統廃合を行う（ステップＳ２０８）。ここで、最初にステップＳ２０８が実行される場合の変数ｎの値は０なので、１つでも重複部分が検索されれば、ステップＳ２０８の処理に進んで回答テンプレートの分割・統廃合が行われることとなる。
【００５１】
回答テンプレートの分割・統廃合は、次のように行われる。新たな回答テンプレートの一部の回答部分が既存の回答テンプレートの全体と内容が重複すれば、図６（ｂ）に示すように、新たな回答テンプレートに含まれる内容の重複する回答部分を削除し、その部分に既存の回答テンプレートを指し示すポインタを挿入する。新たな回答テンプレートに含まれる複数の回答部分が、それぞれ別の既存の回答テンプレートを内容的に包含する場合には、それぞれの回答部分について、対応する既存の回答テンプレートを指し示すポインタへの置換が行われる。
【００５２】
また、新たな回答テンプレートの全体が既存の回答テンプレートの一部の回答部分と内容が重複すれば、図６（ｃ）に示すように、既存の回答テンプレートに含まれる内容の重複する回答部分を削除し、その部分に新たな回答テンプレートを指し示すポインタを挿入する。新たな回答テンプレートと内容が重複する回答部分を有する既存の回答テンプレートが複数あれば、その複数の回答テンプレートの対応する回答部分のそれぞれについて、新たな回答テンプレートを指し示すポインタへの置換が行われる。
【００５３】
また、新たな回答テンプレートの一部の回答部分と既存の回答テンプレートの一部の回答部分との内容が重複すれば、図６（ｄ）に示すように、その内容が重複する回答部分を切り出し、切り出した回答部分を含む回答テンプレート（適当に名称を付与する）を生成して回答テンプレートデータベース３に登録する。そして、新たな回答テンプレートに含まれる内容の重複する回答部分と、既存の回答テンプレートに含まれる内容の重複する回答部分とを削除し、それぞれの部分に、切り出した回答部分を含む回答テンプレートを指し示すポインタを挿入する。
【００５４】
ところで、図７（ａ）に示すように、回答テンプレート３Ａ、３Ｂ、３Ｃが既に回答テンプレートデータベース３に登録されている状態で、新たに回答テンプレート３Ｎが回答テンプレートデータベース３に登録される場合を考える。回答テンプレート３Ａの上の回答部分、回答テンプレート３Ｂの中の回答部分は、回答テンプレート３Ｃと内容が重複しており、回答テンプレート３Ｃを指し示すポインタに置き換えられて登録されている。また、新たな回答テンプレート３Ｎの下２つの回答部分は、回答テンプレート３Ａの上２つの回答部分と内容が重複する。
【００５５】
この場合には、図７（ｂ）に示すように、新たな回答テンプレート３Ｎと既存の回答テンプレート３Ａの内容が重複した部分を切り出して全内容とした回答テンプレート３ＥＸが生成される。この回答テンプレート３ＥＸは、回答部分Ｘの他に、回答テンプレート３Ｃと内容的に重複する部分が含まれる。そこで、回答テンプレート３ＥＸのこの部分は、回答テンプレート３Ｃを指し示すポインタに置き換えられて、回答テンプレートデータベース３に登録される。
【００５６】
上記したようにして、重複部分の１つについて回答テンプレートの分割・統廃合の処理が行われると、新規テンプレート登録部５は、変数ｎの値を１だけインクリメントし（ステップＳ２０９）、ステップＳ２０７の処理に戻る。こうしてステップＳ２０６で検索された全ての重複部分について、回答テンプレートの分割・統廃合のための処理が行われることとなる。
【００５７】
ステップＳ２０７で検索された重複部分の数が変数ｎの値以下となった場合には、新規テンプレート登録部５は、新たな回答テンプレートにおいてポインタに置換された部分が複数あるかどうかを判定する（ステップＳ２１０）。新たな回答テンプレートにおいてポインタに置換された部分が複数なければ、そのままテンプレート登録処理を終了する。
【００５８】
なお、図８（ａ）において、Ｘ，Ａ，Ｂ，Ｙという４つの部分を含む回答テンプレート３ｎを新たに回答テンプレートデータベース３に登録した場合、Ａの部分だけの回答テンプレート３ａとＢの部分だけの回答テンプレート３ｂとが既に存在していた場合、図８（ｂ）に示すように、回答テンプレート３ｎ中のＡの部分とＢの部分とは、それぞれ回答テンプレート３ａ、３ｂを指し示すポインタに置換されることになる。ステップＳ２１０の判定結果がＹＥＳとなるのは、このような場合である。
【００５９】
新たな回答テンプレートにおいてポインタに置換された部分が複数あった場合には、新規テンプレート登録部５は、回答テンプレートデータベース３内の他の回答テンプレートから、前記新たな回答テンプレートからの複数のポインタと同じポインタ構造を有するものの検索を行う（ステップＳ２１１）。同じポインタ構造を有するものがなければ、そのままテンプレート登録処理を終了する。
【００６０】
一方、ステップＳ２１１において同じポインタ構造を有する他の回答テンプレートが検索された場合には、新規テンプレート登録部５は、新たな回答テンプレートに含まれる複数のポインタを、検索された同じポインタ構造を有する他の回答テンプレートを指し示すポインタに置換することで、回答テンプレートの統廃合を行う（ステップＳ２１２）。そして、新規テンプレート登録部５による回答テンプレート登録処理を終了して、図４のメインルーチンに復帰する。
【００６１】
例えば、図８（ｂ）の場合において、回答テンプレート３ｎ、３ａ、３ｂの他に、Ａの部分とＢの部分を含むＺの部分からなることで、回答テンプレート３ａと３ｂとを指し示すポインタを有する回答テンプレート３ｚが存在する場合には、図８（ｃ）に示すように、回答テンプレート３ｎ中の回答テンプレート３ａ、３ｂを指し示すポインタが、回答テンプレート３ｚを指し示すポインタに置換されることとなる。
【００６２】
なお、図４に示した全体処理中でのステップＳ１０８においてだけでなく、利用者が任意のタイミングにて入力装置から所定の指示を入力することで割り込みが生じ、図５の回答テンプレート登録処理を実行させることができる。こうして実行された回答テンプレート登録処理が終了した場合は、割り込み前に実行されていたルーチンに復帰することとなる。
【００６３】
以上説明したように、この実施の形態にかかる返信メール作成システムでは、回答テンプレート登録処理において新たな回答テンプレートが回答テンプレートデータベース３に登録される都度、記憶されている回答テンプレートの最適化を行っている。すなわち、新たな回答テンプレートに含まれる各回答部分と内容的に重複する回答部分が既存の回答テンプレート内にある場合、重複する回答部分をポインタに置き換えている。
【００６４】
このようなポインタへの置き換えによって、実質的に同じ内容の回答部分は、回答テンプレートデータベース３内に１つしか記憶されていないという状態となる。ポインタとして適用される回答テンプレートの名称は、回答部分の文字列に比べて一般にデータ量を少なくすることができる。このため、回答テンプレートデータベース３に登録しなければならないデータ量が小さくなり、記憶装置の容量の増大が必要ない。
【００６５】
ここで、新たな回答テンプレートの一部の回答部分と既存の回答テンプレートの一部の回答部分とが内容的に重複している場合には、当該重複部分が切り出されて別の回答テンプレートが作成されると共に、新たな回答テンプレート及び既存の回答テンプレートの当該部分がこの別の回答テンプレートを指し示すポインタに置き換えられる。これにより、回答テンプレートの一部の回答部分同士が内容的に重複することもなくなり、回答テンプレートデータベース３に登録しなければならないデータ量を小さくすることができる。
【００６６】
しかも、回答部分のポインタへの置き換えは、既存の回答テンプレートに含まれる回答部分と実質的に同内容の回答部分を持つ新たな回答テンプレートを登録する都度自動的に行われるので、回答テンプレートデータベース３は常に全体のデータ量が最も少なくて済む最適化された状態となる。
【００６７】
また、ポインタへの置き換えによって、内容が重複した部分を有する回答テンプレート同士は、その関連づけが行われた状態で回答テンプレートデータベース３に記憶されていることとなる。このように内容の類似する回答テンプレート同士の関連づけが行われていることで、回答テンプレートデータベース３に登録されている回答テンプレートを整理しようとする場合にも、それを効率よく行うことができるようになる。
【００６８】
さらに、回答テンプレートの一部分が他の回答テンプレートを指し示すためのポインタは、回答テンプレートの名称によって実現されているが、新たな回答テンプレートを回答テンプレートデータベース３に登録する際には、既存の回答テンプレートと名称の重複がないかをチェックしている。つまり、各回答テンプレートがユニークな名称で表されることとなるので、回答テンプレートデータベース３から回答テンプレートを抽出する際に、ポインタに置き換えられた回答部分を本来の回答の内容に戻すことができ、本来の回答の内容と異なる回答テンプレートが生成されてしまうようなミスが生じることがない。
【００６９】
また、回答テンプレートデータベース３から回答テンプレートが抽出されなかったときや、抽出されても選択できるような適切なものがなかったときにおいて、新規テンプレート登録部５による回答テンプレート登録処理を起動して、新たな回答テンプレートを登録できるようにしている。このような場合は、返信メールの作成中において利用者が新たな回答テンプレートを登録したいと最も考える場合であり、返信メール作成システムの使い勝手がよいものとなる。
【００７０】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【００７１】
上記の実施の形態では、回答テンプレートデータベース３に記憶される各回答テンプレートは、それぞれにユニークな名称が付されており、この名称を以て回答テンプレートの一部の回答部分が他の回答テンプレートを指し示すためのポインタとしていた。回答テンプレートに名称を付けることで、その名称から回答テンプレートを分かり易くするという効果はあるが、データ量の削減という目的に絞れば、回答テンプレートデータベース３内の各回答テンプレートにユニークな番号を付し、この番号をポインタとして用いるものとしてもよい。
【００７２】
上記の実施の形態では、新たな回答テンプレートを登録する都度、回答テンプレート３の最適化を行うものとしていた。しかしながら、新たな回答テンプレートの登録が頻繁に行われるようなシステムでは、この処理のオーバーヘットによって、返信メールの作成などの他の処理に影響が生じることとなる。そこで、一定数以上の新たな回答テンプレートの登録があったり、内容的に重複する回答部分が一定数以上となった場合にのみ、回答テンプレートデータベース３の最適化を行うようにしてもよい。或いは、深夜の時間帯などのバッチ処理で回答テンプレートデータベース３の最適化を行うものとしてもよい。
【００７３】
上記の実施の形態では、１台の汎用コンピュータ装置上で返信メール作成システムを構築した場合を説明した。しかしながら、２台以上のコンピュータ装置による分散処理、例えば、回答テンプレートデータベース３を別のコンピュータ装置に置くものとし、回答テンプレートの検索や登録などの処理を当該別のコンピュータに依頼するものとしてもよい。
【００７４】
上記の実施の形態では、往信メールに対する返答文としての返信メールを生成する場合に、本発明を適用した場合について説明した。しかしながら、本発明は、返信メールの生成以外にも適用することが可能である。例えば、Ｗｅｂ上のホームページ上にアクセスして利用者が送ってきた質問文に対して、当該ホームページにＦＡＱとして掲載する回答文を生成する場合などにも適用可能である。つまり、オペレータがキーボードから入力した文章や、ＯＣＲ（Optical Character Reader）で読み取った文章を入力文としてもよい。また、返答文も、メールで返送するのではなく、用紙上に印刷して出力して、対応する入力文の作成者に送付するものとしてもよい。
【００７５】
さらに、このような入力文に対する返答文の生成以外においても、本発明を適用することができる。例えば、全く新規に文書を作成しようとする場合、その者が作成しようとする文書の種類を入力することで、入力した文書の種類の応じた文書テンプレートをデータベースから検索するようなシステムにも適用することが可能である。或いは、翻訳文（または候補となる文）のテンプレートをデータベースに登録させた翻訳支援システムなどにも適用することが可能である。
【００７６】
上記の実施の形態では、返信メール作成システムの構築のためのプログラム（図４、図５）は、記憶装置に記憶されていることを前提として説明した。しかしながら、このプログラム、或いは図５に示した回答テンプレート登録処理のためのプログラム（或いは上記の変形を適用したシステムのためのプログラム）をＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に格納して、ハードウェアとは独立して配布するものとしてもよい。また、これらの処理プログラムをインターネット上のＷｅｂサーバ装置が有する固定ディスク装置に格納しておき、インターネットを通じて配信するものとしてもよい。
【００７７】
上記の実施の形態では、返信メール作成システムの一部として回答テンプレートデータベース３が含まれていた。しかしながら、上記の返信メール作成システム（或いは、上記の変形を適用したシステム）に適用可能な図３に示すような構造を有するデータベースだけを、ハードウェアや処理プログラムとは独立して提供するものとしてもよい。データベースの提供方法としては、プログラムと同様の方法、すなわちコンピュータ読み取り可能な記録媒体に格納して配布する方法や、Ｗｅｂサーバ装置の固定ディスク装置からインターネットを通じて配信する方法などを適用することができる。
【００７８】
【発明の効果】
以上説明したように、本発明によれば、内容的に重複した部分を有する複数の文書テンプレートがある場合に、その重複した部分を重ねて文書テンプレートを文書テンプレート記憶手段に蓄積させなくてもよくなり、必要な記憶容量を小さくすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかる返信メール作成システムの構成を示すブロック図である。
【図２】図１の回答テンプレートデータベースに登録される回答テンプレートの例を示す図である。
【図３】図１の回答テンプレートデータベースの構造を示す図である。
【図４】本発明の実施の形態にかかる返信メール作成システムにおける全体的な処理の流れを示すフローチャートである。
【図５】図４の回答テンプレート登録処理を詳細に示すフローチャートである。
【図６】新たな回答テンプレートの登録を説明する図である。
【図７】新たな回答テンプレートの登録を説明する図である。
【図８】新たな回答テンプレートの登録を説明する図である。
【符号の説明】
１  メール受信部
２  メール解析部
３  回答テンプレートデータベース
４  返信メール作成部
５  新規テンプレート登録部
６  メール返信部
４１  回答検索部
４２  回答選択部
４３  回答加工部
【図１】
0003863041.tif 000002
【図２】
0003863041.tif 000003
【図３】
0003863041.tif 000004
【図４】
0003863041.tif 000005
【図５】
0003863041.tif 000006
【図６】
0003863041.tif 000007
【図７】
0003863041.tif 000008
【図８】
0003863041.tif 000009