JP4088950B2 - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents
情報処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP4088950B2 JP4088950B2 JP2001379512A JP2001379512A JP4088950B2 JP 4088950 B2 JP4088950 B2 JP 4088950B2 JP 2001379512 A JP2001379512 A JP 2001379512A JP 2001379512 A JP2001379512 A JP 2001379512A JP 4088950 B2 JP4088950 B2 JP 4088950B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- document information
- predetermined
- related information
- existing document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、例えば、電子メールに含まれる情報の中から、ユーザの興味があると思われる単語および関連情報を取得してデータベースに蓄積し、その関連情報を効果的に表示させるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
従来、パーソナルコンピュータのデスクトップ(表示画面)に、いわゆるデスクトップマスコットと呼ばれるキャラクタを表示させるアプリケーションプログラムが存在する。
【0003】
デスクトップマスコットは、例えば、電子メールの着信等をユーザに通知する機能やデスクトップ上を移動する機能などを有している。
【0004】
ところで、例えば、ユーザが、電子メールとして送信する文書等を入力している時や、受信した文書を閲覧している時などに、対象としている文書に関連する情報(以下、関連情報と記載する)を、デスクトップマスコットが提示するようになれば、ユーザによって利便性が向上するとともに、デスクトップマスコットに対して一層愛着を感じるようになると考えられる。
【0005】
そこで、例えば、特開2001−312515号公報には、電子メールなどの処理済みのテキストファイルを用いて自動的にデータベースを構築し、送受信などの対象とした文書に関連する関連情報をユーザに提示する方法が提案されている。
【0006】
【発明が解決しようとする課題】
しかしながら、上記公報の発明において、状況によっては、対象となる文書に関連する関連情報の抽出処理に時間がかかり、ユーザに対して、関連情報の提示が遅れてしまう課題があった。
【0007】
そのため、ユーザは、タイミングの悪い関連情報の提示には、興味を示さない場合があった。
【0008】
本発明はこのような状況に鑑みてなされたものであり、状況に応じて、タイミングを逸せずに関連情報を提示することができるようにするものである。
【0009】
【課題を解決するための手段】
本発明の情報処理装置は、既存の文書情報に対応付ける関連情報を取得する取得手段と、所定の文書情報に基づいて、既存の文書情報の検索方法を選択する検索方法選択手段と、検索方法選択手段により選択された検索方法に基づいて、所定の文書情報に関連する既存の文書情報を検索する検索手段と、検索手段により検索された既存の文書情報に対応付けられている関連情報の表示部への表示を制御する表示制御手段とを備え、検索方法選択手段は、検索手段による検索に要する処理時間に応じて、複数の既存の文書情報のすべてについて所定の文書情報との類似度を算出し、類似度が最大になる既存の文書情報を検索する検索方法、または所定の順序リストの順番で複数の既存の文書情報のうちの1つを選択し、選択した既存の文書情報について所定の文書情報との類似度を算出し、所定の閾値以上の類似度を算出したか否かを判定することを繰り返すことにより、類似度が所定の閾値以上になる既存の文書情報を検索する検索方法を選択し、表示制御手段は、所定の文書情報に関連する検索手段により検索された既存の文書情報に対応付けられている関連情報である第1の関連情報を所定の提示順リストにリスト化し、第1の関連情報を所定の提示順リストの順番で定期的に表示部に表示させ、所定のイベント発生に対応する所定の文書情報に関連する検索手段により検索された既存の文書情報に対応付けられている関連情報である第2の関連情報を所定のイベント発生時に表示部に表示させ、第1の関連情報を表示部に表示させるタイミングと第2の関連情報を表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、第1の関連情報または第2の関連情報のいずれか一方を表示部に表示させることを特徴とする。
【0013】
複数の既存の文書情報を所定の順序リストにリスト化するリスト化手段と、リスト化手段によりリスト化された順序リストの順序を変更するリスト変更手段とをさらに設けることができ、検索手段は、リスト化手段により、順序リストにリスト化されている既存の文書情報との類似度を算出して、類似度が所定の閾値以上になる既存の文書情報を検索し、リスト変更手段は、検索手段により検索された既存の文書情報の順序リストにおける順序を変更することができる。
【0014】
所定の閾値を既存の文書量に応じて設定する閾値設定手段をさらに設けることができる。
【0015】
既存の文書情報および所定の文書情報から属性情報を抽出する属性情報抽出手段をさらに設けることができる。
【0016】
属性情報抽出手段により抽出された属性情報に基づいて、1または複数の既存の文書情報をグループ化して文書情報群を作成するグループ化手段をさらに設けることができ、取得手段は、文書情報群に対応付ける関連情報を取得し、検索手段は、所定の文書情報に関連する文書情報群を検索することができる。
【0017】
既存の文書情報の特徴語に関連付けて、取得手段により取得された関連情報を用いてデータベースを構築するデータベース構築手段をさらに設けることができ、検索手段は、データベース構築手段により構築されたデータベースから、所定の文書情報に関連する既存の文書情報を検索することができる。
【0018】
イベント発生を検知する検知手段をさらに設けることができる。
【0019】
既存の文書情報および所定の文書情報は電子メールであるものとすることができる。
【0020】
本発明の情報処理方法は、既存の文書情報に対応付ける関連情報の取得を制御する取得制御ステップと、所定の文書情報に基づいて、既存の文書情報の検索方法を選択する検索方法選択ステップと、検索方法選択ステップの処理により選択された検索方法に基づいて、所定の文書情報に関連する既存の文書情報を検索する検索ステップと、検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報の表示部への表示を制御する表示制御ステップとを含み、検索方法選択ステップの処理において、検索ステップの処理による検索に要する処理時間に応じて、複数の既存の文書情報のすべてについて所定の文書情報との類似度を算出し、類似度が最大になる既存の文書情報を検索する検索方法、または所定の順序リストの順番で複数の既存の文書情報のうちの1つを選択し、選択した既存の文書情報について所定の文書情報との類似度を算出し、所定の閾値以上の類似度を算出したか否かを判定することを繰り返すことにより、類似度が所定の閾値以上になる既存の文書情報を検索する検索方法を選択し、表示制御ステップの処理において、所定の文書情報に関連する検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報である第1の関連情報を所定の提示順リストにリスト化し、第1の関連情報を所定の提示順リストの順番で定期的に表示部に表示させ、所定のイベント発生に対応する所定の文書情報に関連する検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報である第2の関連情報を所定のイベント発生時に表示部に表示させ、第1の関連情報を表示部に表示させるタイミングと第2の関連情報を表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、第1の関連情報または第2の関連情報のいずれか一方を表示部に表示させることを特徴とする。
【0021】
本発明の記録媒体に記録されているプログラムは、既存の文書情報に対応付ける関連情報の取得を制御する取得制御ステップと、所定の文書情報に基づいて、既存の文書情報の検索方法を選択する検索方法選択ステップと、検索方法選択ステップの処理により選択された検索方法に基づいて、所定の文書情報に関連する既存の文書情報を検索する検索ステップと、検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報の表示部への表示を制御する表示制御ステップとを含み、検索方法選択ステップの処理において、検索ステップの処理による検索に要する処理時間に応じて、複数の既存の文書情報のすべてについて所定の文書情報との類似度を算出し、類似度が最大になる既存の文書情報を検索する検索方法、または所定の順序リストの順番で複数の既存の文書情報のうちの1つを選択し、選択した既存の文書情報について所定の文書情報との類似度を算出し、所定の閾値以上の類似度を算出したか否かを判定することを繰り返すことにより、類似度が所定の閾値以上になる既存の文書情報を検索する検索方法を選択し、表示制御ステップの処理において、所定の文書情報に関連する検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報である第1の関連情報を所定の提示順リストにリスト化し、第1の関連情報を所定の提示順リストの順番で定期的に表示部に表示させ、所定のイベント発生に対応する所定の文書情報に関連する検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報である第2の関連情報を所定のイベント発生時に表示部に表示させ、第1の関連情報を表示部に表示させるタイミングと第2の関連情報を表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、第1の関連情報または第2の関連情報のいずれか一方を表示部に表示させることを特徴とする。
【0022】
本発明のプログラムは、既存の文書情報に対応付ける関連情報の取得を制御する取得制御ステップと、所定の文書情報に基づいて、既存の文書情報の検索方法を選択する検索方法選択ステップと、検索方法選択ステップの処理により選択された検索方法に基づいて、所定の文書情報に関連する既存の文書情報を検索する検索ステップと、検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報の表示部への表示を制御する表示制御ステップとを含み、検索方法選択ステップの処理において、検索ステップの処理による検索に要する処理時間に応じて、複数の既存の文書情報のすべてについて所定の文書情報との類似度を算出し、類似度が最大になる既存の文書情報を検索する検索方法、または所定の順序リストの順番で複数の既存の文書情報のうちの1つを選択し、選択した既存の文書情報について所定の文書情報との類似度を算出し、所定の閾値以上の類似度を算出したか否かを判定することを繰り返すことにより、類似度が所定の閾値以上になる既存の文書情報を検索する検索方法を選択し、表示制御ステップの処理において、所定の文書情報に関連する検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報である第1の関連情報を所定の提示順リストにリスト化し、第1の関連情報を所定の提示順リストの順番で定期的に表示部に表示させ、所定のイベント発生に対応する所定の文書情報に関連する検索ステップの処理により検索された既存の文書情報に対応付けられている関連情報である第2の関連情報を所定のイベント発生時に表示部に表示させ、第1の関連情報を表示部に表示させるタイミングと第2の関連情報を表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、第1の関連情報または第2の関連情報のいずれか一方を表示部に表示させる処理を実行させる。
【0026】
既存の文書情報および所定の文書情報から属性情報を抽出する属性情報抽出ステップをさらに含むことができる。
【0027】
属性情報抽出ステップの処理により抽出された属性情報に基づいて、1または複数の既存の文書情報をグループ化して文書情報群を作成するグループ化ステップをさらに含むことができる。
【0028】
既存の文書情報の特徴語に関連付けて、取得制御ステップの処理により取得が制御された関連情報を用いてデータベースを構築するデータベース構築ステップをさらに含むことができる。
【0029】
本発明の情報処理装置および方法、並びにプログラムにおいては、既存の文書情報に対応付ける関連情報が取得され、所定の文書情報に基づいて、既存の文書情報の検索方法が選択され、選択された検索方法に基づいて、所定の文書情報に関連する既存の文書情報が検索され、検索された既存の文書情報に対応付けられている関連情報が表示部に表示される。既存の文書情報の検索方法の選択においては、既存の文書情報の検索に要する処理時間に応じて、複数の既存の文書情報のすべてについて所定の文書情報との類似度を算出し、類似度が最大になる既存の文書情報を検索する検索方法、または所定の順序リストの順番で複数の既存の文書情報のうちの1つを選択し、選択した既存の文書情報について所定の文書情報との類似度を算出し、所定の閾値以上の類似度を算出したか否かを判定することを繰り返すことにより、類似度が所定の閾値以上になる既存の文書情報を検索する検索方法が選択される。関連情報の表示部への表示制御においては、所定の文書情報に関連する検索された既存の文書情報に対応付けられている関連情報である第1の関連情報が所定の提示順リストにリスト化され、第1の関連情報が所定の提示順リストの順番で定期的に表示部に表示され、所定のイベント発生に対応する所定の文書情報に関連する検索された既存の文書情報に対応付けられている関連情報である第2の関連情報が所定のイベント発生時に表示部に表示され、第1の関連情報を表示部に表示させるタイミングと第2の関連情報を表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、第1の関連情報または第2の関連情報のいずれか一方が表示部に表示される。
【0030】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【0031】
図1は、本発明を適用したデスクトップマスコット(以下、エージェントと記載する)をデスクトップ上に表示するアプリケーションプログラム(以下、エージェントプログラムと記載する)、電子メールを送受信するアプリケーションプログラム(以下、メーラ(mailer)2と記載する)、および、文書作成または編集するワードプロセッサプログラム3の機能を説明する図である。エージェントプログラム1乃至ワードプロセッサ3は、例えば、パーソナルコンピュータ(詳細は、図2を参照して後述する)にインストールされて実行されるものである。
【0032】
エージェントプログラム1は、処理の対象となる文書の関連情報(後述)を蓄積してデータベースを構築する蓄積部11、処理の対象となる文書に対応する関連情報をユーザに提示する提示部12、および、エージェント72(図14)の表示等を制御するエージェント制御部13から構成される。
【0033】
蓄積部11の文書取得部21は、メーラ2によって送受信した文書やワードプロセッサプログラム3によって編集された文書などのうち、自己が未処理の文書を取得して文書属性処理部22および文書内容処理部23に供給する。なお、以下においては、主に、メーラ2により電子メールとして送受信した文書を例として説明する。
【0034】
文書属性処理部22は、文書取得部21から供給される文書の属性情報を抽出し、属性情報に基づき、文書をグループ化して、文書内容処理部23および文書特徴データベース作成部24に供給する。電子メールである場合、文書の属性情報としてヘッダに記述されている情報(対象となっているメールを特定するメッセージID、参照しているメールのメッセージID(References,In-Reply-To)、宛先(To,Cc,Bcc)、送信元(From)、日付(Date)、あるいは標題(Subject))などが抽出される。そして、抽出された属性情報に基づいて、1または複数の文書がグループ化される。以下、属性情報に基づいてグループ化された文書群(メールグループ)を「話題」と称する。
【0035】
文書内容処理部23は、文書属性処理部22でグループ化された文書群(話題)の文面を抽出し、形態素解析を施して、単語(特徴語)に分類する。単語は、品詞(名詞、形容詞、動詞、副詞、接続詞、感動詞、助詞、および助動詞)別に分類される。ただし、広範囲に亘って分布している単語、すなわち、例えば、ほぼ全ての文書に含まれている、「こんにちは」、「よろしく」あるいは「お願いします」等の名詞以外の品詞は、後述する、関連情報を検索するためのキーワードには成り得ないので、不要語として除外される。
【0036】
文書内容処理部23は、不要語が除外された各単語の出現頻度および複数の文書に亘る分布状況を求め、グループ化された文書群(話題)毎に、各単語の重み(文書の主旨に関係する程度を示す値)を演算する。これにより、話題毎に、各単語の重みを構成要素とする特徴ベクトルが算出される。例えば、全話題の単語(特徴語)数の総計がn個の場合、すべての話題の特徴ベクトルは、n次元空間のベクトルとなり、次式(1)で表わされる。
特徴ベクトル=(単語1の重みw1,単語2の重みw2,・・・単語nの重みwn) (1)
【0037】
重みの演算には、例えば、tf・idf法(Salton,G.:Automatic Text Processing:The Transformation,Analysis, and Retrieval of Information by Computer,Addison-Wesley,1989)等が用いられる。この方法を用いると、例えば、話題Aに含まれる単語がn個あった場合、話題Aの特徴ベクトルのうち、含まれる単語の該当する構成要素には重みが与えられ、話題Aに含まれない単語の構成要素は、頻度が0であるため、重みの値は0となる。
【0038】
なお、本発明においては、話題毎に特徴ベクトルを算出するものとして説明するが、これに限らず、文書毎、または、その他の単位毎(例えば、所定期間(1週間)に蓄積された文書群毎)に特徴ベクトルを算出することも勿論可能である。
【0039】
文書特徴データベース作成部24は、文書属性処理部22でグループ化された文書群(話題)毎の各文書の属性情報と、文書内容処理部23で算出された話題毎の特徴ベクトル(すなわち、話題内に含まれる全ての単語の重み)を時系列順にデータベース化してハードディスクドライブなどよりなる記憶部49(図2)に記録する。文書特徴データベース作成部24はまた、単語の重みに基づいて、所定の条件を満たす単語を選択し、その単語を、関連情報を検索するための検索用キーワード(重要語)として記録する。文書特徴データベース作成部24はさらに、検索用キーワードを関連情報検索部25に供給し、それに対応して関連情報検索部25から返される関連情報を、検索用キーワードに対応付けて記録する。
【0040】
関連情報検索部25は、文書特徴データベース作成部24が選択して記録した検索用キーワードに対する関連情報を検索し、検索結果のインデックスを文書特徴データベース作成部24に返す。キーワードの関連情報を検索するには、例えば、インタネット上の検索エンジンを用いる方法がある。この場合、WebページのURL(Uniform Resource Locator)やWebページのタイトルが、関連情報として文書特徴データベース作成部24に返される。
【0041】
提示部12のイベント管理部31は、メーラ2が電子メールの送信や受信を終えたことや、編集中の文書のテキストデータ量が所定の閾値を超えたことを検知して、データベース問い合わせ部32に通知する。以下、メーラ2が電子メールの送信や受信を終えたことや、編集中の文書のテキストデータ量が所定の閾値を超えたことをイベント発生と記載する。
【0042】
イベント管理部31は、内部にタイマ31Aを内蔵しており、所定時間が経過したか否かを監視し、所定時間が経過した場合、その旨をデータベース問い合わせ部32に通知する。
【0043】
データベース問い合わせ部32は、イベント管理部31からのイベント発生の通知に対応して、イベント発生に対応する文書(例えば、受信した電子メール)を取得し、文書内容処理部23の処理と同様に、その文書の形態素解析を施して、不要語を除外した単語を抽出し、各単語の重みを演算する。これにより、イベント発生に対応する文書の特徴ベクトルが算出される。
【0044】
データベース問い合わせ部32はまた、文書特徴データベース作成部24が作成したデータベースを検索し、算出したイベント発生に対応する文書の特徴ベクトルと、データベースに記録されている話題毎の特徴ベクトルとの内積から類似度をそれぞれ算出する。データベース問い合わせ部32は、類似度が最も高い話題を抽出し、抽出した話題に含まれる各単語のうち、重みが所定の条件(詳細については図11を参照して後述する)を満たすものを選択し、選択された単語(重要語)に対応する関連情報を、イベント管理部31を介して、あるいは、直接、関連情報提示部33に供給する。
【0045】
関連情報提示部33は、イベント管理部31を介して、あるいは、直接、データベース問い合わせ部32から供給される関連情報を表示部48(デスクトップ)上に表示させる。
【0046】
なお、蓄積部11によるデータベースの更新は、所定のタイミングにおいて実行される。データベースの更新処理は、図33のフローチャートを参照して後述する。また、蓄積部11によるデータベースの更新時に、記憶部49に記録した特徴ベクトルが、例えば、メールのやりとりの回数、送受信の状態、または、品詞の種類(特定の地域や名称を示す固有名詞など)に応じて修正される。さらに、提示部12による関連情報の提示処理は、イベント管理部31がメール2の送受信などのイベント発生を検知する毎に実行されるか、あるいは、イベント管理部31がタイマ31Aを監視することによって所定時間毎に実行される。
【0047】
図2は、エージェントプログラム1がインストールされて実行されるパーソナルコンピュータの構成例を示している。
【0048】
パーソナルコンピュータは、CPU(Central Processing Unit)41を内蔵している。CPU41にはバス44を介して、入出力インタフェース45が接続されている。入出力インタフェース45には、キーボード、マウスなどの入力デバイスよりなる入力部46、処理結果としての例えば音声信号を出力する出力部47、処理結果としての画像を表示するディスプレイなどよりなる表示部48、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部49、LAN(Local Area Network)やインタネットを介してデータを通信するモデムなどよりなる通信部50、および、磁気ディスク52、光ディスク53、光磁気ディスク54、または半導体メモリ55などのプログラム格納媒体に対してデータを読み書きするドライブ51が接続されている。バス44には、ROM(Read Only Memory)42およびRAM(Random Access Memory)43が接続されている。
【0049】
本発明のエージェントプログラム1は、磁気ディスク52、光ディスク53、光磁気ディスク54、または半導体メモリ55に格納された状態でパーソナルコンピュータに供給され、ドライブ51によって読み出されて、記憶部49に内蔵されるハードディスクドライブにインストールされている。記憶部49にインストールされているエージェントプログラム1は、入力部46に入力されるユーザからのコマンドに対応するCPU41の指令によって、記憶部49からRAM43にロードされて実行される。なお、パーソナルコンピュータの起動時において自動的にエージェントプログラム1が実行されるように設定しておくようにしてもよい。
【0050】
また記憶部49に内蔵されるハードディスクドライブには、エージェントプログラム1、メーラ2、およびワードプロセッサ3の他、WWW(World Wide Web)ブラウザなどのアプリケーションプログラムもインストールされており、エージェントプログラム1と同様に、入力部46に入力されるユーザからの起動コマンドに対応するCPU41の指令によって、記憶部49からRAM43にロードされて実行される。
【0051】
次に、図3のフローチャートを参照して、エージェントプログラム1のデータベース作成処理について説明する。このデータベース作成処理は、エージェントプログラム1が実行する処理のうちの1つであり、エージェントプログラム1が実行された場合において、データベースが未だ作成されていないときに開始される。
【0052】
ステップS1において、文書取得部21は、未処理の文書(例えば、エージェントプログラム1が実行される以前に送受信された電子メール)を、記憶部49に内蔵されるハードディスクドライブから取得して文書属性処理部22および文書内容処理部23に供給する。
【0053】
ステップS2において、文書属性処理部22は、ステップS1の処理で文書取得部21により取得され供給された電子メールの文書から属性情報(メッセージID等のヘッダ情報)を抽出し、その属性情報に基づき、文書をグループ化して(すなわち、話題毎にグループ化して)、文書内容処理部23および文書特徴データベース作成部24に供給する。
【0054】
ステップS3において、文書内容処理部23は、ステップS2の処理で文書属性処理部22によりグループ化された文書群(話題)の本文のテキストデータを抽出し、さらにテキストデータの形態素解析を施し、不要語を除く単語(特徴語)を抽出する。ステップS4において、文書内容処理部23は、ステップS3の処理で抽出された各単語の出現頻度、複数の文書に亘る分布状況を求め、話題毎に、各単語の重みを、例えば、tf・idf法を用いて演算する。これにより話題毎の特徴ベクトルが算出される。
【0055】
ステップS5において、文書特徴データベース作成部24は、ステップS2の処理で文書属性処理部22によりグループ化された話題毎の各文書の属性情報と、ステップS3の処理で文書内容処理部23により算出されたその話題内に含まれる全ての単語の重み(特徴ベクトル)をデータベース化する。
【0056】
具体的には、図4に示されるように、グループ化された各話題(話題A、話題B、話題C、・・・)を時系列順にソートした後、各話題にそれぞれ含まれる全単語1乃至nの重みも時系列順にソートして記憶部49に記録する。ここで、図4においては、例えば、重みA1は、話題Aにおける単語1の重みの値を示し、重みB2は、話題Bにおける単語2の重みの値を示している。さらに例えば、話題Bに単語1が含まれていない場合、重みB1は0となる。
【0057】
そして、図5に示されるように、話題毎に算出された各特徴ベクトルが時系列順にソートされてリスト化される。図5の例の場合、話題Aの特徴ベクトルA、話題Bの特徴ベクトルB、話題Cの特徴ベクトルC、話題Dの特徴ベクトルD、および話題Eの特徴ベクトルEの順にリスト化される。このように、各特徴ベクトルをリスト化することにより、後述する、類似度算出における優先度の順位が付与される。従って、図5の例の場合、特徴ベクトルA、特徴ベクトルB、・・・の順に類似度が算出される。
【0058】
なお、各特徴ベクトルを、時系列順にリスト化するだけでなく、例えば、特徴ベクトルを構成する要素の最大値(話題に含まれる重要語の重み)を比較し、要素の大きい順にリスト化するようにしてもよい。
【0059】
図3の説明に戻る。ステップS6において、文書特徴データベース作成部24は、単語の重みが所定の閾値以上である単語を検索用キーワードに選択するか、あるいは、重みが大きい順にソートされ、予め指定される個数の単語を選択して、関連情報検索部25に供給する。関連情報検索部25は、文書特徴データベース作成部24からの検索用キーワード(重要語)を検索条件として、インタネット上の検索エンジンにアクセスして検索結果を取得し、得られたWebページのURLやタイトルを関連情報として文書特徴データベース作成部24に出力する。
【0060】
ステップS7において、文書特徴データベース作成部24は、関連情報検索部25からの関連情報を検索用キーワードに対応付けて記憶部49に記録することにより、データベースを作成する。なお、ステップS6の処理とステップS7の処理は、ステップS5までの一連の処理に継続して実行する場合と、一連の処理に継続せず、所定のタイミングにおいて実行する場合がある。
【0061】
以上のデータベース作成処理が実行されることにより、送受信した電子メールの文書に対応した関連情報がデータベース内に蓄積されることになる。なお、データベース作成処理は、エージェントプログラム1が実行された場合に開始されるものとしたが、任意のタイミングで開始させることも可能である。さらに、このようにして作成されたデータベースは、所定の条件が満たされたときに更新される(更新のタイミングについては、図34を参照して後述する)。
【0062】
また、データベース作成処理をユーザが強制的に中断することができるようにするために、中断要求があった場合、中断された時点で処理済みの文書を記録し、再開要求があった場合、未処理の文書から処理を再開するようにしてもよい。
【0063】
次に、図6のフローチャートを参照して、エージェントプログラム1の関連情報提示処理について説明する。この関連情報提示処理は、図3を用いて上述したデータベース作成処理とは異なり、エージェントプログラム1が実行されている間、繰り返して実行される。
【0064】
ステップS11において、エージェントプログラム1は、入力部46に入力されるユーザからのコマンドによって、エージェントプログラム1の終了が指示されたか否かを判定し、エージェントプログラム1の終了が指示されていないと判定した場合、ステップS12に進む。
【0065】
ステップS12において、イベント管理部31は、イベント発生(メーラ2の電子メールの送受信の終了等)を監視し、イベント発生が検知されない場合、ステップS11に戻り、上述した処理が繰り返し実行される。
【0066】
ステップS12において、イベント発生が検知された場合、ステップS13に進み、イベント管理部31は、イベント発生をデータベース問い合わせ部32に通知する。データベース問い合わせ部32は、イベント管理部31からのイベント発生の通知に対応して、イベント発生に対応する文書(送受信された電子メール)を取得し、その文書の形態素解析を施して、不要語を除外した単語(特徴語)を抽出し、各単語の重みを演算する。これにより、イベント発生に対応する文書の特徴ベクトルが算出される。
【0067】
ステップS14において、データベース問い合わせ部32は、文書特徴データベース作成部24が作成したデータベースを検索し、ステップS13の処理で算出された特徴ベクトルと、データベースに記録されている話題毎の特徴ベクトルとの内積から類似度をそれぞれ算出し、類似度が所定の条件(例えば、類似度が最大、もしくは類似度が所定の閾値以上)を満たすものを抽出(選択)する。
【0068】
ここで、図7および図9のフローチャートを参照して、類似度に基づいた話題の選択処理について説明する。図7は、類似度が最大になる話題を選択する処理例を示し、図9は、類似度が所定の閾値以上になる話題を選択する処理例を示している。
【0069】
まず、図7のフローチャートを参照して、類似度が最大になる話題の選択処理について説明する。
【0070】
ステップS31において、データベース問い合わせ部32は、図6のステップS13の処理で算出されたイベント発生に対応する文書の特徴ベクトルと、文書特徴データベース作成部24が作成したデータベースに蓄積されている各話題の特徴ベクトルとの内積から類似度を算出する。
【0071】
すなわち、図8に示されるように、イベント発生に対応する文書の特徴ベクトルと、データベースにリスト化されている各話題の特徴ベクトルのうち、第1番目にリストアップされている話題Aの特徴ベクトルAとの内積から類似度Aが算出される。
【0072】
ステップS32において、データベース問い合わせ部32は、データベースに蓄積されている全ての特徴ベクトルについて類似度をそれぞれ算出したか否かを判定し、未だ算出していない特徴ベクトルがあると判定した場合、ステップS31に戻り、上述したそれ以降の処理を繰り返し実行する。
【0073】
これにより、イベント発生に対応する文書の特徴ベクトルと、図8に示すデータベースの第2番目以降にリストアップされている話題Bの特徴ベクトルB乃至話題Eの特徴ベクトルEとの内積から類似度B乃至類似度Eがそれぞれ算出される。
【0074】
そして、ステップS32において、データベースに蓄積されている全ての特徴ベクトルについて類似度をそれぞれ算出したと判定された場合、ステップS33に進み、データベース問い合わせ部32は、各特徴ベクトルとの内積から算出される類似度のうち、類似度が最大になる話題を選択する。
【0075】
以上の処理によって、イベント発生に対応する文書と最も類似する話題が選択される。この処理は、データベースにリスト化されている全ての特徴ベクトルとの内積から類似度を算出するため、図9のフローチャートを参照して次に説明する選択処理に較べ処理時間がかかり、比較的、処理時間に余裕のある場合に適している。しかしながら、類似度が最大になる話題を選択することから、ユーザにとってより興味があると思われる関連情報を提示することができる。図7の選択処理は、例えば、図36のフローチャートを参照して後述する、関連情報の定期的提示処理などに適している。
【0076】
次に、図9のフローチャートを参照して、類似度が所定の閾値以上になる話題の選択処理について説明する。
【0077】
ステップS41において、データベース問い合わせ部32は、データベースに蓄積されている全ての特徴ベクトルについて類似度をそれぞれ算出したか否かを判定し、未だ算出していない特徴ベクトルがあると判定した場合、ステップS42に進む。
【0078】
ステップS42において、データベース問い合わせ部32は、図6のステップS13の処理で算出されたイベント発生に対応する文書の特徴ベクトルと、文書特徴データベース作成部24が作成したデータベースに蓄積されている各話題の特徴ベクトルとの内積から類似度を算出する。
【0079】
すなわち、図10に示されるように、イベント発生に対応する文書の特徴ベクトルと、データベースにリスト化されている各話題の特徴ベクトルのうち、第1番目にリストアップされている話題Aの特徴ベクトルAとの内積から類似度Aが算出される。
【0080】
ステップS43において、データベース問い合わせ部32は、予め設定されている所定の閾値以上の類似度を算出したか否かを判定し、所定の閾値以上の類似度を算出していないと判定した場合、ステップS41に戻り、上述したそれ以降の処理を繰り返し実行する。
【0081】
これにより、イベント発生に対応する文書の特徴ベクトルと、図10に示すデータベースの第2番目以降にリストアップされている話題Bの特徴ベクトルBとの内積から類似度Bが算出され、ステップS43において、所定の閾値値以上の類似度が算出されるまで、同様にして、各話題の類似度が算出される。
【0082】
そして、ステップS43において、予め設定されている所定の閾値以上の類似度を算出したと判定された場合、ステップS44に進み、データベース問い合わせ部32は、いま算出された、所定の閾値以上の類似度を持つ話題を選択する。
【0083】
例えば、話題Cとの類似度Cが所定の閾値以上であると判定された場合、話題Cが選択される。
【0084】
また、ステップS41において、データベースに蓄積されている全ての特徴ベクトルについて類似度をそれぞれ算出したと判定された場合、ステップS45に進み、データベース問い合わせ部32は、各特徴ベクトルとの内積から算出される類似度のうち、類似度が最大になる話題を選択する。
【0085】
すなわち、ステップS42,43の処理で、話題A乃至話題Eのうち、所定の閾値以上の類似度が算出されなかった場合に、ステップS45の処理が実行され、所定の閾値以上ではないが、その中で類似度が最大になる話題が選択される。もしくは、図35のフローチャートを参照して後述する関連情報取得処理によって取得された関連情報の中から、優先度の高い関連情報が選択される。
【0086】
以上の処理によって、イベント発生に対応する文書と類似するとみなせる話題が選択される。この処理は、データベースにリスト化されている特徴ベクトルとの内積から類似度を逐次算出し、所定の閾値以上になる類似度が算出された時点で処理を終了するため、図7のフローチャートを用いて上述した選択処理に較べ処理時間が速く、処理時間に余裕のない場合に適している。従って、図9の選択処理は、例えば、メールを送信し、プロバイダとの接続および送信完了までの待ち時間に、関連情報を提示する場合(イベント発生に対応して関連情報を提示する場合)などに適している。
【0087】
なお、ステップS43の判定処理で用いられる所定の閾値(類似する話題を抽出する際の範囲)は、予め、特徴抽出に用いる話題内の文書量(例えば、ファイル数やデータサイズなど)に応じて、類似するとみなせる値(範囲)を設定することができる。
【0088】
具体的には、特徴抽出する話題の文書量またはデータサイズに応じて何段階かの類似度の範囲を設定する。例えば、ある話題に含まれる文書量が10ファイル以内である場合は類似度を0.011以上、11ファイル以上50ファイル未満の場合は類似度を0.03以上、50ファイル以上である場合は類似度を0.05以上とする。また例えば、ある話題の文書の容量が500kB未満である場合は類似度を0.01以上、500kB以上である場合は類似度を0.02以上とする。
【0089】
以上をまとめると、図7の例の選択処理は、図36のフローチャートを参照して後述する関連情報の定期的提示処理の場合に利用され、図9の例の選択処理は、イベント発生に対応して、そのタイミングを逸せずに関連情報を提示する場合に利用される。また、図7および図9のいずれの選択方法を利用するかは、ユーザによって予め選択されるか、あるいは、データベース問い合わせ部32が、提示する関連情報が、定期的なものであるか、イベント発生に対応するものであるかを判断して、自動で選択するようにする。
【0090】
さらに、図9の選択処理の場合、リストアップされている優先順位に基づいて各話題との類似度が算出され、所定の閾値以上の類似度が算出されたとき、その話題が選択されるため、同じ話題が何度も選択されてしまう恐れがある。そこで、一度、選択された話題の特徴ベクトルは、何度も選択されることがないように、優先順位の最後尾に並べ替えるようにする。
【0091】
具体的には、例えば、話題内での特徴ベクトルを構成する要素の最大値(重要語の重み)をその話題の優先度の値として、優先度の値を降順に並べたものを優先度の順位として付与する。すなわち、話題自体に推薦(提示)の優先順位を付与し、一度推薦を行った話題を優先順位の最後尾に並べ替えるようにする。このようにすることによって、類似度の範囲内にある話題でも、同じ話題から推薦する頻度が減少する。また、優先順位の変更だけなので、関連情報を大量に検索して準備しておけば、なるべく同じ話題からの推薦が減り、かつ、情報自体も不足することなく用いることができる。
【0092】
そして、予め設定された類似度の範囲のうち、優先度の高い話題から検索された関連情報を提示するようにする。このようにすると、文書量の減少により、データベースの内容が更新されると、類似度の範囲が変化し、類似度の範囲が狭すぎて関連情報が不足したり、反対に、類似度の範囲が広すぎてユーザにとってあまり関連性が明確でない関連情報が提示されるような事態の発生を抑止することが可能となる。
【0093】
また、以上においては、類似度の高い話題あるいは類似度が所定の閾値以上の話題を選択するようにしたが、これに限らず、類似度を用いずに話題を選択することも可能である。例えば、イベント発生に対応する文書に含まれる単語(特徴語)と同じ単語が含まれる話題や、あるいは、イベント発生に対応する文書の相手との他の話題などを選択するようにする。すなわち、「○○つながり」のような方法で過去の話題を選択するようにしてもよい。
【0094】
図6の説明に戻る。ステップS15において、データベース問い合わせ部32は、ステップS14の処理で抽出された話題に含まれる各単語のうち、重みの時系列推移に着目して、以下に示す条件1および条件2を満たす単語(重要語)を選択する。
【0095】
ここで、図11を参照して、単語の選択条件について説明する。図11は、データベースに蓄積されている単語の重みの時系列推移の例を示している。
【0096】
例えば、条件1は、「単語の重みが、現時点以前の所定の期間X(例えば、2週間)、所定の閾値A以下であること」である。また例えば、条件2は、「現時点以前の所定の期間Y(例えば、5週間)において、異なる2以上の話題で、単語の重みが所定の閾値B以上であること」である。なお、条件3「条件2における異なる2以上の話題のうち、最も古い話題と最も新しい話題が所定の期間Z以上離れていること」を追加すればさらに好ましい。
【0097】
このような条件を用いることにより、ユーザの興味が高いと思われる単語(重要語)を選択することが可能となる。特に、条件1によって、現時点に近い話題に含まれる単語は除外されるので、ユーザが現時点で意識しており、意外性のないと思われる関連情報(新しすぎる情報)を改めて選択することを避けることができ、かつ、かなり以前の話題に含まれる単語も除外されるので、ユーザが現時点で思い出すことができないと思われる関連情報(古すぎる情報)を改めて選択することも避けることができる。
【0098】
データベース問い合わせ部32は、このようにして選択した単語(重要語)に対応する関連情報を、イベント管理部31を介して、あるいは、直接、関連情報提示部33に供給する。
【0099】
ステップS16において、エージェント制御部13は、ステップS15の処理で選択した単語が含まれている文書の属性情報を、選択(推薦)した理由として表示させるとともに、対応する関連情報を表示するか否かをユーザに問う入力ウィンドウ81(図19)をデスクトップに表示させる。
【0100】
なお、話題は、グループ化された複数の文書からなるため、重要語が含まれる文書も複数存在する場合がある(すなわち、重要語が含まれている文書の属性情報が複数存在する場合がある)。そこで、例えば、重要語が含まれている文書のうち、最古または最新の文書の属性情報を選択した理由として表示させるようにするか、あるいは、任意に指定された文書の属性情報を表示させる。また、入力ウィンドウ81を表示させずに、直接、デスクトップ上に関連情報を表示させるようにしてもよい。
【0101】
ステップS17において、エージェントプログラム1は、入力部46に入力されるユーザからのコマンドによって、ステップS16の処理で表示された入力ウィンドウ81に呼応して、ユーザが「見る」ボタンを選択したか否かを判定する。ステップS17において、ユーザが「見る」ボタンを選択したと判定された場合、ステップS18に進む。なお、入力ウィンドウ81には、「見る」ボタンおよび「見ない」ボタン以外にも他の情報を表示したり、あるいは、表示しないようにすることもできる。
【0102】
ステップS18において、関連情報提示部33は、イベント管理部31を介してデータベース問い合わせ部32から供給された関連情報をデスクトップに表示させる。この関連情報は、1または複数個を提示することができる。
【0103】
なお、関連情報として表示される情報は、キーワードが付与された所定のデータベースに蓄積された情報であれば、Webページのタイトルでなくてもかまわない。例えば、所定のデータベースに蓄積されている情報のインデックスを表示するようにして、ユーザのアクセス指令に対応して、そのインデックスのさらに詳細な情報を表示させるようにしてもよい。
【0104】
ステップS19において、エージェントプログラム1は、入力部46に入力されるユーザからのコマンドによって、ステップS18の処理により関連情報として表示されたWebページのタイトルに対して、ユーザがアクセスを指令したと判定した場合、ステップS20に進む。ステップS20において、WWWブラウザが起動され、対応するWebページへのアクセスが行われる。
【0105】
ステップS19において、ステップS18の処理により関連情報として表示されたWebページのタイトルに対して、ユーザが記録を指令したと判定された場合、ステップS21に進む。ステップS21において、エージェントプログラム1は、対応するWebページのタイトルおよびURLを、提示履歴を表示するスクラップ帳ウィンドウ74(図14)に記録する。なお、ステップS19において、ステップS18の処理により関連情報として表示されたWebページのタイトルに対して、ユーザから何の指令もなされずに所定の時間が経過したと判定された場合、ステップS20またはステップS21の処理はスキップされて、ステップS11に戻り、上述した処理が繰り返し実行される。
【0106】
なお、ステップS17において、ユーザが「見る」ボタンを選択しないと判定された場合、ステップS18乃至ステップS21の処理はスキップされて、ステップS11に戻り、上述した処理が繰り返し実行される。さらに、ステップS11において、ユーザによりエージェントプログラム1の終了が指示されたと判定された場合、処理は終了される。
【0107】
ここで、関連情報提示処理に関して、イベント発生に対応する電子メールを効率よく取得する手法について説明する。
【0108】
まず、大多数のメーラがメールの保持形式に関し、次のような4つの特徴を有していることに着目する。第1に、メーラにおける1つのフォルダは、パーソナルコンピュータにおける1つのメールボックスファイルに対応していること。第2に、新たに受信したメールは、特定のフォルダに格納されるようになっており、パーソナルコンピュータでは当該フォルダに対応するファイルの末尾に追加され、このとき、1つのファイルには一般に複数のメールが含まれるので、メールとメールとの境界に、特定の文字列パターン(メーラによって異なる)からなる行が挿入されていること。第3に、送信したメールの記録も、同様の形式で特定のファイルに保存されること。第4に、一般に、送受信したメールが含まれるファイルはサイズが大きいこと(数百KB乃至1MB)。
【0109】
以上の第1乃至第4の特徴を考慮して、次の手順によってイベント発生に対応するメールを取得する。始めに、メールボックスファイルの更新日時を検出し、新たなメールが追加されたか否かを判断する。次に、新たにメールが追加されたメールボックスファイルを末尾から先頭方向に1行ずつ操作して、メールとメールとの境界を示す特定の文字列を検出する。境界を示す文字列を検出した場合、その位置からメールボックスファイルの末尾までデータを抽出する。
【0110】
このような手法を用いることにより、イベント発生に対応する電子メールを効率的に取得することが可能となる。
【0111】
次に、関連情報提示処理に関して、同一のメールに対して何度も関連情報を提示しないようにする手法について説明する。まず、関連情報を提示したメールのメッセージIDを記録するためのデータ構造を設定する。そして、イベントが発生した場合、そのイベントに対応するメールのメッセージIDを取得して、設定したデータ構造と比較する。データ構造の中に同じメッセージIDがある場合、そのメールに対しては既に関連情報を提示しているので、関連情報を提示しない。一方、データ構造の中に同じメッセージIDがない場合、そのメールに対しては関連情報を提示していないので関連情報を提示し、メッセージIDをデータ構造に記録する。
【0112】
このような手法を用いることにより、同一のメールに対して何度も関連情報を提示するような事態の発生を抑止することが可能となる。
【0113】
次に、図12および図13のフローチャートを参照して、図6を用いて説明した関連情報提示処理のうち、主にエージェントの動作および台詞等について、詳細に説明する。
【0114】
例えば、エージェントプログラム1が起動されている状態においてメーラ2が起動された場合、ステップS61において、エージェント制御部13は、例えば、図14に示されるように、メーラ2のウィンドウ(以下、メーラウィンドウと記載する)71の表示と重畳しない位置に、エージェント72を表示(登場)させる。
【0115】
なお、エージェント72の登場は、例えば、図15A乃至図15Dに示す画像が順次表示されることによって、エージェント72が前転しながらデスクトップ上に出現する動画が表現される。エージェント72の登場とともに、エージェント72の台詞として吹き出し73と、保存されている関連情報が一覧表示されているスクラップ帳ウィンドウ74(後述)が表示される。吹き出し73の中には、例えば、図16に示されるように、登場の挨拶「おはよう、SAITOさん!」と、自己紹介「ぼく、alfだよ。」の台詞が表示される。
【0116】
また、吹き出し73の表示と同期して、吹き出し73に表示された台詞の音声信号が音声合成部(図示せず)によって合成されて出力するようにすることができる。なお、吹き出し73に表示された台詞の音声信号は、吹き出し73に表示された言語(図16の例の場合、日本語)、あるいは、吹き出し73に表示された言語と同じ意味を持つ他の言語(例えば、英語の場合、”Good morning,SAITO"、"I'm Alf")の音声信号が音声合成部によって合成されて出力されるようにしてもよい。そして、以降に表示される吹き出し73にも対応する音声信号が同期して出力される。
【0117】
なお、吹き出し73や対応する音声は、出力しなくてもよい。以降、いずれの処理においても、吹き出し73および対応する音声は、エージェントプログラム1の規定により出力するか否かを設定するようにするか、あるいは、ユーザにより、出力するか否かを任意に設定できるようにする。
【0118】
その後、エージェント72の表示は、ステップS62において、例えば、図17に示されるように、待機中の様子(手を後に組み、つま先を上下させる)を示す動画に推移される。
【0119】
ステップS63において、エージェントプログラム1は、入力部46に入力されるユーザからのコマンドに応じて、メーラ2が終了されたか否かを判定し、メーラ2が終了されていないと判定した場合、ステップS64に進む。
【0120】
ステップS64において(上述した図6のステップS12に対応する)、メーラ2は、ユーザから何らかのコマンド(メールの送受信、メールの編集、あるいは関連情報の編集等)が入力されたか否かを判定し、何らかのコマンドが入力されたと判定した場合、ステップS65に進み、コマンドに対応する処理を開始する。
【0121】
ステップS65において、エージェントプログラム1のイベント管理部31は、メールの送信、受信、または編集のコマンドが入力されたか否かを判定さし、メールの送受信または編集のコマンドが入力されたと判定した場合、ステップS66に進む。
【0122】
ステップS66において、エージェント制御部13は、エージェント72の表示を、図17に示した待機中の様子から、例えば、図18に示されるように、作業中の様子(手足を激しく移動する)を示す動画に推移させる。この間に、図6のステップS13乃至S15の処理(ユーザに推薦する関連情報を選択する処理)が実行される。
【0123】
ステップS67において、エージェントプログラム1は、コマンドに対応して開始されたメーラ2の処理(例えば、メール送信など)が継続中であるか否かを判定し、メーラ2の作業中の処理が終了するまで判定処理を繰り返し実行する。すなわち、メーラ2の作業中の処理が終了するまで、エージェント制御部13は、エージェント72の表示を、図18に示した作業中の状態のまま待機する。
【0124】
ステップS67において、メーラ2の処理が継続中ではない、すなわち、コマンドに対応して開始されたメーラ2の作業中の処理が終了したと判定された場合、ステップS68に進む。
【0125】
ステップS68において、エージェントプログラム1は、再度、入力部46に入力されるユーザからのコマンドに応じて、メーラ2が終了されたか否かを判定し、メーラ2が終了されていないと判定した場合、ステップS69に進む。
【0126】
ステップS69(図6のステップS16に対応する)において、エージェント制御部13は、ステップS67のメーラ2の処理がメール送信であった場合、エージェント72の吹き出し73に、例えば、「今、Aさんにメール送ったけど、某月某日にAさんと(タイトル)について話していたよね。その中にでてきた(キーワード)について、関連するページを見つけたよ。見てみる?」と表示させる。
【0127】
また例えば、ステップS67のメーラ2の処理がメール受信であった場合、台詞の前半が「今、Aさんからメールがきたけど」となり、ステップS67のメーラ2の処理がメールの編集であった場合、台詞の前半が「今、Aさんにメールを書いているけど」となる。
【0128】
さらにまた例えば、ステップS66の処理(図6のステップS13乃至S15のユーザに推薦する関連情報を選択する処理)において、所定の閾値以上の類似度が算出されずに、単にやりとり関係のある話題を選択したり、あるいは、同じ単語が含まれている話題を選択した場合には、すなわち、該当する話題がないという事態を避けるために任意に選択された話題の場合には、台詞を、例えば、「これまで(タイトル)というメールのやりとりがあったよね」や「(キーワード)という単語は、(タイトル)というメールにも出ていたよね」となる。
【0129】
なお、「某月某日にAさんと(タイトル)について話していたよね。」の部分は、関連情報が選択(推薦)された理由に相当するが、関連情報の選択理由の表示を、ステップS69において実行せずに、後述するステップS72の処理(関連情報の表示)の後に表示するようにしてもよい。また、関連情報の選択理由の表示をユーザの指示により任意のタイミング(例えば、メニューで理由をたずねるコマンドを用意するなど)で実行するようにしてもよい。
【0130】
また、タイマ31Aによる一定時間経過時の提示(定期的提示)に関しては、「今、Aさんからメールがきたけど」など、特定のイベントを示すような表現ではなく、例えば、「某月某日にAさんと(タイトル)について話していたよね。」の部分だけを表示するようにする。
【0131】
さらに、これらの吹き出し73は、関連情報を提示する前に表示してもよいし、あるいは、関連情報を提示した後に表示してもよい。
【0132】
吹き出し73に隣接する位置には、例えば、図19に示されるように、入力ウィンドウ81が表示される。入力ウィンドウ81には、図20に示されるように、関連情報の表示を指示するときに選択する「見る」と示されたボタン、関連情報を表示させない時に選択する「見ない」と示されたボタン、関連情報が選択された背景(選択理由)の再表示を指示するときに選択する「背景をもう一度教えて」と示されたボタンが表示される。
【0133】
入力ウィンドウ81が表示された状態で、ステップS70において、エージェント制御部13は、エージェント72の表示を、図17に示した待機中の様子を示す動画に推移させる。ステップS71(図6のステップS17に対応する)において、エージェントプログラム1は、入力ウィンドウ81の中の「見る」と示されたボタン、「見ない」と示されたボタン、または「背景をもう一度教えて」と示されたボタンのいずれがユーザにより選択されたか否かを判定する。なお、この入力ウィンドウ81は、表示しなくてもよい。
【0134】
ステップS71において、入力ウィンドウ81の「見る」と示されたボタンが選択されたと判定された場合、ステップS42に進む。ステップS42(図6のステップS18に対応する)において、エージェント制御部13は、例えば、図21および図22に示されるように、関連情報として推薦URL91を表示させ、エージェント72の表示を、表示された推薦URL91を指し示す動画に推移させるとともに、吹き出し73に、台詞「どう?」を表示させる。推薦URL91には、通常、推薦されるWebページのタイトルが表示され、推薦URL91の上にマウスカーソルが置かれたときだけURLも重畳して表示される。推薦URL91は、マウスカーソルでドラッグすることにより移動可能である。
【0135】
ステップS73(図6のステップS19に対応する)において、エージェントプログラム1は、表示した推薦URL91に対するユーザのコマンドを検出する。表示される推薦URL91に対するユーザのコマンドとしては、記録、アクセス、または消去等がある。
【0136】
推薦URL91に対する記録コマンドは、例えば、記録する推薦URL91をスクラップ帳ウィンドウ74までドラッグアンドドロップする方法や、マウスで右クリックし、表示されるメニューの中から記録を選択する方法などが考えられる。あるいは、推薦URL91は、すべて自動的に記録されるようにしてもよい。アクセスコマンドや消去コマンドについても同様に、WWWブラウザのアイコンやゴミ箱のアイコンにドラッグアンドドロップする方法や、マウスで右クリックし、表示されるメニューの中から選択する方法、あるいはクリッカブルにする方法などが考えられる。
【0137】
ステップS73において、推薦URL91に対する記録コマンドが検出された場合、ステップS74(図6のステップS21に対応する)において、エージェント制御部13は、エージェント72の表示を、例えば、図23に示されるように、頷く動作に推移させる。スクラップ帳ウィンドウ74の中に、記録が指示された推薦URL91に対応するWebページのタイトルが追加される。
【0138】
また、ステップS73で、推薦URL91に対するアクセスコマンドが検出された場合、ステップS74(図6のステップS20に対応する)において、エージェント制御部13は、エージェント72の表示を、例えば、図24Aおよび図24Bに示されるように、笑顔となって喜ぶ様子に推移させる。吹き出し73には、「わーい」と表示され、対応する音声信号が出力される。
【0139】
また、ステップS73で、推薦URL91に対する消去コマンドが検出された場合、ステップS74において、エージェント制御部13は、エージェント72の表示を、例えば、図25Aおよび図25Bに示されるように、泣き顔となって悲しみ失望した様子に推移させる。吹き出し73には、「だめかぁ」と表示され、対応する音声信号が出力される。
【0140】
ステップS74の処理が終了した後、ステップS62に戻り、それ以降の処理が繰り返し実行される。
【0141】
なお、ステップS71において、入力ウィンドウ81の「見ない」と示されたボタンが選択されたと判定された場合、ステップS62に戻り、それ以降の処理が繰り返し実行される。また、ステップS71において、入力ウィンドウ81の「背景をもう一度教えて」と示されたボタンが選択されたと判定された場合、ステップS69に戻り、ステップS69乃至S71の処理が繰り返される。
【0142】
ステップS68において、メーラ2が終了されたと判定された場合、ステップS75に進み、エージェント制御部13は、吹き出し73に、「え、そんなぁ」と表示させ、対応する音声信号を出力させた後、ステップS76において、エージェント72の表示を消失させる(図30を参照して後述する)。
【0143】
ステップS65において、関連情報の編集を指示するコマンドが入力されたと判定された場合、ステップS77に進み、関連情報提示部33は、関連情報編集用ウィンドウ(図示せず)を表示させ、エージェント制御部13は、エージェント72の表示を、図17に示した待機中の様子から、図22と同様に、関連情報編集用ウィンドウを指し示す様子に推移させる。その後、ユーザが関連情報編集用ウィンドウに対して編集のための入力を開始すると、ステップS78において、エージェント制御部13は、エージェント72の表示を、関連情報編集用ウィンドウを指し示す様子から、図18に示した作業中の様子を示す動画に推移させる。
【0144】
ステップS79において、エージェントプログラム1は、関連情報編集処理が継続中であるか否かを判定し、関連情報編集処理が終了するまで判定処理を繰り返し実行する。すなわち、関連情報編集処理が終了するまで、エージェント制御部13は、エージェント72の表示を、図18に示した作業中の状態のまま待機する。
【0145】
ステップS79において、関連情報編集処理が継続中ではない、すなわち、コマンドに対応して開始された関連情報編集処理が終了したと判定された場合、ステップS80に進む。
【0146】
ステップS80において、エージェント制御部13は、エージェント72の表示を、図23と同様に、頷く様子に推移させる。吹き出し73には、「変更したよ」と表示され、対応する音声信号が出力される。その後、処理は、ステップS62に戻り、それ以降の処理が繰り返し実行される。
【0147】
ステップS64において、メーラ2に対してユーザから何らかのコマンドが入力されない状態が所定の時間以上継続した場合、ステップS81に進む。ステップS81において、エージェント制御部13は、エージェント72の表示を、所定の時間が経過する毎に、移動の状態、遊びの状態、または睡眠の状態に順次推移させる。この待機中の処理の詳細について、図13のフローチャートを参照して説明する。なお、各処理は、エージェント制御部13が実行する。
【0148】
ステップS91において、エージェント72の表示は、図17に示した待機中の状態から、例えば、図26または図27に示した画像を用いて表現される移動の状態に推移する。
【0149】
エージェント72の移動は、表示されているウィンドウと重畳しないようにデスクトップ上を横方向あるいは縦方向に行われる。なお、アクティブであるウィンドウ(いまの場合、メーラウィンドウ71)を検出して、その周囲を横方向あるいは縦方向に行うようにしてもよい。エージェント72がデスクトップ上を横方向(例えば、右方向)に移動するときには、例えば、図26A乃至図26Dに示される画像が順次用いられることにより、いわゆるワープしたかのような動画表現が実現される。
【0150】
具体的には、エージェント72の表示は、移動開始位置において、図26Aに示されるように、体の向きが移動する方向とされ、その後、指向している方向にジャンプすると、図26Bに示されるように、頭部から順に消滅して行く。そして、移動終了位置において、図26Cに示されるように、脚部から順に表示されて、最終的には、図26Dに示されるように全身が表示される。
【0151】
エージェント72がデスクトップ上を上下方向に移動するときには、例えば、図27A乃至図27Gに示される画像が順次用いられる。すなわち、エージェント72は、移動開始位置において、図27Aに示されるように、自身の尻尾(先端がコンセントプラグの形状をしている)を手で握り、図27Bに示されるように、尻尾の先端を頭上付近に差し込む。
【0152】
その後、エージェント72の表示は、図27C、図27Dに順次示されるように、体の下部から徐々にロープに変身し、図27Eに示されるように、1本のロープになってその状態で移動終了位置まで移動する。移動終了位置においては、図27F、図27Gに順次示されるように、頭部から順に復元されて、最終的に全身が表示される。
【0153】
このように、エージェント72の移動を、いわゆるワープによって表現したり、1本のロープに変身させて表現したりすることにより、移動中を表現するために使われるリソース(メモリなど)の量を軽減させることが可能となる。
【0154】
図13の説明に戻る。ステップS92において、イベント(メールの送受信、メールの編集、あるいは関連情報の編集等を指示するコマンドの入力)が発生したか否かが判定される。イベントが発生していないと判定された場合、ステップS93に進む。
【0155】
ステップS93において、エージェント72の表示が移動の状態に推移した後、所定の時間が経過したか否かが判定され、所定の時間が経過したと判定されるまで、ステップS92およびステップS93の処理が繰り返し実行される。ステップS93において、所定の時間が経過したと判定された場合、ステップS94に進む。
【0156】
ステップS94において、エージェント72の表示は、移動の状態から、例えば、図28に示される画像で表現される「遊び」の状態に推移する。図28Aは、エージェント72が蛇と戯れている状態を示しており、図28Bは、エージェント72が尻尾の先端を上方に差し込み、そこを支点としてぶら下がり揺れている状態を示している。
【0157】
ステップS95において、イベントが発生したか否かが判定される。イベントが発生していないと判定された場合、ステップS96に進む。ステップS96において、エージェント72の表示が遊びの状態に推移した後、所定の時間が経過したか否かが判定され、所定の時間が経過したと判定されるまで、ステップS95およびステップS96の処理が繰り返し実行される。ステップS96において、所定の時間が経過したと判定された場合、ステップS97に進む。
【0158】
ステップS97において、エージェント72の表示は、遊びの状態から、例えば、図29に示される画像で表現される「睡眠」の状態に推移する。ステップS98において、イベントが発生したか否かが判定され、イベントが発生するまで判定処理が繰り返し実行される。ステップS98において、イベントが発生したと判定された場合、図12のステップS65にリターンし、それ以降の処理が実行される。
【0159】
なお、ステップS92、またはステップS95において、イベントが発生したと判定された場合も同様に、図12のステップS65にリターンし、それ以降の処理が実行される。
【0160】
また、図13のフローチャートには図示していないが、待機中の処理が実行されている最中において、メーラ2が終了されたと判定された場合、ステップS76にリターンする。同様に、図12のステップS63において、メーラ2が終了されたと判定された場合、ステップS76に進む。
【0161】
ステップS76において、エージェント制御部13は、エージェント72の表示を、例えば、図30Aおよび図30Bに示される画像で表現される「消失」の状態に推移させる。図30Aは、エージェント72が手を振りながら背を向けて遠方に立ち去る状態を示しており、図30Bは、エージェント72が徐々に小さくなってやがて消失される状態を示している。
【0162】
なお、エージェント72の消去とともに、吹き出し73、スクラップ帳ウィンドウ74、および推薦URL91等の表示も消去される。
【0163】
以上のように、本発明によれば、電子メール等の文書から重みの高い単語(重要語)を抽出し、関連情報を推薦する一連の処理に対応して、エージェント72が動作するので、エージェント72に対して信頼性や親しみが感じられるようになる。
【0164】
ところで、上述したエージェント72の動作および吹き出し73の中の台詞の表示、並びに、表示された台詞に対応する音声信号の出力については、本発明のエージェントプログラム1だけでなく、他のアプリケーション、例えば、ゲームやワードプロセッサのヘルプ画面等に適用することが可能である。さらに、テレビジョン受像機、ビデオカメラ、またはカーナビゲーション等のディスプレイに表示されるキャラクタに適用することも勿論可能である。
【0165】
また、同一のパーソナルコンピュータを複数のユーザが操作する場合、エージェント72の種類を複数用意して、ユーザ毎に表示されるエージェント72(図31)の種類を変えるようにしてもよい。また、エージェント72は、ユーザが好みのキャラクタを自由に作成し、編集できるようにしてもよい。さらに、同一のユーザが複数のパーソナルコンピュータ上でエージェントプログラム1を利用する場合、異なるパソコン上においても同じエージェント72が表示されるようにしてもよい。
【0166】
なお、以上においては、エージェントプログラム1が実行されている場合、エージェント72は、常に登場しているものとして説明したが、推薦時にのみ表示させたり、その設定を変更することができる。
【0167】
例えば、ユーザは、エージェントプログラム1が実行されている状態で、マウスを右クリックし、図31に示されるようなメニューボックス101を表示させて、その中から、「いろいろな設定をする」の項目を選択することにより、図32に示されるような設定画面を表示させる。
【0168】
図32の例の設定画面には、複数のタブが配置されており、「エージェント」と示されたタブがアクティブとされているとき、ユーザが選択または入力可能な、エージェントの名前、表示、効果音、推薦間隔、推薦保存数、推薦するときのせりふ、および推薦データ更新などの項目が表示される。
【0169】
ユーザは、これらの項目に対して、それぞれ、所望の情報(エージェントの名前)を入力したり、あるいは、所定の項目を選択することによって、自分好みにエージェント72および吹き出し73の表示状態、あるいは、推薦する関連情報の推薦間隔時間や保存数などを設定することができる。
【0170】
次に、蓄積部11によるデータベースの更新のタイミングについて説明する。データベースは、図3のフローチャートを用いて上述したデータベース作成処理によって作成されるが、次のような第1乃至第3の状況になった場合、データベースの更新が必要である。
【0171】
すなわち、第1の状況として、データベースが作成または更新されてから所定の期間が経過している場合、データベース内の関連情報が古くなってしまうので更新が必要である。第2の状況として、データベースに蓄積されている関連情報のうちの所定の割合が提示済みとなった場合、データベース内の関連情報を繰り返し提示してしまったり、提示する関連情報が不足してしまうので更新が必要である。第3の状況として、特徴抽出に用いた文書が、例えば電子メールである場合、電子メールの送受信を繰り返していると、その文書の内容が変化するので更新が必要である。
【0172】
なお、データベースの更新が必要である状況になった場合(例えば、イベント管理部31がタイマ31Aを監視し、所定の期間が経過したとき)、ユーザに対して更新を指示するように促すこともできるし、ユーザに対する促しを実行せずに、自動的にデータベースを実行するように設定することも可能である。また、ユーザが指定する任意のタイミングで更新することも勿論可能である。
【0173】
前記第1乃至第3の状況を考慮したデータベース更新処理について、図33のフローチャートを参照して説明する。このデータベース更新処理は、エージェントプログラム1が実行する処理のうちの1つであり、エージェントプログラム1の起動とともに開始され、エージェントプログラム1が終了されるまで繰り返し実行される。なお、この処理を開始するにあたって、図3を用いて説明したデータベース作成処理が実行されており、データベースが既に作成されているものとする。
【0174】
ステップS111において、エージェントプログラム1の蓄積部11は、作成済みのデータベースの更新が必要であるか否かを判定し、更新が必要であると判定されるまで待機する。この判断基準は、例えば、図34に示すようなユーザインタフェースの画面を用いて予めユーザが設定するものとする。図34の例では、4つの条件が示されており、左端の□(チェックボックス)がユーザによってチェックされた場合、対応する条件が有効となる。なお、1番目の条件では回数が設定可能とされており、3番目の条件では日数が設定可能とされている。
【0175】
ステップS111において、更新が必要であると判定された場合、ステップS112に進み、さらに蓄積部11は、データベースを自動的に更新するように設定されているか否かを判定し、自動的に更新するように設定されていないと判定した場合、ステップS113に進む。一方、ステップS112において、自動的に更新するように設定されていると判定された場合、ステップS113の処理はスキップされる。
【0176】
ステップS113において、エージェントプログラム1の提示部12は、データベースの更新が必要である旨をユーザに通知するとともに、さらに、その通知に対応して、ユーザから更新の指示がなされたか否かを判定する。ユーザから更新の指示がなされたと判定された場合、ステップS114に進み、ユーザから更新の指示がなされないと判定された場合、ステップS111に戻り、上述した処理が繰り返し実行される。
【0177】
ステップS114において、エージェントプログラム1の蓄積部11は、データベースを更新する。具体的には、文書取得部21乃至文書内容処理部23が、電子メールのメールボックスファイル(例えば、mbx等の拡張子が付加されていることが多い)を検出し、その更新日時を取得して、以前に取得した更新日時と比較して、異なる日付と異なるファイルサイズであれば、ファイルが更新されていると判断し、追加または変更された部分を抽出する。この場合、メールのグループ化、ヘッダの解析、形態素解析、特徴ベクトル算出等、一連のファイル内の分析が行われ、得られる重要語が関連情報検索部25に供給される。
【0178】
ただし、メールグループ(話題)が変化せず(所定の話題に追加されるメールがなく)、分析の結果、更新以前の重要語(検索用キーワード)と更新後の重要語が同じであれば、重み等の計算値だけを変更し、関連情報検索部25による関連情報の検索を実行しないようにしてもよい。また、関連情報をインタネット等のネットワーク上で検索する場合、ネットワークに接続されているか否かが検出され、ネットワークに接続されていない場合、関連情報の検索を行わず、それ以後、ネットワークに接続されたときに関連情報を検索するか否かをユーザに問うようにしてもよい。
【0179】
「同じ関連情報を何度も推薦(提示)しないようにするために、あるメールグループの関連情報を、所定の回数以上推薦したら更新が必要と判断する」との条件に関連して、取得したメールと類似性の高いメールグループ(話題)を選択する際に、同じメールグループから何度も推薦を行わないように、上述したようにして、メールグループ自体に推薦の優先度の順位を付与し、一度推薦を行ったメールグループを優先順位の最後尾に並び替えるようにする。
【0180】
以上説明したように、データベース更新処理においては、追加された文書や変更された文書だけを処理の対象とするので、データベース作成処理を繰り返し実行する場合に比べて、処理時間が短縮される。
【0181】
また、データベース更新処理において、ユーザの興味をより反映することができるようにするために、算出された単語の重み(特徴ベクトル)を修正するようにしてもよい。
【0182】
ところで、図6のフローチャートを用いて説明したエージェントプログラム1の関連情報提示処理は、メールの送受信の終了などのイベント発生時に、そのタイミングを逸することなく、イベント発生に対応する文書の関連情報を提示するようにした。しかしながら、頻繁にメールの送受信を行わないユーザの場合、その関連情報を提示する機会が極端に少なくなる。そこで、イベント発生とは別に、定期的に提示するための関連情報を予めデータベースに蓄積しておき、ユーザに対して、所定期間毎に関連情報を提示することによって、関連情報提示の機会を多くすることができる。
【0183】
次に、図35のフローチャートを参照して、関連情報を定期的に提示するための関連情報を取得する処理について説明する。この関連情報取得処理は、エージェントプログラム1が実行する処理のうちの1つであり、エージェントプログラム1が実行された場合において、関連情報の取得が必要であると判断されたときに開始される。
【0184】
ステップS121において、文書取得部21は、所定期間に新規に蓄積された文書(例えば、最新7日分に新規に送受信された電子メール)を、記憶部49に内蔵されるハードディスクドライブから取得して文書属性処理部22および文書内容処理部23に供給する。以下、このような送受信メールをコンテクストメールと称する。
【0185】
ステップS122において、文書属性処理部22は、ステップS121の処理で文書取得部21により取得されたコンテクストメールの文書から属性情報(メッセージID等のヘッダ情報)を抽出し、文書内容処理部23および文書特徴データベース作成部24に供給する。
【0186】
ステップS123において、文書内容処理部23は、ステップS122の処理で文書属性処理部22より供給されたコンテクストメールの本文のテキストデータを抽出し、さらにテキストデータの形態素解析を施し、(予め、蓄積部11で取得してある)不要語を除く単語(特徴語)を抽出する。そして、文書内容処理部23は、抽出された各単語の出現頻度、複数の文書に亘る分布状況を求め、コンテクストメール毎に、各単語の重みを、例えば、tf・idf法を用いて演算する。これにより、コンテクストメール毎の特徴ベクトルが算出される。
【0187】
ステップS124において、文書特徴データベース作成部24は、ステップS123の処理で算出された各コンテクストメールの特徴ベクトルと、データベースに記録されている話題毎の特徴ベクトルとの内積から類似度をそれぞれ算出し、類似度が所定の条件を満たすものを抽出(選択)する。ここでは、図7のフローチャートを用いて説明した、類似度が最大になる話題の選択処理が用いられる。
【0188】
ステップS125において、文書特徴データベース作成部24は、ステップS124の処理で選択された話題に関連付けられている関連情報(WebページのURLやWebページのタイトルなど)およびその話題の検索用キーワード(重要語)を取得する。
【0189】
ステップS126において、文書特徴データベース作成部24は、ステップS122の処理で抽出されたコンテクストメールの属性情報と、ステップS125の処理で取得した関連情報を検索用キーワードに対応付けてリスト化し、記憶部49に記録する。具体的には、コンテクストメールが時系列順にソートされ、各コンテクストメールに類似する話題に関連付けられている関連情報が時系列順にソートされてリスト化される。または、検索用キーワード(重要語)の重みが大きい順にソートされ、各検索用キーワードに対応する関連情報がソートされてリスト化される。なお、リストの順番は、これに限られるものではない。
【0190】
以上の処理によって、定期的に提示するための関連情報が提示順にリスト化されて記録される。
【0191】
次に、図36のフローチャートを参照して、関連情報の定期的提示処理について説明する。この関連情報の定期的提示処理は、図6を用いて上述した関連情報提示処理と同様に、エージェントプログラム1が実行されている間、繰り返して実行される。
【0192】
ステップS131において、エージェントプログラム1は、入力部46に入力されるユーザからのコマンドによって、エージェントプログラム1の終了が指示されたか否かを判定し、エージェントプログラム1の終了が指示されていないと判定した場合、ステップS132に進む。
【0193】
ステップS132において、イベント管理部31は、タイマ31Aを監視し、所定時間(例えば、10分)が経過したか否か、すなわち、関連情報提示のタイミングであるか否かを判定し、所定時間が経過していないと判定した場合、ステップS131に戻り、上述した処理が繰り返し実行される。
【0194】
ステップS132において、所定時間が経過したと判定された場合、ステップS133に進み、イベント管理部31は、所定時間が経過した(関連情報提示のタイミングである)旨をデータベース問い合わせ部32に通知する。データベース問い合わせ部32は、イベント管理部31からの通知に対応して、データベースを参照し、定期的に提示するために提示順にリスト化されている関連情報のうち、次に提示すべき(優先度の高い)関連情報を取得し、イベント管理部31を介して、あるいは、直接、関連情報提示部33に供給する。
【0195】
ステップS134において、エージェント制御部13は、ステップS133の処理で取得された関連情報に対応するコンテクストメールの属性情報を、選択(推薦)した理由としてデスクトップに表示させ、関連情報提示部33は、データベース問い合わせ部32から供給された関連情報をデスクトップに表示させる。また、推薦理由は表示しなくてもよく、エージェントプログラム1の規定により表示するか否かを設定するようにするか、あるいは、ユーザにより、表示するか否かを任意に設定できるようにする。
【0196】
なお、図6のステップS16の処理で説明したように、関連情報を表示するか否かユーザに問う入力ウィンドウ81(図19)をデスクトップに表示させるようにしてもよい。その場合、エージェントプログラム1は、入力部46に入力されるユーザからのコマンドによって、ステップS134の処理で表示された入力ウィンドウ81に呼応して、ユーザが「見る」ボタンを選択したか否かを判定し、「見る」ボタンが選択されたとき、関連情報提示部33は、関連情報をデスクトップに表示させる。
【0197】
ステップS135において、エージェントプログラム1は、入力部46に入力されるユーザからのコマンドによって、ステップS134の処理により関連情報として表示されたWebページのタイトルに対して、ユーザがアクセスを指令したと判定した場合、ステップS136に進む。ステップS136において、WWWブラウザが起動され、対応するWebページへのアクセスが行われる。
【0198】
ステップS135において、ステップS134の処理により関連情報として表示されたWebページのタイトルに対して、ユーザが記録を指令したと判定された場合、ステップS137に進む。ステップS137において、エージェントプログラム1は、対応するWebページのタイトルおよびURLをスクラップ帳ウィンドウ74(図14)に記録する。なお、ステップS135において、ステップS134の処理により関連情報として表示されたWebページのタイトルに対して、ユーザから何の指令もなされずに所定の時間が経過したと判定された場合、ステップS136またはステップS137の処理はスキップされて、ステップS138に進む。なお、推薦されたURLやタイトルの履歴は自動的に記録されるようにしてもよい。
【0199】
ステップS138において、データベース問い合わせ部32は、いま表示した関連情報をリスト(データベース)から削除し、ステップS139において、定期的に提示するためにリスト化されている残りの関連情報が所定数(例えば、5個)以上あるか否かを判定し、所定数以上ないと判定した場合、ステップS140に進む。ステップS140において、図35を用いて上述した関連情報取得処理が実行される。
【0200】
すなわち、定期的に提示するためにリスト化されていた関連情報が不足していまい、それ以降推薦することができないという事態を避けるために、ステップS139の判定処理が実行される。そして、予めリストに用意した関連情報の残りが所定数より少なくなった場合、ステップS140の関連情報取得処理が再実行される。
【0201】
この場合、関連情報が記録されているデータベースに、どの関連情報が定期的に推薦するために使用されたのかを示すデータを付加しておく。このようにすることで、ステップS140の関連情報取得処理が再実行された場合、未使用の(使用されたというデータが付加されていない)関連情報を取得(補給)することができる。あるいは、定期的に推薦するために使用された関連情報は、データベースから削除しておき、データベースに残されている関連情報から取得するようにしてもよい。
【0202】
このような手法を用いることにより、同一の関連情報を何度も提示するような事態の発生を抑制することができる。
【0203】
ステップS139において、定期的に提示するためにリスト化されている残りの関連情報が所定数以上あると判定された場合、または、ステップS140の処理の後、ステップS131に戻り、上述した処理が繰り返し実行される。さらにステップS131において、ユーザによりエージェントプログラム1の終了が指示されたと判定された場合、処理は終了される。
【0204】
このように、エージェントプログラム1を実行中、所定の期間毎に、提示用リストにリストアップされている関連情報が順次提示される。ただし、関連情報が定期的に提示されるタイミングと、イベント発生に対応して関連情報が提示されるタイミングが重なる場合、いずれの推薦方法を利用するかの優先順位を予め設定しておくようにすることができる。通常は、イベント発生に対応して提示される関連情報を優先する方が、ユーザに対して、より興味のある情報を提示することができる。
【0205】
次に、図37のフローチャートを参照して、図36を用いて説明した、関連情報の定期的提示処理のうち、主にエージェントの動作および台詞等について、詳細に説明する。
【0206】
例えば、エージェントプログラム1が起動されている状態において、ステップS151において(図36のステップS132に対応する)、関連情報提示のタイミングであるか否かが判定され、関連情報提示のタイミングであると判定されるまで待機する。この間に、図36のステップS133の処理(ユーザに推薦する関連情報を取得する処理)が実行される。
【0207】
ステップS151において、関連情報提示のタイミングであると判定された場合、ステップS152に進み、エージェント制御部13は、例えば、図38に示されるように、ユーザが、現在作業中(使用中)のウィンドウ(以下、作業中ウィンドウと記載する)111の表示と重畳しない位置に、エージェント72を表示(登場)させる。
【0208】
なお、エージェント72の登場は、例えば、図15A乃至図15Dに示した画像が順次表示されることによって、エージェント72が前転しながらデスクトップ上に出現する動画が表現される。エージェント72の登場とともに、エージェント72の台詞として吹き出し73と、保存されている関連情報が一覧表示されているスクラップ帳ウィンドウ74が表示される。吹き出し73の中には、例えば、登場の挨拶「こんにちは、SAITOさん!」と、自己紹介「ぼく、alfだよ。」の台詞が表示される。
【0209】
ただし、関連情報が提示される毎に、「こんにちは、SAITOさん!ぼく、alfだよ。」の台詞が表示されると、ユーザにとっては、煩わしいと感じることがあるため、例えば、そのような自己紹介付きの挨拶は、その日の最初(1回目)の関連情報提示のタイミング時にのみ表示させるようにして、その日の2回目以降の関連情報提示のタイミング時には、何も表示させないか、あるいは、例えば、「こんにちは!」のみの台詞を表示させるようにする。また、エージェント72の動作も、時間がかかる動作ではなく、比較的短い時間で表示されるような動作に変更してもよい。
【0210】
また、吹き出し73の表示と同期して、吹き出し73に表示された台詞と同じ意味を持つ言語(いまの場合、日本語)もしくは同じ意味を持つ他の言語(例えば、英語)の音声信号が同期して出力されるようにしてもよい。
【0211】
ステップS153(図36のステップS134に対応する)において、エージェント制御部13は、エージェント72の吹き出し73に、例えば、「(タイトル)というメールがあったよね。その中にでてきた(キーワード)について、関連するページを見つけたよ。見てみる?」と表示させる(図20)。また例えば、台詞の前半を「最近、(タイトル)というメールがあったね。」や「このメール、過去の(タイトル)に似ているね。」などと表示させてもよい。
【0212】
吹き出し73に隣接する位置には、入力ウィンドウ81(図20)が表示される。そして、ステップS154において、エージェント制御部13は、入力ウィンドウ81が表示された状態で、エージェント72の表示を、図17に示した待機中の様子を示す動画に推移させる。ステップS155において、エージェントプログラム1は、入力ウィンドウ81の中の「見る」と示されたボタン、「見ない」と示されたボタン、または「背景をもう一度教えて」と示されたボタンのいずれがユーザにより選択されたか否かを判定する。
【0213】
ステップS155において、入力ウィンドウ81の「見る」と示されたボタンが選択されたと判定された場合、ステップS156に進む。ステップS156(図36のステップS134に対応する)において、エージェント制御部13は、関連情報として推薦URL91を表示させ、エージェント72の表示を、表示された推薦URL91を指し示す動画に推移させるとともに、吹き出し73に、台詞「どう?」を表示させる(図22)。
【0214】
なお、関連情報の定期的提示処理の場合には、関連情報の有無を問う入力ウィンドウ81を表示せずに(ステップS153乃至S155の処理を実行せずに)、エージェント72の登場とともに、関連情報を提示(推薦)するようにしてもよい。
【0215】
ステップS157(図36のステップS135に対応する)において、エージェントプログラム1は、表示した推薦URL91に対するユーザのコマンドを検出する。表示される推薦URL91に対するユーザのコマンドとしては、記録、アクセス、または消去等がある。
【0216】
ステップS157において、推薦URL91に対する記録コマンドが検出された場合、ステップS158(図36のステップS137に対応する)において、エージェント制御部13は、エージェント72の表示を、例えば、図23に示したように、頷く動作に推移させる。スクラップ帳ウィンドウ74の中に、記録が指示された推薦URL91に対応するWebページのタイトルが追加される。
【0217】
また、ステップS157で、推薦URL91に対するアクセスコマンドが検出された場合、ステップS74(図36のステップS136に対応する)において、エージェント制御部13は、エージェント72の表示を、例えば、図24Aおよび図24Bに示したように、笑顔となって喜ぶ様子に推移させる。吹き出し73には、「わーい」と表示され、対応する音声信号が出力される。
【0218】
また、ステップS157で、推薦URL91に対する消去コマンドが検出された場合、ステップS158において、エージェント制御部13は、エージェント72の表示を、例えば、図25Aおよび図25Bに示したように、泣き顔となって悲しみ失望した様子に推移させる。吹き出し73には、「だめかぁ」と表示され、対応する音声信号が出力される。
【0219】
ステップS158の処理を終了した後、エージェント72の消去とともに、吹き出し73、スクラップ帳ウィンドウ74、および推薦URL91等の表示が消去され、ステップS151に戻り、上述した処理が繰り返し実行される。
【0220】
また、ステップS155において、入力ウィンドウ81の「見ない」と示されたボタンが選択されるか、あるいは、ユーザから何の指令もなされずに所定の時間が経過したと判定された場合、やはり、エージェント72の消去とともに、吹き出し73、スクラップ帳ウィンドウ74、および推薦URL91等の表示が消去され、ステップS151に戻り、上述した処理が繰り返し実行される。
【0221】
さらに、ステップS155において、入力ウィンドウ81の「背景をもう一度教えて」と示されたボタンが選択されたと判定された場合、ステップS153に戻り、ステップS153乃至S155の処理が繰り返される。
【0222】
また、図37のフローチャートには図示していないが、エージェント72が表示されている状態で、エージェントプログラム1が終了された場合、エージェント制御部13は、エージェント72を、例えば、図30Aおよび図30Bに示した画像で表現される「消失」の状態に推移させるようにしてもよい。
【0223】
以上のように、エージェントプログラム1が実行中において、メーラ2が起動されていなくても(イベントが発生しなくても)、定期的に関連情報を推薦するとともに、その一連の処理に対応して、エージェント72が動作することができる。
【0224】
また、上述したように、イベント発生に対応した関連情報の推薦方法、および、定期的な関連情報の推薦方法といったように2つ以上の推薦方法がある場合、エージェント72の提示動作を変化させるようにすることもできる。
【0225】
例えば、関連情報の定期的提示処理の場合、エージェント72の表示を、図39に示される画像で表現される「控えめな推薦」の状態にする。すなわち、定期的推薦の場合は、その時点においてユーザの作業状況と関連性が高いものではないため、エージェント72をユーザが煩わしさを感じない程度(控えめ)に表示させるようにし、また、エージェント72の台詞に関しても、ユーザからの要求がない限り提示させないようにする。
【0226】
また例えば、イベント発生時における関連情報の提示処理の場合、エージェント72の表示を、図40A乃至図40Eに示される画像で表現される「積極的な推薦」の状態にする。具体的には、図40A乃至図40Eに示す画像が順次表示されることによって、エージェント72が飛び跳ね回転しながら、関連情報を強くアピールするようにする。
【0227】
このようにすることで、ユーザは、動作の激しいエージェント72が提示している関連情報は、いま自分が特に興味があると思われる情報であると判断することができる。また、ユーザは、控えめな動作のエージェント72が提示している関連情報は、作業状況に関連するものではないが、意外性のある情報であると判断して、作業の合間などに見ることができる。
【0228】
ところで、ユーザは、日々メールのやりとりをしている場合が多く、その都度、新規の受信メールや新規の送信メールが増えていく。そのため、メールが蓄積される毎に、図35を用いて上述した関連情報取得処理を実行すると(コンテクストメールを更新し、関連情報を再取得すると)、処理回数が増えてしまう。そこで、所定の期間毎に関連情報リストの更新を実行するようにする。
【0229】
次に、図41のフローチャートを参照して、関連情報リストの更新処理について説明する。
【0230】
ステップS171において、エージェントプログラム1のイベント管理部31は、内蔵のタイマ31Aを監視し、更新が必要か否か、すなわち、所定期間(例えば、1週間)が経過したか否かを判定し、更新が必要であると判定されるまで監視を続ける。そして、ステップS171において、更新が必要であると判定された場合、ステップS172に進み、図35を用いて上述した関連情報取得処理が実行され、データベースに蓄積されている関連情報リストが更新される。
【0231】
従って、図42に示されるように、所定の期間Aに蓄積されたコンテクストメールから、そのメールに対応する関連情報が取得され、取得された関連情報を次の期間(いまの場合、期間B)で推薦するために提示順にリスト化される。そして、期間Aに取得された関連情報が期間Bにおいて、リスト順に定期的に推薦される。
【0232】
さらに、所定の期間Bに蓄積されたコンテクストメールから、そのメールに対応する関連情報が取得され、取得された関連情報を次の期間(いまの場合、期間C)で推薦するために提示順にリスト化される。そして、期間Bに取得された関連情報が期間Cにおいて、リスト順に定期的に推薦される。
【0233】
このように、所定の期間毎に関連情報リストを更新することによって、処理回数を減らすとともに、関連する話題を検索する際に、ユーザが忘れていると思われる古すぎる話題や意外性のない新しすぎる話題を避ける処理における設定時期も時系列的に新しい期間に移行されるため、新しすぎる情報や古すぎる情報が提示されることも避けることができる。
【0234】
またさらに、以上においては、エージェントプログラム1の実行中、関連情報の定期的提示処理が繰り返し実行されるものとして説明したが、これに限らず、図43および図44を用いて次に説明する特定のアプリケーションの動作に応じて、関連情報の定期的提示処理を実行することも可能である。
【0235】
まず、図43のフローチャートを参照して、特定アプリケーションのアクティブ時における関連情報の定期的提示処理について説明する。この処理は、エージェントプログラム1が実行する処理のうちの1つであり、エージェントプログラム1の起動とともに開始され、エージェントプログラム1が終了されるまで繰り返し実行される。
【0236】
ステップS181において、エージェントプログラム1のイベント管理部31は、内蔵のタイマ31Aを用いて、定期的に特定のアプリケーションの状態を監視し、特定のアプリケーション(例えば、メーラ2)がアクティブであるか否かを判定し、特定のアプリケーションがアクティブになるまで判定処理を繰り返し実行する。未だ、この時点では、関連情報の定期的提示処理は、実行されていない。
【0237】
ステップS181において、特定のアプリケーションがアクティブであると判定された場合、ステップS182に進み、図36を用いて上述した関連情報の定期的提示処理が実行される。その後、ステップS181に戻り、上述した処理が繰り返し実行される。
【0238】
ステップS181において、特定のアプリケーションがアクティブではなくなったと判定された場合、ステップS183に進み、エージェントプログラム1は、関連情報の定期的提示処理を一時停止させる。その後、ステップS181に戻り、上述した処理が繰り返し実行される。
【0239】
この処理によって、特定のアプリケーションがアクティブの間、関連情報の定期的提示処理が繰り返し実行される。例えば、メーラ2がアクティブになるタイミングを検知し、そこから、メーラ2が非アクティブになるまでの間、定期的に関連情報を推薦することによって、ユーザは、メール2の内容に関連する情報を受け入れやすくなる。
【0240】
次に、図44のフローチャートを参照して、特定アプリケーションのアクティブ時における関連情報の非提示処理について説明する。この処理は、エージェントプログラム1が実行する処理のうちの1つであり、エージェントプログラム1の起動とともに開始され、エージェントプログラム1が終了されるまで繰り返し実行される。
【0241】
ステップS191において、図36を用いて説明した関連情報の定期的提示処理が実行される。ステップS192において、エージェントプログラム1のイベント管理部31は、内蔵のタイマ31Aを用いて、定期的に特定のアプリケーションの状態を監視し、特定のアプリケーション(例えば、ワードプロセッサプログラム3)がアクティブであるか否かを判定し、特定のアプリケーションが非アクティブであると判定した場合、ステップS191に戻り、上述した処理を繰り返す。
【0242】
ステップS192において、特定のアプリケーションがアクティブになったと判定された場合、ステップS193に進み、エージェントプログラム1は、関連情報の定期的提示処理を一時停止させ、ステップS192に戻り、上述した処理を繰り返し実行する。
【0243】
この処理によって、特定のアプリケーションがアクティブになったとき、関連情報の定期的提示処理が一時停止され、定期的推薦を行わないようにする。例えば、ワードプロセッサプログラム3などの文書作成や、表計算ソフトなどがアクティブになったタイミングを検知し、そこから非アクティブになるまでの間、定期的推薦を一時停止する。すなわち、ユーザが集中して作業している場合には、推薦が受け入れ難くなっていると判断されるため、集中が必要なアプリケーションのアクティブ時には、定期的推薦をしないようにすることができる。
【0244】
このように、特定のアプリケーションのアクティブおよび非アクティブを検知して、定期的推薦を行ったり、あるいは、定期的推薦をしないようにすることができる。
【0245】
ところで、図35のフローチャートを用いて説明した関連情報の取得処理においては、1通のコンテクストメールに対して、最も類似する話題を抽出し、その話題に対応付けられている関連情報を1つ取得するものとしたが、抽出された話題の特徴ベクトルの値によって、予め用意する関連情報の数を変化させるようにすることもできる。
【0246】
例えば、図45Aに示されるように、コンテクストメールAに最も類似する過去の話題がXであり、その話題Xの特徴ベクトル(単語aの重み,単語bの重み,単語cの重み,単語dの重み)が(0.25,0.07,0,0.11)であった場合、要素の最大値(=0.25)に応じて、図45Bに示されるように、関連情報数が25(個)に変更される。また、コンテクストメールBに最も類似する過去の話題がYであり、その話題Yの特徴ベクトルが(0,0.13,0,0.08)であった場合、要素の最大値(=0.13)に応じて、関連情報数が13(個)に変更される。さらに、コンテクストメールCに最も類似する過去の話題がZであり、その話題Zの特徴ベクトルが(0.35,0.20,0.09,0)であった場合、要素の最大値(0.35)に応じて、関連情報数が35(個)に変更される。
【0247】
このように、コンテクストメールに類似する話題の特徴ベクトルを構成する要素の最大値(話題に含まれる重要語の重み)に応じて、比例的に関連情報の取得数を変更することができる。
【0248】
以上においては、コンテクストメールに類似する話題を抽出し、その話題に対応付けられている関連情報をリスト化し、優先度の高いものから順に提示するようにしたが、これに限らず、ランダムに提示することも勿論可能である。さらに、コンテクストメールに類似する話題に対応付けられている関連情報リストを、所定のイベント発生のタイミングで表示する場合の検索対象としてもよい。すなわち、提示する方法に限らず、検索する話題や関連情報リストを同一にすることも可能である。
【0249】
さらにまた以上においては、イベント発生に対応して関連情報を提示する方法、定期的に関連情報を提示する方法、特定アプリケーションの動作に応じて関連情報を定期的に提示する方法などを説明してきたが、これらの推薦方法の優先順位は、ユーザが任意に設定することができる。従って、例えば、イベント発生に対応する提示処理が最優先に設定されている状態で、イベント発生のタイミングと定期的提示処理のタイミングが重なった場合、設定されている優先順位に基づいて、イベント発生に対応する関連情報が優先して提示される。
【0250】
本発明のエージェントプログラム1は、上述したようにメーラ2によって送受信される文書やワードプロセッサプログラム3で編集される文書の他、例えば、チャット、電子ニュース、電子掲示板等の文書や音声信号をテキスト化した文書など、属性情報としてタイムスタンプが付与されている文書に対応して動作するようにさせることができる。
【0251】
上述した一連の処理を実行するエージェントプログラム1は、パーソナルコンピュータに予め組み込まれるか、あるいは、記録媒体からインストールされる。
【0252】
上述した一連の処理は、ハードウェアに実行させることもできるが、通常、ソフトウェアにより実行させる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するエージェントプログラム1が、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0253】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図2に示されるように、プログラムが記録されている磁気ディスク52(フレキシブルディスクを含む)、光ディスク53(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク54(MD(Mini-Disk)を含む)、もしくは半導体メモリ55などよりなるパッケージメディア、または、プログラムが一時的もしくが永続的に記録されるROM42や記憶部49を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインターフェースを介して、公衆回線網、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0254】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0255】
【発明の効果】
本発明の情報処理装置および方法、並びにプログラムによれば、既存の文書情報に対応付ける関連情報を取得し、所定の文書情報に基づいて、既存の文書情報の検索方法を選択し、選択された検索方法に基づいて、所定の文書情報に関連する既存の文書情報を検索し、検索された既存の文書情報に対応付けられている関連情報を表示するようにしたので、状況に応じて、タイミングを逸せずに関連情報を提示することができる。
【図面の簡単な説明】
【図1】本発明を適用したエージェントプログラムの機能ブロックの一構成例を示す図である。
【図2】エージェントプログラムをインストールして実行させるパーソナルコンピュータの構成例を示すブロック図である。
【図3】エージェントプログラムのデータベース作成処理を説明するフローチャートである。
【図4】図3のステップS5の処理を説明するための図である。
【図5】図3のステップS5の処理を説明するための他の図である。
【図6】エージェントプログラムの関連情報提示処理を説明するフローチャートである。
【図7】図6のステップS14の処理における、類似度に基づいた話題の選択処理を説明するフローチャートである。
【図8】図7の処理を説明するための図である。
【図9】図6のステップS14の処理における、類似度に基づいた話題の選択処理を説明するフローチャートである。
【図10】図9の処理を説明するための図である。
【図11】図6のステップS15の処理を説明するための図である。
【図12】図6のエージェントの動作等を説明するフローチャートである。
【図13】図12のステップS81の待機中の処理の詳細を説明するフローチャートである。
【図14】デスクトップ上に表示されたエージェントの表示例を示す図である。
【図15】エージェントが登場するときの表示例を示す図である。
【図16】エージェントの台詞である吹き出しの表示例を示す図である。
【図17】エージェントが待機中であるときの表示例を示す図である。
【図18】エージェントが作業中であるときの表示例を示す図である。
【図19】デスクトップ上に表示された入力ウィンドウの表示例を示す図である。
【図20】入力ウィンドウの表示例を示す図である。
【図21】デスクトップ上に表示された推薦URLの表示例を示す図である。
【図22】エージェンが指示中であるときの表示例を示す図である。
【図23】デスクトップ上に表示されたスクラップ帳ウィンドウの表示例を示す図である。
【図24】エージェントが喜びの状態であるときの表示例を示す図である。
【図25】エージェントが悲しみの状態であるときの表示例を示す図である。
【図26】エージェントが横方向に移動するときの表示例を示す図である。
【図27】エージェントが縦方向に移動するときの表示例を示す図である。
【図28】エージェントが遊びの状態であるときの表示例を示す図である。
【図29】エージェントが睡眠の状態であるときの表示例を示す図である。
【図30】エージェントが立ち去るときの表示例を示す図である。
【図31】メニューボックスの表示例を示す図である。
【図32】設定画面の表示例を示す図である。
【図33】エージェントプログラムのデータベース更新処理を説明するフローチャートである。
【図34】データベースを更新させる条件を入力するユーザインタフェースの表示例を示す図である。
【図35】エージェントプログラムの関連情報取得処理を説明するフローチャートである。
【図36】エージェントプログラムの関連情報の定期的提示処理を説明するフローチャートである。
【図37】図36のエージェントの動作等を説明するフローチャートである。
【図38】デスクトップ上に表示されたエージェントの表示例を示す図である。
【図39】定期的推薦の場合におけるエージェントの表示例を示す図である。
【図40】イベント発生時の推薦の場合におけるエージェントの表示例を示す図である。
【図41】エージェントプログラムの関連情報リストの更新処理を説明するフローチャートである。
【図42】図41の処理を説明するための図である。
【図43】特定アプリケーションのアクティブ時における関連情報提示処理を説明するフローチャートである。
【図44】他の例の特定アプリケーションのアクティブ時における関連情報提示処理を説明するフローチャートである。
【図45】話題の特徴ベクトルによって、用意する関連情報の数を変化させる例を説明する図である。
【符号の説明】
1 エージェントプログラム, 2 メーラ, 11 蓄積部, 12 提示部, 13 エージェント制御部, 21 文書取得部, 22 文書属性処理部, 23 文書内容処理部, 24 文書特徴データベース作成部, 25 関連情報検索部, 31 イベント管理部, 32 データベース問い合わせ部, 33 関連情報提示部, 52 磁気ディスク, 53 光ディスク, 54 光磁気ディスク, 55 半導体メモリ, 72 エージェント, 73 吹き出し, 74 スクラップ帳ウィンドウ, 81 入力ウィンドウ, 91推薦URL
Claims (14)
- 既存の文書情報および所定の文書情報に関連する関連情報を、情報を表示する表示部に表示させることにより、前記関連情報をユーザに提示する情報処理装置において、
前記既存の文書情報に対応付ける前記関連情報を取得する取得手段と、
前記所定の文書情報に基づいて、前記既存の文書情報の検索方法を選択する検索方法選択手段と、
前記検索方法選択手段により選択された前記検索方法に基づいて、前記所定の文書情報に関連する前記既存の文書情報を検索する検索手段と、
前記検索手段により検索された前記既存の文書情報に対応付けられている前記関連情報の前記表示部への表示を制御する表示制御手段と
を備え、
前記検索方法選択手段は、前記検索手段による検索に要する処理時間に応じて、
複数の前記既存の文書情報のすべてについて前記所定の文書情報との類似度を算出し、前記類似度が最大になる前記既存の文書情報を検索する検索方法、
または所定の順序リストの順番で複数の前記既存の文書情報のうちの1つを選択し、選択した前記既存の文書情報について前記所定の文書情報との類似度を算出し、所定の閾値以上の前記類似度を算出したか否かを判定することを繰り返すことにより、前記類似度が所定の閾値以上になる前記既存の文書情報を検索する検索方法
を選択し、
前記表示制御手段は、
前記所定の文書情報に関連する前記検索手段により検索された前記既存の文書情報に対応付けられている前記関連情報である第1の関連情報を所定の提示順リストにリスト化し、前記第1の関連情報を前記所定の提示順リストの順番で定期的に前記表示部に表示させ、
所定のイベント発生に対応する前記所定の文書情報に関連する前記検索手段により検索された前記既存の文書情報に対応付けられている前記関連情報である第2の関連情報を前記所定のイベント発生時に前記表示部に表示させ、
前記第1の関連情報を前記表示部に表示させるタイミングと前記第2の関連情報を前記表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、前記第1の関連情報または前記第2の関連情報のいずれか一方を前記表示部に表示させる
ことを特徴とする情報処理装置。 - 複数の前記既存の文書情報を前記順序リストにリスト化するリスト化手段と、
前記リスト化手段によりリスト化された前記順序リストの順序を変更するリスト変更手段と
をさらに備え、
前記検索手段は、前記リスト化手段により、前記順序リストにリスト化されている前記既存の文書情報との類似度を算出して、前記類似度が所定の閾値以上になる前記既存の文書情報を検索し、
前記リスト変更手段は、前記検索手段により検索された前記既存の文書情報の前記順序リストにおける順序を変更する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記所定の閾値を前記既存の文書量に応じて設定する閾値設定手段をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。 - 前記既存の文書情報および前記所定の文書情報から属性情報を抽出する属性情報抽出手段をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。 - 前記属性情報抽出手段により抽出された前記属性情報に基づいて、1または複数の前記既存の文書情報をグループ化して文書情報群を作成するグループ化手段をさらに備え、
前記取得手段は、前記文書情報群に対応付ける前記関連情報を取得し、
前記検索手段は、前記所定の文書情報に関連する前記文書情報群を検索する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記既存の文書情報の特徴語に関連付けて、前記取得手段により取得された前記関連情報を用いてデータベースを構築するデータベース構築手段をさらに備え、
前記検索手段は、前記データベース構築手段により構築された前記データベースから、前記所定の文書情報に関連する前記既存の文書情報を検索する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記イベント発生を検知する検知手段をさらに備える
ことを特徴とする請求項1に記載の情報処理装置。 - 前記既存の文書情報および前記所定の文書情報は電子メールである
ことを特徴とする請求項1に記載の情報処理装置。 - 既存の文書情報および所定の文書情報に関連する関連情報を、情報を表示する表示部に表示させることにより、前記関連情報をユーザに提示する情報処理装置の情報処理方法において、
前記既存の文書情報に対応付ける前記関連情報の取得を制御する取得制御ステップと、
前記所定の文書情報に基づいて、前記既存の文書情報の検索方法を選択する検索方法選択ステップと、
前記検索方法選択ステップの処理により選択された前記検索方法に基づいて、前記所定の文書情報に関連する前記既存の文書情報を検索する検索ステップと、
前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報の前記表示部への表示を制御する表示制御ステップと
を含み、
前記検索方法選択ステップの処理において、前記検索ステップの処理による検索に要する処理時間に応じて、
複数の前記既存の文書情報のすべてについて前記所定の文書情報との類似度を算出し、前記類似度が最大になる前記既存の文書情報を検索する検索方法、
または所定の順序リストの順番で複数の前記既存の文書情報のうちの1つを選択し、選択した前記既存の文書情報について前記所定の文書情報との類似度を算出し、所定の閾値以上の前記類似度を算出したか否かを判定することを繰り返すことにより、前記類似度が所定の閾値以上になる前記既存の文書情報を検索する検索方法
を選択し、
前記表示制御ステップの処理において、
前記所定の文書情報に関連する前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報である第1の関連情報を所定の提示順リストにリスト化し、前記第1の関連情報を前記所定の提示順リストの順番で定期的に前記表示部に表示させ、
所定のイベント発生に対応する前記所定の文書情報に関連する前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報である第2の関連情報を前記所定のイベント発生時に前記表示部に表示させ、
前記第1の関連情報を前記表示部に表示させるタイミングと前記第2の関連情報を前記表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、前記第1の関連情報または前記第2の関連情報のいずれか一方を前記表示部に表示させる
ことを特徴とする情報処理方法。 - 既存の文書情報および所定の文書情報に関連する関連情報を、情報を表示する表示部に表示させることにより、前記関連情報をユーザに提示する情報処理装置を制御するプログラムであって、
前記既存の文書情報に対応付ける前記関連情報の取得を制御する取得制御ステップと、
前記所定の文書情報に基づいて、前記既存の文書情報の検索方法を選択する検索方法選択ステップと、
前記検索方法選択ステップの処理により選択された前記検索方法に基づいて、前記所定の文書情報に関連する前記既存の文書情報を検索する検索ステップと、
前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報の前記表示部への表示を制御する表示制御ステップと
を含み、
前記検索方法選択ステップの処理において、前記検索ステップの処理による検索に要する処理時間に応じて、
複数の前記既存の文書情報のすべてについて前記所定の文書情報との類似度を算出し、前記類似度が最大になる前記既存の文書情報を検索する検索方法、
または所定の順序リストの順番で複数の前記既存の文書情報のうちの1つを選択し、
選択した前記既存の文書情報について前記所定の文書情報との類似度を算出し、所定の閾値以上の前記類似度を算出したか否かを判定することを繰り返すことにより、前記類似度が所定の閾値以上になる前記既存の文書情報を検索する検索方法
を選択し、
前記表示制御ステップの処理において、
前記所定の文書情報に関連する前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報である第1の関連情報を所定の提示順リストにリスト化し、前記第1の関連情報を前記所定の提示順リストの順番で定期的に前記表示部に表示させ、
所定のイベント発生に対応する前記所定の文書情報に関連する前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報である第2の関連情報を前記所定のイベント発生時に前記表示部に表示させ、
前記第1の関連情報を前記表示部に表示させるタイミングと前記第2の関連情報を前記表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、前記第1の関連情報または前記第2の関連情報のいずれか一方を前記表示部に表示させる
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 既存の文書ファイルおよび所定の文書ファイルに関連する関連情報を、情報を表示する表示部に表示させることにより、前記関連情報をユーザに提示する情報処理装置を制御するコンピュータに、
前記既存の文書情報に対応付ける前記関連情報の取得を制御する取得制御ステップと、
前記所定の文書情報に基づいて、前記既存の文書情報の検索方法を選択する検索方法選択ステップと、
前記検索方法選択ステップの処理により選択された前記検索方法に基づいて、前記所定の文書情報に関連する前記既存の文書情報を検索する検索ステップと、
前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報の前記表示部への表示を制御する表示制御ステップと
を含み、
前記検索方法選択ステップの処理において、前記検索ステップの処理による検索に要する処理時間に応じて、
複数の前記既存の文書情報のすべてについて前記所定の文書情報との類似度を算出し、前記類似度が最大になる前記既存の文書情報を検索する検索方法、
または所定の順序リストの順番で複数の前記既存の文書情報のうちの1つを選択し、
選択した前記既存の文書情報について前記所定の文書情報との類似度を算出し、所定の閾値以上の前記類似度を算出したか否かを判定することを繰り返すことにより、前記類似度が所定の閾値以上になる前記既存の文書情報を検索する検索方法
を選択し、
前記表示制御ステップの処理において、
前記所定の文書情報に関連する前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報である第1の関連情報を所定の提示順リストにリスト化し、前記第1の関連情報を前記所定の提示順リストの順番で定期的に前記表示部に表示させ、
所定のイベント発生に対応する前記所定の文書情報に関連する前記検索ステップの処理により検索された前記既存の文書情報に対応付けられている前記関連情報である第2の関連情報を前記所定のイベント発生時に前記表示部に表示させ、
前記第1の関連情報を前記表示部に表示させるタイミングと前記第2の関連情報を前記表示部に表示させるタイミングとが重なる場合、予め設定された優先順位により、前記第1の関連情報または前記第2の関連情報のいずれか一方を前記表示部に表示させる
処理を実行させるプログラム。 - 前記既存の文書情報および前記所定の文書情報から属性情報を抽出する属性情報抽出ステップをさらに含む
ことを特徴とする請求項11に記載のプログラム。 - 前記属性情報抽出ステップの処理により抽出された前記属性情報に基づいて、1または複数の前記既存の文書情報をグループ化して文書情報群を作成するグループ化ステップをさらに含む
ことを特徴とする請求項12に記載のプログラム。 - 前記既存の文書情報の特徴語に関連付けて、前記取得制御ステップの処理により取得が制御された前記関連情報を用いてデータベースを構築するデータベース構築ステップをさらに含む
ことを特徴とする請求項11に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001379512A JP4088950B2 (ja) | 2001-12-13 | 2001-12-13 | 情報処理装置および方法、記録媒体、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001379512A JP4088950B2 (ja) | 2001-12-13 | 2001-12-13 | 情報処理装置および方法、記録媒体、並びにプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003178075A JP2003178075A (ja) | 2003-06-27 |
JP2003178075A5 JP2003178075A5 (ja) | 2005-07-28 |
JP4088950B2 true JP4088950B2 (ja) | 2008-05-21 |
Family
ID=19186851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001379512A Expired - Fee Related JP4088950B2 (ja) | 2001-12-13 | 2001-12-13 | 情報処理装置および方法、記録媒体、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4088950B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4543749B2 (ja) * | 2004-05-24 | 2010-09-15 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
JP4492214B2 (ja) * | 2004-05-24 | 2010-06-30 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US7912806B2 (en) | 2005-02-21 | 2011-03-22 | Brother Kogyo Kabushiki Kaisha | System and device for providing contents |
WO2006115718A2 (en) * | 2005-04-25 | 2006-11-02 | Microsoft Corporation | Associating information with an electronic document |
US7653627B2 (en) * | 2005-05-13 | 2010-01-26 | Microsoft Corporation | System and method for utilizing the content of an online conversation to select advertising content and/or other relevant information for display |
US8751559B2 (en) | 2008-09-16 | 2014-06-10 | Microsoft Corporation | Balanced routing of questions to experts |
JP5324903B2 (ja) * | 2008-12-10 | 2013-10-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 類似度計算装置、方法及びプログラム、データ検索システム及び方法 |
US9195739B2 (en) | 2009-02-20 | 2015-11-24 | Microsoft Technology Licensing, Llc | Identifying a discussion topic based on user interest information |
JP4821894B2 (ja) * | 2009-07-17 | 2011-11-24 | ブラザー工業株式会社 | コンテンツ出力システムおよびプログラム |
JP5935640B2 (ja) * | 2012-10-01 | 2016-06-15 | ソニー株式会社 | 情報処理装置、表示制御方法及びプログラム |
JP6173990B2 (ja) | 2014-09-16 | 2017-08-02 | 株式会社東芝 | 検索支援装置、方法およびプログラム |
-
2001
- 2001-12-13 JP JP2001379512A patent/JP4088950B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003178075A (ja) | 2003-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4608740B2 (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP4082059B2 (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2003242176A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
US7693856B2 (en) | Methods and systems for managing data | |
JP5224868B2 (ja) | 情報推薦装置および情報推薦方法 | |
US7694223B2 (en) | Methods and systems for recording user actions in computer programs | |
US20170147573A1 (en) | Adaptive image browsing | |
US8918401B1 (en) | Systems and methods for providing searchable prior history | |
CN100397329C (zh) | 用于提供充足最小化应用程序的系统和方法 | |
US20100257179A1 (en) | Methods and systems for managing data | |
JP4088950B2 (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
US20060101102A1 (en) | Method for organizing a plurality of documents and apparatus for displaying a plurality of documents | |
EP1122015A2 (en) | Electronic manual search system, searching method, and storage medium | |
JP2002082748A (ja) | ユーザ支援装置 | |
JP2001519558A (ja) | パーソナル・コミュニケーション・アシスタントを使って情報を処理する方法 | |
JP4469868B2 (ja) | 説明表現付加装置、プログラムおよび説明表現付加方法 | |
JP2000285134A (ja) | 文書管理方法および文書管理装置および記憶媒体 | |
JP4605415B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP5200699B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2003242173A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP4477931B2 (ja) | 検索リクエスト装置、検索リクエスト方法、検索リクエストプログラムおよび検索リクエストプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
WO2004111879A1 (ja) | ナビゲーションマップ表示方法及びナビゲーションマップ表示システム | |
JP2010250414A (ja) | 情報処理装置 | |
JP2001282812A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2001312738A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070816 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080217 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |