(57)【要約】【課題】キーワードの大局的なトレンドを効率良く発見する方法が求められている。【解決手段】本発明は、キーワードの時系列解析のための処理方法を提供する。当該方法は、自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するステップであって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、上記クラスタリング又は分類するステップと、上記文書データをクラスタリング又は分類したクラスタ又はクラス内における個々のキーワードを含む文書データの出現頻度に対して、又は上記個々のキーワードをクラスタリング又は分類したクラスタ又はクラスを含む文書データの出現頻度に対して時系列解析を行うステップとを含む。時系列の解析によって上記文書データの出現頻度の変化を示す周波数分布が求められる。【選択図】図４Ａ
2011141801.tif 000002
【特許請求の範囲】
【請求項１】
キーワードの時系列解析のための処理方法であって、当該方法はコンピュータに、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するステップであって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、前記クラスタリング又は分類するステップと、
前記文書データをクラスタリング又は分類したクラスタ又はクラス（以下、文書クラスタともいう）内における個々のキーワードを含む文書データの出現頻度に対して、又は前記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス（以下、キーワード・クラスタともいう）を含む文書データの出現頻度に対して時系列解析を行うステップであって、それによって前記文書データの出現頻度の変化を示す周波数分布が求められる、前記ステップと、
を実行させることを含む、前記方法。
【請求項２】
前記方法はコンピュータに、
前記クラスタリング又は分類するステップの後に、各キーワードに対して、各文書クラスタ内でキーワードを含む文書データの出現頻度を時系列毎に求めるステップをさらに実行させることを含む、請求項１に記載の方法。
【請求項３】
前記文書データの出現頻度を時系列毎に求めるステップが、下記式１に従い求められる、請求項２に記載の方法：
【数１】
2011141801.tif 000022
ｘｃ、ｋ（ｔ）は、各文書クラスタｃ内でキーワードｋを含む文書データｄの出現頻度であり、
Ｓｃ（ｄ）は、文書データｄが文書クラスタｃに属するスコアであり、及び、
Σは、キーワードｋを含む全ての文書データｄのスコアの和である。
【請求項４】
当該方法はコンピュータに、
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込むステップと、
前記絞り込まれたデータ・セットを文書クラスタの線形和で近似するステップと、
前記文書クラスタ毎のキーワードの周波数分布から、前記絞り込まれた文書データの集合でのキーワードの周波数分布を推測するステップと
をさらに実行させる、請求項１に記載の方法。
【請求項５】
前記近似するステップが、下記式２に従い求められる、請求項４に記載の方法：
【数２】
2011141801.tif 000023
ｆ（ω）ｑ，ｋは、検索クエリｑの結果にキーワードｋを含む文書データｄが出現する頻度の時系列の周波数係数であり、
ａｃは、下記式３及び式４に従い求められ、
【数３】
2011141801.tif 000024
【数４】
2011141801.tif 000025
Ｄｑは、絞り込まれた文書データ集合を、各文書データを次元とする空間上のベクトルとして表したものであり、
Ｄｃは、文書クラスタを同じ空間上で、各次元の成分をその次元に該当する文書の当該クラスタにおけるスコアとして表現した場合のベクトルであり、及び
ａｃは、ＤｑとＤｃの内積である。
【請求項６】
前記方法はコンピュータに、
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込むステップと、
前記絞り込まれたデータ・セットの集合でのキーワードの時系列から、前記絞り込まれた文書データのデータ・セット内での各キーワード・クラスタの時系列を求めるステップと、
前記各キーワード・クラスタの時系列の周波数解析を行うステップと
をさらに実行させる、請求項１に記載の方法。
【請求項７】
前記方法はコンピュータに、
前記周波数解析の結果からキーワード・クラスタ毎にインデックス値を計算するステップと、
前記計算されたインデックス値に従い解析結果を表示するステップと
をさらに実行させる、請求項６に記載の方法。
【請求項８】
前記方法はコンピュータに、
個々のキーワードへのドリルダウンを行うか否かを問い合わせるステップと、
ドリルダウンされるキーワード・クラスタ情報を受信することに応じて、当該ドリルダウンされるキーワード・クラスタに対して、その中で重みの大きいキーワードから順に時系列解析を実施するステップと
をさらに実行させる、請求項６に記載の方法。
【請求項９】
前記各キーワード・クラスタの時系列を求めるステップが、
文書データのデータ・セットにフィルターをかけるステップをさらに含む、請求項６に記載の方法。
【請求項１０】
前記フィルターが、下記式５である、請求項９に記載の方法：
【数５】
2011141801.tif 000026
ｘ＾（ｔ）は、平準化された時系列であり、
ｘ（ｔ）は、元の時系列であり、
ｉにより０〜ｎまでの整数での和をとり、
ｔは、時間であり、
ｎは、畳み込みをおこなう窓の幅である。
【請求項１１】
前記各キーワード・クラスタの時系列を求めるステップが、下記式６及び式７に従い、高周波を取り除き、また時系列の振幅を正規化するステップをさらに含む、請求項６に記載の方法：
【数６】
2011141801.tif 000027
【数７】
2011141801.tif 000028
＜ｘ＾２＞は、出現頻度の２乗平均であり、
Ｔは、時系列の全体の間隔であり、
ｘ−（ｔ）は、文書データの出現頻度の、平準化の後、正規化された時系列であり、
ｘ＾（ｔ）は、文書データの出現頻度の、平準化された時系列である。
【請求項１２】
前記キーワード・クラスタの時系列を求めるステップが、少数のキーワード・クラスタに対する時系列解析を下記式８に従い行う、請求項６に記載の方法：
【数８】
2011141801.tif 000029
ｃ−（ｔ）は、時系列でのクラスタに属するすべてのキーワードについての和であり、
Ｓｃ（ｘ）はキーワードｘのクラスタｃでの重みであり、
ｘ−（ｔ）は、個別のキーワードを含む文書データの出現頻度の、平準化の後、正規化された時系列である。
【請求項１３】
キーワードの時系列解析のための処理システムであって、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するクラスタリング部であって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、前記クラスタリング部と、
前記文書データをクラスタリング又は分類したクラスタ又はクラス（以下、文書クラスタともいう）内における個々のキーワードを含む文書データの出現頻度に対して、又は前記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス（以下、キーワード・クラスタともいう）を含む文書データの出現頻度に対して時系列解析を行う時系列解析部であって、それによって前記文書データの出現頻度の変化を示す周波数分布が求められる、前記時系列解析部と、
を含む、前記処理システム。
【請求項１４】
前記時系列解析部が、前記クラスタリングの後に、各キーワードに対して、各文書クラスタ内でキーワードを含む文書データの出現頻度を時系列毎に求める、請求項１３に記載の処理システム。
【請求項１５】
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込み、前記絞り込まれたデータ・セットを文書クラスタの線形和で近似し、前記文書クラスタ毎のキーワードの周波数分布から、前記絞り込まれた文書データの集合でのキーワードの周波数分布を推測するランタイム検索部をさらに含む、請求項１３に記載の処理システム。
【請求項１６】
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込み、前記絞り込まれたデータ・セットの集合でのキーワードの時系列から、前記絞り込まれた文書データのデータ・セット内での各キーワード・クラスタの時系列を求め、前記各キーワード・クラスタの時系列の周波数解析を行うランタイム検索部をさらに含む、請求項１３に記載の処理システム。
【請求項１７】
前記ランタイム検索部が、前記周波数解析の結果からキーワード・クラスタ毎にインデックス値を計算し、前記計算されたインデックス値に従い解析結果を表示する表示部をさらに含む、請求項１３に記載の処理システム。
【請求項１８】
前記ランタイム検索部が、個々のキーワードへのドリルダウンを行うか否かを問いあわせ、ドリルダウンされるキーワード・クラスタ情報を受信することに応じて、当該ドリルダウンされるキーワード・クラスタに対して、その中で重みの大きいキーワードから順に時系列解析を実施する、請求項１６に記載の処理システム。
【請求項１９】
前記各キーワード・クラスタの時系列を求めることが、文書データのデータ・セットにフィルターをかけることを含む、請求項１６に記載の処理システム。
【請求項２０】
コンピュータに、請求項１〜１３のいずれか１項に記載の方法の各ステップを実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーワードの時系列解析のための処理方法、並びにその処理システム及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
コンピュータ・ネットワークの普及やコンピュータ・システムの高性能化によって、膨大な電子化文書データ（以下、「文書データ」ともいう）へのアクセスが容易となった。文書データの検索は、これら膨大な文書データ中から必要な文書データを見つけ出すことを可能にする。文書データの検索は、種々の対象について行われている。例えば、インターネット・ブラウザにおけるサーチエンジンの場合、インターネット上の文書データ（例えば、ウェブページ）が検索対象である。また、企業においては、イントラネット上の、企業活動の中で蓄積された文書データ（例えば、報告書、ウェブページ）が検索対象である。
【０００３】
インターネット又はイントラネットのウェブ検索サービスの一つとして、特定の検索キーワードのトレンドをチェックできるサービスがある。検索キーワードのトレンドをチェックすることによって、検索の動向がわかる。トレンドのチェック・サービスでは、現在多く検索されている検索キーワードがランキングで表示される。また、当該サービスでは、検索結果をクリックすると、当該検索キーワードに関連したニュース、ブログ、ウェブ検索の結果、又は検索件数の増減の時間的な推移を示す詳細ページなどに飛ぶようになっている。
【０００４】
検索キーワードのトレンドを発見する方法として、文書データをテキスト解析し、検索キーワードの出現頻度を時系列に表示し、変動幅が大きく変化する点を検出する方法がある。テキスト解析において、一般に、索引の作成に要する時間はかなり長くても許容される。例えば、索引の作成のために、１ヶ月をかける場合もある。一方、ウェブページの検索又はトレンドの解析実行時において、その応答はそれなりに速いことが要求される。例えば、インタラクティブな操作において、その応答は数秒以内であり、遅くとも数十秒以内であることが要求される。下記特許文献１は、情報の探索、マルチメディア・コンテンツの個人化、及びマルチメディア情報貯蔵庫紹介の用途において、マルチメディア文書を索引付けするためにモデル・ベクトルを用いることを記載する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００４／０５５６３９号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
変動幅が大きく変動する点を検出する上記トレンドの検出方法は、大局的なトレンドと局所的なトレンドとを発見することはできるが、大局的なトレンドを優先的に探すことには適していない。従って、検索キーワードの大局的なトレンドを優先的に発見する方法が求められている。
また、文書解析の固有の問題として、文書データ中のキーワードを含む数は膨大である。文書データの数が多ければ、時系列で解析すべき文書データ中のキーワードの数は数億から数十億にもなる。検索によって絞り込まれた文書集合ごとに、そこに含まれるキーワードの出現頻度の時系列を、その全てのキーワードに対しておこなうには多大な時間と計算資源を必要とするため、検索実行時に要求される応答時間内にそれを行うのは非常に困難となる。従って、検索キーワードの大局的なトレンドを効率的に発見する方法が求められている。
【課題を解決するための手段】
【０００７】
本発明は、キーワードの時系列解析のための処理方法を提供する。当該処理方法は、コンピュータに下記ステップを実行させることを含む。当該方法は、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するステップであって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、上記クラスタリング又は分類するステップと、
上記文書データをクラスタリング又は分類したクラスタ又はクラス（以下、「文書クラスタ」ともいう）内における個々のキーワードを含む文書データの出現頻度に対して、又は上記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス（以下、「キーワード・クラスタ」ともいう）を含む文書データの出現頻度に対して時系列解析を行うステップであって、それによって上記文書データの出現頻度の変化を示す周波数分布が求められる、上記ステップと、
を実行させることを含む。
【０００８】
本発明はまた、キーワードの時系列解析のための処理システムを提供する。当該処理システムは、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するクラスタリング部であって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、上記クラスタリング部と、
上記文書データをクラスタリング又は分類したクラスタ又はクラス（文書クラスタ）内における個々のキーワードを含む文書データの出現頻度に対して、又は上記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス（キーワード・クラスタ）を含む文書データの出現頻度に対して時系列解析を行う時系列解析部であって、それによって上記文書データの出現頻度の変化を示す周波数分布が求められる、上記時系列解析部と、
を含む。
【０００９】
本発明はまた、コンピュータに、上記に記載の方法の各ステップを実行させるコンピュータ・プログラムを提供する。
【発明の効果】
【００１０】
本発明の実施態様において、キーワードの代わりにクラスタの時系列を解析することによって、下記の効果を奏する。
（１）クラスタの数は、キーワードの数に比べて格段に少ない。従って、周波数解析のような計算量の多い解析が可能である。
（２）クラスタは、文書データをクラスタリング又は分類したもの（文書クラスタ）又は当該文書クラスタ内における個々のキーワードをクラスタリング又は分類したもの（キーワード・クラスタ）である。従って、当該クラスタは、意味のあるトレンドと関係する可能性が高い。
（３）上記クラスタ内の複数のキーワードは、共通の文書データ内に含まれる可能性が高い。すなわち、当該複数のキーワードは、互いに共起関係にある。従って、異なる変動パターンで互いの時系列の変化を相殺する可能性が低い。
【図面の簡単な説明】
【００１１】
【図１】キーワードの発生件数のタイムラインにおける周期パターンとランダムパターンとを示す。
【図２Ａ】文書データのクラスタリング又は分類を含む、索引データベースの作成のフローを示す。
【図２Ｂ】自然言語解析の概要のフローを示す。
【図２Ｃ】図２Ａのステップ２０１〜２０３の内容を、文書データの具体例を用いて説明したものである。
【図２Ｄ】文書データの内部表現とクエリの内部表現との照合による検索の一例を示す。
【図３Ａ】複数の文書データのクラスタリングの第１の態様の概念図を示す。
【図３Ｂ】複数の文書データのクラスタリングの第２の態様の概念図を示す。
【図３Ｃ】複数の文書データのクラスタリングの第３の態様の概念図を示す。
【図４Ａ】本発明の第１の実施態様である、索引を作成するためのフローを示す。
【図４Ｂ】図４Ａで作成された周波数分布を用いて、ランタイム処理をするフローを示す。
【図５Ａ】本発明の第２の実施態様である、索引を作成するためのフローを示す。
【図５Ｂ】図５Ａで作成された文書データ・スコアを用いて、ランタイム処理をするフローを示す。
【図６】時系列での文書データ中のキーワードの出現頻度数（元データ）をフィルター関数により処理した後のグラフを示す。
【図７Ａ】時系列でのクラスタ別のキーワードの発生件数を示す。
【図７Ｂ】図７Ａに示すクラスタ１〜３のうち、インデックス値の高いクラスタを選んだ結果を示す。
【図８Ａ】本発明の実施態様に従う、文書データ処理部及び索引付部を備えているコンピュータのシステム図を示す。
【図８Ｂ】本発明の実施態様に従う、検索部を備えている検索サーバのシステム図を示す。
【図９】本発明の実施態様における、図８Ａ及び図８Ｂの各システムが有するコンピュータ・ハードウェアのブロック図を示す。
【図１０】本発明の実施態様に従う検索結果を示す。
【発明を実施するための形態】
【００１２】
本発明の実施態様において、「文書データ」とは、自然言語による事象の記述である。言い換えれば、文書データは、現実の世界で生じた事象を文書で電子的に起こしたものである。事象は、イベントともいう。文書データは電子化されており、機械可読である。文書データは、テキストセグメントを有していてもよい。文書データはまた、件名をキーとして特定しうる１まとまりのデータであってもよい。文書データは、例えばインターネット上のＷｅｂページ、或いは企業の製品事故レポート、電話受付レポート、１件のニュース、技術文書などであるがこれらに限定されない。１つの文書データは物理的な１つのデータ・ファイルに対応しなくてもよい。すなわち、文書データは、物理的には１つのデータ・ファイルのうちの一部又は全部でありうる。物理的な１つのデータ・ファイルは、文書データの集合を含んでいてもよい。文書データは、例えば、サーバの記憶装置又はネットワークを介して接続されたネットワーク記憶装置、例えばストレージ・エリア・ネットワーク（ＳＡＮ）内の文書データベース中にデータ・ファイルとして格納されうる。格納形式は、特に限定されないが、プレーンテキスト、ＨＴＭＬ、又はＸＭＬで記述されていてもよい。文書データは、例えば、様々なサーバからクローラ（図８Ａの８０５）によって定期的に又は集中的に収集される。
【００１３】
本発明の実施態様において、「文書データの集合」とは、１つ、又は２以上の文書データを含むデータ・セットをいう。文書データの集合は、物理的には１つ又は複数のデータ・ファイルのうちの一部又は全部でありうる。
【００１４】
本発明の実施態様において、「キーワード」とは、文書データ検索のための少なくとも１以上の単語、少なくとも１以上のフレーズ、又はそれらの組み合わせである。単語は、言語音と意味と文法上の機能を持つ最小の言語単位であり、その品詞は特に問わない。フレーズは、一般的に、文法的に配置された２語以上の単語であり、文中で１単位として働くものである。特に英語において、フレーズは、２語以上の語の連続であり、定動詞とその主語を含まず、１つの品詞の働きをするものを含む。
【００１５】
本発明の実施態様において、「クラスタリング」とは、文書データに含まれるキーワードの共起関係に基づく文書データ間の類似度又はキーワードを次元として構成された空間に文書データをマップした際の文書データ間の距離に基づき文書データをグループ分けすること、又は文書データにおけるキーワードの共起関係に基づくキーワード間の類似度又は文書データを次元として構成された空間にキーワードをマップした際のキーワード間の距離に基づきキーワードをグループ分けすることをいう。
文書データをクラスタリングすることによってできるグループ又は文書データの集合をクラスタリングするためのグループをクラスタとも呼ぶ。文書データはキーワードの集合であるため、文書データの集合をクラスタリングすることは、キーワードをクラスタリングすることでもある。当該クラスタは、文書データにおける共起関係において相関するキーワードを構成する概念でもある。
当該グループ分けされた文書データの集合を検索対象とすることによって、１つ１つの文書データを検索対象とするよりも、ユーザが必要とする文書データを効率的に抽出することが可能である。各クラスタは特定のキーワードだけでできるわけではなく、顕著なキーワードの集合でありうる。一般的には、各クラスタに、当該クラスタを特徴付ける単語又はフレーズのスコア付きの集合が定義される。
文書データ間の類似度とは、文書データが２つ与えられたときに当該２つに対して決まる実数である。この値が大きいほど２つの文書データは似ていると仮定される。文書データのクラスタリングでは、類似度は、例えば文書データ中の共通のキーワードに基づいて求められる。類似度の高い文書データをグループ化することによりクラスタが作成できる。
文書データ間の距離とは、ユークリッド空間における２つの文書データ間の距離をいい、２つの文書データ間の隔たりである。距離を定義するためには、まず空間を定義する必要がある。空間としては各単語を各次元とし、文書データを、当該文書データ内に出現する単語の数、又はｔｆ・ｉｄｆ（term frequency - inverse document frequency）を座標とする点としてプロットする。そして、２つの文書データ間の距離を単純にユークリッド空間での２つの点の距離によって、その隔たりを計算する。距離の近い文書データをグループ化することによりクラスタが作成できる。上記ｔｆ・ｉｄｆは、頻出単語からの寄与を下げるように、文書データ内での単語の出現数ｔｆに単語を含む文書データの数の逆数又は対数の逆数をかけたものである。
【００１６】
文書データ間の類似度の１つの定義が、距離の逆数である。類似度自体は大小関係さえ維持できればユークリッド空間の距離として定義する必要はなく、例えば球面上の２点の中心角としても定義できるので、類似度のバリエーションは色々と可能である。
【００１７】
類似度又は距離による文書のクラスタリングは、大きく分けて下記の４つのステップからなる。
ステップ１  解析処理部（図８Ａの８０６）は、文書データに対して、形態素解析を行い、各キーワードに分割する。形態素解析の方法として、規則による形態素解析と確率的言語モデルを用いる方法がある。確率的言語モデルによる形態素解析は、例えば隠れマルコフニコフモデルによる方法である。本発明の実施態様において、形態素解析エンジンは、市販で入手可能なものを用いてもよい。文書データのクラスタリングでは、文書データを表現するために文書を構成するキーワードの重みからなるベクトルを用いることが多い。当該ベクトルの表現のために、文書データにおいてキーワードを切り分けていく必要がある。当該切り分けのために、例えば日本語、中国語、韓国語の文書データの場合には、上記形態素解析が行われる。また、例えば英語の文書データの場合には、単語と単語との間に区切り（スペース）があるために文を形態素に区切るのは日本語と比べると比較的簡単ではあるが、形態素又は合成語の品詞を見分けることは必要である。
ステップ２  クラスタリング部（図８Ａの８０６）は、文書データを上記各語の重みから構成されるベクトルとして表す。文書データＤｉにおける文書ベクトルｄｉの各属性値ｄｉｋ（ｋ＝１，２，・・・・，ｎ）は、下記式１に従い求められる。式１では、下記式２〜式３に示すＤｉにおけるｔｆ・ｉｄｆ値が用いられる。ｔｆ・ｉｄｆでは、ｔｆ（単語の出現頻度）及びｉｄｆ（逆出現頻度）の２つの指標に基づいて求められる。
【００１８】
【数１】
2011141801.tif 000003
【００１９】
【数２】
2011141801.tif 000004
【００２０】
【数３】
2011141801.tif 000005
【００２１】
なお、各ベクトルは、ｄｉの長さが１となるように正規化される。
【００２２】
当該ベクトルは、ベクトル空間モデル上で示される。ベクトル空間モデルは、当該ベクトルを使用して文書データを表現する検索モデルである。
【００２３】
ステップ３  クラスタリング部は、文書データ間の類似度又は距離を定義する。文書データのクラスタリングのために、文書データ同士がどれくらい似ているかという指標として、類似度又は距離を定義する必要がある。当該定義のための方法は、クラスタリングの対象となる文書データによって異なる。類似度又は距離を求める方法として、（１）階層的クラスタリング、（２）非階層的クラスタリング（ｋ−ｍｅａｎｓ）、（３）主成分分析などの次元縮約法、（４）確率モデルに基づく方法、及び（５）グラフ理論に基づく方法などがある。本発明の実施態様では、類似度又は距離を求める方法は、クラスタリング対象となる文書データによって適宜選択されうるが、上記（１）〜（５）の方法に限定されるものでない。
【００２４】
文書データＤｉ及びＤｊの文書ベクトルをそれぞれｄｉ及びｄｊとする。それら文書データ間の類似度ｓ（ｄｉ，ｄｊ）は、下記式４に示されるように下記ｄｉとｄｊとがなす角度の余弦で示されうる。
【００２５】
【数４】
2011141801.tif 000006
【００２６】
ステップ４  クラスタリング部は、上記類似度を用いて、クラスタリングを行う。
（１）上記階層的クラスタリングでは、例えば、上記式４で求められる類似度を用いて、以下のアルゴリズムによりクラスタを形成することが可能である。
ステップ１  クラスタリング部は、個々の文書データをそれぞれ１つのクラスタとする。
ステップ２  クラスタリング部は、クラスタの集合の中から、類似度が最大となるクラスタの組を求める。
ステップ３  クラスタリング部は、上記クラスタの組間の類似度が閾値以下であれば、クラスタリングを終了する。一方、クラスタリング部は、上記クラスタの組間の類似度が閾値以上であれば、当該組のクラスタを統合し、１つのクラスタとする。クラスタリング部は、ステップ２に戻り、ステップ２及びステップ３を繰り返す。
クラスタの組間の類似度は、例えば下記式５に示される最長距離法によって求められうる。最長距離法では、例えば、クラスタＧｉ及びＧｊ間の類似度には、Ｇｉに属する任意の文書データの文書ベクトルｘとＧｊに属する任意の文書データの文書ベクトルとの類似度のうち、最小の類似度を当該クラスタ間の類似度とする。
【００２７】
【数５】
2011141801.tif 000007
【００２８】
（２）上記非階層的クラスタリングでは、例えば、ｋ−ｍｅａｎｓ法を用いることが可能である。ｋ−ｍｅａｎｓ法では、以下のアルゴリズムによりクラスタを形成することが可能である。
クラスタの分割数をｋとし、文書データ数をｍ、クラスタＷに含まれる文書データの数をＮ（Ｗ）とする。
ステップ１  クラスタリング部は、ｋ個の初期クラスタを任意に決める。
ステップ２  クラスタリング部は、下記式６に従い得られる文書データＤｉをクラスタＷに移動した場合の誤差の増加量ｅ（ｉ，Ｗ）を計算し、その最小値を持つクラスタＷに文書データＤｉを移す。
【００２９】
【数６】
2011141801.tif 000008
【００３０】
但し、Ｄ（ｉ，Ｗ）は、文書データＤｉとクラスタＷとの距離であり、下記式７〜８により定義される。
【００３１】
【数７】
2011141801.tif 000009
【００３２】
【数８】
2011141801.tif 000010
【００３３】
ステップ３  クラスタリング部は、あるクラスタから他のクラスタへの文書データの移動がなければ終了する。一方、クラスタリング部は、文書データの移動があれば、ステップ２に戻る。
【００３４】
（３）上記次元縮約法として、例えば、潜在意味解析（Latent Semantic Analytics；ＬＳＡ）がある。ＬＳＡは、潜在的意味索引又は潜在意味インデックス（Latent Semantic indexing；ＬＳＩ）とも呼ばれる。ＬＳＡでは、各文書データにおけるキーワードの出現頻度を表した文書−単語マトリクスを用いる。文書−単語マトリクスでは疎行列を使用し、列が単語又はフレーズに対応し、行が文書データに対応する。当該行列の各成分の重み付けとして、例えば上記ｔｆ・ｉｄｆが用いられる。ＬＳＡは、この疎行列を単語又はフレーズと何らかの概念の関係及び文書データ間の関係に変換する。これによって、キーワードは、文書データと概念を介して間接的に関連付けられる。
【００３５】
また、文書データをベクトルとして表現しないでクラスタリングすることも可能である。例えば、共引用数又は書誌結合などを測定することによって、文書データ間の類似度を求めることができる。類似度が定義できれば、適切なクラスタリング方法でクラスタリングをすることが可能である。
【００３６】
本発明の実施態様において、「分類」（classification）とは、コンピュータによって自動的に又は人手によって主導的に、文書データをグループ分けすることをいう。文書データの集合を分類することによってできる又は文書データの集合を分類するためのグループをクラスとも呼ぶ。
分類は、例えば、方程式で表現されたモデル、ルールで表現されたモデル、確率で表現されたモデル及びマッチングを行うモデルに従い行われる。方程式で表現されたモデルは、例えば判別分析である。ルールで表現されたモデルは、例えばルールベース又は決定木である。確率で表現されたモデルは、例えばベイジアンネットワークである。マッチングを行うモデルは、例えば自己組織化マップである。
【００３７】
なお、文書データのクラスタリングでは、対象となる各文書データにクラス（ラベルともいう）が与えられずに、用意された文書データのキーワードからクラスを定義する教師無し学習に属する。すなわち、当該クラスタリングでは、事前にクラスを定義するのではなく、データ空間の定義を行い存在している文書データ間の類似度又は距離によってグループ化することによって行われる。一方、文書データの「分類」では、対象となる各文書データにクラスが与えられている教師有り学習に属する。分類では、文書データ中の１つのキーワード（目的変数であり、教師信号である）に着目したものである。
【００３８】
本発明の実施態様において、上記文書データそれぞれがクラスタ又はクラスに属するスコア又は確率とは、当該クラスタ又はクラスに当該文書データそれぞれが属するスコア又は確率をいう。確率は０〜１００％で示される。スコアは例えば点数で表される。
【００３９】
本発明の実施態様において、「文書クラスタ」とは、文書データをクラスタリング又は分類したクラスタをいう。文書クラスタ内における個々のキーワードを含む文書データの出現頻度とは、文書データより抽出された個々のキーワードを含む文書クラスタ内の文書データの数である。
【００４０】
本発明の実施態様において、「キーワード・クラスタ」とは、個々のキーワードをクラスタリング又は分類したクラスタをいう。キーワード・クラスタを含む文書データの出現頻度とは、クラスタリング又は分類されたキーワード・クラスタに属するキーワードを含む文書データの数である。
【００４１】
本発明の実施態様において、「時系列」とは、観測値が時間の経過とともに次々に得られる場合において、これらの観測値を時間の順序に従って並べた系列である。本発明の実施態様において、観測値は、所定のサンプリング時間間隔における、例えば文書クラスタ内における個々のキーワードを含む文書データの出現頻度、又は、キーワード・クラスタを含む文書データの出現頻度である。サンプリング時間間隔は、うる。サンプリング時間間隔は、元データの性質により適切に設定される。サンプリング間隔は、例えば観測値を得るための時間間隔で集計され、例えば１年、１ヶ月、１週間、１日、４時間、５分間である。
【００４２】
本発明の実施態様において、「時系列解析」は、周波数領域における解析を含む。時系列解析は、スペクトル分解ともいう。周波数領域における時系列解析は、スペクトル解析としても知られている。周波数領域における時系列解析の方法は、例えばフーリエ変換（ＦＦＴ）及びウェーブレット変換である。
【００４３】
本発明の実施態様において、「フーリエ変換」とは、時系列信号をフーリエ級数に展開して、どの周波数成分がどの程度寄与しているかをスペクトルとして表現する方法である。離散的な時系列に対するフーリエ変換（離散フーリエ変換）のアルゴリズムとしては、例えば高速フーリエ変換がある。本発明の実施態様では、任意のフーリエ変換アルゴリズムを使用してよい。
【００４４】
本発明の実施態様において、「ウェーブレット変換」とは、基本的には、小さい波（ウェーブレット）をスケール（伸縮）及びトランスレート（平行移動）して足しあわせることによって、与えられた入力の波形を表現する周波数解析の手法である。マザーウェーブレット変換では、基底関数としてウェーブレット係数を用いる。基底関数は、例えばモルレー関数、ガボール関数及びメキシカンハット関数であるが、これらに限定されない。スケールは、マザーウェーブレットを伸縮することであり、それによって周期（周波数）を変化させることができる。トランスレートは、マザーウェーブレットの中心位置を時間軸上の左右に動かすことであり、それによって任意の時間の相似な波形を取り出すことができる。ウェーブレット変換では、このスケールとトランスレートの操作を組み合わせて使用し、それによって任意の時間のマザーウェーブレットと相似な波形を見つけることができる。
ウェーブレット変換では、フーリエ変換と異なり、周波数特性を求める際に失われる時間領域の情報を残すことが可能である。ウェーブレット変換では、基底関数のスケールを行うので、広い周波数領域の解析が可能である。
ウェーブレット変換は、例えば下記式９で表される。
【００４５】
【数９】
2011141801.tif 000011
【００４６】
ｘ（ｔ）は時系列関数である。
ｍは、波長である。
ｎは、ウェーブレットの中心の座標である。
ａｍ，ｎは、各ウェーブレット成分の実係数である。
φｍ，ｎは、ウェーブレット関数である。
ｔは、時間である。
【００４７】
本発明の実施態様において、「周波数分布」とは、上記時系列解析によって得られる周波数ごとの係数ａｍ，ｎの分布グラフである。周波数分布をスペクトル分解ともいう。
【００４８】
以下、図面に従って、本発明の実施態様を説明する。本実施態様は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図面を通して、特に断らない限り、同一の符号は、同一の対象を指す。
【００４９】
図１は、キーワードの発生件数のタイムラインにおける周期パターンとランダムパターンとを示す。
文書データ解析の代表的な手法は、キーワードの出現頻度を時系列で解析し、背後で起こっている事象を探し当てるというシナリオである。
上段のグラフ（１０１）は、周期パターンを示す。周期パターンは、大局的なトレンドの例である。
下段のグラフ（１０２）は、ランダムパターンを示す。ランダムパターンでは大局的な周期パターンは認められず、トレンドは局所的なものとなる。
上記グラフ（１０１、１０２）の縦軸は発生件数であり、発生件数は出現頻度と同じである。同グラフ（１０１、１０２）の横軸は時間軸であり、発生件数の時系列を示す。
キーワードの出現頻度を時系列で解析すると、図１に示すように、大局的なトレンド（１０１）と局所的なトレンド（１０２）とに大きく分けられる。トレンドは変動ともいう。大局的なトレンドでは、トレンドが集まって一定のタイムラインにおいて山のようになる。これらのトレンドを求めるために、例えば、時系列に沿って変動幅を測定し、大きく変動する点を検出する手法がある。しかし、当該方法では、大局的なトレンドを局所的なトレンドよりも優先して探すという解析ができない。このような問題を解決する手法として、出現頻度の時系列を時系列解析（例えば、フーリエ変換又はウェーブレット変換）を使用して周波数成分へ分解する手法がある。上記大きなトレンドを優先的に発見するために、上記時系列解析を、キーワードを含んだ文書の出現頻度のカウント（ファセットカウントともいう）に適用し、下記式１０のようなインデックスを定義する。
【００５０】
【数１０】
2011141801.tif 000012
【００５１】
ｓ（ｘ）−１は、文書の出現頻度の時系列ｘ（ｔ）に対するインデックスの逆数である。
ｍは、波長である。
ｎは、ウェーブレットの中心の座標である。
ａｍ，ｎは、各ウェーブレット成分の実係数であり、周波数解析の結果を示す。
ｃ１、ｃ２、ｃ３、・・、は各周波数成分からの寄与を重み付けするための定数である。
【００５２】
上記インデックスの定義によれば、当該インデックスは、波長が長く、大きな変動であり且つ周波数成分が少ない場合には大きな値をとる。一方、このインデクスは、短い周波数又は多重周波数の場合には小さな値をとる。
【００５３】
しかしながら、実際問題として、全てのキーワードについて、上記インデックスの定義に従ってインデックスを計算することは非常に多くの時間を要する。
【００５４】
図２Ａは、文書データのクラスタリング又は分類を含む、索引データベースの作成のフローを示す。
索引データベース（２１４）の作成では、文書データ（２１１）から単語及びフレーズを抽出し（２０１）、文書データをクラスタリング又は分類し（２０２）、そして検索キーワードから当該検索キーワードを含む文書データを特定するための索引の作成を行う（２０３）。索引として、単語又はフレーズが文書データに索引付けられる。なお、文書データがクラスタ又はクラスに属するスコア又は確率は、文書データにメタデータとして付与されるものである。以下、索引データベースの作成を図２Ａのステップ２０１〜２０３に従い説明する。
ステップ２０１では、コンピュータ内の自然言語解析を処理する解析処理部（図８Ａの８０６）は、用意された文書データ（２１１）の自然言語解析を行う。文書データ（２１１）は、例えば文書データベースを格納する記憶装置又はその他の記録媒体に格納されている。自然言語解析は、例えば、図２Ｂに示すように下記４つのステップから構成される：形態素解析（２２１）、構文解析（２２２）、意味解析（２２３）及び文脈解析（２２４）。自然言語解析は、例えば、市販の自然言語解析アプリケーション・ソフトウェアを使用して行ってもよい。例えば、自然言語解析エンジンは、ＩＢＭ（ＩＢＭ社の登録商標）OmniFind（ＩＢＭ社の登録商標） Enterprise Editionの一部の機能として実装されている。当該解析処理部は、文書データが入力されると又は文書データを取得すると、当該文書データ（２１１）から単語を抽出する。当該抽出には、単語辞書（２１２）及び単語の抽出ルール（２１３）が使用される。単語辞書（２１２）は、自然言語解析によって文書データから単語を抽出するために使用される辞書である。単語辞書は、例えば、文書データの内容の分野又は当該内容に類似の分野の辞書を使用しうる。抽出ルール（２１３）は、自然言語解析によって文書データから単語を抽出するために使用される規則又は決まりである。自然言語解析では、単語辞書（２１２）を使用して、上記抽出された単語に品詞情報をさらに付加する。そして、解析処理部は、品詞情報が付加された単語及び抽出ルール（２１３）に基づいてフレーズをさらに抽出してもよい。
ステップ２０２では、上記コンピュータ内のクラスタリング部は、文書データベースに格納されている文書データ（２１１）をクラスタリング又は分類する。文書データのクラスタリングでは、文書データ間の類似度又は距離に基づき、文書データをグループ分けする。文書データの分類では、コンピュータによって自動的に又は人手によって主導的に、文書データをグループ分けする。クラスタリング又は分類において、文書データ毎に、各クラスタのスコアが求められる。当該スコアを求める方法は、クラスタリング又は分類のアルゴリズムにより異なる。言い換えれば、スコアを定義するのが上記アルゴリズムである。例えば単語空間にマップする方法では、単語空間において、各クラスタそれぞれがクラスタを代表する点として定義され、且つ各文書データも点として定義される。当該マップする方法の場合、点間の距離の逆数をスコアとすることができる。別の方法として、点をベクトルと考え、内積で定義する方法がある。さらに別の方法として、単語の出現頻度を統計的な確率とみなし、ベイズ・ルールで確率を求めて、スコアとする方法がある。クラスタリングの具体例を、図３Ａ〜図３Ｃを用いて別途説明する。
ステップ２０３では、上記コンピュータ内の索引付部（図８Ａの８０７）は、検索対象である文書データを内部で処理できる形式（内部表現）に置き換える。この内部表現を索引ともいう。索引付部は、文書データ（２１１）から抽出されたキーワードを索引として、索引データベース（２１４）に保存する。また、索引付部は、文書データ毎に、各クラスタのスコアを有する文書リストを作成する。当該部文書リストは、索引データベース（２１４）に保存されてもよいし、他のデータベースとして記録媒体内に保存されてもよい。文書リストにおいて、各文書データにおける各クラスタのスコアを全て保存すると冗長であり、データ量が多くなる。よって、スコアが所定の閾値よりも大きいスコア又は所定の割合を有するクラスタのスコアが文書リスト中に保存され、その他のクラスタのスコアはゼロとみなされるようにしてもよい。
ステップ２０１〜２０３を繰り返すことによって、索引データベース（２１４）が作成される。索引データベース（２１４）が作成されることによって、ユーザから入力された又はコンピュータによって作成された検索キーワードに基づいて、索引データベース（２１４）を用いた文書データの検索が可能になる。
【００５５】
索引の作成は、検索の効率化又は目的に応じて、上記ステップ２０３において説明したようにコンピュータによって自動的に索引を作成することができるが、検索の効率化又は目的に応じて人手によって索引を作成してもよい。索引は、ユーザから入力された又はコンピュータによって作成されたクエリとの照合に用いるために、文書データの内容を上手く表したものであることが重要である。
【００５６】
コンピュータによる自動的な索引の作成は、検索対象である文書データから自動的に語を切り出して、例えば当該語の品詞又は統計的な情報に基づいて自動的に索引を当該文書データに関連付け、当該検索キーワードを索引データベースに登録する方法である。日本語では、英語のように分かち書きされていないために、文書データ中の語を自動的に分割する必要がある。当該分割のために、上記形態素解析が使用されうる。分割によって、複合語である場合、助詞及び助動詞のような機能語が索引から削除されて、自立語のように意味を持つ内容語のみを索引として索引データベース（２１４）に登録してもよい。
また、自動的な索引の作成のためにｎグラム索引を使用しうる。ｎグラム索引では、分割された語でなく、文の先頭から１文字ずつずらしながら連続するｎ文字を索引とするｎグラム索引が使用されうる。しかし、ｎグラム索引では、意味のない索引も作成されてしまう。
また、自動的な索引の作成のために、重要度を使用しうる。重要度は、上記文書データから抽出された索引が、当該索引が含まれている文書データの内容とどれだけ密接に関連しているからを表す。当該重要度が検索キーワードに付与されることによって、より適切な文書データの検索が可能である。文書データの重要度は、通常、当該検索キーワードが含まれる文書データによって異なりうる。
重要度の計算方法は、例えばｔｆ・ｉｄｆが用いられる。ｔｆとは、索引の文書データ内の出現頻度であり、あるキーワードが文書データ中で多く存在するほど重要であると判断される。すなわち、出現頻度の値が大きい索引ほど文書データ内で重要であることを表している。ｄｆとは、文書データの集合中で索引が出現する文書データ数であり、ｉｄｆはその逆数である。ｔｆ・ｉｄｆでは、文書データの集合において、特定のキーワードがある特定の文書データに多く出現する場合には当該キーワードは重要であるが、一方当該特定のキーワードが文書データの集合中にどの文書データにも現れる場合には重要度が下がる、という性質を表す。この性質を用いて、索引に重み付けを行うことができる。
ｔｆ・ｉｄｆによる当該重み付けを使用して、与えられた検索キーワードの重要度が高い文書データが優先的に検索結果として抽出されうる。
【００５７】
人手による索引の作成とは、例えばデータベース管理者が文書データの内容を見て、検索のために重要であると考えるキーワードを文書から抜き出し、当該キーワードを索引とする方法である。
【００５８】
図２Ｂは、自然言語解析の概要のフローを示す。
自然言語解析は、解析処理部によって行われる。解析処理部は、形態素解析処理部、構文解析処理部、意味解析処理部、及び文脈解析処理部を備えている。
ステップ２２１では、形態素解析処理部が、文書データ（２１１）の文節を形態素解析する。形態素解析では、活用法が利用情報として使用される。形態素解析では、用語などの活用している語は原形に戻され、文書データから抽出された全ての語に品詞が割り当てられる。形態素解析では、例えば、当該文節内の単語の並び方が形態論的に正しい結果だけを用いることができる。
ステップ２２２では、構文解析処理部が、上記形態素解析された結果を用いて、構文解析する。構文解析では、例えば、文書データに従う各言語の文法が利用情報として使用され、統語構造が抽出される。統語構造とは、文の持つ規則的配列構造である。構文解析では、例えば、文法を用いて、キーワード間の修飾関係が解析されて、文の統語構造が得られる。
ステップ２２３では、意味解析処理部が、キーワードが持つ意味情報を持つ辞書を用いて、キーワード又は文の意味を抽出する。意味解析では、形態素解析及び構文解析で生じた曖昧性が解消される。
ステップ２２４では、文脈解析処理部が、意味解析の結果を用いて、文脈解析を行う。文脈解析では、例えば名詞句の解析、動詞句の解析が行われる。名詞句の解析では、中心となる名詞を概念化し、当該名詞を修飾している情報を統合する。動詞句の解析では、動詞を概念化し、そして副詞などの修飾語を統合した後に、名詞句の深層格とともに動詞句に統合していく（スロットフィリング）。
以上のステップ２２１〜ステップ２２４によって、自然言語解析による理解結果（２１５）が得られる。
【００５９】
図２Ｃは、図２Ａのステップ２０１〜２０３の内容を、文書データの具体例を用いて説明したものである。
文書データ（２１１）の具体例では、オリジナル文書データ１（２３１）を用いて説明する。オリジナル文書データ１（２３１）の内容は、次の通りである：「対向車を避けようと、ハンドルを強くきった。日時  2007/07/07  7:00AM」。
ステップ２０１では、解析処理部は、オリジナル文書データ１（２３１）の自然言語解析をする。その結果は次の通りである：「対向車（名詞）  避ける（動詞）  ハンドル（名詞）  強く（形容詞）  きる（動詞）」（２３２）。自然言語解析によって、用語などの活用している語は原形に戻されている。また、自然言語解析によって、各語に品詞が割り当てられている。
ステップ２０２では、クラスタリング部は、文書データ（２１１）をクラスタリング又は分類する。
図２Ｃに示したクラスタ１〜３それぞれは、文書データに含まれる語全てを参照して、共通語の多いもの同士をクラスタリングしたものである。図２Ｃでは、クラスタ１〜３の各スコアが示されている（２３３）。クラスタ１〜３の各スコア（２３３）は、オリジナル文書データ１が各クラスタに属するスコアを示している。例えば、文書データの集合が交通事故報告に関するものである場合、クラスタ１は「運転ミスによる事故」、クラスタ２は「エンジンの故障による事故」、及びクラスタ３は「雨などによる事故」である。しかし、クラスタには、例えば必ずしも人間が見て意味がないクラスタも存在する。なお、クラスタは、一般的に、例えばｔｆ・ｉｄｆを用いて、どの文書データにも出現する頻出単語からの寄与は小さくなるようにしてある。また、各クラスタは特定の単語又はフレーズだけでできているわけでない。例えば、文書データの集合が上記交通事故報告に関するものである場合、「運転ミスによる事故」のクラスタ１では例えば「ハンドル」及び「ブレーキ」が顕著な単語として表れ、及び「エンジンの故障による事故」のクラスタ２では例えば「オイル」及び「ガスケット」が顕著な単語として表れる。
ｔｆとは、キーワードの文書データ内の出現頻度であり、あるキーワードが文書データ中で多く存在するほど重要であると判断される。すなわち、出現頻度の値が大きいキーワードほど文書データ内で重要であることを表している。ｄｆとは、文書データの集合中でキーワードが出現する文書データ数であり、ｉｄｆはその逆数である。ｔｆ・ｉｄｆでは、文書データの集合において、特定のキーワードがある特定の文書データに多く出現する場合には当該キーワードは重要であるが、一方当該特定のキーワードが文書データの集合中にどの文書データにも現れる場合には重要度が下がる、という性質を表す。この性質を用いて、キーワードに重み付けを行うことができる。
ステップ２０３では、索引付部は、文書データ（２１１）の索引であるキーワード（２３４）を索引データベース（２１４）内に保存する。索引データベース（２１４）はまた、文書リスト（２３５）を格納してもよい。単語・フレーズ索引（２３４）は、文書データ（２１１）から抽出されたキーワードを索引として有している。索引の作成については後述する。また、単語・フレーズ索引（２３４）はまた、文書データの作成日である日付を索引として有していてもよい。日付は文書データの索引として必須ではないが、キーワード以外に、文書データの作成日などの文書データのメタデータとして利用可能なものは索引化されうる。文書データの作成日は、例えば、特定の期間内に作成された文書データに検索対象を絞って解析したい場合に有用である。文書リスト（２３５）は、文書データ毎に、各クラスタにおけるスコアを記録する。文書リスト（２３５）では、オリジナル文書データ１についてのクラスタ１〜３のスコアの大きいもののみを保存し、他のクラスタのスコアをゼロとみなして保存しなくてもよい。なぜならば、実際には、文書リスト（２３５）内に全クラスタのスコアを保存すると冗長であり、文書リストのファイルサイズが大きくなるだけであるからである。よって、文書リスト（２３５）内に大きなスコアを持つクラスタのスコアのみを保存し、他のクラスタのスコアをゼロとみなす。文書リスト（２３５）内には、オリジナル文書データ１〜ｎそれぞれについての各クラスタのスコアが保存されている。
【００６０】
図２Ｄは、文書データの内部表現とクエリの内部表現との照合による検索の一例を示す。
【００６１】
ステップ２０４では、検索部は、クエリ（２１５）から作成されたクエリの内部表現（２４１）と、文書データそれぞれの内部表現（２４２）を照合し、当該クエリに合致する文書データの検索を行う。
ステップ２０５では、検索部は、合致した文書データの検索結果を、例えばリスト形式で表示装置上に表示する。
【００６２】
図３Ａは、複数の文書データのクラスタリングの第１の態様の概念図を示す。
第１の態様は、各単語の出現頻度を独立した次元とみなし、ベクトル空間モデルに文書データをプロットしてクラスタリングする方法である。ベクトル空間モデルを単語空間とも呼ぶ。
本ベクトル空間モデルでは、キーワード１の出現頻度がＸ軸、キーワード２の出現頻度がＹ軸、及びキーワード３の出現頻度が矢印で示す軸に示されている。よって、図３Ａに示したベクトル空間モデルは３次元である。なお、キーワードがＮ個（Ｎは整数）ある場合には、Ｎ次元となる。キーワードが１億個ある場合にはＮが１億であることから、そのベクトル空間モデルは１億次元である。
本第１の態様では、例えば以下のステップに従いクラスタリングを行う。
ステップ１  文書データが与えられると、文書データで指定されている属性又は文書データで用いられている文字コードから、文書データの言語が何であるか（例えば、日本語、英語又は中国語）を特定する。
ステップ２  特定された言語用の辞書を用いて、形態素解析を行い、文書データ中の全てのキーワードを切り出す。また、辞書にない語を未知のキーワードとして、取り出す。これによって、１つの文書データに対して、当該文書データに含まれるキーワードの一覧とそれぞれのキーワードの出現頻度との一覧表が作られる。
ステップ３  上記一覧表を用いて、文書データ毎のキーワード一覧の和集合を求める。この一覧のキーワードそれぞれが、図３Ａに示すベクトル空間モデルの次元となる。例えば、全部で１億個のキーワードが切り出せたとすると、ベクトル空間モデルは１億次元である。このベクトル空間モデルの点として、各文書データが当該モデル内にそれぞれプロットされる。
ステップ４  上記プロットされた点間の距離に基づいて、それぞれの文書データがクラスタリングされる。それによって、ある範囲内にある文書データのグループがクラスタリングされる。
当該クラスタリングのアルゴリズムとして、例えば、ＬＳＩ／ＬＳＡ、ＬＤＡ（Latent Dirichlet Allocation）又はｋ−ｍｅａｎｓが使用されうる。
図３Ａにおいて、クラスタリングによって、文書データはグループ１〜４（３０１〜３０４）にグループ分けされている。
【００６３】
図３Ｂは、複数の文書データのクラスタリングの第２の態様の概念図を示す。
第２の態様は、共通するキーワードの出現頻度により文書データをクラスタリングする方法である。
図３Ｂにおいて、上記第１の態様と同様に、キーワード１の出現頻度がＸ軸、キーワード２の出現頻度がＹ軸、キーワード３の出現頻度が矢印で示す軸、・・・、及びキーワードＮの出現頻度がＮ軸（図示せず）に示されている。
例えば、キーワードとして、「細胞」、「ＤＮＡ」及び「酸」が切り出された場合、「細胞」、「ＤＮＡ」及び「酸」はそれぞれ、キーワードＩ、Ｊ及びＫである（０≦Ｉ，Ｊ，Ｋ≦Ｎ）。
第２の態様においても、上記第１の態様と同様に、各文書データがベクトル空間モデル内にそれぞれプロットされる。第２の態様では、文書データが必ずしも分野別に分かれるわけではない。第２の態様を用いて、クラスタリングが可能である理由は次の通りである。上記に述べたように、例えば全部で１億個のキーワードが切り出せたとすると、ベクトル空間モデルは１億次元である。しかし、１億次元のベクトル空間に文書データを点としてプロットするとかなり疎な状態になる。同じトピックを扱う文書データ同士は共通の語を含む可能性が高いために、同じトピックを扱う各文書データはある空間に偏在する可能性が高い。例えば、バイオ関係の文書データでは、動画技術関係で言及されるキーワードが少ない。よって、バイオ関係の文書データの集合と動画技術の文書データの集合とがベクトル空間モデル内で分離されることが期待される。
図３Ｂにおいて、クラスタリングによって、文書データは、グループ１（細胞，ＤＮＡ，酸、・・・）というバイオ関係の文書データの集合（３１１）、グループ２（動画，録画，ＭＰＥＧ、・・・）という動画技術関係の文書データの集合（３１２）、グループ３（電子，トランジスタ，電荷、・・・）という電子関係の文書データの集合（３１３）及びグループ４（液体，流体，バルブ、・・・）制御技術関係の文書データの集合（３１４）にグループ分けされている。
【００６４】
図３Ｃは、複数の文書データのクラスタリングの第３の態様の概念図を示す。
第３の態様は、各クラスタの重心の各キーワードの出現頻度により文書データをクラスタリングする方法である。
図３Ｃにおいて、上記第１の態様と同様に、キーワード１の出現頻度がＸ軸、キーワード２の出現頻度がＹ軸、キーワード３の出現頻度が矢印の方向、・・・、及びキーワードＮの出現頻度がＮ軸（図示せず）に示されている。
ベクトル空間モデル内の点の群れ（クラスタ）を、重さを持った質点の集合とみなすと、その重心が存在することになる。この重心がクラスタの重心である。当該重さについて、各点が均一な重さを持つとしてもよいし、又は点毎にｔｆ・ｉｄｆを用いて重みを付けてもよい。重さが均一な場合、重心の定義はそれぞれの質点の座標の平均である。
第３の態様においても、上記第１の態様と同様に、文書データがベクトル空間モデル内にそれぞれプロットされる。その先については、どのようなアルゴリズムを用いるかによってどのようにクラスタリングするかは異なる。アルゴリズムとして、当業者に知られている慣用の方法が使用されうる。
図３Ｃにおいて、クラスタリングによって、文書データは、グループ１（細胞，ＤＮＡ，酸、・・・）（３２１）、グループ２（動画，録画，ＭＰＥＧ、・・・）（３２２）、グループ３（電子，トランジスタ，電荷、・・・）（３２３）及びグループ４（液体，流体，バルブ、・・・）（３２４）にグループ分けされている。
【００６５】
図４Ａは、本発明の第１の実施態様である、索引を作成するためのフローを示す。
索引作成にかける時間は長くても許容される。一方、検索又は解析実行時のレスポンスタイムは、それなりに速いことが要求される。そこで、索引の作成時に、時系列解析によるベース処理を行う。
検索又はトレンドの解析実行のための索引は、検索又は解析の実行に先立って下記ステップ４０１〜４０８に従い作成される。索引の作成のために、ハードウェアとして、解析処理部（図８Ａの８０６）、クラスタリング部（図８Ａの８０６）、時系列解析部（図８Ａの８０６）又は索引付部（図８Ａの８０７）が使用されるがこれらに限定されるものでない。
ステップ４０１では、索引の作成を開始する。
ステップ４０２では、解析処理部は、文書データ（４１１）を記憶装置からメモリ内に読み込む。
ステップ４０３では、解析処理部は、文書データで指定されている属性又は文書データで用いられている文字コードから、辞書又はファセット定義を含む辞書（４１２）を使用して文書データの言語を検知する。辞書には、単語又はファセット定義が登録されているが、言語の検知にはファセット定義は関係ないため、言語の検知のためにファセット定義を含まない辞書を用いてもよい。
ステップ４０４では、解析処理部は、特定された言語用の辞書（４１２）を用いて形態素解析を行い、文書データ中の全てのキーワードを検出する。例えば「日本国特許庁」という語がある場合に、辞書（４１２）を使用して「日本国」、「特許庁」に分解する。しかし、辞書がないと、「日本国」で区切るのか、「日本国特」で区切るのかが不明となる。ファセット定義は、このうちの特に指定した興味のある単語だけをファセット・キーワードとして定義したものであり、それ以外の単語を無視するためにある。
ステップ４０５では、クラスタリング部は、検出されたキーワードの出現頻度に基づいて、対象となる文書データ（４１１）をクラスタリング又は分類する。当該クラスタリング又は分類によって、クラスタ又はクラス（文書クラスタともいう）が形成される。当該クラスタリング又は分類によって、個々の文書データがクラスタ又はクラスに属する確率がスコアで評価される。スコアは、例えば０〜１の実数として示される。そして、例えば、キーワード（縦軸）×クラスタ（横軸）の文書データ・スコア表ができる。当該文書データ・スコアは、文書データ・スコア・データベース（４１３）内に格納される。なお、文書データのクラスタリング又は分類をすることは、キーワードのクラスタリング又は分類を行うことでもある。
【００６６】
ステップ４０６では、クラスタリング部は、各キーワードｋに対して、各クラスタｃ内で当該キーワードを含む文書データの出現数（ｘｃ，ｋ（ｔ））をタイムスライスｔ毎に求める。当該文書データの出現数は、下記式１１に従い、全ての文書データのスコアの合計として求められる。
【００６７】
【数１１】
2011141801.tif 000013
【００６８】
ｘｃ，ｋ（ｔ）は、各クラスタｃ内でキーワードｋを含む文書データｄの出現数である。
Ｓｃ（ｄ）は、文書データｄがクラスタｃに属するスコアである。
Σは、キーワードｋを含む全ての文書データｄのスコアの和である。
【００６９】
下記ステップ４２１〜４２６で示されるランタイム時の検索では、キーワードを含む文書データの出現数の代わりに、上記式１１に示されるように、各々のクラスタごとに、キーワードを含む全ての文書データのスコアの合計値を計算して用いる。それによって、クラスタに属する確率が低い、すなわち関連するキーワードの数が比較的少ない文書データの寄与を抑えることができる点で都合がよい。
【００７０】
当該文書データの出現数は、文書データ・スコア・データベース（４１３）内に格納されうる。タイムスライスは、例えば１年、１ヶ月、１週間、１日、４時間、５分間などの任意の時間単位でありうる。
ステップ４０７では、時系列解析部は、各キーワードｋに対して、クラスタｃごとに当該キーワードを含む文書データの出現数ｘｃ，ｋ（ｔ）の時系列解析（スペクトル分解）をおこなう。時系列解析は、例えばフーリエ変換又はウェーブレット変換により行われる。当該スペクトル分解の結果として、各キーワードに対して、クラスタの数の分だけの周波数分布（スペクトル分解）ｆ（ω）ｃ，ｋが求められる。スペクトル分解ｆ（ω）ｃ，ｋは、クラスタｃにキーワードｋを含む文書データの出現頻度の時系列の周波数分布である。ｆ（ω）ｃ，ｋは、スペクトル分解がフーリエ変換の場合フーリエ係数であり、スペクトル分解がウェーブレット変換の場合ウェーブレット係数である。求められたスペクトル分解ｆ（ω）ｃ，ｋは、周波数分布データベース（４１４）に格納される。
当該スペクトル分析は、ランタイムで行われうる。しかしながら、一般にキーワードの数は膨大であることから、ランタイムでそれらキーワードの全てについてスペクトル分解を行うのは一般的に困難である。そこで、本発明の実施態様では、キーワードではなく、各クラスタについてスペクトル分解を行う。
ステップ４０８では、全てのクラスタに対し、すべてのキーワードについて、上記ステップ４０６〜ステップ４０７を繰り返し、索引の作成を終了する。
【００７１】
図４Ｂは、図４Ａで作成された周波数分布を用いて、ランタイム処理をするフローを示す。
ランタイム時の処理は、ステップ４２１〜４２６に従い行われる。
ステップ４２１では、検索部は、ランタイム時の処理を開始する。
ステップ４２２では、検索部は、ユーザから入力された又はコンピュータによって作成された検索クエリｑを受信し、メモリ又は記憶装置に格納する。検索クエリｑは、検索キーワードを含む。検索部は、検索クエリｑを受信することに応じて、検索クエリｑ中のキーワードに関連付けられた関連キーワードを抽出してもよい。
ステップ４２３では、検索部は、文書データ・スコア・データベース（４１３）に格納された文書データ・スコアを使用して、検索クエリｑ中のキーワードによる文書データｄ（４１１）の集合の絞り込みをランタイムに行う。文書データの集合の絞り込みによって、解析すべき時系列がダイナミックに作られる。
ステップ４２４では、検索部は、ステップ４２３において絞り込まれた文書データｄの集合をクラスタの線形和で近似する。すなわち、各キーワードにより絞り込まれた文書データの集合内でのスペクトル分解は、各クラスタからの寄与で近似される。例えば、クラスタリングがＬＳＡ又はＬＳＩによって行われた場合、各クラスタは互いに直交ベクトルとして定義される。従って、下記式１２のように、次元集約で落とされた次元分の誤差の範囲で近似が可能になる。
【００７２】
【数１２】
2011141801.tif 000014
【００７３】
ｆ（ω）ｑ，ｋは、検索クエリｑの結果にキーワードｋを含む文書データｄが出現する頻度の時系列の周波数係数である。
ａｃは、下記式１３及び式１４に従い求められる。
【００７４】
【数１３】
2011141801.tif 000015
【００７５】
【数１４】
2011141801.tif 000016
【００７６】
Ｄｑは、絞り込まれた文書データ集合に対応するベクトルである。Ｄｑは各文書データを次元とする空間で定義され、各次元の成分は、絞り込まれた文書データ集合がその次元に対応する文書データを含むか含まないかにより、それぞれ１又は０の値をとる。
Ｄｃは、クラスタに対応するベクトルである。Ｄｃでは、その成分は各次元に対応する文書データがクラスタ又はクラスに属する確率又はスコアに応じて、０〜１の実数の値をとる。
ａｃは、ＤｑとＤｃの内積であり、文書データの集合Ｄｑの各クラスタの成分への射影を表す。
【００７７】
Ｄｃ１及びＤｃ２は、異なるクラスタのＬＳＡでの固有ベクトルである。Ｄｑが、例えば（1, 1, 1, 0, 0, …）、Ｄｃ１が、例えば（0.1, 0.4, 0.3, 0.1, 0.0, ・・・）であり、Ｄｃ２が例えば（0.2, 0.0, 0.1, 0.2, 0.1, ・・・）である場合、ＤｑとＤｃ１の内積ａｃ１は、1 x 0.1 + 1 x 0.4 + 1 x 0.3 + …で求められ、ＤｑとＤｃ２の内積ａｃ２は、1 x 0.2 + 1 x 0.0 + 1 x 0.1 + …で求められる。
【００７８】
ステップ４２５では、検索部は、クラスタ毎の各キーワードを含む文書データの出現頻度時系列の周波数分布ｆ（ω）ｃ，ｋを周波数分布データベース（４１４）から読み取り、検索クエリで絞られた任意の文書データの集合でのキーワードの周波数分布を式１２により算出する。すなわち、検索部は、クラスタ毎にキーワードの時系列変化から、検索クエリで絞られた任意の文書データの集合でのキーワードの時系列変化を推測する。
【００７９】
この推測が妥当であるという根拠は、各クラスタは概念的に類似した文書データの集合とみなせるため、その中でのキーワードの増減のトレンドはその分野固有の特徴を反映していると考えられるからである。一般に、検索クエリで絞り込まれた文書データの集合は複数の概念を含むと考えられる。よって、当該文書データの集合における各キーワードの増減は、各概念での増減トレンドの複合として振る舞うと仮定することは不自然でない。
ステップ４２６では、検索部は、ランタイム時の処理を終了する。
以上により、ランタイムに検索クエリｑによって絞られた、文書データの集合における各キーワードｋに対して、当該キーワードｋを含む文書データの出現数の時系列変動のスペクトル分解ｆ（ω）ｑ，ｋが式１２を用いて得られた。
【００８０】
図５Ａは、本発明の第２の実施態様である、索引を作成するためのフローを示す。
検索又はトレンドの解析実行のための索引は、検索又は解析の実行に先立って下記ステップ５０１〜５０６に従い作成される。索引の作成のために、ハードウェアとして、解析処理部（図８Ａの８０６）、クラスタリング部（図８Ａの８０６）、時系列解析部（図８Ａの８０６）又は索引付部（図８Ａの８０７）が使用されるがこれらに限定されるものでない。
ステップ５０１では、索引の作成を開始する。
ステップ５０２では、解析処理部は、文書データ（５１１）を記憶装置からメモリ内に読み込む。
ステップ５０３では、解析処理部は、文書データで指定されている属性又は文書データで用いられている文字コードから、辞書又はファセット定義を含む辞書（５１２）を使用して文書データの言語を検知する。
ステップ５０４では、解析処理部は、特定された言語用の辞書（５１２）を用いて形態素解析を行い、文書データ中の全てのキーワードを検出する。
ステップ５０５では、クラスタリング部は、検出されたキーワードの出現頻度に基づいて、対象となる文書データ（５１１）をクラスタリング又は分類する。当該クラスタリング又は分類によって、クラスタ又はクラス（キーワード・クラスタともいう）が形成される。当該クラスタリング又は分類によって、個々の文書データがクラスタ又はクラスに属する確率がスコアで評価される。スコアは、例えば０〜１の実数として示される。そして、例えば、キーワード（縦軸）×クラスタ（横軸）の文書データ・スコア表ができる。当該文書データ・スコアは、文書データ・スコア・データベース（５１３）内に格納される。なお、文書データのクラスタリング又は分類をすることは、キーワードのクラスタリング又は分類を行うことでもある。
【００８１】
図５Ｂは、図５Ａで作成された文書データ・スコアを用いて、ランタイム処理をするフローを示す。
ランタイム時の処理は、ステップ５２１〜５２９に従い行われる。
ステップ５２１では、検索部は、ランタイム時の処理を開始する。
ステップ５２２では、検索部は、ユーザから入力された又はコンピュータによって作成された検索クエリｑを受信し、メモリ又は記憶装置に格納する。検索クエリｑは、検索キーワードを含む。検索部は、検索クエリｑを受信することに応じて、検索クエリｑ中のキーワードに関連付けられた関連キーワードを抽出してもよい。
ステップ５２３では、検索部は、文書データ・スコア・データベース（５１３）に格納された文書データ・スコアを使用して、検索クエリｑによる文書データｄ（５１１）の集合の絞り込みをランタイムに行う。文書データの集合の絞り込みによって、解析すべき時系列がダイナミックに作られる。
ステップ５２４では、検索部は、ステップ５２３において検索クエリで絞り込まれた文書データｄの集合でのキーワードの時系列から、当該絞り込まれた文書データｄの集合内での各クラスタの時系列を求める。時系列を求めるとは、出現頻度の時間変化を時間の関数として表すことである。時系列は、例えば、下記式１５に従い求められうる。
【００８２】
【数１５】
2011141801.tif 000017
【００８３】
ｃ−（ｔ）は、時系列でのクラスタに属するすべてのキーワードについての和である。
Ｓｃ（ｘ）はキーワードｘのクラスタｃでの重みである。
ｘ−（ｔ）は、個別のキーワードを含む文書データの出現頻度の、平準化の後、正規化された時系列である。
【００８４】
ステップ５２５では、検索部は、各クラスタの上記求められた時系列の周波数解析を行う。検索部は、図６に示すように、時系列での文書データ中のキーワードの出現頻度数（元データ）をフィルター関数により処理してもよい。検索部は、周波数解析においてフィルター関数でフィルターをかける場合、クラスタ毎にインデックス値を計算する。インデックス値の計算は、例えば上記式１０に従い求められうる。そして、検索結果表示部は、例えばクラスタ毎にインデックス値の高いクラスタについてその解析結果を表示する。周波数解析は、図４Ａのステップ４０７で行われる時系列解析と同様である。解析結果の例が、下記図７Ｂに示されている。
ステップ５２６では、検索部は、個々のキーワードへのドリルダウンを行うか否かをユーザに尋ねる。ドリルダウンとは、一般に、概要データから詳細データへと対象を絞り込んで解析することを指す。検索部は、ユーザにドリルダウンするクラスタの選択を可能にするために、クラスタの一覧を表示する。当該表示は例えば、クラスタを選択可能な態様で行われる。ユーザは、ドリルダウンするクラスタを選択する。ドリルダウンを行う場合、当該ステップはステップ５２７に進む。一方、ドリルダウンを行わない場合、当該ステップはステップ５２９に進み、ランタイム時の処理を終了する。
ステップ５２７では、上記ユーザからの選択に応じて、検索部は、当該選択されたクラスタの情報を受信する。
ステップ５２８では、検索部は、必要に応じて、選択されたクラスタに対して、その中で重みの大きいキーワードから順に時系列解析を行う。ここで、時系列解析とは、上記時間の関数の特性を解析することである。検索部は、選択されたクラスタを特徴付けるキーワードの時系列解析として、例えばフーリエ変換又はウェーブレット変換を実施する。解析された結果は、ユーザに表示される。
ステップ５２９では、検索部は、ランタイム時の処理を終了する。
以上により、ランタイムに検索クエリｑによって絞られた、文書データの集合における各クラスタｃに対して、当該クラスタｃに属する文書データの出現数の時系列変動のスペクトル分解ｆ（ω）ｑ，ｃ、及び選択されたクラスタを特徴付けるキーワードのスペクトル分解が得られた。
【００８５】
上記ステップ５２１〜５２９で示されるランタイム時の検索では、キーワードを含む文書データの出現数から、キーワードのクラスタごとの出現頻度が算出されている。その際、各クラスタへの各キーワードの寄与は、当該キーワードのクラスタにおけるスコアにより、重み付けされている。これにより、クラスタに属する確度の低いキーワードからのクラスタの時系列への寄与は低く抑えられ、都合がよい。
【００８６】
図６は、時系列での文書データ中のキーワードの出現頻度数（元データ）をフィルター関数により処理した後のグラフを示す。
上記処理は、図５Ａのステップ５２４において行われうる。
以下では、周波数分解などによる時系列解析を多数（〜１０億個）のキーワードの出現回数に適用するためのクラスタ解析の技術を説明する。特に、低周波数の挙動（ゆるやかなで大きな変動）を摘出する方法について述べる。
まず、準備として、元の時系列ｘ（ｔ）を畳み込んだ関数を考える。当該関数は、下記式１６で示される。これは、ｎの大きさをカットオフ（cut-off）値として、高周波の変動を切り捨てた時系列となる。
【００８７】
【数１６】
2011141801.tif 000018
【００８８】
ｘ＾（ｔ）は、（正規化前の）平準化された時系列である。
ｘ（ｔ）は、元の時系列である。
ｉにより０〜ｎまでの整数での和をとる。
ｔは、時間（タイムスライス）である。
ｎは、畳み込みをおこなう窓の幅である。
【００８９】
図６の例では、点線が元の時系列を示し、実線が高周波を取り除いた変動である。
これを実際のテキスト解析のソフトウェアでおこなう場合、元の文書データに付随するタイム・スタンプよりも文書データを索引付する際に、粗い粒度のタイム・スタンプを割り当て、当該タイム・スタンプをファセットとみなすことにより、容易に実装可能である。
【００９０】
図５Ｂのステップ５２４では、平準化された時系列ｘ＾（ｔ）の振幅は、さらに下記式１７及び式１８に従い正規化されてもよい。当該式によって、高周波が取り除かれ、また時系列の振幅が正規化される。
【００９１】
【数１７】
2011141801.tif 000019
【００９２】
【数１８】
2011141801.tif 000020
【００９３】
＜ｘ＾２＞は、出現頻度の２乗平均である。
Ｔは、時系列の全体の間隔（時間）である。
ｘ−（ｔ）は、文書データの出現頻度の、平準化の後、正規化された時系列である。
ｘ＾（ｔ）は、文書データの出現頻度の、（正規化前の）平準化された時系列である。
【００９４】
このように正規化する理由は、出現頻度の多いキーワードからの寄与と出現頻度の少ないキーワードからの寄与を対等にするためである。
この上で、個別のキーワードに対する時系列ｘ（ｔ）の代わりにキーワード・クラスタｃ（ｔ）の時系列を考える。これは個別キーワードの数は一般に膨大となるため、計算時間のかかる時系列解析をランタイムに実行することが不可能である。そのため、キーワードがグループ化された少数のキーワード・クラスタに対する時系列解析を先に行うことにより、すべての個別クラスタに対して時系列解析を行うことなく、おおまかな傾向を把握することが可能になるからである。例えば、文書データの集合の規模にもよるが、当該集合に含まれるキーワードの数は数千万〜数億であり、その場合のキーワード・クラスタの数は、例えば数十〜数千の数で定義されうる。この場合に、図５Ｂのステップ５２４において、下記式１９が使用されうる。
【００９５】
【数１９】
2011141801.tif 000021
【００９６】
ｃ−（ｔ）は、時系列でのクラスタに属するすべてのキーワードについての和である。
Ｓｃ（ｘ）はキーワードｘのクラスタｃでの重みである。
ｘ−（ｔ）は、個別のキーワードを含む文書データの出現頻度の、平準化の後、正規化された時系列である。
【００９７】
このようにして、個別のキーワードの時系列の代わりに、クラスター（相関するキーワードが構成する概念）の時系列を求めることができる。先の正規化により、出現頻度が相対的に少ないキーワードでも、その変動が大きければクラスタの変動に大きく寄与する。
【００９８】
図７Ａは、時系列でのクラスタ別のキーワードの発生件数を示す。
当該発生件数（出現頻度）は、図５Ｂのステップ５２５において求められる。
クラスタ１、クラスタ２、クラスタ３において最も周波数が低いクラスタは、クラスタ３である。
【００９９】
図７Ｂは、図７Ａに示すクラスタ１〜３のうち、インデックス値の高いクラスタを選んだ結果を示す。
インデックス値の高いクラスタの選択は、図５Ｂに示す様にユーザ又はコンピュータによって行われる。クラスタ１〜３のインデックス値はそれぞれ、クラスタ１＝1.2、クラスタ２＝5.8、クラスタ３＝17.2である。よって、図７Ｂでは、インデックス値の高いクラスタ３がドリルダウンされたため、当該クラスタ３のみが示されている。
【０１００】
図８Ａは、本発明の実施態様に従う、文書データ処理部及び索引付部を備えているコンピュータのシステム図を示す。
本発明の実施態様に従うシステムは、索引作成のためのコンピュータ（８０１）（以下、「索引作成コンピュータ」ともいう）、索引作成コンピュータ（８０１）にネットワークを介して接続されている１又はそれ以上のサーバ（８０２ａ〜８０２ｎ）及び１つ又はそれ以上の検索サーバ（８０３）、並びに検索サーバにネットワークを介して接続されたユーザ端末（８０４）を備えている。
索引作成コンピュータ（８０１）は、クローラ（８０５）、文書データ処理部（８０６）、索引付部（８０７）、キャッシュ（８０８）、及びサムネール処理部（８０９）を備えている。
クローラ（８０５）は、各サーバ（８０２ａ〜８０２ｎ）から文書データ（８１０）、例えばＷｅｂページの収集処理を行う。クローラ（８０５）は、ロボット又はスパイダーとも呼ばれる。クローラ（８０５）は、収集した文書データ（８１０）を、例えば記憶装置（図示せず）に格納する。
クローラはまた、文書データ（８１０）をキャッシュ（８０８）に格納する。
文書データ処理部（８０６）は、解析処理部、クラスタリング部及び時系列解析部を含む。解析処理部は、自然言語解析を処理する。クラスタリング部は、文書データをクラスタリング又は分類する。時系列解析部は、各キーワードに対して、クラスタごとに当該キーワードを含む文書データの出現数の時系列解析をおこなう。
索引付部（８０７）は、検索キーワードから、文書データ（８１０）のテキスト索引、ファセット索引、サムネール索引を作成する。これらの各索引は、索引データベース（８３５）に格納される。それぞれの索引は検索ランタイム（８１１）によって利用される。テキスト索引とファセット索引とを区別しているのは実装上のデザインであり、同じであってもよい。検索ランタイムは、索引作成コンピュータ（８０１）上、又は他のサーバ上にあってもよい。検索ランタイム（８１１）が他のサーバ上にある場合、索引データベース（８３５）が他のサーバ上にコピーされる。或いは、索引作成コンピュータ（８０１）及び他のサーバが、索引データベース（８３５）に両方からアクセスできるように、ストレージ・エリア・ネットワーク（ＳＡＮ）の共有ディスク上に索引データベースを配置してもよい。
索引付部（８０７）はまた、クラスタデータベース（図８Ｂの８３３）、文書データ・スコア・データベース（図８Ｂの８３４）及び索引データベース（図８Ｂの８３５）に、クラスタ情報、文書データがクラスタ又はクラスに属するスコア又は確率（第１のベクトル）、及び索引データをそれぞれ格納する。
サムネール処理部（８０９）は、キャッシュに格納された文書データ（８１０）のメタデータに基づいて、当該文書データを画面にアイコンとして表示するためのサムネールを作成する。メタデータとは、例えば、文書の種類、内容を特定するためのデータである。  検索サーバ（８０３）は、ユーザ端末（８０４）からのクエリを受信して、文書データ（８１０）を検索し、その検索結果をユーザ端末（８０４）に送信する。
【０１０１】
図８Ｂは、本発明の実施態様に従う、検索部を備えている検索サーバのシステム図を示す。
検索サーバ（８０３）は、検索部（８２１）を含む。検索サーバ（８０３）はまた、検索サーバ（８０３）がユーザ端末を兼ね備えている場合には、検索結果表示部（８２３）を含む。検索サーバ（８０３）がユーザ端末（８０４）に検索結果を送信する場合には、検索サーバ（８０３）は検索結果送信部（８２２）を含む。検索部（８２１）は、クラスタデータベース（８３３）、文書データ・スコア・データベース（８３４）及び索引データベース（８３５）それぞれからのクラスタ情報、文書データのスコア及び索引データを利用して、文書データの検索を行う。
【０１０２】
図９は、本発明の実施態様における、図８のシステムが有するコンピュータ・ハードウェアのブロック図を示す。
コンピュータ（９０１）は、ＣＰＵ（９０２）とメイン・メモリ（９０３）とを含み、これらはバス（９０４）に接続されている。ＣＰＵ（９０２）は好ましくは、３２ビット又は６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＸｅｏｎ（商標）シリーズ、Ｃｏｒｅ（商標）シリーズ、Ａｔｏｍ（商標）シリーズ、Ｐｅｎｔｉｕｍ（商標）シリーズ、Ｃｅｌｅｒｏｎ（商標）シリーズ、ＡＭＤ社のＰｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（商標）シリーズ及びＳｅｍｐｒｏｎ（商標）などを使用することができる。バス（９０４）には、ディスプレイ・コントローラ（９０５）を介して、ＴＦＴモニタなどのディスプレイ（９０６）が接続されている。ディスプレイ（９０６）は、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータ・システムについての情報と、そのコンピュータ・システム上で動作中のソフトウェアについての情報を、適当なグラフィック・インタフェースで表示するために使用される。バス（９０４）にはまた、ＩＤＥ又はＳ−ＡＴＡコントローラ（９０７）を介して、ハードディスク又はシリコン・ディスク（９０８）と、ＣＤ−ＲＯＭ、ＤＶＤドライブ又はＢＤドライブ（９０９）が接続されている。
【０１０３】
ハードディスク（９０８）には、オペレーティング・システム、アプリケーション・プログラム及びデータが、メイン・メモリにロード可能に記憶されている。
【０１０４】
ＣＤ−ＲＯＭ、ＤＶＤ又はＢＤドライブ（９０９）は、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤからプログラムをハードディスクに追加導入するために使用される。バス（９０４）にはさらに、キーボード・マウスコントローラ（９１０）を介して、キーボード（９１１）及びマウス（９１２）が接続されている。
【０１０５】
通信インタフェース（９１４）は、例えばイーサネット（商標）・プロトコルに従う。通信インタフェース（９１４）は、通信コントローラ（９１３）を介してバス（９０４）に接続され、コンピュータ・システム及び通信回線（９１５）を物理的に接続する役割を担い、コンピュータ・システムのオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インターフェース層を提供する。なお、通信回線は、有線ＬＡＮ環境、或いは例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境であってもよい。
【０１０６】
図１０は、本発明の第２の実施態様に従って得られたクラスタの時系列を示す。
事故報告書の文書データ集合において、互いに関連するキーワード「ハンドル」、「ステアリング」、「曲がる」及び「避ける」のそれぞれを含む文書データが出現頻度を年度毎に集計した時系列と、これらを含むキーワード・クラスタにおける、それぞれのキーワードのスコアに応じて付けられて重みとを足し合わせることによって得られた、クラスタの時系列がグラフに示されている。当該グラフに示されるように、個々のキーワードの時系列に対して解析を行う代わりに、クラスタの時系列に対して解析をおこない、大まかな特徴を知ることができる。
【図１】
2011141801.tif 000030
【図２Ａ】
2011141801.tif 000031
【図２Ｂ】
2011141801.tif 000032
【図２Ｃ】
2011141801.tif 000033
【図２Ｄ】
2011141801.tif 000034
【図３Ａ】
2011141801.tif 000035
【図３Ｂ】
2011141801.tif 000036
【図３Ｃ】
2011141801.tif 000037
【図４Ａ】
2011141801.tif 000038
【図４Ｂ】
2011141801.tif 000039
【図５Ａ】
2011141801.tif 000040
【図５Ｂ】
2011141801.tif 000041
【図６】
2011141801.tif 000042
【図７Ａ】
2011141801.tif 000043
【図７Ｂ】
2011141801.tif 000044
【図８Ａ】
2011141801.tif 000045
【図８Ｂ】
2011141801.tif 000046
【図９】
2011141801.tif 000047
【図１０】
2011141801.tif 000048