(57)【特許請求の範囲】
【請求項１】
１以上の既存のテキストデータから、少なくとも日時情報を含む属性情報を抽出し、抽出した前記属性情報に含まれる各項目の情報の共通性に基づいて前記既存のテキストデータをグループ化するテキストデータグループ化手段と、
グループ化された前記既存のテキストデータに含まれる各キーワードに対し、前記キーワードの出現頻度または複数の前記既存のテキストデータに亘る分布情報の少なくとも一方に基づいて重要度を算出する算出手段と、
グループ化された前記既存のテキストデータに含まれるキーワードの中から、算出された前記重要度に基づいて検索用キーワードを選択する選択手段と、
選択された前記検索用キーワードに関連する関連情報を取得する取得手段と、
グループ化された前記既存のテキストデータを前記属性情報の前記日時情報に従ってソートし、前記既存のテキストデータそれぞれにおける各キーワードの前記重要度を保持するとともに、選択された前記検索用キーワードに取得された前記関連情報を対応付けたデータベースを構築する構築手段と、
新たなテキストデータの出現をイベントとして検知する検知手段と、
検知された前記イベントに対応する前記新たなテキストデータからキーワードを検出する検出手段と、
前記新たなテキストデータから検出された前記キーワードのうち、前記データベースに保持されている前記重要度が所定の条件を満たすものを検索し、検索したキーワードに対応する前記関連情報を前記データベースから読み出す検索手段と、
読み出された前記関連情報の表示を制御する表示制御手段と
を含み、
前記検出手段は、前記新たなテキストデータから検出された前記キーワードのうち、前記データベースに保持されている前記重要度が、現時点以前の期間Ｘに所定の閾値Ａ以下であり、且つ、現時点以前の前記期間Ｘよりも長い期間Ｙに異なる２以上のテキストデータにおいて所定の閾値Ｂ以上であるものを検索する
情報処理装置。
【請求項２】
前記検知手段は、電子メールの送信、受信、または編集による前記新たなテキストデータの出現を前記イベントとして検知する
請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記検索用キーワードが含まれるWebページのタイトルおよびURLを前記関連情報として取得する
請求項１に記載の情報処理装置。
【請求項４】
前記取得手段は、所定のタイミングにおいて、選択した前記検索用キーワードに関連する前記関連情報を取得する
請求項３に記載の情報処理装置。
【請求項５】
前記構築手段は、所定の更新条件が満たされた場合、構築した前記データベースを更新する
請求項１に記載の情報処理装置。
【請求項６】
前記所定の更新条件は、ユーザが設定可能である
請求項５に記載の情報処理装置。
【請求項７】
グループ化手段と、
算出手段と、
選択手段と、
取得手段と、
構築手段と、
検知手段と、
検出手段と、
検索手段と、
表示制御手段とを備える情報処理装置の情報処理方法において、
前記グループ化手段による、１以上の既存のテキストデータから、少なくとも日時情報を含む属性情報を抽出し、抽出した前記属性情報に含まれる各項目の情報の共通性に基づいて前記既存のテキストデータをグループ化するテキストデータグループ化ステップと、
前記算出手段による、グループ化された前記既存のテキストデータに含まれる各キーワードに対し、前記キーワードの出現頻度または複数の前記既存のテキストデータに亘る分布情報の少なくとも一方に基づいて重要度を算出する算出ステップと、
前記選択手段による、グループ化された前記既存のテキストデータに含まれるキーワードの中から、算出された前記重要度に基づいて検索用キーワードを選択する選択ステップと、
前記取得手段による、選択された前記検索用キーワードに関連する関連情報を取得する取得ステップと、
前記構築手段による、グループ化された前記既存のテキストデータを前記属性情報の前記日時情報に従ってソートし、前記既存のテキストデータそれぞれにおける各キーワードの前記重要度を保持するとともに、選択された前記検索用キーワードに取得された前記関連情報を対応付けたデータベースを構築する構築ステップと、
前記検知手段による、新たなテキストデータの出現をイベントとして検知する検知ステップと、
前記検出手段による、検知された前記イベントに対応する前記新たなテキストデータからキーワードを検出する検出ステップと、
前記検索手段による、前記新たなテキストデータから検出された前記キーワードのうち、前記データベースに保持されている前記重要度が所定の条件を満たすものを検索し、検索したキーワードに対応する前記関連情報を前記データベースから読み出す検索ステップと、
前記表示制御手段による、読み出された前記関連情報の表示を制御する表示制御ステップと
を含み、
前記検出手段による、前記検索ステップは、前記新たなテキストデータから検出された前記キーワードのうち、前記データベースに保持されている前記重要度が、現時点以前の期間Ｘに所定の閾値Ａ以下であり、且つ、現時点以前の前記期間Ｘよりも長い期間Ｙに異なる２以上のテキストデータにおいて所定の閾値Ｂ以上であるものを検索する
情報処理方法。
【請求項８】
コンピュータを、
１以上の既存のテキストデータから、少なくとも日時情報を含む属性情報を抽出し、抽出した前記属性情報に含まれる各項目の情報の共通性に基づいて前記既存のテキストデータをグループ化するテキストデータグループ化手段と、
グループ化された前記既存のテキストデータに含まれる各キーワードに対し、前記キーワードの出現頻度または複数の前記既存のテキストデータに亘る分布情報の少なくとも一方に基づいて重要度を算出する算出手段と、
グループ化された前記既存のテキストデータに含まれるキーワードの中から、算出された前記重要度に基づいて検索用キーワードを選択する選択手段と、
選択された前記検索用キーワードに関連する関連情報を取得する取得手段と、
グループ化された前記既存のテキストデータを前記属性情報の前記日時情報に従ってソートし、前記既存のテキストデータそれぞれにおける各キーワードの前記重要度を保持するとともに、選択された前記検索用キーワードに取得された前記関連情報を対応付けたデータベースを構築する構築手段と、
新たなテキストデータの出現をイベントとして検知する検知手段と、
検知された前記イベントに対応する前記新たなテキストデータからキーワードを検出する検出手段と、
前記新たなテキストデータから検出された前記キーワードのうち、前記データベースに保持されている前記重要度が所定の条件を満たすものを検索し、検索したキーワードに対応する前記関連情報を前記データベースから読み出す検索手段と、
読み出された前記関連情報の表示を制御する表示制御手段と
して動作させるためのプログラムが格納されており、
前記検出手段は、前記新たなテキストデータから検出された前記キーワードのうち、前記データベースに保持されている前記重要度が、現時点以前の期間Ｘに所定の閾値Ａ以下であり、且つ、現時点以前の前記期間Ｘよりも長い期間Ｙに異なる２以上のテキストデータにおいて所定の閾値Ｂ以上であるものを検索する
プログラム格納媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラム格納媒体に関し、例えば、電子メールが送受信されたときに、当該電子メールの文面に関連する情報をデータベースから抽出して表示させるようにした情報処理装置および方法、並びにプログラム格納媒体に関する。
【０００２】
【従来の技術】
従来、パーソナルコンピュータのデスクトップ（表示画面）に、いわゆるデスクトップマスコットと呼ばれるキャラクタを表示させるアプリケーションプログラムが存在する。
【０００３】
デスクトップマスコットは、例えば、電子メールの着信等をユーザに通知する機能やデスクトップ上を移動する機能などを有している。
【０００４】
【発明が解決しようとする課題】
ところで、例えばユーザが電子メールとして送信する文書等を入力している時や、受信した文書を閲覧している時などに、対象としている文書に関連する情報（以下、関連情報と記述する）を、デスクトップマスコットが提示するようになれば、ユーザにとって利便性が向上するとともに、デスクトップマスコットに対して一層愛着を感じるようになる。しかしながら、そのようなデスクトップマスコットは実現されていない課題があった。
【０００５】
また、関連情報をユーザに提示するためには、関連情報のデータベースを予め構築しておく必要があるが、データベースを構築するためには、データの入力等の手間が掛かる課題があった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、処理済みのテキストファイルを用いて、自動的にデータベースを構築できるようにするとともに、送受信などの対象とした文書に関連する関連情報をユーザに提示できるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
本発明の情報処理装置は、１以上の既存のテキストデータから、少なくとも日時情報を含む属性情報を抽出し、抽出した属性情報に含まれる各項目の情報の共通性に基づいて既存のテキストデータをグループ化するテキストデータグループ化手段と、グループ化された既存のテキストデータに含まれる各キーワードに対し、キーワードの出現頻度または複数の既存のテキストデータに亘る分布情報の少なくとも一方に基づいて重要度を算出する算出手段と、グループ化された既存のテキストデータに含まれるキーワードの中から、算出された重要度に基づいて検索用キーワードを選択する選択手段と、選択された検索用キーワードに関連する関連情報を取得する取得手段と、グループ化された既存のテキストデータを属性情報の日時情報に従ってソートし、既存のテキストデータそれぞれにおける各キーワードの重要度を保持するとともに、選択された検索用キーワードに取得された関連情報を対応付けたデータベースを構築する構築手段と、新たなテキストデータの出現をイベントとして検知する検知手段と、検知されたイベントに対応する新たなテキストデータからキーワードを検出する検出手段と、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が所定の条件を満たすものを検索し、検索したキーワードに対応する関連情報をデータベースから読み出す検索手段と、読み出された関連情報の表示を制御する表示制御手段とを含み、検出手段は、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が、現時点以前の期間Ｘに所定の閾値Ａ以下であり、且つ、現時点以前の期間Ｘよりも長い期間Ｙに異なる２以上のテキストデータにおいて所定の閾値Ｂ以上であるものを検索する。
【０００８】
前記検知手段は、電子メールの送信、受信、または編集による新たなテキストデータの出現をイベントとして検知するようにすることができる。
【０００９】
前記取得手段は、検索用キーワードが含まれるWebページのタイトルおよびURLを関連情報として取得するようにすることができる。
【００１０】
前記取得手段は、所定のタイミングにおいて、選択した検索用キーワードに関連する関連情報を取得するようにすることができる。
【００１１】
前記構築手段は、所定の更新条件が満たされた場合、構築したデータベースを更新するようにすることができる。
【００１２】
前記所定の更新条件は、ユーザが設定可能であるようにすることができる。
【００１３】
本発明の情報処理方法は、グループ化手段による、１以上の既存のテキストデータから、少なくとも日時情報を含む属性情報を抽出し、抽出した属性情報に含まれる各項目の情報の共通性に基づいて既存のテキストデータをグループ化するテキストデータグループ化ステップと、算出手段による、グループ化された既存のテキストデータに含まれる各キーワードに対し、キーワードの出現頻度または複数の既存のテキストデータに亘る分布情報の少なくとも一方に基づいて重要度を算出する算出ステップと、選択手段による、グループ化された既存のテキストデータに含まれるキーワードの中から、算出された重要度に基づいて検索用キーワードを選択する選択ステップと、取得手段による、選択された検索用キーワードに関連する関連情報を取得する取得ステップと、構築手段による、グループ化された既存のテキストデータを属性情報の日時情報に従ってソートし、既存のテキストデータそれぞれにおける各キーワードの重要度を保持するとともに、選択された検索用キーワードに取得された関連情報を対応付けたデータベースを構築する構築ステップと、検知手段による、新たなテキストデータの出現をイベントとして検知する検知ステップと、検出手段による、検知されたイベントに対応する新たなテキストデータからキーワードを検出する検出ステップと、検索手段による、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が所定の条件を満たすものを検索し、検索したキーワードに対応する関連情報をデータベースから読み出す検索ステップと、表示制御手段による、読み出された関連情報の表示を制御する表示制御ステップとを含み、検出手段による、検索ステップは、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が、現時点以前の期間Ｘに所定の閾値Ａ以下であり、且つ、現時点以前の期間Ｘよりも長い期間Ｙに異なる２以上のテキストデータにおいて所定の閾値Ｂ以上であるものを検索する。
【００１４】
本発明のプログラム格納媒体は、コンピュータを、１以上の既存のテキストデータから、少なくとも日時情報を含む属性情報を抽出し、抽出した属性情報に含まれる各項目の情報の共通性に基づいて既存のテキストデータをグループ化するテキストデータグループ化手段と、グループ化された既存のテキストデータに含まれる各キーワードに対し、キーワードの出現頻度または複数の既存のテキストデータに亘る分布情報の少なくとも一方に基づいて重要度を算出する算出手段と、グループ化された既存のテキストデータに含まれるキーワードの中から、算出された重要度に基づいて検索用キーワードを選択する選択手段と、選択された検索用キーワードに関連する関連情報を取得する取得手段と、グループ化された既存のテキストデータを属性情報の日時情報に従ってソートし、既存のテキストデータそれぞれにおける各キーワードの重要度を保持するとともに、選択された検索用キーワードに取得された関連情報を対応付けたデータベースを構築する構築手段と、新たなテキストデータの出現をイベントとして検知する検知手段と、検知されたイベントに対応する新たなテキストデータからキーワードを検出する検出手段と、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が所定の条件を満たすものを検索し、検索したキーワードに対応する関連情報をデータベースから読み出す検索手段と、読み出された関連情報の表示を制御する表示制御手段として動作させるためのプログラムが格納されており、検出手段は、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が、現時点以前の期間Ｘに所定の閾値Ａ以下であり、且つ、現時点以前の期間Ｘよりも長い期間Ｙに異なる２以上のテキストデータにおいて所定の閾値Ｂ以上であるものを検索する。
【００１５】
本発明においては、１以上の既存のテキストデータが属性情報に含まれる各項目の情報の共通性に基づいてグループ化され、グループ化された既存のテキストデータに含まれる各キーワードに対し、キーワードの出現頻度または複数の既存のテキストデータに亘る分布情報の少なくとも一方に基づいて重要度が算出され、グループ化された既存のテキストデータに含まれるキーワードの中から、算出された重要度に基づいて検索用キーワードが選択される。また、選択された検索用キーワードに関連する関連情報が取得され、グループ化された既存のテキストデータが属性情報の日時情報に従ってソートされ、既存のテキストデータそれぞれにおける各キーワードの重要度が保持されるとともに、選択された検索用キーワードに取得された関連情報を対応付けたデータベースが構築される。さらに、新たなテキストデータの出現がイベントとして検知され、検知されたイベントに対応する新たなテキストデータからキーワードが検出され、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が所定の条件を満たすものが検索され、検索されたキーワードに対応する関連情報がデータベースから読み出され、その表示が制御される。なお、検索の処理では、新たなテキストデータから検出されたキーワードのうち、データベースに保持されている重要度が、現時点以前の期間Ｘに所定の閾値Ａ以下であり、且つ、現時点以前の期間Ｘよりも長い期間Ｙに異なる２以上のテキストデータにおいて所定の閾値Ｂ以上であるものが検索される。
【００２５】
【発明の実施の形態】
図１は、本発明を適用したデスクトップマスコット（以下、エージェントと記述する）をデスクトップ上に表示するアプリケーションプログラム（以下、エージェントプログラムと記述する）の機能ブロックを示している。エージェントプログラムは、例えば、パーソナルコンピュータ（詳細は図２を参照して後述する）にインストールされて実行されるものである。
【００２６】
エージェントプログラムの機能ブロックは、処理の対象となる文書の関連情報（後述）を蓄積してデータベースを構築する蓄積部１、処理の対象となる文書に対応する関連情報をユーザに提示する提示部７、および、エージェントの表示等を制御するエージェント制御部１１から構成される。
【００２７】
蓄積部１の文書取得部２は、電子メールを送受信するアプリケーションプログラム（以下、メーラ(mailer)と記述する）によって送受信した文書やワードプロセッサプログラムによって編集された文書などのうち、自己が未処理の文書を取得して文書属性処理部３および文書内容処理部４に供給する。なお、以下においては、主に、メーラにより電子メールとして送受信した文書を例として説明する。
【００２８】
文書属性処理部３は、文書取得部２から供給される文書の属性情報を抽出し、属性情報に基づき、文書をグループ化して、文書内容処理部４および文書特徴データベース作成部５に供給する。電子メールである場合、文書の属性情報としてヘッダに記述されている情報（対象となっているメールを特定するメッセージＩＤ、参照しているメールのメッセージＩＤ(References,In-Reply-To)、宛先(To,Cc,Bcc)、送信元(From)、日付(Date)）が抽出される。
【００２９】
文書内容処理部４は、文書属性処理部３でグループ化された文書の文面を抽出し、形態素解析を施してキーワード（単語）に分割し、キーワードの出現頻度、複数の文書に亘る分布状況を求め、文書のグループ毎に、キーワードの重み（文書の主旨に関係する程度を示す値）を演算する。重みの演算には、例えば、tf・idf法(Salton,G.:Automatic Text Processing:The Transformation,Analysis, and Retrieval of Information by Computer,Addison-Wesley,1989)等を用いる。ただし、広範囲に亘って分布している単語、すなわち、例えば、ほぼ全ての文書に含まれている「よろしく」、「お願いします」等の単語は、キーワードには成り得ないので除外する。
【００３０】
文書特徴データベース作成部５は、文書属性処理部３でグループ化された文書毎に、各文書の属性情報と、文書内に含まれる全てのキーワードの重みをデータベース化してハードディスクドライブなどよりなる記憶部２９（図２）に記録する。文書特徴データベース作成部５はまた、キーワードの重みに基づき、検索用のキーワード（重要語）を選択して記録する。文書特徴データベース作成部５はさらに、検索用のキーワードを関連情報検索部６に供給し、それに対応して関連情報検索部６から返される関連情報を、検索用のキーワードに対応付けて記録する。
【００３１】
関連情報検索部６は、文書特徴データベース作成部５が選択して記録した検索用のキーワードの関連情報を検索し、検索結果のインデックスを文書特徴データベース作成部５に返す。キーワードの関連情報を検索するには、例えば、インタネット上の検索エンジンに用いる方法がある。この場合、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ブラウザ、メーラ、およびワードプロセッサなどのアプリケーションプログラムもインストールされており、エージェントプログラムと同様に、入力部２６に入力されるユーザからの起動コマンドに対応するCPU２１の指令によって、記憶部２９からRAM２３にロードされて実行される。
【００４０】
次に、エージェントプログラムのデータベース作成処理について、図３のフローチャートを参照して説明する。このデータベース作成処理は、エージェントプログラムが実行する処理のうちの１つであり、エージェントプログラムが実行された場合において、データベースが作成されていないときに開始される。
【００４１】
ステップＳ１において、文書取得部２は、未処理の文書（例えば、前回のデータベース作成処理が終了された以降に送受信された電子メール）を、記録部２９に内蔵されるハードディスクドライブから取得して文書属性処理部３および文書内容処理部４に供給する。
【００４２】
ステップＳ２において、文書属性処理部３は、文書取得部２から供給された電子メールの文書から属性情報（メッセージＩＤ等のヘッダ情報）を抽出し、属性情報に基づき、文書をグループ化して、文書内容処理部４および文書特徴データベース作成部５に供給する。
【００４３】
ステップＳ３において、文書内容処理部４は、文書属性処理部３でグループ化された文書の本文のテキストデータを抽出し、形態素解析を施し、キーワードとして抽出する。ステップＳ４において、文書内容処理部４は、キーワードの出現頻度、複数の文書に亘る分布状況を求め、文書のグループ毎にキーワードとなる単語の重みを、例えばtf・idf法を用いて演算する。
【００４４】
ステップＳ５において、文書特徴データベース作成部５は、文書属性処理部３でグループ化された文書毎に、各文書の属性情報と文書内に含まれる全てのキーワードの重みをデータベース化する。具体的には、図４に示すように、グループ化された文書を時系列順にソートした後、グループ化された文書に含まれる全キーワード１乃至ｎの重みも時系列順にソートして記憶部２９に記録する。ここで、図４においては、例えば、重みＡ１は、文書Ａにおけるキーワード１の重みの値を示し、重みＢ２は、文書Ｂにおけるキーワード２の重みの値を示している。さらに例えば、文書Ｂにキーワード１が含まれていない場合、重みＢ１は０となる。
【００４５】
ステップＳ６において、文書特徴データベース作成部５は、重みが所定の閾値以上であるキーワードを検索用キーワード（重要語）に選択し、または、重みが大きい順に指定した個数のキーワードを選択し、関連情報検索部６に供給する。
関連情報検索部６は、文書特徴データベース作成部５からの検索用キーワードを検索条件として、インタネット上の検索エンジンにアクセスして検索結果を取得し、得られたWebページのURLやタイトルを関連情報として文書特徴データベース作成部５に出力する。
【００４６】
ステップＳ７において、文書特徴データベース作成部５は、関連情報検索部６からの関連情報を検索用キーワードに対応付けて記憶部２９に記録することにより、データベースを作成する。なお、ステップＳ６の処理とステップＳ７の処理は、ステップＳ５までの一連の処理に継続して実行する場合と、一連の処理に継続せず、所定のタイミングにおいて実行する場合がある。
【００４７】
以上のように、データベース作成処理が所定の頻度で実行されることにより、送受信した電子メールの文書に対応した関連情報がデータベース内に蓄積されることになる。なお、データベース作成処理を任意のタイミングで開始させることも可能である。さらに、このようにして作成されたデータベースは、所定の条件が満たされたときに更新される（更新のタイミングについては、図９および図１０を参照して後述する）。
【００４８】
ところで、当該データベース作成処理をユーザが強制的に中断することができるようにするために、中断要求があった場合、中断された時点で処理済みの文書を記録し、再開要求があった場合、未処理の文書から処理を再開するようにする。
【００４９】
次に、エージェントプログラムの関連情報提示処理について、図５のフローチャートを参照して説明する。この関連情報提示処理は、上述したデータベース作成処理とは異なり、エージェントプログラムが実行されている間、繰り返して実行される。
【００５０】
ステップＳ１１において、エージェントプログラムの終了が指示されたか否かが判定され、エージェントプログラムの終了が指示されていないと判定された場合、ステップＳ１２に進む。ステップＳ１２において、イベント抽出部８は、イベント発生（電子メールの送受信の終了等）を監視する。イベント発生が検知されない場合、ステップＳ１１に戻り、それ以降の処理が繰り返される。ステップＳ１２において、イベント発生が検知された場合、ステップＳ１３に進む。
【００５１】
ステップＳ１３において、イベント抽出部８は、イベント発生をデータベース問い合わせ部９に通知する。データベース問い合わせ部９は、イベント抽出部８からのイベント発生の通知に対応して、イベント発生に対応する文書（送受信された電子メール）を取得し、当該文書から属性情報を抽出する。ステップＳ１４において、データベース問い合わせ部９は、当該文書からキーワードを抽出する。
【００５２】
ステップＳ１５において、データベース問い合わせ部９は、ステップＳ１３の処理で抽出した属性情報と、ステップＳ１４の処理で抽出したキーワードを検索条件として、文書特徴データベース作成部５が作成したデータベースを検索し、合致するものを抽出する。さらに、データベース問い合わせ部９は、検索結果として抽出したもののうち、キーワードの重みの時系列推移に着目して、以下に示す条件１および条件２を満たすキーワードを選択する。
【００５３】
キーワードの選択条件について、図６を参照して説明する。図６は、データベースに蓄積されているキーワードの重みの時系列推移の例を示している。条件１は、「キーワードの重みが、現時点以前の所定の期間Ｘ（例えば、２週間）、所定の閾値Ａ以下であること」である。条件２は、「現時点以前の所定の期間Ｙ（例えば、５週間）において、異なる２以上の文書で、キーワードの重みが所定の閾値Ｂ以上であること」である。なお、条件３「条件２における異なる２以上の文書のうち、最も古い文書と最も新しい文書が所定の期間Ｚ以上離れていること」を追加すればさらによい。
【００５４】
このような条件を用いることにより、ユーザの興味が高いと思われるキーワードを選択することが可能となる。特に、条件１によって、現時点に近い文書に含まれるキーワードは除外されるので、ユーザが現時点で意識していると思われる関連情報（新しすぎる情報）を改めて選択することを避けることができ、且つ、かなり以前の文書に含まれるキーワードも除外されるので、ユーザが現時点で思い出すことができないと思われる関連情報（古すぎる情報）を改めて選択することを避けることもできる。
【００５５】
データベース問い合わせ部９は、このようにして選択したキーワードに対応する関連情報を、イベント抽出部８を介して関連情報提示部１０に供給する。
【００５６】
図５に戻り、ステップＳ１６において、エージェント制御部１１は、ステップＳ１５の処理で選択したキーワードが含まれている文書の属性情報を、選択した理由として表示させるとともに、対応する関連情報を表示するか否かをユーザに問う入力ウィンドウ６１（図１７）をデスクトップに表示させる。
【００５７】
なお、入力ウィンドウ６１を表示させず、直接、デスクトップ上に関連情報を表示させるようにしてもよい。
【００５８】
ステップＳ１７において、ステップＳ１６の処理で表示された入力ウィンドウ６１に呼応して、ユーザが「見る」ボタンを選択したか否かが判定される。ユーザが「見る」ボタンを選択したと判定された場合、ステップＳ１８に進む。
【００５９】
ステップＳ１８において、関連情報提示部１０は、イベント抽出部８を介してデータベース問い合わせ部９から供給された関連情報をデスクトップに表示させる。
【００６０】
なお、関連情報として表示される情報は、キーワードが付与された所定のデータベースに蓄積された情報であれば、Webページのタイトルでなくてもかまわない。例えば、所定のデータベースに蓄積されている情報のインデックスを表示するようにして、ユーザのアクセス指令に対応して、当該インデックスの更に詳細な情報を表示させるようにしてもよい。
【００６１】
ステップＳ１９において、ステップＳ１８の処理により関連情報として表示されたWebページのタイトルに対して、ユーザがアクセスを指令したと判定された場合、ステップＳ２０に進む。ステップＳ２０において、WWWブラウザが起動され、当該Webページへのアクセスが行われる。
【００６２】
ステップＳ１９において、ステップＳ１８の処理により関連情報として表示されたWebページのタイトルに対して、ユーザが記録を指令したと判定された場合、ステップＳ２１に進む。ステップＳ２１において、当該WebページのタイトルおよびURLはスクラップ帳ウィンドウ５４（図２０）に記録される。なお、ステップＳ１９において、ステップＳ１８の処理により関連情報として表示されたWebページのタイトルに対して、ユーザから何の指令もなされずに所定の時間が経過したと判定された場合、ステップＳ２０またはステップＳ２１の処理はスキップされて、ステップＳ１１に戻る。
【００６３】
なお、ステップＳ１７において、ユーザが「見る」ボタンを選択しないと判定された場合、ステップＳ１８乃至ステップＳ２１の処理はスキップされて、ステップＳ１１に戻る。
【００６４】
ここで、関連情報提示処理に関して、イベント発生に対応する電子メールを効率よく取得する手法について説明する。まず、大多数のメーラがメールの保持形式に関し、次のような４つの特徴を有していることに着目する。第１に、メーラにおける１つのフォルダは、パーソナルコンピュータにおける１つのメールボックスファイルに対応していること。第２に、新たに受信したメールは、特定のフォルダに格納されるようになっており、パーソナルコンピュータでは当該フォルダに対応するファイルの末尾に追加され、このとき、１つのファイルには一般に複数のメールが含まれるので、メールとメールとの境界に、特定の文字列パターン（メーラによって異なる）からなる行が挿入されていること。第３に、送信したメールの記録も、同様の形式で特定のファイルに保存されること。第４に、一般に、送受信したメールが含まれるファイルはサイズが大きいこと（数百KB乃至１MB）。
【００６５】
以上の第１乃至第４の特徴を考慮して、次に手順によってイベント発生に対応するメールを取得する。始めに、メールボックスファイルの更新日時を検出し、新たなメールが追加されたか否かを判断する。次に、新たにメールが追加されたメールボックスファイルを末尾から先頭方向に１行ずつ操作して、メールとメールとの境界を示す特定の文字列を検出する。境界を示す文字列を検出した場合、その位置からメールボックスファイルの末尾までデータを抽出する。
【００６６】
このような手法を用いることにより、イベント発生に対応する電子メールを効率的に取得することが可能となる。
【００６７】
次に、関連情報提示処理に関して、同一のメールに対して何度も関連情報を提示しないようにする手法について説明する。まず、関連情報を提示したメールのメッセージＩＤを記録するためのデータ構造を設定する。そして、イベントが発生した場合、当該イベントに対応するメールのメッセージＩＤを取得して、設定したデータ構造と比較する。当該データ構造の中に同じメッセージＩＤがある場合、当該メールに対しては既に関連情報を提示しているので、関連情報を提示しない。当該データ構造の中に同じメッセージＩＤがない場合、当該メールに対しては関連情報を提示していないので関連情報を提示し、メッセージＩＤを当該データ構造に記録する。
【００６８】
このような手法を用いることにより、同一のメールに対して何度も関連情報を提示するような事態の発生を抑止することが可能となる。
【００６９】
次に、関連情報提示処理のうち、ステップＳ１７乃至ステップＳ２１の処理に関連するエージェントの動作および台詞等について、図７および図８のフローチャートに従って説明する。なお、以下に説明する各ステップの処理のうち、エージェントの動作および台詞等の処理については、主に、機能ブロックのうちのエージェント制御部１１が実行する。
【００７０】
例えば、エージェントプログラムが起動されている状態においてメーラが起動された場合、ステップＳ３１において、図１１に示すように、メーラのウィンドウ（以下、メーラウィンドウと記述する）５１の表示と重畳しない位置に、エージェント５２が登場する（表示される）。
【００７１】
なお、エージェント５２の登場は、例えば、図１２（Ａ）乃至図１２（Ｄ）に示す画像が順次表示されることによって、エージェントが前転しながらデスクトップ上に出現する動画が表現される。エージェント５１の登場とともに、エージェント５２の台詞として吹き出し５３と、保存されている関連情報が一覧表示されているスクラップ帳ウィンドウ５４（後述）が表示される。吹き出し５３の中には、例えば、図１３に示すように、登場の挨拶「おはよう、SAITOさん！」と、自己紹介「ぼく、alfだよ。」の台詞が表示される。
【００７２】
また、吹き出し５３の表示と同期して、吹き出し５３に表示された台詞と同じ意味を持つ他の言語（例えば、英語の場合、”Good morning,SAITO”、”I'm Alf”）の音声信号が音声合成部（不図示）によって合成されて出力される。なお、吹き出し５３に表示された言語（いまの場合、日本語）と音声信号の言語（いまの場合、英語）を同じ言語に統一してもよい。なお、以降に表示される吹き出し５３にも対応する音声信号が同期して出力される。
【００７３】
その後、エージェント５２の表示は、ステップＳ３２において、例えば、図１４に示すように、待機中の様子（手を後に組み、つま先を上下させる）を示す動画に推移する。
【００７４】
ステップＳ３３において、メーラが終了されたか否かが判定される。メーラが終了されていないと判定された場合、ステップＳ３４に進む。ステップＳ３４において（上述した図５のステップＳ１２に対応する）、メーラに対してユーザから何らかのコマンド（メールの送受信、メールの編集、あるいは関連情報の編集等）が入力されたか否かが判定される。何らかのコマンドが入力されたと判定された場合、ステップＳ３５に進む。メーラはコマンドに対応する処理を開始する。
【００７５】
ステップＳ３５において、入力されたコマンドが判定される。メールの送信、受信、または編集のコマンドが入力されたと判定された場合、ステップＳ３６に進む。
【００７６】
ステップＳ３６において、エージェント５２の表示は、待機中の様子から、図１５に示すように、作業中の様子（手足を激しく移動する）を示す動画に推移する。この間、図５のステップＳ１３乃至Ｓ１５の処理（ユーザに推薦する関連情報を選択する処理）が実行される。
【００７７】
ステップＳ３７において、コマンドに対応して開始されたメーラの処理（例えば、メール送信など）が継続中であるか否かが判定され、メーラの作業中の処理が終了するまで待機される。待機の間、エージェント５２の表示は作業中の状態である。メーラの処理が継続中ではない、すなわち、コマンドに対応して開始されたメーラの処理が終了したと判定された場合、ステップＳ３８に進む。
【００７８】
ステップＳ３８において、再度、メーラが終了されたか否かが判定される。メーラが終了されていないと判定された場合、ステップＳ３９に進む。
【００７９】
ステップＳ３９（図５のステップＳ１６に対応する）において、エージェント５２の吹き出し５３には、先程までのメーラの処理がメール送信であった場合、例えば、「今、Ａさんにメール送ったけど、某月某日にＡさんと（タイトル）について話してたよね。その中にでてきた（キーワード）について、関連するページを見つけたよ。見てみる？」と表示される。
【００８０】
また例えば、先程までのメーラの処理がメール受信であった場合、台詞の前半が「今、Ａさんからメールがきたけど」となり、先程までのメーラの処理がメールの編集であった場合、台詞の前半が「今、Ａさんにメール書いてるけど」となる。
【００８１】
なお、「某月某日にＡさんと（タイトル）について話してたよね。」の部分が当該関連情報が選択された理由に相当するが、関連情報の選択理由の表示を、ステップＳ３９において実行せずに、後述するステップＳ４２の処理（関連情報の表示）の後に表示するようにしてもよい。また、関連情報の選択理由の表示をユーザの指示により任意のタイミングで実行するようにしてもよい。
【００８２】
吹き出し５３に隣接する位置には、図１６に示すように、入力ウィンドウ６１が表示される。入力ウィンドウ６１には、図１７に示すように、関連情報の表示を指示するときに選択する「見る」ボタン、関連情報を表示させない時に選択する「見ない」ボタン、関連情報が選択された背景（選択理由）の再表示を指示するときに選択する「背景をもう一度教えて」ボタンが表示される。
【００８３】
入力ウィンドウ６１が表示された状態で、ステップＳ４０において、エージェント５２の表示は、図１４に示した待機中の様子を示す動画に推移し、ステップＳ４１（図５のステップＳ１７に対応する）において、入力ウィンドウ６１の中の「見る」ボタン、「見ない」ボタン、または「背景をもう一度教えて」ボタンのいずれがユーザにより選択されたかが判定される。入力ウィンドウ６１の「見る」ボタンが選択されたと判定された場合、ステップＳ４２に進む。
【００８４】
ステップＳ４２（図５のステップＳ１８に対応する）において、図１８および図１９に示すように、関連情報として推薦URL７１が表示され、エージェント５２の表示は、表示された推薦URL７１を指し示す動画に推移する。吹き出し５３には、台詞「どう？」が表示される。推薦URL７１には、通常、推薦されるWebページのタイトルが表示され、推薦URL７１の上にマウスカーソルが置かれたときだけURLも重畳して表示される。推薦URL７１は、マウスカーソルでドラッグすることにより移動可能である。
【００８５】
ステップＳ４３（図５のステップＳ１９に対応する）において、表示した推薦URL７１に対するユーザのコマンドが検出される。複数表示される個々の推薦URL７１に対するユーザのコマンドとしては、記録、アクセス、消去等がある。
【００８６】
推薦URL７１に対する記録コマンドは、例えば、記録する推薦URL７１をスクラップ帳ウィンドウ５４までドラッグアンドドロップする方法や、マウスで右クリックし、表示されるメニューの中から記録を選択する方法などが考えられる。アクセスコマンドや消去コマンドについても同様に、WWWブラウザのアイコンやゴミ箱のアイコンにドラッグアンドドロップする方法や、マウスで右クリックし、表示されるメニューの中から選択する方法、あるいはクリッカブルにする方法などが考えられる。
【００８７】
ステップＳ４３で、推薦URL７１に対する記録コマンドが検出された場合、ステップＳ４４（図５のステップＳ２１に対応する）において、エージェント５２の表示は、図１８に示すように頷く動作に推移する。スクラップ帳ウィンドウ５４の中に、記録が指示された推薦URL７１に対応するWebページのタイトルが追加される。
【００８８】
また、ステップＳ４３で、推薦URL７１に対するアクセスコマンドが検出された場合、ステップＳ４４（図５のステップＳ２０に対応する）において、エージェント５２の表示は、図２１（Ａ）および図２１（Ｂ）に示すように、笑顔となって喜ぶ様子に推移する。吹き出し５３には、「わーい」と表示され、対応する音声信号が出力される。
【００８９】
また、ステップＳ４３で、推薦URL７１に対する消去コマンドが検出された場合、ステップＳ４４において、エージェント５２の表示は、図２０（Ａ）および図２２（Ｂ）に示すように、泣き顔となって悲しみ失望した様子に推移する。吹き出し５３には、「だめかぁ」と表示され、対応する音声信号が出力される。
【００９０】
ステップＳ４４の処理が終了した後、ステップＳ３２に戻り、それ以降の処理が繰り返される。
【００９１】
なお、ステップＳ４１において、入力ウィンドウ６１の「見ない」ボタンが選択されたと判定された場合、ステップＳ３２に戻り、それ以降の処理が繰り返される。また、ステップＳ４１において、入力ウィンドウ６１の「背景をもう一度教えて」ボタンが選択されたと判定された場合、ステップＳ３９に戻り、ステップＳ３９乃至Ｓ４１の処理が繰り返される。
【００９２】
ステップＳ３８において、メーラが終了されたと判定された場合、ステップＳ４５に進む。ステップＳ４５において、吹き出し５３には、「え、そんなぁ」と表示され、対応する音声信号が出力される。ステップＳ４６において、エージェント５２の表示は消失される（図２７を参照して後述する）。
【００９３】
ステップＳ３５において、関連情報の編集を指示するコマンドが入力されたと判定された場合、ステップＳ４７に進む。ステップＳ４７において、関連情報編集用ウィンドウ（不図示）が表示され、エージェント５２の表示は、待機中の様子から、図１９と同様に、関連情報編集用ウィンドウを指し示す様子に推移する。その後、ユーザが関連情報編集用ウィンドウに対して編集のための入力を開始すると、ステップＳ４８において、エージェント５２の表示は、関連情報編集用ウィンドウを指し示す様子から、図１５に示した作業中の様子を示す動画に推移する。
【００９４】
ステップＳ４９において、関連情報編集処理が継続中であるか否かが判定され、関連情報編集処理が終了するまで待機する。この待機の間、エージェント５２の表示は作業中の状態である。関連情報編集処理が継続中ではない、すなわち、関連情報編集処理が終了したと判定された場合、ステップＳ５０に進む。
【００９５】
ステップＳ５０において、エージェント５２の表示は、図２０と同様に、頷く様子に推移する。吹き出し５３には、「変更したよ」と表示され、対応する音声信号が出力される。この後、ステップＳ３２に戻り、それ以降の処理が繰り返される。
【００９６】
ステップＳ３４において、メーラに対してユーザから何らかのコマンドが入力されない状態が所定の時間以上継続した場合、ステップＳ５１に進む。ステップＳ５１において、エージェント５２の表示は、所定の時間が経過する毎に、移動の状態、遊びの状態、睡眠の状態に順次推移する。この待機中の処理の詳細について、図８のフローチャートを参照して説明する。
【００９７】
ステップＳ６１において、エージェント５２の表示は、図１４に示した待機中の状態から、図２３または図２４に示した画像を用いて表現される移動の状態に推移する。
【００９８】
エージェント５２の移動は、表示されているウィンドウと重畳しないようにデスクトップ上を横方向あるいは縦方向に行われる。なお、アクティブであるウィンドウ（いまの場合、メーラウィンドウ５１）を検出して、その周囲を横方向あるいは縦方向に行うようにしてもよい。エージェント５２がデスクトップ上を横方向（例えば、右方向）に移動するときには、例えば図２３（Ａ）乃至図２３（Ｄ）に示す画像が順次用いられることにより、いわゆるワープしたかのような動画表現が実現される。具体的には、エージェント５２の表示は、移動開始位置において、図２３（Ａ）に示すように、体の向きが移動する方向とされ、その後、指向している方向にジャンプすると、図２３（Ｂ）に示すように、頭部から順に消滅して行く。そして、移動終了位置において、図２３（Ｃ）に示すように、脚部から順に表示されて、最終的には、図２３（Ｄ）に示すように全身が表示される。
【００９９】
エージェント５２がデスクトップ上を上下方向に移動するときには、例えば図２４（Ａ）乃至図２４（Ｇ）に示す画像が順次用いられる。すなわち、エージェント５２は、移動開始位置において、図２４（Ａ）に示すように、自身の尻尾（先端がコンセントプラグの形状をしている）を手で握り、図２４（Ｂ）に示すように、尻尾の先端を頭上付近に差し込む。この後、エージェント５２の表示は、図２４（Ｃ）、図２４（Ｄ）に順次示すように、体の下部から徐々にロープに変身し、図２４（Ｅ）に示すように、１本のロープになってその状態で移動終了位置まで移動する。移動終了位置においては、図２４（Ｆ）、図２４（Ｇ）に順次示すように、頭部から順に復元されて、最終的に全身が表示される。
【０１００】
このように、エージェント５２の移動を、いわゆるワープによって表現したり、１本のロープに変身させて表現したりすることにより、移動中を表現するために使われるリソース（メモリなど）の量を軽減させることが可能となる。
【０１０１】
図８に戻り、ステップＳ６２において、イベント（メールの送受信、メールの編集、あるいは関連情報の編集等を指示するコマンドの入力）が発生したか否かが判定される。イベントが発生していないと判定された場合、ステップＳ６３に進む。
【０１０２】
ステップＳ６３において、エージェント５２の表示が移動の状態に推移した後、所定の時間が経過したか否かが判定され、所定の時間が経過したと判定されるまで、ステップＳ６２およびステップＳ６３の処理が繰り返される。ステップＳ６３において、所定の時間が経過したと判定された場合、ステップＳ６４に進む。
【０１０３】
ステップＳ６４において、エージェント５２の表示は、移動の状態から、例えば図２５に示す画像で表現される遊びの状態に推移する。図２５（Ａ）は、エージェント５２が蛇と戯れている状態を示しており、図２５（Ｂ）は、エージェント５２が尻尾の先端を上方に差し込み、そこを支点としてぶら下がり揺れている状態を示している。
【０１０４】
ステップＳ６５において、イベントが発生したか否かが判定される。イベントが発生していないと判定された場合、ステップＳ６６に進む。ステップＳ６６において、エージェント５２の表示が遊びの状態に推移した後、所定の時間が経過したか否かが判定され、所定の時間が経過したと判定されるまで、ステップＳ６５およびステップＳ６６の処理が繰り返される。ステップＳ６６において、所定の時間が経過したと判定された場合、ステップＳ６７に進む。
【０１０５】
ステップＳ６７において、エージェント５２の表示は、遊びの状態から、例えば図２６に示す画像で表現される睡眠の状態に推移する。ステップＳ６８において、イベントが発生したか否かが判定され、イベントが発生したと判定されるまで待機される。ステップＳ６８において、イベントが発生したと判定された場合、図７のステップＳ３５にリターンし、それ以降の処理が実行される。
【０１０６】
なお、ステップＳ６２、またはステップＳ６５において、イベントが発生したと判定された場合も同様に、図７のステップＳ３５にリターンし、それ以降の処理が実行される。
【０１０７】
また、図８のフローチャートには図示していないが、待機中の処理が実行されている最中において、メーラが終了されたと判定された場合は、ステップＳ４６にリターンする。同様に、図７のステップＳ３３において、メーラが終了されたと判定された場合はステップＳ４６に進む。
【０１０８】
ステップＳ４６において、エージェント５２の表示は、例えば図２７（Ａ）および図２７（Ｂ）に示す画像を用いた表現により、手を振りながら背を向けて遠方に立ち去り、その姿が徐々に小さくなってやがて消失する。
【０１０９】
なお、エージェント５２の消去とともに、吹き出し５３、スクラップ帳ウィンドウ５４、および推薦URL７１等の表示も消去される。
【０１１０】
以上のように、本発明によれば、電子メール等の文書からキーワードを抽出し、関連情報を推薦する一連の処理に対応して、エージェントが動作するので、エージェント５２に対して信頼性が感じられるようになる。
【０１１１】
ところで、上述したエージェントの動作および吹き出しの中の台詞の表示、並びに、表示された台詞に対応する音声信号の出力については、本発明のエージェントプログラムだけでなく、他のアプリケーション、例えば、ゲームやワードプロセッサのヘルプ画面等に適用することが可能である。さらに、テレビジョン受像機、ビデオカメラ、カーナビゲーション等のディスプレイに表示されるキャラクタに適用することも可能である。
【０１１２】
また、同一のパーソナルコンピュータを複数のユーザが操作する場合、エージェントの種類を複数用意して、ユーザ毎に表示されるエージェントの種類を違えるようにしてもよい。さらに、同一のユーザが複数のパーソナルコンピュータ上で当該エージェントプログラムを利用する場合、異なるパソコン上においても同じエージェントが表示されるようにしてもよい。
【０１１３】
次に、蓄積部１によるデータベースの作成、更新のタイミングについて説明する。データベースは、図３のフローチャートを参照して上述したように作成されるが、次のような第１乃至第３の状況になった場合、データベースの更新が必要である。
【０１１４】
すなわち、第１の状況として、データベースが作成または更新されてから所定の期間が経過している場合、データベース内の関連情報が古くなってしまうので更新が必要である。第２の状況として、データベースに蓄積されている関連情報のうちの所定の割合が提示済みとなった場合、データベース内の関連情報を繰り返し提示してしまったり、提示する関連情報が不足してしまうので更新が必要である。第３の状況として、特徴抽出に用いた文書が、例えば電子メールである場合、電子メールの送受信を繰り返していると、その文書の内容が変化するので更新が必要である。
【０１１５】
なお、データベースの更新が必要である状況になった場合、ユーザに対して更新を指示するように促すこともできるし、ユーザに対する促しを実行せずに、自動的にデータベースを実行するように設定することも可能である。また、ユーザが指定する任意のタイミングで更新することも可能である。
【０１１６】
前記第１乃至第３の状況を考慮したデータベース更新処理について、図９のフローチャートを参照して説明する。このデータベース更新処理は、エージェントプログラムが実行する処理のうちの１つであり、エージェントプログラムの起動とともに開始され、エージェントプログラムが終了されるまで繰り返し実行される。
【０１１７】
ステップＳ８１において、既にデータベースを作成済みであるか否かが判定される。データベースを作成済みであると判定された場合、ステップＳ８２に進み、データベースを作成済みではないと判定された場合、ステップＳ８６（図３のデータベース作成処理に相当する）。
【０１１８】
ステップＳ８２において、作成済みのデータベースは更新が必要であるか否かを判断され、更新が必要であると判断されるまで待機する。この判断基準は、例えば、図１０に示すようなユーザインタフェースの画面を用いて予めユーザが設定するものとする。図１０の例では、４つの条件が示されており、左端の□がユーザによってチェックされた場合、対応する条件が有効となる。なお、１番目の条件では回数が設定可能とされており、３番目の条件では日数が設定可能とされている。
【０１１９】
ステップＳ８２において、更新が必要であると判断された場合、ステップＳ８３に進む。ステップＳ８３において、データベースを自動的に更新するように設定されているか否かが判定される。自動的に更新するように設定されていないと判定された場合、ステップＳ８４に進む。反対に、ステップＳ８３において、自動的に更新するように設定されていると判定された場合、ステップＳ８４はスキップされる。
【０１２０】
ステップＳ８４において、データベースの更新が必要である旨がユーザに通知され、さらに、当該通知に対応して、ユーザから更新の指示がなされたか否かが判定される。ユーザから更新の指示がなされたと判定された場合、ステップＳ８５に進む。反対に、ステップＳ８４において、ユーザから更新の指示がなされないと判定された場合、ステップＳ８２に戻り、それ以降の処理が繰り返される。
【０１２１】
ステップＳ８５において、既に作成されているデータベースが更新される。具体的には、新たに追加された文書や内容が変更された文書が選別され、選別された文書から特徴抽出が行われて分析結果が蓄積され、分析結果が用いられて関連情報が検索される。
【０１２２】
より具体的には、文書取得部２乃至文書内容処理部４によって、電子メールのメールボックスファイル（例えば、mbx等の拡張子が付加されていることが多い）を検出し、その更新日時を取得して、以前に取得した更新日時と比較して、異なる日付であれば、ファイルが更新されていると判断され、追加または変更された部分が抽出される。この場合、メールのグループ化、ヘッダの解析、形態素解析、特徴ベクトル算出等、一連のファイル内の分析が行われ、得られる検索語が関連情報検索部６に供給される。
【０１２３】
ただし、メールグループが変化せず、分析の結果、更新以前の検索語と更新後の検索語が同じであれば、重み等の計算値だけを変更し、関連情報検索部６による関連情報の検索を実行しないようにしてもよい。また、関連情報をインタネット等のネットワーク上で検索する場合、ネットワークに接続されているか否かが検出され、ネットワークに接続されていない場合、関連情報の検索を行わず、それ以後、ネットワークに接続されたときに関連情報を検索するか否かをユーザに問うようにしてもよい。
【０１２４】
「同じ関連情報を何度も推薦（提示）しないようにするために、あるメールグループの関連情報を、所定の回数以上推薦したら更新が必要と判断する」との条件に関連して、取得したメールと類似性の高いメールグループを選択する際に、同じメールグループから何度も推薦を行わないように、次のような処理を行う。
【０１２５】
メールグループ自体に推薦の優先度の順位を付与し（例えば、メールグループ内での特徴語の重みの最大値を当該メールグループの優先度の値とし、優先度の値を降順に並べたものを優先度の順位として付与する）、一度推薦を行ったメールグループを優先順位の最後尾に並び替えるようにする。このようにすることによって、類似度の範囲内にあるメールグループでも、同じメールグループから推薦する頻度が減少する。また、優先順位の変更だけなので、関連情報を大量に検索して準備しておけば、なるべく同じメールグループからの推薦が減り、且つ、情報自体も不足することなく用いることができる。
【０１２６】
これに関連して、特徴抽出に用いる文書の量に応じて、類似文書を抽出する際の範囲を変化させることができるようにする。具体的には、特徴抽出する文書量または文書のデータサイズに応じて何段階かの類似度の範囲を設定する。例えば、文書量が１０ファイル以内である場合は類似度を０．０１以上、１１ファイル以上５０ファイル未満の場合は類似度を０．０３以上、５１ファイル以上である場合は類似度を０．０５以上とする。または、文書の容量が５００Kb以内である場合は類似度を０．０１以上、５００Kb以上である場合は類似度を０．０２以上とする。
【０１２７】
そして、事前に設定された範囲の文書のうち、優先度の高い文書から検索された関連情報を提示するようにする。このようにすると、文書量の減少により、データベースの内容が更新されると、類似度の範囲が変化し、類似度の範囲が狭すぎて関連情報が不足したり、反対に、類似度の範囲が広すぎてユーザにとってあまり関連性が明確でない関連情報が提示されるような事態の発生を抑止することが可能となる。
【０１２８】
以上説明したように、データベース更新処理においては、追加された文書や変更された文書だけを処理の対象とするので、データベース作成処理を再度実行する場合に比べて、処理時間が短縮される。
【０１２９】
なお、本発明のエージェントプログラムは、上述したようにメーラによって送受信される文書やワードプロセッサプログラムで編集される文書の他、例えば、チャット、電子ニュース、電子掲示板等の文書や音声信号をテキスト化した文書など、属性情報としてタイムスタンプが付与されている文書に対応して動作するようにさせることができる。
【０１３０】
次に、本発明のプログラム格納媒体について説明する。上述した一連の処理は、ハードウェアにより実行させることもできるが、通常、ソフトウェアにより実行させる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１３１】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図２に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク３２（フロッピディスクを含む）、光ディスク３３（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク３４（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリ３５などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納されるROM２２や記憶部２９を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インタネット、ディジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１３２】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３３】
【発明の効果】
以上のように、本発明によれば、自動的にデータベースを構築し、且つ、送受信などの対象とした文書に関連する関連情報をユーザに提示することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したエージェントプログラムの機能ブロックの一構成例を示す図である。
【図２】エージェントプログラムをインストールして実行させるパーソナルコンピュータの構成例を示すブロック図である。
【図３】エージェントプログラムのデータベース作成処理を説明するフローチャートである。
【図４】図３のステップＳ５の処理を説明するための図である。
【図５】エージェントプログラムの関連情報提示処理を説明するフローチャートである。
【図６】図５のステップＳ１５の処理を説明するための図である。
【図７】エージェントの動作等を説明するフローチャートである。
【図８】図７のステップＳ５１の待機中の処理の詳細を説明するフローチャートである。
【図９】エージェントプログラムのデータベース更新処理を説明するフローチャートである。
【図１０】データベースを更新させる条件を入力するユーザインタフェースの表示例を示す図である。
【図１１】デスクトップ上に表示されたエージェント５２の表示例を示す図である。
【図１２】エージェント５２が登場するときの表示例を示す図である。
【図１３】エージェント５２の台詞である吹き出し５３の表示例を示す図である。
【図１４】エージェント５２が待機中であるときの表示例を示す図である。
【図１５】エージェント５２が作業中であるときの表示例を示す図である。
【図１６】デスクトップ上に表示された入力ウィンドウ６１の表示例を示す図である。
【図１７】入力ウィンドウ６１の表示例を示す図である。
【図１８】デスクトップ上に表示された推薦URL７１の表示例を示す図である。
【図１９】エージェント５２が指示中であるときの表示例を示す図である。
【図２０】デスクトップ上に表示されたスクラップ帳ウィンドウ５４の表示例を示す図である。
【図２１】エージェント５２が喜びの状態であるときの表示例を示す図である。
【図２２】エージェント５２が悲しみの状態であるときの表示例を示す図である。
【図２３】エージェント５２が横方向に移動するときの表示例を示す図である。
【図２４】エージェント５２が縦方向に移動するときの表示例を示す図である。
【図２５】エージェント５２が遊びの状態であるときの表示例を示す図である。
【図２６】エージェント５２が睡眠の状態であるときの表示例を示す図である。
【図２７】エージェント５２が立ち去るときの表示例を示す図である。
【符号の説明】
１  蓄積部，  ２  文書取得部，  ３  文書属性処理部，  ４  文書内容処理部，  ５  文書特徴データベース作成部，  ６  関連情報検索部，  ７  提示部，  ８  イベント抽出部，  ９  データベース問い合わせ部，  １０  関連情報提示部，  １１  エージェント制御部，  ３２  磁気ディスク，  ３３  光ディスク，  ３４  光磁気ディスク，  ３５  半導体メモリ，  ５２  エージェント，  ５３  吹き出し，  ５４  スクラップ帳ウィンドウ，  ６１  入力ウィンドウ，  ７１  推薦URL
【図１】
0004608740.tif 000002
【図２】
0004608740.tif 000003
【図３】
0004608740.tif 000004
【図４】
0004608740.tif 000005
【図５】
0004608740.tif 000006
【図６】
0004608740.tif 000007
【図７】
0004608740.tif 000008
【図８】
0004608740.tif 000009
【図９】
0004608740.tif 000010
【図１０】
0004608740.tif 000011
【図１１】
0004608740.tif 000012
【図１２】
0004608740.tif 000013
【図１３】
0004608740.tif 000014
【図１４】
0004608740.tif 000015
【図１５】
0004608740.tif 000016
【図１６】
0004608740.tif 000017
【図１７】
0004608740.tif 000018
【図１８】
0004608740.tif 000019
【図１９】
0004608740.tif 000020
【図２０】
0004608740.tif 000021
【図２１】
0004608740.tif 000022
【図２２】
0004608740.tif 000023
【図２３】
0004608740.tif 000024
【図２４】
0004608740.tif 000025
【図２５】
0004608740.tif 000026
【図２６】
0004608740.tif 000027
【図２７】
0004608740.tif 000028