(57)【特許請求の範囲】
【請求項１】
既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、前記グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、
所定の文書情報から対応する前記グループを抽出し、抽出された前記グループに分類された前記既存の文書情報から生成された特徴ベクトルを取得する第１の取得手段と、
前記データベース生成手段によって生成された前記関連情報のうち、前記第１の取得手段によって取得された前記特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置において、
前記データベース生成手段は、
全ての前記既存の文書情報のうち、所定の条件に基づき前記グループに分類する処理の対象とする前記既存の文書情報を選択する選択手段と、
前記選択手段によって選択された前記既存の文書情報をその属性情報に基づき前記グループに分類する分類手段と、
前記グループに分類された前記既存の文書情報に含まれる単語に対する、前記グループにおける前記単語の評価値に応じて、少なくとも１以上の前記既存の文書情報からなる前記グループを選抜する選抜手段と、
選抜された前記グループにおける前記単語に基づき、前記ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する第２の取得手段と、
前記第２の取得手段によって取得された前記関連情報を、選抜された前記グループに対応付けて蓄積する蓄積手段とを含む
ことを特徴とする情報処理装置。
【請求項２】
前記選択手段は、全ての前記既存の文書情報のうち、所定の期間における通信頻度、通信日時、および通信総数のうちの少なくとも１つに基づいて決定する通信相手条件を満たす相手との間で通信した前記既存の文書情報として、メーラにおける送信済メールまたは受信済メールを選択する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選抜手段は、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、前記グループを選抜から除外する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記選抜手段は、既存の文書情報がその属性情報に基づき話題ごとに分類されている前記グループの数に対応して前記構成数条件を変更する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２の取得手段は、
同一の前記グループに分類されている全ての前記既存の文書情報を連結して連結文書を生成する連結手段と、
形態素解析によって前記連結文書を単語に分解する形態素解析手段と、
形態素解析手段によって分解された単語に所定の条件に従って加重した評価値を付与する評価値付与手段と、
前記グループに前記評価値が付与された単語を要素とする単語ベクトルを設定する単語ベクトル設定手段と、
前記グループに対応する前記単語ベクトルの要素である前記単語を検索語とし、ネットワーク上の検索エンジンを用いて前記関連情報を取得する検索手段とを含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記連結手段は、同一の前記グループに分類されている前記既存の文書としてのメーラにおける送信済メールまたは受信済メールを、送信済メールと受信済メールとの間に所定の文字列を挿入して連結し、前記連結文書を生成する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記評価値付与手段は、前記送信済メールに属していた単語に対し、前記受信済メールに属していた単語よりも加重して評価値を付与する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記評価値付与手段は、前記単語に対し、前記単語が属している前記既存の文書の数および長さの少なくとも一方に対応して加重した評価値を付与する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項９】
前記単語ベクトル設定手段は、単語ベクトルから不要語を削除する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項１０】
前記選抜手段は、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、前記グループを選抜から除外し、
前記単語ベクトル設定手段は、前記選抜手段により、構成数条件を満たさない前記既存の文書情報からなる前記グループが選抜から除外された結果、選抜された前記グループに対応する単語ベクトルから不要語を削除する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項１１】
前記選抜手段は、前記単語ベクトル設定手段によって前記不要語が除去されたことにより、構成数条件を満たさなくなった前記グループも選抜から除外する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記評価値付与手段は、前記単語ベクトル設定手段によって前記単語ベクトルから前記不要語が削除され、かつ、前記選抜手段によって構成数条件を満たさない前記グループが選抜から除外された後、前記単語に対して、前記所定の条件に従って加重した前記評価値を付与する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１３】
前記選抜手段は、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている前記既存の文書の最新の通信日時が所定の期間内である前記グループも選抜から除外する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項１４】
前記選抜手段は、第１次選抜として、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、前記グループを選抜から除外し、第２次選抜として、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている前記既存の文書の最新の通信日時が所定の期間内である前記グループも選抜から除外する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項１５】
前記検索手段は、前記グループに対応する前記単語ベクトルのうち、付与されている前記評価値が上位の複数の単語を連結して検索語とする
ことを特徴とする請求項５に記載の情報処理装置。
【請求項１６】
前記検索手段は、前記検索エンジンから取得した検索結果のうち、所定の文字列を含むものを前記関連情報から除外する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項１７】
前記検索手段は、予め設定されている単語も検索語とし、ネットワーク上の検索エンジンを用いて前記関連情報を取得する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項１８】
既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、前記グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、
所定の文書情報から対応する前記グループを抽出し、抽出された前記グループに分類された前記既存の文書情報から生成された特徴ベクトルを取得する取得手段と、
前記データベース生成手段によって生成された前記関連情報のうち、前記第１の取得手段によって取得された前記特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置の情報処理方法において、
前記データベース生成手段による、
全ての前記既存の文書情報のうち、所定の条件に基づき前記グループに分類する処理の対象とする前記既存の文書情報を選択する選択ステップと、
前記選択ステップの処理で選択された前記既存の文書情報をその属性情報に基づき前記グループに分類する分類ステップと、
前記グループに分類された前記既存の文書情報に含まれる単語に対する、前記グループにおける前記単語の評価値に応じて、少なくとも１以上の前記既存の文書情報からなる前記グループを選抜する選抜ステップと、
選抜された前記グループにおける前記単語に基づき、前記ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する取得ステップと、
前記取得ステップの処理で取得された前記関連情報を、選抜された前記グループに対応付けて蓄積する蓄積ステップとを含む
ことを特徴とする情報処理方法。
【請求項１９】
前記選択ステップは、全ての前記既存の文書情報のうち、所定の期間における通信頻度、通信日時、および通信総数のうちの少なくとも１つに基づいて決定する通信相手条件を満たす相手との間で通信した前記既存の文書情報として、メーラにおける送信済メールまたは受信済メールを選択する
ことを特徴とする請求項１８に記載の情報処理方法。
【請求項２０】
前記選抜ステップは、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、前記グループを選抜から除外する
ことを特徴とする請求項１８に記載の情報処理方法。
【請求項２１】
前記選抜ステップは、既存の文書情報がその属性情報に基づき話題ごとに分類されている前記グループの数に対応して前記構成数条件を変更する
ことを特徴とする請求項２０に記載の情報処理方法。
【請求項２２】
前記取得ステップは、
同一の前記グループに分類されている全ての前記既存の文書情報を連結して連結文書を生成する連結ステップと、
形態素解析によって前記連結文書を単語に分解する形態素解析ステップと、
形態素解析ステップの処理で分解された単語に所定の条件に従って加重した評価値を付与する評価値付与ステップと、
前記グループに前記評価値が付与された単語を要素とする単語ベクトルを設定する単語ベクトル設定ステップと、
前記グループに対応する前記単語ベクトルの要素である前記単語を検索語とし、ネットワーク上の検索エンジンを用いて前記関連情報を取得する検索ステップとを含む
ことを特徴とする請求項１８に記載の情報処理方法。
【請求項２３】
前記連結ステップは、同一の前記グループに分類されている前記既存の文書としてのメーラにおける送信済メールまたは受信済メールを、送信済メールと受信済メールとの間に所定の文字列を挿入して連結し、前記連結文書を生成する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項２４】
前記評価値付与ステップは、前記送信済メールに属していた単語に対し、前記受信済メールに属していた単語よりも加重して評価値を付与する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項２５】
前記評価値付与ステップは、前記単語に対し、前記単語が属している前記既存の文書の数および長さの少なくとも一方に対応して加重した評価値を付与する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項２６】
前記単語ベクトル設定ステップは、単語ベクトルから不要語を削除する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項２７】
前記選抜ステップは、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、前記グループを選抜から除外し、
前記単語ベクトル設定ステップは、前記選抜ステップの処理で、構成数条件を満たさない前記既存の文書情報からなる前記グループが選抜から除外された結果、選抜された前記グループに対応する単語ベクトルから不要語を削除する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項２８】
前記選抜ステップは、前記単語ベクトル設定ステップの処理で前記不要語が除去されたことにより、構成数条件を満たさなくなった前記グループも選抜から除外する
ことを特徴とする請求項２７に記載の情報処理方法。
【請求項２９】
前記評価値付与ステップは、前記単語ベクトル設定ステップの処理で前記単語ベクトルから前記不要語が削除され、かつ、前記選抜ステップの処理で構成数条件を満たさない前記グループが選抜から除外された後、前記単語に対して、前記所定の条件に従って加重した前記評価値を付与する
ことを特徴とする請求項２７に記載の情報処理方法。
【請求項３０】
前記選抜ステップは、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている前記既存の文書の最新の通信日時が所定の期間内である前記グループも選抜から除外する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項３１】
前記選抜ステップは、第１次選抜として、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、前記グループを選抜から除外し、第２次選抜として、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている前記既存の文書の最新の通信日時が所定の期間内である前記グループも選抜から除外する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項３２】
前記検索ステップは、前記グループに対応する前記単語ベクトルのうち、付与されている前記評価値が上位の複数の単語を連結して検索語とする
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項３３】
前記検索ステップは、前記検索エンジンから取得した検索結果のうち、所定の文字列を含むものを前記関連情報から除外する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項３４】
前記検索ステップは、予め設定されている単語も検索語とし、ネットワーク上の検索エンジンを用いて前記関連情報を取得する
ことを特徴とする請求項２２に記載の情報処理方法。
【請求項３５】
既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、前記グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、
所定の文書情報から対応する前記グループを抽出し、抽出された前記グループに分類された前記既存の文書情報から生成された特徴ベクトルを取得する取得手段と、
前記データベース生成手段によって生成された前記関連情報のうち、前記第１の取得手段によって取得された前記特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置の制御用のプログラムであって、
前記データベース生成手段に、
全ての前記既存の文書情報のうち、所定の条件に基づき前記グループに分類する処理の対象とする前記既存の文書情報を選択する選択ステップと、
前記選択ステップの処理で選択された前記既存の文書情報をその属性情報に基づき前記グループに分類する分類ステップと、
前記グループに分類された前記既存の文書情報に含まれる単語に対する、前記グループにおける前記単語の評価値に応じて、少なくとも１以上の前記既存の文書情報からなる前記グループを選抜する選抜ステップと、
選抜された前記グループにおける前記単語に基づき、前記ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する取得ステップと、
前記取得ステップの処理で取得された前記関連情報を、選抜された前記グループに対応付けて蓄積する蓄積ステップとを含む処理を実行させるように情報処理装置のコンピュータを制御するプログラムが記録されていることを特徴とする記録媒体。
【請求項３６】
既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、前記グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、
所定の文書情報から対応する前記グループを抽出し、抽出された前記グループに分類された前記既存の文書情報から生成された特徴ベクトルを取得する取得手段と、
前記データベース生成手段によって生成された前記関連情報のうち、前記第１の取得手段によって取得された前記特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置の制御用のプログラムであって、
前記データベース生成手段に、
全ての前記既存の文書情報のうち、所定の条件に基づき前記グループに分類する処理の対象とする前記既存の文書情報を選択する選択ステップと、
前記選択ステップの処理で選択された前記既存の文書情報をその属性情報に基づき前記グループに分類する分類ステップと、
前記グループに分類された前記既存の文書情報に含まれる単語に対する、前記グループにおける前記単語の評価値に応じて、少なくとも１以上の前記既存の文書情報からなる前記グループを選抜する選抜ステップと、
選抜された前記グループにおける前記単語に基づき、前記ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する取得ステップと、
前記取得ステップの処理で取得された前記関連情報を、選抜された前記グループに対応付けて蓄積する蓄積ステップとを含む処理を実行させるように情報処理装置のコンピュータを制御することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、電子メールなどの文書の中から、ユーザの興味があると思われる単語および関連情報を取得してデータベースに蓄積し、その関連情報を効果的に表示させるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータのデスクトップ（表示画面）に、いわゆるデスクトップマスコットと呼ばれるキャラクタを表示させるアプリケーションプログラムが存在する。
【０００３】
デスクトップマスコットは、例えば、電子メールの着信等をユーザに通知する機能やデスクトップ上を移動する機能などを有している。
【０００４】
ところで、例えば、ユーザが電子メールとして送信する文書等を入力している時や、受信した文書を閲覧している時などにおいて、送受信の対象としている文書に関連する情報（以下、関連情報と記載する）をユーザに提示することができれば、ユーザによって利便性が向上する。さらに、当該提示をデスクトップマスコットが実行するようにすれば、デスクトップマスコットに対して一層愛着を感じるようになると考えられる。
【０００５】
従来、電子メールなどの文書を用いて自動的にデータベースを構築し、送受信した電子メールの文書に関連する関連情報をユーザに提示する方法が、例えば特開２００１−３１２５１５号公報（以下、先願と記述する）に開示されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、先願の発明においては、電子メールの利用状況の個人差、すなわち、電子メールの使用歴の長短、送受信頻度の高低、フォルダ分類の有無、通信相手の多少などが考慮されることなく、全ての電子メールが分析されてデータベース化が行われていたので、その分析処理にコンピュータのリソース（処理時間、メモリ等）を浪費してしまうことが多分に生じていた。また、分析結果が適切ではないことが多く、ユーザに対して適切な情報を提示することができない課題があった。
【０００７】
すなわち、先願においては、ユーザが興味をもっている事柄に対応する単語を電子メールの文章の中から抽出し、抽出した単語に対応する情報をユーザに提示するようにしていた。ユーザの興味に対応する単語を電子メールの文章の中から抽出する方法は、具体的には、ユーザの興味が文章中に使用する単語の出現頻度に影響するという仮定に基づき、全ての電子メールまたは一定期間に通信した電子メールを対象として、１通毎に形態素解析を実行して単語を抽出し、抽出した各単語の出現頻度を計測し、１通毎あるいは一定期間に通信した複数の電子メール毎に、出現頻度が高い単語を、ユーザの興味に対応する単語として抽出するようにしていた。
【０００８】
しかしながらこのような従来方法では、電子メールの利用状況の個人差、および電子メールが有している特徴（例えば、送受信者、通信日時などを特定できること）を全く利用していないので、例えば、受信しても返信することがないメーリングリストからの電子メール、宣伝用のいわゆるスパム電子メールなども分析の対象としてしまい、ユーザの興味には関係がない単語が抽出されてしまうことがあった。
【０００９】
また、従来の方法では、送受信した電子メールを分析の対象としていたので、電子メールが送受信されない状況においては、ユーザの興味に対応する単語が新たに抽出されることもないので、新たな関連情報をユーザに提示することができない課題があった。
【００１０】
なお、従来、ユーザの興味に対応する単語が新たに抽出されない状況においても、何らかの情報をユーザに提示するために、一般的な情報を表示するWebページのURLとタイトルを予め登録しておく方法が存在する。しかしながら、この方法では、ユーザの興味に対応する単語が新たに抽出されない状況において、毎回同一のWebページが提示されることになるので、ユーザにとって意外性がないだけでなく、当該WebページのURLが変更された場合、それに対応することができない課題があった。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、電子メールの特徴に基づき、分析する文章を限定することにより、速やかにユーザの興味に対応する単語を抽出できるようにするとともに、電子メールの送受信が行われない状況においても、ユーザに適切な情報を提示できるようにすることを目的とする。
【００１２】
【課題を解決するための手段】
本発明の情報処理装置は、既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、所定の文書情報から対応するグループを抽出し、抽出されたグループに分類された既存の文書情報から生成された特徴ベクトルを取得する第１の取得手段と、データベース生成手段によって生成された関連情報のうち、第１の取得手段によって取得された特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置において、データベース生成手段は、全ての既存の文書情報のうち、所定の条件に基づきグループに分類する処理の対象とする既存の文書情報を選択する選択手段と、選択手段によって選択された既存の文書情報をその属性情報に基づきグループに分類する分類手段と、グループに分類された既存の文書情報に含まれる単語に対する、グループにおける単語の評価値に応じて、少なくとも１以上の既存の文書情報からなるグループを選抜する選抜手段と、選抜されたグループにおける単語に基づき、ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する第２の取得手段と、第２の取得手段によって取得された関連情報を、選抜されたグループに対応付けて蓄積する蓄積手段とを含むことを特徴とする。
【００１３】
前記選択手段は、全ての既存の文書情報のうち、所定の期間における通信頻度、通信日時、および通信総数のうちの少なくとも１つに基づいて決定する通信相手条件を満たす相手との間で通信した既存の文書情報として、メーラにおける送信済メールまたは受信済メールを選択するようにすることができる。
前記選抜手段は、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、グループを選抜から除外するようにすることができる。
前記選抜手段は、既存の文書情報がその属性情報に基づき話題ごとに分類されているグループの数に対応して構成数条件を変更するようにすることができる。
前記第２の取得手段は、同一のグループに分類されている全ての既存の文書情報を連結して連結文書を生成する連結手段と、形態素解析によって連結文書を単語に分解する形態素解析手段と、形態素解析手段によって分解された単語に所定の条件に従って加重した評価値を付与する評価値付与手段と、グループに評価値が付与された単語を要素とする単語ベクトルを設定する単語ベクトル設定手段と、グループに対応する単語ベクトルの要素である単語を検索語とし、ネットワーク上の検索エンジンを用いて関連情報を取得する検索手段とを含むようにすることができる。
前記連結手段は、同一のグループに分類されている既存の文書としてのメーラにおける送信済メールまたは受信済メールを、送信済メールと受信済メールとの間に所定の文字列を挿入して連結し、連結文書を生成するようにすることができる。
前記評価値付与手段は、送信済メールに属していた単語に対し、受信済メールに属していた単語よりも加重して評価値を付与するようにすることができる。
前記評価値付与手段は、単語に対し、単語が属している既存の文書の数および長さの少なくとも一方に対応して加重した評価値を付与するようにすることができる。
前記単語ベクトル設定手段は、単語ベクトルから不要語を削除するようにすることができる。
前記選抜手段は、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、グループを選抜から除外し、前記単語ベクトル設定手段は、選抜手段により、構成数条件を満たさない既存の文書情報からなるグループが選抜から除外された結果、選抜されたグループに対応する単語ベクトルから不要語を削除するようにすることができる。
前記選抜手段は、単語ベクトル設定手段によって不要語が除去されたことにより、構成数条件を満たさなくなったグループも選抜から除外するようにすることができる。
前記評価値付与手段は、単語ベクトル設定手段によって単語ベクトルから不要語が削除され、かつ、選抜手段によって構成数条件を満たさないグループが選抜から除外された後、単語に対して、所定の条件に従って加重した評価値を付与するようにすることができる。
前記選抜手段は、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている既存の文書の最新の通信日時が所定の期間内であるグループも選抜から除外するようにすることができる。
前記選抜手段は、第１次選抜として、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、グループを選抜から除外し、第２次選抜として、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている既存の文書の最新の通信日時が所定の期間内であるグループも選抜から除外するようにすることができる。
前記検索手段は、グループに対応する単語ベクトルのうち、付与されている評価値が上位の複数の単語を連結して検索語とするようにすることができる。
前記検索手段は、検索エンジンから取得した検索結果のうち、所定の文字列を含むものを関連情報から除外するようにすることができる。
前記検索手段は、予め設定されている単語も検索語とし、ネットワーク上の検索エンジンを用いて関連情報を取得するようにすることができる。
【００１４】
本発明の情報処理方法は、既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、所定の文書情報から対応するグループを抽出し、抽出されたグループに分類された既存の文書情報から生成された特徴ベクトルを取得する取得手段と、データベース生成手段によって生成された関連情報のうち、第１の取得手段によって取得された特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置の情報処理方法において、データベース生成手段による、全ての既存の文書情報のうち、所定の条件に基づきグループに分類する処理の対象とする既存の文書情報を選択する選択ステップと、選択ステップの処理で選択された既存の文書情報をその属性情報に基づきグループに分類する分類ステップと、グループに分類された既存の文書情報に含まれる単語に対する、グループにおける単語の評価値に応じて、少なくとも１以上の既存の文書情報からなるグループを選抜する選抜ステップと、選抜されたグループにおける単語に基づき、ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する取得ステップと、取得ステップの処理で取得された関連情報を、選抜されたグループに対応付けて蓄積する蓄積ステップとを含むことを特徴とする。
【００１５】
前記選択ステップは、全ての既存の文書情報のうち、所定の期間における通信頻度、通信日時、および通信総数のうちの少なくとも１つに基づいて決定する通信相手条件を満たす相手との間で通信した既存の文書情報として、メーラにおける送信済メールまたは受信済メールを選択するようにすることができる。
前記選抜ステップは、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、グループを選抜から除外するようにすることができる。
前記選抜ステップは、既存の文書情報がその属性情報に基づき話題ごとに分類されているグループの数に対応して構成数条件を変更するようにすることができる。
前記取得ステップは、同一のグループに分類されている全ての既存の文書情報を連結して連結文書を生成する連結ステップと、形態素解析によって連結文書を単語に分解する形態素解析ステップと、形態素解析ステップの処理で分解された単語に所定の条件に従って加重した評価値を付与する評価値付与ステップと、グループに評価値が付与された単語を要素とする単語ベクトルを設定する単語ベクトル設定ステップと、グループに対応する単語ベクトルの要素である単語を検索語とし、ネットワーク上の検索エンジンを用いて関連情報を取得する検索ステップとを含むようにすることができる。
前記連結ステップは、同一のグループに分類されている既存の文書としてのメーラにおける送信済メールまたは受信済メールを、送信済メールと受信済メールとの間に所定の文字列を挿入して連結し、連結文書を生成するようにすることができる。
前記評価値付与ステップは、送信済メールに属していた単語に対し、受信済メールに属していた単語よりも加重して評価値を付与するようにすることができる。
前記評価値付与ステップは、単語に対し、単語が属している既存の文書の数および長さの少なくとも一方に対応して加重した評価値を付与するようにすることができる。
前記単語ベクトル設定ステップは、単語ベクトルから不要語を削除するようにすることができる。
前記選抜ステップは、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、グループを選抜から除外し、前記単語ベクトル設定ステップは、選抜ステップの処理で、構成数条件を満たさない既存の文書情報からなるグループが選抜から除外された結果、選抜されたグループに対応する単語ベクトルから不要語を削除するようにすることができる。
前記選抜ステップは、単語ベクトル設定ステップの処理で不要語が除去されたことにより、構成数条件を満たさなくなったグループも選抜から除外するようにすることができる。
前記評価値付与ステップは、単語ベクトル設定ステップの処理で単語ベクトルから不要語が削除され、かつ、選抜ステップの処理で構成数条件を満たさないグループが選抜から除外された後、単語に対して、所定の条件に従って加重した評価値を付与するようにすることができる。
前記選抜ステップは、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている既存の文書の最新の通信日時が所定の期間内であるグループも選抜から除外するようにすることができる。
前記選抜ステップは、第１次選抜として、グループを構成する既存の文書情報の数が構成数条件である所定数よりも少ない場合、グループを選抜から除外し、第２次選抜として、対応する単語ベクトルの要素である単語に付与されている評価値の最大値が所定の値以上であって、かつ、分類されている既存の文書の最新の通信日時が所定の期間内であるグループも選抜から除外するようにすることができる。
前記検索ステップは、グループに対応する単語ベクトルのうち、付与されている評価値が上位の複数の単語を連結して検索語とするようにすることができる。
前記検索ステップは、検索エンジンから取得した検索結果のうち、所定の文字列を含むものを関連情報から除外するようにすることができる。
前記検索ステップは、予め設定されている単語も検索語とし、ネットワーク上の検索エンジンを用いて関連情報を取得するようにすることができる。
【００１６】
本発明の記録媒体は、既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、所定の文書情報から対応するグループを抽出し、抽出されたグループに分類された既存の文書情報から生成された特徴ベクトルを取得する取得手段と、データベース生成手段によって生成された関連情報のうち、第１の取得手段によって取得された特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置の制御用のプログラムであって、データベース生成手段に、全ての既存の文書情報のうち、所定の条件に基づきグループに分類する処理の対象とする既存の文書情報を選択する選択ステップと、選択ステップの処理で選択された既存の文書情報をその属性情報に基づきグループに分類する分類ステップと、グループに分類された既存の文書情報に含まれる単語に対する、グループにおける単語の評価値に応じて、少なくとも１以上の既存の文書情報からなるグループを選抜する選抜ステップと、選抜されたグループにおける単語に基づき、ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する取得ステップと、取得ステップの処理で取得された関連情報を、選抜されたグループに対応付けて蓄積する蓄積ステップとを含む処理を実行させるように情報処理装置のコンピュータを制御するプログラムが記録されていることを特徴とする。
【００１７】
本発明のプログラムは、既存の文書情報をその属性情報に基づき話題ごとにグループに分類し、グループに対応する情報であって、ネットワークから取得可能な情報である関連情報を蓄積するデータベースを生成するデータベース生成手段と、所定の文書情報から対応するグループを抽出し、抽出されたグループに分類された既存の文書情報から生成された特徴ベクトルを取得する取得手段と、データベース生成手段によって生成された関連情報のうち、第１の取得手段によって取得された特徴ベクトルに類似する特徴ベクトルを有するグループに対応する関連情報を提示する提示手段とを備える情報処理装置の制御用のプログラムであって、データベース生成手段に、全ての既存の文書情報のうち、所定の条件に基づきグループに分類する処理の対象とする既存の文書情報を選択する選択ステップと、選択ステップの処理で選択された既存の文書情報をその属性情報に基づきグループに分類する分類ステップと、グループに分類された既存の文書情報に含まれる単語に対する、グループにおける単語の評価値に応じて、少なくとも１以上の既存の文書情報からなるグループを選抜する選抜ステップと、選抜されたグループにおける単語に基づき、ネットワークから取得可能な情報を検索し、その検索結果を関連情報として取得する取得ステップと、取得ステップの処理で取得された関連情報を、選抜されたグループに対応付けて蓄積する蓄積ステップとを含む処理を実行させるように情報処理装置のコンピュータを制御することを特徴とする。
【００１８】
本発明においては、全ての既存の文書情報のうち、所定の条件に基づきグループに分類する処理の対象とする既存の文書情報が選択され、選択された既存の文書情報がその属性情報に基づいてグループに分類され、グループに分類された既存の文書情報に含まれる単語に対する、グループにおける単語の評価値に応じて、少なくとも１以上の既存の文書情報からなるグループが選抜される。さらに、選抜されたグループにおける単語に基づき、ネットワークから取得可能な情報が検索され、その検索結果が関連情報として取得され、取得された関連情報が、グループに対応付けて蓄積されることによってデータベースが生成される。
【００４５】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。図１は、本発明を適用したデスクトップマスコット（以下、エージェントと記述する）をデスクトップ上に表示するためのアプリケーションプログラム（以下、エージェントプログラムと記述する）１、電子メールを送受信するためのアプリケーションプログラム（以下、メーラ（mailer）と記述する）２、および、文書作成または編集するためのワードプロセッサプログラム（以下、ワープロプログラムと記述する）３との関係を説明する図である。
【００４６】
エージェントプログラム１乃至ワープロプログラム３は、例えば、パーソナルコンピュータ（詳細は、図２を参照して後述する）にインストールされて実行されるものである。
【００４７】
エージェントプログラム１は、処理の対象とする文書の関連情報（後述）を蓄積してデータベースを構築する蓄積部１１、処理の対象とする文書に対応する関連情報をユーザに提示する提示部１２、および、エージェント１７２（図２１）の表示等を制御するエージェント制御部１３から構成される。
【００４８】
なお、蓄積部１１および提示部１２を、例えばインタネット上の任意のサーバに設置するようにしてもよい。
【００４９】
蓄積部１１の文書取得部２１は、メーラ２によって送受信された文書やワープロプログラム３によって編集された文書などのうち、自己が未処理の文書を取得して文書属性処理部２２および文書内容処理部２３に供給する。
【００５０】
なお、以下においては、主に、メーラ２によって送受信された電子メールの文書を処理の対象とする場合の例について説明する。
【００５１】
文書属性処理部２２は、文書取得部２１から供給される文書の属性情報を抽出し、その属性情報に基づいて文書をグループ化し、文書内容処理部２３および文書特徴データベース作成部２４に供給する。電子メールの場合、属性情報としては、文書のヘッダに記述されている情報（対象となっている電子メールを特定するメッセージＩＤ、参照している電子メールのメッセージＩＤ(References,In-Reply-To)、宛先（Ｔｏ，Ｃｃ，Ｂｃｃ）、あるいは送信元（From）、日付（Date））、表題(subject)などが抽出される。そして、抽出された属性情報に基づいて、１以上の文書がグループ化される。以下、属性情報に基づいてグループ化された文書群（電子メールグループ）を「話題」と記述する。
【００５２】
また、一般にここで言う話題とは、電子メールに限らず、ワープロ、エディタやスケジューラなど、その他のツールやアプリケーションソフトウェアなどから作成されるようなあらゆる文書に関して、ある関係で関連付けられた一連の文書群を指す。
【００５３】
文書内容処理部２３は、文書属性処理部２２でグループ化された文書群（話題）の本文を抽出し、形態素解析を施して、単語（特徴語）に分類する。単語は、品詞（名詞、形容詞、動詞、副詞、接続詞、感動詞、助詞、および助動詞）別に分類される。ただし、広範囲に亘って分布している単語、すなわち、例えば、大多数の文書に含まれていると考えられる単語「こんにちは」、「よろしく」、あるいは「お願いします」等の名詞以外の品詞は関連情報を検索するためのキーワード（以下、検索語とも記述する）には成り得ないので、不要語であるとしてキーワードとする対象から削除される。
【００５４】
また、文書内容処理部２３は、不要語が削除された各単語の出現頻度および複数の文書に亘る分布状況を求め、グループ化された文書群（話題）毎に、各単語の重み（文書の主旨に関係する程度を示す値、以下、評価値と記述する）を演算する。
【００５５】
さらに、文書内容処理部２３は、各話題に対し、単語の評価値を要素とする特徴ベクトルを決定する。例えば、各話題に含まれる単語（特徴語）の総数がｎ個である場合、各話題の特徴ベクトルは、ｎ次元空間のベクトルとして次式（１）のように表現される。
0004082059.tif 000002
【００５６】
評価値の演算には、例えば文献（Salton,G.:Automatic Text Processing:The Transformation,Analysis, and Retrieval of Information by Computer,Addison-Wesley,1989）に開示されているtf・idf法を用いる。tf・idf法によれば、話題Ａに対応するｎ次元の特徴ベクトルのうち、話題Ａに含まれる単語に対応する要素に対しては、評価値として０以外の値が算出され、話題Ａに含まれない単語（頻度が０である単語）に対応する要素に対しては、評価値として０が算出される。
【００５７】
なお、評価値は、例えば、電子メールの送受信の頻度や回数、電子メールに含まれる単語の品詞の種類（特定の地域や名称を示す固有名詞など）、送受信する相手に応じて修正される。
【００５８】
また、本実施の形態においては、話題毎に特徴ベクトルを算出するものとして説明するが、これに限らず、文書毎、または、その他の単位毎（例えば、所定期間（１週間）に蓄積された文書群毎）に特徴ベクトルを算出するようにすることも勿論可能である。
【００５９】
文書特徴データベース作成部２４は、文書属性処理部２２によってグループ化された文書群（話題）毎の各文書の属性情報と、文書内容処理部２３で算出された話題毎の特徴ベクトル（すなわち、話題内に含まれる単語の評価値）を時系列順にデータベース化して、ハードディスクドライブなどよりなる記憶部４９（図２）に記録する。また、文書特徴データベース作成部２４は、単語の評価値などを参照することにより、所定の条件を満たす単語を選択し、関連情報を検索するための検索用キーワード（検索語）として記録する。さらに、文書特徴データベース作成部２４は、検索語を関連情報検索部２５に供給し、それに対応して関連情報検索部２５から供給される関連情報を、検索語に対応付けて記録する。
【００６０】
関連情報検索部２５は、文書特徴データベース作成部２４から供給される検索語に対する関連情報を検索し、検索結果のインデックスを文書特徴データベース作成部２４に供給する。検索語に対する関連情報を検索する方法としては、例えばインタネット上の検索エンジンを用いる方法がある。検索エンジンを用いる方法を適用した場合、検索結果として得られるWebページのURL（Uniform Resource Locator）とWebページのタイトルが、関連情報として文書特徴データベース作成部２４に供給される。
【００６１】
提示部１２のイベント管理部３１は、メーラ２がアクティブとされること、メーラ２が電子メールの送受信を完了したこと、および、入力中の文書のテキストデータ量が所定の閾値を超えたことを検知して、データベース問い合わせ部３２に通知する。以下、メーラ２が電子メールの送受信を完了したこと、または、入力中の文書のテキストデータ量が所定の閾値を超えたことを、イベント発生と記述する。
【００６２】
また、イベント管理部３１は、内蔵するタイマ３１Ａを参照することによって時間の経過を監視し、適宜、所定のタイミングから所定の時間が経過した場合、その旨をデータベース問い合わせ部３２に通知する。
【００６３】
データベース問い合わせ部３２は、イベント管理部３１からのイベント発生の通知に対応して、イベント発生に対応する文書（例えば、受信した電子メール）を取得し、文書内容処理部２３の処理と同様に、その文書に形態素解析を施して単語を抽出し、不要語を除外して各単語の評価値を演算する。これにより、イベント発生に対応する文書の特徴ベクトルが算出される。
【００６４】
また、データベース問い合わせ部３２は、文書特徴データベース作成部２４によって作成されたデータベースを検索し、算出したイベント発生に対応する文書の特徴ベクトルと、データベースに記録されている話題毎の特徴ベクトルとの内積を、両者の類似度として算出する。さらに、データベース問い合わせ部３２は、イベント発生に対応する文書に対する類似度が最も高い話題を判定し、その話題に含まれる単語のうち、評価値が所定の条件（詳細については後述する）を満たすものを選択し、選択した単語（重要語）に対応する関連情報を、イベント管理部３１を介し、または直接的に、関連情報提示部３３に供給する。
【００６５】
関連情報提示部３３は、イベント管理部３１を介し、または直接的に、データベース問い合わせ部３２から供給される関連情報を表示部４８（デスクトップ）上に表示させる。すなわち、イベント管理部３１がイベント発生を検知する毎、提示部１２による関連情報の提示が更新される。
【００６６】
なお、蓄積部１１によるデータベースの更新は、所定のタイミングにおいて実行される。データベースの更新処理は、図４０のフローチャートを参照して後述する。また、蓄積部１１によるデータベースの更新時には、記憶部４９に記録した特徴ベクトルが、例えば、電子メールの送受信の頻度や回数、電子メールに含まれる単語の品詞の種類（特定の地域や名称を示す固有名詞など）に応じて修正される。
【００６７】
図２は、エージェントプログラム１乃至ワープロプログラム３がインストールされて実行されるパーソナルコンピュータの構成例を示している。なお、当然ながら、本発明はパーソナルコンピュータの他、テレビジョン受像機、ホームサーバシステム、ハードディスクレコーダ、ゲーム機器、カーナビゲーションシステム、携帯電話、ＰＤＡ等の情報電子機器において利用できる。
【００６８】
このパーソナルコンピュータは、CPU(Central Processing Unit)４１を内蔵している。CPU４１には、バス４４を介して入出力インタフェース４５が接続されている。入出力インタフェース４５には、キーボード、マウスなどの入力デバイスよりなる入力部４６、処理結果としての例えば音声信号を出力する出力部４７、処理結果としての画像を表示するディスプレイなどよりなる表示部４８、プログラムや構築されたデータベースなどを格納するハードディスクドライブなどよりなる記憶部４９、インタネットに代表されるネットワークを介してデータを通信するLAN(Local Area Network)カードなどよりなる通信部５０、および、磁気ディスク５２、光ディスク５３、光磁気ディスク５４、または半導体メモリ５５などの記録媒体に対してデータを読み書きするドライブ５１が接続されている。バス４４には、ROM（Read Only Memory）４２およびRAM（Random Access Memory）４３が接続されている。
【００６９】
本発明のエージェントプログラム１は、磁気ディスク５２乃至半導体メモリ５５に格納された状態でパーソナルコンピュータに供給され、ドライブ５１によって読み出されて、または通信部５０がネットワークを介して取得して、記憶部４９に内蔵されるハードディスクドライブにインストールされている。記憶部４９にインストールされているエージェントプログラム１は、入力部４６に入力されるユーザからのコマンドに対応するCPU４１の指令によって、記憶部４９からRAM４３にロードされて実行される。なお、パーソナルコンピュータの起動時において自動的にエージェントプログラム１が実行されるように設定することも可能である。
【００７０】
また記憶部４９に内蔵されるハードディスクドライブには、エージェントプログラム１の他、メーラ２、およびワープロプログラム３、WWW(World Wide Web)ブラウザなどのアプリケーションプログラムもインストールされており、エージェントプログラム１と同様に、入力部４６に入力されるユーザからの起動コマンドに対応するCPU４１の指令によって、記憶部４９からRAM４３にロードされて実行される。
【００７１】
次に、エージェントプログラム１によるデータベース作成処理について、図３のフローチャートを参照して説明する。このデータベース作成処理は、エージェントプログラム１が実行する処理のうちの１つであり、エージェントプログラム１が起動された状態において、データベースが未だ作成されていないときに開始される。
【００７２】
ステップＳ１において、文書取得部２１は、データベース作成の素として分析する文書（例えば、エージェントプログラム１が実行される以前に送受信された電子メール、以下、分析対象電子メールと記述する）を、記憶部４９に内蔵されるハードディスクドライブから選択的に取得して文書属性処理部２２および文書内容処理部２３に供給する。
【００７３】
ステップＳ１の処理、すなわち、分析対象電子メール選択処理の詳細について、図４を参照して説明する。
【００７４】
ステップＳ２１において、文書取得部２１は、ユーザが送信した電子メールが保存されている送信フォルダを参照し、直近の所定期間（例えば、最近の一週間）に送信した電子メールの数が所定数（例えば、１００通）以上存在するか否かを判定する。直近の所定期間に送信した電子メールの数が所定数以上存在すると判定された場合、処理はステップＳ２２に進む。ステップＳ２２において、文書取得部２１は、日時条件およびアドレス属性条件を設定する。
【００７５】
ステップＳ２２の処理、すなわち、日時条件およびアドレス属性条件を設定処理の詳細について、図５を参照して説明する。ステップＳ３１において、文書取得部２１は、送信フォルダに存在する電子メールの数が所定数（例えば、１００００通）以上であるか否かを判定する。
【００７６】
ステップＳ３１において、送信フォルダに存在する電子メールの数が所定数以上であると判定された場合、処理はステップＳ３２に進む。ステップＳ３２において、文書取得部２１は、分析対象電子メールを選択するための日時条件を「１年以前を除去」に設定する。ステップＳ３３において、文書取得部２１は、分析対象電子メールを選択するためのアドレス属性条件を「”Ｔｏ”以外を除去」に設定する。また、文書取得部２１は、アドレス条件（アドレスリスト）を抽出する対象を送信フォルダに設定する。
【００７７】
反対に、ステップＳ３１において、送信フォルダに存在する電子メールの数が所定数よりも少ないと判定された場合、処理はステップＳ３４に進む。ステップＳ３４において、文書取得部２１は、日時条件を「３年以前を除去」に設定する。ステップＳ３５において、文書取得部２１は、アドレス属性条件を「”Ｔｏ，Ｃｃ”以外を除去」に設定する。また、文書取得部２１は、アドレス条件を抽出する対象を送信フォルダおよび受信フォルダに設定する。
【００７８】
以上のような日時条件およびアドレス属性条件設定処理により、送信した電子メールの数に対応して、分析対象電子メールの日時条件とアドレス属性条件が設定された後、処理は図４のステップＳ２３にリターンする。
【００７９】
なお、日時条件およびアドレス属性条件設定処理は、上述した２種類の選択だけでなく、例えば、送信フォルダのメール数に応じていくつかの区間を設け、それに応じて、日時条件を任意の年数で細かく区切ったり、受信簿に対するアドレス属性条件にさらにfrom, reply to等を加えた選択肢を増やすなどしてもよい。
【００８０】
ステップＳ２３において、文書取得部２１は、送信フォルダ（または受信フォルダ）に存在する電子メールを、ステップＳ２２で設定した日時条件およびアドレス属性条件に基づいてフィルタリングすることにより、電子メールの数を絞り込む。ステップＳ２４において、文書取得部２１は、ステップＳ２３でフィルタリングされた各電子メールの宛先（または送信元）をリスト化するとともに、各宛先の出現回数をカウントし、出現回数が多い上位ｎ個のアドレスを判定して、アドレス条件を「上位ｎ個のアドレスから送受信された電子メールを抽出」に設定する。
【００８１】
ステップＳ２５において、文書取得部２１は、全ての電子メール、すなわち、送信フォルダ、受信フォルダ、およびその他のフォルダの存在する電子メールのうち、ステップＳ２２で設定した日時条件およびステップＳ２４で設定したアドレス条件に基づいてフィルタリングすることにより、分析対象電子メールを選択する。
【００８２】
なお、ステップＳ２１において、ユーザが送信した電子メールが保存されている送信フォルダを参照し、直近の所定期間に送信した電子メールの数が所定数よりも少ないと判定された場合、処理はステップＳ２６に進む。ステップＳ２６において、文書取得部２１は、ユーザが送信した電子メールが保存されている受信フォルダを参照し、直近の所定期間（例えば、最近の一週間）に受信した電子メールの数が所定数（例えば、１００通）以上存在するか否かを判定する。直近の所定期間に受信した電子メールの数が所定数以上存在すると判定された場合、処理はステップＳ２２に進み、それ以降の処理が繰り返される。
【００８３】
反対に、ステップＳ２６において、直近の所定期間に受信した電子メールの数が所定数よりも少ないと判定された場合、この段階でデータベース作成処理は終了される。
【００８４】
以上のように分析対象電子メールが選択された後、処理は図３のステップＳ２にリターンする。
【００８５】
ステップＳ２において、文書属性処理部２２は、ステップＳ１の処理で文書取得部２１から供給された分析対象電子メールから属性情報（メッセージＩＤ等のヘッダ情報）を抽出し、その属性情報に基づき、分析対象電子メールを話題毎に分類して（すなわち、話題毎にグループ化して）、話題毎に話題ファイルを生成して文書内容処理部２３および文書特徴データベース作成部２４に供給する。
【００８６】
図６は、ステップＳ２において作成される話題ファイル６１の一例を示している。話題ファイル６１は、各話題ファイルを識別するためのトピックスＩＤ６２、当該話題に属する最古の電子メールの通信時間を示す日時情報６３、当該最古の電子メールの題名などを示すサブジェクト情報６４、当該話題に属する電子メールの送信元または宛先の電子メールアドレスからなるメンバー情報６５、当該話題に属する各電子メールを特定するメールメッセージＩＤ６６、当該話題に属する電子メールの本文に含まれる単語から構成される単語ベクトル６７、当該話題に属する電子メールの本文を連結した連結本文６８、およびいずれかの話題に含まれる全ての単語の評価値から成る特徴ベクトル６９から構成される。
【００８７】
トピックスＩＤ６２として、例えば当該話題に属する最古の電子メールの通信時間を用いるようにしてもよい。
【００８８】
なお、連結本文６８は、当該話題に属する電子メールのうち、送信フォルダに存在する電子メールの本文を連結した後、所定の文字列（例えば”soshin-shuryo”）を挿入して、受信フォルダやその他のフォルダに存在する電子メールの本文を連結するようにする。
【００８９】
図７は、単語ベクトル６７を構成する複数の単語７０に含まれる要素を示している。すなわち、単語７０には、当該単語自身の文字列７１、当該単語の品詞（名詞の種類）７２、当該話題における当該単語の頻度７３、および当該話題における当該単語の評価値７４を記録するための構成を有している。なお、単語７０の各要素の中身はステップＳ２の処理段階では生成されず、以降の処理において生成される。
【００９０】
また、特徴ベクトル６９も、ステップＳ２の処理段階では生成されず、以降の処理において生成される。
【００９１】
図３に戻る。ステップＳ３において、文書属性処理部２２は、ステップＳ２で生成した話題を選抜する。ステップＳ３の処理、すなわち第１次話題選抜処理について、図８のフローチャートを参照して説明する。
【００９２】
ステップＳ４１において、文書属性処理部２２は、ステップＳ２で生成した話題の数が所定数以上存在するか否かを判定する。生成した話題の数が所定数以上存在すると判定された場合、処理はステップＳ４２に進む。ステップＳ４２において、文書属性処理部２２は、生成した話題を選抜するための構成メール数条件を「ａ（例えば４）通以下を削除」に設定する。
【００９３】
反対に、ステップＳ４１において、生成した話題の数が所定数よりも少ないと判定された場合、処理はステップＳ４３に進む。ステップＳ４３において、文書属性処理部２２は、生成した話題を選抜するための構成メール数条件を「ｂ（ａよりも小さい数、例えば２）通以下を削除」に設定する。
【００９４】
ステップＳ４４において、文書属性処理部２２は、上段の処理で設定した構成メール数条件に基づき、ステップＳ２で生成した話題をフィルタリングする。すなわち、例えば、上段の処理で構成メール数条件を「ａ通（例えば４通）以下を削除」に設定した場合、４通以下の電子メールから構成される話題を削除し、５通以上の電子メールから構成される話題だけを選抜する。
【００９５】
さらに、直近の所定期間（例えば、最近の一週間）に通信した電子メールを含まない話題を削除するようにしてもよい。
【００９６】
このようにして第１次話題選抜処理を実行した後、処理は図３のステップＳ４にリターンする。
【００９７】
なお、第１次話題選抜処理における構成メール数条件の設定は、上述した２種類の選択だけでなく、例えば、話題の数に応じていくつかの区間を設けて、その区間ごとに構成メール数条件を決定するようにしてもよい。
【００９８】
ステップＳ４において、文書内容処理部２３は、選抜された各話題に対応する話題ファイル６１の連結本文６８に形態素解析を実行する。ステップＳ４における形態素解析処理の詳細について、図９のフローチャートを参照して説明する。
【００９９】
ステップＳ５１において、文書内容処理部２３は、選抜された各話題のうち、形態素解析を施していないものが存在するか否かを判定する。形態素解析を施していないものが存在すると判定された場合、処理はステップＳ５２に進む。ステップＳ５２において、文書内容処理部２３は、形態素解析を施していない話題を１つ選択し、対応する話題ファイル６１の連結本文６８を読み出して形態素解析を施し、連結本文６８に含まれる単語を抽出する。
【０１００】
このように、話題ファイル６１の連結本文６８に対して形態素解析を施す処理は、話題ファイル６１を構成する電子メールの各本文に対して形態素解析を施す処理に比較して、処理する文章は長くなるが処理回数が１回で済むので、処理に要するリソースの浪費を抑止することができる。
【０１０１】
ステップＳ５３において、文書内容処理部２３は、ステップＳ５２で抽出した単語のうち、品詞が名詞（一般名詞、サ変接続名詞、地名、人名、興味がある用語を含む）であるものを抽出する。ステップＳ５４において、文書内容処理部２３は、抽出した名詞である単語を並べ、当該話題に対応する単語ベクトル６７を生成する。
【０１０２】
ステップＳ５５において、文書内容処理部２３は、話題単語テーブル８１（図１０）にステップＳ５４で生成した単語ベクトル６７に対応する記録を追加するとともに、ステップＳ５４で生成した単語ベクトル６７を構成する単語の記録を、話題評価値テーブル９３を含む単語インデックステーブル９１（図１１）に追加する。なお、話題単語テーブル８１、単語インデックステーブル９１、および話題評価値テーブル９３は、いずれもハッシュテーブル(Hash table)である。
【０１０３】
図１０は、話題単語テーブル８１の構成例を示している。話題単語テーブル８１は、各話題に対するトピックスＩＤ６２と、それに対応する単語ベクトル６７が記録されており、トピックスＩＤ６２を入力として、対応する単語ベクトル６７を出力する。
【０１０４】
図１１は、単語インデックステーブル９１の構成例を示している。単語インデックステーブル９１は、各単語ベクトル６７を構成する単語名９２と、それに対応する話題評価値テーブル９３の組が複数記録されており、単語名９２を入力として、話題評価値テーブル９３を出力する。
【０１０５】
図１２は、話題評価値テーブル９３の構成例を示している。話題評価値テーブル９３は、単語名９２に対応する単語が含まれる話題のトピックスＩＤ１０１と、当該話題における当該単語の評価値１０２が記録されており、トピックスＩＤ１０１を入力として、当該話題における当該単語の評価値１０２を出力する。
【０１０６】
このような構成の話題単語テーブル８１乃至話題評価値テーブル９３を生成することにより、トピックスＩＤ６２および単語名９２のどちらか一方を入力としても、対応する他方を容易に検索することが可能となる。
【０１０７】
この後、処理はステップＳ５１に戻り、以降の処理が繰り返される。その後、ステップＳ５１において、選抜された各話題のうち、形態素解析を施していないものが存在しないと判定された場合、形態素解析処理は終了され、処理は図３のステップＳ５にリターンする。
【０１０８】
ステップＳ５において、文書内容処理部２３は、以降における処理を軽減するために、これまでの処理で抽出された単語、すなわち、各話題にそれぞれ対応する単語ベクトルに含まれる単語のうち、話題の内容に関連が薄いと考えられる単語、あいさつなどの日常的な単語等（以下、不要語と記述する）を除去する。
【０１０９】
ステップＳ５における不要語削除処理について、図１３のフローチャートを参照して説明する。ステップＳ６１において、文書内容処理部２３は、単語ベクトルが小さい話題、すなわち、対応する単語ベクトルを構成する単語の数が所定数（例えば、５個）以下である話題を除去する。
【０１１０】
ステップＳ６２において、文書内容処理部２３は、ステップＳ４の処理で生成した単語インデックステーブル９１に記録されている単語のうち、以降の処理の対象としていない単語が存在するか否かを判定する。処理対象としていない単語が存在すると判定された場合、処理はステップＳ６３に進む。ステップＳ６３において、文書内容処理部２３は、単語インデックステーブル９１に記録されている、処理対象としていない単語のうちの１つを処理対象の単語に選択する。
【０１１１】
ステップＳ６４において、文書内容処理部２３は、処理対象の単語を入力として、単語インデックステーブル９１を参照することにより、対応する話題評価テーブル９３を取得し、取得した話題評価テーブル９３に記録されているトピックスＩＤ１０１の数をカウントすることによって、処理対象の単語を含む話題の数を取得する。
【０１１２】
ステップＳ６５において、文書内容処理部２３は、処理対象の単語を含む話題の数が所定数以上であるか否かを判定する。処理対象の単語を含む話題の数が所定数以上であると判定された場合、処理はステップＳ６６に進む。ステップＳ６６において、文書内容処理部２３は、処理対象の単語を、不要語ベクトル（不要語を構成要素とする）に追加する。これにより、多数の話題に共通して含まれると考えられるあいさつなどの日常的な単語が不要語ベクトルに追加される。
【０１１３】
ステップＳ６７において、文書内容処理部２３は、不要語である処理対象の単語に対応する記録を削除するため、各話題にそれぞれ対応する話題ファイル６１、話題単語テーブル８１、単語インデックステーブル９１、および話題評価値テーブル９３を更新する。この後、処理はステップＳ６２に戻り、以降の処理が繰り返される。
【０１１４】
なお、ステップＳ６５において、処理対象の単語を含む話題の数が所定数よりも小さいと判定された場合にも、ステップＳ６６およびＳ６７はスキップされて、処理はステップＳ６２に戻る。
【０１１５】
その後、ステップＳ６２において、ステップＳ４の処理で生成した単語インデックステーブル９１に記録されている単語のうち、以降の処理の対象としていない単語が存在しないと判定された場合、処理はステップＳ６８に進む。ステップＳ６８において、文書内容処理部２３は、再びステップＳ６１の処理と同様に、単語ベクトルが小さい話題、すなわち、対応する単語ベクトル６７を構成する単語の数が所定数（例えば、５個）以下である話題を除去する。これにより、日常的な単語ばかりで構成されているとみなされる話題が除去される。この段階で、話題は特徴的な単語から構成される単語ベクトル６７によって象徴されることになる。処理は図３のステップＳ６に戻る。
【０１１６】
ステップＳ６において、文書内容処理部２３は、不要語が削除された各単語ベクトル６７を構成する全ての単語について、その出現頻度および複数の文書に亘る分布状況を求め、各話題における評価値を演算する。評価値の演算には、例えばtf・idf法を用いる。ステップＳ７において、文書特徴データベース作成部２４は、ステップＳ６で演算した各単語に対する評価値を、次の条件に基づいて修正する。
【０１１７】
例えば、送信した電子メールに含まれる単語の評価値がより大きくなるように修正を行う。送信した電子メールに含まれる単語を特定するためには、ステップＳ２の処理で生成した各話題に対応する話題ファイル６１の連結本文６８に挿入した、所定の文字列（例えば”soshin-shuryo”）を検出し、当該所定の文字列以前の単語を、送信した電子メールに含まれる単語として特定すればよい。
【０１１８】
また例えば、属する電子メールの数が多い話題に含まれる単語の評価値が、属する電子メールの数に対応して大きくなるように修正を行う。例えば、属する電子メールの数をｍとした場合、修正前の評価値に対し、１次関数値ａ・ｍ（ａは定数）、対数関数値ｌｏｇ（ｍ）などの単調増加関数値を乗算する。この修正は、電子メールのような時間的に継続するやりとりでは、以前の文書に登場した単語が、次の文書では指示代名詞によって置換されることが多いので、話題に属する電子メールの数が多くなるほど、単語の評価値が相対的に小さくなってしまう傾向にあることを考慮したものである。
【０１１９】
さらに例えば、通信頻度が高い相手と通信した電子メールに含まれる単語、および特定名詞（定義した興味語、一般名、地名、組織名など）などの評価値がより大きくなるように修正を行う。なお、特定名詞に対する評価値の修正方法については、特願２００１−３７９５１１号として提案した発明を適用することができる。
【０１２０】
ステップＳ８において、文書特徴データベース作成部２４は、ステップＳ６で演算され、ステップＳ７で修正された各単語に対する評価値を、話題ファイル６１および話題単語テーブル８１の単語ベクトル６７、並びに単語インデックステーブル９１の中の話題評価値テーブル９３に記録する。これにより、各単語ベクトル６７を構成する単語７０の全ての要素が決定されたことになる。また、文書特徴データベース作成部２４は、各話題にそれぞれ対応する特徴ベクトル６９を確定して記録する。さらに、文書特徴データベース作成部２４は、各単語ベクトル６７について、構成する単語を評価値が大きい順に並べ替える。
【０１２１】
ステップＳ９において、文書特徴データベース作成部２４は、この段階で残っている話題を再び選抜する。ステップＳ９の処理、すなわち第２次話題選抜処理について、図１４のフローチャートを参照して説明する。なお、この第２次話題選抜処理は、各話題に対して実行される。
【０１２２】
ステップＳ７１において、文書特徴データベース作成部２４は、話題に対応する単語ベクトル６７を構成する単語のうち、評価値が最大のもの（あるいは、上位の２，３語）を検出する。ステップＳ７２において、文書特徴データベース作成部２４は、ステップＳ７１で検出した単語の評価値が所定値以上であるか否かを判定する。検出した単語の評価値が所定値以上であると判定された場合、処理はステップＳ７３に進む。
【０１２３】
ステップＳ７３において、文書特徴データベース作成部２４は、当該話題に属する電子メールの最新の通信日時が直近の所定期間（例えば、最近１週間）以前であるか否かを判定する。最新の通信日時が直近の所定期間以前ではないと判定された場合、処理はステップＳ７４に進む。ステップＳ７４において、文書特徴データベース作成部２４は、当該話題の最も評価値が高い単語を最近語ベクトルに追加する。ステップＳ７５において、文書特徴データベース作成部２４は、当該話題を削除する。ステップＳ７３乃至ステップＳ７５の処理により、新しすぎる話題が削除されるので、後述する関連情報の推薦に意外性を増やすことができる。
【０１２４】
なお、ステップＳ７２において、ステップＳ７１で検出した単語の評価値が所定値よりも小さいと判定された場合、ステップＳ７３およびステップＳ７４はスキップされ、処理はステップＳ７５に進む。
【０１２５】
また、ステップＳ７３において、当該話題に属する電子メールの最新の通信日時が直近の所定期間以前であると判定された場合、当該話題に対する第２次話題選抜処理は終了され、次の話題に対する第２次話題選抜処理が開始される。
【０１２６】
その後、全ての話題に対して第２次話題選抜処理を施した後、選抜された話題のうち、対応する単語ベクトル７３の上位に（すなわち、評価値が高い方の２，３番目までに）、最新語ベクトルに含まれる単語を含んでいるものを削除するようする。これにより、後述する関連情報の推薦に意外性をより増やすことができる。処理は、図３のステップＳ１０にリターンする。
【０１２７】
ステップＳ１０において、文書特徴データベース作成部２４は、この段階で選抜されている話題にそれぞれ対応する各単語ベクトル６７について、構成する単語の評価値の最大値に注目し、評価値の最大値が大きい順に所定数（例えば、２００）だけ単語ベクトル６７を検出し、それぞれに対応する所定数の話題を推薦話題候補に確定する。
【０１２８】
ステップＳ１１において、文書特徴データベース作成部２４は、ステップＳ１０で確定した推薦話題候補に基づいて、推薦話題を確定する。ステップＳ１１における推薦話題確定処理について、図１５のフローチャートを参照して説明する。
【０１２９】
ステップＳ８１において、文書取得部２１は、メーラ２の送信フォルダおよび受信フォルダから最近の所定期間（例えば、直近の１週間）に送受信した電子メールのうち、アドレス条件に合うものを取得する。なお、ここで取得された各電子メールは既にいずれかの話題に分類されている。
【０１３０】
ステップＳ８２において、文書属性処理部２２は、既に生成されている全ての話題ファイル６１のメールメッセージＩＤ６６を参照することによって、ステップＳ８１で取得した各電子メールが属する話題を特定する。
【０１３１】
ステップＳ８３において、文書特徴データベース作成部２４は、ステップＳ８２で特定された、最近の各話題にそれぞれ対応する特徴ベクトル６９（以下、特徴ベクトルＶｃと記述する）を取得する。ステップＳ８４において、文書特徴データベース作成部２４は、各特徴ベクトルＶｃに対する、ステップＳ１０で確定した推薦話題候補にそれぞれ対応する特徴ベクトル６９（以下、特徴ベクトルＶｔと記述する）の類似性を判定するために、特徴ベクトルＶｃと特徴ベクトルＶｔとの全ての組み合わせの内積Sim（Ｖｃ，Ｖｔ）を次式のように演算する。
0004082059.tif 000003
【０１３２】
ここで、内積Sim（Ｖｃ，Ｖｔ）は、各特徴ベクトルＶｃに対する特徴ベクトルＶｔの類似性を判定するためだけに用いるので、特徴ベクトルＶｃの絶対値｜Ｖｃ｜で除算する演算を省略することが可能となる。
【０１３３】
ステップＳ８５において、文書特徴データベース作成部２４は、各特徴ベクトルＶｃに対して、内積演算結果が最大である特徴ベクトルＶｔを判別して、それに対応する推薦話題候補を推薦話題に確定する。この段階で、最新の電子メールのうち、アドレス条件にあったメールが属する話題の数と同数の推薦話題が確定される。
【０１３４】
ステップＳ８６において、文書特徴データベース作成部２４は、ステップＳ８５で確定した推薦話題の数が所定数（例えば、３０）よりも少ないか否かを判定する。確定した推薦話題の数が所定数よりも少ないと判定された場合、処理はステップＳ８７に進む。ステップＳ８７において、文書特徴データベース作成部２４は、ステップＳ８５で確定した推薦話題の数が所定数に対して不足する分だけ、この段階で推薦話題に確定されていない推薦話題候補のうち、含まれる単語の評価値の最大値が高い話題から順番に推薦話題に追加する。
【０１３５】
なお、ステップＳ８６において、ステップＳ８５で確定した推薦話題の数が所定数以上であると判定された場合、ステップＳ８７の処理はスキップされる。
【０１３６】
このようにして、所定数だけ推薦話題が確定された後、処理は図３のステップＳ１２にリターンする。
【０１３７】
ステップＳ１２において、関連情報検索部２５は、ステップＳ１１で確定された推薦話題に対応する関連情報を、インタネット上のWebサイトを用いて検索する。ステップＳ１２におけるWeb検索処理について、図１６のフローチャートを参照して説明する。
【０１３８】
ステップＳ９１において、文書特徴データベース作成部２４は、ステップＳ１１で確定した推薦話題のうち、Web検索の対象としていない推薦話題が存在するか否かを判定する。Web検索の対象としていない推薦話題が存在すると判定された場合、処理はステップＳ９２に進む。ステップＳ９２において、文書特徴データベース作成部２４は、Web検索の対象としていない推薦話題の１つを選択する。
【０１３９】
ステップＳ９３において、文書特徴データベース作成部２４は、選択した推薦話題に対応する特徴ベクトル６９（または単語ベクトル６７）を読み出し、その特徴ベクトル６９を構成する単語のうち、評価値が上位側の２単語（１単語、あるいは３単語以上でもよい）を取得して連結し、検索語として関連情報検索部２５に供給する。
【０１４０】
ステップＳ９４において、関連情報検索部２５は、インタネット上の検索エンジンにアクセスし、文書特徴データベース作成部２４から供給された検索語を送信する。ステップＳ９５において、関連情報検索部２５は、検索エンジンから検索結果としてのWebページのタイトルとURLを取得する。
【０１４１】
ステップＳ９６において、関連情報検索部２５は、取得した検索結果を、予め設定された特定単語に基づいてフィルタリングする。具体的には、他人が見ても興味を持たないような一般性がないWebページのタイトルに含まれると思われる特定単語（日記、議事録、予定、行事、ミーティング等）がWebページのタイトルに含まれる検索結果を除外する。この後、関連情報検索部２５は、残った検索結果（WebページのタイトルとURL）を関連情報として文書特徴データベース作成部２４に供給する。
【０１４２】
処理はステップＳ９１に戻り、以降の処理が繰り返される。その後、ステップＳ９１において、ステップＳ１１で確定した推薦話題のうち、Web検索の対象としていない推薦話題が存在しないと判定された場合、処理はステップＳ９７に進む。
【０１４３】
ステップＳ９７において、文書特徴データベース作成部２４は、予め設定されている作り込み推薦用単語組｛例えば（旅行、温泉）、（観光、ホテル）、（グルメ、レストラン）、（スポーツ、サッカー）、（ソニー、新製品）等｝のうち、Web検索の対象としていない作り込み推薦用単語組が存在するか否かを判定する。なお、作り込み推薦用単語組は、ユーザが任意に追加、または削除することができる。
【０１４４】
Web検索の対象としていない作り込み推薦用単語組が存在すると判定された場合、処理はステップＳ９８に進む。ステップＳ９８において、文書特徴データベース作成部２４は、Web検索の対象としていない作り込み推薦用単語組の１つを選択する。処理はステップＳ９４に進み、以降の処理が繰り返される。
【０１４５】
その後、ステップＳ９７において、予め設定されている作り込み推薦用単語組のうち、Web検索の対象としていない作り込み推薦用単語組が存在しないと判定された場合、Web検索処理を終了して、処理は図３のステップＳ１３にリターンする。
【０１４６】
ステップＳ１３において、文書特徴データベース作成部２４は、関連情報検索部２５から供給された関連情報を、検索語に対応付けて記憶部４９に記録することにより、データベースを作成する。なお、ステップＳ１２以降の処理は、ステップＳ１１までの一連の処理に継続して実行される場合と、一連の処理に継続せず、所定のタイミングにおいて実行される場合がある。
【０１４７】
以上のデータベース作成処理が実行されることにより、送受信した電子メールの文書に対応した関連情報がデータベース内に蓄積されることになる。なお、データベース作成処理は、エージェントプログラム１が実行された場合に開始されるものとしたが、任意のタイミングで開始させることも可能である。さらに、このようにして作成されたデータベースは、所定の条件が満たされたときに更新される（更新のタイミングについては、図４１を参照して後述する）。
【０１４８】
また、データベース作成処理をユーザが強制的に中断することができるようにするために、中断要求があった場合、中断された時点で処理済みの文書を記録し、再開要求があった場合、未処理の文書から処理を再開するようにしてもよい。
【０１４９】
次に、エージェントプログラム１による関連情報提示処理について、図１７のフローチャートを参照して説明する。この関連情報提示処理は、上述したデータベース作成処理とは異なり、エージェントプログラム１が実行されている間、繰り返して実行される。
【０１５０】
ステップＳ１１１において、エージェントプログラム１は、入力部４６に入力されるユーザからのコマンドによって、エージェントプログラム１の終了が指示されたか否かを判定し、エージェントプログラム１の終了が指示されていないと判定した場合、ステップＳ１１２に進む。
【０１５１】
ステップＳ１１２において、イベント管理部３１は、イベント発生（メーラ２の電子メールの送受信の完了等）を監視し、イベント発生が検知されない場合、ステップＳ１１１に戻り、上述した処理が繰り返し実行される。
【０１５２】
ステップＳ１１２において、イベント発生が検知された場合（例えば、新たな電子メールの送受信が検知された場合）、処理はステップＳ１１３に進む。ステップＳ１１３において、イベント管理部３１は、イベント発生をデータベース問い合わせ部３２に通知する。データベース問い合わせ部３２は、イベント管理部３１からのイベント発生の通知に対応して、イベント発生に対応する文書（送受信された電子メール）を取得し、その文書の形態素解析を施して、不要語を除外した単語（特徴語）を抽出し、各単語の評価値を演算する。これにより、イベント発生に対応する文書（いまの場合、電子メール）の特徴ベクトルが算出される。
【０１５３】
ステップＳ１１４において、データベース問い合わせ部３２は、文書特徴データベース作成部２４が作成したデータベースを検索し、ステップＳ１１３の処理で算出された特徴ベクトルと、データベースに記録されている話題毎の特徴ベクトルとの内積を両者の類似度として算出し、類似度が所定の条件（例えば、類似度が最大、もしくは類似度が所定の閾値以上）を満たす話題を抽出する。
【０１５４】
ステップＳ１１５において、データベース問い合わせ部３２は、ステップＳ１１４の処理で抽出された話題に含まれる各単語のうち、評価値の時系列推移に着目して、以下で説明する条件１および条件２を満たす単語（重要語）を選択する。さらに、データベース問い合わせ部３２は、このようにして選択した単語（重要語）に対応する関連情報を、イベント管理部３１を介して、または直接的に、関連情報提示部３３に供給する。
【０１５５】
ここで、単語の選択条件について、図１８を参照して説明する。図１８は、データベースに蓄積されている単語の評価値の時系列推移の例を示している。
【０１５６】
例えば、条件１を「単語の評価値が、現時点以前の所定の期間Ｘ（例えば、２週間）、所定の閾値Ａ以下であること」とする。また例えば、条件２を「現時点以前の所定の期間Ｙ（例えば、５週間）において、異なる２以上の話題で、単語の評価値が所定の閾値Ｂ以上であること」とする。なお、条件３として、「条件２における異なる２以上の話題のうち、最も古い話題と最も新しい話題が所定の期間Ｚ以上離れていること」を追加すればさらに好ましい。
【０１５７】
このような条件を用いることにより、ユーザが高い関心を持っていると思われる単語（重要語）を選択することが可能となる。特に、条件１を設けることにより、現時点に近い話題に含まれる単語は除外されるので、ユーザが現時点で意識していて意外性がないと思われる関連情報（新しすぎる情報）が選択されることを避けることができ、かつ、かなり以前の話題に含まれる単語も除外されるので、ユーザが現時点で思い出すことができないと思われる関連情報（古すぎる情報）が選択されることも避けることができる。
【０１５８】
図１７の説明に戻る。この段階までに、イベント発生（いまの場合、電子メールが送受信されたこと）に対応する関連情報が選択されることになるが、ステップＳ１１２において、例えば、メーラ２がアクティブとされたことがイベント発生として検知された場合には、上述したデータベース作成処理によって確定された、推薦する関連情報が用いられる。このとき、重要語がデスクトップに表示される。
【０１５９】
ステップＳ１１６において、エージェント制御部１３は、ステップＳ１１５の処理で選択した単語が含まれている文書の属性情報を、選択（推薦）した理由としてデスクトップに表示させるとともに、対応する関連情報を表示するか否かをユーザに問う入力ウィンドウ１８１（図２６）をデスクトップに表示させる。
【０１６０】
なお、話題は、グループ化された１以上の文書から構成されるので、重要語が含まれる文書も複数存在する場合がある（すなわち、重要語が含まれている文書の属性情報が複数存在する場合がある）。そこで、例えば、重要語が含まれている文書のうち、最古または最新の文書の属性情報を表示させるようにするか、または、任意に指定された文書の属性情報を表示させるようにする。また、入力ウィンドウ１８１を表示させずに、直接、デスクトップ上に関連情報を表示させるようにしてもよい。
【０１６１】
ステップＳ１１７において、エージェントプログラム１は、入力部４６に入力されるユーザからのコマンドによって、ステップＳ１１６の処理で表示された入力ウィンドウ１８１に呼応して、ユーザが入力ウィンドウ１８１の「見る」ボタンを選択したか否かを判定する。ステップＳ１１７において、ユーザが「見る」ボタンを選択したと判定された場合、ステップＳ１１８に進む。なお、入力ウィンドウ１８１には、「見る」ボタンおよび「見ない」ボタン以外にも他の情報を表示したりすることができる。あるいは、表示しないようにすることもできる。
【０１６２】
ステップＳ１１８において、関連情報提示部３３は、イベント管理部３１を介してデータベース問い合わせ部３２から供給された関連情報をデスクトップに表示させる。この関連情報は、１または複数同時に提示することができる。
【０１６３】
なお、関連情報として表示される情報は、キーワードが付与された所定のデータベースに蓄積された情報であれば、Webページのタイトルでなくてもかまわない。例えば、所定のデータベースに蓄積されている情報のインデックスを表示するようにして、ユーザのアクセス指令に対応して、そのインデックスのさらに詳細な情報を表示させるようにしてもよい。
【０１６４】
ステップＳ１１９において、エージェントプログラム１は、入力部４６に入力されるユーザからのコマンドによって、ステップＳ１１８の処理により関連情報として表示されたWebページのタイトルに対して、ユーザがアクセスを指令したと判定した場合、ステップＳ１２０に進む。ステップＳ１２０において、WWWブラウザが起動され、対応するWebページに対するアクセスが開始される。
【０１６５】
ステップＳ１１９において、ステップＳ１１８の処理により関連情報として表示されたWebページのタイトルに対して、ユーザが記録を指令したと判定された場合、ステップＳ１２１に進む。ステップＳ１２１において、エージェントプログラム１は、対応するWebページのタイトルおよびURLを、提示履歴を表示するスクラップ帳ウィンドウ１７４（図２１）に記録する。
【０１６６】
ステップＳ１１９において、ステップＳ１１８の処理により関連情報として表示されたWebページのタイトルに対して、ユーザから何の指令もなされずに所定の時間が経過したと判定された場合、ステップＳ１２０またはステップＳ１２１の処理はスキップされて、ステップＳ１１１に戻り、上述した処理が繰り返し実行される。
【０１６７】
なお、ステップＳ１１７において、ユーザが「見る」ボタンを選択しないと判定された場合、ステップＳ１１８乃至ステップＳ１２１の処理はスキップされて、ステップＳ１１１に戻り、上述した処理が繰り返し実行される。さらに、ステップＳ１１において、ユーザによりエージェントプログラム１の終了が指示されたと判定された場合、関連情報提示処理は終了される。
【０１６８】
ここで、関連情報提示処理に関して、イベント発生に対応する電子メールを効率よく取得する手法について説明する。
【０１６９】
まず、メーラ１として適用する既存の大多数の電子メール送受信用ソフトウェアが電子メールの保持形式に関し、次のような４つの特徴を有していることに着目する。
【０１７０】
第１の特徴は、メーラにおける１つのフォルダは、パーソナルコンピュータにおける１つの電子メールボックスファイルに対応していることである。
【０１７１】
第２の特徴は、新たに受信した電子メールは、特定のフォルダに格納されるようになっており、パーソナルコンピュータでは当該フォルダに対応するファイルの末尾に追加され、このとき、１つのファイルには一般に複数の電子メールの文章が含まれるので、各電子メールの文章の境界に、特定の文字列パターン（メーラによって異なる）からなる行が挿入されていることである。
【０１７２】
第３の特徴は、送信した電子メールの記録も、同様の形式で特定のファイルに保存されることである。
【０１７３】
第４の特徴は、送受信した電子メールが含まれるファイルはサイズが比較的大きい（数百キロバイト乃至１キロバイト）ことである。
【０１７４】
以上の第１乃至第４の特徴を考慮して、次の手順によってイベント発生に対応する電子メールを取得する。始めに、電子メールボックスファイルの更新日時を検出し、新たな電子メールが追加されたか否かを判断する。次に、新たに電子メールが追加された電子メールボックスファイルを末尾から先頭方向に１行ずつ操作して、各電子メールの文章の境界を示す特定の文字列を検出する。境界を示す文字列を検出した場合、その位置から電子メールボックスファイルの末尾までデータを抽出する。
【０１７５】
このような手順により、イベント発生に対応する電子メールを効率的に取得することが可能となる。
【０１７６】
次に、上述した関連情報提示処理に関し、同一の電子メールに対して何度も関連情報を提示しないようにする手法について説明する。まず、関連情報を提示した電子メールのメッセージＩＤを記録するためのデータ構造を設定する。そして、イベントが発生した場合、そのイベントに対応する電子メールのメッセージＩＤを取得して、設定したデータ構造と比較する。データ構造の中に同じメッセージＩＤが存在する場合、その電子メールに対しては既に関連情報を提示しているので、関連情報を提示しないようにする。一方、データ構造の中に同じメッセージＩＤが存在しない場合、その電子メールに対しては関連情報を提示し、メッセージＩＤをデータ構造に記録する。
【０１７７】
このような手法を用いることにより、同一の電子メールに対して何度も関連情報を提示するような事態の発生を抑止することが可能となる。
【０１７８】
次に、上述した関連情報提示処理に関連する、主にエージェントの動作および台詞等について、図１９および図２０のフローチャートを参照して、詳細に説明する。
【０１７９】
例えば、エージェントプログラム１が起動されている状態においてメーラ２が起動された場合、ステップＳ１３１において、エージェント制御部１３は、例えば、図２１に示されるように、メーラ２のウィンドウ（以下、メーラウィンドウと記載する）１７１の表示と重畳しない位置に、エージェント１７２を登場させる。
【０１８０】
なお、エージェント１７２の登場は、例えば、図２２Ａ乃至図２２Ｄに示す画像が順次表示されることによって、エージェント１７２が前転しながらデスクトップ上に出現する動画が表現される。エージェント１７２の登場とともに、エージェント１７２の台詞として吹き出し１７３と、保存されている関連情報が一覧表示されているスクラップ帳ウィンドウ１７４（後述）が表示される。吹き出し１７３の中には、例えば図２３に示されるように、登場の挨拶「おはよう、SAITOさん！」と、自己紹介「ぼく、alfだよ。」の台詞が表示される。
【０１８１】
また、吹き出し１７３の表示と同期して、吹き出し１７３に表示された台詞と同じ意味を持つ他の言語（例えば、英語の場合、"Good morning,SAITO"、"I'm Alf"）の音声信号が音声合成部（図示せず）によって合成されて出力するようにすることができる。なお、吹き出し１７３に表示された言語（いまの場合、日本語）と音声信号の言語（いまの場合、英語）を同じ言語に統一してもよい。なお、以降に表示される吹き出し１７３にも対応する音声信号が同期して出力されるように設定できる。
【０１８２】
ただし、吹き出し１７３の表示の有無や台詞に対応する音声の出力の有無はエージェントプログラム１が適宜設定するか、ユーザが任意に設定できるようにすることが可能である。
【０１８３】
その後、エージェント１７２の表示は、ステップＳ１３２において、例えば図２４に示されるように、待機中の様子（手を後に組み、つま先を上下させる）を示す動画に推移される。
【０１８４】
ステップＳ１３３において、エージェントプログラム１は、入力部４６に入力されるユーザからのコマンドに応じて、メーラ２が終了されたか否かを判定する。メーラ２が終了されていないと判定された場合、処理はステップＳ１３４に進む。
【０１８５】
ステップＳ１３４において（上述した図１７のステップＳ１１２に対応する）、メーラ２は、ユーザから何らかのコマンド（電子メールの送受信、電子メールの編集、あるいは関連情報の編集等）が入力されたか否かを判定し、何らかのコマンドが入力されたと判定した場合、ステップＳ１３５に進み、コマンドに対応する処理を開始する。
【０１８６】
ステップＳ１３５において、エージェントプログラム１のイベント管理部３１は、電子メールの送信、受信、または編集のコマンドが入力されたか否かを判定する。電子メールの送受信または編集のコマンドが入力されたと判定された場合、処理はステップＳ１３６に進む。
【０１８７】
ステップＳ１３６において、エージェント制御部１３は、エージェント１７２の表示を、図２４に示した待機中の様子から、例えば図２５に示されるように、作業中の様子（手足を激しく移動する）を示す動画に推移させる。この期間に、図１７のステップＳ１１３乃至Ｓ１１５の処理（ユーザに推薦する関連情報を選択する処理）が実行される。
【０１８８】
ステップＳ１３７において、エージェントプログラム１は、コマンドに対応して開始されたメーラ２の処理（例えば、電子メール送信など）が継続中であるか否かを判定し、メーラ２の作業中の処理が終了するまで判定処理を繰り返し実行する。すなわち、メーラ２の作業中の処理が終了するまで、エージェント制御部１３は、エージェント１７２の表示を、図２５に示した作業中の状態のまま待機する。
【０１８９】
ステップＳ１３７において、メーラ２の処理が継続中ではない、すなわち、コマンドに対応して開始されたメーラ２の作業中の処理が終了したと判定された場合、処理はステップＳ１３８に進む。
【０１９０】
ステップＳ１３８において、エージェントプログラム１は、再度、入力部４６に入力されるユーザからのコマンドに応じて、メーラ２が終了されたか否かを判定する。メーラ２が終了されていないと判定された場合、処理はステップＳ１３９に進む。
【０１９１】
ステップＳ１３９（図１２のステップＳ１１６に対応する）において、エージェント制御部１３は、ステップＳ１３７のメーラ２の処理が電子メール送信であった場合、エージェント１７２の吹き出し７３に、例えば、台詞「今、Ａさんにメール送ったけど、某月某日にＡさんと（タイトル）について話していたよね。その中にでてきた（キーワード）について、関連するページを見つけたよ。見てみる？」と表示させる。
【０１９２】
また、ステップＳ１３７のメーラ２の処理が電子メール受信であった場合には、例えば台詞「今、Ａさんからメールがきたけど、某月某日にＡさんと（タイトル）について話していたよね。その中にでてきた（キーワード）について、関連するページを見つけたよ。見てみる？」と表示させる。
【０１９３】
さらに、ステップＳ１３７のメーラ２の処理が電子メールの編集であった場合、例えば台詞「今、Ａさんにメールを書いているけど、某月某日にＡさんと（タイトル）について話していたよね。その中にでてきた（キーワード）について、関連するページを見つけたよ。見てみる？」と表示させる。
となる。
【０１９４】
なお、表示される台詞のうち、「某月某日にＡさんと（タイトル）について話していたよね。」の部分は、関連情報が選択（推薦）された理由に相当するが、この関連情報の選択理由の表示を、ステップＳ１３９において実行せずに、後述するステップＳ１４２の処理（関連情報の表示）の後に表示するようにしてもよい。また、関連情報の選択理由の表示をユーザの指示により任意のタイミング（例えば、メニューで理由を聞くコマンドを用意するなど）で実行するようにしてもよい。
【０１９５】
また、タイマ３１Ａによる一定時間経過時の提示に関しては、「今、Ａさんからメールがきたけど」等の特定イベントを示すような表現ではなく、例えば台詞の一部「某月某日にＡさんと（タイトル）について話していたよね。」だけを表示するようにする。
【０１９６】
さらに、これらの吹き出し１７３は、関連情報を表示する前に提示してもよいし、あるいは、表示した後に提示してもよい。
【０１９７】
吹き出し１７３に隣接する位置には、例えば図２６に示されるように、入力ウィンドウ１８１が表示される。入力ウィンドウ１８１には、図２７に示されるように、関連情報の表示を指示するときに選択する「見る」ボタン、関連情報を表示させない時に選択する「見ない」ボタン、関連情報が選択された背景（選択理由）の再表示を指示するときに選択する「背景をもう一度教えて」ボタンが表示される。
【０１９８】
入力ウィンドウ１８１が表示された状態で、ステップＳ１４０において、エージェント制御部１３は、エージェント１７２の表示を、図２６に示した待機中の様子を示す動画に推移させる。ステップＳ１４１（図１７のステップＳ１１７に対応する）において、エージェントプログラム１は、入力ウィンドウ１８１の中の「見る」ボタン、「見ない」ボタン、または「背景をもう一度教えて」ボタンのいずれがユーザにより選択されたか否かを判定する。このウィンドウは表示しなくてもよい。
【０１９９】
ステップＳ１４１において、入力ウィンドウ１８１の「見る」ボタンが選択されたと判定された場合、処理はステップＳ１４２に進む。ステップＳ１４２（図１７のステップＳ１１８に対応する）において、エージェント制御部１３は、例えば、図２８および図２９に示されるように、関連情報として推薦URL１９１を表示させ、エージェント１７２の表示を、表示された推薦URL１９１を指し示す動画に推移させるとともに、吹き出し１７３に、台詞「どう？」を表示させる。推薦URL１９１には、通常、推薦されるWebページのタイトルが表示され、推薦URL１９１の上にマウスカーソルが置かれたときだけURLも重畳して表示される。推薦URL１９１は、マウスカーソルでドラッグすることにより移動可能である。
【０２００】
ステップＳ１４３（図１７のステップＳ１１９に対応する）において、エージェントプログラム１は、表示した推薦URL１９１に対するユーザのコマンドを検出する。表示される推薦URL１９１に対するユーザのコマンドとしては、記録、アクセス、または消去等がある。
【０２０１】
推薦URL１９１に対する記録コマンドは、例えば、記録する推薦URL１９１をスクラップ帳ウィンドウ１７４までドラッグアンドドロップする方法、マウスの右ボタンをクリックし、表示されるメニューの中から記録を選択する方法などが考えられる。あるいは、推薦URLはすべて自動的に記録されるようにしてもよい。アクセスコマンドや消去コマンドについても同様に、WWWブラウザのアイコンやゴミ箱のアイコンにドラッグアンドドロップする方法、マウスで右クリックし、表示されるメニューの中から選択する方法、あるいはクリッカブルにする方法などが考えられる。
【０２０２】
ステップＳ１４３において、推薦URL１９１に対する記録コマンドが検出された場合、ステップＳ１４４（図１７のステップＳ１２１に対応する）において、エージェント制御部１３は、エージェント１７２の表示を、例えば図３０に示されるように、頷く動作に推移させる。スクラップ帳ウィンドウ１７４の中には、記録が指示された推薦URL１９１に対応するWebページのタイトルが追加表示される。
【０２０３】
また、ステップＳ１４３で、推薦URL１９１に対するアクセスコマンドが検出された場合、ステップＳ１４４（図１７のステップＳ１２０に対応する）において、エージェント制御部１３は、エージェント１７２の表示を、例えば図３１Ａおよび図３１Ｂに示されるように、笑顔で喜ぶ様子に推移させる。吹き出し１７３には、台詞「わーい」が表示され、対応する音声信号が出力される。
【０２０４】
また、ステップＳ１４３で、推薦URL１９１に対する消去コマンドが検出された場合、ステップＳ１４４において、エージェント制御部１３は、エージェント１７２の表示を、例えば図３２Ａおよび図３２Ｂに示されるように、泣き顔で悲しみ失望した様子に推移させる。吹き出し１７３には、台詞「だめかぁ」が表示され、対応する音声信号が出力される。
【０２０５】
この後、処理はステップＳ１３２に戻り、それ以降の処理が繰り返し実行される。
【０２０６】
なお、ステップＳ１４１において、入力ウィンドウ１８１の「見ない」ボタンが選択されたと判定された場合、処理はステップＳ３２に戻り、それ以降の処理が繰り返し実行される。また、ステップＳ１４１において、入力ウィンドウ１８１の「背景をもう一度教えて」ボタンが選択されたと判定された場合、処理はステップＳ１３９に戻り、ステップＳ１３９乃至Ｓ１４１の処理が繰り返される。
【０２０７】
ステップＳ１３８において、メーラ２が終了されたと判定された場合、処理はステップＳ１４５に進無。ステップＳ１４５において、エージェント制御部１３は、吹き出し１７３に、終了を惜しむ台詞「え、そんなぁ」を表示させ、対応する音声信号を出力させた後、ステップＳ４６において、エージェント７２の表示を消失させる（図２５を参照して後述する）。
【０２０８】
ステップＳ１３５において、関連情報の編集を指示するコマンドが入力されたと判定された場合、処理はステップＳ１４７に進む。ステップＳ１４７において、関連情報提示部３３は、関連情報編集用ウィンドウ（図示せず）を表示させ、エージェント制御部１３は、エージェント１７２の表示を、図３０に示した待機中の様子から、図２９と同様に、関連情報編集用ウィンドウを指し示す様子に推移させる。その後、ユーザが関連情報編集用ウィンドウに対して編集のための入力を開始すると、ステップＳ１４８において、エージェント制御部１３は、エージェント１７２の表示を、関連情報編集用ウィンドウを指し示す様子から、図２５に示した作業中の様子を示す動画に推移させる。
【０２０９】
ステップＳ１４９において、エージェントプログラム１は、関連情報編集処理が継続中であるか否かを判定し、関連情報編集処理が終了するまで判定処理を繰り返し実行する。すなわち、関連情報編集処理が終了するまで、エージェント制御部１３は、エージェント１７２の表示を、図２５に示した作業中の状態のまま待機する。
【０２１０】
ステップＳ１４９において、関連情報編集処理が継続中ではない、すなわち、コマンドに対応して開始された関連情報編集処理が終了したと判定された場合、処理はステップＳ１５０に進む。
【０２１１】
ステップＳ１５０において、エージェント制御部１３は、エージェント１７２の表示を、図３０と同様に、頷く様子に推移させる。吹き出し１７３には、台詞「変更したよ」と表示され、対応する音声信号が出力される。この後、処理はステップＳ１３２に戻り、それ以降の処理が繰り返し実行される。
【０２１２】
ステップＳ１３４において、メーラ２に対してユーザから何らかのコマンドが入力されない状態が所定の時間以上継続した場合、ステップＳ１５１に進む。ステップＳ１５１において、エージェント制御部１３は、エージェント１７２の表示を、所定の時間が経過する毎に、移動の状態、遊びの状態、または睡眠の状態に順次推移させる。
【０２１３】
この待機中の処理の詳細について、図２０のフローチャートを参照して説明する。なお、各ステップにおける処理は、エージェント制御部１３が実行する。
【０２１４】
ステップＳ１６１において、エージェント１７２の表示が、図２４に示した待機中の状態から、例えば図３３または図３４に示した画像を用いて表現される移動の状態に推移する。
【０２１５】
エージェント１７２の移動は、表示されているウィンドウと重畳しないようにデスクトップ上を横方向あるいは縦方向に行われる。なお、アクティブであるウィンドウ（いまの場合、メーラウィンドウ１７１）を検出して、その周囲を横方向あるいは縦方向に行うようにしてもよい。エージェント１７２がデスクトップ上を横方向（例えば、右方向）に移動するときには、例えば、図３３Ａ乃至図３３Ｄに示される画像が順次用いられることにより、瞬間移動したかのような動画表現が実現される。
【０２１６】
具体的には、エージェント１７２の表示は、移動開始位置において、図３３Ａに示されるように、体の向きが移動する方向に向き、この後、向いている方向にジャンプすると、図３３Ｂに示されるように、頭部から順に消滅して行く。そして、移動終了位置において、図３３Ｃに示されるように、脚部から順に表示されて、最終的には、図３３Ｄに示されるように全身が表示される。
【０２１７】
エージェント１７２がデスクトップ上を上下方向に移動するときには、例えば図３４Ａ乃至図３４Ｇに示される画像が順次用いられる。すなわち、移動開始位置において、エージェント１７２が、図３４Ａに示されるように、自身の尻尾（先端がコンセントプラグの形状をしている）を手で握り、図３４Ｂに示されるように、尻尾の先端を頭上付近に差し込む。
【０２１８】
その後、エージェント１７２の表示が、図３４Ｃ、図３４Ｄに順次示されるように、体の下部から徐々にロープに変身し、図３４Ｅに示されるように、１本のロープになってその状態で移動終了位置まで移動する。移動終了位置においては、図３４Ｆ、図３４Ｇに順次示されるように、頭部から順に復元されて、最終的に全身が表示される。
【０２１９】
このように、エージェント７２の移動を、瞬間移動によって表現したり、１本のロープに変身させて表現したりすることにより、移動中を表現するために使われるリソース（演算量、メモリなど）の消費量を軽減させることが可能となる。
【０２２０】
図２０の説明に戻る。ステップＳ１６２において、イベント（電子メールの送受信、電子メールの編集、あるいは関連情報の編集等を指示するコマンドの入力）が発生したか否かが判定される。イベントが発生していないと判定された場合、処理はステップＳ１６３に進む。
【０２２１】
ステップＳ１６３において、エージェント１７２の表示が移動の状態に推移した後、所定の時間が経過したか否かが判定され、所定の時間が経過したと判定されるまで、ステップＳ１６２およびステップＳ１６３の処理が繰り返し実行される。ステップＳ１６３において、所定の時間が経過したと判定された場合、処理はステップＳ１６４に進む。
【０２２２】
ステップＳ１６４において、エージェント７２の表示が、移動の状態から、例えば図３５に示される画像で表現される遊びの状態に推移する。図３５Ａは、エージェント１７２が蛇と戯れて遊んである状態を示しており、図３５Ｂは、エージェント１７２が尻尾の先端を上方に差し込み、そこを支点としてぶら下がり揺れながら遊んである状態を示している。
【０２２３】
ステップＳ１６５において、イベントが発生したか否かが判定される。イベントが発生していないと判定された場合、ステップＳ１６６に進む。ステップＳ１６６において、エージェント１７２の表示が遊びの状態に推移した後、所定の時間が経過したか否かが判定され、所定の時間が経過したと判定されるまで、ステップＳ１６５およびステップＳ１６６の処理が繰り返し実行される。ステップＳ１６６において、所定の時間が経過したと判定された場合、処理はステップＳ１６７に進む。
【０２２４】
ステップＳ１６７において、エージェント１７２の表示が、遊びの状態から、例えば図３６に示される画像で表現される睡眠の状態に推移する。ステップＳ１６８において、イベントが発生したか否かが判定され、イベントが発生するまで判定処理が繰り返し実行される。ステップＳ１６８において、イベントが発生したと判定された場合、実行されている待機中の処理は終了されて、処理は図１９のステップＳ１３５に進み、それ以降の処理が実行される。
【０２２５】
なお、ステップＳ１６２、またはステップＳ１６５において、イベントが発生したと判定された場合にも、実行されている待機中の処理は終了されて、処理は、図１９のステップＳ１３５に進み、それ以降の処理が実行される。
【０２２６】
また、図２０のフローチャートには図示していないが、待機中の処理が実行されている最中において、メーラ２が終了されたと判定された場合にも、実行されている待機中の処理は終了されて、ステップＳ１４６に進む。同様に、ステップＳ１３３において、メーラ２が終了されたと判定された場合にも、処理はステップＳ１４６に進む。
【０２２７】
ステップＳ１４６において、エージェント制御部１３は、エージェント１７２の表示を、例えば図３７Ａおよび図３７Ｂに示される画像で表現される、消失の状態に推移させる。図３７Ａは、エージェント１７２が手を振りながら背を向けて遠方に立ち去る状態を示しており、図３７Ｂは、エージェント１７２の姿が徐々に小さくなり、やがて消失する状態を示している。
【０２２８】
なお、エージェント１７２の消去とともに、吹き出し１７３、スクラップ帳ウィンドウ１７４、および推薦URL１９１等の表示も消去される。
【０２２９】
以上のように、本発明によれば、電子メール等の文書から評価値の高い単語（重要語）を抽出し、関連情報を推薦する一連の処理に対応して、エージェント１７２が動作するので、エージェント１７２に対して信頼性や親しみが感じられるようになる。
【０２３０】
ところで、上述したエージェント１７２の動作および吹き出し１７３の中の台詞の表示、並びに、表示された台詞に対応する音声信号の出力については、本発明のエージェントプログラム１だけでなく、他のアプリケーション、例えば、ゲームやワードプロセッサのヘルプ画面等に適用することが可能である。さらに、テレビジョン受像機、ビデオカメラ、またはカーナビゲーション等のディスプレイに表示されるキャラクタに適用することも勿論可能である。
【０２３１】
また、同一のパーソナルコンピュータを複数のユーザが操作する場合、エージェント１７２の種類を複数用意して、ユーザ毎に表示されるエージェント１７２（図３８）の種類を変えるようにしてもよい。また、エージェント１７２は、ユーザが好みのキャラクタを自由に作成し、編集できるようにしてもよい。
【０２３２】
さらに、同一のユーザが複数のパーソナルコンピュータ上でエージェントプログラム１を利用する場合、異なるパーソナルコンピュータ上においても同じ種類のエージェント１７２が表示されるようにしてもよい。
【０２３３】
なお、以上においては、エージェントプログラム１が実行されている場合、エージェント１７２は、常に登場しているものとして説明したが、例えば、推薦時にだけ表示させたりするように、その表示タイミングの設定を変更することができる。
【０２３４】
具体的には、例えばエージェントプログラム１が実行されている状態において、マウスの右ボタンをクリックし、図３８に示されるようなメニューボックス２０１を表示させて、その中から、「いろいろな設定をする」の項目を選択することにより、図３９に示されるような設定画面を表示させる。
【０２３５】
図３９の例の設定画面には、複数のタブが配置されており、「エージェント」と示されたタブがアクティブとされているとき、ユーザが選択または入力可能な、エージェントの名前、表示、効果音、推薦間隔、推薦保存数、推薦するときの台詞、および推薦データ更新などの項目が表示される。
【０２３６】
ユーザは、これらの項目に対して、それぞれ、所望の情報（エージェントの名前）を入力したり、あるいは、所定の項目を選択したりすることによって、自分好みにエージェント１７２および吹き出し１７３の表示状態、あるいは、推薦する関連情報の推薦間隔時間や保存数などを設定することができる。
【０２３７】
次に、蓄積部１１によるデータベースの更新のタイミングについて説明する。データベースは、上述したデータベース作成処理によって作成されるが、次のような第１乃至第３の状況になった場合、データベースが更新される。
【０２３８】
すなわち、第１の状況として、データベースが作成または更新されてから所定の期間が経過している場合、データベース内の関連情報が古くなってしまうので更新が行われる。
【０２３９】
第２の状況として、データベースに蓄積されている関連情報のうちの所定の割合が提示済みとなった場合、データベース内の同じ関連情報が繰り返し提示されたり、提示する関連情報が不足したりしてしまうので更新が行われる。
【０２４０】
第３の状況として、特徴抽出に用いた文書が電子メールである場合、電子メールの送受信が繰り返されていると、その文書の内容が変化するので更新が行われる。
【０２４１】
なお、データベースの更新が必要である状況になった場合（例えば、イベント管理部３１がタイマ３１Ａを監視し、所定の期間が経過したとき）、ユーザに対して更新を指示するように促すこともできるし、ユーザに対する更新指示の促しを実行することなく、自動的にデータベースを実行するように設定することも可能である。また、ユーザが指定する任意のタイミングで更新することも勿論可能である。
【０２４２】
これら第１乃至第３の状況を考慮したデータベース更新処理について、図４０のフローチャートを参照して説明する。このデータベース更新処理は、エージェントプログラム１が実行する処理のうちの１つであり、エージェントプログラム１の起動とともに開始され、エージェントプログラム１が終了されるまで繰り返し実行される。なお、この処理が開始される以前において、既に上述したデータベース作成処理が実行されており、データベースが存在するものとする。
【０２４３】
ステップＳ１８１において、エージェントプログラム１の蓄積部１１は、作成済みのデータベースの更新が必要であるか否かを判定し、更新が必要であると判定されるまで待機する。この判断基準は、例えば図４１に示すようなユーザインタフェースの画面を用いて予めユーザが設定するものとする。図４１の例では、４つの条件が示されており、ユーザによって左端の□印（チェックボックス）がチェックされた場合、対応する条件が有効となる。なお、１番目の条件では回数が設定可能とされており、３番目の条件では日数が設定可能とされている。
【０２４４】
ステップＳ１８１において、更新が必要であると判定された場合、処理は、ステップＳ１８２に進む。ステップＳ１８２において、蓄積部１１は、データベースを自動的に更新するように設定されているか否かを判定し、自動的に更新するように設定されていないと判定した場合、ステップＳ１８３に進む。一方、ステップＳ１８２において、自動的に更新するように設定されていると判定された場合、ステップＳ１８３の処理はスキップされる。
【０２４５】
ステップＳ１８３において、エージェントプログラム１の提示部１２は、データベースの更新が必要である旨をユーザに通知するとともに、さらに、その通知に対応して、ユーザから更新の指示がなされたか否かを判定する。ユーザから更新の指示がなされたと判定された場合、処理はステップＳ１８４に進む。反対に、ユーザから更新の指示がなされないと判定された場合、処理はステップＳ１８１に戻り、以降の処理が繰り返し実行される。
【０２４６】
ステップＳ１８４において、エージェントプログラム１の蓄積部１１は、データベースを更新する。具体的には、文書取得部２１乃至文書内容処理部２３が、電子メールの電子メールボックスファイル（特定の拡張子mbx等が付与されていることが多い）を検出し、その更新日時を取得して、以前に取得した更新日時と比較し、異なる日付と異なるファイルサイズであれば、ファイルが更新されていると判断し、追加または変更された部分を抽出する。この場合、電子メールのグループ化、ヘッダの解析、形態素解析、特徴ベクトル算出等、一連のファイル内の分析が行われ、得られる重要語が関連情報検索部２５に供給される。
【０２４７】
ただし、メールグループ（話題）が変化せず（所定の話題に新たに追加された電子メールがなく）、分析の結果、更新以前の重要語（検索用キーワード）と更新後の重要語が同じであれば、評価値等の計算値だけを変更し、関連情報検索部２５による関連情報の検索を実行しないようにしてもよい。
【０２４８】
あるいは、全ての電子メールグループが変化せずに一定期間が経過した場合、グループの特徴ベクトルのうち、前回、評価値が１番目と２番目の単語を検索語としていたものを、例えば評価値が３番目と４番目の単語を検索語に変更して検索し、検索結果を取得するようにしてもよい。
【０２４９】
また、作り込み用単語組を用いた検索だけを行いうようにして、データベースを更新するようにしてもよい。
【０２５０】
なお、関連情報をインタネット上の検索エンジンを用いて検索する際、インタネットに接続している状態であるか否かを検出するようにし、インタネットに接続していない状態である場合、関連情報の検索を行わないようにし、以降においてインタネットに接続した状態となったときに関連情報を検索するか否かをユーザに問うようにしてもよい。
【０２５１】
「同じ関連情報を何度も推薦（提示）しないようにするために、あるメールグループの関連情報を、所定の回数以上推薦したら更新が必要と判断する」との条件に関連して、取得した電子メールと類似性の高いメールグループ（話題）を選択する際に、同じメールグループから何度も推薦を行わないように、次のような処理を行う。
【０２５２】
メールグループ自体に推薦の優先度の順位を付与し（例えば、メールグループ内での特徴語の評価値の最大値をそのメールグループの優先度の値とし、優先度の値を降順に並べたものを優先度の順位として付与する）、一度推薦を行ったメールグループを優先順位の最後尾に並び替えるようにする。このようにすることによって、類似度の範囲内にあるメールグループでも、同じメールグループから推薦する頻度が減少する。また、優先順位の変更だけなので、関連情報を大量に検索して準備しておけば、なるべく同じメールグループからの推薦が減り、かつ、情報自体も不足することなく用いることができる。
【０２５３】
これに関連して、特徴抽出に用いる話題内の文書量に応じて、類似する話題を抽出する際の範囲を変化させることができるようにする。具体的には、特徴抽出する話題の文書量またはデータサイズに応じて何段階かの類似度の範囲を設定する。例えば、ある話題に含まれる文書量が１０ファイル以内である場合は類似度を０．０１以上、１１ファイル以上５０ファイル未満の場合は類似度を０．０３以上、５１５０ファイル以上である場合は類似度を０．０５以上とする。または、ある話題の文書の容量が５００キロバイト未満である場合は類似度を０．０１以上、５００キロバイト以上である場合は類似度を０．０２以上とする。
【０２５４】
そして、予め設定された類似度の範囲のうち、優先度の高い話題から検索された関連情報を提示するようにする。このようにすると、文書量の減少により、データベースの内容が更新されると、類似度の範囲が変化し、類似度の範囲が狭すぎて関連情報が不足したり、反対に、類似度の範囲が広すぎてユーザにとってあまり関連性が明確でない関連情報が提示されたりするような事態の発生を抑止することが可能となる。
【０２５５】
以上説明したように、データベース更新処理においては、追加された文書や変更された文書だけを処理の対象とするので、データベース作成処理を繰り返し実行する場合に比べて、処理時間が短縮される。
【０２５６】
本発明のエージェントプログラム１は、上述したようにメーラ２によって送受信される電子メールやワードプロセッサプログラム３で編集される文書の他、例えば、チャット、電子ニュース、電子掲示板等の文書や音声信号をテキスト化した文書など、属性情報としてタイムスタンプが付与されている文書に対応して動作するようにさせることができる。
【０２５７】
上述した一連の処理を実行するエージェントプログラム１は、パーソナルコンピュータに予め組み込まれるか、あるいは、記録媒体からインストールされる。
【０２５８】
上述した一連の処理は、ハードウェアに実行させることもできるが、通常、ソフトウェアにより実行させる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するエージェントプログラム１が、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２５９】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図２に示されるように、プログラムが記録されている磁気ディスク５２（フレキシブルディスクを含む）、光ディスク５３（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク５４（MD(Mini-Disk)を含む）、もしくは半導体メモリ５５などよりなるパッケージメディア、または、プログラムが一時的もしくが永続的に記録されるROM４２や記憶部４９を構成するハードディスクなどにより構成される。記録媒体に対するプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースを介して、公衆回線網、ローカルエリアネットワーク、インタネット、ディジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２６０】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２６１】
【発明の効果】
以上のように、本発明によれば、速やかにユーザの興味に対応する単語を抽出し、電子メールの送受信が行われない状況においても、ユーザに適切な情報を提示することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態であるエージェントプログラムの機能ブロックの構成例を示す図である。
【図２】エージェントプログラムをインストールして実行させるパーソナルコンピュータの構成例を示すブロック図である。
【図３】エージェントプログラムによるデータベース作成処理を説明するフローチャートである。
【図４】図３のステップＳ５の処理を説明するための図である。
【図５】図４のステップＳ２２における、日時条件およびアドレス属性条件を設定処理説明するフローチャートである。
【図６】話題ファイルの一例を示す図である。
【図７】単語ベクトルを構成する複数の単語に含まれる要素を示す図である。
【図８】図３のステップＳ３における第１次話題選抜処理を説明するフローチャートである。
【図９】図３のステップＳ４における形態素解析処理を説明するフローチャートである。
【図１０】話題単語テーブルの構成例を示す図である。
【図１１】単語インデックステーブルの構成例を示す図である。
【図１２】話題評価値テーブルの構成例を示す図である。
【図１３】図３のステップＳ５における不要語削除処理を説明するフローチャートである。
【図１４】図３のステップＳ９における第２次話題選抜処理を説明するフローチャートである。
【図１５】図３のステップＳ１１における推薦話題確定処理を説明するフローチャートである。
【図１６】ステップＳ１２におけるWeb検索処理を説明するフローチャートである。
【図１７】エージェントプログラムの関連情報提示処理を説明するフローチャートである。
【図１８】図５のステップＳ１５の処理を説明するための図である。
【図１９】エージェントの動作等を説明するフローチャートである。
【図２０】図７のステップＳ５１の待機中の処理の詳細を説明するフローチャートである。
【図２１】デスクトップ上に表示されたエージェントの表示例を示す図である。
【図２２】エージェントが登場するときの表示例を示す図である。
【図２３】エージェントの台詞である吹き出しの表示例を示す図である。
【図２４】エージェントが待機中であるときの表示例を示す図である。
【図２５】エージェントが作業中であるときの表示例を示す図である。
【図２６】デスクトップ上に表示された入力ウィンドウの表示例を示す図である。
【図２７】入力ウィンドウの表示例を示す図である。
【図２８】デスクトップ上に表示された推薦URLの表示例を示す図である。
【図２９】エージェンが指示中であるときの表示例を示す図である。
【図３０】デスクトップ上に表示されたスクラップ帳ウィンドウの表示例を示す図である。
【図３１】エージェントが喜びの状態であるときの表示例を示す図である。
【図３２】エージェントが悲しみの状態であるときの表示例を示す図である。
【図３３】エージェントが横方向に移動するときの表示例を示す図である。
【図３４】エージェントが縦方向に移動するときの表示例を示す図である。
【図３５】エージェントが遊びの状態であるときの表示例を示す図である。
【図３６】エージェントが睡眠の状態であるときの表示例を示す図である。
【図３７】エージェントが立ち去るときの表示例を示す図である。
【図３８】メニューボックスの表示例を示す図である。
【図３９】設定画面の表示例を示す図である。
【図４０】エージェントプログラムのデータベース更新処理を説明するフローチャートである。
【図４１】データベースを更新させる条件を入力するユーザインタフェースの表示例を示す図である。
【符号の説明】
１  エージェントプログラム，  ２  メーラ，  １１  蓄積部，  １２  提示部，  １３  エージェント制御部，  ２１  文書取得部，  ２２  文書属性処理部，  ２３  文書内容処理部，  ２４  文書特徴データベース作成部，  ２５  関連情報検索部，  ３１  イベント管理部，  ３２  データベース問い合わせ部，  ３３  関連情報提示部，  ５２  磁気ディスク，  ５３  光ディスク，  ５４  光磁気ディスク，  ５５  半導体メモリ
【図１】
0004082059.tif 000004
【図２】
0004082059.tif 000005
【図３】
0004082059.tif 000006
【図４】
0004082059.tif 000007
【図５】
0004082059.tif 000008
【図６】
0004082059.tif 000009
【図７】
0004082059.tif 000010
【図８】
0004082059.tif 000011
【図９】
0004082059.tif 000012
【図１０】
0004082059.tif 000013
【図１１】
0004082059.tif 000014
【図１２】
0004082059.tif 000015
【図１３】
0004082059.tif 000016
【図１４】
0004082059.tif 000017
【図１５】
0004082059.tif 000018
【図１６】
0004082059.tif 000019
【図１７】
0004082059.tif 000020
【図１８】
0004082059.tif 000021
【図１９】
0004082059.tif 000022
【図２０】
0004082059.tif 000023
【図２１】
0004082059.tif 000024
【図２２】
0004082059.tif 000025
【図２３】
0004082059.tif 000026
【図２４】
0004082059.tif 000027
【図２５】
0004082059.tif 000028
【図２６】
0004082059.tif 000029
【図２７】
0004082059.tif 000030
【図２８】
0004082059.tif 000031
【図２９】
0004082059.tif 000032
【図３０】
0004082059.tif 000033
【図３１】
0004082059.tif 000034
【図３２】
0004082059.tif 000035
【図３３】
0004082059.tif 000036
【図３４】
0004082059.tif 000037
【図３５】
0004082059.tif 000038
【図３６】
0004082059.tif 000039
【図３７】
0004082059.tif 000040
【図３８】
0004082059.tif 000041
【図３９】
0004082059.tif 000042
【図４０】
0004082059.tif 000043
【図４１】
0004082059.tif 000044