説明

検索支援装置及び方法、ならびに、コンピュータプログラム

【課題】電子メールを利用して検索対象について関連性の高い人物を検索し、提示する。
【解決手段】検索支援装置1は、電子メールのヘッダの情報から取得した、関連する他の電子メールのメッセージIDがメールテーブルに登録されていない場合はスレッドIDを新たに生成し、登録されている場合はメールテーブルからスレッドIDを取得する。そして、ヘッダ情報から取得したメッセージID、送信者及び受信者と、スレッドIDとを設定したレコードをメールテーブルに追加し、電子メールの件名を形態素解析して得たキーワードとスレッドIDとを対応づけてスレッドテーブルに書き込む。検索条件を受けると、キーワードテーブルから一致するキーワードのスレッドIDを取得し、そのスレッドIDで特定されるメールテーブルのレコードから送信者又は受信者として設定されているユーザと、その設定数とを取得し、設定数が多いユーザをスレッドID毎に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索支援装置及び方法、ならびに、コンピュータプログラムに関する。
【背景技術】
【0002】
近年の情報化社会においては、蓄積されている膨大な量の情報から、所望の情報を見出すことが困難となっている。会社などの組織内においては、蓄積された情報を有効活用するためには、単に有効な情報を蓄積するだけではなく、その蓄積された情報を体系的に整理することが必要不可欠である。従来は、共有すべき情報を、ファイルサーバ等の情報共有システムの適切と思われるカテゴリに対応したディレクトリに手動で保存することにより情報共有する方法が一般的であった。
一方、特許文献1には、蓄積された情報としての電子メール(以下、単に「メール」と記載)の中から、返信メール(Re:のメール)などの関連する一連のメールを抽出し、一連のメールについての送信経路と、送信者、受信者などの関与者に関する情報を表示するシステムについて記載されている。また、特許文献2には、蓄積されたメールの情報から、送信元、宛先となっている人物の属性を生成するシステムが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−14903号公報
【特許文献2】特開2001−175680号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したように、情報共有システムの適切と思われるカテゴリに対応したディレクトリに情報を手動で保存することで情報共有する方法では、全ての情報を適切なカテゴリに分類して保存することは困難であり、また、複数のカテゴリに属する場合にうまく分類ができないおそれもある。また、適切なカテゴリに情報が蓄積された場合であっても、時間の経過によって変化する関連人物や関連組織などの情報については反映されない。さらには、蓄積された情報が、知りたいことに関連する情報全てではないことがほとんどである。これらのことは、ある検索対象について知りたいと思っている者にとって、その検索対象に関連する情報をすぐに見つけ出すことのできない原因となっている。そこで、ある検索対象について知りたいと思った場合、その検索対象に最も関連する人物を探し出して問い合わせることが、早く、そして確実に情報を得る方法であるといえる。
しかし、特許文献1、2の技術においては、検索対象について誰が最も関連する人物であるかの情報を検索者に提示するものではない。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、コミュニティ情報としての電子メールを利用して、検索対象について関連性の高い人物を検出し、提示することのできる検索支援装置及び方法、ならびに、コンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明は、各電子メールを特定するメッセージ識別情報と、当該電子メールが属するスレッドを特定するスレッド識別情報と、送信者及び受信者との情報を少なくとも含むレコードからなるメールテーブル、及び、各スレッドのスレッド識別情報と、キーワードとを対応づけた情報を示すキーワードテーブルを記憶する分析結果格納手段と、電子メールを記憶しているメール記憶手段から電子メールを読込むメール読込み手段と、前記メール読込み手段により読込まれた電子メールのヘッダの情報から、関連する他の電子メールのメッセージ識別情報を取得し、取得したメッセージ識別情報が前記メールテーブルに登録されているかを判断するメール分析手段と、前記メール分析手段により、登録されていないと判断された場合は、読込んだ電子メールのスレッド識別情報を新たに生成し、登録されていると判断された場合は、前記関連する他の電子メールのメッセージ識別情報により特定されるメールテーブルのレコードからスレッド識別情報を取得し、読込んだ電子メールのヘッダ情報から取得したメッセージ識別情報、送信者及び受信者と、新たに生成したスレッド識別情報または前記メールテーブルから取得したスレッド識別情報とを設定したレコードを前記メールテーブルに追加するとともに、読込んだ電子メールから得られる情報を形態素解析した結果であるキーワードと、前記スレッド識別情報と対応づけて前記キーワードテーブルに書き込む分析結果出力手段と、検索条件の入力を受ける受付手段と、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報について、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者または受信者として設定されているユーザと、当該ユーザが送信者または受信者として設定されている数とを取得する検索手段と、前記検索手段により取得した数が所定の条件より多いユーザをスレッド識別情報毎に出力する出力制御手段と、を備えることを特徴とする検索支援装置である。
【0007】
また、本発明は、上述する検索支援装置であって、前記出力制御手段は、前記検索手段により取得した数が所定の条件より多いユーザを、当該ユーザが設定されている数に対応した順序で、スレッド識別情報毎に出力することを特徴とする。
【0008】
また、本発明は、上述する検索支援装置であって、前記検索手段は、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報について、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者及び受信者として設定されているユーザの組を取得し、前記出力制御手段は、前記検索手段により取得したユーザの組をスレッド識別情報毎に出力する、ことを特徴とする。
【0009】
また、本発明は、上述する検索支援装置であって、前記検索手段は、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報について、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者及び受信者として設定されているユーザの組を取得し、前記出力制御手段は、前記検索手段により取得したユーザの組に基づいて、当該取得したユーザの組に含まれる複数ユーザ間の相関を示す情報を、スレッド識別情報毎に出力する、ことを特徴とする。
【0010】
また、本発明は、上述する検索支援装置であって、前記検索手段は、前記スレッド識別情報で特定される前記メールテーブルのレコードから、さらに、前記ユーザの組が設定されている数を取得し、前記出力制御手段は、さらに、ユーザの組が設定されている数に対応した情報を出力する、ことを特徴とする。
【0011】
また、本発明は、上述する検索支援装置であって、前記メールテーブルのレコードは、さらに、同報者の情報を含み、前記分析結果出力手段は、前記読込んだ電子メールのヘッダ情報から取得した同報者の情報をさらに設定したレコードを前記メールテーブルに追加し、前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルの各レコードに送信者として設定されているユーザ及び受信者として設定されているユーザに所定のポイントを付与するとともに、同報者として設定されているユーザに前記所定のポイントより所定の重み付けをしたポイントを付与し、前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザを示す情報を、スレッド識別情報毎に出力する、ことを特徴とする。
【0012】
また、本発明は、上述する検索支援装置であって、前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルの各レコードに受信者として設定されているユーザに所定のポイントを付与するとともに、送信者として設定されているユーザに前記所定のポイントより所定の重み付けをしたポイントを付与し、前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザを示す情報を、スレッド識別情報毎に出力する、ことを特徴とする。
【0013】
また、本発明は、上述する検索支援装置であって、前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルの各レコードに設定されている受信者がメーリングリストのアドレスである場合は、送信者として設定されているユーザに所定のポイントを付与し、メーリングリストのアドレスでない場合は、送信者として設定されているユーザ及び受信者として設定されているユーザに所定のポイントを付与し、前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザをスレッド識別情報毎に出力する、ことを特徴とする。
【0014】
また、本発明は、上述する検索支援装置であって、前記分析結果格納手段は、さらに、スレッド識別情報と、当該スレッド識別情報で特定されるスレッドの開始日時の情報を示すスレッドテーブルを記憶し、前記分析結果出力手段は、読み込んだ電子メールのスレッド識別情報を新たに生成したときに、当該スレッド識別情報と、当該電子メールのヘッダの情報から取得した日時の情報を示す開始日時とを対応付けてスレッドテーブルに書き込み、前記検索手段は、さらに、前記キーワードテーブルから取得したスレッド識別情報に対応した開始日時の情報を読み出し、前記出力制御手段は、入力を受けた期間条件に合致する開始日時のスレッド識別情報について前記ユーザまたは前記ユーザの組を出力する、ことを特徴とする。
【0015】
また、本発明は、上述する検索支援装置であって、前記メールテーブルのレコードは、さらに、日付の情報を含み、前記分析結果出力手段は、読込んだ電子メールのヘッダ情報から取得した日付の情報をさらに設定したレコードを前記メールテーブルに追加し、前記検索手段は、前記取得したスレッド識別情報で特定される前記メールテーブルのレコードからさらに日付の情報を取得し、出力制御手段は、前記検索手段により取得した各スレッド識別情報に対応する日付の情報に基づいて、所定の期間毎の電子メール数を示す情報を、各スレッド識別情報毎に出力する、ことを特徴とする。
【0016】
また、本発明は、上述する検索支援装置であって、前記分析結果出力手段は、読込んだ前記電子メールから取得した件名、または、件名及び本文の情報を形態素解析した結果をキーワードとして前記キーワードテーブルに書き込むことを特徴とする。
【0017】
また、本発明は、上述する検索支援装置であって、前記分析結果出力手段は、形態素解析した結果のうち所定の品詞のものをキーワードとして前記キーワードテーブルに書き込むことを特徴とする。
【0018】
また、本発明は、上述する検索支援装置であって、前記分析結果出力手段は、形態素解析した結果のうち、予め決められた不要な文字列を除いたものを、キーワードとして前記キーワードテーブルに書き込むことを特徴とする。
【0019】
また、本発明は、上述する検索支援装置であって、ユーザを特定する情報と、当該ユーザの名前とを対応付けた情報を示す人物テーブルを記憶する人物情報格納手段と、前記メール読込み手段により読込まれた電子メールの本文の情報から、自己紹介に用いられる所定の語句が含まれている行を抽出し、抽出した行を形態素解析して得られた語句のうち固有名詞の語句を選択し、選択した語句と、読込んだ前記電子メールのヘッダ情報から取得した送信者を特定する情報とを対応づけて前記人物テーブルに書き込む人物情報生成手段とをさらに備え、前記出力制御手段は、出力対象の前記ユーザを特定する情報、または、出力対象の前記ユーザの組を構成するユーザを特定する情報に対応して前記人物テーブルから読み出されたユーザの名前を出力する、ことを特徴とする。
【0020】
また、本発明は、上述する検索支援装置であって、前記人物情報生成手段は、前記電子メールの本文の情報に設定されている先頭より所定行数までの行から、自己紹介に用いられる所定の語句が含まれている行を抽出することを特徴とする。
【0021】
また、本発明は、上述する検索支援装置であって、前記人物情報生成手段は、自己紹介に用いられる所定の語句が含まれているとして抽出した行から区切り文字の前または後の語句を抽出して形態素解析を行い、固有名詞として得られた語句と、読込んだ前記電子メールのヘッダ情報から取得した送信者を特定する情報とを対応づけて前記人物テーブルに書き込むことを特徴とする。
【0022】
また、本発明は、上述する検索支援装置であって、前記人物情報生成手段は、送信者を特定する情報として、読込んだ前記電子メールのヘッダ情報から取得した送信者の電子メールアドレスを前記人物テーブルに書き込むことを特徴とする。
【0023】
また、本発明は、上述する検索支援装置であって、前記メール記憶手段は、会議における発話者であるユーザを送信者に、当該会議の参加者を受信者に、当該会議の会議名を件名に、前記発話者であるユーザの発話内容を本文に設定し、かつ、会議に基づき生成されたことを示す情報を含み、関連する他の電子メールのメッセージ識別情報として、当該会議における他の発話内容を設定した他の電子メールのメッセージ識別情報を設定した電子メールを記憶し、前記分析結果出力手段は、読み込んだ電子メールに会議に基づき生成されたことを示す情報が設定されている場合、前記メールテーブルに追加する前記レコードに、会議に基づき生成されたことを示す当該情報をさらに設定し、前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルに設定される各レコードを特定し、特定した各レコードに会議に基づき生成されたことを示す情報が設定されている場合は、当該各レコードに送信者として設定されているユーザに所定のポイントを付与するとともに受信者として設定されているユーザに当該所定のポイントよりも低いポイントを付与し、会議に基づき生成されたことを示す情報が設定されていない場合は、当該各レコードに送信者として設定されているユーザ及び受信者として設定されているユーザに前記所定のポイントよりも重み付けしたポイントを付与し、前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザを示す情報を、スレッド識別情報毎に出力する、ことを特徴とする。
【0024】
また、本発明は、上述する検索支援装置であって、前記検索手段は、前記特定した各レコードに会議の音声に基づいて生成したデータであることを示す情報が設定されている場合は、当該各レコードに送信者として設定されているユーザのみに前記所定のポイントを付与することを特徴とする。
【0025】
また、本発明は、上述する検索支援装置であって、前記検索手段は、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報について、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者及び受信者として設定されているユーザの組と、当該ユーザの組が設定されている数を取得し、当該レコードに会議に基づき生成されたことを示す情報が設定されている場合は、前記各ユーザの組に、所定のポイントを当該ユーザの組が設定されている数に応じて付与し、当該レコードに会議に基づき生成されたことを示す情報が設定されていない場合は、前記各ユーザの組に、前記所定のポイントより重み付けしたポイントを当該ユーザの組が設定されている数に応じて付与し、前記出力制御手段は、各ユーザの組のポイントに対応した情報を出力する、ことを特徴とする。
【0026】
また、本発明は、上述する検索支援装置であって、分析結果出力手段は、読込んだ電子メールに会議に基づき生成されたことを示す情報が設定されている場合、読込んだ電子メールから得られる情報を形態素解析した結果をキーワード候補とし、同一のスレッド識別情報に対応した電子メールから当該キーワード候補が所定回数以上得られた場合に、当該キーワード候補と当該スレッド識別情報とを対応づけて前記キーワードテーブルに書き込む、ことを特徴とする。
【0027】
また、本発明は、上述する検索支援装置であって、会議名と、会議中の音声の音声データと、会議に参加したユーザを示す参加者とを含む会議データを記憶する音声データ記憶手段と、各ユーザの音声の特徴を示すパラメータである音声特徴情報を記憶する発話者データ記憶手段と、前記音声データ記憶手段から会議ファイルを読み出し、読み出した会議ファイル内の音声データを、1人のユーザが発言している発話区間に区切った分割音声データを生成する音声データ分割手段と、前記分割音声データと、前記発話者データ記憶手段に記憶されている各ユーザの音声特徴情報とから発話者であるユーザを特定する発話者認識手段と、前記分割音声データから、発話内容をテキスト化したテキストデータを生成する音声テキスト変換手段と、前記発話者認識手段が特定した発話者を送信者に、前記会議データ内の参加者を受信者に、前記会議データ内の会議名を件名に、前記音声テキスト変換手段が生成したテキストデータを本文に設定するとともに、新たに生成したメッセージ識別情報と、会議に基づき生成されたことを示す情報と、関連する他の電子メールのメッセージ識別情報として、同じ音声データから抽出した他の分割音声データに基づいて生成した電子メールのメッセージ識別情報とを設定した電子メールを生成し、前記メール記憶手段へ書き込むメール変換手段と、をさらに備えることを特徴とする。
【0028】
また、本発明は、上述する検索支援装置であって、前記会議データは、会議開催日時の情報をさらに含み、前記音声データ分割手段は、前記分割音声データにより示される音声に対応した、前記音声データにより示される音声における冒頭からの経過時間を取得し、前記メール変換手段は、前記会議データ内の会議開催日時に、前記音声データ分割手段が取得した経過時間を加算した日時をさらに設定した電子メールを生成する、ことを特徴とする
【0029】
また、本発明は、各電子メールを特定するメッセージ識別情報と、当該電子メールが属するスレッドを特定するスレッド識別情報と、送信者及び受信者との情報を少なくとも含むレコードからなるメールテーブル、及び、各スレッドのスレッド識別情報と、キーワードとを対応づけた情報を示すキーワードテーブルを記憶する分析結果格納手段を備え、所望の情報に関する重要人物を提示して、前記情報の検索を支援する検索支援装置に用いられる検索支援方法であって、メール読込み手段が、電子メールを記憶しているメール記憶手段から電子メールを読込み、メール分析手段が、前記メール読込み手段により読込まれた電子メールのヘッダの情報から、関連する他の電子メールのメッセージ識別情報を取得し、取得したメッセージ識別情報が前記メールテーブルに登録されているかを判断し、分析結果出力手段が、前記メール分析手段により、登録されていないと判断された場合は、読込んだ電子メールのスレッド識別情報を新たに生成し、登録されていると判断された場合は、前記関連する他の電子メールのメッセージ識別情報により特定されるメールテーブルのレコードからスレッド識別情報を取得し、読込んだ電子メールのヘッダ情報から取得したメッセージ識別情報、送信者及び受信者と、新たに生成したスレッド識別情報または前記メールテーブルから取得したスレッド識別情報とを設定したレコードを前記メールテーブルに追加するとともに、読込んだ電子メールから得られる情報を形態素解析した結果であるキーワードと、前記スレッド識別情報と対応づけて前記キーワードテーブルに書き込み、受付手段が、検索条件の入力を受け、検索手段が、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者または受信者として設定されているユーザと、当該ユーザが送信者または受信者として設定されている数とを取得し、出力制御手段が、前記検索手段により取得した数が所定の条件より多いユーザをスレッド識別情報毎に出力する、ことを特徴とする検索支援方法である。
【0030】
また、本発明は、所望の情報に関する重要人物を提示して、前記情報の検索を支援する検索支援装置として用いられるコンピュータを、各電子メールを特定するメッセージ識別情報と、当該電子メールが属するスレッドを特定するスレッド識別情報と、送信者及び受信者との情報を少なくとも含むレコードからなるメールテーブル、及び、各スレッドのスレッド識別情報と、キーワードとを対応づけた情報を示すキーワードテーブルを記憶する分析結果格納手段、電子メールを記憶しているメール記憶手段から電子メールを読込むメール読込み手段、前記メール読込み手段により読込まれた電子メールのヘッダの情報から、関連する他の電子メールのメッセージ識別情報を取得し、取得したメッセージ識別情報が前記メールテーブルに登録されているかを判断するメール分析手段、前記メール分析手段により、登録されていないと判断された場合は、読込んだ電子メールのスレッド識別情報を新たに生成し、登録されていると判断された場合は、前記関連する他の電子メールのメッセージ識別情報により特定されるメールテーブルのレコードからスレッド識別情報を取得し、読込んだ電子メールのヘッダ情報から取得したメッセージ識別情報、送信者及び受信者と、新たに生成したスレッド識別情報または前記メールテーブルから取得したスレッド識別情報とを設定したレコードを前記メールテーブルに追加するとともに、読込んだ電子メールから得られる情報を形態素解析した結果であるキーワードと、前記スレッド識別情報と対応づけて前記キーワードテーブルに書き込む分析結果出力手段、検索条件の入力を受ける受付手段、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者または受信者として設定されているユーザと、当該ユーザが送信者または受信者として設定されている数とを取得する検索手段、前記検索手段により取得した数が所定の条件より多いユーザをスレッド識別情報毎に出力する出力制御手段、として機能させることを特徴とするコンピュータプログラムである。
【発明の効果】
【0031】
本発明によれば、ある検索対象につての重要人物を提示することができ、また、重要人物間のつながりも把握可能となる。また、例えば、システム開発などの場合、仕様検討段階、プログラム設計段階、テスト段階、導入段階など、開発がすすむにつれて関連する人物や組織が変化していくが、本発明では、特定の時期において重要な人物を提示することや、重要な人物や組織が変化していく流れも把握可能となる。
【図面の簡単な説明】
【0032】
【図1】本発明の第1の実施形態による検索支援装置の機能ブロック図である。
【図2】同実施形態によるメールテーブルのデータ構成図である。
【図3】同実施形態によるスレッドテーブルのデータ構成図である。
【図4】同実施形態によるキーワードテーブルのデータ構成図である。
【図5】同実施形態によるメール収集部の分析処理フローを示す図である。
【図6】メールヘッダの例である。
【図7】同実施形態によるメールテーブルの設定例を示す図である。
【図8】同実施形態によるスレッドテーブルの設定例を示す図である。
【図9】同実施形態によるキーワードテーブルの設定例を示す図である。
【図10】同実施形態による検索処理部のスレッド検索処理フローを示す図である。
【図11】同実施形態による検索処理部の人物相関テーブル作成処理フローを示す図である。
【図12】同実施形態による検索処理部の重要人物テーブル作成処理フローを示す図である。
【図13】同実施形態による出力制御部の結果表示処理フローを示す図である。
【図14】同実施形態によるメールテーブルの設定例を示す図である。
【図15】同実施形態によるスレッドテーブルの設定例を示す図である。
【図16】同実施形態によるキーワードテーブルの設定例を示す図である。
【図17】同実施形態による人物相関テーブル及び重要人物テーブルの設定例を示す図である。
【図18】同実施形態による重要人物の出力イメージを示す図である。
【図19】同実施形態による検索時期指定時の重要人物及び人物相関図の表示イメージを示す図である。
【図20】同実施形態による検索画面の全体イメージを示す図である。
【図21】第2の実施形態によるスレッド出力イメージを示す図である。
【図22】同実施形態によるスレッド出力イメージを示す図である。
【図23】第3の実施形態によるメールテーブルのデータ構成図を示す図である。
【図24】同実施形態による人物相関図の表示イメージを示す図である。
【図25】第4の実施形態によるメールテーブルのデータ構成図を示す図である。
【図26】本発明の第6の実施形態による検索支援装置の機能ブロック図である。
【図27】同実施形態による人物テーブルのデータ構成図である。
【図28】同実施形態による人物情報生成部の人物情報生成処理フローを示す図である。
【図29】メールの例である。
【図30】同実施形態によるメールテーブルの設定例を示す図である。
【図31】同実施形態によるスレッドテーブルの設定例を示す図である。
【図32】同実施形態によるキーワードテーブルの設定例を示す図である。
【図33】同実施形態による人物テーブルの設定例を示す図である。
【図34】同実施形態による出力制御部の結果表示処理フローを示す図である。
【図35】同実施形態によるメールテーブルの設定例を示す図である。
【図36】同実施形態によるスレッドテーブルの設定例を示す図である。
【図37】同実施形態によるキーワードテーブルの設定例を示す図である。
【図38】同実施形態による人物テーブルの設定例を示す図である。
【図39】同実施形態による人物相関テーブル及び重要人物テーブルの設定例を示す図である。
【図40】同実施形態による重要人物の出力イメージを示す図である。
【図41】同実施形態による検索時期指定時の重要人物及び人物相関図の表示イメージを示す図である。
【図42】同実施形態による人物名表示なしの場合の検索画面の全体イメージを示す図である。
【図43】同実施形態による人物名表示ありの場合の検索画面の全体イメージを示す図である。
【図44】第7の実施形態による検索支援装置の機能ブロック図である。
【図45】同実施形態による音声認識部の機能ブロック図である。
【図46】同実施形態による音声認識部のメール形式データ生成処理フローを示す図である。
【図47】同実施形態によるメール収集部の分析処理フローを示す図である。
【図48】同実施形態による検索処理部の人物相関テーブル作成処理フローを示す図である。
【図49】同実施形態による検索処理部の重要人物テーブル作成処理フローを示す図である。
【発明を実施するための形態】
【0033】
以下、図面を参照して本発明の実施形態を説明する。
【0034】
[第1の実施形態]
図1は、本発明の第1の実施形態による検索支援装置1の機能ブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。
同図において、検索支援装置1は、1台または複数台のサーバ等により構成することができ、メール記憶部10、メール収集部20、分析結果格納部30、検索処理部40、及び、出力制御部50からなる。
【0035】
メール記憶部10は、例えば、メールサーバなどにより実現することができ、利用者間で送受信される電子メール(以下、単に「メール」とも記載)のデータを記憶する。
メール収集部20は、メール記憶部10から電子メールのデータを読込むメール読込み部21と、メール読込み部21により読み出された電子メールのデータを分析するメール分析部22と、メール分析部22による分析結果を示すデータを分析結果格納部30へ書き込む分析結果出力部23を備える。
分析結果格納部30は、メール分析結果のデータとして、各メールに関する情報を示すメールテーブルと、各スレッドの開始及び終了日時を示すスレッドテーブルと、各スレッドについてのキーワードを示すキーワードテーブルを記憶する。なお、スレッドとは、返信や転送がなされた一連のメールをグループ化したものを示す。
【0036】
検索処理部40は、例えば、データベースによりで実現することができ、検索支援装置1の備える入力手段、あるいは、検索支援装置1に接続されるコンピュータ端末(出力制御部50)から検索条件の入力を受けるクエリ受付部41と、クエリ受付部41により受信した検索条件に基づいて、分析結果格納部30に記憶されているメール分析結果のデータを検索する検索部42と、検索部42による検索結果を出力する検索結果出力部43とを備える。
出力制御部50は、例えば、コンピュータ端末で実現することができ、検索処理部40の検索結果出力部43により出力された検索結果を読込む検索結果読込み部51と、検索結果読込み部51が読込んだ検索結果をディスプレイへ表示する結果表示部52とを備える。なお、検索結果をプリンタにより印刷したり、記録媒体へ書き込むことでもよい。
【0037】
次に、分析結果格納部30に格納される各データテーブルについて説明する。
図2は、分析結果格納部30に格納されるメールテーブルの構成を示す図である。同図において、メールテーブルは、メールID、スレッドID、メッセージID、件名、送信者、受信者、日付、及び、本文のデータからなる複数のレコードにより構成される。メールIDは、メールテーブルにおける各レコードを一意に特定する識別情報であり、1行目がメールID=1、2行目がメールID=2、…のように、各レコードに対してメール分析部22により付与される。スレッドIDは、各スレッドを一意に特定する識別情報であり、第1スレッドをスレッドID=1、第2スレッドをスレッドID=2、…のように、各スレッドに対してメール分析部22により付与される。メッセージIDは、各メールを一意に特定する識別情報であり、メールのmessage-IDフィールドに設定されている情報に相当する。また、件名、送信者、受信者、日付、本文はそれぞれ、メールのSubjectフィールド、Fromフィールド、Toフィールド、Dateフィールド、メール本文に設定されている情報に相当する。
【0038】
図3は、分析結果格納部30に格納されるスレッドテーブルの構成を示す図である。同図において、スレッドテーブルは、スレッドID、開始日時、及び、終了日時のデータからなる複数のレコードにより構成される。ここで、開始日時、終了日時は、スレッドIDにより特定されるスレッドに属するメールの中で、最も古い日付の情報が設定されているメールから得られる日付、最も新しい日付の情報が設定されているメールから得られる日付を示す。
【0039】
図4は、分析結果格納部30に格納されるキーワードテーブルの構成を示す図である。同図において、キーワードテーブルは、レコードID、スレッドID、及び、キーワードのデータからなる複数のレコードにより構成される。レコードIDは、キーワードテーブルにおける各レコードを一意に特定する識別情報であり、各レコードに対してメール分析部22により付与される。キーワードIDは、スレッドIDにより特定されるスレッドに属するメールの件名を形態素解析した結果の情報である。
【0040】
次に、検索支援装置1における処理フローを説明する。
図5は、メール収集部20における分析処理フローを示す。
同図において、メール収集部20のメール読込み部21は、まだ本分析処理フローによる分析処理を行っていないメールをメール記憶部10としてのメールサーバから読込む(ステップS110)。メールには、Message-ID、Subject、From、To、CC、Date、References、メール本文等のフィールドが含まれる。なお、Referencesは、返信、転送されたメールのみに含まれるフィールドであり、返信、転送されるたびに、その返信、転送される元となったMessage-IDが追加されるフィールドである。
【0041】
メール分析部22が自然数の新たなメールIDを付与すると、分析結果出力部23は、当該メールIDを設定したレコードを分析結果格納部30に記憶されているメールテーブルに追加する。分析結果出力部23は、追加したレコードのメッセージID、件名、送信者、受信者、日付、及び、本文のデータ項目のそれぞれに、読込んだメールのmessage-ID、Subject、From、To、Date、メール本文のフィールドの設定内容を書き込む(ステップS120)。
【0042】
次に、メール分析部22は、メールテーブルを検索し、読込んだメールのReferenceフィールドに設定されているデータと同じ内容のデータがメッセージIDに設定されているレコードがあるかを判断する(ステップS130)。これにより、読込んだメールが、以前のメールと同じスレッドに属するか否かを確認する。読込んだメールのReferenceフィールドと同じ内容のデータがメッセージIDに設定されているレコードがないと判断した場合(ステップS130:NO)、新規のスレッドであるとして、メール分析部22は新たなスレッドIDを付与する。分析結果出力部23は、新たに付与されたスレッドIDを設定したレコードを分析結果格納部30に記憶されているスレッドテーブルに追加するとともに(ステップS140)、追加したレコードの開始日時及び終了日時のデータ項目に、読込んだメールのDateフィールドに設定されているデータを書き込む(ステップS150)。
【0043】
一方、読込んだメールのReferenceフィールドと同じ内容のデータがメッセージIDに設定されているレコードがあると判断した場合(ステップS130:YES)、既に登録されているスレッドに属する最後のメールの可能性があると判断する。そこで、メール分析部22は、読込んだメールのReferenceフィールドと同じ内容のデータがメッセージIDに設定されているレコードからスレッドIDを読み出し、このスレッドIDによりスレッドテーブルを検索する。そして、検出したレコードの開始日時、終了日時に設定されている日時と、読込んだメールのDateフィールドに設定されている日時とを比較する。読込んだメールのDateフィールドに設定されている日時のほうが開始日時より古い日時である場合は、検出したレコードの開始日時のデータ項目を、読込んだメールのDateフィールドに設定されている日時に書き換える。また、読込んだメールのDateフィールドに設定されている日時のほうが終了日時より新しい日時である場合は、検出したレコードの終了日時のデータ項目を、読込んだメールのDateフィールドに設定されている日時に書き換える(ステップS160)。
【0044】
分析結果出力部23は、ステップS120において追加したメールテーブルのレコードに新たに当該メールのスレッドIDを書き込む(ステップS170)。次に、メール分析部22は、メールのSubjectフィールドの設定内容を形態素解析するとともに、形態素解析された結果であるキーワードそれぞれに新たなレコードIDを付与する。分析結果出力部23は、新たに付与されたレコードIDと、当該メールのスレッドIDと、レコードIDに対応するキーワードからなるレコードを、分析結果格納部30に記憶されているキーワードテーブルに追加する(ステップS180)。メール読込み部21は、メール記憶部10としてのメールサーバに、まだ分析処理を行っていないメールがあるかを判断する(ステップS190)。まだ、分析処理していないメールがある場合には(ステップS190:YES)、ステップS110に戻り、上述した処理を繰り返す。そして、メール記憶部10に分析処理していないメールがなくなった場合(ステップS190:NO)、処理を終了する。
【0045】
図5の処理を具体的なデータ例を用いて説明する。
図6はメール記憶部10から読込んだ各メールのメールヘッダの例を、図7は図6で示されるメールヘッダをもつメールから生成されるメールテーブルの例を、図8は図6で示されるメールヘッダをもつメールから生成されるスレッドテーブルの例を、図9は図6で示されるメールヘッダをもつメールから生成されるキーワードテーブルの例を示す。
【0046】
最初に、メールM1(図6)が読込まれると(図5、ステップS110)、新たに付与されたメールID「1」を設定したレコードがメールテーブル(図7)に追加され、メールM1のmessage-ID「1111@svr.jp」、Subject「開発進捗に関して」、From「userA」、To「userB」、Date「2007/2/3 15:12」、メール本文が当該レコードのメッセージID、件名、送信者、受信者、日付、及び、本文に設定される(図5、ステップS120)。また、メールM1にはReferenceフィールドが含まれていないため、新規のスレッドであると判断される(図5、ステップS130:NO)。そこで、新たなスレッドID「1」を設定したレコードがスレッドテーブル(図8)に追加され(図5、ステップS140)、メールM1のDate「2007/2/3 15:12」が当該レコードの開始日時及び終了日時に設定されるとともに(図5、ステップS150)、メールテーブル(図7)のメールID「1」のレコードに、スレッドID「1」が設定される(図5、ステップS170)。さらに、メールM1のSubjectフィールドの設定内容を形態素解析して「開発」、「進捗」、「関して」が得られると、各形態素解析結果それぞれについて新たに付与されたレコードID「1」、「2」、「3」を設定したレコードがキーワードテーブル(図9)に追加され、この追加されたレコードそれぞれには、スレッドID「1」と、対応する形態素解析結果「開発」、「進捗」、「関して」が設定される(図5、ステップS180)。
【0047】
次に、メールM2(図6)が読込まれると(図5、ステップS110)、新たに付与されたメールID「2」を設定したレコードがメールテーブル(図7)に追加され、メールM2のmessage-ID「2222@svr.jp」、Subject「Re:開発進捗に関して」、From「userB」、To「userA」、Date「2007/2/4 0:12」、メール本文が当該レコードのメッセージID、件名、送信者、受信者、日付、及び、本文に設定される(図5、ステップS120)。そして、メールM2のReference「1111@svr.jp」がメッセージIDに設定されているレコードがすでにメールテーブルにあるため(メールID「1」のレコード)、既に出現したスレッドであると判断される(図5、ステップS130:NO)。このレコードには、スレッドID「1」が設定されているため、スレッドテーブル(図8)から、当該スレッドIDが設定されているレコードの開始日時「2007/2/3 15:12」、終了日時「2007/2/3 15:12」を読み出し、メールM2のDate「2007/2/4 0:12」と比較する。メールM2のDateのほうが終了日時より新しい日時であるため、終了日時のデータ項目がメールM2のDateの設定内容に書き換えられ(ステップS160)、メールテーブル(図7)のメールID「2」のレコードに、スレッドID「1」が設定される(図5、ステップS170)。さらに、メールM1のSubjectフィールドの設定内容を形態素解析して「開発」、「進捗」、「関して」が得られるが、図9に示すように、キーワードテーブル(図9)には、当該スレッドID「1」に対応してすでにこれらのキーワードが設定されているため、新たなレコード追加は行われない。
【0048】
このようにして、図6に示すメールM1〜M8について図5の処理を行った結果が、図7に示すメールテーブル、図8に示すスレッドテーブル、図9に示すキーワードテーブルである。図7に示すように、メールテーブルには、メールM1〜M8それぞれについてレコードが追加され、メールM1、M2、M3に対応したレコードにはスレッドID「1」が、メールM4に対応したレコードにはスレッドID「2」が、メールM5、M6、M7に対応したレコードにはスレッドID「3」が、メールM8に対応したレコードにはスレッドID「4」が設定されている。これは、メールM2のReferences「1111@svr.jp」が、メールM1に対応したレコードのメッセージIDに設定されており、メールM3のReferences「1111@svr.jp」、「2222@svr.jp」が、メールM1、メールM2に対応したレコードのメッセージIDに設定されているため、メールM1、M2、M3に対応したレコードに同じスレッドIDが設定されたものである。同様に、メールM6のReferences「5555@svr.jp」は、メールM5に対応したレコードのメッセージIDに設定されており、メールM7のReferences「5555@svr.jp」、「6666@svr.jp」は、メールM5、メールM6に対応したレコードのメッセージIDに設定されているため、メールM5、M6、M7に対応したレコードには同じスレッドIDが設定される。
【0049】
また、図8に示すスレッドテーブルには、スレッドID「1」のレコードに、当該スレッドIDに属する最初のメールM1のDateフィールドの設定内容が開始日時に、当該スレッドIDに属する最後のメールM3のDateフィールドの設定内容が終了日時に設定されている。同様に、スレッドID「3」のレコードに、当該スレッドIDに属する最初のメールM5のDateフィールドの設定内容が開始日時に、当該スレッドIDに属する最後のメールM7のDateフィールドの設定内容が終了日時に設定されている。
また、スレッドID「2」に属するのはメールM4のみであるため、当該スレッドIDのレコードには、メールM4のDateフィールドの設定内容が開始日時及び終了日時に設定されている。同様に、スレッドID「4」のレコードには、メールM8のDateフィールドの設定内容が開始日時及び終了日時に設定されている。
【0050】
また、図9に示すように、キーワードテーブルには、スレッドID「1」に属するメールM1,M2,M3のSubjectの設定内容を形態素解析した結果の「開発」、「進捗」、「関して」がレコードID「1」〜「3」に、スレッドID「2」に属するメールM4のSubjectの設定内容を形態素解析した結果の「懇親会」がレコード「4」に、スレッドID「3」に属するメールM5,M6,M7のSubjectの設定内容を形態素解析した結果の「打合せ」、「件」がレコードID「5」、「6」に、スレッドID「4」に属するメールM8のSubjectの設定内容を形態素解析した結果の「開発」、「会議」がレコードID「7」、「8」に設定されている。
【0051】
図10〜図12は、検索処理部40における処理フローを示す。
図10は、検索処理部40におけるスレッド検索処理フローを示す。
検索処理部40のクエリ受付部41は、受信した検索要求から検索ワードを読込む(ステップS210)。検索部42は、分析結果格納部30に記憶されているキーワードテーブルに設定されているスレッドIDのうち、本スレッド検索処理フローによるスレッド検索処理を行っていないスレッドIDを選択して読込む(ステップS220)。そして、その選択したスレッドIDが設定されているキーワードテーブルのレコードの中に、検索ワードに一致するキーワードが設定されているレコードがあるかを判断する(ステップS230)。
【0052】
選択したスレッドIDが設定されているレコードの中に、検索ワードに一致するキーワードが設定されているレコードがある場合(ステップS230:YES)、以下のステップS240〜S250の処理を実行する。すなわち、検索部42は、選択したスレッドIDをキーにして分析結果格納部30に記憶されているスレッドテーブルを検索し、検出したレコードから開始日時を読込むとともに(ステップS240)、選択したスレッドIDと読込んだ開始日時とを対応付けた情報を記憶する(ステップS250)。
【0053】
検索部42は、キーワードテーブルに、まだスレッド検索処理を行っていないスレッドIDがある場合は(ステップS260:NO)、ステップS220からの処理を繰り返す。そして、キーワードテーブルに登録されている全てのスレッドIDについて、スレッド検索処理を実行した場合は(ステップS260:YES)、処理を終了する。
【0054】
図11は、検索処理部40における人物相関テーブル作成処理フローを示す。
検索処理部40の検索部42は、図10のステップS250において記憶したスレッドID(以下、処理対象スレッドID)のうち、当該人物相関テーブル作成処理フローによる人物相関テーブル作成処理をまだ行っていないスレッドIDを選択する。検索部42は、メールテーブルを検索し、選択したスレッドIDが設定されているレコードを特定して読込む(ステップS310)。
【0055】
検索部42は、ステップS310において読込んだレコードから、送信者と受信者に設定されているユーザの組を送受信者の組として抽出し、抽出した送受信者の組それぞれについて、抽出された数をカウントする(ステップS320)。なお、送信者と受信者のユーザが入れ替わっていても、同じ組であるとする。検索部42は、処理対象スレッドIDに、まだ人物相関テーブル作成処理を行っていないスレッドIDがある場合は(ステップS330:NO)、ステップS310からの処理を繰り返す。そして、全ての処理対象スレッドIDについて、人物相関テーブル作成処理を実行した場合(ステップS330:YES)、スレッドID毎に、ステップS320において抽出された送受信者の組と、その組の抽出数に対応したポイントとを示す一覧である人物相関テーブルを生成して記憶する(ステップS340)。つまり、ユーザがメールの送信者、あるいは、受信者となる毎に、当該ユーザに1ポイントが付与されることを示す。
【0056】
図12は、検索処理部40における重要人物テーブル作成処理フローを示す。
検索処理部40の検索部42は、図10のステップS250において記憶した処理対象スレッドIDのうち、当該重要人物テーブル作成処理フローによるおいてまだ重要人物テーブル作成処理を行っていないスレッドIDを選択する。検索部42は、メールテーブルを検索し、選択したスレッドIDが設定されているレコードを特定して読込む(ステップS410)。
【0057】
検索部42は、読込んだレコードから、送信者または受信者として設定されているユーザを抽出し、その抽出したユーザが、送信者または受信者として設定されている数である登場回数を計測し、記憶する(ステップS420)。検索部42は、処理対象スレッドIDに、まだ重要人物テーブル作成処理を行っていないスレッドIDがある場合は(ステップS430:NO)、ステップS410からの処理を繰り返す。そして、全ての処理対象スレッドIDについて、重要人物テーブル作成処理を実行した場合は(ステップS430:YES)、スレッドID毎に、ステップS420において抽出されたユーザと、その登場回数に対応したポイントとを示す一覧である重要人物テーブルを生成して記憶する(ステップS440)。つまり、ユーザがメールの送信者、あるいは、受信者となる毎に、当該ユーザに1ポイントが付与されることを示す。
【0058】
図13は、出力制御部50の結果表示処理フローを示す。
同図において、検索結果読込み部51は、検索結果出力部43から出力される各処理対象スレッドIDの開始日時、人物相関テーブル、重要人物テーブル、及び、各処理対象スレッドIDに対応したメールテーブルのレコードから読込んだ件名の一覧を検索結果として読込む(ステップS510)。次に、結果表示部52は、検索結果表示方法の情報を読込む(ステップS520)。これは、クエリ受付部41が受信した検索要求内に設定されているか、予め、出力制御部50の記憶手段に記憶されている情報である。検索結果表示方法の情報に、重要人物表示が必要であることが設定されている場合(ステップS530:YES)、結果表示部52は、各スレッドについて、重要人物テーブルで示されるユーザのうち、ポイント数の多い順番に所定数のユーザを重要人物として抽出する。そして、抽出した各スレッドの重要人物を、その重要人物に対応したポイント数とともに表示する(ステップS540)。このとき、時系列的にスレッドを並べ、各スレッドに対応して登場回数の多い順番に重要人物を表示する。また、さらに、特定のスレッドのみを表示するような指示の入力があった場合は、その指定されたスレッドについての重要人物のみを表示し、期間を示す情報の入力があった場合には、その期間に開始日時が含まれるスレッドについての重要人物を表示する。
【0059】
続いて、検索結果表示方法の情報に、テーマ名の表示が必要であることが設定されている場合(ステップS550:YES)、結果表示部52は、ステップS510において検索結果出力部43から読込んだ件名の一覧を表示する(ステップS560)。このとき、ステップS540において出力した各スレッドの重要人物の表示に対応づけて件名を表示してもよい。また、期間を示す情報の入力があった場合には、その期間に開始日時が含まれるスレッドについての件名を表示する。
【0060】
さらに、検索結果表示方法の情報に、重人物の相関関図の表示が必要であることが設定されている場合(ステップS570:YES)、結果表示部52は、各スレッドについて、人物相関テーブルで示される送受信者の組のうち、ポイント数の多い順番に所定数の組を抽出する。そして、各スレッドについて抽出した送受信者の組を、その送受信者の組のポイント数に対応したポイント数とともに表示する(ステップS580)。なお、このとき、複数のユーザ間における送受信の組の相関関係を示すようなマトリックス状に表示する。また、さらに、特定のスレッドのみを表示するような指示の入力があった場合は、その指定されたスレッドについての送受信者の組のみを表示し、期間を示す情報の入力があった場合には、その期間に開始日時が含まれるスレッドについての送受信者の組を表示する。
【0061】
図10〜図13の処理を具体的なデータ例を用いて説明する。
図14はメールテーブルの例を、図15はスレッドテーブルの例を、図16はキーワードテーブルの例を示す図であり、クエリ受付部41が検索キーワード読込む前に設定されているものとする。また、検索キーワードとして「販売」が入力されるとする。このとき作成される人物相関テーブル及び重要人物テーブルを図17に示す。
【0062】
図10のスレッド検索処理において、検索キーワードが読込まれると(図10、ステップS210)、キーワードテーブル(図16)に設定されているスレッドIDが順に選択される(図10、ステップS220)。スレッドID「116」が選択された場合、当該スレッドIDが設定されているキーワードテーブル(図16)のレコードから、検索ワード「販売」がキーワードとして設定されているレコード(レコードID「340」)が検出される(図10、ステップS230)。そして、当該スレッドIDに対応した開始日時「2006/7/1 15:12」が読込まれ、スレッドID「116」と対応付けて記憶される(図10、ステップS240、S250)。
【0063】
次に、スレッドID「120」が選択された場合、当該スレッドIDが設定されているキーワードテーブル(図16)のレコードから、検索ワード「販売」がキーワードとして設定されているレコード(レコードID「372」)が検出される(図10、ステップS230)。そして、当該スレッドIDに対応した開始日時「2007/1/7 13:10」が読込まれ、スレッドID「120」と対応付けて記憶される(図10、ステップS240、S250)。
【0064】
次に、スレッドID「144」が選択された場合、当該スレッドIDが設定されているキーワードテーブル(図16)には、検索ワード「販売」がキーワードとして設定されているレコードがないことが検出される(図10、ステップS230)。
これにより、処理対象スレッドID「116」、「120」と、それぞれの開始日時「2006/7/1 15:12」、「2007/1/7 13:10」が記憶される(図10、ステップS250)。
【0065】
続いて、人物相関テーブル作成処理(図11)が開始され、処理対象スレッドIDが順に選択される。スレッドID「116」が選択された場合、当該スレッドIDが設定されているメールテーブル(図14)のレコード(メールID「500」〜「506」)が特定される(図11、ステップS310)。図17に示すように、この特定されたレコードの送信者と受信者の情報から、「userAとuserB」、「userAとuserC」、「userAとuserD」、「userAとuserE」、「userBとuserE」の組が抽出され、それらの組が抽出された数はそれぞれ「4」、「2」、「2」、「2」、「3」である(図11、ステップS320)。なお、図面では、userA、userB、userC、userD、userEを単にA,B,C,D,Eと表記する場合がある。
次に、スレッドID「120」が選択された場合、当該スレッドIDが設定されているメールテーブル(図14)のレコード(メールID「507」〜「511」)を特定する(図11、ステップS310)。図17に示すように、この特定されたレコードの送信者と受信者の情報から、「userAとuserB」、「userAとuserC」、「userAとuserD」、「userAとuserE」の組が抽出され、それらの組が抽出された数はそれぞれ「2」、「2」、「3」、「1」である(図11、ステップS320)。
これにより、各スレッドID毎に、これらの抽出されたユーザの組と、その組の抽出数に対応したポイントとを示す人物相関テーブル(図17)が生成される(図11、ステップS340)。ここでは、抽出数1を1ポイントとしている。
【0066】
続いて、重要人物テーブル作成処理(図12)が開始され、処理対象スレッドIDが順に選択される。スレッドID「116」が選択された場合、当該スレッドIDが設定されているメールテーブル(図14)のレコード(メールID「500」〜「506」)が特定される(図12、ステップS410)。図17に示すように、この特定されたレコードの送信者または受信者に設定されているユーザとして、「userA」、「userB」、「userC」、「userD」、「userE」が抽出され、その抽出したユーザの登場回数「10」、「7」、「2」、「2」、「5」が計測される。
次に、スレッドID「120」が選択された場合、当該スレッドIDが設定されているメールテーブル(図14)のレコード(メールID「507」〜「511」)が特定される(図12、ステップS420)。図17に示すように、この特定されたレコードの送信者または受信者に設定されているユーザとして、「userA」、「userB」、「userC」、「userD」、「userE」が抽出され、その抽出したユーザの登場回数「8」、「2」、「2」、「3」、「1」が計測される。
これにより、各スレッドID毎に、これらの抽出されたユーザと、その登場回数に対応したポイントとを示す重要人物テーブルが生成される(図12、ステップS440)。なお、ここでは、登場回数1回を1ポイントとしている。
【0067】
図18は、図17に示す重要人物テーブルに基づいた重要人物出力イメージであり、時系列にスレッドを並べて表示したイメージを示す。ここでは、重要人物は、ポイント数が高い順に3人としている。なお、所定のポイント数以上などとすることもでき、この条件は予め出力制御部50に記憶されるか、ユーザにより入力される。
図18においては、重要人物テーブル(図17)に含まれるスレッドID「116」、「120」を、これらの開始日時「2006/07/01 15:12」、「2007/07/08 23:11」に対応した時間軸上に、時系列で表示している。そして、スレッドID「116」については、ポイント数が高い順に「userA」、「userB」、「userE」が表示され、スレッドID「120」については、ポイント数が高い順に「userA」、「userD」、「userB」、「userC」が表示されている。なお、「userB」と「userC」はポイント数が同じため、両者を表示しているものである。
【0068】
図19は、図17に示す重要人物テーブルに基づいた、検索時期を指定したときの重要人物及び人物相関図の表示イメージを示す。ここでは、2006年が指定されとする。なお、検索時期の条件は、ユーザにより入力されるものとする。
出力制御部50の結果表示部52は、重要人物テーブル(図17)に含まれるスレッドID「116」、「120」のうち、開始日時が2006年であるスレッドID「116」を選択する。そして、スレッドID「116」については、重要人物として、ポイント数が高い順に「userA」、「userB」、「userE」を、そのポイント数のともに表示する。また、人物相関テーブル(図17)から、当該スレッドIDに対応して、重要人物としてのポイント数が最も高い「userA」が含まれる送受信の組と、そのポイント数を読込む。そして、ポイント数が最も高い「userA」を中心として、送受信の組となる各ユーザ「userB」、「userC」、「userD」、「userE」をその周囲に表示するとともに、「userA」と各ユーザ「userB」、「userC」、「userD」、「userE」との間に、ポイント数を表示するとともに、そのポイント数に対応した太さの線を描画する。なお、表示する送受信の組をポイント数の多い組から所定数としてもよく、所定のポイント数以上の送受信の組を表示するようにしてもよい。
【0069】
図20は、検索画面の全体イメージを示す図である。同図においては、検索ワードを入力するフィールド、時系列に並べたスレッドとその重要人物、人物相関図、及び、各スレッドに送信者または受信者として登場したユーザの一覧とそのポイント数が表示されている。
【0070】
なお、上記においては、開始日時が検索条件として指定された期間内のスレッドを出力対象としているが、終了日時が検索条件として指定された期間内であるスレッドを出力するようにしてもよく、両者を組み合わせてもよい。終了日時を検索条件する場合は、図10のステップS240において、開始日時の代わりに終了日時を読込み、図13のステップS510において、検索結果読込み部51は、各処理対象スレッドIDの終了日時を読込む。
【0071】
なお、ユーザを表示するときには、メールの送信者、受信者のフィールドから読込んだユーザの識別情報(メールアドレス等)を表示してもよく、ユーザの識別情報に対応付けて記憶手段に記憶されている氏名や部署等の情報を読込んで表示してもよい。
【0072】
[第2の実施形態]
本発明の第2の実施形態について説明する。上述した第1の実施形態においては、スレッド単位に分割したメールを、その開始日時の時系列にプロットして表示しているが、同じような時期に多数のスレッドが始まる場合や、検索の結果、多数のスレッドが該当したりする場合などがある。このような場合、検索者はどのスレッドが、自分の知りたい内容を扱っているものであるかを選択するのが困難となってしまう。そこで、第2の実施形態においては、検索者が知りたい内容について取り扱っているスレッドを簡易に選択することを支援するために、時間経過に伴うメール量の分布を可視化して表示し、話題の盛り上がり・盛り下がりを考慮したスレッド選択が行えるようにする。これにより、検索者が知りたいと考えている内容について多くのメールがやりとりされているスレッドを選択したり、話題が盛り上がった時期、すなわち、メール量が多い時期に基づいてスレッドを選択したりできるようになる。
【0073】
第2の実施形態の処理について、第1の実施形態との差分を説明する。
図10に示すスレッド検索処理フローのステップS240において、検索処理部40の検索部42は、選択したスレッドIDをキーにして分析結果格納部30に記憶されているメールテーブルを検索し、検出したレコードから日付の情報を読込み、ステップS250において、選択したスレッドIDと読込んだ日時とを対応付けた情報を記憶する。この情報は、図13に示す結果表示処理フローのステップS510において、出力制御部50の検索結果読込み部51に読み込まれる。出力制御部50の結果表示部52は、スレッドID毎に、当該スレッドIDに対応した日付の情報に基づいて所定の単位期間毎(4半期単位、1ヶ月単位など)のメールの件数をカウントし、各スレッドについて当該単位期間毎に、メールの件数に対応した大きさの円を表示したり、メールの件数の推移をグラフ表示したりする。なお、この単位期間は、出力制御部50の図示しない記憶手段に予め記憶されている情報であってもよく、検索処理部40のクエリ受付部41が受信した検索要求内に設定されることでもよい。
【0074】
図21は、円の大きさによりメールの件数を表示した場合のスレッド出力イメージである。同図においては、各スレッドについて、4半期毎に、メールの件数に対応した大きさの円を表示している。これにより、他のスレッドより大きな円が表示されているスレッドがより話題の盛り上がったスレッドであり、また、より大きな円が表示されている時期がより話題の盛り上がった時期であることが視覚的に把握可能となる。なお、ここでは、メールの件数に対応した大きさの円を表示しているが、メールの大きさを表す図形は円以外の図形でもよく、また、メール量が多い場合は赤、少ない場合は青としたグラデーションにより表示するなど、色による表示を行ってもよい。
【0075】
図22は、グラフによりメールの件数を表示した場合のスレッド出力イメージである。同図においては、各スレッドについて、4半期毎のメールの件数の推移をグラフで表示している。そして、表示されているグラフにおいて、さらに詳細にメールの件数の推移を見たい場合には、その表示箇所をマウスで指定するなどして、詳細表示対象のスレッドと時期の情報を入力する。出力制御部50の結果表示部52は、スレッドに対応した日付の情報を参照し、詳細表示対象のスレッド及び時期について、現在表示されているよりも短い単位期間毎(1日単位、1週間単位など)のメールの件数をカウントして、グラフ表示する。
【0076】
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。上述した実施形態では、人物相関テーブル、重要人物テーブルを作成する際に、メールの送信者あるいは受信者となっているユーザに一律で1ポイントを付与している。しかし、例えば、管理者などは情報を共有できるようメールの宛先に同報者(CC)として設定されることが多く、担当者や実施者などは情報を発信することが多いためメールの送信者となることが多い。そこで、管理者、あるいは、担当者や実施者等のどちらをキーパーソンとして抽出するかに応じて、同報者に設定されている場合の付与ポイント数を高くしたり、あるいは、発信者に設定されている場合の付与ポイント数を高くしたりし、加算ポイントを変更する。つまり、同報者に設定されている場合に付与するポイント数に重み付けすることにより、合計ポイント数が高いユーザを、検索したい内容に関する管理者として選択し、提示することが可能となり、また、発信者に設定されている場合に付与するポイント数に重み付けすることにより、合計ポイント数が高いユーザを、検索したい内容に関する担当者や実施者等の情報発信者として選択し、提示することが可能となる。
【0077】
第3の実施形態の処理について、第1の実施形態及び第2の実施形態との差分を説明する。
図23は、本実施形態によるメールテーブルの構成を示す図である。同図において、メールテーブルは、メールID、スレッドID、メッセージID、件名、送信者、受信者、同報者、日付、及び、本文のデータからなる複数のレコードにより構成され、図2に示すメールテーブルのレコードに、同報者のデータが追加されたものである。同報者は、メールのCCフィールドに設定されている情報に相当する。
そして、図5に示す第1の実施の形態のスレッド検索処理フローのステップS120において、メール収集部20の分析結果出力部23は、メールテーブルに追加されたレコードの同報者のデータ項目に、読込んだメールのCCフィールドの設定内容をさらに書き込む。
【0078】
図11に示す人物相関テーブル作成処理フローのステップS320において、検索処理部40の検索部42は、ステップS310において読込んだ各レコードについて順に以下を行う。すなわち、送信者−受信者として設定されているユーザの組、送信者−同報者として設定されているユーザの組を抽出し、送信者として設定されているユーザ及び受信者として設定されているユーザの管理者検索対応ポイントに1ポイントを加算し、同報者として設定されているユーザの管理者検索対応ポイントに3ポイントを加算する。また、受信者として設定されているユーザの情報発信者検索対応ポイントに3ポイントを加算し、送信者として設定されているユーザ及び同報者として設定されているユーザの情報発信者検索対応ポイントに1ポイントを加算する。
【0079】
上記のようにして、全ての処理対象スレッドIDについて、ユーザの組の抽出と、管理者検索対応ポイント、情報発信者索対応ポイントの付与を実行すると、ステップS340において、検索部42は、スレッドID毎に、送信者−受信者のユーザの組、送信者−同報者のユーザの組と、これらの組に含まれる各ユーザの管理者検索対応ポイント及び情報発信者索対応ポイントとを示す一覧である人物相関テーブルを生成して記憶する。
【0080】
図13に示す結果表示処理フローのステップS580において、出力制御部50の結果表示部52は、各スレッドについて抽出したユーザの組を表示する。なお、このとき、複数ユーザ間におけるユーザの組の相関関係を示すようなマトリックス状の関連図を表示するとともに、管理者用検索ポイントのポイント数が最も高いユーザ、または、高い順に所定数のユーザを特定する情報、情報発信者索対応ポイントのポイント数が最も高いユーザ、または、高い順に所定数のユーザを特定する情報も表示する。さらに、結果表示部52は、各ユーザの組について、送信者−受信者の関係、あるいは、送信者−同報者の関係のどの形態が多いかの情報も表示する。
【0081】
図24は、本実施の形態による人物相関図の表示イメージである。ここでは、管理者用検索ポイントのポイント数が最も高いユーザAを赤色で、情報発信者索対応ポイントのポイント数が最も高いユーザBを青色で表示している。なお、ポイント数が高い順に所定数のユーザを表示する場合は、ポイント数が低くなるに従って色がうすくなるようなグラデーションで表示したり、あるいは、管理者用検索ポイント、情報発信者索対応ポイントをユーザに対応づけて表示したりしてもよい。なお、表示色は任意に選択しうる。また、ユーザの組は矢印で示しているが、矢印の始まりのユーザが送信者、矢印の先のユーザが受信者または同報者である。
【0082】
なお、図12に示す重要人物テーブル作成処理フローのステップS420において、検索処理部40の検索部42は、送信者、受信者または同報者として設定されているユーザを抽出し、送信者または受信者として設定されていれば1ポイントを、同報者として設定されていれば3ポイントを管理者検索対応ポイントに加算し、さらに、受信者として設定されていれば3ポイントを、送信者または同報者として設定されていれば1ポイントを情報発信者検索対応ポイントに1ポイントを加算するようにしてもよい。そして、図13の結果表示処理フローのステップS540において、出力制御部50の結果表示部52が、各スレッドについて、管理者検索対応ポイントの多い順番に所定数のユーザを管理者として、情報発信者検索対応ポイントの多い順番に所定数のユーザを情報発信ユーザとして表示する。
【0083】
なお、上記においては、管理者用検索、及び、情報発信者検索の両方を行っているが、どちらか一方を行うことでもよい。また、上述した加算ポイントは一例であり、適宜設定しうる。
【0084】
[第4の実施形態]
メーリングリストを使用してメールを送信する際は、受信者(To)が同一である。そこで、第4の実施形態では、発信者(From)の情報のみに基づいてポイントを加算する。以下に、第3の実施形態との差分を説明する。
【0085】
まず、メール収集部20の図示しない記憶部に、メーリングリストに用いられるメーリングアドレス(mlist@xxx.jp、members@xxx.jpなど)の一覧を予め記憶しておく。また、図25に示すように、メールテーブルのレコードには、メーリングリストフラグのデータが追加される。
【0086】
図5に示すスレッド検索処理フローのステップS120において、メール収集部20の分析結果出力部23は、読込んだメールのToフィールドの設定内容が、記憶部に保持しているメーリングアドレスに含まれているかを判断する。読込んだメールのToフィールドが、メーリングリストアドレスに含まれている場合は、メールテーブルに追加したレコードのメーリングリストフラグに、メーリングリストであることを示す値を書き込む。
【0087】
図11に示す人物相関テーブル作成処理フローのステップS320において、検索処理部40の検索部42は、ステップS310において読込んだ各レコードについて順に以下を行う。すなわち、送信者−受信者として設定されているユーザの組、送信者−同報者として設定されているユーザの組を抽出し、抽出した元となったレコードのメーリングリストフラグに、メーリングリストであることを示す値が設定されていない場合は、送信者、受信者、同報者として設定されているユーザそれぞれに、第3の実施形態と同様に管理者検索対応ポイント、情報発信者検索対応ポイントを加算し、メーリングリストであることを示す値が設定されている場合は、送信者として設定されているユーザにのみに管理者検索対応ポイント、情報発信者検索対応ポイントを加算する。
【0088】
また、図12に示す重要人物テーブル作成処理フローのステップS420において、検索部42は、抽出した元となったレコードのメーリングリストフラグに、メーリングリストであることを示す値が設定されていなければ、送信者、受信者または同報者として設定されているユーザを抽出し、メーリングリストであることを示す値が設定されている場合は、送信者として設定されているユーザのみを抽出して、それぞれのユーザが抽出された数を当該ユーザのポイント数とする。そして、図13の結果表示処理フローのステップS540において、出力制御部50の結果表示部52が、各スレッドについて、ポイントの多い順番に所定数のユーザを重要人物として表示する。
【0089】
[第5の実施形態]
第5の実施形態について上述した実施形態との差分を説明する。
説明する。上記の実施形態においては、メールの件名(Subjectフィールド)を形態素解析した結果をキーワードテーブルへ保存している。これは、メールの件名と本文の内容とが一致しているという理想的な場合には正しくキーワード抽出が可能であるが、返信をするときに全く別の内容が本文に書かれてしまうこともある。例えば、件名に「商用サービス展開について」が設定されているメールについては、当初は商用サービス展開に関する話題についての本文が記述されていても、返信を繰り返すうちに、次期社内システムに関する話題が中心の本文が記述されるようになる、などである。そこで、本実施の形態では、キーワードを抽出するための形態素解析の対象を、メールの件名(Subjectフィールド)及び本文とする。
【0090】
具体的には、図5に示す分析処理フローのステップS180において、メール収集部20のメール分析部22は、メールのSubjectフィールド及び本文の設定内容を形態素解析し、その形態素解析された結果をキーワードとする。そして、メール収集部20の分析結果出力部23は、レコードIDと、スレッドIDと、キーワードとからなるレコードを、分析結果格納部30に記憶されているキーワードテーブルに追加する。
【0091】
しかし、このように本文についても形態素解析を行ってキーワードとした場合、解析対象が拡大するため、キーワードテーブルに登録されるキーワードの量が増加してしまう。そこで、以下のようなキーワードのフィルタリング処理を行う。すなわち、Subjectフィールドと本文について形態素解析を行った結果から、キーワードとして適切な品詞の文字列、例えば、一般名詞・動詞のみをキーワード候補として残し、さらに、そのキーワード候補として残った中から、キーワードとして不適切な文字列を削除して、最終的に残った文字列をキーワードとして登録する。なお、この削除すべき文字列は、例えば、どのような話題において使われうるような単語『下記』『頂く』『都合』『少し』などであり、例えばメール収集部20に図示しない記憶手段に予め記憶しておく。このようなキーワードのフィルタリング処理を行うことにより、より重要、かつ、特徴的なキーワードのみをキーワードテーブルに格納することができる。
【0092】
[第6の実施形態]
図26は、本発明の第6の実施形態による検索支援装置1aの機能ブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。同図において、図1に示す第1の実施形態による検索支援装置1と同一の部分には同一の符号を付し、その説明を省略する。図26に示す検索支援装置1aが図1に示す第1の実施形態による検索支援装置1と異なる点は、人物情報格納部60をさらに備える点、メール収集部20が人物情報生成部24をさらに備える点、検索処理部40が人物情報読込み部44をさらに備える点である。また、ここでは、出力制御部50が、検索者のコンピュータ端末であるとし、キーボードなどの入力装置から検索ワードの入力を受けるための検索文書受付部53をさらに備えるものとする。
以下、第1の実施形態との差分について説明する。
【0093】
メール収集部20の人物情報生成部24は、メール読込み部21により読み出された電子メールのデータを分析し、メールアドレスと、当該メールアドレスの人物の名前の対応を抽出して、人物情報格納部60が保持する人物テーブルに書き込む。検索処理部40の人物情報読み込み部44は、人物情報格納部60の保持する人物テーブルから、メールアドレスに対応した名前の情報を読み出す。なお、人物情報格納部60は、データベースサーバなどにより実現することができる。
【0094】
次に、本実施形態による検索支援装置1aが保持する各データについて説明する。
本実施形態による分析結果格納部30に格納されるメールテーブル、スレッドテーブル、キーワードテーブルは、図2、図3、図4に示す第1の実施形態のメールテーブル、スレッドテーブル、キーワードテーブルと同様である。なお、本実施形態においては、メールテーブルの各レコードの送信者、受信者のデータ項目に、送信者、受信者の識別情報として、Fromフィールド、Toフィールドに設定されている送信者、受信者のメールアドレスが設定される場合を例に説明する。
【0095】
図27は、人物情報格納部60に格納される人物テーブルの構成を示す図である。同図において、人物テーブルは、メールアドレスと、当該メールアドレスに対応した人物名とのデータからなる複数のレコードにより構成される。人物テーブルのメールアドレスには、メールのFromフィールドに設定されているメールアドレスが格納され、人物テーブルの人物名には、人物情報生成部24によりメールの本文から抽出された人物名が設定される。
【0096】
次に、検索支援装置1aにおける処理フローを説明する。
メール収集部20における分析処理フローは、図5に示すメール収集部20における分析処理フローと同様である。
【0097】
図28は、人物情報生成部24の人物情報生成処理フローである。
まず、メール収集部20のメール読込み部21は、まだこの人物情報生成処理フローによる人物情報生成処理を行っていないメールをメール記憶部10としてのメールサーバから読込む(ステップS810)。人物情報生成部24は、ステップS810において読込んだメールのメール本文のフィールドから、先頭より所定行まで、例えば、5行目までの内容を読み出す(ステップS820)。なお、各行は改行の記号により区切られているものとする。人物情報生成部24は、ステップS820において読み出した5行のうち、「〜です」と記述された行を正規表現で検索し、その「です」が含まれる行から、「です」の直前までの文章を抽出する(ステップS830)。このとき、「伊藤です」など、メール内で自己紹介をしている行を抽出し、「お疲れ様です」、「おつかれさまです」などの誤抽出を避けるため、「〜様です」、「〜さまです」の表現が使用される行については抽出しない。また、「〜です」の他にも、「〜と申します」等の自己紹介の表現に用いられる語句をキーワードとして用い、当該キーワードが含まれる行から文章を切り出しても良い。
【0098】
次に、人物情報生成部24は、空白文字、句読点、記号を区切り文字として、その前、または後に出現する語句を抽出する(ステップS840)。これにより、組織名や挨拶を述べた部分に続いて名前が存在する場合に、不要な部分を除去することができる。例えば、「開発担当 伊藤です」という行の場合、ステップS830において「開発担当 伊藤」が抽出され、スペースを区切り文字として、スペースの後ろの語句「伊藤」を抽出する。「伊藤@開発担当です」という行の場合、ステップS830において「開発担当@伊藤」が抽出され、記号(@)を区切り文字として、その記号の前の語句「伊藤」を抽出する。あるいは、「開発担当、伊藤です」という行の場合、テップS830において「開発担当、伊藤」が抽出され、句読点(、)を区切り文字として、その句読点の後ろの「伊藤」を抽出する。なお、区切り文字がない行については、ステップS830において抽出された文書をそのままを抽出する。
【0099】
続いて、人物情報生成部24は、ステップS840において抽出された文書について形態素解析を行い、固有名詞として品詞分類される語句(A)を選択する(ステップS850)。このように、品詞が固有名詞であるものが人名の候補であるというルール付けを行うことにより、名前以外の言葉であるノイズを除去する。人物情報生成部24は、メールヘッダのFromフィールドから、送信者のメールアドレス(B)を取得すると(ステップS860)、ステップS850において選択した語句(A)と、ステップS860において取得したメールアドレス(B)とを、人物情報生成部24が備える図示しない記憶手段に一時的に記憶する(ステップS870)。
【0100】
続いて、メール読込み部21が、メール記憶部10としてのメールサーバに、まだ人物情報生成処理を行っていないメールがあるかを判断する(ステップS880)。まだ、人物情報生成処理していないメールがある場合には(ステップS880:YES)、ステップS810に戻り、上述した処理を繰り返す。そして、メール記憶部10に人物情報生成処理していないメールがなくなった場合(ステップS880:NO)、ステップS870において記憶していたメールアドレス(B)と語句(A)との組から人物テーブル登録対象の組を抽出する。具体的には、あるメールアドレス(B)について、同一の語句(A)との組のみが記憶されている場合、そのメールアドレス(B)と語句(A)との組を、人物テーブル登録対象の組として抽出する。一方、同一のメールアドレス(B)について、異なる語句(A)との組み合わせが記憶されている場合、最も出現頻度が高い語句(A)を、当該メールアドレス(B)に対応した送信者の名前を示す語句(A)であると判断し、人物テーブル登録対象の組として抽出する。例えば、メールアドレス「user@srv.jp」と語句「伊藤」との組が3組、メールアドレス「user@srv.jp」と語句「日本」との組が1組、メールアドレス「user@srv.jp」と語句「関西」との組が1組記憶されている場合、最も出現率の高い語句「伊藤」がメールアドレス「user@srv.jp」の送信者の名前を示す語句であると判断し、メールアドレス「user@srv.jp」と語句「伊藤」との組を抽出する。人物情報生成部24は、抽出したメールアドレス(B)と語句(A)の組を設定したレコードを、人物情報格納部60が記憶する人物テーブルに追加する(ステップS890)。
【0101】
本実施の形態による分析処理フロー(図5)及び人物情報生成処理フロー(図28)の処理を具体的なデータ例を用いて説明する。
図29はメール記憶部10から読込んだ各メールの例を、図30は図29で示されるメールから生成されるメールテーブルの例を、図31は図29で示されるメールから生成されるスレッドテーブルの例を、図32は図29で示されるメールから生成されるキーワードテーブルの例を、図33は図29で示されるメールから生成される人物テーブルの例を示す。
【0102】
最初に、メールM1a(図29)が読込まれた場合のメールテーブル(図30)、スレッドテーブル(図31)、及び、キーワードテーブル(図32)の設定処理は、第1の実施形態のメールM1(図6)からメールテーブル(図7)、スレッドテーブル(図8)、及び、キーワードテーブル(図9)を設定する処理と同様のため省略する。
メールテーブル、スレッドテーブル、及び、キーワードテーブルの設定後、メールM1aの本文に設定されている最初の5行、1行目「別所さま」、2行目「開発部の安部です。」、3行目「お世話になっております。」、4行目「昨日お送りしたファイルの中身に」、5行目「一部誤りがございましたので」が取得される(図28、ステップS820)。そして、「〜です」と記述された行である2行目から、「です」の直前までの文章「開発部の安部」が抽出される(図28、ステップS830)。抽出された文書には区切り文字が含まれていないため、そのまま形態素解析が行なわれ、「開発部」と「安部」が抽出され、そのうち固有名詞である「安部」が人物名の候補として選択される(図28、ステップS840、S850)。そして、メールM1aから取得したFrom「userA@svr.jp」と(図28、ステップS860)、人物名の候補として選択された「安部」とが対応づけられて一時的に記憶される(図28、ステップS870)。
【0103】
続いて、メールM2a(図29)が読込まれた場合のメールテーブル(図30)、スレッドテーブル(図31)、及び、キーワードテーブル(図32)の設定処理は、第1の実施形態のメールM2(図6)からメールテーブル(図7)、スレッドテーブル(図8)、及び、キーワードテーブル(図9)を設定する処理と同様のため省略する。
メールテーブル、スレッドテーブル、及び、キーワードテーブルの設定後、メールM2aの本文に設定されている最初の5行が取得されるが、ここでは、本文は4行までであるため、その4行を取得する(図28、ステップS820)。そして、「〜様です」が含まれる行を除き、「〜です」と記述された1行目から、「です」の直前までの文章「システム部の別所」が抽出される(図28、ステップS830)。抽出された文書には区切り文字が含まれていないため、そのまま形態素解析を行なって「システム部」と「別所」が抽出され、そのうち固有名詞である「別所」が人物名の候補として選択される(図28、ステップS840、S850)。そして、メールM2aから取得したFrom「userB@svr.jp」と(図28、ステップS860)、人物名の候補として選択された「別所」とが対応づけられて一時的に記憶される(図28、ステップS870)。
【0104】
このようにして、図29に示すメールM1〜M8について図28の処理を行った結果が、図30に示すメールテーブル、図31に示すスレッドテーブル、図32に示すキーワードテーブルであり、一時記憶に記憶されたメールアドレスと選択した人物名との組から、図28のステップS890の処理を行った結果が図33に示す人物テーブルである。
【0105】
次に、検索が要求された場合の処理について示す。
検索処理部40のクエリ受付部41が、結果表示部50が入力を受けた検索ワードを読込んだ以降の処理フローは、第1の実施形態の図10〜図12と同様である。
【0106】
図34は、出力制御部50の結果表示処理フローを示す。同図において、ステップS910〜S980までの処理は、第1の実施形態の図13のステップS510〜S580と同様である。ただし、ステップS940において、結果表示部52は、各スレッドについて、重要人物テーブルで示されるユーザのメールアドレスのうち、ポイント数の多い順番に所定数のユーザのメールアドレスを重要人物のメールアドレスとして抽出する。そして、抽出した各スレッドの重要人物のメールアドレスを、その重要人物のメールアドレスに対応したポイント数とともに表示する。また、ステップS980において、結果表示部52は、各スレッドについて、人物相関テーブルで示される送信者メールアドレスと受信者メールアドレスの組のうち、ポイント数の多い順番に所定数の組を抽出する。そして、各スレッドについて抽出した送信者メールアドレスと受信者メールアドレスの組を、その送信者メールアドレスと受信者メールアドレス送受信者の組のポイント数に対応したポイント数とともに表示する。
【0107】
続いて、人物名の表示が必要であることが設定されている場合(ステップS990:YES)、検索結果読込み部51は、ステップS910において検索結果として読込んだ人物相関テーブルの送信者メールアドレス及び受信者メールアドレスの組に設定されているメールアドレス、重要人物テーブルに設定されているユーザのメールアドレス、または、現在画面に表示させているメールアドレスを検索処理部40に出力し、人物名の情報を要求する。
【0108】
検索処理部40の人物情報読込み部44は、人物情報格納部60に記憶されている人物テーブルから、受信したメールアドレスに対応した人物名の情報を読み出すと、当該メールアドレスと人物名とを関連づけて人物名検索結果を検索処理部40に返送する。検索結果読込み部51が、人物情報読込み部44から出力される人物名検索結果を受信すると、結果表示部52は、メールアドレスの表示に対応づけて、人物名検索結果により示される、当該メールアドレスに関連付けられた人物名を表示する(ステップS1000)。
【0109】
なお、ステップS910において、検索結果にあわせて、当該検索結果に含まれる人物相関テーブルの送信者メールアドレス及び受信者メールアドレスの組に設定されているメールアドレス、重要人物テーブルに設定されているユーザのメールアドレスに関連付けられた人物名を示す人物名検索結果を予め、検索結果処理部40から受信しておくことでもよい。
【0110】
上述した検索処理部40の処理、及び、出力制御部50の処理を具体的なデータ例を用いて説明する。
図35はメールテーブルの例を、図36はスレッドテーブルの例を、図37はキーワードテーブルの例を、図38は人物テーブルの例を示す図であり、クエリ受付部41が検索キーワード読込む前に設定されているものとする。また、検索キーワードとして「販売」が入力されるとする。このとき作成される人物相関テーブル及び重要人物テーブルを図39に示す。
【0111】
スレッド検索処理において、検索キーワードが読込まれると(図10、ステップS210)、キーワードテーブル(図37)に設定されているスレッドIDが順に選択される(図10、ステップS220)。スレッドID「116」が選択された場合、当該スレッドIDが設定されているキーワードテーブル(図37)のレコードから、検索ワード「販売」がキーワードとして設定されているレコード(レコードID「340」)が検出される(図10、ステップS230)。そして、当該スレッドIDに対応した開始日時「2006/7/1 15:12」が読込まれ、スレッドID「116」と対応付けて記憶される(図10、ステップS240、S250)。
【0112】
次に、スレッドID「120」が選択された場合、当該スレッドIDが設定されているキーワードテーブル(図37)のレコードから、検索ワード「販売」がキーワードとして設定されているレコード(レコードID「372」)が検出される(図10、ステップS230)。そして、当該スレッドIDに対応した開始日時「2007/1/7 13:10」が読込まれ、スレッドID「120」と対応付けて記憶される(図10、ステップS240、S250)。
【0113】
次に、スレッドID「144」が選択された場合、当該スレッドIDが設定されているキーワードテーブル(図37)には、検索ワード「販売」がキーワードとして設定されているレコードがないことが検出される(図10、ステップS230)。
これにより、処理対象スレッドID「116」、「120」と、それぞれの開始日時「2006/7/1 15:12」、「2007/1/7 13:10」が記憶される(図10、ステップS250)。
【0114】
続いて、人物相関テーブル作成処理(図11)が開始され、処理対象スレッドIDが順に選択される。スレッドID「116」が選択された場合、当該スレッドIDが設定されているメールテーブル(図35)のレコード(メールID「500」〜「506」)が特定される(図11、ステップS310)。図39に示すように、この特定されたレコードの送信者メールアドレスと受信者メールアドレスの情報から、「userA@svr.jpとuserB@svr.jp」、「userA@svr.jpとuserC@svr.jp」、「userA@svr.jpとuserD@svr.jp」、「userA@svr.jpとuserE@svr.jp」、「userB@svr.jpとuserE@svr.jp」の組が抽出され、それらの組が抽出された数はそれぞれ「4」、「2」、「2」、「2」、「3」である(図11、ステップS320)。
次に、スレッドID「120」が選択された場合、当該スレッドIDが設定されているメールテーブル(図35)のレコード(メールID「507」〜「511」)を特定する(図11、ステップS310)。図39に示すように、この特定されたレコードの送信者メールアドレスと受信者メールアドレスの情報から、「userA@svr.jpとuserB@svr.jp」、「userA@svr.jpとuserC@svr.jp」、「userA@svr.jpとuserD@svr.jp」、「userA@svr.jpとuserE@svr.jp」の組が抽出され、それらの組が抽出された数はそれぞれ「2」、「2」、「3」、「1」である(図11、ステップS320)。
これにより、各スレッドID毎に、これらの抽出されたユーザのメールアドレスの組と、その組の抽出数に対応したポイントとを示す人物相関テーブル(図39)が生成される(図11、ステップS340)。ここでは、抽出数1を1ポイントとしている。
【0115】
続いて、重要人物テーブル作成処理(図12)が開始され、処理対象スレッドIDが順に選択される。スレッドID「116」が選択された場合、当該スレッドIDが設定されているメールテーブル(図35)のレコード(メールID「500」〜「506」)が特定される(図12、ステップS410)。図39に示すように、この特定されたレコードの送信者メールアドレスまたは受信者メールアドレスに設定されているユーザのメールアドレスとして、「userA@svr.jp」、「userB@svr.jp」、「userC@svr.jp」、「userD@svr.jp」、「userE@svr.jp」が抽出され、その抽出したユーザのメールアドレスの登場回数「10」、「7」、「2」、「2」、「5」が計測される。
次に、スレッドID「120」が選択された場合、当該スレッドIDが設定されているメールテーブル(図35)のレコード(メールID「507」〜「511」)が特定される(図12、ステップS420)。図39に示すように、この特定されたレコードの送信者メールアドレスまたは受信者メールアドレスに設定されているユーザのメールアドレスとして、「userA@svr.jp」、「userB@svr.jp」、「userC@svr.jp」、「userD@svr.jp」、「userE@svr.jp」が抽出され、その抽出したユーザのメールアドレスの登場回数「8」、「2」、「2」、「3」、「1」が計測される。
これにより、各スレッドID毎に、これらの抽出されたユーザのメールアドレスと、その登場回数に対応したポイントとを示す重要人物テーブルが生成される(図12、ステップS440)。なお、ここでは、登場回数1回を1ポイントとしている。
【0116】
図40は、図39に示す重要人物テーブルに基づいた重要人物出力イメージであり、時系列にスレッドを並べて表示したイメージを示す。ここでは、重要人物は、ポイント数が高い順に3人としている。なお、所定のポイント数以上などとすることもでき、この条件は予め出力制御部50に記憶されるか、ユーザにより入力される。
図40においては、重要人物テーブル(図39)に含まれるスレッドID「116」、「120」を、これらの開始日時「2006/07/01 15:12」、「2007/07/08 23:11」に対応した時間軸上に、時系列で表示している。そして、スレッドID「116」については、ポイント数が高い順に「userA@svr.jp」、「userB@svr.jp」、「userE@svr.jp」が表示され、スレッドID「120」については、ポイント数が高い順に「userA@svr.jp」、「userD@svr.jp」、「userB@svr.jp」、「userC@svr.jp」が表示されている。なお、「userB@svr.jp」と「userC@svr.jp」はポイント数が同じため、両者を表示しているものである。
【0117】
図41は、図39に示す重要人物テーブルに基づいた、検索時期を指定したときの重要人物及び人物相関図の表示イメージを示す。ここでは、2006年が指定されとする。なお、検索時期の条件は、ユーザにより入力されるものとする。
出力制御部50の結果表示部52は、重要人物テーブル(図39)に含まれるスレッドID「116」、「120」のうち、開始日時が2006年であるスレッドID「116」を選択する。そして、スレッドID「116」については、重要人物として、ポイント数が高い順に「userA@svr.jp」、「userB@svr.jp」、「userE@svr.jp」を、そのポイント数とともに表示する。また、人物相関テーブル(図39)から、当該スレッドIDに対応して、重要人物としてのポイント数が最も高い「userA@svr.jp」が含まれる送受信の組と、そのポイント数を読込む。そして、ポイント数が最も高い「userA@svr.jp」を中心として、送受信の組となる各ユーザのメールアドレス「userB@svr.jp」、「userC@svr.jp」、「userD@svr.jp」、「userE@svr.jp」をその周囲に表示するとともに、「userA@svr.jp」と各ユーザのメールアドレス「userB@svr.jp」、「userC@svr.jp」、「userD@svr.jp」、「userE@svr.jp」との間に、ポイント数を表示し、そのポイント数に対応した太さの線を描画する。なお、表示する送受信者のメールアドレスの組をポイント数の多い組から所定数としてもよく、所定のポイント数以上の送受信の組を表示するようにしてもよい。
【0118】
図42は、検索画面の全体イメージを示す図である。同図においては、人物名の表示を指示するためのチェックボックスに、チェックが入っていない。このとき、検索画面には、検索ワードを入力するフィールド、時系列に並べたスレッドとその重要人物のメールアドレス、人物相関図と人物相関図に含まれる人物のメールアドレス、及び、各スレッドに送信者または受信者として登場したユーザのメールアドレスの一覧とそのポイント数が表示されている。
【0119】
図43は、人物名の表示を指示するためのチェックボックスに、チェックが入っているときの検索画面の全体イメージを示す図である。このとき、検索画面には、検索ワードを入力するフィールド、時系列に並べたスレッドとその重要人物のメールアドレス、人物相関図と人物相関図に含まれる人物のメールアドレス、及び、各スレッドに送信者または受信者として登場したユーザのメールアドレスの一覧とそのポイント数が表示されており、各メールアドレスには、そのメールアドレスに関連付けられた人物名が表示されている。
【0120】
なお、本実施の形態に、第2〜第5の実施形態を組み合わせることも可能である。
【0121】
[第7の実施形態]
第7の実施形態では、会議における各参加者の発話内容を音声認識によりテキスト化し、メールと同様のデータ形式に成型することにより、上記実施形態と同様の処理を適用して重要人物の検索や人物相関の把握を可能とするものである。以下、第7の実施形態について第1の実施形態との差分について説明する。
【0122】
図44は、本発明の第7の実施形態による検索支援装置1bの機能ブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。同図において、図1に示す第1の実施形態による検索支援装置1と同一の部分には同一の符号を付し、その説明を省略する。図44に示す検索支援装置1bが図1に示す第1の実施形態による検索支援装置1と異なる点は、音声認識部80がメール記憶部10に接続されており、音声データ記憶部70が音声認識部80に接続されている点である。
【0123】
音声データ記憶部70は、例えば、データベースサーバなどで実現することができ、会議名と、会議中の音声を収集してデータ化した音声データと、会議開催日時と、会議の参加者及び司会者のメールアドレスとを設定した会議ファイルを記憶する。なお、1回の会議について1つの会議ファイルが生成されるものとする。
【0124】
図45は、音声認識部80の構成を示すブロック図である。音声認識部80は、例えば、サーバなどのコンピュータ装置で実現することができ、発話者データ記憶部81、音声データ分割部82、発話者認識部83、音声テキスト変換部84、及び、メール変換部85を備える。発話者データ記憶部81は、各人物を特定するユーザ特定情報としてのメールアドレスと、当該人物の音声の特徴を示すパラメータとを対応づけた音声特徴情報を記憶する。
【0125】
音声データ分割部82は、音声データ記憶部70から会議ファイルを読み出し、読み出した会議ファイル内の音声データを、1人の発話者が発言している発話区間に区切った分割音声データを生成する。発話者認識部83は、分割音声データと、発話者データ記憶部81に記憶されている各話者の音声特徴情報とから発話者を特定し、特定した発話者のメールアドレスを読み出す。音声テキスト変換部84は、分割音声データから、発話内容をテキスト化したテキストデータを生成する。メール変換部85は、発話者のメールアドレス、会議ファイル内の参加者のメールアドレス及び会議時間、発話内容のテキストデータをそれぞれ、Fromフィールド、Toフィールド、Subjectフィールド、メール本文に設定したメールのデータを生成し、メール記憶部10へ書き込む。
【0126】
次に、本実施形態による検索支援装置1bの処理を説明する。
図46は、本実施形態による音声認識部80におけるメール形式データ生成処理フローを示す。音声認識部80の発話者データ記憶部81には、会議参加者の音声特徴情報が予め登録されているものとする。そして、会議の終了後には、音声データ記憶部70に会議ファイルが登録される。
【0127】
例えば、会議の取りまとめ者が予め会議名、会議の参加者及び司会者のメールアドレスをPC(パーソナルコンピュータ)などに入力しておき、会議の開始時に当該PCに音声収集開始指示を入力し、終了時に音声収集停止指示を入力する。PCは、音声収集開始指示を入力してから音声収集停止指示が入力されるまで、当該PCが備えるマイクによって収集した会議中の音声の音声データを生成する。PCは、音声収集停止指示が入力され、音声データの生成を終了すると、予め入力された会議名、会議の参加者及び司会者のメールアドレスと、生成された音声データと、会議開催日時としての当該音声データの生成日時とを設定した会議ファイルを生成し、音声データ記憶部70に書き込む。なお、このPCが音声データ記憶部70、音声認識部80を実現する装置であってもよい。
【0128】
音声認識部80の音声データ分割部82は、まだ本メール形式データ生成処理フローによるメール形式データ生成処理を行なっていない会議ファイルを音声データ記憶部70から読み出す(ステップS1110)。なお、ユーザにより処理対象として指定された会議ファイルを読み出すようにしてもよい。音声データ分割部82は、読み出した会議ファイルに設定されている音声データを取得すると、当該音声データを1人の発話者が発言している発話区間に区切った分割音声データを抽出する(ステップS1120)。このとき、最初の分割音声データの抽出であれば、音声データの冒頭から、2回目以降の抽出であれば、直前までに抽出した分割音声データを除いた音声データの冒頭から、分割音声データを抽出する。なお、1つの発話区間は、例えば、無音区間から次の無音区間としたり、1人の発話者が発言している間の区間としたりすることができる。音声データ分割部82は、分割音声データに対応した音声収集開始時点からの経過時間、つまり、分割音声データにより示される発話区間の開始部分が、音声データにより示される会議中音声において冒頭からどれくらいの時間が経過した時点のものであるかを取得する。
【0129】
次に、発話者認識部83は、既存の話者認識技術を用いて、ステップS1120において抽出された分割音声データにより示される音声が、誰の発言であるかを特定する。例えば、分割音声データにより示される音声(発話)のパターンが、発話者データ記憶部81に記憶されているいずれかのユーザの音声特徴情報、例えば、声紋の特徴を示すデータと一致するかを判断する(ステップS1130)。このとき、ステップS1110において読み出した会議ファイルに登録されているメールアドレスにより特定される音声特徴情報のみを使用してもよい。
【0130】
一致する音声特徴情報がある場合(ステップS1130:YES)、発話者認識部83は、この一致する音声特徴情報に設定されている電子メールアドレスを発話者データ記憶部81から取得し、この取得した発話者のメールアドレスが、会議ファイルに設定されている司会者のメールアドレスと同じであるかを判断する(ステップS1140)。発話者のメールアドレスが司会者のメールアドレスと同じではない場合(ステップS1140:NO)、発話者認識部83は、一致する音声特徴情報から読出した電子メールアドレスを、発話者のメールアドレスとして自身の備える記憶手段に一時的に記憶しておく(ステップS1150)。音声テキスト変換部84は、既存の音声認識技術を用いて、ステップS1120において抽出された分割音声データから発話内容をテキスト化し、テキストデータを生成する(ステップS1160)。
【0131】
メール変換部85は、発話者のメールアドレス、発話内容のテキストデータ、分割音声データに基づいてメールデータを生成し、メール情報記憶部70に書き込む(ステップS1170)。具体的には、まず、メール変換部85は、ステップS1150において発話者認識部83が記憶していた発話者のメールアドレス、ステップS1110において読み出した会議ファイル内の参加者のメールアドレス、当該会議ファイル内の会議名、ステップS1160において生成した発話内容のテキストデータをそれぞれ、Fromフィールド、Toフィールド、Subjectフィールド、メール本文に設定したメールデータを生成する。なお、Toフィールドには、会議ファイル内の参加者のメールアドレスから発話者のメールアドレスを除いて設定するようにしてもよい。
【0132】
続いて、メール変換部85は、発話毎、つまり、分割音声データ毎に一意のMessage-IDを生成して、当該メールデータのMessage-IDフィールドに設定する。Message-IDは、「0001@kaigi20081122.svr.jp」のように、会議における発話に基づいて生成されたメールデータであることを示すための特定の文字列、ここでは、「kaigi」を含んだものとする。メール変換部85は、Referencesフィールドに、同じ会議ファイル内の音声データから抽出した他の分割音声データについて既に生成された他のメールデータのMessage-IDを設定する。ここでは、分割音声データを音声データの冒頭から順に抽出しているため、現在処理対象としている分割音声データよりも遡った時点の発話内容が設定されたメールデータのMessage-IDが取得され、設定されることになる。よって、最初に抽出された分割音声データの場合、Referencesフィールドは設定されない。さらに、メール変換部85は、会議ファイルから取得した会議開催日時に、ステップS1120において取得した経過時間を加算した日時を、メールデータのDateフィールドに設定する。
【0133】
音声データ分割部82は、音声データに次の発話区間があるか否かを判断する(ステップS1180)。音声データに次の発話区間がある場合には(ステップS1180:YES)、ステップS1120からの処理を繰り返す。そして、音声データの最後までの分割音声データの抽出を終了した場合には(ステップS1180:NO)、処理を終了する。
【0134】
なお、ステップS1130において、一致する音声特徴情報がないと判断した場合(ステップS1130:YES)、ステップS1180の処理を行う。一致する音声特徴情報がない場合としては、例えば、複数話者の同時発話や、発話者の音声特徴情報が発話者データ記憶部81に未登録である場合などが想定される。
また、ステップS1140において、発話者のメールアドレスが、会議ファイルに登録されている司会者のメールアドレスと同じである場合(ステップS1140:YES)、ステップS1180の処理を行う。これにより、発言は多いが、会議の話題に関する重要人物ではない司会者を、検索時に重要人物として検出されないようにする。なお、司会者についても会議の話題に係る重要人物の検索対象としたい場合には、ステップS1140の処理は行なわない。
【0135】
図47は、本実施形態によるメール収集部20における分析処理フローを示す。同図において、ステップS1210〜S1270までの処理は、第1の実施形態における図5のステップS110〜S170までの処理と同様である。
【0136】
メール分析部22は、読み込んだメールのMessage-IDフィールドの設定内容に、「kaigi」などの会議に基づいて生成されたメールであることを示す文字列が含まれているかを判断する(ステップS1280)。会議に基づいて生成されたメールであることを示す文字列が含まれていない場合(ステップS1280:NO)、第1の実施形態における図5のステップS180〜S190と同様の処理を行なう(ステップS1290〜S1300)。ただし、ステップS1290において、メール分析部22は、メールのSubjectフィールド及びメール本文の設定内容を形態素解析し、形態素解析された結果をキーワードとする。
【0137】
一方、会議に基づいて生成されたメールであることを示す文字列が含まれている場合(ステップS1280:YES)、メール分析部22は、メールのSubjectフィールド及び本文の設定内容を形態素解析するとともに、形態素解析された結果をキーワード候補とする(ステップS1310)。メール分析部22は、ステップS1310で抽出されたキーワード候補から1つを選択すると(ステップS1320)、メール分析部22が備える記憶手段に、スレッドID及び選択したキーワード候補に対応して記憶されている出現回数を、1加算した出現回数に更新する(ステップS1330)。なお、スレッドID及び選択したキーワード候補に対応した出現回数が記憶されていない場合は、スレッドID及び選択したキーワード候補に対応づけて、出現回数「1」を書き込む。メール分析部22は、更新された出現回数が、キーワード候補をキーワードとして登録すべき出現回数の閾値(例えば、3回)に達したかを判断する(ステップS1340)。
【0138】
ステップS1340において、更新後の出現回数が閾値未満、あるいは、閾値より大きいと判断された場合(ステップS1340:≠)、メール分析部22は、ステップS1310において抽出したキーワード候補のうちまだ選択していないキーワード候補があるかを判断する(ステップS1360)。
【0139】
ステップS1340において、更新後の出現回数が閾値に達した場合(ステップS1340:=)、分析結果出力部23は、このキーワード候補をキーワードとし、新たなレコードIDを付与する。分析結果出力部23は、この新たに付与したレコードIDと、スレッドIDと、キーワードとからなるレコードをキーワードテーブルに追加する(ステップS1350)。メール分析部22は、ステップS1310において抽出したキーワード候補のうちまだ選択していないキーワード候補があるかを判断する(ステップS1360)。
【0140】
メール分析部22は、まだ選択していないキーワード候補がある場合(ステップS1360:YES)、ステップS1320からの処理を繰り返す。そして、抽出した全てのキーワード候補を選択した場合には(ステップS1360:NO)、ステップS1300からの処理を行なう。
【0141】
会議の場合、発話内容に含まれる単語を全てキーワードとした場合、キーワードが膨大な量となってしまったり、会議の主要な話題には関係しない内容もキーワードとして抽出されてしまったりする場合がある。そこで、上記の処理により、会議中に何度も出現した単語のみをキーワードとして選択する。なお、会議中に1回でも発言があったものをキーワードとする場合には、ステップS1280、S1310〜S1360の処理を行なわなくともよい。
また、キーワードテーブルに登録されるキーワードの量が増加してしまったり、不要なキーワードが登録されてしまったりすることを防ぐため、第5の実施形態を適用して、キーワード及びキーワード候補のフィルタリング処理を行ってもよい。また、Subjectフィールドのみを形態素解析し、キーワード及びキーワード候補を抽出することでもよい。
【0142】
次に、本実施形態による検索処理部40における処理について説明する。本実施形態の検索処理部40のクエリ受付部41が検索要求を受信し、実行するスレッド検索処理フローは、図10に示す第1の実施形態によるスレッド検索処理フローと同様である。
【0143】
図48は、本実施形態による人物相関テーブル作成処理フローを示す。
検索処理部40の検索部42は、図10のステップS250において記憶したスレッドID(以下、処理対象スレッドID)のうち、当該人物相関テーブル作成処理フローによる人物相関テーブル作成処理をまだ行っていないスレッドIDを選択する。検索部42は、メールテーブルを検索し、選択したスレッドIDが設定されているレコードを特定して読込む(ステップS1410)。
【0144】
検索部42は、ステップS1410において読込んだレコードから、送信者と受信者に設定されているユーザの組を送受信者の組として抽出し、抽出した送受信者の組それぞれについて、抽出された数をカウントする(ステップS1420)。なお、送信者と受信者のユーザが入れ替わっていても、同じ組であるとする。検索部42は、ステップS1410において読み込んだレコードのメッセージIDに、「kaigi」などの会議における発話に基づいて生成されたメールであることを示す文字列が含まれているかを判断する(ステップS1430)。
【0145】
会議における発話に基づいて生成されたメールであることを示す文字列が含まれていない場合(ステップS1430:NO)、ステップS1420において抽出した送受信者の組それぞれについて、当該送受信者の組が抽出された数をそのままポイントとして付与する(ステップS1440)。一方、会議における発話に基づいて生成されたメールであることを示す文字列が含まれている場合(ステップS1430:YES)、ステップS1420において抽出した送受信者の組それぞれについて、当該送受信者の組が抽出された数に0.1などの所定の係数a(0<a<1)を乗算した数をポイントとして付与する(ステップS1450)。
【0146】
検索部42は、処理対象スレッドIDに、まだ人物相関テーブル作成処理を行っていないスレッドIDがあるかを判断する(ステップS1460)。まだ人物相関テーブル作成処理を行っていないスレッドIDがある場合(ステップS1460:NO)、ステップS1410からの処理を繰り返す。そして、全ての処理対象スレッドIDについて、人物相関テーブル作成処理を実行した場合(ステップS1460:YES)、検索部42は、スレッドID毎に、送信者−受信者のユーザの組及び当該組に対応したポイントを示す一覧である人物相関テーブルを生成して記憶する(ステップS1470)。
【0147】
図49は、本実施形態による重要人物テーブル作成処理フローを示す。
検索処理部40の検索部42は、図10のステップS250において記憶した処理対象スレッドIDのうち、当該重要人物テーブル作成処理フローによるおいてまだ重要人物テーブル作成処理を行っていないスレッドIDを選択する。検索部42は、メールテーブルを検索し、選択したスレッドIDが設定されているレコードを特定して読込む(ステップS1510)。検索部42は、ステップS1510において読み込んだレコードのメッセージIDに、「kaigi」などの会議に基づいて生成されたメールであることを示す文字列が含まれているかを判断する(ステップS1520)。
【0148】
会議に基づいて生成されたメールであることを示す文字列が含まれていない場合(ステップS1520:NO)、検索部42は、読込んだレコードから、送信者または受信者として設定されているユーザを抽出し、その抽出したユーザが、送信者または受信者として設定されている数である登場回数を計測し、その計測した数を当該ユーザのポイントとして記憶する(ステップS1530)。
【0149】
一方、会議に基づいて生成されたメールであることを示す文字列が含まれている場合(ステップS1520:YES)、検索部42は、読込んだレコードから、送信者または受信者として設定されているユーザを抽出し、その抽出したユーザが、送信者として設定されている数、及び、受信者として設定されている数をそれぞれ計測する(ステップS1540)。検索部42は、抽出したユーザそれぞれについて、当該ユーザが送信者として設定されている数に所定の係数bを乗算した数と、当該ユーザが受信者として設定されている数に所定の係数cを乗算した数とを合計し、当該ユーザのポイントを算出する。ここで、係数b及び係数cは、0<b<1、0<c<1とし、かつ、b>cとする。また、係数bまたは係数cを、係数aと同一の値とする。検索部42は、抽出した各ユーザのポイントを記憶する(ステップS1550)。
【0150】
検索部42は、処理対象スレッドIDに、まだ重要人物テーブル作成処理を行っていないスレッドIDがある場合は(ステップS1560:NO)、ステップS1510からの処理を繰り返す。そして、全ての処理対象スレッドIDについて、重要人物テーブル作成処理を実行した場合は(ステップS1560:YES)、スレッドID毎に、ステップS1530またはS1550において抽出されたユーザと、当該ユーザのポイントとを示す一覧である重要人物テーブルを生成して記憶する(ステップS1570)。
【0151】
続いて実施される本実施形態による結果表示処理は、図13に示す第1の実施形態と同様である。
【0152】
会議の場合、参加者間で発話者が入れ替わる回数が多いため、1つの会議ファイルから、発話内容を示すメールが大量に生成されてしまう。そこで、通常メール1通を、会議での複数の発言に対応するように重み付けしてポイントを付与している。上記では、会議ファイルから生成されたメールの場合、送受信者の組が抽出された数に係数a=0.1を乗算してポイントとおり、これは、[通常メール1通:会議での1回の発言=10:1]の重みの比としていること、つまり、通常メール1通に、会議での10回の発言に相当する重み付けをしていることを示す。また、係数b>係数cとすることにより、会議において発言した参加者を当該会議の他の参加者より重み付けし、発話者をより重要な人物とみなすことが可能となる。また、係数bまたは係数cを係数aと同値とすることにより、通常メール1通と会議での1回の発言との重みの比を、人物相関テーブルと重要人物テーブルとで同一にしている。係数a,b,cは、上述した条件の範囲で任意に設定することができる。
【0153】
なお、図49に示す重要人物テーブル作成処理フローのステップS1540において、検索部42は、読込んだレコードから送信者として設定されているユーザを抽出し、その抽出したユーザが送信者として設定されている数と、係数aを乗算した数を当該ユーザのポイントとして算出することでもよい。
【0154】
なお、上記においては、本実施形態と第1の実施形態の差分を説明したが、第2〜4、6の実施形態と組み合わせることも可能である。
【0155】
なお、検索支援装置1、1a、1bは、内部にコンピュータシステムを有している。そして、上述したメール収集部20、検索処理部40、出力制御部50、及び、音声認識部80の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、CPUや各種メモリ、OSや周辺機器等のハードウェアを含むものである。
【0156】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0157】
1…検索支援装置
10…メール記憶部
20…メール収集部
21…メール読込み部(メール読込み手段)
22…メール分析部(メール分析手段)
23…分析結果出力部(分析結果出力手段)
24…人物情報生成部
30…分析結果格納部(分析結果格納手段)
40…検索処理部
41…クエリ受付部(受付手段)
42…検索部(検索手段)
43…検索結果出力部
44…人物情報読込み部
50…出力制御部(出力制御手段)
51…検索結果読込み部
52…結果表示部
53…検索文書受付部
60…人物情報格納部(人物情報格納手段)
70…音声データ記憶部(音声データ記憶手段)
80…音声認識部
81…発話者データ記憶部(発話者データ記憶手段)
82…音声データ分割部(音声データ分割手段)
83…発話者認識部(発話者認識手段)
84…音声テキスト変換部(音声テキスト変換手段)
85…メール変換部(メール変換手段)

【特許請求の範囲】
【請求項1】
各電子メールを特定するメッセージ識別情報と、当該電子メールが属するスレッドを特定するスレッド識別情報と、送信者及び受信者との情報を少なくとも含むレコードからなるメールテーブル、及び、各スレッドのスレッド識別情報と、キーワードとを対応づけた情報を示すキーワードテーブルを記憶する分析結果格納手段と、
電子メールを記憶しているメール記憶手段から電子メールを読込むメール読込み手段と、
前記メール読込み手段により読込まれた電子メールのヘッダの情報から、関連する他の電子メールのメッセージ識別情報を取得し、取得したメッセージ識別情報が前記メールテーブルに登録されているかを判断するメール分析手段と、
前記メール分析手段により、登録されていないと判断された場合は、読込んだ電子メールのスレッド識別情報を新たに生成し、登録されていると判断された場合は、前記関連する他の電子メールのメッセージ識別情報により特定されるメールテーブルのレコードからスレッド識別情報を取得し、読込んだ電子メールのヘッダ情報から取得したメッセージ識別情報、送信者及び受信者と、新たに生成したスレッド識別情報または前記メールテーブルから取得したスレッド識別情報とを設定したレコードを前記メールテーブルに追加するとともに、読込んだ電子メールから得られる情報を形態素解析した結果であるキーワードと、前記スレッド識別情報と対応づけて前記キーワードテーブルに書き込む分析結果出力手段と、
検索条件の入力を受ける受付手段と、
前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者または受信者として設定されているユーザと、当該ユーザが送信者または受信者として設定されている数とを取得する検索手段と、
前記検索手段により取得した数が所定の条件より多いユーザをスレッド識別情報毎に出力する出力制御手段と、
を備えることを特徴とする検索支援装置。
【請求項2】
前記出力制御手段は、前記検索手段により取得した数が所定の条件より多いユーザを、当該ユーザが設定されている数に対応した順序で、スレッド識別情報毎に出力する
ことを特徴とする請求項1に記載の検索支援装置。
【請求項3】
前記検索手段は、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報について、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者及び受信者として設定されているユーザの組を取得し、
前記出力制御手段は、前記検索手段により取得したユーザの組をスレッド識別情報毎に出力する、
ことを特徴とする請求項1または請求項2に記載の検索支援装置。
【請求項4】
前記検索手段は、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報について、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者及び受信者として設定されているユーザの組を取得し、
前記出力制御手段は、前記検索手段により取得したユーザの組に基づいて、当該取得したユーザの組に含まれる複数ユーザ間の相関を示す情報を、スレッド識別情報毎に出力する、
ことを特徴とする請求項1または請求項2に記載の検索支援装置。
【請求項5】
前記検索手段は、前記スレッド識別情報で特定される前記メールテーブルのレコードから、さらに、前記ユーザの組が設定されている数を取得し、
前記出力制御手段は、さらに、ユーザの組が設定されている数に対応した情報を出力する、
ことを特徴とする請求項3または請求項4に記載の検索支援装置。
【請求項6】
前記メールテーブルのレコードは、さらに、同報者の情報を含み、
前記分析結果出力手段は、前記読込んだ電子メールのヘッダ情報から取得した同報者の情報をさらに設定したレコードを前記メールテーブルに追加し、
前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルの各レコードに送信者として設定されているユーザ及び受信者として設定されているユーザに所定のポイントを付与するとともに、同報者として設定されているユーザに前記所定のポイントより所定の重み付けをしたポイントを付与し、
前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザを示す情報を、スレッド識別情報毎に出力する、
ことを特徴とする請求項1から請求項5のいずれかの項に記載の検索支援装置。
【請求項7】
前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルの各レコードに受信者として設定されているユーザに所定のポイントを付与するとともに、送信者として設定されているユーザに前記所定のポイントより所定の重み付けをしたポイントを付与し、
前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザを示す情報を、スレッド識別情報毎に出力する、
ことを特徴とする請求項1から請求項5のいずれかの項に記載の検索支援装置。
【請求項8】
前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルの各レコードに設定されている受信者がメーリングリストのアドレスである場合は、送信者として設定されているユーザに所定のポイントを付与し、メーリングリストのアドレスでない場合は、送信者として設定されているユーザ及び受信者として設定されているユーザに所定のポイントを付与し、
前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザをスレッド識別情報毎に出力する、
ことを特徴とする請求項1から請求項5のいずれかの項に記載の検索支援装置。
【請求項9】
前記メール記憶手段は、会議における発話者であるユーザを送信者に、当該会議の参加者を受信者に、当該会議の会議名を件名に、前記発話者であるユーザの発話内容を本文に設定し、かつ、会議に基づき生成されたことを示す情報を含み、関連する他の電子メールのメッセージ識別情報として、当該会議における他の発話内容を設定した他の電子メールのメッセージ識別情報を設定した電子メールを記憶し、
前記分析結果出力手段は、読み込んだ電子メールに会議に基づき生成されたことを示す情報が設定されている場合、前記メールテーブルに追加する前記レコードに、会議に基づき生成されたことを示す当該情報をさらに設定し、
前記検索手段は、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルに設定される各レコードを特定し、特定した各レコードに会議に基づき生成されたことを示す情報が設定されている場合は、当該各レコードに送信者として設定されているユーザに所定のポイントを付与するとともに受信者として設定されているユーザに当該所定のポイントよりも低いポイントを付与し、会議に基づき生成されたことを示す情報が設定されていない場合は、当該各レコードに送信者として設定されているユーザ及び受信者として設定されているユーザに前記所定のポイントよりも重み付けしたポイントを付与し、
前記出力制御手段は、前記検索手段により付与したポイントの合計が所定の条件より多いユーザを示す情報を、スレッド識別情報毎に出力する、
ことを特徴とする請求項1から請求項5のいずれかの項に記載の検索支援装置。
【請求項10】
前記検索手段は、前記特定した各レコードに会議の音声に基づいて生成したデータであることを示す情報が設定されている場合は、当該各レコードに送信者として設定されているユーザのみに前記所定のポイントを付与することを特徴とする請求項9に記載の検索支援装置。
【請求項11】
前記検索手段は、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報について、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者及び受信者として設定されているユーザの組と、当該ユーザの組が設定されている数を取得し、当該レコードに会議に基づき生成されたことを示す情報が設定されている場合は、前記各ユーザの組に、所定のポイントを当該ユーザの組が設定されている数に応じて付与し、当該レコードに会議に基づき生成されたことを示す情報が設定されていない場合は、前記各ユーザの組に、前記所定のポイントより重み付けしたポイントを当該ユーザの組が設定されている数に応じて付与し、
前記出力制御手段は、各ユーザの組のポイントに対応した情報を出力する、
ことを特徴とする請求項9または請求項10に記載の検索支援装置。
【請求項12】
分析結果出力手段は、読込んだ電子メールに会議に基づき生成されたことを示す情報が設定されている場合、読込んだ電子メールから得られる情報を形態素解析した結果をキーワード候補とし、同一のスレッド識別情報に対応した電子メールから当該キーワード候補が所定回数以上得られた場合に、当該キーワード候補と当該スレッド識別情報とを対応づけて前記キーワードテーブルに書き込む、
ことを特徴とする請求項9から請求項11のいずれかの項に記載の検索支援装置。
【請求項13】
会議名と、会議中の音声の音声データと、会議に参加したユーザを示す参加者とを含む会議データを記憶する音声データ記憶手段と、
各ユーザの音声の特徴を示すパラメータである音声特徴情報を記憶する発話者データ記憶手段と、
前記音声データ記憶手段から会議ファイルを読み出し、読み出した会議ファイル内の音声データを、1人のユーザが発言している発話区間に区切った分割音声データを生成する音声データ分割手段と、
前記分割音声データと、前記発話者データ記憶手段に記憶されている各ユーザの音声特徴情報とから発話者であるユーザを特定する発話者認識手段と、
前記分割音声データから、発話内容をテキスト化したテキストデータを生成する音声テキスト変換手段と、
前記発話者認識手段が特定した発話者を送信者に、前記会議データ内の参加者を受信者に、前記会議データ内の会議名を件名に、前記音声テキスト変換手段が生成したテキストデータを本文に設定するとともに、新たに生成したメッセージ識別情報と、会議に基づき生成されたことを示す情報と、関連する他の電子メールのメッセージ識別情報として、同じ音声データから抽出した他の分割音声データに基づいて生成した電子メールのメッセージ識別情報とを設定した電子メールを生成し、前記メール記憶手段へ書き込むメール変換手段と、
をさらに備えることを特徴とする請求項9から請求項12のいずれかの項に記載の検索支援装置。
【請求項14】
前記会議データは、会議開催日時の情報をさらに含み、
前記音声データ分割手段は、前記分割音声データにより示される音声に対応した、前記音声データにより示される音声における冒頭からの経過時間を取得し、
前記メール変換手段は、前記会議データ内の会議開催日時に、前記音声データ分割手段が取得した経過時間を加算した日時をさらに設定した電子メールを生成する、
ことを特徴とする請求項13に記載の検索支援装置。
【請求項15】
前記分析結果格納手段は、さらに、スレッド識別情報と、当該スレッド識別情報で特定されるスレッドの開始日時の情報を示すスレッドテーブルを記憶し、
前記分析結果出力手段は、読み込んだ電子メールのスレッド識別情報を新たに生成したときに、当該スレッド識別情報と、当該電子メールのヘッダの情報から取得した日時の情報を示す開始日時とを対応付けてスレッドテーブルに書き込み、
前記検索手段は、さらに、前記キーワードテーブルから取得したスレッド識別情報に対応した開始日時の情報を読み出し、
前記出力制御手段は、入力を受けた期間条件に合致する開始日時のスレッド識別情報について前記ユーザまたは前記ユーザの組を出力する、
ことを特徴とする請求項1から請求項14のいずれかの項に記載の検索支援装置。
【請求項16】
前記メールテーブルのレコードは、さらに、日付の情報を含み、
前記分析結果出力手段は、読込んだ電子メールのヘッダ情報から取得した日付の情報をさらに設定したレコードを前記メールテーブルに追加し、
前記検索手段は、前記取得したスレッド識別情報で特定される前記メールテーブルのレコードからさらに日付の情報を取得し、
出力制御手段は、前記検索手段により取得した各スレッド識別情報に対応する日付の情報に基づいて、所定の期間毎の電子メール数を示す情報を、各スレッド識別情報毎に出力する、
ことを特徴とする請求項1から請求項15のいずれかの項に記載の検索支援装置。
【請求項17】
前記分析結果出力手段は、読込んだ前記電子メールから取得した件名、または、件名及び本文の情報を形態素解析した結果をキーワードとして前記キーワードテーブルに書き込む
ことを特徴とする請求項1から請求項16のいずれかの項に記載の検索支援装置。
【請求項18】
前記分析結果出力手段は、形態素解析した結果のうち所定の品詞のものをキーワードとして前記キーワードテーブルに書き込む
ことを特徴とする請求項17に記載の検索支援装置。
【請求項19】
前記分析結果出力手段は、形態素解析した結果のうち、予め決められた不要な文字列を除いたものを、キーワードとして前記キーワードテーブルに書き込む
ことを特徴とする請求項17または請求項18に記載の検索支援装置。
【請求項20】
ユーザを特定する情報と、当該ユーザの名前とを対応付けた情報を示す人物テーブルを記憶する人物情報格納手段と、
前記メール読込み手段により読込まれた電子メールの本文の情報から、自己紹介に用いられる所定の語句が含まれている行を抽出し、抽出した行を形態素解析して得られた語句のうち固有名詞の語句を選択し、選択した語句と、読込んだ前記電子メールのヘッダ情報から取得した送信者を特定する情報とを対応づけて前記人物テーブルに書き込む人物情報生成手段とをさらに備え、
前記出力制御手段は、出力対象の前記ユーザを特定する情報、または、出力対象の前記ユーザの組を構成するユーザを特定する情報に対応して前記人物テーブルから読み出されたユーザの名前を出力する、
ことを特徴とする請求項1から請求項19のいずれかの項に記載の検索支援装置。
【請求項21】
前記人物情報生成手段は、前記電子メールの本文の情報に設定されている先頭より所定行数までの行から、自己紹介に用いられる所定の語句が含まれている行を抽出する
ことを特徴とする請求項20に記載の検索支援装置。
【請求項22】
前記人物情報生成手段は、自己紹介に用いられる所定の語句が含まれているとして抽出した行から区切り文字の前または後の語句を抽出して形態素解析を行い、固有名詞として得られた語句と、読込んだ前記電子メールのヘッダ情報から取得した送信者を特定する情報とを対応づけて前記人物テーブルに書き込む
ことを特徴とする請求項20または請求項21に記載の検索支援装置。
【請求項23】
前記人物情報生成手段は、送信者を特定する情報として、読込んだ前記電子メールのヘッダ情報から取得した送信者の電子メールアドレスを前記人物テーブルに書き込む
ことを特徴とする請求項20から請求項22のいずれかの項に記載の検索支援装置。
【請求項24】
各電子メールを特定するメッセージ識別情報と、当該電子メールが属するスレッドを特定するスレッド識別情報と、送信者及び受信者との情報を少なくとも含むレコードからなるメールテーブル、及び、各スレッドのスレッド識別情報と、キーワードとを対応づけた情報を示すキーワードテーブルを記憶する分析結果格納手段を備え、所望の情報に関する重要人物を提示して、前記情報の検索を支援する検索支援装置に用いられる検索支援方法であって、
メール読込み手段が、電子メールを記憶しているメール記憶手段から電子メールを読込み、
メール分析手段が、前記メール読込み手段により読込まれた電子メールのヘッダの情報から、関連する他の電子メールのメッセージ識別情報を取得し、取得したメッセージ識別情報が前記メールテーブルに登録されているかを判断し、
分析結果出力手段が、前記メール分析手段により、登録されていないと判断された場合は、読込んだ電子メールのスレッド識別情報を新たに生成し、登録されていると判断された場合は、前記関連する他の電子メールのメッセージ識別情報により特定されるメールテーブルのレコードからスレッド識別情報を取得し、読込んだ電子メールのヘッダ情報から取得したメッセージ識別情報、送信者及び受信者と、新たに生成したスレッド識別情報または前記メールテーブルから取得したスレッド識別情報とを設定したレコードを前記メールテーブルに追加するとともに、読込んだ電子メールから得られる情報を形態素解析した結果であるキーワードと、前記スレッド識別情報と対応づけて前記キーワードテーブルに書き込み、
受付手段が、検索条件の入力を受け、
検索手段が、前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者または受信者として設定されているユーザと、当該ユーザが送信者または受信者として設定されている数とを取得し、
出力制御手段が、前記検索手段により取得した数が所定の条件より多いユーザをスレッド識別情報毎に出力する、
ことを特徴とする検索支援方法。
【請求項25】
所望の情報に関する重要人物を提示して、前記情報の検索を支援する検索支援装置として用いられるコンピュータを、
各電子メールを特定するメッセージ識別情報と、当該電子メールが属するスレッドを特定するスレッド識別情報と、送信者及び受信者との情報を少なくとも含むレコードからなるメールテーブル、及び、各スレッドのスレッド識別情報と、キーワードとを対応づけた情報を示すキーワードテーブルを記憶する分析結果格納手段、
電子メールを記憶しているメール記憶手段から電子メールを読込むメール読込み手段、
前記メール読込み手段により読込まれた電子メールのヘッダの情報から、関連する他の電子メールのメッセージ識別情報を取得し、取得したメッセージ識別情報が前記メールテーブルに登録されているかを判断するメール分析手段、
前記メール分析手段により、登録されていないと判断された場合は、読込んだ電子メールのスレッド識別情報を新たに生成し、登録されていると判断された場合は、前記関連する他の電子メールのメッセージ識別情報により特定されるメールテーブルのレコードからスレッド識別情報を取得し、読込んだ電子メールのヘッダ情報から取得したメッセージ識別情報、送信者及び受信者と、新たに生成したスレッド識別情報または前記メールテーブルから取得したスレッド識別情報とを設定したレコードを前記メールテーブルに追加するとともに、読込んだ電子メールから得られる情報を形態素解析した結果であるキーワードと、前記スレッド識別情報と対応づけて前記キーワードテーブルに書き込む分析結果出力手段、
検索条件の入力を受ける受付手段、
前記キーワードテーブルから、前記受付手段により受け付けた検索条件で示される検索ワードに一致するキーワードのスレッド識別情報を取得し、取得した各スレッド識別情報毎に、当該スレッド識別情報で特定される前記メールテーブルのレコードから送信者または受信者として設定されているユーザと、当該ユーザが送信者または受信者として設定されている数とを取得する検索手段、
前記検索手段により取得した数が所定の条件より多いユーザをスレッド識別情報毎に出力する出力制御手段、
として機能させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate


【公開番号】特開2010−79872(P2010−79872A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2009−29158(P2009−29158)
【出願日】平成21年2月10日(2009.2.10)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】