(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサが実行するプログラムを格納するメモリとを有する計算機であって、
前記メモリは、データ集合記憶部を有し、
前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、
前記計算機は、
少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成部と、
前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成部と、
前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行部と、
前記特定されたデータ単位に基づいて、検索結果を出力する結果出力部と、を有し、
前記計算機は、前記データ集合記憶部に含まれる複数のメッセージの各々から、当該メッセージが生成された生成時刻を抽出し、前記抽出された生成時刻を含む書誌情報を前記メモリに格納する情報抽出部を有し、
前記単位生成部は、
前記書誌情報に含まれる複数の生成時刻の分布の粗密に基づいて、前記複数のメッセージを前記データ単位に再構成し、
前記データ単位に含まれるメッセージの数の最小値を取得し、
前記再構成された第１のデータ単位に含まれる第１のメッセージの数が前記最小値を下回る場合、前記第１のメッセージの直前に生成された第２のメッセージが含まれる第２のデータ単位と、前記第１のメッセージの直後に生成された第３のメッセージが含まれる第３のデータ単位とに、前記第１のメッセージの各々を含めることを特徴とする計算機。
【請求項２】
請求項１に記載の計算機であって、
前記単位生成部は、
前記書誌情報に含まれる複数の生成時刻の各々と、当該生成時刻の直前の時刻を示し、かつ、前記書誌情報に含まれる生成時刻との差を算出し、
前記算出された複数の差の平均値を算出し、
前記算出された平均値よりも大きい前記差が算出された二つの生成時刻の間を、粗であると決定し、
前記粗の二つの生成時刻によって、前記複数のメッセージを複数の前記データ単位に再構成することを特徴とする計算機。
【請求項３】
請求項１に記載の計算機であって、
前記情報抽出部は、
前記データ集合記憶部に含まれる複数のメッセージの各々から、前記メッセージの送信元のアドレス、及び、前記メッセージの宛先のアドレスを抽出し、
前記抽出された送信元のアドレス及び宛先のアドレスを、前記書誌情報として格納し、
前記単位生成部は、前記生成時刻、前記送信元のアドレス及び宛先のアドレスに基づいて、前記複数のメッセージをデータ単位に再構成することを特徴とする計算機。
【請求項４】
請求項１に記載の計算機であって、
前記計算機は、入出力装置を有し、
前記入出力装置は、前記最小値を受け付けるためのインタフェースを表示することを特徴とする計算機。
【請求項５】
プロセッサと、前記プロセッサが実行するプログラムを格納するメモリとを有する計算機におけるデータ処理方法であって、
前記メモリは、データ集合記憶部を有し、
前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、
前記方法は、
前記プロセッサが、少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成手順と、
前記プロセッサが、前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成手順と、
前記プロセッサが、前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行手順と、
前記プロセッサが、前記特定されたデータ単位に基づいて、検索結果を出力する結果出力手順と、
前記プロセッサが、前記データ集合記憶部に含まれる複数のメッセージの各々から、当該メッセージが生成された生成時刻を抽出し、前記抽出された生成時刻を含む書誌情報を前記メモリに格納する情報抽出手順と、を含み、
前記単位生成手順は、
前記プロセッサが、前記書誌情報に含まれる複数の生成時刻の分布の粗密に基づいて、前記複数のメッセージを前記データ単位に再構成する手順と、
前記プロセッサが、前記データ単位に含まれるメッセージの数の最小値を取得する手順と、
前記プロセッサが、前記再構成された第１のデータ単位に含まれる第１のメッセージの数が前記最小値を下回る場合、前記第１のメッセージの直前に生成された第２のメッセージが含まれる第２のデータ単位と、前記第１のメッセージの直後に生成された第３のメッセージが含まれる第３のデータ単位とに、前記第１のメッセージの各々を含める手順とを含むことを特徴とするデータ処理方法。
【請求項６】
請求項５に記載のデータ処理方法であって、
前記単位生成手順は、
前記プロセッサが、前記書誌情報に含まれる複数の生成時刻の各々と、当該生成時刻の直前の時刻を示し、かつ、前記書誌情報に含まれる生成時刻との差を算出する手順と、
前記プロセッサが、前記算出された複数の差の平均値を算出する手順と、
前記プロセッサが、前記算出された平均値よりも大きい前記差が算出された二つの生成時刻の間を、粗であると決定する手順と、
前記プロセッサが、前記粗の二つの生成時刻によって、前記複数のメッセージを複数の前記データ単位に再構成する手順を含むことを特徴とするデータ処理方法。
【請求項７】
請求項５に記載のデータ処理方法であって、
前記情報抽出手順は、
前記プロセッサが、前記データ集合記憶部に含まれる複数のメッセージの各々から、前記メッセージの送信元のアドレス、及び、前記メッセージの宛先のアドレスを抽出する手順と、
前記プロセッサが、前記抽出された送信元のアドレス及び宛先のアドレスを、前記書誌情報として格納する手順を含み、
前記単位生成手順は、前記プロセッサが、前記生成時刻、前記送信元のアドレス及び宛先のアドレスに基づいて、前記複数のメッセージをデータ単位に再構成する手順を含むことを特徴とするデータ処理方法。
【請求項８】
請求項５に記載のデータ処理方法であって、
前記計算機は、入出力装置を有し、
前記方法は、前記入出力装置が、前記最小値を受け付けるためのインタフェースを表示する手順を含むことを特徴とするデータ処理方法。
【請求項９】
計算機が読み取り可能な非一時的な記録媒体であって、
前記計算機は、データ集合記憶部を有するメモリを有し、
前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、
前記非一時的な記録媒体は、
前記計算機に、少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成手順と、
前記計算機に、前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成手順と、
前記計算機に、前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行手順と、
前記計算機に、前記特定されたデータ単位に基づいて、検索結果を出力する結果出力手順と、
前記計算機に、前記データ集合記憶部に含まれる複数のメッセージの各々から、当該メッセージが生成された生成時刻を抽出し、前記抽出された生成時刻を含む書誌情報を前記メモリに格納する情報抽出手順と、を実行させ、
前記単位生成手順において、
前記計算機に、前記書誌情報に含まれる複数の生成時刻の分布の粗密に基づいて、前記複数のメッセージを前記データ単位に再構成する手順と、
前記計算機に、前記データ単位に含まれるメッセージの数の最小値を取得する手順と、
前記計算機に、前記再構成された第１のデータ単位に含まれる第１のメッセージの数が前記最小値を下回る場合、前記第１のメッセージの直前に生成された第２のメッセージが含まれる第２のデータ単位と、前記第１のメッセージの直後に生成された第３のメッセージが含まれる第３のデータ単位とに、前記第１のメッセージの各々を含める手順と、を実行させるためのプログラムを記憶した非一時的な記録媒体。
【請求項１０】
請求項９に記載の非一時的な記録媒体であって、
前記単位生成手順において、
前記計算機に、前記書誌情報に含まれる複数の生成時刻の各々と、当該生成時刻の直前の時刻を示し、かつ、前記書誌情報に含まれる生成時刻との差を算出する手順と、
前記計算機に、前記算出された複数の差の平均値を算出する手順と、
前記計算機に、前記算出された平均値よりも大きい前記差が算出された二つの生成時刻の間を、粗であると決定する手順と、
前記計算機に、前記粗の二つの生成時刻によって、前記複数のメッセージを複数の前記データ単位に再構成する手順と、を実行させるためのプログラムを記憶した非一時的な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機に関する。
【背景技術】
【０００２】
ネットワークに接続された計算機の普及にともない、複数の計算機間で電子メールを送受信する技術が広まった。ユーザは、手紙に記載するような内容を電子メールによって他のユーザに送信する。さらに、送受信された電子メールを全文検索技術によって検索することが一般的になっている。【０００３】
一方で、近年、モバイル端末の普及にともないショートメッセージングサービス（ＳＭＳ）の利用が広まっている。ＳＭＳによって送受信されるメッセージは、送信できる文字数に制限がある。このため、ユーザは短い文を一つのメッセージとして他のユーザに送信する。【０００４】
また、近年普及するソーシャルネットワーキングサービス（ＳＮＳ）及び無料通話サービス等は、メッセンジャーソフトによって実現されている。このメッセンジャーソフトには、ユーザ間が情報を送受信するための技術として、電子メールの技術ではなく、一文が短く、かつ、情報量が少ないＳＭＳと同様の技術が採用されている。【０００５】
ＳＭＳの技術を用いた場合、例えば、他のユーザに質問するためのメッセージと、この質問に対して回答するためのメッセージとは、異なるメッセージであり、複数のデータとして各々蓄積される。このため、一つのテーマを持つ情報の開始と終了とが一つのメッセージには含まれず、一つのテーマを持つ情報が複数のメッセージに分割される。【０００６】
一つのテーマを持つ情報が複数のメッセージに分割されるため、ユーザが一つのテーマを持つ情報から所定の内容を検索したい場合に、検索条件に適合するか否かをメッセージごとに判定する検索方法を用いても、ユーザは、適切な検索結果を得られない問題が生じる。この問題は、ＳＭＳの技術が、従来の電子メールの技術とは異なり、会話において発生する短文の一つ一つを、複数のメッセージの各々に含め送受信するために発生する。【０００７】
ユーザは、ＳＭＳを用いる場合、送受信されるメッセージを、送受信される時間順に閲覧し、閲覧した内容をユーザの脳内に蓄積することによって文脈に関する情報を生成する。しかし、データが送受信された期間の後、計算機が一つのデータだけを抽出して参照した場合、抽出されたデータの前後に生成及び送信され、かつ、抽出されたデータに関連性が強いデータを参照しなくては、ユーザが欲しい情報を得ることができない。【０００８】
このため、なんらかの単位で複数のメッセージをひとまとまりにし、ひとまとまりのメッセージを検索結果としてユーザに提供する方法が考えられている。【０００９】
ひとまとまりのメッセージの単位を生成する方法には、書誌情報を利用する方法がある（例えば、特許文献１参照）。特許文献１には、「ステップＳ２において、文書属性処理部２２は、ステップＳ１の処理で文書取得部２１により取得され供給された電子メールの文書から属性情報（メッセージＩＤ等のヘッダ情報）を抽出し、その属性情報に基づき、文書をグループ化して（すなわち、話題毎にグループ化して）、文書内容処理部２３および文書特徴データベース作成部２４に供給する。」ことが記載される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００３−１７８０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
一つのテーマを持つ情報が複数のメッセージに分割される場合、計算機は、関連性が強いメッセージを一つのデータの集合として処理することができない。このため、計算機が、従来の全文検索方法によってメッセージを検索する場合、検索条件に適合する適切なメッセージを抽出し、ユーザにとって意味のある情報を出力することができなかった。【００１２】
なんらかの単位で複数のメッセージをひとまとまりにし、検索結果として示す方法が考えられているが、特許文献１の技術のように、送信者などの書誌情報によってまとまりを生成する場合、メッセージのまとまりにはノイズ（検索条件とは適合しない情報を持つデータ）が含まれることになる。これは、同じ送信者でも複数の話題を発信する可能性があり、書誌情報によって生成された一つのまとまりが複数のテーマを含む可能性があるためである。【００１３】
本発明の目的は、ユーザにとって意味のある検索結果を出力するため、複数のデータを適切にまとめる方法の提供である。
【課題を解決するための手段】
【００１４】
本発明の代表的な一形態によると、プロセッサと、前記プロセッサが実行するプログラムを格納するメモリとを有する計算機であって、前記メモリは、データ集合記憶部を有し、前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、前記計算機は、少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成部と、前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成部と、前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行部と、前記特定されたデータ単位に基づいて、検索結果を出力する結果出力部と、を有する。
【発明の効果】
【００１５】
本発明の一実施形態によると、複数のメッセージを検索単位にまとめることによって、ユーザにとって意味のある検索結果を出力することができる。【００１６】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１７】
【図１】本実施例の計算機システムの物理的な構成と論理的な構成とを示すブロック図である。
【図２Ａ】本実施例の電子メールによってやり取りされるメッセージの例を示す説明図である。
【図２Ｂ】本実施例の一つのテーマを有する複数のメッセージを示す説明図である。
【図３Ａ】本実施例の複数のユーザがやり取りするメッセージを示す説明図である。
【図３Ｂ】本実施例の二人のユーザがやり取りするメッセージを示す説明図である。
【図４】本実施例の対象データ集合を示す説明図である。
【図５】本実施例の検索単位を生成する処理を示すフローチャートである。
【図６】本実施例の索引生成情報の例を示す説明図である。
【図７】本実施例の書誌情報表を示す説明図である。
【図８】本実施例の抽出データ表を示す説明図である。
【図９】本実施例の検索単位表を示す説明図である。
【図１０】本実施例の検索単位インデクスを示す説明図である。
【図１１】本実施例の検索単位の統合の概念を示す説明図である。
【図１２】本実施例の検索単位ごと検索処理を示すフローチャートである。
【図１３Ａ】本実施例の検索クライアントに表示される検索条件を入力するための画面の例を示す説明図である。
【図１３Ｂ】本実施例の検索クライアントに表示される検索結果を出力するための画面の例を示す説明図である。
【図１４】本実施例の索引設定を設定するための画面の例を示す説明図である。
【図１５】本実施例の索引設定を示す説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して詳細に説明する。本実施例の計算機は、情報が複数に分割されて含まれる複数のデータから、所望の意味を含むデータのまとまり（検索単位）を再構成する。
【実施例】
【００１９】
図１は、本実施例の計算機システムの物理的な構成と論理的な構成とを示すブロック図である。【００２０】
本実施例の計算機システムは、検索サーバ１０、検索クライアント２０、指示クライアント３０、記憶媒体４０及びネットワーク５０を有する。検索サーバ１０は、複数のデータの構成を変更する計算機である。【００２１】
検索クライアント２０は、検索サーバ１０に検索条件を入力し、検索サーバ１０から検索結果を受信する計算機である。指示クライアント３０は、複数のデータをまとめるための条件を検索サーバ１０に入力する計算機である。【００２２】
記憶媒体４０は、検索されるデータ等を保持する記憶装置である。記憶媒体４０は、データを保持する記憶装置であれば、いかなる装置でもよく、例えば、ハードディスク、又は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等でもよい。【００２３】
ネットワーク５０は、検索サーバ１０、検索クライアント２０及び指示クライアント３０を接続する。ネットワーク５０は、ＬＡＮであっても、インターネットであってもよい。【００２４】
なお、図１に示す検索サーバ１０、検索クライアント２０及び指示クライアント３０は、各々異なる装置に実装されるが、すべての計算機が一つの装置に実装されてもよいし、少なくとも二つの計算機が一つの装置に実装されてもよい。【００２５】
また、図１に示す検索サーバ１０及び記憶媒体４０は、異なる装置によって実装されるが、一つの装置に実装されてもよい。【００２６】
検索クライアント２０は、ＣＰＵ２１、主記憶２２、出力装置２３、入力装置２４及びネットワークポート２５を、物理的な構成として有する。検索クライアント２０の物理的な構成は、バスによって相互に接続される。【００２７】
ＣＰＵ２１は、演算装置であり、主記憶２２が保持するプログラムを実行する。ＣＰＵ２１は、演算装置であれば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）以外のいかなるプロセッサであってもよい。主記憶２２は、プログラム及びデータを保持する記憶装置である。【００２８】
出力装置２３は、プリンタ又はディスプレイ等に接続され、検索サーバ１０における処理の結果等を出力する。入力装置２４は、マウス又はキーボードに接続され、ユーザからの指示を受け付ける。また、出力装置２３及び入力装置２４は、タッチパネル等の入力及び出力が可能な装置に接続されてもよい。【００２９】
ネットワークポート２５は、検索クライアント２０がネットワーク５０と接続するためのポートである。【００３０】
指示クライアント３０は、ＣＰＵ３１、主記憶３２、出力装置３３、入力装置３４及びネットワークポート３５を、物理的な構成として有する。指示クライアント３０の物理的な構成は、バスによって相互に接続される。【００３１】
ＣＰＵ３１は、演算装置であり、主記憶３２が保持するプログラムを実行する。ＣＰＵ３１は、演算装置であれば、ＣＰＵ以外のいかなるプロセッサであってもよい。主記憶３２は、プログラム及びデータを保持する記憶装置である。【００３２】
出力装置３３は、プリンタ又はディスプレイ等に接続され、検索サーバ１０における処理の結果等を出力する。入力装置３４は、マウス又はキーボードに接続され、ユーザからの指示を受け付ける。また、出力装置３３及び入力装置３４は、タッチパネル等の入力及び出力が可能な装置に接続されてもよい。【００３３】
ネットワークポート３５は、指示クライアント３０がネットワーク５０と接続するためのポートである。【００３４】
検索サーバ１０は、ＣＰＵ１１、主記憶１２、出力装置１３、入力装置１４、ネットワークポート１５及びストレージポート１６を、物理的な構成として有する。検索サーバ１０の物理的な構成は、バスによって相互に接続される。【００３５】
ＣＰＵ１１は、演算装置であり、主記憶１２が保持するプログラムを実行する。ＣＰＵ１１は、演算装置であれば、ＣＰＵ以外のいかなるプロセッサであってもよい。主記憶１２は、プログラム及びデータを保持する記憶装置である。【００３６】
出力装置１３は、プリンタ又はディスプレイ等に接続され、検索サーバ１０における処理の結果等を出力する。入力装置１４は、マウス又はキーボードに接続される。また、出力装置１３及び入力装置１４は、タッチパネル等の入力及び出力が可能な装置に接続されてもよい。【００３７】
ネットワークポート１５は、検索サーバ１０がネットワーク５０と接続するためのポートである。ストレージポート１６は、検索サーバ１０が記憶媒体４０と接続するためのポートである。【００３８】
主記憶１２は、システム制御部１００、索引制御部１０１、情報抽出部１０２、単位生成部１０３、索引生成部１０４、検索制御部１０７、条件受付部１０８、検索実行部１０９、結果生成部１１０及び結果出力部１１１を、検索サーバ１０の機能を実装するプログラムとして有する。【００３９】
また、図１に示す主記憶１２は、索引生成情報１０５、書誌情報表１１２、及び、少なくとも一つの抽出データ表１０６を有する。なお、索引生成情報１０５、抽出データ表１０６及び書誌情報表１１２は、検索サーバ１０を実装する装置とは異なる装置に格納されてもよい。【００４０】
システム制御部１００は、索引制御部１０１及び検索制御部１０７を制御する。索引制御部１０１は、情報抽出部１０２、単位生成部１０３及び索引生成部１０４を制御する。検索制御部１０７は、条件受付部１０８、検索実行部１０９、結果生成部１１０及び結果出力部１１１を制御する。【００４１】
情報抽出部１０２は、指定された複数のデータを対象データ集合４１から取得し、取得された複数のデータから書誌情報を抽出する。そして、情報抽出部１０２は、抽出された書誌情報を書誌情報表１１２に格納する。【００４２】
単位生成部１０３は、書誌情報表１１２を用いて、対象データ集合４１の少なくとも一つのデータと、検索単位との組合せを検索単位表４２に格納する。索引生成部１０４は、検索単位表４２に格納される検索単位を用いて、検索単位インデクス４３を生成する。【００４３】
条件受付部１０８は、検索条件を取得する。そして、条件受付部１０８は、検索実行部１０９による処理のためのフォーマットに、取得された検索条件を変換する。【００４４】
検索実行部１０９は、検索単位インデクス４３を検索する。結果生成部１１０は、検索単位表４２を用いて、対象データ集合４１からデータを抽出し、抽出されたデータを結合することによって、検索結果を生成する。【００４５】
結果出力部１１１は、結果生成部１１０によって生成された検索結果を検索クライアント２０に送信する。【００４６】
索引生成情報１０５は、対象データ集合４１のデータを指定する情報である。抽出データ表１０６は、メッセージをやり取りしたユーザの組合せに従って抽出されたデータを示す。書誌情報表１１２は、対象データ集合４１のデータの書誌情報を含む。【００４７】
本実施例において、検索サーバ１０は各機能をプログラムによって実装するが、検索サーバ１０の各機能は集積回路等の物理的な装置によって実装されてもよい。また、以下に示す索引生成情報１０５、書誌情報表１１２及び抽出データ表１０６は、テーブルのフォーマットによって情報を保持するが、本実施例の索引生成情報１０５、書誌情報表１１２及び抽出データ表１０６は、ＣＳＶ等のいかなるフォーマットによって情報を保持してもよい。【００４８】
図１に示す記憶媒体４０は、対象データ集合４１、検索単位表４２、検索単位インデクス４３及び索引設定４４を有する。記憶媒体４０は、検索サーバ１０のストレージポート１６を介して検索サーバ１０と接続される。【００４９】
対象データ集合４１は、複数のユーザがやり取りしたメッセージのデータを格納する。検索単位表４２は、単位生成部１０３によって再構成された検索単位を格納する。検索単位インデクス４３は、索引と検索単位とを格納する。索引設定４４は、検索単位を生成するための方法等を示すパラメータを格納する。【００５０】
なお、対象データ集合４１、検索単位表４２、検索単位インデクス４３及び索引設定４４は、主記憶１２に格納されてもよいし、記憶媒体４０を実装する装置とは異なる装置に格納されてもよい。【００５１】
図２Ａは、本実施例の電子メールによってやり取りされるメッセージの例を示す説明図である。【００５２】
図２Ａに示すメッセージ６００は、ユーザ６１からユーザ６０へ電子メールによって送信されるメッセージである。ユーザ６０のアドレスは、ｔａｒｏ＠ｈｉ．ｃｏｍであり、ユーザ６１のアドレスは、ｈａｎａｋｏ＠ｈｉ．ｃｏｍである。メッセージ６００には、ユーザ６０及びユーザ６１がやり取りした情報が、履歴として含まれる。【００５３】
具体的には、メッセージ６００には、ユーザ６０とユーザ６１との話題がユーザにとって理解できる情報として含まれる。ここで、ユーザにとって理解できる情報とは、話題の文脈であり、話題の文脈とは、話題の背景及び経緯、並びに、話題の背景及び経緯の説明である。【００５４】
このため、計算機は、ユーザ６０及びユーザ６１が一つのテーマに従って相互に交換した情報を、一つのメッセージ６００の一つのデータから有効に検索することができる。【００５５】
なお、図２Ａに示すメッセージは電子メールであるが、計算機が有効に検索できる一つのデータには、電子化された特許明細書、論文、新聞記事及びブログ記事等の一つのデータも含まれる。【００５６】
図２Ｂは、本実施例の一つのテーマを有する複数のメッセージを示す説明図である。【００５７】
図２Ｂに示すメッセージ６０１〜メッセージ６０７の各々には、メッセージ６００に含まれる内容が分割されて含まれる。ユーザ６０は、メッセージ６００の内容の一部を、質問又は回答を示す一つメッセージとして、ユーザ６１に送信する。【００５８】
図２Ｂに示すメッセージ６０１〜メッセージ６０７は、例えばＳＭＳによって送信されるメッセージである。メッセージ６０１〜メッセージ６０７の各々のデータは、独立する。【００５９】
図２Ａに示すように、ユーザ６０がユーザ６１からメッセージ６００を受信し、計算機が、ユーザ６０及びユーザ６１間でやり取りされるすべてのメッセージのデータを、「製品Ａ」、「実行権限」及び「エラー」の検索条件によって検索した場合、計算機は、メッセージ６００の「管理者権限で実行・・・」を、解決方法を示す検索結果として取得することができる。これは、メッセージ６００のデータが、「製品Ａが・・・」及び「実行権限ないエラー・・・」などの文字列を含むためである。【００６０】
一方、図２Ｂに示すように、ユーザ６０及びユーザ６１がメッセージ６０１〜メッセージ６０７をやり取りし、計算機が、ユーザ６０及びユーザ６１間でやり取りされるすべてのメッセージを、「製品Ａ」、「実行権限」及び「エラー」の検索条件によって検索した場合、計算機は、検索結果を取得することができない。【００６１】
これは、メッセージ６０１〜メッセージ６０７には、「製品Ａ」、「実行権限」及び「エラー」の検索条件をすべて含むメッセージが含まれていないためである。また、解決方法を示す文字列が、「製品Ａ」、「実行権限」及び「エラー」の各々が含まれるメッセージとは異なるメッセージに含まれるためである。【００６２】
さらに、電子的なメッセンジャー機能による会話の例を以下に示す。
・DATA1: From USER1 To USER2 “子供が大きくなって生活が苦しい”
・DATA2: From USER2 To USER1 “なんで？”
・DATA3: From USER1 To USER2 “支出は増えたけど、給料が上がらん”
・DATA4: From USER2 To USER1 “もっと給料がいいの探せば？”
・DATA5: From USER1 To USER2 “例えば？”
・DATA6: From USER2 To USER1 “(新興国系メーカの)○○とか？”
・DATA7: From USER1 To USER2 “いけるかな？”
・DATA8: From USER2 To USER1 “ノウハウとかが売りになるんじゃない？”
・DATA9: From USER1 To USER2 “転職サイトとかみてみるかなー”
前述の会話は、企業が有する装置によって、二人の社員（ＵＳＥＲ１及びＵＳＥＲ２）間がやり取りしたメッセージである。前述のＤＡＴＡ１〜ＤＡＴＡ９の各々は、複数のデータの各々に含まれる。【００６３】
この企業の人事部は、社内規則に抵触する会話を監視し、「メーカ名○○」と「転職」との検索条件によって、問題となる社員の会話を抽出したい。この場合、前述のＤＡＴＡ１〜ＤＡＴＡ９において、「メーカ名○○」と「転職」との文字列の各々は異なる複数のデータに含まれるため、人事部は、問題となる社員の会話を抽出できない。【００６４】
図３Ａは、本実施例の複数のユーザがやり取りするメッセージを示す説明図である。【００６５】
図３Ａに示すユーザ６０は、複数のユーザ（ユーザ６１〜ユーザ６６）と複数のテーマによって、複数のメッセージをやり取りする。図３Ａに示すユーザ６０は、ユーザ６１と複数のメッセージ６０８をやり取りする。【００６６】
ユーザ６２のアドレスは、ｊｉｒｏ＠ｈｉ．ｃｏｍであり、ユーザ６３のアドレスは、ｓａｂｕｒｏ＠ｈｉ．ｃｏｍであり、ユーザ６４のアドレスは、ｓｈｉｒｏ＠ｈｉ．ｃｏｍであり、ユーザ６５は、ｇｏｒｏ＠ｈｉ．ｃｏｍであり、ユーザ６６のアドレスは、ｒｏｋｕｒｏ＠ｈｉ．ｃｏｍである。【００６７】
一つのテーマを示す情報が分割されて含まれる複数のメッセージに基づいて、ユーザ６０が、自らの脳内で情報を再構成する場合、ユーザ６０は、ユーザ６０が見た複数のメッセージに基づいて情報を再構成する。このため本実施例において、ユーザ６０が、複数のユーザとやり取りした複数のメッセージに基づいて、一つのテーマを示す情報を再構成する可能性は低いと仮定する。【００６８】
この仮定において、ユーザ６０が送信及び受信するメッセージの中で、一つのテーマを持つ複数のメッセージは、一人のユーザとやり取りした複数のメッセージに含まれる可能性が高い。このため、本実施例の検索サーバ１０は、一人のユーザとやり取りした複数のメッセージを一つのまとまりに再構成すれば、一つのテーマを示す情報を再構成できる可能性が高い。【００６９】
一方、ユーザ６０が一人のユーザとやり取りした複数のメッセージにも、異なるテーマを示す情報が分割されて含まれることが考えられる。【００７０】
図３Ｂは、本実施例の二人のユーザがやり取りする複数のメッセージを示す説明図である。【００７１】
図３Ｂは、図３Ａに示すユーザ６０とユーザ６１とがやり取りした複数のメッセージ６０８を、生成された時刻順にソートした図である。図３Ｂに示す時間の流れは、実際の時刻に対応する。複数のメッセージ６０８には、メッセージ６２１〜メッセージ６２６が含まれる。メッセージ６２１〜メッセージ６２６には、識別子（＃０００１）〜識別子（＃０００３）、識別子（＃０３１７）、識別子（＃０３２１）、及び識別子（＃０３３４）が各々割り当てられる。【００７２】
メッセージ（＃０００１）６２１が生成された時刻とメッセージ（＃０００２）６２２が生成された時刻との差、及び、メッセージ（＃０００２）６２２が生成された時刻とメッセージ（＃０００３）６２３が生成された時刻との差は、メッセージ（＃０００３）６２３が生成された時刻とメッセージ（＃０３１７）６２４が生成された時刻との差に比べ、極めて小さい。【００７３】
一般的に、一つのテーマについての会話は連続して行われることが多く、異なる期間において行われる複数の会話の各々は、異なるテーマに関することが多い。【００７４】
メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２及びメッセージ（＃０００３）６２３は、「製品Ａ」及び「処理Ｂ」に関する情報を含む。また、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６は、「製品Ｃ」及び「処理Ｄ」に関する情報を含む。【００７５】
計算機が、図３Ｂに示すメッセージ６０８の全てのデータを一つのデータとして結合し、結合されたデータを「製品Ｃ」又は「処理Ｂ」のキーワードによって全文検索した場合、計算機は、メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２、メッセージ（＃０００３）６２３、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６の内容を、検索結果として取得する。【００７６】
ここで、取得された検索結果には、不要なデータ（ノイズ）が含まれる。具体的には、キーワードが「製品Ｃ」である場合、取得された検索結果のうち、メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２及びメッセージ（＃０００３）６２３の内容は、ノイズである。また、キーワードが「処理Ｂ」である場合、取得された検索結果のうち、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６の内容がノイズである。【００７７】
このため、本実施例の検索サーバ１０は、メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２、及びメッセージ（＃０００３）６２３を一つの検索単位として再構成し、さらに、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６を、当該検索単位とは異なる検索単位として再構成し、再構成された複数の検索単位を検索することによって、検索結果に含まれるノイズを低減する。【００７８】
そして、これを実現するため、本実施例の検索サーバ１０は、複数のメッセージが生成された時刻を取得し、メッセージの各々が生成された時刻の差を取得する。そして、検索サーバ１０は、例えば、取得された差の平均値を算出し、算出された平均値よりも取得された差が大きい二つのメッセージの間を、検索単位の境界に決定する。【００７９】
図４は、本実施例の対象データ集合４１を示す説明図である。【００８０】
対象データ集合４１は、検索サーバ１０によって検索される対象のメッセージのデータを複数格納する。また、対象データ集合４１は、ユーザ間においてやり取りされた複数のメッセージの複数のデータを格納する。対象データ集合４１は、Ｄａｔａ−ＩＤ４１１及びＤａｔａ４１２を含む。【００８１】
Ｄａｔａ−ＩＤ４１１は、複数のメッセージの各々を一意に示し、かつ、複数のメッセージに含まれるデータの各々の識別子（以下、Ｄａｔａ−ＩＤと記載）を示す。Ｄａｔａ４１２は、メッセージに含まれるデータを示す。なお、Ｄａｔａ−ＩＤは数値であっても文字であってもよい。【００８２】
一つのエントリのＤａｔａ４１２は、ユーザ間において送信される一つのメッセージのデータを含む。本実施例のＤａｔａ４１２には、メッセージのデータが生成された時刻、データがメッセージとして送信された際の送信元のアドレス及び宛先のアドレス、並びに、メッセージの本文が含まれる。【００８３】
検索サーバ１０は、例えばユーザが用いる通信事業者からユーザがやり取りした複数のメッセージのデータを取得してもよいし、ユーザが用いるメッセンジャーソフトからユーザがやり取りした複数のメッセージのデータを収集してもよい。そして、検索サーバ１０のシステム制御部１００は、取得された複数のメッセージのデータを対象データ集合４１に格納し、取得されたメッセージのデータの各々にＤａｔａ−ＩＤを割り当てる。【００８４】
図５は、本実施例の検索単位を生成する処理を示すフローチャートである。【００８５】
指示クライアント３０は、本実施例の計算機システムの管理者又はオペレータ等（以下、オペレータ）から入力される、索引生成指示と索引生成情報とを受け付ける。そして、指示クライアント３０は、索引生成指示と索引生成情報とを、検索サーバ１０に送信する。【００８６】
索引生成指示と索引生成情報とが検索クライアント２０から送信された場合、検索サーバ１０のシステム制御部１００は、索引生成指示と索引生成情報とを受信する（７０１）。そして、システム制御部１００は、受信した索引生成情報を索引生成情報１０５として主記憶１２に格納する。【００８７】
ここで、索引生成指示とは、対象データ集合４１に含まれる複数のメッセージのデータを、少なくとも一つの検索単位に再構成し、検索単位の索引を生成する指示である。また、索引生成情報１０５には、対象データ集合４１に含まれる複数のメッセージのデータの各々を指定する値が含まれる。【００８８】
図６は、本実施例の索引生成情報１０５の例を示す説明図である。【００８９】
索引生成情報１０５は、対象データ集合４１に含まれる複数のメッセージのＤａｔａ４１２のうち、検索のための索引を生成するＤａｔａ４１２を示す。図６は、索引生成情報１０５の二つの例を示し、索引生成情報６１１及び索引生成情報６１２を示す。【００９０】
索引生成情報６１１は、索引を生成する対象のＤａｔａ４１２を、Ｄａｔａ−ＩＤによって示す。索引生成情報６１１には、少なくとも一つのＤａｔａ−ＩＤが含まれる。索引生成情報６１２は、索引を生成する対象のＤａｔａ４１２を、Ｄａｔａ−ＩＤが含まれる値の範囲によって示す。【００９１】
図６に示す索引生成情報６１２の「ｆｒｏｍ」は、Ｄａｔａ−ＩＤが含まれる値の範囲の始まりを示す。また、図６に示す索引生成情報６１２の「ｔｏ」は、Ｄａｔａ−ＩＤが含まれる値の範囲の終わりを示す。【００９２】
索引生成情報６１２は、値の範囲の始まり及び終わりの少なくとも一つを指定すればよい。例えば、索引生成情報６１２が「ｔｏ」の値を指定せず、「ｆｒｏｍ」の値を指定した場合、検索サーバ１０の情報抽出部１０２は、「ｆｒｏｍ」の値のＤａｔａ−ＩＤから、対象データ集合４１における最後のＤａｔａ−ＩＤまでのＤａｔａ４１２を、索引を生成する対象のデータとして対象データ集合４１から抽出する。【００９３】
また、例えば、索引生成情報６１２が「ｔｏ」の値を指定し、「ｆｒｏｍ」の値を指定しない場合、検索サーバ１０の情報抽出部１０２は、対象データ集合４１における最初のＤａｔａ−ＩＤから「ｔｏ」の値のＤａｔａ−ＩＤまでのＤａｔａ４１２を、索引を生成する対象のデータとして対象データ集合４１から抽出する。【００９４】
なお、図６に示す索引生成情報１０５は、Ｄａｔａ−ＩＤによってＤａｔａ４１２を指定したが、本実施例の索引生成情報１０５は、Ｄａｔａ４１２が示すデータが生成された時刻又はデータが生成された期間によって、少なくとも一つのデータを指定してもよい。【００９５】
また、本実施例の索引生成情報１０５は、Ｄａｔａ４１２が示す送信元のアドレス又は宛先のアドレスによって、索引を生成する対象のＤａｔａ４１２を指定してもよい。また、本実施例の索引生成情報１０５は、Ｄａｔａ−ＩＤ、時刻、期間、送信元のアドレス、又は、宛先のアドレスのうち、少なくとも二つの情報によって、索引を生成する対象の複数のＤａｔａ４１２を指定してもよい。【００９６】
ステップ７０１の後、システム制御部１００は、索引制御部１０１を呼び出し、索引制御部１０１は、情報抽出部１０２を呼び出す。そして、情報抽出部１０２は、索引生成情報１０５が指定する複数のＤａｔａ−ＩＤを取得する（７０２）。【００９７】
ステップ７０２の後、情報抽出部１０２は、取得された複数のＤａｔａ−ＩＤのすべてに、ステップ７０４及びステップ７０５の処理を実行する（７０３）。【００９８】
情報抽出部１０２は、取得された複数のＤａｔａ−ＩＤに相当するエントリを、索引生成データとして対象データ集合４１から取得する（７０４）。また、情報抽出部１０２は、取得された索引生成データからＤａｔａ−ＩＤ（Ｄａｔａ−ＩＤ４１１に相当）と書誌情報とを抽出し、抽出されたＤａｔａ−ＩＤと書誌情報とを書誌情報表１１２に格納する（７０５）。【００９９】
図７は、本実施例の書誌情報表１１２を示す説明図である。【０１００】
書誌情報表１１２は、索引を生成する対象のデータの少なくとも一つの書誌情報を格納する。書誌情報表１１２は、図５に示す処理の開始時に値を含まない領域であり、ステップ７０５における処理によって値が格納される。書誌情報表１１２は、Ｄａｔａ−ＩＤ１１２１、Ｔｉｍｅ１１２２、Ｆｒｏｍ−ＩＤ１１２３、及び、Ｔｏ−ＩＤ１１２４を格納する。【０１０１】
Ｄａｔａ−ＩＤ１１２１は、Ｄａｔａ−ＩＤを示し、対象データ集合４１のＤａｔａ−ＩＤ４１１に対応する。Ｔｉｍｅ１１２２は、メッセージのデータが生成された時刻を示し、Ｄａｔａ４１２に含まれる時刻に対応する。【０１０２】
Ｆｒｏｍ−ＩＤ１１２３は、Ｄａｔａ４１２がメッセージとして送信された際の送信元のアドレスを示し、Ｄａｔａ４１２に含まれる送信元のアドレスに対応する。Ｔｏ−ＩＤ１１２４は、Ｄａｔａ４１２がメッセージとして送信された際の宛先のアドレスを示し、Ｄａｔａ４１２に含まれる宛先のアドレスに対応する。【０１０３】
ステップ７０５において情報抽出部１０２は、索引生成データに含まれるＤａｔａ−ＩＤ４１１のＤａｔａ−ＩＤと、Ｄａｔａ４１２に含まれる時刻、送信元のアドレス及び宛先のアドレスと、書誌情報として抽出する。そして、情報抽出部１０２は、抽出されたＤａｔａ−ＩＤ、時刻、送信元のアドレス及び宛先のアドレスを、書誌情報表１１２のＤａｔａ−ＩＤ１１２１、Ｔｉｍｅ１１２２、Ｆｒｏｍ−ＩＤ１１２３及びＴｏ−ＩＤ１１２４に格納する。【０１０４】
なお、情報抽出部１０２は、Ｄａｔａ４１２のテンプレート等をあらかじめ保持し、保持するテンプレート等に基づいて、Ｄａｔａ４１２から時刻、送信元のアドレス及び宛先のアドレスを抽出する。【０１０５】
情報抽出部１０２が、ステップ７０２において取得されたすべてのＤａｔａ−ＩＤに、ステップ７０４及びステップ７０５を実行した後、索引制御部１０１は単位生成部１０３を呼び出す。【０１０６】
単位生成部１０３は、呼び出された場合、一つのエントリのＦｒｏｍ−ＩＤ１１２３及びＴｏ−ＩＤ１１２４に格納される二つの識別子を、Ｆｒｏｍ−ＩＤ１１２３及びＴｏ−ＩＤ１１２４、又は、Ｔｏ−ＩＤ１１２４及びＦｒｏｍ−ＩＤ１１２３に含むエントリを、書誌情報表１１２からすべて抽出する。すなわち、単位生成部１０３は、二人のユーザによってやり取りされたメッセージの書誌情報を示すエントリを、書誌情報表１１２からすべて抽出する。そして、単位生成部１０３は、抽出されたエントリを含む少なくとも一つのデータ群を生成する（７０６）。【０１０７】
なお、書誌情報表１１２が、Ｆｒｏｍ−ＩＤ１１２３及びＴｏ−ＩＤ１１２４、又は、Ｔｏ−ＩＤ１１２４及びＦｒｏｍ−ＩＤ１１２３に格納される値の組合せとして、複数の組合せを有する場合、すなわち、書誌情報表１１２が、複数組のユーザによってやり取りされたメッセージの書誌情報を含む場合、単位生成部１０３は、ステップ７０６において複数のデータ群を生成する。これによって、単位生成部１０３は、図３Ａに示すような複数組のユーザによるメッセージを、複数組の各々のユーザによるメッセージに分割することができる。【０１０８】
ステップ７０６の後、単位生成部１０３は、生成された少なくとも一つのデータ群に含まれるエントリを、Ｔｉｍｅ１１２２に従ってソートする。そして、単位生成部１０３は、ソートされたデータ群において、連続する二つのエントリのＴｉｍｅ１１２２の差を求める。そして、単位生成部１０３は、ソートされたデータ群と求められた差とを、抽出データ表１０６に格納する（７０７）。【０１０９】
なお、ステップ７０６において複数のデータ群が生成される場合、単位生成部１０３は、ステップ７０７において、抽出データ表１０６をデータ群ごとに複数生成する。そして、単位生成部１０３は、ステップ７０８における処理を複数の抽出データ表１０６の各々に実行する。【０１１０】
図８は、本実施例の抽出データ表１０６を示す説明図である。【０１１１】
抽出データ表１０６は、データ群の情報と、複数のメッセージの各々が生成された時刻の差とを含む。抽出データ表１０６は、図５に示す処理の開始時において値を含まない領域である。抽出データ表１０６は、Ｄａｔａ−ＩＤ１０６１、Ｔｉｍｅ１０６２、Ｄｉｆｆｅｒｅｎｃｅ１０６３、Ｆｒｏｍ−ＩＤ１０６４及びＴｏ−ＩＤ１０６５を格納する。【０１１２】
Ｄａｔａ−ＩＤ１０６１は、書誌情報表１１２のＤａｔａ−ＩＤ１１２１及び対象データ集合４１のＤａｔａ−ＩＤ４１１に対応する。Ｔｉｍｅ１０６２は、書誌情報表１１２のＴｉｍｅ１１２２に対応する。Ｆｒｏｍ−ＩＤ１０６４は、書誌情報表１１２のＦｒｏｍ−ＩＤ１１２３に対応する。Ｔｏ−ＩＤ１０６５は、書誌情報表１１２のＴｏ−ＩＤ１１２４に対応する。【０１１３】
Ｄａｔａ−ＩＤ１０６１、Ｔｉｍｅ１０６２、Ｆｒｏｍ−ＩＤ１０６４及びＴｏ−ＩＤ１０６５は、ステップ７０７においてＴｉｍｅ１１２２に従ってソートされたデータ群である。【０１１４】
Ｄｉｆｆｅｒｅｎｃｅ１０６３は、ステップ７０７において求められた時刻の差を含む。Ｄｉｆｆｅｒｅｎｃｅ１０６３は、Ｄａｔａ−ＩＤ１０６１が示すデータが生成された時刻と、当該データが生成される直前にデータが生成された時刻との差を含む。【０１１５】
例えば、Ｄａｔａ−ＩＤ１０６１が「０００２」であるエントリのＤｉｆｆｅｒｅｎｃｅ１０６３は、Ｄａｔａ−ＩＤ１０６１が「０００２」であるエントリのＴｉｍｅ１０６２の値と、Ｄａｔａ−ＩＤ１０６１が「０００１」であるエントリのＴｉｍｅ１０６２の値との差を示す。【０１１６】
本実施例の単位生成部１０３は、ステップ７０７において、ソートされたデータ群の最初のエントリのＤｉｆｆｅｒｅｎｃｅ１０６３に、無効の値を示す「−１」を格納する。【０１１７】
ステップ７０７の後、単位生成部１０３は、抽出データ表１０６のＤｉｆｆｅｒｅｎｃｅ１０６３から無効な値（本実施例において「−１」）以外の値を抽出し、抽出された値の平均値を算出する（７０８）。【０１１８】
ステップ７０８の後、単位生成部１０３は、ステップ７０８において算出された平均値とＤｉｆｆｅｒｅｎｃｅ１０６３とを比較し、Ｄｉｆｆｅｒｅｎｃｅ１０６３に平均値よりも大きい値を含むエントリと、当該エントリの直前のエントリとの間が粗であると定める。そして、単位生成部１０３は、粗であると定められた二つのエントリ間を分割することによって、複数の検索単位を再構成する。【０１１９】
ステップ７０８においてＴｉｍｅ１０６２の差（Ｄｉｆｆｅｒｅｎｃｅ１０６３）と当該差（Ｄｉｆｆｅｒｅｎｃｅ１０６３）の平均値とを用いることによって、単位生成部１０３は、書誌情報表１１２のＴｉｍｅ１１２２が示す分布の粗密を決定する。そして、単位生成部１０３は、決定された粗密のうち、粗であると定められた二つのエントリ間を分割することによって、抽出データ表１０６のエントリを分割し、分割された複数のエントリを含む検索単位を再構成する。【０１２０】
そして、これによって、単位生成部１０３は、二人のユーザが一つのテーマについて一定期間にやり取りしたメッセージのデータを、一つの検索単位として再構成することができる。【０１２１】
さらに、単位生成部１０３は、再構成された検索単位の各々を一意に示す識別子（Ｕｎｉｔ−ＩＤ）を割り当てる。そして、単位生成部１０３は、検索単位に含まれる少なくとも一つのＤａｔａ−ＩＤ（Ｄａｔａ−ＩＤ１０６１に対応）とＵｎｉｔ−ＩＤとを対応付けて、検索単位表４２に格納する（７０９）。【０１２２】
図９は、本実施例の検索単位表４２を示す説明図である。【０１２３】
検索単位表４２は、検索単位と、当該検索単位に含まれるデータとの対応関係を示す。検索単位表４２は、図５に示す処理の開始時において値を含まない記憶領域である。検索単位表４２は、Ｕｎｉｔ−ＩＤ４２１及びＤａｔａ−ＩＤ  Ｌｉｓｔ４２２を格納する。【０１２４】
Ｕｎｉｔ−ＩＤ４２１は、ステップ７０９において割り当てられたＵｎｉｔ−ＩＤを含む。Ｄａｔａ−ＩＤ  Ｌｉｓｔ４２２は、ステップ４０９において再構成された検索単位に含まれるデータの少なくとも一つのＤａｔａ−ＩＤを含む。【０１２５】
単位生成部１０３は、ステップ７０９において、再構成された検索単位に含まれるＤａｔａ−ＩＤのすべてを、Ｄａｔａ−ＩＤ  Ｌｉｓｔ４２２に格納する。なお、抽出データ表１０６が複数である場合、単位生成部１０３は、複数の抽出データ表１０６において分割されたすべての検索単位のＵｎｉｔ−ＩＤを、一つの検索単位表４２に格納してもよい。ここでＵｎｉｔ−ＩＤは、すべての抽出データ表１０６によって生成される複数の検索単位を一意に示す。【０１２６】
ステップ７０９の後、索引制御部１０１は、索引生成部１０４を呼び出す。索引生成部１０４は、呼び出された場合、検索単位表４２のＵｎｉｔ−ＩＤ４２１の値をすべて取得する（７１０）。【０１２７】
索引生成部１０４は、取得されたＵｎｉｔ−ＩＤの各々に、ステップ７１２〜ステップ７１４の処理を実行する（７１１）。【０１２８】
索引生成部１０４は、取得されたＵｎｉｔ−ＩＤのうち一つのＵｎｉｔ−ＩＤ（以下Ｕｎｉｔ−ＩＤａ）に対応するＤａｔａ−ＩＤを、検索単位表４２のＤａｔａ−ＩＤ  Ｌｉｓｔ４２２から取得する（７１２）。ステップ７１２の後、索引生成部１０４は、取得されたＤａｔａ−ＩＤのすべてに対応する対象データ集合４１のＤａｔａ４１２から、メッセージの本文を取得する。そして、索引生成部１０４は、取得された少なくとも一つの本文を結合することによって、索引元データを生成する（７１３）。【０１２９】
ステップ７１３の後、索引生成部１０４は、索引元データを品詞分解等することにより、索引元データから少なくとも一つの索引を抽出する。そして、索引生成部１０４は、抽出された索引とＵｎｉｔ−ＩＤａとを、検索単位インデクス４３に対応づけて格納する。なお、既に検索単位インデクス４３に抽出された索引の値が格納される場合、索引生成部１０４は、抽出された索引に対応するエントリに、Ｕｎｉｔ−ＩＤａを追記する（７１４）。【０１３０】
ステップ７１２〜ステップ７１４の処理をすべての検索単位に実行した後、システム制御部１００は、図５に示す処理を終了する。【０１３１】
図１０は、本実施例の検索単位インデクス４３を示す説明図である。【０１３２】
検索単位インデクス４３は、索引によって検索単位を検索するための転置インデクスである。検索単位インデクス４３は、Ｋｅｙ４３１及びＵｎｉｔ−ＩＤ  Ｌｉｓｔ４３２を含む。【０１３３】
Ｋｅｙ４３１は、ステップ７１４において抽出された索引を示す。Ｕｎｉｔ−ＩＤ  Ｌｉｓｔ４３２は、Ｋｅｙ４３１の索引が抽出されたデータを含む検索単位のＵｎｉｔ−ＩＤを示す。【０１３４】
図１０に示す検索単位インデクス４３は、単語インデクスであり、Ｋｅｙ４３１は単語を含む。しかし、本実施例の検索単位インデクス４３は、いかなるインデクスでもよく、ｎ−ｇｒａｍインデクスでもよいし、Ｂ−ｔｒｅｅインデクスでもよい。【０１３５】
図５に示す処理によって、本実施例の検索サーバ１０は、一つのテーマを示す情報が、複数のメッセージに分割されて含まれる場合においても、検索単位を再構成することにより、検索単位ごとに検索結果を提供できる検索単位インデクス４３を生成することができる。【０１３６】
なお、前述のステップ７０８及びステップ７０９において、検索単位を再構成する方法として、Ｄｉｆｆｅｒｅｎｃｅ１０６３とＤｉｆｆｅｒｅｎｃｅ１０６３の平均値とを比較することによってＴｉｍｅ１０６２の分布の粗密を決定する方法を用いた。しかし、本実施例の単位生成部１０３は、いかなる方法によってデータ群を検索単位に再構成してもよい。例えば、Ｄｉｆｆｅｒｅｎｃｅ１０６３と所定の閾値ｍ（閾値ｍは、任意の正数）とを比較し、所定の閾値ｍよりもＤｉｆｆｅｒｅｎｃｅ１０６３が大きいエントリと、当該エントリの直前のエントリとの間を、粗であると定めてもよい。【０１３７】
また、単位生成部１０３は、ステップ７０９における検索単位を再構成する方法として、Ｄｉｆｆｅｒｅｎｃｅ１０６３の平均値のｎ倍（パラメータｎは、任意の正数）とＤｉｆｆｅｒｅｎｃｅ１０６３とを比較することによってＴｉｍｅ１０６２の分布の粗密を決定してもよい。【０１３８】
前述の閾値ｍ又はパラメータｎ、及び、検索単位を再構成する方法は、ステップ７０１において指示クライアント３０から受信した索引生成情報１０５によって指定されてもよい。また、閾値ｍ又はパラメータｎ、及び、検索単位を再構成する方法を示す値は、後述の索引設定４４に設定されてもよい。このため、索引設定４４に値が設定される場合、単位生成部１０３は、ステップ７０８において索引設定４４を読み出し、索引設定４４が示す検索単位を再構成する方法を実行する。【０１３９】
さらに、ステップ７０９において、単位生成部１０３は、再構成された検索単位に含まれるメッセージの数が所定の最小値よりも小さい場合、当該検索単位に含まれるメッセージを直前の検索単位及び直後の検索単位の両方に含めてもよい。【０１４０】
この所定の最小値は、ステップ７０１において指示クライアント３０から受信した索引生成情報１０５によって指定されてもよい。また、所定の最小値は、後述の索引設定４４にあらかじめ格納されてもよく、単位生成部１０３は、ステップ７０８において索引設定４４を読み出してもよい。【０１４１】
以下に、検索単位を統合する場合の処理の具体例を説明する。【０１４２】
図１１は、本実施例の検索単位の統合の概念を示す説明図である。【０１４３】
図１１において、メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２及びメッセージ（＃０００３）６２３によるやり取りが終了し、所定の時間以上が経過した後、ユーザ６１は、メッセージ（＃０１０９）６２７をユーザ６０に送信する。そして、さらに所定の時間以上が経過した後、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６によるやり取りが開始する。【０１４４】
このように、少数のメッセージによるやり取りが、他の多数のメッセージによるやり取りとは別に行われる場合がある。さらに、少数のメッセージによるやり取りが、他の多数のメッセージによるやり取りと同じ情報の断片を含む場合がある。この場合、少数のメッセージによるやり取りを一つの検索単位として再構成した場合、検索漏れが発生する。【０１４５】
しかし、前述の時刻の差の平均値等によって検索単位を再構成する方法を用いる場合、単位生成部１０３が、メッセージ（＃０１０９）６２７が、メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２及びメッセージ（＃０００３）６２３の検索単位と同じ情報を持つか、又は、メッセージ（＃０１０９）６２７が、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６の検索単位と同じ情報を持つかを判定することは困難である。【０１４６】
このため、単位生成部１０３は、ステップ７０９において、メッセージ（＃０１０９）６２７のように再構成された検索単位に含まれるメッセージが所定の最小値より少ない場合、当該検索単位に含まれるメッセージを二つに複製し、メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２及びメッセージ（＃０００３）６２３の検索単位、並びに、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６の検索単位の両方に含める。これによって、本実施例の単位生成部１０３は、検索漏れの発生を未然に防止することができる。【０１４７】
なお、この場合、図９に示す検索単位表４２において、メッセージ（＃０００１）６２１、メッセージ（＃０００２）６２２及びメッセージ（＃０００３）６２３のＤａｔａ−ＩＤが含まれるエントリには、メッセージ（＃０１０９）６２７のＤａｔａ−ＩＤが含まれ、かつ、メッセージ（＃０３１７）６２４、メッセージ（＃０３２１）６２５及びメッセージ（＃０３３４）６２６が含まれるエントリにもメッセージ（＃０１０９）６２７のＤａｔａ−ＩＤが含まれる。【０１４８】
図１２は、本実施例の検索単位ごと検索処理を示すフローチャートである。【０１４９】
検索クライアント２０の入力装置２４は、検索クライアント２０のオペレータから、検索条件を受け付け、ＣＰＵ２１は、受け付けた検索条件をネットワーク５０を介して検索サーバ１０に送信する。【０１５０】
図１３Ａは、本実施例の検索クライアント２０に表示される検索条件を入力するための画面の例を示す説明図である。【０１５１】
図１３Ａに示す画面８０は、検索クライアント２０の出力装置２３に表示される。検索クライアント２０のオペレータは、取得したいデータに含まれる単語などの検索条件を、画面８０と入力装置２４とを用いて、検索クライアント２０に入力する。【０１５２】
画面８０は、入力フォーム８０１及びボタン８０２を含む。入力フォーム８０１は、検索条件である単語などを入力するための領域である。入力フォーム８０１には、複数の単語が入力されてもよい。入力フォーム８０１に複数の単語が入力される場合、後述するステップ７２１において、条件受付部１０８は、複数の単語の各々をｏｒ条件によって結合することによって、検索実行部１０９による処理に併せた検索条件に、取得された検索条件を変換してもよい。【０１５３】
また、オペレータは、あらかじめ定められた表記方法によって論理条件を入力フォーム８０１に入力し、条件受付部１０８が、あらかじめ定められた表記方法に従って検索条件を変換してもよい。【０１５４】
ボタン８０２は、入力フォーム８０１に入力された検索条件を検索クライアント２０に受け付けさせるための領域である。オペレータがボタン８０２を操作することによって、オペレータは、検索サーバ１０に検索条件を送信し、検索サーバ１０に検索処理を実行させることができる。そして、図１２に示す処理が開始される。【０１５５】
なお、図１３Ａに示す画面８０は例であり、検索条件を入力できる画面であればいかなる構成の画面が用いられてもよい。また、前述において検索条件は検索クライアント２０に入力されたが、オペレータは検索サーバ１０に検索条件を直接入力してもよい。オペレータが検索サーバ１０に検索条件を直接入力する場合、検索サーバ１０の出力装置１３は、例えば、画面８０を表示する。【０１５６】
検索サーバ１０のシステム制御部１００は、検索クライアント２０から検索条件を受信した場合、検索制御部１０７を呼び出す。検索制御部１０７は、条件受付部１０８を呼び出す。システム制御部１００は、検索制御部１０７を介して、条件受付部１０８に検索条件を入力する。【０１５７】
条件受付部１０８は、呼び出された場合、検索制御部１０７から検索条件を取得する。そして、条件受付部１０８は、検索実行部１０９が処理できるフォーマットに、取得された検索条件を変換する（７２１）。【０１５８】
ステップ７２１の後、検索制御部１０７は、検索実行部１０９を呼び出す。検索実行部１０９は、呼び出された場合、条件受付部１０８によって変換された検索条件によって、検索単位インデクス４３のＫｅｙ４３１を検索し、ステップ７２２における検索結果としてＵｎｉｔ−ＩＤ  Ｌｉｓｔ４３２の値を取得する（７２２）。【０１５９】
ステップ７２２の後、検索制御部１０７は、結果生成部１１０を呼び出す。結果生成部１１０は、呼び出された場合、ステップ７２２において取得されたＵｎｉｔ−ＩＤ  Ｌｉｓｔ４３２に含まれる少なくとも一つのＵｎｉｔ−ＩＤを抽出する。そして、結果生成部１１０は、抽出されたＵｎｉｔ−ＩＤに対応するＤａｔａ−ＩＤを、検索単位表４２のＤａｔａ−ＩＤ  Ｌｉｓｔ４２２から取得する（７２３）。【０１６０】
ステップ７２３の後、結果生成部１１０は、取得されたＤａｔａ−ＩＤに対応するＤａｔａ４１２を対象データ集合４１からすべて取得する。そして、結果生成部１１０は、取得されたすべてのＤａｔａ４１２を結合し、図１２に示す処理の検索結果として、ステップ７２３において抽出されたＵｎｉｔ−ＩＤごとに検索単位のデータを生成する（７２４）。【０１６１】
なお、ステップ７２４において、結果生成部１１０は、検索単位ごとにＤａｔａ４１２を結合してもよいし、検索条件に従って結合してもよい。例えば、結果生成部１１０は、検索条件の単語を含むメッセージを、ステップ７２４において取得されたデータから抽出する。そして、結果生成部１１０は、抽出されたメッセージが生成された時刻の直前に生成されたメッセージ及び直後に生成されたメッセージを、ステップ７２４において取得されたデータからさらに抽出する。そして、結果生成部１１０は、検索条件の単語を含むデメッセージと、当該メッセージが生成された直前及び直後に生成されたメッセージとを、結合してもよい。【０１６２】
また、検索結果として出力するメッセージの数の上限数が、あらかじめ定められる場合、結果生成部１１０は、ステップ７２４において取得されたデータのうち、あらかじめ定められた上限数のメッセージを抽出し、抽出されたメッセージを結合してもよい。【０１６３】
さらに、結果生成部１１０は、ステップ７２３において索引設定４４を参照し、索引設定４４が、検索結果の表示の設定に関する設定値を含む場合、当該設定値に従って、取得されたデータを結合してもよい。【０１６４】
ステップ７２４の後、検索制御部１０７は、結果出力部１１１を呼び出す。結果出力部１１１は、呼び出された場合、結果生成部１１０によって生成された検索単位のデータを、検索クライアント２０に送信する（７２５）。【０１６５】
図１３Ｂは、本実施例の検索クライアント２０に表示される検索結果を出力するための画面の例を示す説明図である。【０１６６】
図１３Ｂに示す画面８１は、出力装置２３によって表示される。画面８１は、図１２に示す処理が終了し、検索サーバ１０によって取得された検索結果を、オペレータに出力するための画面である。画面８１は、入力フォーム８１１、ボタン８１２、ボタン８１３、リスト８１４及びボタン８１５を含む。【０１６７】
入力フォーム８１１及びボタン８１２は、画面８０の入力フォーム８０１及びボタン８０２と同じである。オペレータは、検索結果を参照した後、さらに検索をしたい場合、入力フォーム８１１及びボタン８１２を用いる。これによって、オペレータの利便性が向上する。しかし、画面８１は、入力フォーム８１１及びボタン８１２は含まず、画面８０に遷移するためのボタンを有してもよい。【０１６８】
ボタン８１３及びボタン８１５は、表示できなかった検索結果を表示するためのボタンである。例えば、出力装置２３のディスプレイの大きさの都合上、表示することができる量よりも検索結果が多い場合、出力装置２３は画面８１にボタン８１３及びボタン８１５を表示してもよい。そして、オペレータはボタン８１３及びボタン８１５を操作し、表示できなかった検索結果を表示させてもよい。【０１６９】
なお、ボタン８１３及びボタン８１５の少なくとも一つが表示されてよく、オペレータの利便性を向上させるため、ボタン８１３及びボタン８１５の両方が表示されてもよい。【０１７０】
リスト８１４は、検索結果を表示するための領域である。リスト８１４には、図１２に示すステップ７２４において生成された検索単位のデータが表示される。リスト８１４に、複数の検索単位が表示される場合、出力装置２３は、任意の優先順位（例えば、データが生成された時刻）に従って、表示する検索単位の順番を決定してもよい。【０１７１】
また、出力装置２３は、あらかじめ指定された個数の検索単位を、リスト８１４に表示してもよい。【０１７２】
図１３Ｂに示す画面８１は例であり、出力装置２３は、検索結果を出力できる画面であればいかなる構成の画面を表示してもよい。また、前述の画面８１はディスプレイに表示されたが、出力装置２３に接続されるプリンタがリスト８１４を出力してもよい。また、前述の画面８１は、検索クライアント２０の出力装置２３によって表示されたが、検索サーバ１０の出力装置１３が、画面８１を表示するか、又は、リスト８１４を出力してもよい。【０１７３】
図１４は、本実施例の索引設定４４を設定するための画面の例を示す説明図である。【０１７４】
図１４に示す画面８２は、索引設定４４に値を設定するための画面である。画面８２は、指示クライアント３０の出力装置３３によって表示される。画面８２によって入力された値は、指示クライアント３０から検索サーバ１０に送信され、システム制御部１００によって索引設定４４に格納される。【０１７５】
画面８２は、ボタン８２１、ボタン８３６、領域８４０及び領域８４１を含む。領域８４０は、ラジオボタン８２２、リストボックス８２３、ラジオボタン８２４、入力フォーム８２５、リストボックス８２６、ラジオボタン８２７、リストボックス８２８、ラジオボタン８２９及び入力フォーム８３０を含む。領域８４１は、リストボックス８３１、ラジオボタン８３２、リストボックス８３３、ラジオボタン８３４及び入力フォーム８３５を含む。【０１７６】
ボタン８２１及びボタン８３６は、領域８４０及び領域８４１に設定された値を検索サーバ１０に送信するためのボタンである。オペレータがボタン８２１又はボタン８３６を操作することによって、領域８４０及び領域８４１に設定された値が、検索サーバ１０の索引設定４４に格納される。【０１７７】
領域８４０は、検索単位の再構成に関する値を設定する領域である。領域８４１は、検索結果の表示に関する値を設定する領域である。【０１７８】
ラジオボタン８２２は、検索単位を再構成する方法をリストボックス８２３によって指定する場合に選択され、選択された場合アクティブ状態を示す。図１４の画面８２において、ラジオボタン８２２が選択された場合、図１４に示すラジオボタン８２４はディアクティブ状態を示す。これは、図１４に示すリストボックス８２３が、検索単位を再構成する際に入力フォーム８２５によって指定されるパラメータを用いない方法のみを含むためである。【０１７９】
なお、図１４において、アクティブ状態のラジオボタンは、例えば、黒丸であり、ディアクティブ状態のラジオボタンは、例えば、白丸である。【０１８０】
リストボックス８２３には、検索単位を再構成する方法が入力される。リストボックス８２３は、複数の方法を表示してもよく、オペレータは、リストボックス８２３に表示された複数の方法のうちいずれかを選択することによって方法を入力してもよい。【０１８１】
リストボックス８２３には、例えば、「デフォルト：時刻の差の平均値」、「時刻の差の平均値の２倍」、又は、「時刻の差の平均値の１／２倍」などの方法を表示する。リストボックス８２３の方法を選択することによって、オペレータは、ステップ７０８及びステップ７０９において用いられる検索単位を再構成する方法、及び、パラメータｎを設定することができる。【０１８２】
ラジオボタン８２４は、検索単位を再構成するためのパラメータを入力フォーム８２５及びリストボックス８２６によって指定する場合に選択され、選択された場合にアクティブ状態を示す。図１４の画面８２において、ラジオボタン８２４が選択された場合、ラジオボタン８２２はディアクティブ状態を示す。【０１８３】
入力フォーム８２５には、ステップ７０９において検索単位を再構成するためのパラメータ（前述の閾値ｍ）の数値が入力される。リストボックス８２６には、入力フォーム８２５に入力される数値の単位が入力される。【０１８４】
リストボックス８２６は、複数の単位を選択肢として表示してもよく、この場合、オペレータは、リストボックス８２６に表示された複数の単位のうちいずれかを選択することによって単位を入力する。【０１８５】
ラジオボタン８２７は、検索単位に含まれるメッセージの数の最小値をリストボックス８２８によって指定する場合に選択され、選択された場合アクティブ状態を示す。ラジオボタン８２７が選択された場合、ラジオボタン８２９がディアクティブ状態を示す。【０１８６】
リストボックス８２８は、検索単位に含まれるメッセージの数の最小値の選択肢を、複数表示する。オペレータは、リストボックス８２８に表示される、例えば、「デフォルト：３」、「５」又は「７」などの選択肢から、検索単位に含まれるメッセージの数の最小値を選択する。【０１８７】
ラジオボタン８２９は、検索単位に含まれるメッセージの数の最小値を入力フォーム８３０によって指定する場合に選択される。ラジオボタン８２９が選択された場合、ラジオボタン８２７はディアクティブ状態を示す。入力フォーム８３０は、検索単位に含まれるメッセージの数の最小値を入力される。【０１８８】
オペレータは、リストボックス８２８の値を選択するか、又は、入力フォーム８３０に値を入力することによって、ステップ７０９において用いられる所定の最小値を指定することができる。【０１８９】
リストボックス８３１は、画面８１のリスト８１４に表示される検索結果の条件を入力するための領域である。図１４に示すリストボックス８３１は、複数の条件を選択肢として表示する。【０１９０】
リストボックス８３１は、例えば、「デフォルト：ヒットタームを含むデータと時間軸上の前後」、「ヒットタームを含むデータを時間軸に関わらず」、又は、「時間軸上での先頭から」などを選択肢として表示する。オペレータは、リストボックス８３１の値を選択することによって、ステップ７２４において検索単位のデータを生成する際の、メッセージの結合方法を指定することができる。【０１９１】
ラジオボタン８３２は、画面８１のリスト８１４に表示される検索結果の数をリストボックス８３３によって指定する場合、選択される。ラジオボタン８３２が選択された場合、ラジオボタン８３４はディアクティブ状態を示す。【０１９２】
リストボックス８３３は、画面８１のリスト８１４に表示される検索結果の数の選択肢を、複数表示する。オペレータは、リストボックス８３３に表示される、例えば、「デフォルト：３」、「１」又は「５」などの選択肢から、表示される検索結果の数を選択する。【０１９３】
ラジオボタン８３４は、画面８１のリスト８１４に表示される検索結果の数を入力フォーム８３５によって指定する場合、選択される。ラジオボタン８３４が選択された場合、ラジオボタン８３２はディアクティブ状態を示す。【０１９４】
入力フォーム８３５は、画面８１のリスト８１４に表示される検索結果の数を入力するための領域である。【０１９５】
オペレータがリストボックス８３３の値を選択するか、又は、入力フォーム８３５に値を入力することによって、結果出力部１１１は、ステップ７２５において、リストボックス８３３の値又は入力フォーム８３５の値の検索単位のデータを、検索クライアント２０に送信してもよい。【０１９６】
図１４に示す画面８２は例であり、出力装置３３は、索引設定４４を設定できる画面であればいかなる構成の画面を表示してもよい。また、前述の画面８２は、指示クライアント３０の出力装置３３によって表示されたが、検索サーバ１０の出力装置１３が、画面８２を表示してもよい。【０１９７】
図１５は、本実施例の索引設定４４を示す説明図である。【０１９８】
索引設定４４は、画面８２によって設定された、検索単位を再構成するための設定値及び検索結果を表示するための設定値を示す。索引設定４４は、ｉｔｅｍ４４１及びｖａｌｕｅ４４２を含む。【０１９９】
エントリ４４３のｖａｌｕｅ４４２は、リストボックス８２３又は入力フォーム８２５に入力された値を示す。エントリ４４４のｖａｌｕｅ４４２は、リストボックス８２８又は入力フォーム８３０に入力された値を示す。【０２００】
エントリ４４５のｖａｌｕｅ４４２は、リストボックス８３１に入力された値を示す。エントリ４４６のｖａｌｕｅ４４２は、リストボックス８３３又は入力フォーム８３５に入力された値を示す。【０２０１】
エントリ４４３はステップ７０８及びステップ７０９において読み出され、エントリ４４４はステップ７０９において読み出され、ステップ４４５はステップ７２４において読み出され、ステップ４４６はステップ７２５において読み出される。【０２０２】
図１４に示す画面８２及び索引設定４４によって、オペレータは、任意に検索単位を再構成する方法、及び、検索単位に含まれるメッセージの数の最小値等を変更することができる。【０２０３】
以上説明したように、本実施例によれば、一つのテーマを示す情報が複数のメッセージに分割されて含まれる場合、意味の関係性が強い複数のメッセージを検索単位として再構成し、再構成された検索単位を検索する。これによって、ユーザにとって意味のある検索結果を出力することができる。【０２０４】
また、本実施例の検索サーバ１０は、検索単位を再構成するためメッセージが生成された時刻を用いるため、書誌情報のみを用いて検索単位を再構成するよりも、検索単位に含まれるメッセージを適切に抽出することができる。そして、この結果、本実施例の検索サーバ１０は、検索結果に含まれるノイズを低減できる。【０２０５】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。【０２０６】
また、本実施例において、二人のユーザ間においてやり取りされるメッセージを検索単位に再構成したが、一つのテーマを示す複数のデータであり、かつ、各々では当該テーマを示さないようなデータであれば、いかなるデータに本実施例を適用してもよい。【０２０７】
また、上記の各構成、機能、処理部、処理手順等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。各処理部の機能を実現するプログラム及び表などの情報は、メモリ、ハードディスク、若しくはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、又は、ＩＣカード、ＳＤカード、若しくはＤＶＤ等の記録媒体に格納することができる。【０２０８】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてよい。
【産業上の利用可能性】
【０２０９】
ＳＭＳ、及び、ＳＮＳ等、断片的なデータを用いるシステムに適用できる。
【図１】
0005922306.tif 000002
【図２Ａ】
0005922306.tif 000003
【図２Ｂ】
0005922306.tif 000004
【図３Ａ】
0005922306.tif 000005
【図３Ｂ】
0005922306.tif 000006
【図４】
0005922306.tif 000007
【図５】
0005922306.tif 000008
【図６】
0005922306.tif 000009
【図７】
0005922306.tif 000010
【図８】
0005922306.tif 000011
【図９】
0005922306.tif 000012
【図１０】
0005922306.tif 000013
【図１１】
0005922306.tif 000014
【図１２】
0005922306.tif 000015
【図１３Ａ】
0005922306.tif 000016
【図１３Ｂ】
0005922306.tif 000017
【図１４】
0005922306.tif 000018
【図１５】
0005922306.tif 000019