本発明の実施態様において、「文書」とは、ユーザによって新規作成又は編集が可能なデータである。該データは、例えばテキストデータ、電子メールの送信データ、スプレッドシートのデータ、画像データ、音楽データ、動画データ又はデータベースのデータでありうるが、これらに限定されない。
本発明の実施態様において、「文書作成の過程」とは、上記文書を作成するためのアプリケーションソフトウェアで実行される一連のユーザによる入力動作の過程である。上記文書作成の過程は、例えば文書作成アプリケーションソフトウェア、例えばエディタソフトウェアの起動、ファイルの新規作成又は読み込み、文書作成アプリケーションソフトウェアへのテキストデータの入力、図形の挿入、背景の作成、バックグラウンドミュージックの作成、ファイルの保存又は文書作成アプリケーションソフトウェアの終了でありうるが、これらに限定されない。
本発明の実施態様において、「ユーザの入力」とは、上記文書を作成するためのアプリケーションソフトウェアに対して実行される、ユーザによる入力装置からのアクションである。上記入力装置は、例えば、キーボード、マウス又は音声入力装置、例えばマイクロフォンの1つ又はそれらの組み合わせであるが、これらに限定されない。上記アクションは、例えば、文書を新規作成すること、文書に変更を加えること、文書を入力することでありうるが、これらに限定されない。上記アクションはまた、後述するコンテンツの採択に対する応答を含んでもよい。
本発明の実施態様において、「入力についての情報」は、上記入力がされた時点での、上記入力装置からのアクションの全体若しくは一部の情報である。該情報は、例えばテキスト列、又は文字の入力量である。「入力についての情報」はまた、ユーザについての情報でありうる。ユーザについての情報とは、ユーザの個人情報である。ユーザについての情報は、アプリケーションソフトウェア又は該アプリケーションソフトウェアがインストールされているコンピュータ・システムに関連付けられた、例えばユーザID、文書作成者ユーザID又は文書毎の識別子である。ユーザについての情報は、例えば、過去の文書作成履歴又は通信相手を特定するための情報である。
本発明の実施態様において、「コンテンツ」とは、提案されるコンテンツの一部又は全体である。コンテンツは、例えば、上記取得した情報に対応するキーワードを含む又は該キーワードに関連付けられた文書データ、前記取得した情報に対応する文体、上記取得した情報に対応する文書のドメイン、上記取得した情報に対応する背景データ(例えば、背景色、背景画像)、又は上記取得した情報に対応する画像データでありうる。コンテンツはまた、例えば上記ユーザが過去に作成した文書、上記ユーザが過去に作成した文体、上記ユーザが過去に作成した文書のドメイン、上記ユーザが過去に作成した背景データ、又は上記ユーザが過去に作成した画像データでありうる。コンテンツはまた、上記コンテンツを複数組み合わせたものでもよい。
本発明の実施態様において、「コンテンツの採択」とは、編集の過程において、ユーザに提案されたコンテンツをユーザに採択させるか否かの判定である。ユーザは、上記提案されたコンテンツ自身を採択し、又は該提案されたコンテンツに含まれる可変部分を選択しうる。
本発明の実施態様において、「エージェント」とは、ユーザに、文書作成支援のためのコンテンツを自律的に提案するコンピュータ・プログラムである。エージェントは、コンテンツの提案、例えば、文章の提案、文体の提案、ドメインの提案、音楽の提案又は背景の提案を行う。エージェントは、提案されるべきコンテンツの具体的な対象の指示をユーザから受け取るとすることなく、ユーザに対して自律的に上記様々なコンテンツの提案を行う。1つエージェントが上記全ての提案を提案するように実装したり、又は複数のエージェントのそれぞれが上記提案のそれぞれを提案するように実装したりしてもよい。エージェントは、文書作成のためのアプリケーションソフトウェアのアドインソフトウェアとして組み込まれることができる。また、エージェントは、該アプリケーションソフトウェアの外部プログラムとして実行されうる。エージェントは、文書作成のためのアプリケーションソフトウェアと同一のコンピュータ上で実行されてもよく、又は該アプリケーションソフトウェアが実行されるコンピュータとは異なるネットワークで接続されたコンピュータ上で実行されてもよい。また、エージェントは、例えば上記アプリケーションソフトウェアに予め登録されていてもよいし、又はユーザが追加で登録してもよい。
本発明の実施態様において、「文書データ」とは、例えば、ユーザによって若しくは第三者によって過去に作成された文書又はテンプレート文書であるがこれらに限定されない。文書データは、ユーザによる用語の選択を許す可変領域部を備えていてもよい。文書データは、例えば、文書として各言語に従い表示可能な文字、画像若しくは書式コード、又はそれらの組み合わせを含む。
本発明の実施態様において、「文体」とは、主として文章の末尾の単語で表現される「である」調、「です、ます」調、「ございます」調など文章の表現をいう。「文体」には、例えば、敬語、丁寧語、謙譲語、命令語及び方言による表現が含まれる。
本発明の実施態様において、「文書のドメイン」とは、文書の種類である。文書の種類は、例えば、メール用の文書、ビジネス用の文書、プライベート用の文書又は冠婚葬祭用の文書であるが、これらに限定されない。
本発明の実施態様において、「背景データ」とは、文書の背景として表示されるデータである。背景データは、例えば、背景色、背景模様、背景画像のデータ、背景イラスト、又はそれらの組み合わせを含むが、これらに限定されない。
本発明の実施態様において、「ドメイン文書検索」とは、エージェントが、文書を検索するために文書のドメインを決定し、そして該決定されたドメインに属する文書を蓄積されたコンテンツの中から検索する検索方法をいう。文書のドメインとは、検索対象である複数の文書を、該文書の内容によってグループ分けした場合のグループである。ドメイン名とは、該グループの名前である。1つの文書が複数のドメインに属していてもよい。
本発明の実施態様において、「類似文書検索」は、ユーザが入力している文書と類似する文書を、蓄積されたコンテンツの中から検索することをいう。文書が類似するとは、ある文書に対してもう一方の文書が、例えば、一部分で類語を使用しているが他の部分は同じであること、又は文体に対応する文字列以外は同じであることであるが、これらに限定されない。
本発明の実施態様では、「類似文書検索」と「ドメイン文書検索」とが同時に実行されうる。該実行では、文書に含まれる文字数が少ないときは「ドメイン文書検索」が主として行われ、一方、ユーザによる入力データ量が多くなるに従い「ドメイン文書検索」ではなく「類似文書検索」が主になるように検索が行われる。
本発明の実施態様において、「アプリケーションソフトウェア」とは、上記文書を作成するために使用されるソフトウェアである。アプリケーションソフトウェアは、例えばエディタソフトウェア、ワードプロセッサソフトウェア、表計算ソフトウェア、ドローソフトウェア、ペイントソフトウェア、又はDTMソフトウェアであるがこれらに限定されない。
本発明の実施態様において、「文書の新規作成」とは、アプリケーションソフトウェアを起動しユーザが新規文書作成を指示する命令をいう。エージェントに対するユーザからの入力支援の指示ではない。本発明の実施態様では、ユーザは入力支援の指示を行う必要がないのが特徴の一つである。アプリケーションソフトウェアが起動されると、新規文書作成モードになる場合には、ユーザが新規文書作成をエージェントに指示する必要はない。
以下、図面に従って、本発明の実施態様を説明する。本実施態様は、本発明の好適な形態を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一の符号は、同一の対象を指す。
図1Aは、本発明の実施態様である、文書作成支援システム(100)のブロック構成図を示す。文書作成支援システム(100)は、エディタ部(110)、エージェント部(120)及び記憶部(130)を備えている。
エディタ部(110)は、入力部(111)、管理部(112)及び表示部(113)を含む。エディタ部(110)は、文書を管理し、及び文書作成の機能を有するアプリケーションソフトウェアである。上記機能は、例えば、文書ファイルの新規作成、文書の入力、文書の削除、文書のコピー、文書の貼り付け、文書の検索、文書の置換、文書の整形及び文書ファイルの保存であるが、これらに限定されない。
入力部(111)は、入力装置、例えばキーボード、マウス、及び音声入力装置の1つ又はそれらの組み合わせを備えている。入力部(111)は、上記入力装置によって受け付けられたユーザからの入力を管理部(112)に渡す。ユーザからの上記入力は、例えば文書作成のために入力された文字又は文書ファイルを新規作成する指示を含むが、これらに限定されない。ユーザからの上記入力はまた、下記エージェント#1〜#n(121〜124)からの提案に対する応答を含む。ここで、上記応答とは、例えばユーザがエージェントの提案を採用したという応答、ユーザがエージェントの提案を採用しないという応答、又はユーザがエージェントからの提案に含まれる可変部を選択したという応答であるが、これらに限定されない。
管理部(112)は、入力部(111)から送信された入力を受信すると、該入力に対応する機能を実行する。上記入力が、例えば文書に追加する文字の入力の場合、管理部(112)は、例えば上記文字を文書に加える。上記入力が、例えば文書ファイルを新規作成する指示の場合、管理部(112)は、文書ファイルを新規作成する。上記入力が、例えばエージェント#1〜#n(121〜124)からの提案に対する応答の場合、管理部(112)は、上記応答をエージェント部(120)に送信する。管理部(112)はまた、作成中の文書、少なくとも1のエージェント#1〜#n(121〜124)からの提案、及びユーザからの入力に対応する機能の実行の結果の少なくとも1(以下、表示情報)を表示部(113)に送信する。
表示部(113)は、エージェント部(120)から、又はエージェント部(120)から管理部(112)を介して送信された上記表示情報を受信する。表示部(113)は、上記表示情報を、例えばディスプレイ装置に表示する。
エディタ部(110)は、上記入力の一部若しくは全部、上記入力についての情報及び作成中の文書の一部若しくは全部の少なくとも1(以下、入力データ)をエージェント部(120)に送信する。代替的に、エージェント部(120)が、例えば文書の変更をモニターし、該変更がある毎に、上記入力データをエディタ部(110)に送信させるようにしてもよい。ユーザからのデータ入力に応じて、エディタ部(110)が上記入力データをエージェント部(120)に送信することにより、エージェント部(120)はエージェント#1〜#n(121〜124)が自律的にコンテンツを提案させることを可能にする。よって、ユーザは、文書作成の支援を求める操作をすることなしに、少なくとも1のエージェント#1〜#n(121〜124)から文書作成の支援を受けることができる。
エージェント部(120)は、エージェント#1(121)、エージェント#2(122)、エージェント#3(123)、及びエージェント#n(124)の少なくとも1つ備えている。エージェント部(120)は、任意的に、形態素解析部(128)、採択受付部(126)、又はインタフェース(129)を備えている。
エージェント#1〜#n(121〜124)それぞれは、ユーザからの指示なしに、コンテンツをユーザに自律的に提案する機能を有する。該提案は、エディタ部(110)から送信された上記入力データ、後述のローカル文書又は形態素解析部(128)から送信された解析結果(例えば形態素)の少なくとも1に基づいて行われる。エージェント部(120)はまた、インタフェース(129)を介して上記受信した入力データ又はローカル文書を形態素解析部(128)に送信しうる。
形態素解析部(128)は、上記送信された入力データ又はローカル文書の形態素解析を行い、形態素に分割する。形態素解析部(128)は、形態素解析の結果をエージェント#1〜#n(121〜124)それぞれに送信しうる。ここで、形態素解析部(128)は、エージェント#1〜#n(121〜124)それぞれに含まれていてもよい。
エージェント部(120)は、エージェント#1〜#n(121〜124)それぞれに、上記入力データ、ローカル文書又は形態素解析部(128)からの上記結果に基づいて、コンテンツを提案させる。エージェント部(120)は、エージェント#1〜#n(121〜124)を記憶部(130)にアクセスさせ、上記コンテンツを検索させる。上記検索には、例えば上記入力データ、ローカル文書又は形態素解析部(128)からの上記結果が用いられうる。エージェント#1〜#n(121〜124)は、上記検索されたコンテンツ又は該コンテンツと所与の計算式とから求められるコンテンツを、提案するコンテンツとしうる。エージェント部(120)はまた、上記入力データをローカル文書に登録しうる。エージェント部(120)はさらに、エージェント#1〜#n(121〜124)に、上記入力データ、形態素解析部(128)からの上記結果及び上記提案するコンテンツを、新たなコンテンツ又は該コンテンツについての情報として、記憶部(130)に記憶させてもよい。
エージェント部(120)及びエージェント#1〜#n(121〜124)それぞれの有する上記検索の機能に着目し、エージェント部(120)及び各エージェント#1〜#n(121〜124)をまとめて「検索部」と呼んでもよい。該検索部は、例えば、上記入力データ又はローカル文書に含まれる文書と検索されたコンテンツとの類似度を測る。検索部は、上記類似度が所与の閾値を超える場合、提案するコンテンツをエディタ部(110)に送信する。閾値は、予め適切な値が設定されうる。上記提案するコンテンツは、例えば類似文書、テンプレート文書、文書の文体又は文書の背景色であるが、これらに限定されない。さらに、検索部は、ユーザについての情報である例えばユーザIDに基づき、例えばユーザが過去に作成した文書に限定した検索を行ってもよい。なお、上記ユーザについての情報は、例えば、上記入力データに含まれている入力についての情報に含まれうる。
インタフェース(129)は、エディタ部(110)とエージェント部(120)との間での情報の送受信を仲介する。インタフェース(129)はまた、エージェント#1〜#n(121〜124)それぞれと形態素解析部(128)との間の情報転送を制御する。さらに、インタフェース(129)は、エージェント#1〜#n(121〜124)に検索を実行させる及び提案を発行させるタイミングを制御してもよい。また、インタフェース(129)が、複数のエージェントからエージェントを選択して、該選択したエージェントを動作させるようにしてもよい。
採択受付部(126)は、提案されたコンテンツを採択するか又は却下するかというユーザからの指示を受け付ける。一定時間経過しても上記指示がない場合、採択受付部(126)は、ユーザが提案されたコンテンツを却下する指示をしたと認識するようにしてもよい。ここで、採択受付部(126)は、エージェント#1〜#n(121〜124)それぞれに含まれていてもよい。
記憶部(130)は、各種コンテンツ及び検索に必要な各種情報を格納している。記憶部(130)は、例えば、メモリ又はハードディスクであるが、これらに限定されない。上記各種コンテンツ及び上記各種情報は、例えばハードディスク上のデータベースのテーブル又はファイルに保持されうる。記憶部(130)はまた、エージェント部(120)からの検索に基づいて、コンテンツを提供する。
なお、エディタ部(110)、エージェント部(120)及び記憶部(130)は、1つのコンピュータ、例えばパーソナル・コンピュータ上に実装されてもよく、又はネットワークを介して分散配置された複数のコンピュータ上に実装されてもよい。エージェント#1〜#n(121〜124)の実装部分は、エージェント部(120)とは別のコンピュータ上に実装されていてもよい。上記別のコンピュータ上の実装の場合、上記エージェントは、例えばWebサービス又はCOMによって提供されるコンポーネントでありうる。
図1Bは、本発明の実施態様である、図1Aに記載の文書作成支援システムのブロック構成図とは別の実施態様であるブロック構成図の例を示す。文書作成支援システム(100)は、エディタ部(110)、エージェント#1〜#n(131〜134)及び記憶部(141〜144)を備えている。
エディタ部(110)、入力部(111)、管理部(112)、及び表示部(113)は、図1Aで説明した通りである。
エージェント#1〜#n(131〜134)それぞれは、ユーザからの指示なしに、コンテンツをユーザに自律的に提案する機能を有する。該提案は、エディタ部(110)から送信された上記入力データ又はローカル文書の少なくとも1に基づいて行われる。エージェント#1〜#n(131〜134)それぞれは、対応する記憶部(141〜144)にアクセスし、上記コンテンツを検索する。上記検索には、例えば上記入力データ又はローカル文書が用いられうる。エージェント#1〜#n(131〜134)が形態素解析機能を有する場合、エージェント#1〜#n(131〜134)は、上記入力データ又はローカル文書を形態素解析し、該解析の結果を上記検索に用いてもよい。エージェント#1〜#n(131〜134)それぞれは、検索されたコンテンツ又は該コンテンツと所与の計算式とから求められるコンテンツを、提案するコンテンツとしうる。エージェント#1〜#n(131〜134)それぞれはまた、上記入力データをローカル文書に登録しうる。エージェント#1〜#n(131〜134)それぞれはさらに、上記入力データ、形態素解析の結果又は上記提案するコンテンツを、新たなコンテンツ又は該コンテンツについての情報として、対応する記憶部(141〜144)に記憶してもよい。
エージェント#1〜#n(131〜134)それぞれはまた、例えば、上記入力データ又はローカル文書に含まれる文書と検索されたコンテンツとの類似度を測る。エージェント#1〜#n(131〜134)それぞれは、上記類似度が所与の閾値を超える場合、提案するコンテンツをエディタ部(110)に送信する。閾値は、予め適切な値が設定されうる。上記提案するコンテンツは、例えば類似文書、テンプレート文書、文書の文体又は文書の背景色であるが、これらに限定されない。さらに、エージェント#1〜#n(131〜134)それぞれは、ユーザについての情報である例えばユーザIDに基づき、例えばユーザが過去に作成した文書に限定した検索を行ってもよい。なお、上記ユーザについての情報は、例えば、上記入力データに含まれている入力についての情報に含まれうる。
エージェント#1〜#n(131〜134)それぞれは、採択受付機能(図1Aの採択受付部に対応する)を有しうる。該採択受付機能は、提案されたコンテンツを採択するか又は却下するかというユーザからの指示を受け付ける機能である。上記機能において、一定時間経過しても上記指示がない場合、エージェント#1〜#n(131〜134)それぞれは、ユーザが提案されたコンテンツを却下する指示をしたと認識するようにしてもよい。
記憶部(141〜144)それぞれは、各種コンテンツ及び検索に必要な各種情報を格納している。記憶部(141〜144)それぞれには、ローカル文書が格納されてもよい。記憶部(141〜144)それぞれは、例えば、メモリ又はハードディスクであるが、これらに限定されない。上記各種コンテンツ及び上記各種情報は、例えばハードディスク上のデータベースのテーブル又はファイルに保持されうる。記憶部(141〜144)それぞれはまた、エージェント#1〜#n(131〜134)それぞれからの検索に基づいて、コンテンツを提供する。
なお、エディタ部(110)、エージェント#1〜#n(131〜134)及び記憶部(141〜144)は、1つのコンピュータ、例えばパーソナル・コンピュータ上に実装されてもよく、又はネットワークを介して分散配置された複数のコンピュータ上に実装されてもよい。
図1Cは、本発明の実施態様である、図1A又は図1Bに記載のエージェント部(120)において管理されるローカル文書の例を示す。ローカル文書は、エージェント毎に用意されても、又は複数のエージェントに対して用意されてもよい。ローカル文書は、記憶部(130)又は複数のエージェントそれぞれに用意される記憶部(141〜144)に格納される文書である。ローカル文書は、エディタ部(110)において編集されている文書(以下、ユーザ文書)とは別に管理されてもよいし、又は上記ユーザ文書と共通の文書であってもよい。以下では、上記ユーザ文書が編集されるときに、ローカル文書の内容がどのように遷移するかを説明する。ユーザが、上記ユーザ文書の編集を始めた時点では、ローカル文書は用意されていない。
ステップ1.ユーザが入力部(111)に対して、「先」を入力すると、エディタ部(110)は、エージェント部(120)に対して、ユーザから「先」という入力があったという入力イベントを発行する。エージェント部(120)は、上記イベントに対応する上記「先」を入力データとして受信する。エージェント部(120)は、受信した上記「先」を、ローカル文書として記憶する。
ステップ2.ユーザが入力部(111)に対して、「日」を入力すると、エディタ部(110)は、エージェント部(120)に対して、ユーザから「日」という入力があったという入力イベントを発行する。エージェント部(120)は、上記イベントに対応する上記「日」を入力データとして受信する。エージェント部(120)は、受信した上記「日」を、ローカル文書として記憶している「先」に加え、該加えた文書「先日」を、ローカル文書として記憶する。
ステップ3.ユーザが入力部(111)に対して、「は」を入力すると、エディタ部(110)は、エージェント部(120)に対して、ユーザから「は」という入力があったという入力イベントを発行する。エージェント部(120)は、上記イベントに対応する上記「は」を入力データとして受信する。エージェント部(120)は、受信した上記「は」を、ローカル文書として記憶している「先日」に加え、該加えた文書「先日は」を、ローカル文書として記憶する。
ステップ4.ユーザが入力部(111)に対して、「、」を入力すると、エディタ部(110)は、エージェント部(120)に対して、ユーザから「、」という入力があったという入力イベントを発行する。エージェント部(120)は、上記イベントに対応する上記「、」を入力データとして受信する。エージェント部(120)は、受信した上記「、」を、ローカル文書として記憶している「先日は」に加え、該加えた文書「先日は、」を、ローカル文書として記憶する。
上記ステップ1〜4により、ローカル文書は、上記ユーザ文書と同期をとって変更されうる。
図2は、本発明の実施態様である、図1Aに示す文書作成支援システム(100)によってなされるコンテンツの提案の概略を示す。画面(210)は、文書を作成するためのアプリケーションソフトウェア(以下、エディタ)における表示の例を示す。画面(210)は、ユーザによる文書の入力中に、エージェントによって自発的にコンテンツが提案されている状況における画面である。画面(210)には、ユーザが作成中の文書である「山田 太郎 様、先日は新年会に・・・」が表示されている。また、画面(210)には、エージェント#1〜#3(221b〜223b)に対応するアイコン(221a〜223a)が、上から順に表示されている。エージェント#1(221b)は、例えば類似及びドメイン文書提案エージェントである。エージェント#2(222b)は、例えば背景提案エージェントである。エージェント#3(223b)は、例えば文体提案エージェントである。提案(221c)は、エージェント#1(221b)からの提案文書である。提案(221c)は、エージェント#1(221b)に対応する一番上の位置のアイコン(221a)から、例えば吹き出し形式で表示される。該表示により、ユーザは、上記作成中の文書と類似する文書が提案されていることを知る。ユーザが提案(221c)を採択する場合、ユーザは、例えば文書編集画面(211)に提案(221c)をドラッグ アンド ドロップする。上記採択は、例えば、ユーザがキーボードから所定のキーを押下することにより実行されてもよい。さらに、音声入力装置が文書作成支援システムに備わっている場合、上記採択は、例えばユーザの音声からの採択指示で行われてもよい。ユーザが提案(221c)を採択しない場合、ユーザは、何らかの採択拒否の指示をエージェント#1(221b)に与える。該拒否の指示は、例えば、ユーザがキーボードから所定のキーを押下することにより実行されうる。また、上記拒否の指示がない場合、エージェント#1(221b)が、例えば一定時間経過後、提案(221c)を取り消すようにしてもよい。動作中のアイコン(221a)と休止中のアイコン(222a及び223a)とは、例えば色の違いで見分けがつくようにされてもよい。
作成中の文書に対する提案がされ、該提案が採択又は拒否されるという上記概略で述べた動作は、以下の手順で実現される。
a.文書作成支援システム(図1A、100)は、エージェント#1(221b)に、上記エディタから上記作成中の文書を取得させる。
b.文書作成支援システム(100)は、エージェント#1(221b)に、取得した作成中の文書を解析させる。
c.文書作成支援システム(100)は、エージェント#1(221b)に、解析された文書を用いて、データベース(230)から提案文書を検索させる。
d.文書作成支援システム(100)は、エージェント#1(221b)に、検索された提案文書をエディタに対して送信させる。該送信により、エージェント#1(221b)は、ユーザに上記提案文書を提案する。
e.ユーザは、上記提案文書の採択又は却下の判断を入力部(図1A、111)に入力する。該入力は、エディタ及びエージェント#1(221b)に伝えられる。又は、ユーザが、上記提案文書の採択又は却下の判断が一定時間されないことに応じて、エディタ及びエージェント#1(221b)に上記提案が却下されたことが伝えられる。
図3Aは、本発明の実施態様である、図1Aに示すエディタ部(110)の基本的な動作フローチャートを示す。なお、以下のステップ305〜ステップ308は、エディタ部(110)の1つのエージェントに対する動作を示す。エージェントが複数ある場合、ステップ305〜ステップ308は、エージェント毎に並列で実行されうる。
ステップ301では、エディタ部(110)が動作を開始する。エディタ部(110)は、上記動作の開始に応じて、例えば、ユーザについての情報、エージェントについての情報、又は作成中の文書を取得しうる。エディタ部(110)は、上記ユーザについての情報を、例えば、オペレーティング・システム若しくはアプリケーションソフトウェアのログイン情報又はレジストリから取得しうる。上記ユーザについての情報は、例えば、エージェントに送信される入力データとして又はエージェント部(図1A、120)がエージェントを選択するための情報として使用されうる。エージェント部(図1A、120)は、上記ユーザについての情報、又は上記作成中の文書を用いて、使用するエージェントを自動で選択する。自動で選択する場合の1つの例として、エージェント部(120)は、例えば、上記ユーザについての情報を用いて記憶部(図1A、130)を検索し、過去にコンテンツの提案を行ったエージェントを選択してもよい。別の例では、エージェント部(120)は、例えば、上記作成中の文書で使用されている文体について提案をするエージェントを選択してもよい。さらに別の例では、あるエージェントが、使用するエージェントを選択してもよい。また、エディタ部(110)は、作成中の文書を表示部(図1A、113)に表示する。エディタ部(110)はまた、エージェントのアイコンを表示部(113)に表示してもよい。該表示に応じて、処理はステップ302に進む。
ステップ302では、エディタ部(110)は、ユーザが文書を編集中であるか否かを判定する。該判定では、例えば、ユーザによって、エディタ部(110)を終了させる操作が行われたかどうかが判定される。文書編集中である場合、処理はステップ303に進む。文書編集中でない場合、処理はステップ309に進み、終了する。
ステップ303では、エディタ部(110)は、ユーザによりデータが入力されたか否かを判定する。上記データは、例えば、文書に追加する文字、文書ファイルを新規作成する指示、又はエージェントからの提案に対する応答であるが、これらに限定されない。入力されたか否かの判定では、例えば、入力部(図1A、111)に対して何らかの入力が実行されたかどうかが判定される。入力がされている場合、処理はステップ304に進む。入力がされていない場合、処理はステップ302へ戻る。なお、入力データの判定を行うタイミングは、ステップ302の後に限らず、別のタイミングであってもよい。
ステップ304では、エディタ部(110)は、上記入力データを、インタフェース(図1A、129)を介してエージェント部(図1A、120)に送信する。また、エディタ部(110)は、上記入力データに加えて又は上記入力データの代わりに、上記入力データについての情報と編集中の文書との少なくとも1をインタフェース(129)を介してエージェント部(120)に送信してもよい。なお、上記送信を行うタイミングは、ステップ303の直後とは限らず、別のタイミングであってもよい。例えば、エージェント部(120)が定期的にエディタ部(110)に対して入力データの問い合わせを行い、エディタ部(110)が該問い合わせを受けたタイミングで上記送信を行ってもよい。また、上記送信に代わって、上記入力データをエージェント部(120)が、取得してもよい。上記入力データをエージェント部(120)が取得する場合については、下記図3Bの説明において述べる。ここで、送信するデータと同じデータを使用して、エージェント部(120)に新たなエージェントが追加されてもよい。エージェントが追加される場合、エディタ部(110)は、例えば、送信するデータに含まれる文書で使用されている文体について提案をするエージェントを追加してもよい。エージェントが追加された場合、エディタ部(110)は、追加されたエージェントのアイコンを表示部(113)に表示する。
ステップ305では、エディタ部(110)は、エージェント部(120)に含まれる少なくとも1のエージェントから、コンテンツの提案が送信されてきたか否かを判定する。コンテンツの提案が送信されてきた場合、処理はステップ306に進む。コンテンツの提案が送信されてこない場合、処理はステップ302へ戻る。
ステップ306では、エディタ部(110)は、提案されたコンテンツを表示部(113)に表示する。該表示に応じて、処理はステップ307に進む。
ステップ307では、エディタ部(110)は、表示されたコンテンツについて、ユーザからの採択を受け付ける。ユーザから提案を却下する指示があること又はユーザからの指示がないまま所定の時間を経過することに応じて、エディタ部(110)は、上記表示されたコンテンツをユーザが却下したとみなす。却下したとみなすことに応じて、処理はステップ302へ戻る。また、エディタ部(110)は、ユーザから提案を採択する指示があることに応じて、上記表示されたコンテンツをユーザが採択したと認識する。上記採択したとの認識に応じて、処理はステップ308に進む。
ステップ308では、エディタ部(110)は、表示部(113)に表示されている編集中の文書を、提案されたコンテンツに対応する文書に更新する。該更新に応じて、処理はステップ302へ戻る。
ステップ309では、エディタ部(110)は、処理を終了する。エディタ部(110)は、エージェント部(120)に終了要求を発行し処理を終了する。エディタ部(110)は、上記終了要求に対する完了通知の待ち合わせをしてもよい。
図3Bは、本発明の実施態様である、図1Aに示すエージェント部(120)の基本的な動作フローチャートを示す。なお、以下のステップ313〜ステップ317は、1つのエージェントに対するエージェント部(120)の動作を示すものである。エージェントが複数ある場合、ステップ313〜ステップ317は、エージェント毎に並列で実行されうる。また、エージェントは、エディタ部(110)から送信される入力データに基づいて、任意のタイミングで追加又は削除されうる。追加又は削除される場合の1つの例として、エージェント部(120)は、例えば、上記入力データに含まれる入力についての情報にエージェントを追加又は削除する指示が含まれる場合、エージェントを追加又は削除してもよい。別の例では、エージェント部(120)は、例えば、エディタ部(110)から送信される上記入力データに含まれる上記作成中の文書で使用されている文体について提案をするエージェントを追加してもよい。
ステップ311では、エージェント部(120)は動作を開始する。エージェント部(120)は、例えばエディタ部(110)が開始することに応じて、動作を開始する。
ステップ312では、エージェント部(120)は、終了要求がエディタ部(110)から送信されているか否かを判定する。上記終了要求は、例えば、図3Aのステップ309の実行に応じてエディタ部(110)から発行されうる。上記終了要求がない場合、処理はステップ313に進む。一方、エージェント終了要求がある場合、エージェント部(120)は、エージェントの動作を終了し、処理はステップ318に進む。エージェント部(120)は、上記終了要求に対して、例えば完了通知をエディタ部(110)に送信してもよい。
ステップ313では、エージェント部(120)は、入力データがあるか否かを判定する。上記入力データは、ステップ304の処理によってエディタ部(110)から送信されるか、又は、エージェント部(120)が、例えば送信要求であるポーリング動作を行うことによってエディタ部(110)に送信させる。エージェント部(120)は、エディタ部(110)から入力データが送信される場合、該入力データを受信し、処理はステップ314に進む。エディタ部(110)から入力データが送信されない場合、処理はステップ312へ戻る。
ステップ314では、エージェント部(120)は、受信した入力データに編集中の文書又は該文書に追加する文字(以下、文書データ)が含まれる場合、上記文書データをローカル文書に格納する。上記格納により、ローカル文書には、エディタ部(110)においてユーザが作成中の文書の一部又は全てが累積されうる。上記格納の終了に応じて、処理はステップ315に進む。
ステップ315では、エージェント部(120)は、上記入力データを解析する。エージェント部(120)は、例えば、形態素解析部(図1A、128)に、上記ローカル文書に累積されている文書データの一部又は全てを解析させる。上記解析により、解析された形態素(以下、形態素を含め、単語列という)又は上記単語列に含まれる単語の一つであるキーワードが求められる。なお、形態素解析は当業者において知られた任意の方法を用いることができるので、本明細書ではその詳細の説明を省略する。別の例では、上記入力データにユーザについての情報が含まれている場合、該情報が解析されうる。解析されることに応じて、処理はステップ316に進む。
ステップ316では、エージェント部(120)は、上記解析に基づいて、コンテンツの作成又は検索を行う。コンテンツの作成を行う場合、エージェント部(120)は、例えば上記解析により求められた単語列又はキーワードに応じたプログラムロジックを実行することで、コンテンツを作成する。コンテンツの検索を行う場合、エージェント部(120)は、例えば上記解析により求められた単語列又はキーワードを検索キーとしうる。エージェント部(120)は、上記検索キーを利用してコンテンツの検索を行う。該検索は、例えば、記憶部(130)のデータベースに対して実行される。該検索により、エージェント部(120)は、コンテンツを取得する。エージェント部(120)は、提案するコンテンツを複数取得した場合、コンテンツの絞り込みをしてもよい。該絞り込みは、例えば、上記ローカル文書として累積されている文書データの一部又は全てと検索されたコンテンツとの類似度を測ることで実行されうる。エージェント部(120)は、上記類似度が所与の閾値を超えるコンテンツを上記取得したコンテンツとしうる。閾値は、予め適切な値が設定されうる。上記コンテンツの作成又は取得に応じて、処理はステップ317に進む。
ステップ317では、エージェント部(120)は、作成又は取得したコンテンツを提案するコンテンツとしてエディタ部(110)へ送信する。該送信に応じて、処理はステップ312に戻る。
ステップ318では、エージェント部(120)は、処理を終了する。
図3A及び図3Bに示すフローチャートは、図1Bに示す文書作成支援システムにおいても適用可能である。上記適用する場合、例えば図3Aのステップ304では、エディタ部(110)は、入力データをエージェントそれぞれに対して送信する。また、図3Bで示すフローチャートの各処理は、エージェントそれぞれで実行される。
図4A〜図4Fは、本発明の実施態様である、図3Bのステップ316で実行される検索で使用されるデータの構造及び該データの作成方法の例を示す。以下の説明では、記憶部(130)上に、データベースが実装されているとする。また、上記データは、上記データベース上のテーブルに格納されるとする。
図4Aは、本発明の実施態様である、図3Bのステップ316においてドメイン検索が実行される場合における、図1Aの記憶部(130)に実装されたデータベース上のテーブルの例を示す。
ドメイン・テーブル(401)は、ドメイン名毎に登録文書を格納するテーブルである。上記ドメイン名は、文書を内容によってグループ分けした場合のグループ名を表す。ドメイン名は、例えば、挨拶文、お詫び文、問い合わせ文及び年賀状である。上記登録文書は、例えば過去に作成された文書又はテンプレートとして予め用意された文書である。登録文書は、例えば、文書11〜文書13、文書21〜文書24、文書31〜文書33及び文書41である。ドメイン・テーブル(401)はまた、文書のドメインへの分類を示す。例えば、文書11、文書12及び文書13は、挨拶文というドメインに分類される。ここで、1つの文書が複数のドメインに分類されてもよい。例えば、文書12は、挨拶文というドメイン及び年賀状というドメインに分類される。ドメイン・テーブル(401)に格納された登録文書は、図3Bのステップ316において検索されるコンテンツになりうる。
ドメイン単語テーブル(402)は、単語、ドメイン名及びスコアを格納するテーブルである。上記単語は、例えば、「<名前>」、「さん」及び「に」である。ここで、上記単語は、同じ属性を表す単語(以下、属性名)であってもよい。上記属性名とは、例えば、名前又は日付である。本発明の1つの実施態様では、上記属性名は、“<”と“>”とで囲うことで表す。例えば、上記「<名前>」は、任意の人名を表す。上記スコアは、ある文書における単語の重要度を示す指標である。スコアは、様々に定義可能である。本発明の1つの実施態様では、TF−IDF値をスコアとして用いる。TF−IDF値は、TF(Term Frequency)値とIDF(Inverse Term Frequency)値との積をとることで求められる。TF値とは、ある文書における単語の出現頻度を示す値である。TFijと記載した場合、TFijは、文書iにおける単語jの出現頻度を表す。IDF値とは、少数の文書に集中的に現れる単語を重要とみなす指標である。IDF値は、例えば、検索対象の文書全体におけるある単語を含む文書の数の逆数の対数で表される。ドメイン単語テーブル(402)は、各ドメインに含まれる単語毎に、スコアを格納する。例えば、挨拶文に含まれる<名前>のスコアは0.7であり、お詫び文に含まれる<名前>のスコアは0.7である。ドメイン単語テーブル(402)は、図3Bのステップ316においてドメイン検索が実行される場合に用いられる。該ドメイン検索では、例えば、入力データに含まれる文書の有する全ての単語について、上記ドメイン単語テーブル(402)が検索されうる。上記ドメイン検索では、該検索により得られるスコアが、例えば、ドメイン毎に合計される。上記ドメイン検索では、例えば、上記合計されたスコアの高いドメインを多く含むコンテンツが優先して提案されるコンテンツとされうる。
図4B及び図4Cは、本発明の実施態様である、図4Aに示すドメイン単語テーブルを作成するフローチャートを示す。
図4Bは、本発明の実施態様である、図4Aに示すドメイン単語テーブルの作成に必要なドメイン毎の単語出現頻度テーブルを更新するフローチャートを示す。ステップ411では、エージェント部(図1A、120)は、ドメイン単語テーブルの作成を開始する。ステップ412では、エージェント部(120)は、単語出現頻度テーブルに登録する文書があるか否かチェックする。上記文書は、例えば、入力データに含まれるユーザが作成中の文書の一部又は全てである。上記文書はまた、例えば、文書作成支援システムの構築に当たって最初に用意する文書である。該文書は、例えば例文、テンプレート文書、ユーザが過去に作成した文書であるが、これらに限られない。上記登録する文書がある場合、エージェント部(120)は、上記登録する文書を1つ取り出す。該取り出しに応じて、処理はステップ413に進む。上記登録する文書がない場合、処理はステップ418に進む。ステップ413では、エージェント部(120)は、上記登録する文書が属するドメインを判定する。エージェント部(120)は、例えば、モニターにドメイン一覧を表示し、ユーザに上記判定をさせる。次に、エージェント部(120)は、判定されたドメインと上記登録する文書とをドメイン・テーブル(401)に格納する。該格納に応じて、処理はステップ414に進む。ステップ414では、エージェント部(120)は、上記登録する文書を単語に分解する。該分解には、例えば、形態素分析が使用されうる。エージェント部(120)は、上記登録する文書を形態素分析し、該形態素分析の結果と、例えば単語辞書(403)に登録されている単語とを比較することで、上記登録する文書を単語に分解する。該分解に応じて、処理はステップ415に進む。ステップ415では、エージェント部(120)は、分解した単語のうち、可変部と判断される単語を、属性名に置き換える。上記可変部と判断される単語とは、例えば、名前又は日付である。上記分解した単語が、例えば「山田太郎」の場合、エージェント部(120)は、上記「山田太郎」を「<名前>」に置き換えうる。また、上記分解した単語が、例えば「5月5日」の場合、エージェント部(120)は、上記「5月5日」を「<日付>」と置き換えうる。置き換えるための情報は、例えば、単語辞書(403)にユーザが予め登録しておく。ユーザは、例えば、「XX月XX日(Xは右詰めの数値)」と「<日付>」とが同じ単語であると、単語辞書(403)に登録する。該登録により、エージェント部(120)は、「5月5日」という単語を、「<日付>」という属性名に置き換えうる。該置き換えに応じて、処理はステップ416に進む。ステップ416では、エージェント部(120)は、上記分解した単語及び属性名の出現頻度をカウントする。該カウントの終了に応じて、処理はステップ417に進む。ステップ417では、エージェント部(120)は、単語出現頻度テーブル(404)を更新する。単語出現頻度テーブル(404)は、単語及び属性名と、上記カウントされた出現頻度との組を、ドメイン毎に格納するテーブルである。上記格納に応じて、処理はステップ412に戻る。
図4Cは、本発明の実施態様である、図4Aに示すドメイン単語テーブルを作成するフローチャートを示す。ステップ418は、図4Bに示すフローチャートと、図4Cに示すフローチャートとの結合を表す。ステップ419では、エージェント部(120)は、ステップ417で更新した単語出現頻度テーブル(404)を全て読み込む。該読み込みの終了に応じて、処理はステップ420に進む。ステップ420では、エージェント部(120)は、読み込んだ単語出現頻度テーブル(404)に含まれる単語の出現頻度からドメイン毎のIDF値を計算する。エージェント部(120)は、計算したIDF値と単語との組をIDFテーブル(405)に登録する。該登録の終了に応じて、処理はステップ421に進む。ステップ421では、エージェント部(120)は、上記読み込んだ単語出現頻度テーブル(404)に含まれる単語の出現頻度からTF値を計算する。エージェント部(120)は、計算したTF値及びIDF値から、ドメイン毎の単語についてのTF−IDF値を計算する。該計算の終了に応じて、処理はステップ422に進む。ステップ422では、エージェント部(120)は、単語、ドメイン及びスコアをドメイン単語テーブル(402)に登録する。ここで、上記スコアは、上記計算したTF−IDF値とする。ステップ423では、エージェント部(120)は、ドメイン単語テーブルの作成を終了する。
図4Dは、本発明の実施態様である、図3Bのステップ316において類似文書検索が実行される場合における、図1Aの記憶部(130)に実装されたデータベース上のテーブルの例を示す。文書単語テーブル(406)は、文書毎に、単語とスコアとの組を格納するテーブルである、上記スコアには、例えば、TF−IDF値が用いられる。文書1には、例えば「今日」という単語と「0.2」というスコアの組、「は」という単語と「0.05」というスコアの組及び「よい」という単語と「0.3」というスコアの組が格納されている。文書単語テーブル(406)は、図3Bのステップ316において類似文書検索が実行される場合に用いられる。該類似文書検索では、例えば、入力データに含まれる文書の有する全ての単語について、文書単語テーブル(406)が検索されうる。上記類似文書検索では、該検索により得られる単語とスコアとの組が、例えば、配列で表される。上記類似文書検索では、上記配列と上記入力データに含まれる文書との、例えば内積がとられることで、文書の類似度が求められうる。
図4E及び図4Fは、本発明の実施態様である、図4Dに示す文書単語テーブルを作成するフローチャートを示す。
図4Eは、本発明の実施態様である、図4Dに示す文書単語テーブルの作成に必要な文書毎の単語出現頻度テーブルを更新するフローチャートを示す。ステップ431では、エージェント部(120)は、文書単語テーブルの作成を開始する。ステップ432では、エージェント部(120)は、単語出現頻度テーブルに登録する文書があるか否かチェックする。上記文書は、例えば、入力データに含まれるユーザが作成中の文書の一部又は全てである。上記文書はまた、例えば、文書作成支援システムの構築に当たって最初に用意する文書である。該文書は、例えば例文、テンプレート文書、ユーザが過去に作成した文書であるが、これらに限られない。登録する文書がある場合、エージェント部(120)は、上記登録する文書を1つ取り出す。該取り出しに応じて、処理はステップ433に進む。上記登録する文書がない場合、処理はステップ437に進む。ステップ433では、エージェント部(120)は、取り出した登録する文書を例えば、メモリに読み込む。該読み込みに応じて、処理はステップ434に進む。ステップ434では、エージェント部(120)は、読み込んだ文書を単語に分解する。該分解には、例えば、形態素分析が使用されうる。エージェント部(120)は、上記読み込んだ文書を形態素分析し、該形態素分析の結果と、例えば単語辞書(407)に登録されている単語とを比較することで、上記読み込んだ文書を単語に分解する。該分解に応じて、処理はステップ435に進む。ステップ435では、エージェント部(120)は、分解した各単語の出現頻度をカウントする。該カウントの終了に応じて、処理はステップ436に進む。ステップ436では、エージェント部(120)は、単語出現頻度テーブル(408)を更新する。単語出現頻度テーブル(408)は、単語とカウントされた出現頻度との組を、文書毎に格納するテーブルである。該格納に応じて、処理はステップ432に戻る。
図4Fは、本発明の実施態様である、単語出現頻度テーブルから文書単語テーブルを作成するフローチャートを示す。ステップ437は、図4Eに示すフローチャートと、図4Fに示すフローチャートとの結合を表す。ステップ438では、エージェント部(120)は、ステップ436で更新した単語出現頻度テーブル(408)を全て読み込む。該読み込みの終了に応じて、処理はステップ439に進む。ステップ439では、エージェント部(120)は、読み込んだ単語出現頻度テーブル(408)に含まれる単語の出現頻度から単語毎のIDF値を計算する。エージェント部(120)は、計算したIDF値と単語との組をIDFテーブル(409)に登録する。該登録の終了に応じて、処理はステップ440に進む。ステップ440では、エージェント部(120)は、上記読み込んだ単語出現頻度テーブル(408)に含まれる単語の出現頻度からTF値を計算する。エージェント部(120)は、計算したTF値及びIDF値から、文書毎の単語についてのTF−IDF値を計算する。該計算の終了に応じて、処理はステップ441に進む。ステップ441では、エージェント部(120)は、文書、単語及びスコアを文書単語テーブル(406)に登録する。ここで、上記スコアは、上記計算したTF−IDF値とする。また、単語とスコアとの組は、例えば配列として表される。ステップ442では、エージェント部(120)は、文書単語テーブル(406)の作成を終了する。
図5A〜図5Eでは、本発明の実施態様である、図1Aに示すエージェント#1が類似及びドメイン文書提案エージェントである場合のエージェントの動作を説明する。
図5Aは、本発明の実施態様である、図1Aに示すエージェント#1が類似及びドメイン文書提案エージェントである場合の文書作成支援システム(500)のブロック構成図を示す。文書作成支援システム(500)は、エディタ部(510)、エージェント部(520)及び記憶部(530)を備えている。
エディタ部(510)は、入力部(511)、管理部(512)及び表示部(513)を含む。
エージェント部(520)は、類似文書及びドメイン文書提案エージェント(以下、エージェント#1)(521)を実装している。エージェント#1(521)は、類似文書検索部(525)、ドメイン文書検索部(526)及び重み評価部(527)を備えている。エージェント#1(521)は、ユーザによる単語の入力量に応じて、ドメイン文書検索から類似文書検索に移行していく。
記憶部(530)は、各種コンテンツ、並びにコンテンツ検索のために使用される文書単語テーブル(図4D、406)及びドメイン単語テーブル(図4A、402)を格納している。
類似文書検索部(525)は、コンテンツの検索において入力データに含まれる編集中の文書又はローカル文書(以下、編集中の文書という場合にはローカル文書の場合も含む)と記憶部(530)に蓄積されている文書との類似度を計算する。類似文書検索部(525)は、例えば、上記計算した類似度の高い上記蓄積されている文書を提案候補文書とする。類似度の計算方法として、類似文書検索部(525)は、例えば、ベクトル空間内での内積を計算し最も内積の小さい文書を類似度が高いとして検索する。類似文書検索部(525)による類似文書検索では、上記編集中の文書に含まれる情報量が多ければ多いほど、精度の高い類似文書が検索されうる。
ドメイン文書検索部(526)は、コンテンツ検索において編集中の文書の有するドメインとデータベース(530)に蓄積されているドメインとの類似度を計算する。ドメイン文書検索部(526)は、例えば、計算された類似度の最も高いドメインに属する文書を記憶部(530)から検索し、検索された文書を提案候補文書とする。ドメイン文書検索部(526)によるドメイン文書検索は、上記編集中の文書に含まれる情報量が少ない場合に効果的である。
重み評価部(527)は、類似文書検索部(525)とドメイン文書検索部(526)との両方を動作させる。重み評価部(527)は、類似文書検索部(525)による検索結果とドメイン文書検索部(526)による検索結果とを統合して利用する場合に使用される。類似文書検索部(525)による検索は、上記情報量が多い場合に効果的である。ドメイン文書検索部(526)による検索は、上記情報量が少ない場合に効果的である。重み評価部(527)は、上記夫々の検索の結果に重み付けを与えることによって、上記検索夫々の長所を利用しうる。重み評価部(527)は、例えば、重み付け評価関数を用いて、上記夫々の検索結果のうち一方の検索結果を選択しうる。上記重み付け評価関数は、例えば、上記情報量の増加に応じて、類似文書検索部(525)による検索に重みを増すように変化させる。
図5Bは、本発明の実施態様である、図5Aの類似及びドメイン文書提案エージェント(エージェント#1)によるドメイン文書検索のフローチャートを示す。ドメイン文書検索では、エージェント#1(521)に含まれるドメイン文書検索部(526)が使用される。
ステップ531では、エージェント部(520)が検索動作を開始する。ステップ532では、エージェント部(520)は、入力データをエディタ部(510)から受け取る。ここで、入力データは、「山田太郎さんに5月5日に会いました」とする。エージェント部(520)は、受け取った入力データを形態素解析部(528)に送信する。該送信の終了に応じて、処理はステップ533に進む。ステップ533では、形態素解析部(528)は、送信された入力データを形態素に分解する。形態素解析部(528)はさらに、分解された形態素を、単語辞書(541)を使用して、単語列にまとめる。まとめた結果、「山田太郎さんに5月5日に会いました」は、「山田/太郎/さん/に/5月/5日/に/会い/ました」に処理される。ここで「/」は単語列の区切りを表す。形態素解析部(528)は、処理結果をドメイン文書検索部(526)に送信する。該送信の終了に応じて、処理はステップ534に進む。ステップ534では、ドメイン文書検索部(526)は、送信された処理結果に含まれる単語のうち、可変部と判断される単語を属性名に変換する。該変換の結果、まとめられた入力データに含まれる「山田太郎」という具体的な氏名は、抽象化された<人名>という属性名に変換される。また、上記まとめられた入力データに含まれる「5月5日」という具体的な日は、抽象化された<日付>という属性名に変換される。よって、上記まとめられた入力データは、「山田/太郎/さん/に/5月/5日/に/会い/ました」から、「<人名>/さん/に/<日付>/に/会い/ました」と変換される。該変換の終了に応じて、処理はステップ535に進む。ステップ535では、ドメイン文書検索部(526)は、上記変換されたユーザの入力に含まれる単語及び属性名(以下、属性名を含めて単に単語という)とスコアとの対応を表すドメイン・スコア・テーブル(543)を以下のa〜cの手順で作成する。
a.ドメイン文書検索部(526)は、図4Cのステップ422において作成されたドメイン単語テーブル(542)から、上記ユーザ入力に含まれる単語に対応するドメイン名及びスコアを取得する。
b.ドメイン文書検索部(526)は、取得したドメイン毎に取得したスコアを合計する。
c.ドメイン文書検索部(526)は、上記取得したドメインと、計算したスコアの組をレコードとする、ドメイン・スコア・テーブル(543)を作成する。上記作成の終了に応じて、処理はステップ536に進む。
ステップ536では、ドメイン文書検索部(526)は、ドメイン・スコア・テーブル(543)の上位スコアのドメインを選択する。ここで、上位スコアのドメインとは、ドメイン・スコア・テーブル(543)中の、例えばスコアの値が大きい3つのドメインである。ここで、ドメイン文書検索部(526)は、上記合計スコアを正規化して表した単位単語数当たりのスコアの値が大きいスコアを、上位スコアとしてもよい。上記閾値は、ユーザによって、適切な値が予め設定されうる。ドメイン文書検索部(526)は、ドメイン・テーブル(544)から、上記選択した上位スコアのドメインに対応する登録文書を取得する。そして、ドメイン文書検索部(526)は、取得した登録文書を提案候補のコンテンツとする。エージェント部(520)は、例えばドメイン・スコア・テーブル(543)上に上記提案候補を示すマークを設定する。上記マークを設定することに応じて、処理はステップ537に進み、終了する。
図5Cは、本発明の実施態様である、図5Aの類似及びドメイン文書提案エージェント(エージェント#1)による類似文書検索のフローチャートを示す。類似文書検索では、エージェント#1(521)に含まれる類似文書検索部(525)が使用される。
ステップ551では、エージェント部(520)が検索動作を開始する。ステップ552では、エージェント部(520)は、入力データをエディタ部(510)から受け取る。ここで、入力データは、「山田太郎さんに5月5日に会いました」とする。エージェント部(520)は、受け取った入力データを形態素解析部(528)に送信する。該送信の終了に応じて、処理はステップ553に進む。ステップ553では、形態素解析部(528)は、送信された入力データを形態素に分解する。形態素解析部(528)はさらに、単語辞書(561)を使用して、分解された形態素を単語列にまとめる。まとめた結果、「山田太郎さんに5月5日に会いました」は、「山田/太郎/さん/に/5月/5日/に/会い/ました」に処理される。形態素解析部(528)は、処理結果を類似文書検索部(525)に送信する。該送信の終了に応じて、処理はステップ554に進む。ステップ554では、類似文書検索部(525)は、上記処理結果に含まれる各単語のスコアを計算する。単語のスコアとは、ある文書における単語の重要度を示す指標である。スコアは、様々に定義可能である。単語のスコアとして、例えば上記TF−IDF値が用いられうる。上記計算の終了に応じて、処理はステップ555に進む。ステップ555では、類似文書検索部(525)は、上記単語と、上記計算されたスコアとをレコードとする、ユーザ入力・スコア・テーブル(562)を作成する。以下では、上記単語及びスコアの組を、配列{単語、スコア}と表す。上記テーブルの作成に応じて、処理はステップ556に進む。ステップ556では、類似文書検索部(525)は、上記作成されたユーザ入力・スコア・テーブル(562)の上記配列と、図4Fのステップ441において作成された文書単語テーブル(563)との内積を計算する。該計算により、文書ベクトル空間内での距離が測られる。類似文書検索部(525)は、上記計算結果(類似度スコアという)から、入力データとデータベースに格納されている文書との類似度を示す文書類似スコア・テーブル(564)を作成する。上記作成の終了に応じて、処理はステップ557に進む。ステップ557では、類似文書検索部(525)は、作成された文書類似スコア・テーブル(564)において、類似度が所定の閾値を超えている文書を、提案候補のコンテンツとする。ここで、類似文書検索部(525)は、上記類似度が最大の文書を提案候補のコンテンツとしてもよい。エージェント部(520)は、例えば文書類似スコア・テーブル(564)上に上記提案候補を示すマークを設定する。上記マークを設定することに応じて、処理はステップ558に進み、終了する。
図5Dは、本発明の実施態様である、図5Aの類似及びドメイン文書提案エージェント(エージェント#1)中の重み評価部の動作フローチャート及び重み付け関数の一例を示す。重み評価部(527)は、ドメイン文書検索部(526)によって求められた提案候補と、類似文書検索部(525)によって求められた提案候補とから、提案を決定する機能を有する。
ステップ571では、重み評価部(527)は、重み評価の動作を開始する。ステップ562は、図5Bに示すフローチャートの各処理に対応する。ステップ572では、エージェント部(520)は、ドメイン文書検索部(526)を動作させ、その計算結果として提案候補のコンテンツを得る。上記提案候補のコンテンツは、例えばドメイン・スコア・テーブル(543)上でマーク付けされているドメインに対応する文書である。ステップ573は、図5Cに示すフローチャートの各処理に対応する。ステップ573では、エージェント部(520)は、類似文書検索部(525)を動作させ、その計算結果として提案候補のコンテンツを得る。上記提案候補のコンテンツは、例えば文書類似スコア・テーブル(564)上でマーク付けされている文書である。ステップ574では、重み評価部(527)は、上記ステップ572で示す類似文書検索及び上記ステップ573で示すドメイン文書検索の両検索結果のスコアである、ドメイン・スコア・テーブル(543)上のマーク付けされたスコア及び文書類似スコア・テーブル(564)上のマーク付けされたスコアに対して、重み付け関数f(N)を用いて、上記検索結果を評価する。ここで、Nはユーザ入力に含まれる単語数である。重み付け関数f(N)は、図5DのBに示されるグラフで表される関数である。該グラフの横軸は、上記単語数を表す。該グラフの縦軸は、ドメイン文書検索からの提案候補(以下、第1の候補)をユーザへの提案として採用する割合を示す。重み付け関数f(N)の値は、入力単語数Nが増加するにつれて、ドメイン文書検索による提案候補(第1の候補)よりも類似文書検索による提案候補(以下、第2の候補)を重要視するように変化する。すなわち、重み付け関数f(N)の値は、次第に1から0に近づく。上記重み付け関数f(N)を使用した評価の例として、例えばn個のコンテンツをユーザに提案する場合を考える。該場合では、例えばf(N)*n個のコンテンツが第1の候補から採用され、及び(1−f(N))*n個のコンテンツが第2の候補から採用されうる。例えばf(N)の値が0.6のときに、エージェントから5つのコンテンツがユーザに提案される場合、第1の候補から採用されるコンテンツの数(以下、n1)は、n1=0.6×5=3(個)となる。また、第2の候補から採用されるコンテンツの数(以下、n2)は、n2=(1−0.6)×5=2(個)となる。なお、ユーザに提案されるコンテンツが1つだけの場合、例えばn=1としてn1及びn2を求め、そしてn1>n2ならば第1の候補からコンテンツを1つ採用すればよく、或いはn1<=n2ならば第2の候補からコンテンツを1つ採用すればよい。ステップ575では、重み評価部(527)は、重み評価の動作を終了する。
エージェント部(520)は、採用する提案コンテンツをエディタ部(510)に送信する。エディタ部(510)は、送信された提案コンテンツを、例えばアイコンからの吹き出しの形で表示する。また、提案コンテンツが複数ある場合、エディタ部(510)は、上記複数の提案コンテンツを、例えば一定の時間間隔でコンテンツを切り替えて表示してもよい。或いはエディタ部(510)は、異なるコンテンツを頁めくりして表示できることを可能にするアイコンを利用して、上記複数の提案コンテンツを表示してもよい。
図5Eは、本発明の実施態様である、図5Aの類似及びドメイン文書提案エージェント(エージェント#1)の動作フローチャートを示す。ステップ581では、エージェント部(520)が検索動作を開始する。ステップ582では、エージェント部(520)は、エージェントの終了要求がエディタ部(510)から送信されているか否かを判定する。終了要求がない場合、処理はステップ583に進む。一方、終了要求がある場合、処理はステップ590に進み、終了する。ステップ583では、エージェント部(520)は、入力データがあるか否かを判定する。上記入力データは、エディタ部(510)から送信されるか又は、エージェント部(520)が、例えば送信要求であるポーリング動作を行うことによってエディタ部(510)に送信させる。エージェント部(520)は、エディタ部(510)から入力データが送信される場合、該入力データを受信し、処理はステップ584に進む。エディタ部(510)から入力データが送信されない場合、処理はステップ582へ戻る。ステップ584では、エージェント部(520)は、受信した入力データをローカル文書へ格納する。該格納の終了に応じて、処理はステップ585に進む。ステップ585では、エージェント部(520)は、前述したドメイン文書検索を実行し、ドメイン・スコア・テーブル(図5B、543)を作成する。該作成の終了に応じて、処理はステップ586に進む。ステップ586では、エージェント部(520)は、前述した類似文書検索を実行し、文書類似スコア・テーブル(図5C、564)を作成する。該作成の終了に応じて、処理はステップ587に進む。ステップ587では、エージェント部(520)は、ドメイン文書検索の結果から採用する提案コンテンツの数(n1)及び類似文書検索の結果から採用する提案コンテンツの数(n2)を求める。このために、エージェント部(520)は、提案するコンテンツの数(n)を定める。該コンテンツの数(n)は、例えばドメイン・スコア・テーブル(543)又は文書類似スコア・テーブル(564)のスコアが所与の閾値を超えるレコードの数としうるが、これに限らない。次に、エージェント部(520)は、定めたnからn1及びn2を求める。求めるための式は、例えば、式n1=f(N)*n、及び式n2=(1−f(N))*nである。ここで、関数f(N)は、図5Dにおいて説明した重み付け関数である。上記n1及びn2が求まることに応じて、処理はステップ588に進む。ステップ588では、エージェント部(520)は、ドメイン・スコア・テーブル(543)からスコアの高い順にn1個のドメインを選択する。エージェント部(520)は、選択したドメインでドメイン・テーブル(544)を検索し、ドメイン・テーブル(544)から1つずつ文書(以下、第1の文書)を選択する。エージェント部(520)は、ドメインに対応する文書を固定の順番で選択してもよいし、何らかのロジックで選択してもよい。また、エージェント部(520)は、文書類似スコア・テーブル(564)のスコアの高い順にn2個の類似文書(以下、第2の文書)を選択する。上記選択の終了に応じて、処理はステップ589に進む。ステップ589では、エージェント部(520)は、選択された第1及び第2の文書を順次提案するコンテンツとしてエディタ部(510)に送信する。上記送信の終了に応じて、処理はステップ582に戻る。
図6A〜図6Cでは、本発明の実施態様である、図1Aに示すエージェント#2が背景提案エージェントである場合のエージェントの動作を説明する。
図6Aは、本発明の実施態様である、図1Aに示すエージェント#2が背景提案エージェントである場合の文書作成支援システム(600)のブロック構成図を示す。文書作成支援システム(600)は、エディタ部(610)、エージェント部(620)及び記憶部(630)を備えている。
エディタ部(610)は、入力部(611)、管理部(612)及び表示部(613)を含む。
エージェント部(620)は、背景提案エージェント(以下、エージェント#2)(623)を実装している。エージェント#2は、文書の背景コンテンツ、例えば背景色、背景模様、背景画像又は背景イラストを提案する。
エージェント#2(623)は、Nグラム・テーブルの作成部(624)及び背景色テーブル検索部(625)を備えている。Nグラム・テーブルの作成部(624)は、ユーザの入力データを形態素解析部(628)で解析した結果から、n−グラム以下の単語列の全てを列挙したグラム・テーブル(図6C、652)を作成する。背景色テーブル検索部(625)は、グラム・テーブル(652)に基づいて背景色テーブル(図6B、653)を検索し、入力データに(最も)適応したと判定された背景コンテンツを提案する。ここで、背景色テーブル(653)は、例えば、背景色、及び該背景色に関連付けられた単語列及び該背景色に関連付けられたスコアを格納している。単語列の最大長は特に限定されないが、例えば3である。背景色は、例えば、カラーコードで示されていてもよい。
記憶部(630)は、各種コンテンツ、並びに背景と背景コンテンツの対応関係を示す背景色テーブルを備えている。
図6Bは、本発明の実施態様である、図6Aの背景提案エージェント(エージェント#2)で使用される背景色テーブルを登録するフローチャートを示す。ステップ641の開始前に、背景色テーブル(653)が予め記憶部(630)に準備されているとする。ステップ641では、エージェント部(620)は、背景色の登録動作を開始する。ステップ642では、エージェント部(620)は、登録する背景色があるか否かの判定を行う。登録すべき背景色がない場合、処理はステップ645に進み、動作を終了する。登録すべき背景色がある場合、処理はステップ643に進む。ステップ643では、エージェント部(620)は、上記登録すべき背景色についての背景色情報を記憶部(630)に読み込む。背景色情報は、背景色、該背景色に関連付けられた単語列、及び該背景色に関連付けられたスコアである。ステップ644では、エージェント部(620)は、ステップ643で読み込んだ背景色情報を背景色テーブル(653)に登録する。背景色テーブル(653)は、単語列、背景色及び単語列の関連の程度を与えるスコアが登録されるテーブルである。該登録の終了に応じて、処理はステップ642へ戻る。
図6Cは、本発明の実施態様である、図6Aの背景提案エージェント(エージェント#2)の動作フローチャートを示す。ステップ661では、エージェント部(620)が検索動作を開始する。ステップ662では、エージェント部(620)は、ユーザの入力をエディタ部(610)から受け取る。ユーザの入力は、例えば、「今日は天気が悪いですね」である。エージェント部(620)は、受け取ったユーザの入力を形態素解析部(628)に送信する。該送信の終了に応じて、処理はステップ663に進む。ステップ663では、形態素解析部(628)は、上記受け取ったユーザの入力を形態素に分解する。形態素解析部(628)はさらに、分解された形態素を、単語辞書(651)を使用して、単語列にまとめる。ユーザの入力が、例えば「今日は天気が悪いですね」である場合、形態素解析部(528)は、該入力を「今日/は/天気/が/悪い/です/ね」に処理する。形態素解析部(628)は、処理結果をNグラム・テーブルの作成部(624)に送信する。該送信の終了に応じて、処理はステップ664に進む。ステップ664では、Nグラム・テーブルの作成部(624)は、上記単語列より、例えば3個以下の連続する単語列、すなわち3−グラム以下の全ての単語列が格納されるグラム・テーブル(652)を作成する。上記単語列が「今日/は/天気/が/悪い/です/ね」の場合、グラム・テーブル(652)は、1−グラムとして「今日、は、天気、・・・」を有し、2−グラムとして「今日は、は天気、天気が、・・・」を有し、及び3−グラムとして「今日は天気、は天気が、天気が悪い、・・・」を有する。上記グラム・テーブル(652)の作成の終了に応じて、処理はステップ665に進む。ステップ665では、背景色テーブル検索部(625)は、上記3−グラム以下の全ての単語列それぞれを使用して、予め記憶部(630)に登録されている背景色テーブル(653)を検索する。該検索の結果、上記3−グラム以下の単語列それぞれに対応する背景色及びスコアが得られる。上記ユーザの入力が「今日/は/天気/が/悪い/です/ね」の例では、「天気が悪い」という3グラムの単語列で背景色テーブル(653)が検索されたときに、背景色テーブル(653)の2行目の「天気/が/悪い」に対応する「グレー」及び「0.8」が検索される。該検索の終了に応じて、処理はステップ666に進む。ステップ666では、背景色テーブル検索部(625)は、得られた背景色毎にスコアを集計する。該集計の終了に応じて、処理はステップ667に進む。ステップ667では、背景色テーブル検索部(625)は、集計されたスコアの最も大きい最大スコアの色を提案するコンテンツとしてエディタ部(610)に送信する。上記送信の終了に応じて、処理はステップ668に進み、終了する。上記ユーザの入力が「今日/は/天気/が/悪い/です/ね」の例では、上記集計されたスコアの最も大きい最大スコアの色は、グレーである。よって、上記送信を受けたエディタ部(610)では、背景色としてグレーが提案される。
図7A〜図7Nは、本発明の実施態様である、図1Aに記載の文書作成支援システムを用いてコンテンツの提案が行われている表示部の画面の例を示す。なお、上記画面は、入力データ表示部(701)及びエージェント表示部(702)で構成されているとする。入力データ表示部(701)は、ユーザによって編集中の文書が表示される画面である。エージェント表示部(702)は、少なくとも1のエージェント及び該エージェントからの提案が表示される画面である。
図7Aは、本発明の実施態様である、図1Aのエディタ部(110)の起動又は新規文書の作成が指示された直後の表示部の画面を示す。エディタ部(110)の起動又は新規文書の作成が指示された直後は、ユーザの入力データ、すなわちテキストがない状態である。よって、入力データ表示部(701)には何も表示されていない。また、エージェント表示部(702)には、アイコンが3つ表示されている。上記3つのアイコンそれぞれは、3つのエージェントそれぞれに対応する。1番上のアイコンは、例えば、テンプレート文書提案エージェントのアイコンである。2番目のアイコンは、例えば、類似及びドメイン文書提案エージェントのアイコンである。3番目のアイコンは、例えば、背景提案エージェントのアイコンである。エディタ部(110)は、ユーザからのテキスト入力を待っている。エージェントそれぞれは、ユーザからの入力のモニターを開始する。
図7Bは、本発明の実施態様である、ユーザ情報の送信中の状態を示す。図7Aに示す状態のあと、エディタ部(110)は、起動又は新規文書の作成に応じて、例えばOSのログイン情報を参照し、ユーザが「鈴木二郎」さんだと認識する。そして、エディタ部(110)は、上記認識した鈴木二郎さんというユーザ情報をエージェント側に送信する。図7Bは、上記送信中の状態を示す。鈴木二郎さんというユーザ情報がエージェント側に送信されている間、画面に変化はない。該送信は、ユーザによるテキスト入力のタイミングとは関係なくバックグラウンドで行われる。エディタ部(110)は、ユーザからのテキスト入力を待っている。テンプレート文書提案エージェントは、送信されたユーザの情報に基づいて、文書作成者が鈴木二郎さんであると認識する。テンプレート文書提案エージェントは、鈴木二郎さんの過去の文書作成履歴を参照して、鈴木二郎さんは、お礼状を書いている頻度が高いことを認識する。テンプレート文書提案エージェントは、データベースから、お礼状についてのテンプレート文書の検索を開始する。該テンプレート文書は、例えば、お礼状についてのテンプレート文書又は鈴木二郎さんが過去に作成したお礼状である。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Cは、本発明の実施態様である、テンプレート文書の提案の画面を示す。図7Bに示す状態のあと、テンプレート文書提案エージェントは、検索したお礼状についてのテンプレート文書を提案するコンテンツとして、エディタ部(110)に送信する。図7Cは、上記送信が完了した直後の状態を示す。画面には、ユーザがまだ何もテキストを入力していない状態にもかかわらず、テンプレート文書提案エージェントによって検索されたお礼状についてのテンプレート文書が吹き出し形式で表示されている。エディタ部(110)は、引き続き、ユーザからのテキスト入力を待っている。テンプレート文書提案エージェントは、検索したテンプレート文書をエディタ部(110)に渡すとともに、該テンプレート文書に対するユーザからの採択の指示又は却下の指示を待っている。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Dは、本発明の実施態様である、ユーザからのテキスト入力を受け付けている画面を示す。図7Cに示す状態のあと、ユーザは、提案されたお礼状についてのテンプレート文書を却下した。ユーザはまた、エディタ部(110)に「山田 太郎 様、」と入力をした。図7Dは、上記入力が終了した直後の状態を示す。画面には、ユーザからのテキスト入力「山田 太郎 様、」が表示されている。先に表示されたテンプレート文書が採択されなかった結果、該テンプレート文書の表示は画面から消滅している。エディタ部(110)は、ユーザからのテキスト入力をさらに待っている。類似及びドメイン文書提案エージェントは、上記入力「山田 太郎 様、」に基づいて、山田太郎様宛の文書であると認識する。そして、類似及びドメイン文書提案エージェントは、データベースから、山田太郎様宛に過去に作成された文書の検索を開始する。類似及びドメイン文書提案エージェントは、検索した類似文書をエディタ部(110)に渡す。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Eは、本発明の実施態様である、類似文書の提案の画面を示す。図7Dに示す状態のあと、エディタ部(110)は、類似及びドメイン文書提案エージェントから受け取った類似文書をエージェント表示部(702)に表示する。図7Eは、上記表示が完了した直後の状態を示す。画面には、類似及びドメイン文書提案エージェントによって検索された類似文書が吹き出し形式で表示されている。エディタ部(110)は、引き続き、ユーザからのテキスト入力を待っている。類似及びドメイン文書提案エージェントは、ユーザからの、提案された類似文書の採択の指示又は却下の指示を待っている。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Fは、本発明の実施態様である、図7Eにおいて提案された類似文書の表示が消えていく画面を示す。図7Eに示す状態のあと、ユーザは、提案された類似文書を却下した又は提案に対して一定時間応答をしなかった。図7Fは、ユーザが、上記提案された類似文書を却下した又は提案に対して一定時間応答をしなかった状態を示す。画面には、ユーザから提案が却下された又はユーザからの反応がないことに応じて、提案された類似文書が消えていく様子が表示されている。エディタ部(110)は、引き続き、ユーザからのテキスト入力を待っている。類似及びドメイン文書提案エージェントは、上記類似文書を採択しない旨のユーザからの指示に応じて、又は上記類似文書の提案から所定時間が経過することに応じて、該提案が却下されたと判定する。類似及びドメイン文書提案エージェントは、上記提案が却下されたことに応じて、上記類似文書の提案の表示を画面から消滅させる。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Gは、本発明の実施態様である、ユーザからの更なるテキスト入力を受け付けている画面を示す。図7Fに示す状態のあと、ユーザは、更なるテキスト入力を行った。図7Gは、上記更なるテキスト入力が行われた直後の状態を示す。画面には、ユーザからの更なるテキスト入力が表示されている。先に表示された類似文書が採択されなかった結果、該類似文書の表示が画面から消滅している。エディタ部(110)は、ユーザからのテキスト入力をさらに待っている。類似及びドメイン文書提案エージェントは、上記更なるテキスト入力に基づいて、ユーザが作成中の文書は、約束に遅刻した場合の文書であると認識する。そして、類似及びドメイン文書提案エージェントは、データベースから、約束に遅刻した場合の文書の検索を開始する。類似及びドメイン文書提案エージェントは、検索した類似文書をエディタ部(110)に渡す。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Hは、本発明の実施態様である、類似文書の提案の画面を示す。図7Gに示す状態のあと、エディタ部(110)は、類似及びドメイン文書提案エージェントから受け取った類似文書をエージェント表示部(702)に表示する。図7Hは、上記表示が完了した直後の状態を示す。画面には、類似及びドメイン文書提案エージェントによって検索された類似文書が吹き出し形式で表示されている。また、上記類似文書には可変領域部がある。可変領域部は、下線が付加されて表示されている「山田太郎」、「事故渋滞にまきこまれ」及び「鈴木二郎」である。該提案の表示例では、宛先が、ユーザによってテキスト入力された宛先である「山田太郎」宛に既に置換されている。また、約束に遅れた理由部分及び差出人が、可変領域として用意されている。該提案における「2/2」は、類似及びドメイン文書提案エージェントによって提案された類似文書が2つあり、画面に表示されている提案は、該2つのうちの2つ目であることを示す。エディタ部(110)は、引き続き、ユーザからのテキスト入力を待っている。類似及びドメイン文書提案エージェントは、提案した類似文書のユーザからの採択の指示又は却下の指示を待っている。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Iは、本発明の実施態様である、可変領域部に選択肢が設けられている例の画面を示す。図7Hに示す状態のあと、ユーザは、可変領域部の一つである「事故渋滞にまきこまれ」を選択した。図7Iは、上記選択中の状態を示す。画面には、提案された類似文書中の可変領域部の選択肢が示されている。該可変領域部は、約束に遅れた理由部分である。該理由部分には、様々な理由がテンプレートとして用意されている。該可変領域部は、ポインティングデバイスで選択可能である。ユーザは、例えば「交通渋滞にまきこまれ」という選択肢を選択しうる。エディタ部(110)は、ユーザからのテキスト入力を受け付け中の状態である。類似及びドメイン文書提案エージェントは、可変領域部の選択肢を表示している。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Jは、本発明の実施態様である、可変領域部の候補の確定待ちの画面を示す。図7Iに示す状態のあと、ユーザは、「交通渋滞にまきこまれ」を選択した。図7Jは、上記選択後の状態を示す。画面は、可変領域部の選択肢のうち、「交通渋滞にまきこまれ」が選択されたことを示す。エディタ部(110)は、ユーザからのテキスト入力を受け付け中の状態である。類似及びドメイン文書提案エージェントは、可変領域部の選択肢のうち、「交通渋滞にまきこまれ」が選択されたことを認識する。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Kは、本発明の実施態様である、提案の採択待ちの画面を示す。図7Jに示す状態のあと、類似及びドメイン文書提案エージェントは、上記提案した類似文書に対するユーザのアクションを待っている。図7Kは、上記待っている状態を示す。画面には、提案された類似文書が示されている。提案された類似文書の可変領域部では、選択された「交通渋滞にまきこまれ」が示されている。提案文書を採択することにしたユーザが「採択」指示のため、アイコンをクリックするなど何らかの採択指示をする。エディタ部(110)は、ユーザからのテキスト入力を受け付け中の状態である。類似及びドメイン文書提案エージェントは、提案した類似文書のユーザからの採択の指示又は却下の指示を待っている。類似及びドメイン文書提案エージェントは、ユーザからの採択の指示に応じて、採択された類似文書をエディタ部(110)に送る。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Lは、本発明の実施態様である、採択された類似文書がエディタ画面内に表示されている例を示す。図7Kに示す状態のあと、ユーザは、上記提案されていた類似文書を採択した。図7Lは、上記採択直後の状態を示す。入力データ表示部(701)は、採択された類似文書を表示している。エディタ部(110)は、ユーザによって入力中のテキストを、採択された類似文書に置き換える。エディタ部(110)は、ユーザからのテキスト入力を受け付け中の状態である。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Mは、本発明の実施態様である、背景データの提案の画面を示す。図7Lに示す状態のあと、背景提案エージェントは背景色を提案した。図7Mは、上記提案直後の状態を示す。画面には、背景提案エージェントによって提案された背景色(グレー)が吹き出し形式で表示されている。背景提案エージェントは、上記採択された類似文書がお詫びの文書であるために、背景色としてグレーを選択している。エディタ部(110)は、ユーザからのテキスト入力を受け付け中の状態である。背景提案エージェントは、提案した背景色に対するユーザからの採択の指示又は却下の指示を待っている。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図7Nは、本発明の実施態様である、提案された背景色が却下された画面を示す。図7Mに示す状態のあと、ユーザは、提案された背景色を却下した又は提案に対して一定時間応答をしなかった。図7Nは、ユーザが、上記提案された背景色を却下した又は提案に対して一定時間応答をしなかった状態を示す。画面には、提案された背景データの表示が消滅していく様子が表示される。エディタ部(110)は、ユーザからのテキスト入力を受け付け中の状態である。エージェント中の背景提案エージェントは、ユーザからの採用却下の指示、又は反応がなく一定時間が経過することによって採用却下を判別する。エージェントそれぞれは、ユーザからの入力のモニターを引き続き行っている。
図8は、本発明の実施態様における、図1Aに示す文書作成支援システムのコンピュータ・ハードウェアのブロック図を示す。コンピュータ・システム(801)は、CPU(802)とメイン・メモリ(803)と含み、これらはバス(804)に接続されている。CPU(802)は好ましくは、32ビット又は64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Atom(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ又はSempron(商標)を使用することができる。バス(804)には、ディスプレイ・コントローラ(805)を介して、ディスプレイ(806)、例えばLCDが接続される。ディスプレイ(806)は、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータ・システムについての情報と、そのコンピュータ・システム上で動作中のソフトウェアについての情報を、適当なグラフィック・インタフェースで表示するために使用される。バス(804)にはまた、IDE又はSATAコントローラ(807)を介して、ハードディスク又はシリコン・ディスク(808)と、CD−ROM、DVDドライブ又はBDドライブ(809)が接続される。
ハードディスク(808)には、オペレーティング・システム、J2EEなどのJava(商標)処理環境を提供するプログラム、その他のプログラム及びデータが、メイン・メモリにロード可能に記憶されている。
CD−ROM、DVD又はBDドライブ(809)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをハードディスクに追加導入するために使用される。バス(804)にはさらに、キーボード・マウスコントローラ(810)を介して、キーボード(811)及びマウス(812)が接続されている。
通信インタフェース(814)は、例えばイーサネット(商標)・プロトコルに従う。通信インタフェース(814)は、通信コントローラ(813)を介してバス(804)に接続され、コンピュータ・システム及び通信回線(815)を物理的に接続する役割を担い、コンピュータ・システムのオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インタフェース層を提供する。なお、通信回線は、有線LAN環境、或いは例えばIEEE802.11a/b/g/nなどの無線LAN接続規格に基づく無線LAN環境であってもよい。