説明

キーワードの時系列解析のための処理方法、並びにその処理システム及びコンピュータ・プログラム

【課題】キーワードの大局的なトレンドを効率良く発見する方法が求められている。
【解決手段】本発明は、キーワードの時系列解析のための処理方法を提供する。当該方法は、自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するステップであって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、上記クラスタリング又は分類するステップと、上記文書データをクラスタリング又は分類したクラスタ又はクラス内における個々のキーワードを含む文書データの出現頻度に対して、又は上記個々のキーワードをクラスタリング又は分類したクラスタ又はクラスを含む文書データの出現頻度に対して時系列解析を行うステップとを含む。時系列の解析によって上記文書データの出現頻度の変化を示す周波数分布が求められる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キーワードの時系列解析のための処理方法、並びにその処理システム及びコンピュータ・プログラムに関する。
【背景技術】
【0002】
コンピュータ・ネットワークの普及やコンピュータ・システムの高性能化によって、膨大な電子化文書データ(以下、「文書データ」ともいう)へのアクセスが容易となった。文書データの検索は、これら膨大な文書データ中から必要な文書データを見つけ出すことを可能にする。文書データの検索は、種々の対象について行われている。例えば、インターネット・ブラウザにおけるサーチエンジンの場合、インターネット上の文書データ(例えば、ウェブページ)が検索対象である。また、企業においては、イントラネット上の、企業活動の中で蓄積された文書データ(例えば、報告書、ウェブページ)が検索対象である。
【0003】
インターネット又はイントラネットのウェブ検索サービスの一つとして、特定の検索キーワードのトレンドをチェックできるサービスがある。検索キーワードのトレンドをチェックすることによって、検索の動向がわかる。トレンドのチェック・サービスでは、現在多く検索されている検索キーワードがランキングで表示される。また、当該サービスでは、検索結果をクリックすると、当該検索キーワードに関連したニュース、ブログ、ウェブ検索の結果、又は検索件数の増減の時間的な推移を示す詳細ページなどに飛ぶようになっている。
【0004】
検索キーワードのトレンドを発見する方法として、文書データをテキスト解析し、検索キーワードの出現頻度を時系列に表示し、変動幅が大きく変化する点を検出する方法がある。テキスト解析において、一般に、索引の作成に要する時間はかなり長くても許容される。例えば、索引の作成のために、1ヶ月をかける場合もある。一方、ウェブページの検索又はトレンドの解析実行時において、その応答はそれなりに速いことが要求される。例えば、インタラクティブな操作において、その応答は数秒以内であり、遅くとも数十秒以内であることが要求される。下記特許文献1は、情報の探索、マルチメディア・コンテンツの個人化、及びマルチメディア情報貯蔵庫紹介の用途において、マルチメディア文書を索引付けするためにモデル・ベクトルを用いることを記載する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2004/055639号
【発明の概要】
【発明が解決しようとする課題】
【0006】
変動幅が大きく変動する点を検出する上記トレンドの検出方法は、大局的なトレンドと局所的なトレンドとを発見することはできるが、大局的なトレンドを優先的に探すことには適していない。従って、検索キーワードの大局的なトレンドを優先的に発見する方法が求められている。
また、文書解析の固有の問題として、文書データ中のキーワードを含む数は膨大である。文書データの数が多ければ、時系列で解析すべき文書データ中のキーワードの数は数億から数十億にもなる。検索によって絞り込まれた文書集合ごとに、そこに含まれるキーワードの出現頻度の時系列を、その全てのキーワードに対しておこなうには多大な時間と計算資源を必要とするため、検索実行時に要求される応答時間内にそれを行うのは非常に困難となる。従って、検索キーワードの大局的なトレンドを効率的に発見する方法が求められている。
【課題を解決するための手段】
【0007】
本発明は、キーワードの時系列解析のための処理方法を提供する。当該処理方法は、コンピュータに下記ステップを実行させることを含む。当該方法は、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するステップであって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、上記クラスタリング又は分類するステップと、
上記文書データをクラスタリング又は分類したクラスタ又はクラス(以下、「文書クラスタ」ともいう)内における個々のキーワードを含む文書データの出現頻度に対して、又は上記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス(以下、「キーワード・クラスタ」ともいう)を含む文書データの出現頻度に対して時系列解析を行うステップであって、それによって上記文書データの出現頻度の変化を示す周波数分布が求められる、上記ステップと、
を実行させることを含む。
【0008】
本発明はまた、キーワードの時系列解析のための処理システムを提供する。当該処理システムは、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するクラスタリング部であって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、上記クラスタリング部と、
上記文書データをクラスタリング又は分類したクラスタ又はクラス(文書クラスタ)内における個々のキーワードを含む文書データの出現頻度に対して、又は上記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス(キーワード・クラスタ)を含む文書データの出現頻度に対して時系列解析を行う時系列解析部であって、それによって上記文書データの出現頻度の変化を示す周波数分布が求められる、上記時系列解析部と、
を含む。
【0009】
本発明はまた、コンピュータに、上記に記載の方法の各ステップを実行させるコンピュータ・プログラムを提供する。
【発明の効果】
【0010】
本発明の実施態様において、キーワードの代わりにクラスタの時系列を解析することによって、下記の効果を奏する。
(1)クラスタの数は、キーワードの数に比べて格段に少ない。従って、周波数解析のような計算量の多い解析が可能である。
(2)クラスタは、文書データをクラスタリング又は分類したもの(文書クラスタ)又は当該文書クラスタ内における個々のキーワードをクラスタリング又は分類したもの(キーワード・クラスタ)である。従って、当該クラスタは、意味のあるトレンドと関係する可能性が高い。
(3)上記クラスタ内の複数のキーワードは、共通の文書データ内に含まれる可能性が高い。すなわち、当該複数のキーワードは、互いに共起関係にある。従って、異なる変動パターンで互いの時系列の変化を相殺する可能性が低い。
【図面の簡単な説明】
【0011】
【図1】キーワードの発生件数のタイムラインにおける周期パターンとランダムパターンとを示す。
【図2A】文書データのクラスタリング又は分類を含む、索引データベースの作成のフローを示す。
【図2B】自然言語解析の概要のフローを示す。
【図2C】図2Aのステップ201〜203の内容を、文書データの具体例を用いて説明したものである。
【図2D】文書データの内部表現とクエリの内部表現との照合による検索の一例を示す。
【図3A】複数の文書データのクラスタリングの第1の態様の概念図を示す。
【図3B】複数の文書データのクラスタリングの第2の態様の概念図を示す。
【図3C】複数の文書データのクラスタリングの第3の態様の概念図を示す。
【図4A】本発明の第1の実施態様である、索引を作成するためのフローを示す。
【図4B】図4Aで作成された周波数分布を用いて、ランタイム処理をするフローを示す。
【図5A】本発明の第2の実施態様である、索引を作成するためのフローを示す。
【図5B】図5Aで作成された文書データ・スコアを用いて、ランタイム処理をするフローを示す。
【図6】時系列での文書データ中のキーワードの出現頻度数(元データ)をフィルター関数により処理した後のグラフを示す。
【図7A】時系列でのクラスタ別のキーワードの発生件数を示す。
【図7B】図7Aに示すクラスタ1〜3のうち、インデックス値の高いクラスタを選んだ結果を示す。
【図8A】本発明の実施態様に従う、文書データ処理部及び索引付部を備えているコンピュータのシステム図を示す。
【図8B】本発明の実施態様に従う、検索部を備えている検索サーバのシステム図を示す。
【図9】本発明の実施態様における、図8A及び図8Bの各システムが有するコンピュータ・ハードウェアのブロック図を示す。
【図10】本発明の実施態様に従う検索結果を示す。
【発明を実施するための形態】
【0012】
本発明の実施態様において、「文書データ」とは、自然言語による事象の記述である。言い換えれば、文書データは、現実の世界で生じた事象を文書で電子的に起こしたものである。事象は、イベントともいう。文書データは電子化されており、機械可読である。文書データは、テキストセグメントを有していてもよい。文書データはまた、件名をキーとして特定しうる1まとまりのデータであってもよい。文書データは、例えばインターネット上のWebページ、或いは企業の製品事故レポート、電話受付レポート、1件のニュース、技術文書などであるがこれらに限定されない。1つの文書データは物理的な1つのデータ・ファイルに対応しなくてもよい。すなわち、文書データは、物理的には1つのデータ・ファイルのうちの一部又は全部でありうる。物理的な1つのデータ・ファイルは、文書データの集合を含んでいてもよい。文書データは、例えば、サーバの記憶装置又はネットワークを介して接続されたネットワーク記憶装置、例えばストレージ・エリア・ネットワーク(SAN)内の文書データベース中にデータ・ファイルとして格納されうる。格納形式は、特に限定されないが、プレーンテキスト、HTML、又はXMLで記述されていてもよい。文書データは、例えば、様々なサーバからクローラ(図8Aの805)によって定期的に又は集中的に収集される。
【0013】
本発明の実施態様において、「文書データの集合」とは、1つ、又は2以上の文書データを含むデータ・セットをいう。文書データの集合は、物理的には1つ又は複数のデータ・ファイルのうちの一部又は全部でありうる。
【0014】
本発明の実施態様において、「キーワード」とは、文書データ検索のための少なくとも1以上の単語、少なくとも1以上のフレーズ、又はそれらの組み合わせである。単語は、言語音と意味と文法上の機能を持つ最小の言語単位であり、その品詞は特に問わない。フレーズは、一般的に、文法的に配置された2語以上の単語であり、文中で1単位として働くものである。特に英語において、フレーズは、2語以上の語の連続であり、定動詞とその主語を含まず、1つの品詞の働きをするものを含む。
【0015】
本発明の実施態様において、「クラスタリング」とは、文書データに含まれるキーワードの共起関係に基づく文書データ間の類似度又はキーワードを次元として構成された空間に文書データをマップした際の文書データ間の距離に基づき文書データをグループ分けすること、又は文書データにおけるキーワードの共起関係に基づくキーワード間の類似度又は文書データを次元として構成された空間にキーワードをマップした際のキーワード間の距離に基づきキーワードをグループ分けすることをいう。
文書データをクラスタリングすることによってできるグループ又は文書データの集合をクラスタリングするためのグループをクラスタとも呼ぶ。文書データはキーワードの集合であるため、文書データの集合をクラスタリングすることは、キーワードをクラスタリングすることでもある。当該クラスタは、文書データにおける共起関係において相関するキーワードを構成する概念でもある。
当該グループ分けされた文書データの集合を検索対象とすることによって、1つ1つの文書データを検索対象とするよりも、ユーザが必要とする文書データを効率的に抽出することが可能である。各クラスタは特定のキーワードだけでできるわけではなく、顕著なキーワードの集合でありうる。一般的には、各クラスタに、当該クラスタを特徴付ける単語又はフレーズのスコア付きの集合が定義される。
文書データ間の類似度とは、文書データが2つ与えられたときに当該2つに対して決まる実数である。この値が大きいほど2つの文書データは似ていると仮定される。文書データのクラスタリングでは、類似度は、例えば文書データ中の共通のキーワードに基づいて求められる。類似度の高い文書データをグループ化することによりクラスタが作成できる。
文書データ間の距離とは、ユークリッド空間における2つの文書データ間の距離をいい、2つの文書データ間の隔たりである。距離を定義するためには、まず空間を定義する必要がある。空間としては各単語を各次元とし、文書データを、当該文書データ内に出現する単語の数、又はtf・idf(term frequency - inverse document frequency)を座標とする点としてプロットする。そして、2つの文書データ間の距離を単純にユークリッド空間での2つの点の距離によって、その隔たりを計算する。距離の近い文書データをグループ化することによりクラスタが作成できる。上記tf・idfは、頻出単語からの寄与を下げるように、文書データ内での単語の出現数tfに単語を含む文書データの数の逆数又は対数の逆数をかけたものである。
【0016】
文書データ間の類似度の1つの定義が、距離の逆数である。類似度自体は大小関係さえ維持できればユークリッド空間の距離として定義する必要はなく、例えば球面上の2点の中心角としても定義できるので、類似度のバリエーションは色々と可能である。
【0017】
類似度又は距離による文書のクラスタリングは、大きく分けて下記の4つのステップからなる。
ステップ1 解析処理部(図8Aの806)は、文書データに対して、形態素解析を行い、各キーワードに分割する。形態素解析の方法として、規則による形態素解析と確率的言語モデルを用いる方法がある。確率的言語モデルによる形態素解析は、例えば隠れマルコフニコフモデルによる方法である。本発明の実施態様において、形態素解析エンジンは、市販で入手可能なものを用いてもよい。文書データのクラスタリングでは、文書データを表現するために文書を構成するキーワードの重みからなるベクトルを用いることが多い。当該ベクトルの表現のために、文書データにおいてキーワードを切り分けていく必要がある。当該切り分けのために、例えば日本語、中国語、韓国語の文書データの場合には、上記形態素解析が行われる。また、例えば英語の文書データの場合には、単語と単語との間に区切り(スペース)があるために文を形態素に区切るのは日本語と比べると比較的簡単ではあるが、形態素又は合成語の品詞を見分けることは必要である。
ステップ2 クラスタリング部(図8Aの806)は、文書データを上記各語の重みから構成されるベクトルとして表す。文書データDにおける文書ベクトルdの各属性値d(k=1,2,・・・・,n)は、下記式1に従い求められる。式1では、下記式2〜式3に示すDにおけるtf・idf値が用いられる。tf・idfでは、tf(単語の出現頻度)及びidf(逆出現頻度)の2つの指標に基づいて求められる。
【0018】
【数1】

【0019】
【数2】

【0020】
【数3】

【0021】
なお、各ベクトルは、dの長さが1となるように正規化される。
【0022】
当該ベクトルは、ベクトル空間モデル上で示される。ベクトル空間モデルは、当該ベクトルを使用して文書データを表現する検索モデルである。
【0023】
ステップ3 クラスタリング部は、文書データ間の類似度又は距離を定義する。文書データのクラスタリングのために、文書データ同士がどれくらい似ているかという指標として、類似度又は距離を定義する必要がある。当該定義のための方法は、クラスタリングの対象となる文書データによって異なる。類似度又は距離を求める方法として、(1)階層的クラスタリング、(2)非階層的クラスタリング(k−means)、(3)主成分分析などの次元縮約法、(4)確率モデルに基づく方法、及び(5)グラフ理論に基づく方法などがある。本発明の実施態様では、類似度又は距離を求める方法は、クラスタリング対象となる文書データによって適宜選択されうるが、上記(1)〜(5)の方法に限定されるものでない。
【0024】
文書データD及びDの文書ベクトルをそれぞれd及びdとする。それら文書データ間の類似度s(d,d)は、下記式4に示されるように下記dとdとがなす角度の余弦で示されうる。
【0025】
【数4】

【0026】
ステップ4 クラスタリング部は、上記類似度を用いて、クラスタリングを行う。
(1)上記階層的クラスタリングでは、例えば、上記式4で求められる類似度を用いて、以下のアルゴリズムによりクラスタを形成することが可能である。
ステップ1 クラスタリング部は、個々の文書データをそれぞれ1つのクラスタとする。
ステップ2 クラスタリング部は、クラスタの集合の中から、類似度が最大となるクラスタの組を求める。
ステップ3 クラスタリング部は、上記クラスタの組間の類似度が閾値以下であれば、クラスタリングを終了する。一方、クラスタリング部は、上記クラスタの組間の類似度が閾値以上であれば、当該組のクラスタを統合し、1つのクラスタとする。クラスタリング部は、ステップ2に戻り、ステップ2及びステップ3を繰り返す。
クラスタの組間の類似度は、例えば下記式5に示される最長距離法によって求められうる。最長距離法では、例えば、クラスタG及びG間の類似度には、Gに属する任意の文書データの文書ベクトルxとGに属する任意の文書データの文書ベクトルとの類似度のうち、最小の類似度を当該クラスタ間の類似度とする。
【0027】
【数5】

【0028】
(2)上記非階層的クラスタリングでは、例えば、k−means法を用いることが可能である。k−means法では、以下のアルゴリズムによりクラスタを形成することが可能である。
クラスタの分割数をkとし、文書データ数をm、クラスタWに含まれる文書データの数をN(W)とする。
ステップ1 クラスタリング部は、k個の初期クラスタを任意に決める。
ステップ2 クラスタリング部は、下記式6に従い得られる文書データDをクラスタWに移動した場合の誤差の増加量e(i,W)を計算し、その最小値を持つクラスタWに文書データDを移す。
【0029】
【数6】

【0030】
但し、D(i,W)は、文書データDとクラスタWとの距離であり、下記式7〜8により定義される。
【0031】
【数7】

【0032】
【数8】

【0033】
ステップ3 クラスタリング部は、あるクラスタから他のクラスタへの文書データの移動がなければ終了する。一方、クラスタリング部は、文書データの移動があれば、ステップ2に戻る。
【0034】
(3)上記次元縮約法として、例えば、潜在意味解析(Latent Semantic Analytics;LSA)がある。LSAは、潜在的意味索引又は潜在意味インデックス(Latent Semantic indexing;LSI)とも呼ばれる。LSAでは、各文書データにおけるキーワードの出現頻度を表した文書−単語マトリクスを用いる。文書−単語マトリクスでは疎行列を使用し、列が単語又はフレーズに対応し、行が文書データに対応する。当該行列の各成分の重み付けとして、例えば上記tf・idfが用いられる。LSAは、この疎行列を単語又はフレーズと何らかの概念の関係及び文書データ間の関係に変換する。これによって、キーワードは、文書データと概念を介して間接的に関連付けられる。
【0035】
また、文書データをベクトルとして表現しないでクラスタリングすることも可能である。例えば、共引用数又は書誌結合などを測定することによって、文書データ間の類似度を求めることができる。類似度が定義できれば、適切なクラスタリング方法でクラスタリングをすることが可能である。
【0036】
本発明の実施態様において、「分類」(classification)とは、コンピュータによって自動的に又は人手によって主導的に、文書データをグループ分けすることをいう。文書データの集合を分類することによってできる又は文書データの集合を分類するためのグループをクラスとも呼ぶ。
分類は、例えば、方程式で表現されたモデル、ルールで表現されたモデル、確率で表現されたモデル及びマッチングを行うモデルに従い行われる。方程式で表現されたモデルは、例えば判別分析である。ルールで表現されたモデルは、例えばルールベース又は決定木である。確率で表現されたモデルは、例えばベイジアンネットワークである。マッチングを行うモデルは、例えば自己組織化マップである。
【0037】
なお、文書データのクラスタリングでは、対象となる各文書データにクラス(ラベルともいう)が与えられずに、用意された文書データのキーワードからクラスを定義する教師無し学習に属する。すなわち、当該クラスタリングでは、事前にクラスを定義するのではなく、データ空間の定義を行い存在している文書データ間の類似度又は距離によってグループ化することによって行われる。一方、文書データの「分類」では、対象となる各文書データにクラスが与えられている教師有り学習に属する。分類では、文書データ中の1つのキーワード(目的変数であり、教師信号である)に着目したものである。
【0038】
本発明の実施態様において、上記文書データそれぞれがクラスタ又はクラスに属するスコア又は確率とは、当該クラスタ又はクラスに当該文書データそれぞれが属するスコア又は確率をいう。確率は0〜100%で示される。スコアは例えば点数で表される。
【0039】
本発明の実施態様において、「文書クラスタ」とは、文書データをクラスタリング又は分類したクラスタをいう。文書クラスタ内における個々のキーワードを含む文書データの出現頻度とは、文書データより抽出された個々のキーワードを含む文書クラスタ内の文書データの数である。
【0040】
本発明の実施態様において、「キーワード・クラスタ」とは、個々のキーワードをクラスタリング又は分類したクラスタをいう。キーワード・クラスタを含む文書データの出現頻度とは、クラスタリング又は分類されたキーワード・クラスタに属するキーワードを含む文書データの数である。
【0041】
本発明の実施態様において、「時系列」とは、観測値が時間の経過とともに次々に得られる場合において、これらの観測値を時間の順序に従って並べた系列である。本発明の実施態様において、観測値は、所定のサンプリング時間間隔における、例えば文書クラスタ内における個々のキーワードを含む文書データの出現頻度、又は、キーワード・クラスタを含む文書データの出現頻度である。サンプリング時間間隔は、うる。サンプリング時間間隔は、元データの性質により適切に設定される。サンプリング間隔は、例えば観測値を得るための時間間隔で集計され、例えば1年、1ヶ月、1週間、1日、4時間、5分間である。
【0042】
本発明の実施態様において、「時系列解析」は、周波数領域における解析を含む。時系列解析は、スペクトル分解ともいう。周波数領域における時系列解析は、スペクトル解析としても知られている。周波数領域における時系列解析の方法は、例えばフーリエ変換(FFT)及びウェーブレット変換である。
【0043】
本発明の実施態様において、「フーリエ変換」とは、時系列信号をフーリエ級数に展開して、どの周波数成分がどの程度寄与しているかをスペクトルとして表現する方法である。離散的な時系列に対するフーリエ変換(離散フーリエ変換)のアルゴリズムとしては、例えば高速フーリエ変換がある。本発明の実施態様では、任意のフーリエ変換アルゴリズムを使用してよい。
【0044】
本発明の実施態様において、「ウェーブレット変換」とは、基本的には、小さい波(ウェーブレット)をスケール(伸縮)及びトランスレート(平行移動)して足しあわせることによって、与えられた入力の波形を表現する周波数解析の手法である。マザーウェーブレット変換では、基底関数としてウェーブレット係数を用いる。基底関数は、例えばモルレー関数、ガボール関数及びメキシカンハット関数であるが、これらに限定されない。スケールは、マザーウェーブレットを伸縮することであり、それによって周期(周波数)を変化させることができる。トランスレートは、マザーウェーブレットの中心位置を時間軸上の左右に動かすことであり、それによって任意の時間の相似な波形を取り出すことができる。ウェーブレット変換では、このスケールとトランスレートの操作を組み合わせて使用し、それによって任意の時間のマザーウェーブレットと相似な波形を見つけることができる。
ウェーブレット変換では、フーリエ変換と異なり、周波数特性を求める際に失われる時間領域の情報を残すことが可能である。ウェーブレット変換では、基底関数のスケールを行うので、広い周波数領域の解析が可能である。
ウェーブレット変換は、例えば下記式9で表される。
【0045】
【数9】

【0046】
x(t)は時系列関数である。
mは、波長である。
nは、ウェーブレットの中心の座標である。
m,nは、各ウェーブレット成分の実係数である。
φm,nは、ウェーブレット関数である。
tは、時間である。
【0047】
本発明の実施態様において、「周波数分布」とは、上記時系列解析によって得られる周波数ごとの係数am,nの分布グラフである。周波数分布をスペクトル分解ともいう。
【0048】
以下、図面に従って、本発明の実施態様を説明する。本実施態様は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図面を通して、特に断らない限り、同一の符号は、同一の対象を指す。
【0049】
図1は、キーワードの発生件数のタイムラインにおける周期パターンとランダムパターンとを示す。
文書データ解析の代表的な手法は、キーワードの出現頻度を時系列で解析し、背後で起こっている事象を探し当てるというシナリオである。
上段のグラフ(101)は、周期パターンを示す。周期パターンは、大局的なトレンドの例である。
下段のグラフ(102)は、ランダムパターンを示す。ランダムパターンでは大局的な周期パターンは認められず、トレンドは局所的なものとなる。
上記グラフ(101、102)の縦軸は発生件数であり、発生件数は出現頻度と同じである。同グラフ(101、102)の横軸は時間軸であり、発生件数の時系列を示す。
キーワードの出現頻度を時系列で解析すると、図1に示すように、大局的なトレンド(101)と局所的なトレンド(102)とに大きく分けられる。トレンドは変動ともいう。大局的なトレンドでは、トレンドが集まって一定のタイムラインにおいて山のようになる。これらのトレンドを求めるために、例えば、時系列に沿って変動幅を測定し、大きく変動する点を検出する手法がある。しかし、当該方法では、大局的なトレンドを局所的なトレンドよりも優先して探すという解析ができない。このような問題を解決する手法として、出現頻度の時系列を時系列解析(例えば、フーリエ変換又はウェーブレット変換)を使用して周波数成分へ分解する手法がある。上記大きなトレンドを優先的に発見するために、上記時系列解析を、キーワードを含んだ文書の出現頻度のカウント(ファセットカウントともいう)に適用し、下記式10のようなインデックスを定義する。
【0050】
【数10】

【0051】
s(x)−1は、文書の出現頻度の時系列x(t)に対するインデックスの逆数である。
mは、波長である。
nは、ウェーブレットの中心の座標である。
m,nは、各ウェーブレット成分の実係数であり、周波数解析の結果を示す。
1、2、3、・・、は各周波数成分からの寄与を重み付けするための定数である。
【0052】
上記インデックスの定義によれば、当該インデックスは、波長が長く、大きな変動であり且つ周波数成分が少ない場合には大きな値をとる。一方、このインデクスは、短い周波数又は多重周波数の場合には小さな値をとる。
【0053】
しかしながら、実際問題として、全てのキーワードについて、上記インデックスの定義に従ってインデックスを計算することは非常に多くの時間を要する。
【0054】
図2Aは、文書データのクラスタリング又は分類を含む、索引データベースの作成のフローを示す。
索引データベース(214)の作成では、文書データ(211)から単語及びフレーズを抽出し(201)、文書データをクラスタリング又は分類し(202)、そして検索キーワードから当該検索キーワードを含む文書データを特定するための索引の作成を行う(203)。索引として、単語又はフレーズが文書データに索引付けられる。なお、文書データがクラスタ又はクラスに属するスコア又は確率は、文書データにメタデータとして付与されるものである。以下、索引データベースの作成を図2Aのステップ201〜203に従い説明する。
ステップ201では、コンピュータ内の自然言語解析を処理する解析処理部(図8Aの806)は、用意された文書データ(211)の自然言語解析を行う。文書データ(211)は、例えば文書データベースを格納する記憶装置又はその他の記録媒体に格納されている。自然言語解析は、例えば、図2Bに示すように下記4つのステップから構成される:形態素解析(221)、構文解析(222)、意味解析(223)及び文脈解析(224)。自然言語解析は、例えば、市販の自然言語解析アプリケーション・ソフトウェアを使用して行ってもよい。例えば、自然言語解析エンジンは、IBM(IBM社の登録商標)OmniFind(IBM社の登録商標) Enterprise Editionの一部の機能として実装されている。当該解析処理部は、文書データが入力されると又は文書データを取得すると、当該文書データ(211)から単語を抽出する。当該抽出には、単語辞書(212)及び単語の抽出ルール(213)が使用される。単語辞書(212)は、自然言語解析によって文書データから単語を抽出するために使用される辞書である。単語辞書は、例えば、文書データの内容の分野又は当該内容に類似の分野の辞書を使用しうる。抽出ルール(213)は、自然言語解析によって文書データから単語を抽出するために使用される規則又は決まりである。自然言語解析では、単語辞書(212)を使用して、上記抽出された単語に品詞情報をさらに付加する。そして、解析処理部は、品詞情報が付加された単語及び抽出ルール(213)に基づいてフレーズをさらに抽出してもよい。
ステップ202では、上記コンピュータ内のクラスタリング部は、文書データベースに格納されている文書データ(211)をクラスタリング又は分類する。文書データのクラスタリングでは、文書データ間の類似度又は距離に基づき、文書データをグループ分けする。文書データの分類では、コンピュータによって自動的に又は人手によって主導的に、文書データをグループ分けする。クラスタリング又は分類において、文書データ毎に、各クラスタのスコアが求められる。当該スコアを求める方法は、クラスタリング又は分類のアルゴリズムにより異なる。言い換えれば、スコアを定義するのが上記アルゴリズムである。例えば単語空間にマップする方法では、単語空間において、各クラスタそれぞれがクラスタを代表する点として定義され、且つ各文書データも点として定義される。当該マップする方法の場合、点間の距離の逆数をスコアとすることができる。別の方法として、点をベクトルと考え、内積で定義する方法がある。さらに別の方法として、単語の出現頻度を統計的な確率とみなし、ベイズ・ルールで確率を求めて、スコアとする方法がある。クラスタリングの具体例を、図3A〜図3Cを用いて別途説明する。
ステップ203では、上記コンピュータ内の索引付部(図8Aの807)は、検索対象である文書データを内部で処理できる形式(内部表現)に置き換える。この内部表現を索引ともいう。索引付部は、文書データ(211)から抽出されたキーワードを索引として、索引データベース(214)に保存する。また、索引付部は、文書データ毎に、各クラスタのスコアを有する文書リストを作成する。当該部文書リストは、索引データベース(214)に保存されてもよいし、他のデータベースとして記録媒体内に保存されてもよい。文書リストにおいて、各文書データにおける各クラスタのスコアを全て保存すると冗長であり、データ量が多くなる。よって、スコアが所定の閾値よりも大きいスコア又は所定の割合を有するクラスタのスコアが文書リスト中に保存され、その他のクラスタのスコアはゼロとみなされるようにしてもよい。
ステップ201〜203を繰り返すことによって、索引データベース(214)が作成される。索引データベース(214)が作成されることによって、ユーザから入力された又はコンピュータによって作成された検索キーワードに基づいて、索引データベース(214)を用いた文書データの検索が可能になる。
【0055】
索引の作成は、検索の効率化又は目的に応じて、上記ステップ203において説明したようにコンピュータによって自動的に索引を作成することができるが、検索の効率化又は目的に応じて人手によって索引を作成してもよい。索引は、ユーザから入力された又はコンピュータによって作成されたクエリとの照合に用いるために、文書データの内容を上手く表したものであることが重要である。
【0056】
コンピュータによる自動的な索引の作成は、検索対象である文書データから自動的に語を切り出して、例えば当該語の品詞又は統計的な情報に基づいて自動的に索引を当該文書データに関連付け、当該検索キーワードを索引データベースに登録する方法である。日本語では、英語のように分かち書きされていないために、文書データ中の語を自動的に分割する必要がある。当該分割のために、上記形態素解析が使用されうる。分割によって、複合語である場合、助詞及び助動詞のような機能語が索引から削除されて、自立語のように意味を持つ内容語のみを索引として索引データベース(214)に登録してもよい。
また、自動的な索引の作成のためにnグラム索引を使用しうる。nグラム索引では、分割された語でなく、文の先頭から1文字ずつずらしながら連続するn文字を索引とするnグラム索引が使用されうる。しかし、nグラム索引では、意味のない索引も作成されてしまう。
また、自動的な索引の作成のために、重要度を使用しうる。重要度は、上記文書データから抽出された索引が、当該索引が含まれている文書データの内容とどれだけ密接に関連しているからを表す。当該重要度が検索キーワードに付与されることによって、より適切な文書データの検索が可能である。文書データの重要度は、通常、当該検索キーワードが含まれる文書データによって異なりうる。
重要度の計算方法は、例えばtf・idfが用いられる。tfとは、索引の文書データ内の出現頻度であり、あるキーワードが文書データ中で多く存在するほど重要であると判断される。すなわち、出現頻度の値が大きい索引ほど文書データ内で重要であることを表している。dfとは、文書データの集合中で索引が出現する文書データ数であり、idfはその逆数である。tf・idfでは、文書データの集合において、特定のキーワードがある特定の文書データに多く出現する場合には当該キーワードは重要であるが、一方当該特定のキーワードが文書データの集合中にどの文書データにも現れる場合には重要度が下がる、という性質を表す。この性質を用いて、索引に重み付けを行うことができる。
tf・idfによる当該重み付けを使用して、与えられた検索キーワードの重要度が高い文書データが優先的に検索結果として抽出されうる。
【0057】
人手による索引の作成とは、例えばデータベース管理者が文書データの内容を見て、検索のために重要であると考えるキーワードを文書から抜き出し、当該キーワードを索引とする方法である。
【0058】
図2Bは、自然言語解析の概要のフローを示す。
自然言語解析は、解析処理部によって行われる。解析処理部は、形態素解析処理部、構文解析処理部、意味解析処理部、及び文脈解析処理部を備えている。
ステップ221では、形態素解析処理部が、文書データ(211)の文節を形態素解析する。形態素解析では、活用法が利用情報として使用される。形態素解析では、用語などの活用している語は原形に戻され、文書データから抽出された全ての語に品詞が割り当てられる。形態素解析では、例えば、当該文節内の単語の並び方が形態論的に正しい結果だけを用いることができる。
ステップ222では、構文解析処理部が、上記形態素解析された結果を用いて、構文解析する。構文解析では、例えば、文書データに従う各言語の文法が利用情報として使用され、統語構造が抽出される。統語構造とは、文の持つ規則的配列構造である。構文解析では、例えば、文法を用いて、キーワード間の修飾関係が解析されて、文の統語構造が得られる。
ステップ223では、意味解析処理部が、キーワードが持つ意味情報を持つ辞書を用いて、キーワード又は文の意味を抽出する。意味解析では、形態素解析及び構文解析で生じた曖昧性が解消される。
ステップ224では、文脈解析処理部が、意味解析の結果を用いて、文脈解析を行う。文脈解析では、例えば名詞句の解析、動詞句の解析が行われる。名詞句の解析では、中心となる名詞を概念化し、当該名詞を修飾している情報を統合する。動詞句の解析では、動詞を概念化し、そして副詞などの修飾語を統合した後に、名詞句の深層格とともに動詞句に統合していく(スロットフィリング)。
以上のステップ221〜ステップ224によって、自然言語解析による理解結果(215)が得られる。
【0059】
図2Cは、図2Aのステップ201〜203の内容を、文書データの具体例を用いて説明したものである。
文書データ(211)の具体例では、オリジナル文書データ1(231)を用いて説明する。オリジナル文書データ1(231)の内容は、次の通りである:「対向車を避けようと、ハンドルを強くきった。日時 2007/07/07 7:00AM」。
ステップ201では、解析処理部は、オリジナル文書データ1(231)の自然言語解析をする。その結果は次の通りである:「対向車(名詞) 避ける(動詞) ハンドル(名詞) 強く(形容詞) きる(動詞)」(232)。自然言語解析によって、用語などの活用している語は原形に戻されている。また、自然言語解析によって、各語に品詞が割り当てられている。
ステップ202では、クラスタリング部は、文書データ(211)をクラスタリング又は分類する。
図2Cに示したクラスタ1〜3それぞれは、文書データに含まれる語全てを参照して、共通語の多いもの同士をクラスタリングしたものである。図2Cでは、クラスタ1〜3の各スコアが示されている(233)。クラスタ1〜3の各スコア(233)は、オリジナル文書データ1が各クラスタに属するスコアを示している。例えば、文書データの集合が交通事故報告に関するものである場合、クラスタ1は「運転ミスによる事故」、クラスタ2は「エンジンの故障による事故」、及びクラスタ3は「雨などによる事故」である。しかし、クラスタには、例えば必ずしも人間が見て意味がないクラスタも存在する。なお、クラスタは、一般的に、例えばtf・idfを用いて、どの文書データにも出現する頻出単語からの寄与は小さくなるようにしてある。また、各クラスタは特定の単語又はフレーズだけでできているわけでない。例えば、文書データの集合が上記交通事故報告に関するものである場合、「運転ミスによる事故」のクラスタ1では例えば「ハンドル」及び「ブレーキ」が顕著な単語として表れ、及び「エンジンの故障による事故」のクラスタ2では例えば「オイル」及び「ガスケット」が顕著な単語として表れる。
tfとは、キーワードの文書データ内の出現頻度であり、あるキーワードが文書データ中で多く存在するほど重要であると判断される。すなわち、出現頻度の値が大きいキーワードほど文書データ内で重要であることを表している。dfとは、文書データの集合中でキーワードが出現する文書データ数であり、idfはその逆数である。tf・idfでは、文書データの集合において、特定のキーワードがある特定の文書データに多く出現する場合には当該キーワードは重要であるが、一方当該特定のキーワードが文書データの集合中にどの文書データにも現れる場合には重要度が下がる、という性質を表す。この性質を用いて、キーワードに重み付けを行うことができる。
ステップ203では、索引付部は、文書データ(211)の索引であるキーワード(234)を索引データベース(214)内に保存する。索引データベース(214)はまた、文書リスト(235)を格納してもよい。単語・フレーズ索引(234)は、文書データ(211)から抽出されたキーワードを索引として有している。索引の作成については後述する。また、単語・フレーズ索引(234)はまた、文書データの作成日である日付を索引として有していてもよい。日付は文書データの索引として必須ではないが、キーワード以外に、文書データの作成日などの文書データのメタデータとして利用可能なものは索引化されうる。文書データの作成日は、例えば、特定の期間内に作成された文書データに検索対象を絞って解析したい場合に有用である。文書リスト(235)は、文書データ毎に、各クラスタにおけるスコアを記録する。文書リスト(235)では、オリジナル文書データ1についてのクラスタ1〜3のスコアの大きいもののみを保存し、他のクラスタのスコアをゼロとみなして保存しなくてもよい。なぜならば、実際には、文書リスト(235)内に全クラスタのスコアを保存すると冗長であり、文書リストのファイルサイズが大きくなるだけであるからである。よって、文書リスト(235)内に大きなスコアを持つクラスタのスコアのみを保存し、他のクラスタのスコアをゼロとみなす。文書リスト(235)内には、オリジナル文書データ1〜nそれぞれについての各クラスタのスコアが保存されている。
【0060】
図2Dは、文書データの内部表現とクエリの内部表現との照合による検索の一例を示す。
【0061】
ステップ204では、検索部は、クエリ(215)から作成されたクエリの内部表現(241)と、文書データそれぞれの内部表現(242)を照合し、当該クエリに合致する文書データの検索を行う。
ステップ205では、検索部は、合致した文書データの検索結果を、例えばリスト形式で表示装置上に表示する。
【0062】
図3Aは、複数の文書データのクラスタリングの第1の態様の概念図を示す。
第1の態様は、各単語の出現頻度を独立した次元とみなし、ベクトル空間モデルに文書データをプロットしてクラスタリングする方法である。ベクトル空間モデルを単語空間とも呼ぶ。
本ベクトル空間モデルでは、キーワード1の出現頻度がX軸、キーワード2の出現頻度がY軸、及びキーワード3の出現頻度が矢印で示す軸に示されている。よって、図3Aに示したベクトル空間モデルは3次元である。なお、キーワードがN個(Nは整数)ある場合には、N次元となる。キーワードが1億個ある場合にはNが1億であることから、そのベクトル空間モデルは1億次元である。
本第1の態様では、例えば以下のステップに従いクラスタリングを行う。
ステップ1 文書データが与えられると、文書データで指定されている属性又は文書データで用いられている文字コードから、文書データの言語が何であるか(例えば、日本語、英語又は中国語)を特定する。
ステップ2 特定された言語用の辞書を用いて、形態素解析を行い、文書データ中の全てのキーワードを切り出す。また、辞書にない語を未知のキーワードとして、取り出す。これによって、1つの文書データに対して、当該文書データに含まれるキーワードの一覧とそれぞれのキーワードの出現頻度との一覧表が作られる。
ステップ3 上記一覧表を用いて、文書データ毎のキーワード一覧の和集合を求める。この一覧のキーワードそれぞれが、図3Aに示すベクトル空間モデルの次元となる。例えば、全部で1億個のキーワードが切り出せたとすると、ベクトル空間モデルは1億次元である。このベクトル空間モデルの点として、各文書データが当該モデル内にそれぞれプロットされる。
ステップ4 上記プロットされた点間の距離に基づいて、それぞれの文書データがクラスタリングされる。それによって、ある範囲内にある文書データのグループがクラスタリングされる。
当該クラスタリングのアルゴリズムとして、例えば、LSI/LSA、LDA(Latent Dirichlet Allocation)又はk−meansが使用されうる。
図3Aにおいて、クラスタリングによって、文書データはグループ1〜4(301〜304)にグループ分けされている。
【0063】
図3Bは、複数の文書データのクラスタリングの第2の態様の概念図を示す。
第2の態様は、共通するキーワードの出現頻度により文書データをクラスタリングする方法である。
図3Bにおいて、上記第1の態様と同様に、キーワード1の出現頻度がX軸、キーワード2の出現頻度がY軸、キーワード3の出現頻度が矢印で示す軸、・・・、及びキーワードNの出現頻度がN軸(図示せず)に示されている。
例えば、キーワードとして、「細胞」、「DNA」及び「酸」が切り出された場合、「細胞」、「DNA」及び「酸」はそれぞれ、キーワードI、J及びKである(0≦I,J,K≦N)。
第2の態様においても、上記第1の態様と同様に、各文書データがベクトル空間モデル内にそれぞれプロットされる。第2の態様では、文書データが必ずしも分野別に分かれるわけではない。第2の態様を用いて、クラスタリングが可能である理由は次の通りである。上記に述べたように、例えば全部で1億個のキーワードが切り出せたとすると、ベクトル空間モデルは1億次元である。しかし、1億次元のベクトル空間に文書データを点としてプロットするとかなり疎な状態になる。同じトピックを扱う文書データ同士は共通の語を含む可能性が高いために、同じトピックを扱う各文書データはある空間に偏在する可能性が高い。例えば、バイオ関係の文書データでは、動画技術関係で言及されるキーワードが少ない。よって、バイオ関係の文書データの集合と動画技術の文書データの集合とがベクトル空間モデル内で分離されることが期待される。
図3Bにおいて、クラスタリングによって、文書データは、グループ1(細胞,DNA,酸、・・・)というバイオ関係の文書データの集合(311)、グループ2(動画,録画,MPEG、・・・)という動画技術関係の文書データの集合(312)、グループ3(電子,トランジスタ,電荷、・・・)という電子関係の文書データの集合(313)及びグループ4(液体,流体,バルブ、・・・)制御技術関係の文書データの集合(314)にグループ分けされている。
【0064】
図3Cは、複数の文書データのクラスタリングの第3の態様の概念図を示す。
第3の態様は、各クラスタの重心の各キーワードの出現頻度により文書データをクラスタリングする方法である。
図3Cにおいて、上記第1の態様と同様に、キーワード1の出現頻度がX軸、キーワード2の出現頻度がY軸、キーワード3の出現頻度が矢印の方向、・・・、及びキーワードNの出現頻度がN軸(図示せず)に示されている。
ベクトル空間モデル内の点の群れ(クラスタ)を、重さを持った質点の集合とみなすと、その重心が存在することになる。この重心がクラスタの重心である。当該重さについて、各点が均一な重さを持つとしてもよいし、又は点毎にtf・idfを用いて重みを付けてもよい。重さが均一な場合、重心の定義はそれぞれの質点の座標の平均である。
第3の態様においても、上記第1の態様と同様に、文書データがベクトル空間モデル内にそれぞれプロットされる。その先については、どのようなアルゴリズムを用いるかによってどのようにクラスタリングするかは異なる。アルゴリズムとして、当業者に知られている慣用の方法が使用されうる。
図3Cにおいて、クラスタリングによって、文書データは、グループ1(細胞,DNA,酸、・・・)(321)、グループ2(動画,録画,MPEG、・・・)(322)、グループ3(電子,トランジスタ,電荷、・・・)(323)及びグループ4(液体,流体,バルブ、・・・)(324)にグループ分けされている。
【0065】
図4Aは、本発明の第1の実施態様である、索引を作成するためのフローを示す。
索引作成にかける時間は長くても許容される。一方、検索又は解析実行時のレスポンスタイムは、それなりに速いことが要求される。そこで、索引の作成時に、時系列解析によるベース処理を行う。
検索又はトレンドの解析実行のための索引は、検索又は解析の実行に先立って下記ステップ401〜408に従い作成される。索引の作成のために、ハードウェアとして、解析処理部(図8Aの806)、クラスタリング部(図8Aの806)、時系列解析部(図8Aの806)又は索引付部(図8Aの807)が使用されるがこれらに限定されるものでない。
ステップ401では、索引の作成を開始する。
ステップ402では、解析処理部は、文書データ(411)を記憶装置からメモリ内に読み込む。
ステップ403では、解析処理部は、文書データで指定されている属性又は文書データで用いられている文字コードから、辞書又はファセット定義を含む辞書(412)を使用して文書データの言語を検知する。辞書には、単語又はファセット定義が登録されているが、言語の検知にはファセット定義は関係ないため、言語の検知のためにファセット定義を含まない辞書を用いてもよい。
ステップ404では、解析処理部は、特定された言語用の辞書(412)を用いて形態素解析を行い、文書データ中の全てのキーワードを検出する。例えば「日本国特許庁」という語がある場合に、辞書(412)を使用して「日本国」、「特許庁」に分解する。しかし、辞書がないと、「日本国」で区切るのか、「日本国特」で区切るのかが不明となる。ファセット定義は、このうちの特に指定した興味のある単語だけをファセット・キーワードとして定義したものであり、それ以外の単語を無視するためにある。
ステップ405では、クラスタリング部は、検出されたキーワードの出現頻度に基づいて、対象となる文書データ(411)をクラスタリング又は分類する。当該クラスタリング又は分類によって、クラスタ又はクラス(文書クラスタともいう)が形成される。当該クラスタリング又は分類によって、個々の文書データがクラスタ又はクラスに属する確率がスコアで評価される。スコアは、例えば0〜1の実数として示される。そして、例えば、キーワード(縦軸)×クラスタ(横軸)の文書データ・スコア表ができる。当該文書データ・スコアは、文書データ・スコア・データベース(413)内に格納される。なお、文書データのクラスタリング又は分類をすることは、キーワードのクラスタリング又は分類を行うことでもある。
【0066】
ステップ406では、クラスタリング部は、各キーワードkに対して、各クラスタc内で当該キーワードを含む文書データの出現数(xc,k(t))をタイムスライスt毎に求める。当該文書データの出現数は、下記式11に従い、全ての文書データのスコアの合計として求められる。
【0067】
【数11】

【0068】
c,k(t)は、各クラスタc内でキーワードkを含む文書データdの出現数である。
(d)は、文書データdがクラスタcに属するスコアである。
Σは、キーワードkを含む全ての文書データdのスコアの和である。
【0069】
下記ステップ421〜426で示されるランタイム時の検索では、キーワードを含む文書データの出現数の代わりに、上記式11に示されるように、各々のクラスタごとに、キーワードを含む全ての文書データのスコアの合計値を計算して用いる。それによって、クラスタに属する確率が低い、すなわち関連するキーワードの数が比較的少ない文書データの寄与を抑えることができる点で都合がよい。
【0070】
当該文書データの出現数は、文書データ・スコア・データベース(413)内に格納されうる。タイムスライスは、例えば1年、1ヶ月、1週間、1日、4時間、5分間などの任意の時間単位でありうる。
ステップ407では、時系列解析部は、各キーワードkに対して、クラスタcごとに当該キーワードを含む文書データの出現数xc,k(t)の時系列解析(スペクトル分解)をおこなう。時系列解析は、例えばフーリエ変換又はウェーブレット変換により行われる。当該スペクトル分解の結果として、各キーワードに対して、クラスタの数の分だけの周波数分布(スペクトル分解)f(ω)c,kが求められる。スペクトル分解f(ω)c,kは、クラスタcにキーワードkを含む文書データの出現頻度の時系列の周波数分布である。f(ω)c,kは、スペクトル分解がフーリエ変換の場合フーリエ係数であり、スペクトル分解がウェーブレット変換の場合ウェーブレット係数である。求められたスペクトル分解f(ω)c,kは、周波数分布データベース(414)に格納される。
当該スペクトル分析は、ランタイムで行われうる。しかしながら、一般にキーワードの数は膨大であることから、ランタイムでそれらキーワードの全てについてスペクトル分解を行うのは一般的に困難である。そこで、本発明の実施態様では、キーワードではなく、各クラスタについてスペクトル分解を行う。
ステップ408では、全てのクラスタに対し、すべてのキーワードについて、上記ステップ406〜ステップ407を繰り返し、索引の作成を終了する。
【0071】
図4Bは、図4Aで作成された周波数分布を用いて、ランタイム処理をするフローを示す。
ランタイム時の処理は、ステップ421〜426に従い行われる。
ステップ421では、検索部は、ランタイム時の処理を開始する。
ステップ422では、検索部は、ユーザから入力された又はコンピュータによって作成された検索クエリqを受信し、メモリ又は記憶装置に格納する。検索クエリqは、検索キーワードを含む。検索部は、検索クエリqを受信することに応じて、検索クエリq中のキーワードに関連付けられた関連キーワードを抽出してもよい。
ステップ423では、検索部は、文書データ・スコア・データベース(413)に格納された文書データ・スコアを使用して、検索クエリq中のキーワードによる文書データd(411)の集合の絞り込みをランタイムに行う。文書データの集合の絞り込みによって、解析すべき時系列がダイナミックに作られる。
ステップ424では、検索部は、ステップ423において絞り込まれた文書データdの集合をクラスタの線形和で近似する。すなわち、各キーワードにより絞り込まれた文書データの集合内でのスペクトル分解は、各クラスタからの寄与で近似される。例えば、クラスタリングがLSA又はLSIによって行われた場合、各クラスタは互いに直交ベクトルとして定義される。従って、下記式12のように、次元集約で落とされた次元分の誤差の範囲で近似が可能になる。
【0072】
【数12】

【0073】
f(ω)q,kは、検索クエリqの結果にキーワードkを含む文書データdが出現する頻度の時系列の周波数係数である。
は、下記式13及び式14に従い求められる。
【0074】
【数13】

【0075】
【数14】

【0076】
は、絞り込まれた文書データ集合に対応するベクトルである。Dは各文書データを次元とする空間で定義され、各次元の成分は、絞り込まれた文書データ集合がその次元に対応する文書データを含むか含まないかにより、それぞれ1又は0の値をとる。
は、クラスタに対応するベクトルである。Dでは、その成分は各次元に対応する文書データがクラスタ又はクラスに属する確率又はスコアに応じて、0〜1の実数の値をとる。
は、DとDの内積であり、文書データの集合Dの各クラスタの成分への射影を表す。
【0077】
Dc及びDcは、異なるクラスタのLSAでの固有ベクトルである。Dが、例えば(1, 1, 1, 0, 0, …)、Dc1が、例えば(0.1, 0.4, 0.3, 0.1, 0.0, ・・・)であり、Dc2が例えば(0.2, 0.0, 0.1, 0.2, 0.1, ・・・)である場合、DとDc1の内積ac1は、1 x 0.1 + 1 x 0.4 + 1 x 0.3 + …で求められ、DとDc2の内積ac2は、1 x 0.2 + 1 x 0.0 + 1 x 0.1 + …で求められる。
【0078】
ステップ425では、検索部は、クラスタ毎の各キーワードを含む文書データの出現頻度時系列の周波数分布f(ω)c,kを周波数分布データベース(414)から読み取り、検索クエリで絞られた任意の文書データの集合でのキーワードの周波数分布を式12により算出する。すなわち、検索部は、クラスタ毎にキーワードの時系列変化から、検索クエリで絞られた任意の文書データの集合でのキーワードの時系列変化を推測する。
【0079】
この推測が妥当であるという根拠は、各クラスタは概念的に類似した文書データの集合とみなせるため、その中でのキーワードの増減のトレンドはその分野固有の特徴を反映していると考えられるからである。一般に、検索クエリで絞り込まれた文書データの集合は複数の概念を含むと考えられる。よって、当該文書データの集合における各キーワードの増減は、各概念での増減トレンドの複合として振る舞うと仮定することは不自然でない。
ステップ426では、検索部は、ランタイム時の処理を終了する。
以上により、ランタイムに検索クエリqによって絞られた、文書データの集合における各キーワードkに対して、当該キーワードkを含む文書データの出現数の時系列変動のスペクトル分解f(ω)q,kが式12を用いて得られた。
【0080】
図5Aは、本発明の第2の実施態様である、索引を作成するためのフローを示す。
検索又はトレンドの解析実行のための索引は、検索又は解析の実行に先立って下記ステップ501〜506に従い作成される。索引の作成のために、ハードウェアとして、解析処理部(図8Aの806)、クラスタリング部(図8Aの806)、時系列解析部(図8Aの806)又は索引付部(図8Aの807)が使用されるがこれらに限定されるものでない。
ステップ501では、索引の作成を開始する。
ステップ502では、解析処理部は、文書データ(511)を記憶装置からメモリ内に読み込む。
ステップ503では、解析処理部は、文書データで指定されている属性又は文書データで用いられている文字コードから、辞書又はファセット定義を含む辞書(512)を使用して文書データの言語を検知する。
ステップ504では、解析処理部は、特定された言語用の辞書(512)を用いて形態素解析を行い、文書データ中の全てのキーワードを検出する。
ステップ505では、クラスタリング部は、検出されたキーワードの出現頻度に基づいて、対象となる文書データ(511)をクラスタリング又は分類する。当該クラスタリング又は分類によって、クラスタ又はクラス(キーワード・クラスタともいう)が形成される。当該クラスタリング又は分類によって、個々の文書データがクラスタ又はクラスに属する確率がスコアで評価される。スコアは、例えば0〜1の実数として示される。そして、例えば、キーワード(縦軸)×クラスタ(横軸)の文書データ・スコア表ができる。当該文書データ・スコアは、文書データ・スコア・データベース(513)内に格納される。なお、文書データのクラスタリング又は分類をすることは、キーワードのクラスタリング又は分類を行うことでもある。
【0081】
図5Bは、図5Aで作成された文書データ・スコアを用いて、ランタイム処理をするフローを示す。
ランタイム時の処理は、ステップ521〜529に従い行われる。
ステップ521では、検索部は、ランタイム時の処理を開始する。
ステップ522では、検索部は、ユーザから入力された又はコンピュータによって作成された検索クエリqを受信し、メモリ又は記憶装置に格納する。検索クエリqは、検索キーワードを含む。検索部は、検索クエリqを受信することに応じて、検索クエリq中のキーワードに関連付けられた関連キーワードを抽出してもよい。
ステップ523では、検索部は、文書データ・スコア・データベース(513)に格納された文書データ・スコアを使用して、検索クエリqによる文書データd(511)の集合の絞り込みをランタイムに行う。文書データの集合の絞り込みによって、解析すべき時系列がダイナミックに作られる。
ステップ524では、検索部は、ステップ523において検索クエリで絞り込まれた文書データdの集合でのキーワードの時系列から、当該絞り込まれた文書データdの集合内での各クラスタの時系列を求める。時系列を求めるとは、出現頻度の時間変化を時間の関数として表すことである。時系列は、例えば、下記式15に従い求められうる。
【0082】
【数15】

【0083】
(t)は、時系列でのクラスタに属するすべてのキーワードについての和である。
(x)はキーワードxのクラスタcでの重みである。
(t)は、個別のキーワードを含む文書データの出現頻度の、平準化の後、正規化された時系列である。
【0084】
ステップ525では、検索部は、各クラスタの上記求められた時系列の周波数解析を行う。検索部は、図6に示すように、時系列での文書データ中のキーワードの出現頻度数(元データ)をフィルター関数により処理してもよい。検索部は、周波数解析においてフィルター関数でフィルターをかける場合、クラスタ毎にインデックス値を計算する。インデックス値の計算は、例えば上記式10に従い求められうる。そして、検索結果表示部は、例えばクラスタ毎にインデックス値の高いクラスタについてその解析結果を表示する。周波数解析は、図4Aのステップ407で行われる時系列解析と同様である。解析結果の例が、下記図7Bに示されている。
ステップ526では、検索部は、個々のキーワードへのドリルダウンを行うか否かをユーザに尋ねる。ドリルダウンとは、一般に、概要データから詳細データへと対象を絞り込んで解析することを指す。検索部は、ユーザにドリルダウンするクラスタの選択を可能にするために、クラスタの一覧を表示する。当該表示は例えば、クラスタを選択可能な態様で行われる。ユーザは、ドリルダウンするクラスタを選択する。ドリルダウンを行う場合、当該ステップはステップ527に進む。一方、ドリルダウンを行わない場合、当該ステップはステップ529に進み、ランタイム時の処理を終了する。
ステップ527では、上記ユーザからの選択に応じて、検索部は、当該選択されたクラスタの情報を受信する。
ステップ528では、検索部は、必要に応じて、選択されたクラスタに対して、その中で重みの大きいキーワードから順に時系列解析を行う。ここで、時系列解析とは、上記時間の関数の特性を解析することである。検索部は、選択されたクラスタを特徴付けるキーワードの時系列解析として、例えばフーリエ変換又はウェーブレット変換を実施する。解析された結果は、ユーザに表示される。
ステップ529では、検索部は、ランタイム時の処理を終了する。
以上により、ランタイムに検索クエリqによって絞られた、文書データの集合における各クラスタcに対して、当該クラスタcに属する文書データの出現数の時系列変動のスペクトル分解f(ω)q,c、及び選択されたクラスタを特徴付けるキーワードのスペクトル分解が得られた。
【0085】
上記ステップ521〜529で示されるランタイム時の検索では、キーワードを含む文書データの出現数から、キーワードのクラスタごとの出現頻度が算出されている。その際、各クラスタへの各キーワードの寄与は、当該キーワードのクラスタにおけるスコアにより、重み付けされている。これにより、クラスタに属する確度の低いキーワードからのクラスタの時系列への寄与は低く抑えられ、都合がよい。
【0086】
図6は、時系列での文書データ中のキーワードの出現頻度数(元データ)をフィルター関数により処理した後のグラフを示す。
上記処理は、図5Aのステップ524において行われうる。
以下では、周波数分解などによる時系列解析を多数(〜10億個)のキーワードの出現回数に適用するためのクラスタ解析の技術を説明する。特に、低周波数の挙動(ゆるやかなで大きな変動)を摘出する方法について述べる。
まず、準備として、元の時系列x(t)を畳み込んだ関数を考える。当該関数は、下記式16で示される。これは、nの大きさをカットオフ(cut-off)値として、高周波の変動を切り捨てた時系列となる。
【0087】
【数16】

【0088】
x^(t)は、(正規化前の)平準化された時系列である。
x(t)は、元の時系列である。
iにより0〜nまでの整数での和をとる。
tは、時間(タイムスライス)である。
nは、畳み込みをおこなう窓の幅である。
【0089】
図6の例では、点線が元の時系列を示し、実線が高周波を取り除いた変動である。
これを実際のテキスト解析のソフトウェアでおこなう場合、元の文書データに付随するタイム・スタンプよりも文書データを索引付する際に、粗い粒度のタイム・スタンプを割り当て、当該タイム・スタンプをファセットとみなすことにより、容易に実装可能である。
【0090】
図5Bのステップ524では、平準化された時系列x^(t)の振幅は、さらに下記式17及び式18に従い正規化されてもよい。当該式によって、高周波が取り除かれ、また時系列の振幅が正規化される。
【0091】
【数17】

【0092】
【数18】

【0093】
<x^>は、出現頻度の2乗平均である。
Tは、時系列の全体の間隔(時間)である。
(t)は、文書データの出現頻度の、平準化の後、正規化された時系列である。
x^(t)は、文書データの出現頻度の、(正規化前の)平準化された時系列である。
【0094】
このように正規化する理由は、出現頻度の多いキーワードからの寄与と出現頻度の少ないキーワードからの寄与を対等にするためである。
この上で、個別のキーワードに対する時系列x(t)の代わりにキーワード・クラスタc(t)の時系列を考える。これは個別キーワードの数は一般に膨大となるため、計算時間のかかる時系列解析をランタイムに実行することが不可能である。そのため、キーワードがグループ化された少数のキーワード・クラスタに対する時系列解析を先に行うことにより、すべての個別クラスタに対して時系列解析を行うことなく、おおまかな傾向を把握することが可能になるからである。例えば、文書データの集合の規模にもよるが、当該集合に含まれるキーワードの数は数千万〜数億であり、その場合のキーワード・クラスタの数は、例えば数十〜数千の数で定義されうる。この場合に、図5Bのステップ524において、下記式19が使用されうる。
【0095】
【数19】

【0096】
(t)は、時系列でのクラスタに属するすべてのキーワードについての和である。
(x)はキーワードxのクラスタcでの重みである。
(t)は、個別のキーワードを含む文書データの出現頻度の、平準化の後、正規化された時系列である。
【0097】
このようにして、個別のキーワードの時系列の代わりに、クラスター(相関するキーワードが構成する概念)の時系列を求めることができる。先の正規化により、出現頻度が相対的に少ないキーワードでも、その変動が大きければクラスタの変動に大きく寄与する。
【0098】
図7Aは、時系列でのクラスタ別のキーワードの発生件数を示す。
当該発生件数(出現頻度)は、図5Bのステップ525において求められる。
クラスタ1、クラスタ2、クラスタ3において最も周波数が低いクラスタは、クラスタ3である。
【0099】
図7Bは、図7Aに示すクラスタ1〜3のうち、インデックス値の高いクラスタを選んだ結果を示す。
インデックス値の高いクラスタの選択は、図5Bに示す様にユーザ又はコンピュータによって行われる。クラスタ1〜3のインデックス値はそれぞれ、クラスタ1=1.2、クラスタ2=5.8、クラスタ3=17.2である。よって、図7Bでは、インデックス値の高いクラスタ3がドリルダウンされたため、当該クラスタ3のみが示されている。
【0100】
図8Aは、本発明の実施態様に従う、文書データ処理部及び索引付部を備えているコンピュータのシステム図を示す。
本発明の実施態様に従うシステムは、索引作成のためのコンピュータ(801)(以下、「索引作成コンピュータ」ともいう)、索引作成コンピュータ(801)にネットワークを介して接続されている1又はそれ以上のサーバ(802a〜802n)及び1つ又はそれ以上の検索サーバ(803)、並びに検索サーバにネットワークを介して接続されたユーザ端末(804)を備えている。
索引作成コンピュータ(801)は、クローラ(805)、文書データ処理部(806)、索引付部(807)、キャッシュ(808)、及びサムネール処理部(809)を備えている。
クローラ(805)は、各サーバ(802a〜802n)から文書データ(810)、例えばWebページの収集処理を行う。クローラ(805)は、ロボット又はスパイダーとも呼ばれる。クローラ(805)は、収集した文書データ(810)を、例えば記憶装置(図示せず)に格納する。
クローラはまた、文書データ(810)をキャッシュ(808)に格納する。
文書データ処理部(806)は、解析処理部、クラスタリング部及び時系列解析部を含む。解析処理部は、自然言語解析を処理する。クラスタリング部は、文書データをクラスタリング又は分類する。時系列解析部は、各キーワードに対して、クラスタごとに当該キーワードを含む文書データの出現数の時系列解析をおこなう。
索引付部(807)は、検索キーワードから、文書データ(810)のテキスト索引、ファセット索引、サムネール索引を作成する。これらの各索引は、索引データベース(835)に格納される。それぞれの索引は検索ランタイム(811)によって利用される。テキスト索引とファセット索引とを区別しているのは実装上のデザインであり、同じであってもよい。検索ランタイムは、索引作成コンピュータ(801)上、又は他のサーバ上にあってもよい。検索ランタイム(811)が他のサーバ上にある場合、索引データベース(835)が他のサーバ上にコピーされる。或いは、索引作成コンピュータ(801)及び他のサーバが、索引データベース(835)に両方からアクセスできるように、ストレージ・エリア・ネットワーク(SAN)の共有ディスク上に索引データベースを配置してもよい。
索引付部(807)はまた、クラスタデータベース(図8Bの833)、文書データ・スコア・データベース(図8Bの834)及び索引データベース(図8Bの835)に、クラスタ情報、文書データがクラスタ又はクラスに属するスコア又は確率(第1のベクトル)、及び索引データをそれぞれ格納する。
サムネール処理部(809)は、キャッシュに格納された文書データ(810)のメタデータに基づいて、当該文書データを画面にアイコンとして表示するためのサムネールを作成する。メタデータとは、例えば、文書の種類、内容を特定するためのデータである。 検索サーバ(803)は、ユーザ端末(804)からのクエリを受信して、文書データ(810)を検索し、その検索結果をユーザ端末(804)に送信する。
【0101】
図8Bは、本発明の実施態様に従う、検索部を備えている検索サーバのシステム図を示す。
検索サーバ(803)は、検索部(821)を含む。検索サーバ(803)はまた、検索サーバ(803)がユーザ端末を兼ね備えている場合には、検索結果表示部(823)を含む。検索サーバ(803)がユーザ端末(804)に検索結果を送信する場合には、検索サーバ(803)は検索結果送信部(822)を含む。検索部(821)は、クラスタデータベース(833)、文書データ・スコア・データベース(834)及び索引データベース(835)それぞれからのクラスタ情報、文書データのスコア及び索引データを利用して、文書データの検索を行う。
【0102】
図9は、本発明の実施態様における、図8のシステムが有するコンピュータ・ハードウェアのブロック図を示す。
コンピュータ(901)は、CPU(902)とメイン・メモリ(903)とを含み、これらはバス(904)に接続されている。CPU(902)は好ましくは、32ビット又は64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Atom(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ及びSempron(商標)などを使用することができる。バス(904)には、ディスプレイ・コントローラ(905)を介して、TFTモニタなどのディスプレイ(906)が接続されている。ディスプレイ(906)は、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータ・システムについての情報と、そのコンピュータ・システム上で動作中のソフトウェアについての情報を、適当なグラフィック・インタフェースで表示するために使用される。バス(904)にはまた、IDE又はS−ATAコントローラ(907)を介して、ハードディスク又はシリコン・ディスク(908)と、CD−ROM、DVDドライブ又はBDドライブ(909)が接続されている。
【0103】
ハードディスク(908)には、オペレーティング・システム、アプリケーション・プログラム及びデータが、メイン・メモリにロード可能に記憶されている。
【0104】
CD−ROM、DVD又はBDドライブ(909)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをハードディスクに追加導入するために使用される。バス(904)にはさらに、キーボード・マウスコントローラ(910)を介して、キーボード(911)及びマウス(912)が接続されている。
【0105】
通信インタフェース(914)は、例えばイーサネット(商標)・プロトコルに従う。通信インタフェース(914)は、通信コントローラ(913)を介してバス(904)に接続され、コンピュータ・システム及び通信回線(915)を物理的に接続する役割を担い、コンピュータ・システムのオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インターフェース層を提供する。なお、通信回線は、有線LAN環境、或いは例えばIEEE802.11a/b/g/nなどの無線LAN接続規格に基づく無線LAN環境であってもよい。
【0106】
図10は、本発明の第2の実施態様に従って得られたクラスタの時系列を示す。
事故報告書の文書データ集合において、互いに関連するキーワード「ハンドル」、「ステアリング」、「曲がる」及び「避ける」のそれぞれを含む文書データが出現頻度を年度毎に集計した時系列と、これらを含むキーワード・クラスタにおける、それぞれのキーワードのスコアに応じて付けられて重みとを足し合わせることによって得られた、クラスタの時系列がグラフに示されている。当該グラフに示されるように、個々のキーワードの時系列に対して解析を行う代わりに、クラスタの時系列に対して解析をおこない、大まかな特徴を知ることができる。

【特許請求の範囲】
【請求項1】
キーワードの時系列解析のための処理方法であって、当該方法はコンピュータに、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するステップであって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、前記クラスタリング又は分類するステップと、
前記文書データをクラスタリング又は分類したクラスタ又はクラス(以下、文書クラスタともいう)内における個々のキーワードを含む文書データの出現頻度に対して、又は前記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス(以下、キーワード・クラスタともいう)を含む文書データの出現頻度に対して時系列解析を行うステップであって、それによって前記文書データの出現頻度の変化を示す周波数分布が求められる、前記ステップと、
を実行させることを含む、前記方法。
【請求項2】
前記方法はコンピュータに、
前記クラスタリング又は分類するステップの後に、各キーワードに対して、各文書クラスタ内でキーワードを含む文書データの出現頻度を時系列毎に求めるステップをさらに実行させることを含む、請求項1に記載の方法。
【請求項3】
前記文書データの出現頻度を時系列毎に求めるステップが、下記式1に従い求められる、請求項2に記載の方法:
【数1】

c、k(t)は、各文書クラスタc内でキーワードkを含む文書データdの出現頻度であり、
(d)は、文書データdが文書クラスタcに属するスコアであり、及び、
Σは、キーワードkを含む全ての文書データdのスコアの和である。
【請求項4】
当該方法はコンピュータに、
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込むステップと、
前記絞り込まれたデータ・セットを文書クラスタの線形和で近似するステップと、
前記文書クラスタ毎のキーワードの周波数分布から、前記絞り込まれた文書データの集合でのキーワードの周波数分布を推測するステップと
をさらに実行させる、請求項1に記載の方法。
【請求項5】
前記近似するステップが、下記式2に従い求められる、請求項4に記載の方法:
【数2】

f(ω)q,kは、検索クエリqの結果にキーワードkを含む文書データdが出現する頻度の時系列の周波数係数であり、
は、下記式3及び式4に従い求められ、
【数3】

【数4】

は、絞り込まれた文書データ集合を、各文書データを次元とする空間上のベクトルとして表したものであり、
は、文書クラスタを同じ空間上で、各次元の成分をその次元に該当する文書の当該クラスタにおけるスコアとして表現した場合のベクトルであり、及び
は、DとDの内積である。
【請求項6】
前記方法はコンピュータに、
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込むステップと、
前記絞り込まれたデータ・セットの集合でのキーワードの時系列から、前記絞り込まれた文書データのデータ・セット内での各キーワード・クラスタの時系列を求めるステップと、
前記各キーワード・クラスタの時系列の周波数解析を行うステップと
をさらに実行させる、請求項1に記載の方法。
【請求項7】
前記方法はコンピュータに、
前記周波数解析の結果からキーワード・クラスタ毎にインデックス値を計算するステップと、
前記計算されたインデックス値に従い解析結果を表示するステップと
をさらに実行させる、請求項6に記載の方法。
【請求項8】
前記方法はコンピュータに、
個々のキーワードへのドリルダウンを行うか否かを問い合わせるステップと、
ドリルダウンされるキーワード・クラスタ情報を受信することに応じて、当該ドリルダウンされるキーワード・クラスタに対して、その中で重みの大きいキーワードから順に時系列解析を実施するステップと
をさらに実行させる、請求項6に記載の方法。
【請求項9】
前記各キーワード・クラスタの時系列を求めるステップが、
文書データのデータ・セットにフィルターをかけるステップをさらに含む、請求項6に記載の方法。
【請求項10】
前記フィルターが、下記式5である、請求項9に記載の方法:
【数5】

x^(t)は、平準化された時系列であり、
x(t)は、元の時系列であり、
iにより0〜nまでの整数での和をとり、
tは、時間であり、
nは、畳み込みをおこなう窓の幅である。
【請求項11】
前記各キーワード・クラスタの時系列を求めるステップが、下記式6及び式7に従い、高周波を取り除き、また時系列の振幅を正規化するステップをさらに含む、請求項6に記載の方法:
【数6】

【数7】

<x^>は、出現頻度の2乗平均であり、
Tは、時系列の全体の間隔であり、
(t)は、文書データの出現頻度の、平準化の後、正規化された時系列であり、
x^(t)は、文書データの出現頻度の、平準化された時系列である。
【請求項12】
前記キーワード・クラスタの時系列を求めるステップが、少数のキーワード・クラスタに対する時系列解析を下記式8に従い行う、請求項6に記載の方法:
【数8】

(t)は、時系列でのクラスタに属するすべてのキーワードについての和であり、
(x)はキーワードxのクラスタcでの重みであり、
(t)は、個別のキーワードを含む文書データの出現頻度の、平準化の後、正規化された時系列である。
【請求項13】
キーワードの時系列解析のための処理システムであって、
自然言語による事象の記述である文書データを当該文書データ中のキーワードの出現頻度に基づきクラスタリング又は分類するクラスタリング部であって、当該文書データのクラスタリング又は分類によって個々のキーワードもクラスタリング又は分類される、前記クラスタリング部と、
前記文書データをクラスタリング又は分類したクラスタ又はクラス(以下、文書クラスタともいう)内における個々のキーワードを含む文書データの出現頻度に対して、又は前記個々のキーワードをクラスタリング又は分類したクラスタ又はクラス(以下、キーワード・クラスタともいう)を含む文書データの出現頻度に対して時系列解析を行う時系列解析部であって、それによって前記文書データの出現頻度の変化を示す周波数分布が求められる、前記時系列解析部と、
を含む、前記処理システム。
【請求項14】
前記時系列解析部が、前記クラスタリングの後に、各キーワードに対して、各文書クラスタ内でキーワードを含む文書データの出現頻度を時系列毎に求める、請求項13に記載の処理システム。
【請求項15】
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込み、前記絞り込まれたデータ・セットを文書クラスタの線形和で近似し、前記文書クラスタ毎のキーワードの周波数分布から、前記絞り込まれた文書データの集合でのキーワードの周波数分布を推測するランタイム検索部をさらに含む、請求項13に記載の処理システム。
【請求項16】
検索クエリの受信に応答して、当該検索クエリにより文書データのデータ・セットを絞り込み、前記絞り込まれたデータ・セットの集合でのキーワードの時系列から、前記絞り込まれた文書データのデータ・セット内での各キーワード・クラスタの時系列を求め、前記各キーワード・クラスタの時系列の周波数解析を行うランタイム検索部をさらに含む、請求項13に記載の処理システム。
【請求項17】
前記ランタイム検索部が、前記周波数解析の結果からキーワード・クラスタ毎にインデックス値を計算し、前記計算されたインデックス値に従い解析結果を表示する表示部をさらに含む、請求項13に記載の処理システム。
【請求項18】
前記ランタイム検索部が、個々のキーワードへのドリルダウンを行うか否かを問いあわせ、ドリルダウンされるキーワード・クラスタ情報を受信することに応じて、当該ドリルダウンされるキーワード・クラスタに対して、その中で重みの大きいキーワードから順に時系列解析を実施する、請求項16に記載の処理システム。
【請求項19】
前記各キーワード・クラスタの時系列を求めることが、文書データのデータ・セットにフィルターをかけることを含む、請求項16に記載の処理システム。
【請求項20】
コンピュータに、請求項1〜13のいずれか1項に記載の方法の各ステップを実行させるコンピュータ・プログラム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図2D】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−141801(P2011−141801A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−2852(P2010−2852)
【出願日】平成22年1月8日(2010.1.8)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100085545
【弁理士】
【氏名又は名称】松井 光夫
【復代理人】
【識別番号】100118599
【弁理士】
【氏名又は名称】村上 博司
【Fターム(参考)】