(57)【特許請求の範囲】
【請求項１】
検索キーワードから、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードと相関を持ち、自然言語による事象の記述である文書データを検索する方法であって、当該方法はコンピュータに、
前記文書データそれぞれが文書データをクラスタリング又は分類するためのクラスタ又はクラスに属するスコア又は確率を第１のベクトルとして計算するステップと、
検索キーワードが入力されることに応じて、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードが前記クラスタ又はクラスに属するスコア又は確率を第２のベクトルとして計算するステップと、
前記第１のベクトルそれぞれと前記第２のベクトルとの内積を計算するステップであって、当該計算された内積値が前記文書データの前記入力された検索キーワードに対するスコアである、前記計算するステップと、
辞書中の単語又はフレーズ・セットから選択される複数のファセット・キーワードの個々のファセット・キーワードを含む文書データと、前記入力された検索キーワードに対する前記スコアが所定の閾値以上である又は前記入力された検索キーワードに対する前記スコアが上位所定割合に含まれる文書データとから、前記個々のファセット・キーワード毎に相関値を求めるステップと、
を実行させることを含み、
前記相関値が下記相関関数ｃｏｒｒｃｏｎｃｅｐｔ（ｓ，ｔ）に従い求められる、前記方法：
【数１】
0005448105.tif 000033
【数２】
0005448105.tif 000034
【数３】
0005448105.tif 000035
【数４】
0005448105.tif 000036
ここで、
ｓは、ファセット・キーワードであり、
ｔは、検索キーワードであり、
ｄは、文書データであり、
Ｎは、文書データの総数であり、
＜ｓ｜ｄ＞は、Σｓｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
＜ｔ｜ｄ＞は、Σｔｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
ｋはクラスタの総数であり、整数である。
【請求項２】
前記相関値が、前記複数のファセット・キーワードの個々のキーワードを含む文書データの第１のデータセットと、前記スコアが所定の閾値以上である又は前記スコアが上位所定割合に含まれる文書データの第２のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから求められる、請求項１に記載の方法。
【請求項３】
検索キーワードから、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードと相関を持ち、自然言語による事象の記述である文書データを検索する方法であって、当該方法はコンピュータに、
前記文書データそれぞれが文書データをクラスタリング又は分類するためのクラスタ又はクラスに属するスコア又は確率を第１のベクトルとして計算するステップと、
検索キーワードが入力されることに応じて、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードが前記クラスタ又はクラスに属するスコア又は確率を第２のベクトルとして計算するステップと、
前記第１のベクトルそれぞれと前記第２のベクトルとの内積を計算するステップであって、当該計算された内積値が前記文書データの前記入力された検索キーワードに対するスコアである、前記計算するステップと、
辞書中の単語又はフレーズ・セットから選択される複数のファセット・キーワードの個々のファセット・キーワードを含む文書データと、前記入力された検索キーワードに対する前記スコアが所定の閾値以上である又は前記入力された検索キーワードに対する前記スコアが上位所定割合に含まれる文書データとから、前記個々のファセット・キーワード毎に相関値を求めるステップと、
を実行させることを含み、
前記相関値が下記相関関数ｃｏｒｒｔｏｔａｌ（ｓ，ｔ）に従い求められる、前記方法：
【数５】
0005448105.tif 000037
ここで、ａ及びｎは調節可能なパラメータであり、
【数６】
0005448105.tif 000038
【数７】
0005448105.tif 000039
【数８】
0005448105.tif 000040
【数９】
0005448105.tif 000041
ここで、
ｓは、ファセット・キーワードであり、
ｔは、検索キーワードであり、
ｄは、文書データであり、
Ｎは、文書データの総数であり、
δｓ，ｄは、ファセット・キーワードｓが、文書データｄに含まれる場合は１であり、それ以外の場合は０であり、
δｔ，ｄは、検索キーワードｔが、文書データｄに含まれる場合は１であり、それ以外の場合は０であり、
【数１０】
0005448105.tif 000042
【数１１】
0005448105.tif 000043
【数１２】
0005448105.tif 000044
【数１３】
0005448105.tif 000045
ここで、
ｓは、ファセット・キーワードであり、
ｔは、検索キーワードであり、
ｄは、文書データであり、
Ｎは、文書データの総数であり、
＜ｓ｜ｄ＞は、Σｓｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
＜ｔ｜ｄ＞は、Σｔｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
ｋはクラスタの総数であり、整数である。
【請求項４】
前記相関値が、前記複数のファセット・キーワードの個々のキーワードを含む文書データの第１のデータセットと、前記スコアが所定の閾値以上である又は前記スコアが上位所定割合に含まれる文書データの第２のデータセットと、前記検索キーワード又は関連キーワードを含む文書データの第３のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから求められる、請求項３に記載の方法。
【請求項５】
前記検索キーワード又は前記関連キーワードに対して相関値が大きいファセット・キーワードの集合を切り出し、前記検索キーワード若しくは前記関連キーワードを含む文書データの集合又は前記検索キーワード若しくは前記関連キーワードとの相関性が高い文書データの集合と前記切り出されたファセット・キーワードを含む文書データの集合との共通部分にある文書データのリストが前記入力された検索キーワードに対する検索結果として提示される、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
検索キーワードから、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードと相関を持ち、自然言語による事象の記述である文書データを検索するコンピュータ・システムであって、
前記文書データそれぞれが文書データをクラスタリング又は分類するためのクラスタ又はクラスに属するスコア又は確率を第１のベクトルとして計算する第１の計算部と、
検索キーワードが入力されることに応じて、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードが前記クラスタ又はクラスに属するスコア又は確率を第２のベクトルとして計算する第２の計算部と、
前記第１のベクトルそれぞれと前記第２のベクトルとの内積を計算する第３の計算部であって、当該計算された内積値が前記文書データの前記入力された検索キーワードに対するスコアである、前記第３の計算部と、
辞書中の単語又はフレーズ・セットから選択される複数のファセット・キーワードの個々のファセット・キーワードを含む文書データと、前記入力された検索キーワードに対する前記スコアが所定の閾値以上である又は前記入力された検索キーワードに対する前記スコアが上位所定割合に含まれる文書データとから、前記個々のファセット・キーワード毎に相関値を求める相関値計算部と、
を含み、
前記相関値が下記相関関数ｃｏｒｒｃｏｎｃｅｐｔ（ｓ，ｔ）に従い求められる、前記コンピュータ・システム：
【数１４】
0005448105.tif 000046
【数１５】
0005448105.tif 000047
【数１６】
0005448105.tif 000048
【数１７】
0005448105.tif 000049
ここで、
ｓは、ファセット・キーワードであり、
ｔは、検索キーワードであり、
ｄは、文書データであり、
Ｎは、文書データの総数であり、
＜ｓ｜ｄ＞は、Σｓｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
＜ｔ｜ｄ＞は、Σｔｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
ｋはクラスタの総数であり、整数である。
【請求項７】
前記相関値が、前記複数のファセット・キーワードの個々のキーワードを含む文書データの第１のデータセットと、前記スコアが所定の閾値以上である又は前記スコアが上位所定割合に含まれる文書データの第２のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから求められる、請求項６に記載のコンピュータ・システム。
【請求項８】
検索キーワードから、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードと相関を持ち、自然言語による事象の記述である文書データを検索するコンピュータ・システムであって、
前記文書データそれぞれが文書データをクラスタリング又は分類するためのクラスタ又はクラスに属するスコア又は確率を第１のベクトルとして計算する第１の計算部と、
検索キーワードが入力されることに応じて、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードが前記クラスタ又はクラスに属するスコア又は確率を第２のベクトルとして計算する第２の計算部と、
前記第１のベクトルそれぞれと前記第２のベクトルとの内積を計算する第３の計算部であって、当該計算された内積値が前記文書データの前記入力された検索キーワードに対するスコアである、前記第３の計算部と、
辞書中の単語又はフレーズ・セットから選択される複数のファセット・キーワードの個々のファセット・キーワードを含む文書データと、前記入力された検索キーワードに対する前記スコアが所定の閾値以上である又は前記入力された検索キーワードに対する前記スコアが上位所定割合に含まれる文書データとから、前記個々のファセット・キーワード毎に相関値を求める相関値計算部と、
を含み、
前記相関値が下記相関関数ｃｏｒｒｔｏｔａｌ（ｓ，ｔ）に従い求められる、前記コンピュータ・システム：
【数１８】
0005448105.tif 000050
ここで、ａ及びｎは調節可能なパラメータであり、
【数１９】
0005448105.tif 000051
【数２０】
0005448105.tif 000052
【数２１】
0005448105.tif 000053
【数２２】
0005448105.tif 000054
ここで、
ｓは、ファセット・キーワードであり、
ｔは、検索キーワードであり、
ｄは、文書データであり、
Ｎは、文書データの総数であり、
δｓ，ｄは、ファセット・キーワードｓが、文書データｄに含まれる場合は１であり、それ以外の場合は０であり、
δｔ，ｄは、検索キーワードｔが、文書データｄに含まれる場合は１であり、それ以外の場合は０であり、
【数２３】
0005448105.tif 000055
【数２４】
0005448105.tif 000056
【数２５】
0005448105.tif 000057
【数２６】
0005448105.tif 000058
ここで、
ｓは、ファセット・キーワードであり、
ｔは、検索キーワードであり、
ｄは、文書データであり、
Ｎは、文書データの総数であり、
＜ｓ｜ｄ＞は、Σｓｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
＜ｔ｜ｄ＞は、Σｔｉ × ｄｉであり（ただし、Σは、i=1,2,…,kについての和である）、
ｋはクラスタの総数であり、整数である。
【請求項９】
前記相関値が、前記複数のファセット・キーワードの個々のキーワードを含む文書データの第１のデータセットと、前記スコアが所定の閾値以上である又は前記スコアが上位所定割合に含まれる文書データの第２のデータセットと、前記検索キーワード又は関連キーワードを含む文書データの第３のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから求められる、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記検索キーワード又は前記関連キーワードに対して相関値が大きいファセット・キーワードの集合を切り出し、前記検索キーワード若しくは前記関連キーワードを含む文書データの集合又は前記検索キーワード若しくは前記関連キーワードとの相関性が高い文書データの集合と前記切り出されたファセット・キーワードを含む文書データの集合との共通部分にある文書データのリストが前記入力された検索キーワードに対する検索結果として提示される、請求項６〜９のいずれか一項に記載のコンピュータ・システム。
【請求項１１】
コンピュータに、請求項１〜５のいずれか一項に記載の方法の各ステップを実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索キーワードから文書データを検索する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
コンピュータ・ネットワークの普及やコンピュータ・システムの高性能化によって、膨大な電子化文書データ（以下、文書データという）へのアクセスが容易となった。文書データの検索は、これらの膨大な文書データ中から必要な文書データを見つけ出すことを可能にする。文書データの検索は、種々の対象について行われている。例えば、インターネット・ブラウザにおけるサーチエンジンの場合、世界中に分散されたサーバ又は中間サーバ（プロキシサーバともいう）上のＷｅｂページが検索対象である。また、企業においては、企業活動の中で蓄積された文書データが検索対象である。文書データの検索の代表的な方法として、検索キーワードと、文書データ中の単語又はフレーズとの間の相関を解析して、検索キーワードと共起相関する単語又はフレーズを発見する方法がある。例えば、単語「ＩＢＭ」（ＩＢＭ社の登録商標）と相関の強い単語又はフレーズを発見することにより、単語「ＩＢＭ」（ＩＢＭ社の登録商標）に関連性の高い文書データを、当該相関の強い単語又はフレーズに基づいて検索対象から適切に見つけ出すことが可能である。文書データの検索の方法は、例えば下記非特許文献１に記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Christopher D. Manning, et al., "An Introduction to Information Retrieval", Chapters 6, 14, 16 and 18, Cambridge University Press, April 1, 2009
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、検索キーワードから文書データを検索するにあたり、より幅広いコンテキストで相関を適切に見つけ出す方法を提供する。
【課題を解決するための手段】
【０００５】
本発明は、検索キーワードから、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードと相関を持ち、自然言語による事象の記述である文書データを検索する方法を提供する。当該方法はコンピュータに下記ステップを実行させることを含む。当該ステップは、
上記文書データそれぞれが文書データをクラスタリング又は分類するためのクラスタ又はクラスに属するスコア又は確率を第１のベクトルとして計算するステップと、
検索キーワードが入力されることに応じて、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードが上記クラスタ又はクラスに属するスコア又は確率を第２のベクトルとして計算するステップと、
上記第１のベクトルそれぞれと上記第２のベクトルとの内積を計算するステップであって、当該計算された内積値が上記文書データの上記検索キーワードに対するスコアである、上記計算するステップと、
分類キーワードセットの個々のキーワードを含む文書データと、上記スコアが所定の閾値以上である又は上記スコアが上位所定割合に含まれる文書データとから相関値を求めるステップと、
を含む。【０００６】
本発明はまた、検索キーワードから、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードと相関を持ち、自然言語による事象の記述である文書データを検索するコンピュータ・システムを提供する。該コンピュータ・システムは、
上記文書データそれぞれが文書データをクラスタリング又は分類するためのクラスタ又はクラスに属するスコア又は確率を第１のベクトルとして計算する第１の計算部と、
検索キーワードが入力されることに応じて、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードが上記クラスタ又はクラスに属するスコア又は確率を第２のベクトルとして計算する第２の計算部と、
上記第１のベクトルそれぞれと上記第２のベクトルとの内積を計算する第３の計算部であって、当該計算された内積値が上記文書データの上記検索キーワードに対するスコアである、上記第３の計算部と、
分類キーワードセットの個々のキーワードを含む文書データと、上記スコアが所定の閾値以上である又は上記スコアが上位の所定割合に含まれる文書データとから相関値を求める相関値計算部と、
を含む。【０００７】
本発明の１つの実施態様において、上記相関値計算部が、分類キーワードセットの個々のキーワードを含む文書データの第１のデータセットと、上記スコアが所定の閾値以上である又は上記スコアが上位所定割合に含まれる文書データの第２のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから相関値を求める。また、本発明の１つの実施態様において、上記相関値計算部が、例えば下記式２０の相関関数に従い相関値を求める。【０００８】
本発明の１つの実施態様において、上記相関値計算部が、分類キーワードセットの個々のキーワードを含む文書データの第１のデータセットと、上記スコアが所定の閾値以上である又は上記スコアが上位所定割合に含まれる文書データの第２のデータセットと、上記検索キーワード又は関連キーワードを含む文書データの第３のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから相関値を求める。本発明の１つの実施態様において、上記相関値計算部が、例えば下記式２６の相関関数に従い相関値を求める。【０００９】
本発明はまた、コンピュータに、上記に記載の方法の各ステップを実行させるコンピュータ・プログラムを提供する。
【発明の効果】
【００１０】
従来技術であるキーワード検索方法では該当文書データがなく検索結果が得られなかった場合にあっても、本発明の実施態様に従う検索方法では必要な文書データを的確に検索することが可能である。
【図面の簡単な説明】
【００１１】
【図１Ａ】文書データのクラスタリング又は分類を含む、索引データベースの作成のフローを示す。
【図１Ｂ】文書データの検索の概要のフローを示す。
【図１Ｃ】自然言語解析の概要のフローを示す。
【図１Ｄ】文書データの内部表現とクエリの内部表現との照合による検索の一例を示す。
【図２】図１Ａのステップ１０１〜１０３の内容を、文書データの具体例を用いて説明したものである。
【図３Ａ】複数の文書データのクラスタリングの第１の態様の概念図を示す。
【図３Ｂ】複数の文書データのクラスタリングの第２の態様の概念図を示す。
【図３Ｃ】複数の文書データのクラスタリングの第３の態様の概念図を示す。
【図４Ａ】検索キーワードＢを含む文書データのデータセットとキーワードＡを含む文書データのデータセットとから、重複する文書データのデータセットを抽出する概念図を示す。
【図４Ｂ】図４ＡのキーワードＡがファセット・キーワードＡである場合に、ファセット・キーワードを含む文書データのデータセットと検索キーワードを含む文書データのデータセットとの関係を示す。
【図４Ｃ】図４Ｂのファセット・カウントを用いて、ファセット・キーワードＡと検索キーワードとの相関値を計算し、検索キーワードと相関の強いキーワードを検出する概念図を示す。
【図４Ｄ】図４Ｂのファセット・カウントを用いて、検索キーワードと相関の強いキーワードを検出するために使用する索引を作成するためのフローを示す。
【図４Ｅ】図４Ｄにおいて作成された索引を使用して、検索キーワードとの相関検出のフローを示す。
【図５Ａ】概念検索のフローを示す。
【図５Ｂ】図５Ａの概念検索における、文書データの検索の具体例を示す。
【図５Ｃ】図５Ａの概念検索における、文書データ及びクエリの各ベクトル並びに内積の概念図を示す。
【図５Ｄ】ベクトル空間内の文書ベクトルの概念図を示す。
【図６Ａ】本発明の実施態様である第１の態様の検索方法の概念図を示す。
【図６Ｂ】ファセット・カウントを用いて、検索キーワードと相関の強いファセット・キーワードを検出する概念図を示す。
【図６Ｃ】図６Ａの第１の態様の検索方法のために使用する索引を作成するためのフローを示す。
【図６Ｄ】図６Ｃにおいて作成された索引を使用して、図６Ａの第１の態様の検索方法で相関を検出するフローを示す。
【図６Ｅ】図６Ｃにおいて作成された索引を使用して、図６Ａの第１の態様の検索方法で相関を検出するフローを示す。
【図７Ａ】本発明の実施態様である第２の態様の検索方法の概念を示す。
【図７Ｂ】図６Ｃと同様にして作成された索引を使用して、図７Ａの第２の態様の検索方法で相関を検出するフローを示す。
【図７Ｃ】図６Ｃと同様にして作成された索引を使用して、図７Ａの第２の態様の検索方法で相関を検出するフローを示す。
【図８Ａ】本発明の実施態様に従う、文書データ処理部及び索引付部を備えているコンピュータのシステム図を示す。
【図８Ｂ】本発明の実施態様に従う、検索部を備えている検索サーバのシステム図を示す。
【図９】本発明の実施態様における、図８Ａ及び図８Ｂの各システムが有するコンピュータ・ハードウェアのブロック図を示す。
【図１０】キーワード検索方法、並びに本発明である第１の態様の検索方法及び本発明である第２の態様の検索方法に従う検索結果を示す。
【発明を実施するための形態】
【００１２】
本発明の実施態様において、「文書データ」とは、自然言語による事象の記述である。言い換えれば、文書データは、現実の世界で生じた事象を文書で電子的に起こしたものである。事象は、イベントともいう。文書データは電子化されており、機械可読である。文書データは、テキストセグメントを有していてもよい。文書データはまた、件名をキーとして特定しうる１まとまりのデータであってもよい。文書データは、例えばインターネット上のＷｅｂページ、或いは企業の製品事故レポート、電話受付レポート、１件のニュース、技術文書などであるがこれらに限定されない。１つの文書データは物理的な１つのデータ・ファイルに対応しなくてもよい。すなわち、文書データは、物理的には１つのデータ・ファイルのうちの一部又は全部でありうる。物理的な１つのデータ・ファイルは、文書データの集合を含んでいてもよい。文書データは、例えば、サーバの記憶装置又はネットワークを介して接続されたネットワーク記憶装置、例えばストレージ・エリア・ネットワーク（ＳＡＮ）内の文書データベース中にデータ・ファイルとして格納されうる。格納形式は、特に限定されないが、プレーンテキスト、ＨＴＭＬ、又はＸＭＬで記述されていてもよい。文書データは、例えば、様々なサーバからクローラ（図８Ａの８０５）によって定期的に又は集中的に収集される。
【００１３】
本発明の実施態様において、文書データの集合とは、１つ、又は２以上の文書データを含むデータセットをいう。文書データの集合は、物理的には１つ又は複数のデータ・ファイルのうちの一部又は全部でありうる。
【００１４】
本発明の実施態様において、「検索キーワード」とは、文書データ検索のための少なくとも１以上の単語（以下、「検索単語」ともいう）、少なくとも１以上のフレーズ（以下、「検索フレーズ」ともいう）、又はそれらの組み合わせである。検索キーワードは、ユーザによって入力されるか、或いは、コンピュータによって自動的に入力されてもよい。単語は、言語音と意味と文法上の機能を持つ最小の言語単位であり、その品詞は特に問わない。フレーズは、一般的に、文法的に配置された２語以上の単語であり、文中で１単位として働くものである。特に英語において、フレーズは、２語以上の語の連続であり、定動詞とその主語を含まず、１つの品詞の働きをするものを含む。検索キーワードのユーザによる入力は、１つ又は複数の単語、１つ又は複数のフレーズ、又はそれらの組み合わせを、例えばブラウザ又はアプリケーション上の検索キーワード入力欄に入力することによって行われうる。コンピュータによる検索キーワードの入力は、例えばユーザが閲覧しているウェブ内容に基づいて１つ又は複数の単語、１つ又は複数のフレーズ、又はそれらの組み合わせを検出することによって行われる。入力された検索キーワードは例えば自動的にクエリ（例えばＳＱＬ）に変換される。変換されたクエリは、検索サーバ又は中間サーバに送信される。
【００１５】
本発明の実施態様において、「検索キーワードに関連付けられた関連キーワード」とは、検索キーワードと関連性の強い少なくとも１の単語、少なくとも１のフレーズ、又はそれらの組み合わせであり、例えば検索キーワードと共起するキーワードをいう。共起とは、ある文書データにおいて、任意の少なくとも２つのキーワードが同時に出現することである。共起相関は、キーワード間の関連性の強さを示す。関連キーワードは、予め文書データ中の任意のキーワード、例えば出現頻度の高いキーワードに基づいて抽出され、例えば辞書に登録されている。当該任意のキーワードが将来的にユーザによって検索キーワードとして入力される。そして、当該検索キーワードの関連キーワードが上記辞書から選択される。
語の共起相関は、例えば、語Ａが出現する文書データの集合と語Ｂが出現する文書データの集合とがある場合に、下記式１に従い求められる。語Ａが出現する文書データは、語Ａを含む文書データと同義である。同様に、語Ｂが出現する文書データは、語Ｂを含む文書データと同義である。
【００１６】
【数１】
0005448105.tif 000002
【００１７】
また、語が複数ある場合、当該語の共起相関は、例えば、式１において語Ａを複数の語｛１，２，・・・，ｎ｝と読み替えて、下記式２に従い求められる。
【００１８】
【数２】
0005448105.tif 000003
【００１９】
また、語が複数ある場合の他の方法は、式１で求めた個々の語の共起相関の積として評価することである。積として評価した場合、相関のない場合に１となるので、その結果を語の数ｎで割る必要はない。
【００２０】
また、別の方法として、文書データ数を用いる場合、語の共起相関は下記式３に従い求められる。
【００２１】
【数３】
0005448105.tif 000004
【００２２】
また、別の方法として、キーワード１〜ｎそれぞれと語の共起を求めて、それらの和で評価する場合、語の共起相関は下記式４に従い求められる。なお、和で評価する場合、キーワードの数Ｎにより差が出ないように和の結果をキーワードの数Ｎで割る必要がある。  
【００２３】
【数４】
0005448105.tif 000005
【００２４】
式４において、α１はキーワード１と語の共起であり、α２はキーワード２と語の共起であり、αｎはキーワードｎと語の共起である。
【００２５】
共起相関では、相関のない場合にその値が１となる。
【００２６】
なお、共起相関を求めるための文書データの集合をコーパスともいう。コーパスの文書データの集合は、検索対象の文書データの集合と同じであっていても異なっていてもよい。しかしながら、あるキーワードに適切な関連キーワードを得るために、コーパスは、検索対象の文書データの集合と同じ言語であり、且つ検索対象の文書データと同一又は類似の分野に属する文書データの集合であることが望ましい。例えば、検索対象の文書データが車の事故である場合、コーパスは事故報告をまとめた報告書データでありうる。
【００２７】
本発明の実施態様において、「クラスタリング」とは、文書データ間の類似度又は距離に基づき、文書データをグループ分けすることをいう。文書データの集合をクラスタリングすることによってできるグループ又は文書データの集合をクラスタリングするためのグループをクラスタとも呼ぶ。文書データはキーワードの集合であるため、文書データの集合をクラスタリングすることは、キーワードをクラスタリングすることでもある。当該グループ分けされた文書データの集合を検索対象とすることによって、１つ１つの文書データを検索対象とするよりも、ユーザが必要とする文書データを効率的に抽出することが可能である。各クラスタは特定の語又はフレーズだけでできるわけではなく、顕著な単語又はフレーズの集合でありうる。一般的には、各クラスタに、当該クラスタを特徴付ける単語又はフレーズのスコア付きの集合が定義される。
文書データ間の類似度とは、文書データが２つ与えられたときに当該２つに対して決まる実数である。この値が大きいほど２つの文書データは似ていると仮定される。文書データのクラスタリングでは、類似度は、例えば文書データ中の共通のキーワードに基づいて求められる。類似度の高い文書データをグループ化することによりクラスタが作成できる。
文書データ間の距離とは、ユークリッド空間における２つの文書データ間の距離をいい、２つの文書データ間の隔たりである。距離を定義するためには、まず空間を定義する必要がある。空間としては各単語を各次元とし、文書データを、当該文書データ内に出現する単語の数、又はｔｆ・ｉｄｆを座標とする点としてプロットする。そして、２つの文書データ間の距離を単純にユークリッド空間での２つの点の距離によって、その隔たりを計算する。距離の近い文書データをグループ化することによりクラスタが作成できる。上記ｔｆ・ｉｄｆは、頻出単語からの寄与を下げるように、文書データ内での単語の出現数ｔｆに単語を含む文書データの数の逆数又は対数の逆数をかけたものである。
【００２８】
文書データ間の類似度の１つの定義が、距離の逆数である。類似度自体は大小関係さえ維持できればユークリッド空間の距離として定義する必要はなく、例えば球面上の２点の中心角としても定義できるので、類似度のバリエーションは色々と可能である。
【００２９】
類似度又は距離による文書のクラスタリングは、大きく分けて下記の４つのステップからなる。
ステップ１  解析処理部（図８Ａの８０６）は、文書データに対して、形態素解析を行い、各キーワードに分割する。形態素解析の方法として、規則による形態素解析と確率的言語モデルを用いる方法がある。確率的言語モデルによる形態素解析は、例えば隠れマルコフニコフモデルによる方法である。本発明の実施態様において、形態素解析エンジンは、市販で入手可能なものを用いてもよい。文書データのクラスタリングでは、文書データを表現するために文書を構成するキーワードの重みからなるベクトルを用いることが多い。当該ベクトルの表現のために、文書データにおいてキーワードを切り分けていく必要がある。当該切り分けのために、例えば日本語、中国語、韓国語の文書データの場合には、上記形態素解析が行われる。また、例えば英語の文書データの場合には、単語と単語との間に区切り（スペース）があるために文を形態素に区切るのは日本語と比べると比較的簡単ではあるが、形態素又は合成語の品詞を見分けることは必要である。
ステップ２  クラスタリング部（図８Ａの８０６）は、文書データを上記各語の重みから構成されるベクトルとして表す。文書データＤｉにおける文書ベクトルｄｉの各属性値ｄｉｋ（ｋ＝１，２，・・・・，ｎ）には、下記式５〜式７に示すＤｉにおけるｔｆ・ｉｄｆ（term frequency - inverse document frequency）値が用いられる。ｔｆ・ｉｄｆでは、ｔｆ（単語の出現頻度）及びｉｄｆ（逆出現頻度）の２つの指標に基づいて求められる。
【００３０】
【数５】
0005448105.tif 000006
【００３１】
【数６】
0005448105.tif 000007
【００３２】
【数７】
0005448105.tif 000008
【００３３】
なお、各ベクトルは、ｄｉの長さが１となるように正規化される。
【００３４】
当該ベクトルは、ベクトル空間モデル上で示される。ベクトル空間モデルは、当該ベクトルを使用して文書データを表現する検索モデルである。
【００３５】
ステップ３  クラスタリング部は、文書データ間の類似度又は距離を定義する。文書データのクラスタリングのために、文書データ同士がどれくらい似ているかという指標として、類似度又は距離を定義する必要がある。当該定義のための方法は、クラスタリングの対象となる文書データによって異なる。類似度又は距離を求める方法として、（１）階層的クラスタリング、（２）非階層的クラスタリング（ｋ−ｍｅａｎｓ）、（３）主成分分析などの次元縮約法、（４）確率モデルに基づく方法、及び（５）グラフ理論に基づく方法などがある。本発明の実施態様では、類似度又は距離を求める方法は、クラスタリング対象となる文書データによって適宜選択されうるが、上記（１）〜（５）の方法に限定されるものでない。
【００３６】
文書データＤｉ及びＤｊの文書ベクトルをそれぞれｄｉ及びｄｊとする。それら文書データ間の類似度ｓ（ｄｉ，ｄｊ）は、下記式８に示されるように下記ｄｉとｄｊとがなす角度の余弦で示されうる。
【００３７】
【数８】
0005448105.tif 000009
【００３８】
ステップ４  クラスタリング部は、上記類似度を用いて、クラスタリングを行う。
（１）上記階層的クラスタリングでは、例えば、上記式８で求められる類似度を用いて、以下のアルゴリズムによりクラスタを形成することが可能である。
ステップ１  クラスタリング部は、個々の文書データをそれぞれ１つのクラスタとする。
ステップ２  クラスタリング部は、クラスタの集合の中から、類似度が最大となるクラスタの組を求める。
ステップ３  クラスタリング部は、上記クラスタの組間の類似度が閾値以下であれば、クラスタリングを終了する。一方、クラスタリング部は、上記クラスタの組間の類似度が閾値以上であれば、当該組のクラスタを統合し、１つのクラスタとする。クラスタリング部は、ステップ２に戻り、ステップ２及びステップ３を繰り返す。
クラスタの組間の類似度は、例えば下記式９に示される最長距離法によって求められうる。最長距離法では、例えば、クラスタＧｉ及びＧｊ間の類似度には、Ｇｉに属する任意の文書データの文書ベクトルｘとＧｊに属する任意の文書データの文書ベクトルとの類似度のうち、最小の類似度を当該クラスタ間の類似度とする。
【００３９】
【数９】
0005448105.tif 000010
【００４０】
（２）上記非階層的クラスタリングでは、例えば、ｋ−ｍｅａｎｓ法を用いることが可能である。ｋ−ｍｅａｎｓ法では、以下のアルゴリズムによりクラスタを形成することが可能である。
クラスタの分割数をｋとし、文書データ数をｍ、クラスタＷに含まれる文書データの数をＮ（Ｗ）とする。
ステップ１  クラスタリング部は、ｋ個の初期クラスタを任意に決める。
ステップ２  クラスタリング部は、下記式１０に従い得られる文書データＤｉをクラスタＷに移動した場合の誤差の増加量ｅ（ｉ，Ｗ）を計算し、その最小値を持つクラスタＷに文書データＤｉを移す。
【００４１】
【数１０】
0005448105.tif 000011
【００４２】
但し、Ｄ（ｉ，Ｗ）は、文書データＤｉとクラスタＷとの距離であり、下記式１１〜１２により定義される。
【００４３】
【数１１】
0005448105.tif 000012
【００４４】
【数１２】
0005448105.tif 000013
【００４５】
ステップ３  クラスタリング部は、あるクラスタから他のクラスタへの文書データの移動がなければ終了する。一方、クラスタリング部は、文書データの移動があれば、ステップ２に戻る。
【００４６】
（３）上記次元縮約法として、例えば、潜在意味解析（Latent Semantic Analytics；ＬＳＡ）がある。ＬＳＡは、潜在的意味索引又は潜在意味インデックス（Latent Semantic Indexing；ＬＳＩ）とも呼ばれる。ＬＳＡでは、各文書データにおけるキーワードの出現頻度を表した文書−単語マトリクスを用いる。文書−単語マトリクスでは疎行列を使用し、列が単語又はフレーズに対応し、行が文書データに対応する。当該行列の各成分の重み付けとして、例えば上記ｔｆ・ｉｄｆが用いられる。ＬＳＡは、この疎行列を単語又はフレーズと何らかの概念の関係及び文書データ間の関係に変換する。これによって、キーワードは、文書データと概念を介して間接的に関連付けられる。ＬＳＡの実装例は、例えばBoostingアルゴリズムに基づいた、ＩＢＭ（ＩＢＭ社の登録商標）のInfoSphere（ＩＢＭ社の商標） Classification Moduleである。
【００４７】
また、文書データをベクトルとして表現しないでクラスタリングすることも可能である。例えば、共引用数又は書誌結合などを測定することによって、文書データ間の類似度を求めることができる。類似度が定義できれば、適切なクラスタリング方法でクラスタリングをすることが可能である。
【００４８】
本発明の実施態様において、「分類」（classification）とは、コンピュータによって自動的に又は人手によって主導的に、文書データをグループ分けすることをいう。文書データの集合を分類することによってできる又は文書データの集合を分類するためのグループをクラスとも呼ぶ。
分類は、例えば、方程式で表現されたモデル、ルールで表現されたモデル、確率で表現されたモデル及びマッチングを行うモデルに従い行われる。方程式で表現されたモデルは、例えば判別分析である。ルールで表現されたモデルは、例えばルールベース又は決定木である。確率で表現されたモデルは、例えばベイジアンネットワークである。マッチングを行うモデルは、例えば自己組織化マップである。
【００４９】
なお、文書データのクラスタリングでは、対象となる各文書データにクラス（ラベルともいう）が与えられずに、用意された文書データのキーワードからクラスを定義する教師無し学習に属する。すなわち、当該クラスタリングでは、事前にクラスを定義するのではなく、データ空間の定義を行い存在している文書データ間の類似度又は距離によってグループ化することによって行われる。一方、文書データの「分類」では、対象となる各文書データにクラスが与えられている教師有り学習に属する。分類では、文書データ中の１つのキーワード（目的変数であり、教師信号である）に着目したものである。
【００５０】
本発明の実施態様において、上記文書データそれぞれがクラスタ又はクラスに属するスコア又は確率とは、当該クラスタ又はクラスに当該文書データそれぞれが属するスコア又は確率をいう。確率は０〜１００％で示される。スコアは例えば点数で表される。
【００５１】
本発明の実施態様において、「第１のベクトル」とは、文書データが上記クラスタ又は上記クラスに属するスコア又は確率をベクトルとして表したものである。第１のベクトルは、当該スコア又は確率が例えば０〜１の実数に変換された値で示されてもよい。
【００５２】
本発明の実施態様において、「第２のベクトル」とは、検索キーワード又は関連キーワードが上記クラスタ又は上記クラスに属するスコア又は確率をベクトルとして表したものである。第２のベクトルは、当該スコア又は確率が例えば０〜１の実数に変換された値で示されてもよい。「第２のベクトル」は、文書データベースに用意された文書データには関係なく評価されるパラメータである。
【００５３】
本発明の実施態様において、「内積」とは、文書データそれぞれについての第１のベクトルそれぞれと、検索キーワードについての第２のベクトルに対して、ある数（スカラー）を定める演算である。第１のベクトルをｘ＝[ｘ１，ｘ２，・・・，ｘｎ]とし、第２のベクトルをｙ＝[ｙ１，ｙ２，・・・，ｙｎ]とした場合、当該第１のベクトルと当該第２のベクトルとの内積値は下記式１３に従い求められる。内積値は、第１のベクトルそれぞれについて求められる。
【００５４】
【数１３】
0005448105.tif 000014
【００５５】
本発明の実施態様において、「相関値」は、検索キーワードと相関の強いファセット・キーワードを検出するために、或いは、検索キーワード及び概念検索の結果として得られる文書データと相関の強いファセット・キーワードを検出するために用いられる。相関値が高いほど、検索キーワードと相関が強い。
【００５６】
本発明の実施態様において、第１の態様の検索方法は、第１の態様の相関値を求めることによって行われる。第１の態様の相関値は、分類キーワードセットの個々のキーワードを含む文書データの第１のデータセットと、上記スコアが所定の閾値以上である又は上記スコアが上位所定割合に含まれる文書データの第２のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから求められる。この場合、相関値は相関関数を用いて計算される。当該相関関数は、例えば下記式２０の相関関数に従い求められる。
【００５７】
本発明の実施態様において、第２の態様の検索方法は、第２の態様の相関値を求めることによって行われる。第２の態様の相関値は、分類キーワードセットの個々のキーワードを含む文書データの第１のデータセットと、前記スコアが所定の閾値以上である又は前記スコアが上位所定割合に含まれる文書データの第２のデータセットと、前記検索キーワード又は関連キーワードを含む文書データの第３のデータセットと、当該第１のデータセットと当該第２のデータセットとの両方に存在する文書データの共通のデータセットとから求められる。この場合、相関値は相関関数を用いて計算される。当該相関関数は、例えば下記式２６の相関関数に従い求められる。
【００５８】
本発明の実施態様において、「分類キーワードセット」とは、ファセット・キーワードとも呼ばれる。ファセットとは情報の切り口のことである。ファセットでは、複数の属性値（ファセット値）をメタデータとして使用する。本発明において、分類キーワードセットは、複数のファセット・キーワード（単に、ファセット・キーワードともいう）である。ファセット・キーワードは、例えば、辞書中の単語又はフレーズ・セットをそのまま使ってもよい。代替的には、ファセット・キーワードは、例えばユーザによって辞書中の単語又はフレーズから選択されうる。ファセット・キーワードの選択は、例えば、アプリケーション上においてツリー上で表示されたファセット・キーワードをユーザに選択させることによって行われる。ファセット・キーワードはまた、ユーザが必ずしも直接的に選択する必要はなく、コンピュータによって自動的に選択させてもよい。
【００５９】
本発明の実施態様において、「分類キーワードセットの個々のキーワードを含む文書データ」とは、文書データの集合のうち、ファセット・キーワードを含む文書データ（第１の文書データ）である。「分類キーワードセットの個々のキーワードを含む文書データの第１のデータセット」とは、当該第１の文書データからなる集合体である。
【００６０】
本発明の実施態様において、「スコアが所定の閾値以上である又はスコアが上位所定割合に含まれる文書データ」とは、文書データの集合のうち、第１のベクトルと第２のベクトルとの内積値（スコア）が所定の閾値以上の文書データ（第２の文書データ）、又は、文書データの集合のうち、上記スコアが上位所定割合に含まれる文書データ（第２の文書データ）である。「スコアが所定の閾値以上である又はスコアが上位所定割合に含まれる文書データの第２のデータセット」とは、当該第２の文書データからなる集合体である。  
【００６１】
本発明の実施態様において、「検索キーワード又は関連キーワードを含む文書データ」とは、文書データの集合のうち、検索キーワードを含む文書データ又は関連キーワードを含む文書データ（第３の文書データ）である。「検索キーワード又は関連キーワードを含む文書データの第３のデータセット」とは、当該第３の文書データからなる集合体である。
【００６２】
本発明の実施態様において、「第１のデータセットと第２のデータセットとの両方に存在する文書データの共通のデータセット」とは、上記第１のデータセットと上記第２のデータセットの両方に存在する本書データからなる集合体である。
【００６３】
以下、図１Ａ〜図５Ｄにおいて本発明の実施態様で使用される技術を説明し、次に図６Ａ〜図１０において本発明の実施態様を説明する。本実施態様は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図面を通して、特に断らない限り、同一の符号は、同一の対象を指す。
なお、
【００６４】
図１Ａは、文書データのクラスタリング又は分類を含む、索引データベースの作成のフローを示す。
Ａ．索引データベースの作成
索引データベース（１１４）の作成では、文書データ（１１１）から単語及びフレーズを抽出し（１０１）、文書データをクラスタリング又は分類し（１０２）、そして検索キーワードから当該検索キーワードを含む文書データを特定するための索引の作成を行う（１０３）。索引として、単語又はフレーズが文書データに索引付けられる。なお、文書データがクラスタ又はクラスに属するスコア又は確率は、文書データにメタデータとして付与されるものである。以下、索引データベースの作成を図１Ａのステップ１０１〜１０３に従い説明する。
ステップ１０１では、コンピュータ内の自然言語解析を処理する解析処理部（図８Ａの８０６）は、用意された文書データ（１１１）の自然言語解析を行う。文書データ（１１１）は、例えば文書データベースを格納する記憶装置又はその他の記録媒体に格納されている。自然言語解析は、例えば、図１Ｃに示すように下記４つのステップから構成される：形態素解析（１２１）、構文解析（１２２）、意味解析（１２３）及び文脈解析（１２４）。自然言語解析は、例えば、市販の自然言語解析アプリケーション・ソフトウェアを使用して行ってもよい。例えば、自然言語解析エンジンは、ＩＢＭ（ＩＢＭ社の登録商標）OmniFind（ＩＢＭ社の登録商標） Enterprise Editionの一部の機能として実装されている。当該解析処理部は、文書データが入力されると又は文書データを取得すると、当該文書データ（１１１）から単語を抽出する。当該抽出には、単語辞書（１１２）及び単語の抽出ルール（１１３）が使用される。単語辞書（１１２）は、自然言語解析によって文書データから単語を抽出するために使用される辞書である。単語辞書は、例えば、文書データの内容の分野又は当該内容に類似の分野の辞書を使用しうる。抽出ルール（１１３）は、自然言語解析によって文書データから単語を抽出するために使用される規則又は決まりである。自然言語解析では、単語辞書（１１２）を使用して、上記抽出された単語に品詞情報をさらに付加する。そして、解析処理部は、品詞情報が付加された単語及び抽出ルール（１１３）に基づいてフレーズをさらに抽出してもよい。
ステップ１０２では、上記コンピュータ内のクラスタリング部は、文書データベースに格納されている文書データ（１１１）をクラスタリング又は分類する。文書データのクラスタリングでは、文書データ間の類似度又は距離に基づき、文書データをグループ分けする。文書データの分類では、コンピュータによって自動的に又は人手によって主導的に、文書データをグループ分けする。クラスタリング又は分類において、文書データ毎に、各クラスタのスコアが求められる。当該スコアを求める方法は、クラスタリング又は分類のアルゴリズムにより異なる。言い換えれば、スコアを定義するのが上記アルゴリズムである。例えば単語空間にマップする方法では、単語空間において、各クラスタそれぞれがクラスタを代表する点として定義され、且つ各文書データも点として定義される。当該マップする方法の場合、点間の距離の逆数をスコアとすることができる。別の方法として、点をベクトルと考え、内積で定義する方法がある。さらに別の方法として、単語の出現頻度を統計的な確率とみなし、ベイズ・ルールで確率を求めて、スコアとする方法がある。クラスタリングの具体例を、図３Ａ〜図３Ｃを用いて別途説明する。
ステップ１０３では、上記コンピュータ内の索引付部（図８Ａの８０７）は、検索対象である文書データを内部で処理できる形式（内部表現）（図１Ｄの１３２を参照）に置き換える。この内部表現を索引ともいう。索引付部は、文書データ（１１１）から抽出された単語又はフレーズ（以下、まとめて「キーワード」ともいう）を索引として、索引データベース（１１４）に保存する。また、索引付部は、文書データ毎に、各クラスタのスコアを有する文書リストを作成する。当該部文書リストは、索引データベース（１１４）に保存されてもよいし、他のデータベースとして記録媒体内に保存されてもよい。文書リストにおいて、各文書データにおける各クラスタのスコアを全て保存すると冗長であり、データ量が多くなる。よって、スコアが所定の閾値よりも大きいスコア又は所定の割合を有するクラスタのスコアが文書リスト中に保存され、その他のクラスタのスコアはゼロとみなされるようにしてもよい。
ステップ１０１〜１０３を繰り返すことによって、索引データベース（１１４）が作成される。索引データベース（１１４）が作成されることによって、ユーザから入力された又はコンピュータによって作成された検索キーワードに基づいて、索引データベース（１１４）を用いた文書データの検索が可能になる。文書データの検索の概要を図１Ｂに示す。
【００６５】
索引の作成は、検索の効率化又は目的に応じて、上記ステップ１０３において説明したようにコンピュータによって自動的に索引を作成することができるが、検索の効率化又は目的に応じて人手によって索引を作成してもよい。索引は、ユーザから入力された又はコンピュータによって作成されたクエリとの照合に用いるために、文書データの内容を上手く表したものであることが重要である。
【００６６】
コンピュータによる自動的な索引の作成は、検索対象である文書データから自動的に語を切り出して、例えば当該語の品詞又は統計的な情報に基づいて自動的に索引を当該文書データに関連付け、当該検索キーワードを索引データベースに登録する方法である。日本語では、英語のように分かち書きされていないために、文書データ中の語を自動的に分割する必要がある。当該分割のために、上記形態素解析が使用されうる。分割によって、複合語である場合、助詞及び助動詞のような機能語が索引から削除されて、自立語のように意味を持つ内容語のみを索引として索引データベース（１１４）に登録してもよい。
また、自動的な索引の作成のためにｎグラム索引を使用しうる。ｎグラム索引では、分割された語でなく、文の先頭から１文字ずつずらしながら連続するｎ文字を索引とするｎグラム索引が使用されうる。しかし、ｎグラム索引では、意味のない索引も作成されてしまう。
また、自動的な索引の作成のために、重要度を使用しうる。重要度は、上記文書データから抽出された索引が、当該索引が含まれている文書データの内容とどれだけ密接に関連しているからを表す。当該重要度が検索キーワードに付与されることによって、より適切な文書データの検索が可能である。文書データの重要度は、通常、当該検索キーワードが含まれる文書データによって異なりうる。
重要度の計算方法は、例えばｔｆ・ｉｄｆが用いられる。ｔｆとは、索引の文書データ内の出現頻度であり、あるキーワードが文書データ中で多く存在するほど重要であると判断される。すなわち、出現頻度の値が大きい索引ほど文書データ内で重要であることを表している。ｄｆとは、文書データの集合中で索引が出現する文書データ数であり、ｉｄｆはその逆数である。ｔｆ・ｉｄｆでは、文書データの集合において、特定のキーワードがある特定の文書データに多く出現する場合には当該キーワードは重要であるが、一方当該特定のキーワードが文書データの集合中にどの文書データにも現れる場合には重要度が下がる、という性質を表す。この性質を用いて、索引に重み付けを行うことができる。
ｔｆ・ｉｄｆによる当該重み付けを使用して、与えられた検索キーワードの重要度が高い文書データが優先的に検索結果として抽出されうる。
【００６７】
人手による索引の作成とは、例えばデータベース管理者が文書データの内容を見て、検索のために重要であると考える単語又はフレーズを文書から抜き出し、当該単語又はフレーズを索引とする方法である。
【００６８】
図１Ｂは、文書データの検索の概要のフローを示す。
Ｂ．文書データの検索
文書データの検索は、上記図１Ａで作成された索引データベース（１１４）を使用して行われる（１０４）。以下、文書データの検索を図１Ｂのステップ１０４〜１０５に従い説明する。
ステップ１０４では、検索サーバは、ユーザ端末に入力されたクエリ（１１５）を、例えばネットワークを介して受信する。クエリは、例えば検索式として表される。検索式は、検索キーワードを有している。検索サーバ内の索引付部は、クエリをシステム内部で処理できる形式（内部表現）（図１Ｄの１３１を参照）に置き換える。検索サーバ内の検索部は、索引データベース（１１４）にアクセスし、例えばクエリの内部表現（１３１）と文書データの内部表現（図１Ｄの１３２）を照合することにより（図１Ｄの１０４を参照）、上記クエリを満たす検索結果を得ることができる。検索サーバは、ユーザ端末に検索結果を送信する。
ステップ１０５では、ユーザ端末は、上記検索結果をその表示装置上に表示する。検索結果は、例えば、文書データがリストとして表示され、好ましくは文書データのリストがクエリと相関値の高い順に表示される。
なお、検索サーバとユーザ端末が同じであってもよい。ユーザ端末と検索サーバが同じである場合、ユーザ端末はユーザから入力された又はコンピュータによって作成されたクエリを受信すると、当該ユーザ端末の索引付部は、クエリをシステム内部で処理できる形式（内部表現）に置き換える（図１Ｄの１３１を参照）。ユーザ端末内の検索部は、索引データベース（１１４）にアクセスし、上記クエリを満たす検索結果を得る。ユーザ端末は、上記検索結果をその表示装置上に表示する。
【００６９】
図１Ｃは、自然言語解析の概要のフローを示す。
自然言語解析は、解析処理部によって行われる。解析処理部は、形態素解析処理部、構文解析処理部、意味解析処理部、及び文脈解析処理部を備えている。
ステップ１２１では、形態素解析処理部が、文書データ（１１１）の文節を形態素解析する。形態素解析では、活用法が利用情報として使用される。形態素解析では、用語などの活用している語は原形に戻され、文書データから抽出された全ての語に品詞が割り当てられる。形態素解析では、例えば、当該文節内の単語の並び方が形態論的に正しい結果だけを用いることができる。
ステップ１２２では、構文解析処理部が、上記形態素解析された結果を用いて、構文解析する。構文解析では、例えば、文書データに従う各言語の文法が利用情報として使用され、統語構造が抽出される。統語構造とは、文の持つ規則的配列構造である。構文解析では、例えば、文法を用いて、単語又はフレーズの間の修飾関係が解析されて、文の統語構造が得られる。
ステップ１２３では、意味解析処理部が、単語又はフレーズが持つ意味情報を持つ辞書を用いて、単語、フレーズ又は文の意味を抽出する。意味解析では、形態素解析及び構文解析で生じた曖昧性が解消される。
ステップ１２４では、文脈解析処理部が、意味解析の結果を用いて、文脈解析を行う。文脈解析では、例えば名詞句の解析、動詞句の解析が行われる。名詞句の解析では、中心となる名詞を概念化し、当該名詞を修飾している情報を統合する。動詞句の解析では、動詞を概念化し、そして副詞などの修飾語を統合した後に、名詞句の深層格とともに動詞句に統合していく（スロットフィリング）。
以上のステップ１２１〜ステップ１２４によって、自然言語解析による理解結果（１１６）が得られる。
【００７０】
図１Ｄは、文書データの内部表現とクエリの内部表現との照合による検索の一例を示す。
ステップ１０４では、検索部は、クエリ（１１５）から作成されたクエリの内部表現（１３１）と、文書データそれぞれの内部表現（１３２）を照合し、当該クエリに合致する文書データの検索を行う。
ステップ１０５では、検索部は、合致した文書データの検索結果を、例えばリスト形式で表示装置上に表示する。
【００７１】
図２は、図１Ａのステップ１０１〜１０３の内容を、文書データの具体例を用いて説明したものである。
文書データ（２１１）の具体例では、オリジナル文書データ１（２２１）を用いて説明する。オリジナル文書データ１（２２１）の内容は、次の通りである：「対向車を避けようと、ハンドルを強くきった。日時  2007/07/07  7:00AM」。
ステップ２０１〜２０３が、図１Ａのステップ１０１〜１０３にそれぞれ対応する。
ステップ２０１では、解析処理部（図８Ａの８０６）は、オリジナル文書データ１（２２１）の自然言語解析をする。その結果は次の通りである：「対向車（名詞）  避ける（動詞）  ハンドル（名詞）  強く（形容詞）  きる（動詞）」（２２２）。自然言語解析によって、用語などの活用している語は原形に戻されている。また、自然言語解析によって、各語に品詞が割り当てられている。
ステップ２０２では、クラスタリング部（図８Ａの８０６）は、文書データ（２１１）をクラスタリング又は分類する。
図２に示したクラスタ１〜３それぞれは、文書データに含まれる語全てを参照して、共通語の多いもの同士をクラスタリングしたものである。図２では、クラスタ１〜３の各スコアが示されている（２２３）。クラスタ１〜３の各スコア（２２３）は、オリジナル文書データ１が各クラスタに属するスコアを示している。例えば、文書データの集合が交通事故報告に関するものである場合、クラスタ１は「運転ミスによる事故」、クラスタ２は「エンジンの故障による事故」、及びクラスタ３は「雨などによる事故」である。しかし、クラスタには、例えば必ずしも人間が見て意味がないクラスタも存在する。なお、クラスタは、一般的に、例えばｔｆ・ｉｄｆを用いて、どの文書データにも出現する頻出単語からの寄与は小さくなるようにしてある。また、各クラスタは特定の単語又はフレーズだけでできているわけでない。例えば、文書データの集合が上記交通事故報告に関するものである場合、「運転ミスによる事故」のクラスタ１では例えば「ハンドル」及び「ブレーキ」が顕著な単語として表れ、及び「エンジンの故障による事故」のクラスタ２では例えば「オイル」及び「ガスケット」が顕著な単語として表れる。
ステップ２０３では、索引付部（図８Ａの８０７）は、文書データ（２０１）の索引である単語又はフレーズ（２２４）を索引データベース（２１４）内に保存する。索引データベース（２１４）はまた、文書リスト（２２５）を格納してもよい。単語・フレーズ索引（２２４）は、文書データ（１１１）から抽出された単語又はフレーズを索引として有している。また、単語・フレーズ索引（２２４）はまた、文書データの作成日である日付を索引として有していてもよい。日付は文書データの索引として必須ではないが、単語又はフレーズ以外に、文書データの作成日などの文書データのメタデータとして利用可能なものは索引化されうる。文書データの作成日は、例えば、特定の期間内に作成された文書データに検索対象を絞って解析したい場合に有用である。文書リスト（２２５）は、文書データ毎に、各クラスタにおけるスコアを記録する。文書リスト（２２５）では、オリジナル文書データ１についてのクラスタ１〜３のスコアの大きいもののみを保存し、他のクラスタのスコアをゼロとみなして保存しなくてもよい。なぜならば、実際には、文書リスト（２２５）内に全クラスタのスコアを保存すると冗長であり、文書リストのファイルサイズが大きくなるだけであるからである。よって、文書リスト（２２５）内に大きなスコアを持つクラスタのスコアのみを保存し、他のクラスタのスコアをゼロとみなす。文書リスト（２２５）内には、オリジナル文書データ１〜ｎそれぞれについての各クラスタのスコアが保存されている。
【００７２】
図３Ａは、複数の文書データのクラスタリングの第１の態様の概念図を示す。
第１の態様は、各単語の出現頻度を独立した次元とみなし、ベクトル空間モデルに文書データをプロットしてクラスタリングする方法である。ベクトル空間モデルを単語空間とも呼ぶ。
本ベクトル空間モデルでは、単語１の出現頻度がＸ軸、単語２の出現頻度がＹ軸、及び単語３の出現頻度が矢印で示す軸に示されている。よって、図３Ａで示したベクトル空間モデルは３次元である。なお、単語がＮ個（Ｎは整数）ある場合には、Ｎ次元となる。単語が１億個ある場合にはＮが１億であることから、そのベクトル空間モデルは１億次元である。
本第１の態様では、例えば以下のステップに従いクラスタリングを行う。
ステップ１  文書データが与えられると、文書データで指定されている属性又は文書データで用いられている文字コードから、文書データの言語が何であるか（例えば、日本語、英語又は中国語）を特定する。
ステップ２  特定された言語用の辞書を用いて、形態素解析を行い、文書データ中の全ての単語又はフレーズを切り出す。また、辞書にない語を未知の単語として、取り出す。これによって、１つの文書データに対して、当該文書データに含まれる単語又はフレーズの一覧とそれぞれの単語又はフレーズの出現頻度との一覧表が作られる。
ステップ３  上記一覧表を用いて、文書データ毎の単語一覧の和集合を求める。この一覧の単語それぞれが、図３Ａに示すベクトル空間モデルの次元となる。例えば、全部で１億個の単語又はフレーズが切り出せたとすると、ベクトル空間モデルは１億次元である。このベクトル空間モデルの点として、各文書データが当該モデル内にそれぞれプロットされる。
ステップ４  上記プロットされた点間の距離に基づいて、それぞれの文書データがクラスタリングされる。それによって、ある範囲内にある文書データのグループがクラスタリングされる。
当該クラスタリングのアルゴリズムとして、例えば、ＬＳＩ／ＬＳＡ、ＬＤＡ（Latent Dirichlet Allocation）又はｋ−ｍｅａｎｓが使用されうる。
図３Ａにおいて、クラスタリングによって、文書データはグループ１〜４（３０１〜３０４）にグループ分けされている。
【００７３】
図３Ｂは、複数の文書データのクラスタリングの第２の態様の概念図を示す。
第２の態様は、共通する単語の出現頻度により文書データをクラスタリングする方法である。
図３Ｂにおいて、上記第１の態様と同様に、単語１の出現頻度がＸ軸、単語２の出現頻度がＹ軸、単語３の出現頻度が矢印で示す軸、・・・、及び単語Ｎの出現頻度がＮ軸（図示せず）に示されている。
例えば、単語として、「細胞」、「ＤＮＡ」及び「酸」が切り出された場合、「細胞」、「ＤＮＡ」及び「酸」はそれぞれ、単語Ｉ、Ｊ及びＫである（０≦Ｉ，Ｊ，Ｋ≦Ｎ）。  第２の態様においても、上記第１の態様と同様に、各文書データがベクトル空間モデル内にそれぞれプロットされる。第２の態様では、文書データが必ずしも分野別に分かれるわけではない。第２の態様を用いて、クラスタリングが可能である理由は次の通りである。上記に述べたように、例えば全部で１億個の単語又はフレーズが切り出せたとすると、ベクトル空間モデルは１億次元である。しかし、１億次元のベクトル空間に文書データを点としてプロットするとかなり疎な状態になる。同じトピックを扱う文書データ同士は共通の語を含む可能性が高いために、同じトピックを扱う各文書データはある空間に偏在する可能性が高い。例えば、バイオ関係の文書データでは、動画技術関係で言及される単語又はフレーズが少ない。よって、バイオ関係の文書データの集合と動画技術の文書データの集合とがベクトル空間モデル内で分離されることが期待される。
図３Ｂにおいて、クラスタリングによって、文書データは、グループ１（細胞，ＤＮＡ，酸、・・・）というバイオ関係の文書データの集合（３１１）、グループ２（動画，録画，ＭＰＥＧ、・・・）という動画技術関係の文書データの集合（３１２）、グループ３（電子，トランジスタ，電荷、・・・）という電子関係の文書データの集合（３１３）及びグループ４（液体，流体，バルブ、・・・）制御技術関係の文書データの集合（３１４）にグループ分けされている。
【００７４】
図３Ｃは、複数の文書データのクラスタリングの第３の態様の概念図を示す。
第３の態様は、各クラスタの重心の各単語の出現頻度により文書データをクラスタリングする方法である。
図３Ｃにおいて、上記第１の態様と同様に、単語１の出現頻度がＸ軸、単語２の出現頻度がＹ軸、単語３の出現頻度が矢印の方向、・・・、及び単語Ｎの出現頻度がＮ軸（図示せず）に示されている。
ベクトル空間モデル内の点の群れ（クラスタ）を、重さを持った質点の集合とみなすと、その重心が存在することになる。この重心がクラスタの重心である。当該重さについて、各点が均一な重さを持つとしてもよいし、又は点毎にｔｆ・ｉｄｆを用いて重みを付けてもよい。重さが均一な場合、重心の定義はそれぞれの質点の座標の平均である。
第３の態様においても、上記第１の態様と同様に、文書データがベクトル空間モデル内にそれぞれプロットされる。その先については、どのようなアルゴリズムを用いるかによってどのようにクラスタリングするかは異なる。アルゴリズムとして、当業者に知られている慣用の方法が使用されうる。
図３Ｃにおいて、クラスタリングによって、文書データは、グループ１（細胞，ＤＮＡ，酸、・・・）（３２１）、グループ２（動画，録画，ＭＰＥＧ、・・・）（３２２）、グループ３（電子，トランジスタ，電荷、・・・）（３２３）及びグループ４（液体，流体，バルブ、・・・）（３２４）にグループ分けされている。
【００７５】
図４Ａは、検索キーワードＢを含む文書データのデータセットとキーワードＡを含む文書データのデータセットとから、重複する文書データのデータセットを抽出する概念図を示す。
図４Ａでは、全ての文書データＤ（４０１）、検索キーワードＢを含む文書データの集合（４０２）及びキーワードＡを含む文書データの集合（４０３）が示されている。図４Ａの例では、検索キーワードＢを含む文書データの集合（４０２）とキーワードＡを含む文書データの集合（４０３）との一部が共通している（４０６）。当該共通部分（４０６）は、検索キーワードＢを含む文書データの集合及びキーワードＡを含む文書データの集合の共通部分である。一方、円（４０２）のうち部分（４０４）は、検索キーワードＢを含む文書データの集合であり且つ共通部分（４０６）を含まない部分である。円（４０３）のうち部分（４０５）は、キーワードＡを含む文書データの集合であり且つ共通部分（４０６）含まない部分である。
相関関数Ｆは、共通部分（４０６）の文書データの数が期待値よりも大きい（１よりも上）か、又は小さいか（１以下）を知るために用いる。相関関数Ｆは図４Ａにおいて使用されている符号を用いて表した場合、下記式１４又は式１５の相関関数Ｆに従い求められる。
【００７６】
【数１４】
0005448105.tif 000015
【００７７】
【数１５】
0005448105.tif 000016
【００７８】
相関関数Ｆに従い求められる相関値が期待値よりも大きいということは検索キーワードＢとキーワードＡとの間に相関（因果関係）があり、お互いに関連していることを示す。
【００７９】
図４Ｂは、図４ＡのキーワードＡがファセット・キーワードＡである場合に、ファセット・キーワードを含む文書データのデータセットと検索キーワードを含む文書データのデータセットとの関係を示す。
ファセット・カウントは、キーワード検索のために標準的に使用される方法である。カウントとは、文書データの数を数えることである。ファセット・カウントを身近な例で説明すると、例えばインターネットショッピングのサイトにおいて商品名を入力して検索すると、価格帯別又はメーカー別に該当商品の数が表示されるような場合である。これによって、その商品が大体どの程度の値段で販売されているか、又は、どのメーカーがその商品を多数販売しているかなどの知見を得ることができる。
ファセット・カウントでは、与えられた検索キーワードＢを含む文書データの集合に対して、ファセット・キーワードとして指定されたキーワードＡの集合（以下、「ファセット・キーワードＡ」ともいう）のそれぞれの要素（キーワード）が含まれる文書データの数を数える。それによって、ファセット・キーワードＡのうちから、検索キーワードＢに対して顕著なキーワードを探すことが可能になる。
図４Ｂでは、ファセット・キーワードＡが種々変更された場合に、検索キーワードＢを含む文書データの集合に対して、当該変更されたファセット・キーワードＡのそれぞれの要素（キーワード）がどれだけの出現頻度で文書データに含まれるかを示している。
図４Ｂの検索キーワードＢを含む文書データの集合（４０２）は、図４Ａの検索キーワードＢを含む文書データの集合（４０２）と同一である。
図４Ｂでは、ファセット・キーワードＡを含む文書データの集合を円（４０３Ａ、４０３Ｂ及び４０３Ｃ）で示す。図４Ｂのファセット・キーワードＡを含む文書データの集合（４０３Ａ、４０３Ｂ及び４０３Ｃ）は、図４ＡのキーワードＡを含む文書データの集合（４０３）に対応する。なお、図４Ｂではスペースの都合上、３つの円を記載しているだけであって、ファセット・キーワードがＮ個（Ｎは整数）であれば、Ｎ個の円（４０３Ａ〜４０３Ｎ）がある。ファセット・キーワードＡは例えばａ１、ａ２、及びａ３（…ａｎ）である。この場合、円（４０３Ａ）がａ１を含む文書データの集合であり、円（４０３Ｂ）がａ２を含む文書データの集合であり、及び円（４０３Ｃ）がａ３を含む文書データの集合である。図４Ｂでは、ファセット・キーワードＡを変えていくことにより、各円（４０３Ａ、４０３Ｂ及び４０３Ｃ）の中心（４０７Ａ、４０７Ｂ及び４０７Ｃ）が移動することが示されている。そして、該移動の結果、検索キーワードＢを含む文書データの集合（４０２）とファセット・キーワードＡを含む文書データの各集合（４０３Ａ、４０３Ｂ及び４０３Ｃ）との共通部分（４０６Ａ、４０６Ｂ及び４０６Ｃ）が移動していく様子がわかる（図４Ｂの右側の）。当該共通部分が移動するということは、共通部分にある文書データと、当該共通部分に含まれる文書データの数（出現頻度）が変化していくことを意味する。図４Ｃで説明するようにファセット・キーワードと検索キーワードとの相関値を計算することによって、検索キーワードＢに対して相関の強いファセット・キーワードの集合を切り出すことが可能になる。
【００８０】
図４Ｃは、図４Ｂのファセット・カウントを用いて、ファセット・キーワードＡと検索キーワードとの相関値を計算し、検索キーワードと相関の強いキーワードを検出する概念図を示す。
ファセット・キーワードＡの１〜４がそれぞれ、ＭＰＥＧ（４１１）、フーリエ変換（４１２）、有機ＥＬ（４１３）及びホログラム（４１４）であるとする。ファセット・キーワードは、例えば、文書データに含まれる特殊名詞である。
図４Ｃに示す横長の長方形（４１１、４１２、及び４１３）が、図４Ｂの例えば４０３Ａ、４０３Ｂ及び４０３Ｃにそれぞれ相当する。なお、図４Ｂでは、図４Ｃの４１４に対応する円の記載がないだけである。
点線矢印（４１５）は、検索キーワードＢに対して、ファセット・キーワードＡを変えていくことを示す。
ファセット・キーワードＡそれぞれについて、クエリ中の検索キーワードＢとの相関値は、例えば、下記式１６の相関関数ｃｏｒｒｒｅｇｕｌａｒ（ｓ，ｔ）及び式１７〜式１９に従い求められる。下記式によれば、文書データが、概念検索の結果として得られる文書データの集合（６１６）に含まれているか又は含まれていないかは、０又は１（含まれる／含まれない）の２値で表される。
【数１６】
0005448105.tif 000017
【００８１】
ｃｏｒｒｒｅｇｕｌａｒ（ｓ，ｔ）は、Ｐｒｅｇｕｌａｒ（ｓ∩ｔ）をＰｒｅｇｕｌａｒ（ｓ）×Ｐｒｅｇｕｌａｒ（ｔ）で除した値である。Ｐｒｅｇｕｌａｒ（ｓ）は、式１７に従い求められる。Ｐｒｅｇｕｌａｒ（ｔ）は、式１８に従い求められる。Ｐｒｅｇｕｌａｒ（ｓ∩ｔ）は、式１９に従い求められる。
【００８２】
【数１７】
0005448105.tif 000018
【００８３】
ｓは、ファセット・キーワードである。
ｄは、文書データである。
δｓ，ｄは、ファセット・キーワードｓが、文書データｄに含まれる場合は１であり、それ以外の場合は０である。
Ｎは、文書データの総数である。
よって、Ｐｒｅｇｕｌａｒ（ｓ）は、ファセット・キーワードｓが文書データｄに含まれるスコアの総数を文書データの総数Ｎで除した値である。
【００８４】
【数１８】
0005448105.tif 000019
【００８５】
ｔは、検索キーワードである。
δｔ，ｄは、検索キーワードｔが、文書データｄに含まれる場合は１であり、それ以外の場合は０である。
よって、Ｐｒｅｇｕｌａｒ（ｔ）は、検索キーワードｔが文書データｄに含まれるスコアの総数を文書データの総数Ｎで除した値である。
【００８６】
【数１９】
0005448105.tif 000020
【００８７】
Ｐｒｅｇｕｌａｒ（ｓ∩ｔ）は、検索キーワードｔ及びファセット・キーワードｓの両方が文書データｄに含まれるスコアの総数を文書データの総数Ｎで除した値である。
【００８８】
ｃｏｒｒｒｅｇｕｌａｒ（ｓ，ｔ）は、検索キーワードｔが文書データに含まれることとファセット・キーワードｓが文書データに含まれることとに因果関係がない場合に、統計的に１となり、共起の関係がある場合に１よりも大きな値をとる。
【００８９】
よって、上記式１６〜式１９にファセット・キーワードＡ及び検索キーワードＢを当てはめて、ｃｏｒｒｒｅｇｕｌａｒ（ｓ，ｔ）を計算し、ファセット・キーワードＡを様々に変化させたときに、当該相関値が大きいファセットが、検索キーワードＢに対して相関の強いキーワードである。
【００９０】
図４Ｄは、図４Ｂのファセット・カウントを用いて、検索キーワードと相関の強いキーワードを検出するために使用する索引を作成するためのフローを示す。
ステップ４２１では、索引の作成を開始する。索引の作成のために、以下では、解析処理部（図８Ａの８０６）又は索引付部（図８Ａの８０７）が使用されるがこれらに限定されるものでない。
ステップ４２２では、解析処理部は、文書データ（４３１）を記憶装置からメモリ内に読み込む。
ステップ４２３では、解析処理部は、文書データで指定されている属性又は文書データで用いられている文字コードから、辞書又はファセット定義を含む辞書（４３２）を使用して文書データの言語を検知する。辞書には、単語又はファセット定義が登録されているが、言語の検知にはファセット定義は関係ないため、言語の検知のためにファセット定義を含まない辞書を用いてもよい。
ステップ４２４では、解析処理部は、特定された言語用の辞書（４３２）を用いて形態素解析を行い、文書データ中の全ての単語又はフレーズを検出する。例えば「日本国特許庁」という語がある場合に、辞書（４３２）を使用して「日本国」、「特許庁」に分解する。しかし、辞書がないと、「日本国」で区切るのか、「日本国特」で区切るのかが不明となる。ファセット定義は、このうちの特に指定した興味のある単語だけがファセット・キーワードとして定義されたものであり、それ以外の単語を無視するためにある。
ステップ４２５では、索引付部は、検出された単語若しくはフレーズを索引として文書データに索引付けする。索引は、例えば、索引データベース（４３３）に格納される。また、索引付部はまた、当該検出された単語又はフレーズの重みをメタデータとして索引に付随して保管してもよい。
ステップ４２６では、文書データ（４３１）全てについて、上記ステップ４２２〜４２５を繰り返し、索引の作成を終了する。
【００９１】
図４Ｅは、図４Ｄにおいて作成された索引を使用して、検索キーワードとの相関検出のフローを示す。
ステップ４４１では、検索部は、相関検知を開始する。
ステップ４４２では、検索部は、ユーザから入力された又はコンピュータによって作成された検索キーワードｔを受信し、メモリ又は記憶装置に格納する。検索キーワードは、１以上の単語、１以上のフレーズ、若しくはそれらの組み合わせ（長い文書であってもよい）であり、例えばＳＱＬ内に組み込まれている。
ステップ４４３では、検索部は、索引データベース（４３３）中の索引を用いて、全文書データのリストＡを取得する。索引では、辞書式に全単語又はフレーズが並べられており、各単語又はフレーズに対して、それを含む文書データのリストを取れるようにしたものである。リストＡは、例えば、文書データを識別するための識別子（ＩＤ）及び該当する単語又はフレーズが当該文書データ中で出現する場所の情報を含む。当該リストＡの取得によって、リストＡの長さがわかる。リストＡの長さとは、全文書データ（４３１）の数を表す。
ステップ４４４では、検索部は、索引データベース（４３３）中の索引を用いて、検索キーワードｔを含む文書データのリストＢを取得する。当該リストＢ取得によって、リストＢの長さがわかる。リストＢの長さとは、検索キーワードｔを含む文書データの数を表す。
ステップ４４５では、検索部は、索引データベース（４３３）中の索引を用いて、ファセット・キーワード毎に、そのキーワードｓを含む文書データのリストＣ［ｓ］を取得する。ファセット・キーワードとして、ファセットとして定義されている全てのキーワードが使用される。なお、ファセットとして定義されていない場合、ファセット・キーワードとして、辞書（４３２）中の全ての単語が使用される。
ステップ４４６では、検索部は、リストＡの長さ、リストＢの長さ、リストＣ［ｓ］の長さより、ファセット・キーワード毎の相関値を計算する。相関値は、例えば、上記式１６〜式１９に従い求められる。該相関値の値が高いほど、検索キーワードと相関性の強いキーワードである。
ステップ４４７では、検索部は、相関検知を終了する。
【００９２】
図５Ａ〜図５Ｄでは、概念検索を説明する。
概念検索では、文書データベースに蓄積される文書データについての文書ベクトルを事前に用意しておく。そして、実際に概念検索を行う際に、クエリとして入力された検索キーワードを解析して求められる文書ベクトルと、上記事前に用意しておいた各文書ベクトルとの内積を求める。その結果、クエリとして入力された検索キーワードとの相関性が高い文書データが、文書データベースから抽出される。そして、相関性の高い順に、抽出された文書データが一覧表示される。概念検索は、以下の有利点を持つ。
（１）検索式を作らずに文章で検索できる。
（２）予め人手で辞書を用意しておく必要がない。
【００９３】
概念検索では、単語又はフレーズの意味に関する情報を処理するために、ベクトルと呼ばれるデータ形式を定義して使用する。当該ベクトルを文書ベクトルともいう。文書ベクトルは、例えば図５Ｄにおいて矢印で示されている。文書ベクトルは、例えばＮ次元のベクトル空間内（図５Ｄの５３１）で定義され、その向きが単語又はフレーズの意味を表している。Ｎは整数であり、例えば１億個でありうる。
概念検索では、キーワードの集合がベクトルに変換されるため、キーワードの数とは関係ない。
【００９４】
図５Ａは、概念検索のフローを示す。
概念検索では、以下の手順により、与えられた単語又はフレーズに関連した文書データを見つけ出す。
ステップ５０１〜５０３は、概念検索のための索引の作成を示す。
ステップ５０１は、図１Ａのステップ１０１に対応する。ステップ５０１では、解析処理部（図８Ａの８０６）は、文書データ（５１１）の自然言語解析を行い、当該文書データから単語又はフレーズを抽出する。
ステップ５０２は、図１Ａのステップ１０２に対応する。ステップ５０２では、クラスタリング部は、文書データ（５１１）をクラスタリング又は分類する。当該クラスタリング又は分類によって、例えば、単語（縦軸）×クラスタ（横軸）のスコア表ができる。
ステップ５０３は、図１Ａのステップ１０３に対応する。ステップ５０３では、索引付部（図８Ａの８０７）は、クラスタリングが用いられる場合、文書データ（５１１）それぞれがクラスタに属するスコア又は確率を、上記スコア表を参照して求める。索引付部は、分類が用いられる場合、文書データ（５１１）それぞれがクラスに属するスコア又は確率を、上記スコア表を参照して求める。当該スコア又は確率を、以下、第１のベクトルとする。なお、当該スコア又は確率は、適宜、第１のベクトルに適した値になるように変換されてもよい。例えば、第１のベクトルの値が０〜１の間の実数になるように変換されうる。
ステップ５０４〜５０５は、概念検索による検索を示す。
ステップ５０４では、検索サーバは、ユーザ端末に入力されたクエリ（５１５）を、例えばネットワークを介して受信する。検索サーバは、当該クエリを受信することに応じて、当該検索キーワードに関連付けられた関連キーワードを求めてもよい。検索サーバは、検索キーワード又は検索キーワードに関連付けられた関連キーワードについても、当該検索キーワード又は関連キーワードが上記クラスタ又は上記分類に属するスコア又は確率を、上記スコア表を参照して求める。当該スコア又は確率を、以下、第２のベクトルとする。なお、当該スコア又は確率は、適宜、第２のベクトルに適した値になるように変換されてもよい。例えば、第２のベクトルの値が０〜１の間の実数になるように変換されうる。
ステップ５０５では、文書データそれぞれについての第１のベクトルと、検索キーワードについての第２のベクトルとの内積を計算する。当該各内積の値を、各文書データの上記クエリに対するスコアとする。当該スコアに基づき、スコア順に、文書データを検索結果（５１６）として表示する。
また、当該スコアに閾値を設けて、当該閾値を下回るものを検索結果（５１６）から除外する処理を行ってもよい。
【００９５】
図５Ｂは、図５Ａの概念検索における、文書データの検索の具体例を示す。
概念検索では、以下の手順により、文書データの検索を行う。
ステップ５０４は、図１Ｂのステップ１０４に対応する。ステップ５０４では、検索サーバは、ユーザ端末に入力されたクエリ（１１５）を、例えばネットワークを介して受信する。検索部は、当該クエリ（１１５）を受信することに応じて、当該検索キーワードに関連付けられた関連キーワードを求めてもよい。検索サーバは、当該検索キーワード又は当該検索キーワードに関連付けられた関連キーワードについて、ベクトル（第２のベクトル）を算出する。
ステップ５０５は、ステップ５０４と同様に、図１Ｂのステップ１０４に対応する。ステップ５０５では、検索部は、上記各文書データ（５２３、５２４）の第１のベクトルと、検索キーワード又は関連からの第２のベクトルとの内積をそれぞれ求める（５２５、５２６）。そして、求められた内積の値を検索キーワードに対する各文書データのスコアと考える。当該スコアが高ければ高いほど、文書データとの相関性が高い。なお、文書データ２ではクラスタ２のスコアがクラスタ１のスコアよりも高いが、各クラスタはスコア順にソートされているわけでなく、当該文書データが各クラスタにどの程度の確度で属しているかを示している。
ステップ５０６では、ユーザ端末又はユーザ端末でもある検索サーバは、上記スコアに基づき、スコア順に文書データを検索結果として表示装置上に表示する。また、スコアに閾値を設けて、当該値を下回るものを表示から除外するようにしてもよい。検索結果は、例えば、文書データがリストとして表示され、好ましくは文書データのリストがスコアの高い順に表示される。
【００９６】
図５Ｃは、図５Ａの概念検索における、文書データ及びクエリの各ベクトル並びに内積の概念図を示す。
複数の文書データ（５３１及び５３２）それぞれは、単語又はフレーズを含む。
文書データ１（５３１）からのベクトル（５３４）（第１のベクトル）は、クラスタ毎のスコアを有している。クラスタの数は、例えば、ｋ−ｍｅａｎｓの場合ｋ個（ｋは整数）である。ベクトル（５３４）の各スコアは、例えば、クラスタ１について0.99であり、クラスタ２について0.82である。同様に、文書データ２（５３２）からのベクトル（５３５）（第１のベクトル）は、クラスタ毎のスコアを有している。ベクトル（５３５）のスコアは、例えば、クラスタ１について0.72であり、クラスタ２について0.89である。このスコアをどのように定義するのかは、使用するアルゴリズム次第であり、様々なバリエーションが適用されうる。当該スコアは、例えば、当該文書データをＮ次元の文書空間に配置した場合における、各クラスタに対する角度であってもよい。例えば、実際には内角角度では、離れているほどスコアが大きくなるので、例えばcos ωと定義できる。
クエリ（５３３）からのベクトル（５３６）（第２のベクトル）は、クラスタ毎のスコアを有している。ベクトル（５３６）の各スコアは、例えば、クラスタ１について0.89であり、クラスタ２について0.76である。
スカラー１（５３７）が、文書データ１（５３１）の第１のベクトル（５３４）とクエリ（５３３）の第２のベクトル（５３６）との内積である。スカラー２（５３８）が、文書データ２（５３２）の第１のベクトル（５３５）とクエリ（５３３）の第２のベクトル（５３６）との内積である。
【００９７】
図５Ｄは、ベクトル空間内の文書ベクトルの概念図を示す。
図５Ｄの例では、４つのカテゴリ（生化学、情報処理工学、電子工学、機械工学）のいずれかに属する各単語についてのベクトルが示されている。２つの文書データ間の相関度は、当該２つの文書データそれぞれについての文書ベクトルの内積として定義される。ベクトル空間内で、２つの文書ベクトルの向きが近ければ近いほど、すなわち内積の値が高ければ高いほど当該２つの文書はその相関度が高いといえる。
【００９８】
図６Ａは、本発明の実施態様である第１の態様の検索方法の概念を示す。
第１の態様の検索方法は、概念検索の結果として得られる文書データの集合と、ファセット・キーワードＡを含む文書データの集合とから相関値を計算し、検索キーワードに対して相関の強いファセット・キーワードを検出する方法である。
図６Ａは、全ての文書データＤ（６０１）、概念検索の結果として得られる文書データの集合（６０２）及びファセット・キーワードＡを含む文書データの集合（６０３Ａ〜６０３Ｃ）をそれぞれ示す。
概念検索の結果として得られる文書データの集合（６０２）は、検索キーワードＢによる概念検索の結果として得られる文書データの集合であり、検索キーワードＢとの相関性が高い文書データである。図６Ａに記載の（Score＞S  for  Ｂ）は、検索キーワードＢに対するスコアが所定の値よりも大きい文書データの集合であることを意味する。検索キーワードＢによる概念検索は、上記図５Ａ〜図５Ｄに示した方法により行われる。当該文書データの集合（６０２）は、検索キーワードＢに強く関連している。しかし、当該文書データの集合（６０２）は、必ずしも検索キーワードＢを含むとは限らないし、逆に検索キーワードＢを含む文書データが必ずしも当該文書データの集合（６０２）に含まれるとも限らない。
ファセット・キーワードＡを含む文書データの集合を円（６０３Ａ、６０３Ｂ及び６０３Ｃ）で示す。なお、図面ではスペースの都合上、３つの円を記載しているだけであって、ファセット・キーワードがＮ個（Ｎは整数）であれば、Ｎ個の円（６０３Ａ〜６０３Ｎ）がある。ファセット・キーワードＡは例えばａ１、ａ２、及びａ３（…ａｎ）である。この場合、円（６０３Ａ）がａ１を含む文書データの集合であり、円（６０３Ｂ）がａ２を含む文書データの集合であり、及び円（６０３Ｃ）がａ３を含む文書データの集合である。図６Ａでは、ファセット・キーワードＡを変えていくことにより、各円（６０３Ａ、６０３Ｂ及び６０３Ｃ）の中心（６０７Ａ、６０７Ｂ及び６０７Ｃ）が移動することが示されている。そして、該移動の結果、概念検索の結果として得られる文書データの集合（６０２）とファセット・キーワードＡを含む文書データの各集合（６０３Ａ、６０３Ｂ及び６０３Ｃ）との共通部分（６０６Ａ、６０６Ｂ及び６０６Ｃ）が移動していく様子がわかる。当該共通部分が移動するということは、共通部分にある文書データと、その共通部分に含まれる文書データの数（出現頻度）が変化していくことを意味する。図６Ｂで説明するように各ファセット・キーワードＡと検索キーワードＢとの相関値を計算することによって、検索キーワードＢに対して相関値が大きいファセット・キーワードの集合を切り出すことが可能になる。
【００９９】
図６Ｂは、ファセット・カウントを用いて、検索キーワードと相関の強いファセット・キーワードを検出する概念図を示す。
ファセット・キーワードＡは、例えば、ファセット・キーワード１〜ｎ（ｎは整数）からなる。例えば、ファセット・キーワード１〜４それぞれが、ＭＰＥＧ（６１１）、フーリエ変換（６１２）、有機ＥＬ（６１３）及びホログラム（６１４）であるとする。この例の場合、ファセット・キーワードＡは、動画処理に関する文書データに含まれる特殊名詞である。
図６Ｂに示す横長の長方形（６１１、６１２、及び６１３）が、図６Ａの例えばファセット・キーワードＡを含む文書データの集合（６０３Ａ、６０３Ｂ及び６０３Ｃ）にそれぞれ相当する。なお、図６Ａでは、図６Ｂに示す横長の長方形（６１４）に対応するファセット・キーワード４を含む文書データの集合（６０３Ｄ）が示されていないだけである。
点線矢印（６１５）は、概念検索の結果として得られる文書データの集合に対して、ファセット・キーワードＡをファセット・キーワード１〜４に変えていくことを示す。すなわち、点線矢印（６１５）は、図６Ａの円の中心（６０７Ａ〜６０７Ｃ）が順次移動することと同じである。
図６Ｂに示す各ファセット・キーワードＡ上の長方形（６１６）が、検索キーワードＢに対して概念検索で絞り込まれた文書データの集合を示す。長方形（６１６）は、図６Ａの概念検索の結果として得られる文書データの集合（６０２）に対応する。
ファセット・キーワードＡに対して抽出される文書データ（６１１〜６１４）からの、概念検索の結果として得られる概念が合致する文書データの切り出しは、例えば、概念検索で内積値の大きいものから絞り込んだ文書データの集合である。
別の実施態様として、概念の合致を考慮に入れたファセット・キーワードＡそれぞれに対する、クエリ中の検索キーワードＢとの相関値は、例えば、下記式２０のｃｏｒｒｃｏｎｃｅｐｔ（ｓ，ｔ）及び式２１〜式２５に従い求められる。なお、文書データが、概念検索の結果として得られる文書データの集合に含まれているか又は含まれていないかは、０又は１（含まれる／含まれない）の２値ではなく、０〜１の間の実数となる。よって、概念検索の結果として得られる文書データの集合と文書データの境界は曖昧になる。
【０１００】
【数２０】
0005448105.tif 000021
【０１０１】
ｃｏｒｒｃｏｎｃｅｐｔ（ｓ，ｔ）は、Ｐｃｏｎｃｅｐｔ（ｓ∩ｔ）をＰｃｏｎｃｅｐｔ（ｓ）×Ｐｃｏｎｃｅｐｔ（ｔ）で除した値である。Ｐｃｏｎｃｅｐｔ（ｓ）は、式２２に従い求められる。Ｐｃｏｎｃｅｐｔ（ｔ）は、式２４に従い求められる。
【０１０２】
【数２１】
0005448105.tif 000022
【０１０３】
ｓは、ファセット・キーワードである。
ｋは、クラスタの総数である。ｋは整数である。
（ｓ１，ｓ２，…，ｓｋ）は、ファセット・キーワードｓが各クラスタに属する各スコアである。
｜ｓは、ファセット・キーワードｓのベクトルの定義である。
【０１０４】
【数２２】
0005448105.tif 000023
【０１０５】
Ｐｃｏｎｃｅｐｔ（ｓ）は、ファセット・キーワードｓと概念的に合致する単語が文書データに出現する確率を、スコアによって連続的に評価したものである。
ｄは、文書データである。
Ｎは、文書データの総数である。
＜ｓ｜ｄ＞は、文書データｄについて、ファセット・キーワードｓとの内積である。内積＜ｓ｜ｄ＞は、Σｓｉ × ｄｉ（ただし、Σは、i=1,2,…,kについての和である）と定義される。
Ｐｃｏｎｃｅｐｔ（ｓ）は、ファセット・キーワードｓと文書データｄのスコアの内積を文書データの総数Ｎで除した値である。
【０１０６】
【数２３】
0005448105.tif 000024
【０１０７】
ｔは、検索キーワードである。
（ｔ１，ｔ２，…，ｔｋ）は、検索キーワードｔが各クラスタに属する各スコアである。
｜ｔは、検索キーワードｔのベクトルの定義である。
【０１０８】
【数２４】
0005448105.tif 000025
【０１０９】
Ｐｃｏｎｃｅｐｔ（ｔ）は、検索キーワードと概念的に一致する単語が文書データに出現する確率を、スコアによって連続的に評価したものである。
＜ｔ｜ｄ＞は、文書データｄについて、検索キーワードｔとの内積である。内積＜ｔ｜ｄ＞は、Σｔｉ × ｄｉ（ただし、Σは、i=1,2,…,kについての和である）と定義される。
Ｐｃｏｎｃｅｐｔ（ｔ）は、検索キーワードｔと文書データｄのスコアの内積を文書データの総数Ｎで除した値である。
【０１１０】
【数２５】
0005448105.tif 000026
【０１１１】
Ｐｃｏｎｃｅｐｔ（ｓ∩ｔ）は、検索キーワードと概念的に一致する単語と、ファセット・キーワードｓと概念的に合致する単語との双方が出現する確率である。
【０１１２】
求められたファセット・キーワードが、検索キーワードＢに対して相関の強いファセット・キーワードである。
【０１１３】
図６Ｃは、図６Ａの第１の態様の検索方法のために使用する索引を作成するためのフローを示す。
ステップ６２１では、索引の作成を開始する。索引の作成のために、以下では、解析処理部（図８Ａの８０６）又は索引付部（図８Ａの８０７）が使用されるがこれらに限定されるものでない。
ステップ６２２では、解析処理部は、文書データ（６３１）を記憶装置からメモリ内に読み込む。
ステップ６２３では、解析処理部は、文書データで指定されている属性又は文書データで用いられている文字コードから、辞書又はファセット定義を含む辞書（６３２）を使用して文書データの言語を検知する。
ステップ６２４では、解析処理部は、特定された言語用の辞書（６３２）を用いて形態素解析を行い、文書データ中の全ての単語又はフレーズを検出する。
ステップ６２５では、索引付部は、文書データが属するクラスタ又はクラスを検出する。検出されたクラスタ又はクラスの情報は、文書データに関連付けてクラスタ・データベース（６３３）に記憶される。
ステップ６２６では、索引付部は、全ての文書データそれぞれに対して、各文書データがクラスタ又はクラスに属するスコア（第１のベクトル）を求める。求められたスコアは、文書データ・スコア・データベース（６３４）に格納される。
ステップ６２７では、索引付部は、検出された単語又はフレーズを索引として文書データに索引付けする。索引は、例えば、索引データベース（６３５）に格納される。索引付部はまた、文書データのメタ情報として、上記スコアを索引に付随して保管する。索引付部はさらに、当該検出された単語又はフレーズの重みをメタデータとして索引に付随して保管してもよい。
ステップ６２８では、文書データ（６３１）全てについて、上記ステップ６２２〜６２７を繰り返し、索引の作成を終了する。
【０１１４】
図６Ｄ及び図６Ｅは、図６Ｃにおいて作成された索引を使用して、図６Ａの第１の態様の検索方法で相関を検出するフローを示す。
ステップ６４１では、検索部は、相関検知を開始する。
ステップ６４２では、検索部は、ユーザから入力された又はコンピュータによって作成された検索キーワードｔを受信し、メモリ又は記憶装置に格納する。検索部は、検索キーワードｔを受信することに応じて、当該検索キーワードに関連付けられた関連キーワードを抽出してもよい。検索キーワードは、例えばクエリ中に含まれている。
ステップ６４３では、検索部は、クラスタ・データベース（６３３）からクラスタ情報を読み取り、当該検索キーワードｔ又は当該検索キーワードに関連付けられた関連キーワードについて、クラスタ毎のスコア（第２のベクトル）を算出する。クラスタ毎のスコアとは、検索キーワード又は関連キーワードがそれぞれのクラスタに属するスコアである。
ステップ６４４では、検索部は、索引データベース（６３５）中の索引を用いて、全文書データのリストＡを取得する。リストＡは、例えば、文書データを識別するための識別子（ＩＤ）及び該当する単語又はフレーズが当該文書データ中で出現する場所の情報を含む。当該リストＡの取得によって、リストＡの長さがわかる。リストＡの長さとは、全文書データ（４３１）の数を表す。
ステップ６４５では、検索部は、文書データ・スコア・データベース（６３４）から、リストＡ上の文書データのクラスタ毎にスコアを読み出す。
ステップ６４６では、検索部は、検索キーワードｔのクラスタ毎のスコアと該当文書データのクラスタのスコアとから概念合致の度合いをスコアとして求める。概念合致の度合いのスコアは、ステップ６４７において使用される。
ステップ６４７では、検索部は、ステップ６４６で求められた概念合致の度合いのスコアが所定の値よりも大きい文書データを検索結果リストＢ（６３６）に追加する。
ステップ６４８では、検索部は、文書リストＡの全てについて、ステップ６４５〜６４７を経たかどうかを確認する。文書リストＡの終わりでない場合、ステップ６４５に戻る。一方、文書リストＡの終わりである場合、ステップ６４９（図６Ｅ）に進む。
ステップ６４９では、検索部は、索引データベース（６３５）中の索引を用いて、ファセット・キーワード毎に、そのキーワードｓを含む文書データのリストＣ［ｓ］を取得する。ファセット・キーワードとして、ファセットとして定義されている全てのキーワードが使用される。なお、ファセットとして定義されていない場合、ファセット・キーワードとして、辞書（４３２）中の全ての単語が使用される。
ステップ６５０では、検索部は、リストＡの長さ、リストＢの長さ、リストＣ［ｓ］の長さ、及びリストＢとリストＣ［ｓ］の共通部分（積集合）の長さから、ファセット・キーワード毎の相関値を計算する。相関値は、例えば、上記式２０のｃｏｒｒｃｏｎｃｅｐｔ（ｓ，ｔ）及び式２１〜式２５に従い求められる。
ステップ６５１は、検索部は、相関検知を終了する。
【０１１５】
図７Ａは、本発明の実施態様である第２の態様の検索方法の概念を示す。
第２の態様の検索方法は、図６Ａの第１の態様の検索方法に、さらに検索キーワードＢを含む文書データの集合を組み合わせたハイブリッドである。すなわち、第２の態様の検索方法は、概念検索の結果として得られる文書データの集合と、ファセット・キーワードＡを含む文書データの集合と、検索キーワードＢを含む文書データの集合とから相関値を計算し、検索キーワード及び概念検索の結果として得られる文書データと相関の強いファセット・キーワードを検出する方法である。
図７Ａは、全ての文書データＤ（７０１）、検索キーワードＢを含む文書データの集合（７０２）、概念検索の結果として得られる文書データの集合（７０３）及びファセット・キーワードＡを含む文書データの集合（７０４）をそれぞれ示す。なお、図７Ａでは、ファセット・キーワードＡを含む文書データの集合（７０４）を１つの円（７０４）で表しているが、図７Ａにおいても、図６Ａのように、ファセット・キーワードＡを含む文書データの集合は、ファセット・キーワードＡの数に応じて複数の円で示される。すなわち、ファセット・キーワードがＮ個であれば、Ｎ個の円（７０４Ａ〜７０４Ｎ）が示される。ファセット・キーワードＡを変えていくことにより、各円（７０４Ａ、７０４Ｂ及び７０４Ｃ）の中心（７０８Ａ、７０８Ｂ及び７０８Ｃ）が移動する（図示せず）。
図７Ａに示されている領域１、２及び３の関係を、ベン図で示す。
領域１は、集合（７０２）及び集合（７０４）の共通部分から、集合（７０２）、集合（７０３）及び集合（７０４）の共通部分を除いたものである。
領域２は、集合（７０２）、集合（７０３）及び集合（７０４）の共通部分である。
領域３は、集合（７０３）及び集合（７０４）の共通部分から、集合（７０２）、集合（７０３）及び集合（７０４）の共通部分を除いたものである。
上記集合（７０２、７０３及び７０４）の共通部分（領域１、領域２及び領域３）の相関値は、下記式２６で示される相関関数ｃｏｒｒｔｏｔａｌ（ｓ，ｔ）に従い求められる。
【０１１６】
【数２６】
0005448105.tif 000027
【０１１７】
ａ及びｎは調節可能なパラメータである。式２６において、領域１、２及び３からの寄与の重みが、ａ及びｎのパラメータで調節して足し合わせられる。
ｃｏｒｒｒｅｇｕｌａｒ（ｓ，ｔ）は、式１６及び式１７〜式１９において説明した通りである。
ｃｏｒｒｃｏｎｃｅｐｔ（ｓ，ｔ）は、式２０及び式２１〜式２５において説明した通りである。
【０１１８】
式２６において、ａの値を大きくすると、概念のみが一致していて、キーワードが含まれていない文書データからの寄与も大きく入る。
式２６において、ｎの値を大きくすると、概念が一致しない文書データからの寄与が抑えられる。
【０１１９】
領域１は、ファセット・キーワードＡと検索キーワードＢを含むが、概念的に適切でない文書データの集合である。すなわち、相関関係がない。
領域２は、ファセット・キーワードＡと検索キーワードＢを含み、且つ概念的に適切である。すなわち、相関関係が強い。
領域３は、ファセット・キーワードＡを含むが、検索キーワードＢを含まないが、概念的には適切である。すなわち、相関関係がある。
【０１２０】
次に検索キーワード観点から、領域１〜領域３の各特徴を述べる。
領域１は、検索キーワードＢを含むが、概念的に合致しない文書データのデータセットである。概念的に合致しない文書データのデータセットとは、検索キーワードに関連する単語及びフレーズを（ほとんど）含まないことである。よって、領域１は、解析対象としては好ましくない文書データのデータセットを含む。
領域２は、検索キーワードＢを含み、概念的にも合致する。概念的に合致するとは、検索キーワードに関連する単語又はフレーズを多く含むことである。よって、領域２は、非常に望ましい文書データのデータセットを含む。
領域３は、検索キーワードＢを含まないものの、概念的に合致する文書データのデータセットである。概念的に合致するとは、上記で述べた通り、検索キーワードに関連する単語又はフレーズを多く含むことである。よって、領域３は、望ましい文書データのデータセットを含む。
【０１２１】
図７Ａの第２の態様の検索方法のために使用する索引を作成するためのフローは、図６Ｃの第１の態様の検索方法のために使用する索引を作成するためのフローと基本的に同じであるので、本明細書ではその記載を省略する。
【０１２２】
図７Ｂ及び図７Ｃは、図６Ｃと同様にして作成された索引を使用して、図７Ａの第２の態様の検索方法で相関を検出するフローを示す。
ステップ７３１では、検索部は、相関検知を開始する。
ステップ７３２では、検索部は、ユーザから入力された又はコンピュータによって作成された検索キーワードｔを受信し、メモリ又は記憶装置に格納する。検索部は、検索キーワードｔを受信することに応じて、当該検索キーワードｔに関連付けられた関連キーワードを求めてもよい。検索キーワードは、例えばクエリ中に含まれている。
ステップ７３３では、検索部は、索引データベース（６３５）中の索引を用いて、全文書データのリストＡを取得する。当該リストＡの取得によって、リストＡの長さがわかる。リストＡの長さとは、全文書データ（６３１）の数を表す。
ステップ７３４では、検索部は、索引データベース（６３５）中の索引を用いて、検索キーワードｔを含む文書データのリストＢを取得する。当該リストＢ取得によって、リストＢの長さがわかる。リストＢの長さは、検索キーワードｔを含む文書データの数を表す。
ステップ７３５では、検索部は、索引データベース（６３５）中の索引を用いて、ファセット・キーワード毎に、そのキーワードｓを含む文書データのリストＣ［ｓ］を取得する。
ステップ７３６では、検索サーバは、クラスタ・データベース（６３３）からクラスタ情報を読み取り、当該検索キーワードｔ又は当該検索キーワードに関連付けられた関連キーワードについて、クラスタ毎のスコア（第２のベクトル）を算出する。
ステップ７３７では、検索部は、文書データ・スコア・データベース（６３４）から、リストＡ上の文書データのクラスタ毎にスコアを読み出す。
ステップ７３８では、文書データｄについて、検索キーワードｔ、及び、ファセット・キーワードｓのそれぞれについて、内積＜ｔ｜ｄ＞及び内積＜ｓ｜ｄ＞を求める。ベクトルの定義は、下記式２７〜式２９で表される。
【０１２３】
【数２７】
0005448105.tif 000028
【０１２４】
（ｔ１,ｔ２…,ｔｋは、ｔの各クラスタに属するスコア）
【０１２５】
【数２８】
0005448105.tif 000029
【０１２６】
（ｓ１,ｓ２,…,ｓｋは、ｓの各クラスタに属するスコア）
【０１２７】
【数２９】
0005448105.tif 000030
【０１２８】
（ｄ１,ｄ２,…,ｄｋは、ｄの各クラスタに属するスコア）
【０１２９】
【数３０】
0005448105.tif 000031
【０１３０】
（ただし、Σはi=1,2,…,kについての和である）
【０１３１】
【数３１】
0005448105.tif 000032
【０１３２】
（ただし、Σはi=1,2,…,kについての和である）
【０１３３】
ステップ７３９では、検索部は、文書リストＡの全てについて、ステップ７３７〜７３８を経たかどうかを確認する。文書リストＡの終わりでない場合、検索部はステップ７３７に戻る。一方、文書リストＡの終わりである場合、検索部はステップ７４０（図７Ｃ）に進む。
ステップ７４０では、検索部は、全ての文書データｄについて求めた＜ｔ｜ｄ＞及び＜ｓ｜ｄ＞、リストＡの長さ、リストＢの長さ、リストＣ［ｓ］の長さ、及びにリストＢとリストＣ［ｓ］の共通部分（積集合）の長さから、ｔとｓの相関値を求める。相関値は、例えば、式２７に従い求められる。
ステップ７４１は、検索部は、相関検知を終了する。
【０１３４】
図８Ａは、本発明の実施態様に従う、文書データ処理部及び索引付部を備えているコンピュータのシステム図を示す。
本発明の実施態様に従うシステムは、索引作成のためのコンピュータ（８０１）（以下、「索引作成コンピュータ」ともいう）、索引作成コンピュータ（８０１）にネットワークを介して接続されている１又はそれ以上のサーバ（８０２ａ〜８０２ｎ）及び１つ又はそれ以上の検索サーバ（８０３）、並びに検索サーバにネットワークを介して接続されたユーザ端末（８０４）を備えている。
索引作成コンピュータ（８０１）は、クローラ（８０５）、文書データ処理部（８０６）、索引付部（８０７）、キャッシュ（８０８）、及びサムネール処理部（８０９）を備えている。
クローラ（８０５）は、各サーバ（８０２ａ〜８０２ｎ）から文書データ（８１０）、例えばＷｅｂページの収集処理を行う。クローラ（８０５）は、ロボット又はスパイダーとも呼ばれる。クローラ（８０５）は、収集した文書データ（８１０）を、例えば記憶装置（図示せず）に格納する。
クローラはまた、文書データ（８１０）をキャッシュ（８０８）に格納する。
文書データ処理部（８０６）は、解析処理部及びクラスタリング部を含む。解析処理部は、自然言語解析を処理する。クラスタリング部は、文書データをクラスタリング又は分類する。
索引付部（８０７）は、文書データ（８１０）のテキスト索引、ファセット索引、サムネール索引を作成する。これらの各索引は、索引データベース（８３５）に格納される。それぞれの索引は検索ランタイム（８１１）によって利用される。テキスト索引とファセット索引とを区別しているのは実装上のデザインであり、同じであってもよい。検索ランタイムは、索引作成コンピュータ（８０１）上、又は他のサーバ上にあってもよい。検索ランタイム（８１１）が他のサーバ上にある場合、索引データベース（８３５）が他のサーバ上にコピーされる。或いは、索引作成コンピュータ（８０１）と他のサーバが、索引データベース（８３５）に両方からアクセスできるように、ストレージ・エリア・ネットワーク（ＳＡＮ）の共有ディスク上に索引データベースを配置してもよい。
索引付部（８０７）はまた、クラスタデータベース（８３３）、文書データ・スコア・データベース（８３４）及び索引データベース（８３５）に、クラスタ情報、文書データがクラスタ又はクラスに属するスコア又は確率（第１のベクトル）、及び索引データをそれぞれ格納する。
サムネール処理部（８０９）は、キャッシュに格納された文書データ（８１０）のメタデータに基づいて、当該文書データを画面にアイコンとして表示するためのサムネールを作成する。メタデータとは、例えば、文書の種類、内容を特定するためのデータである。  検索サーバ（８０３）は、ユーザ端末（８０４）からのクエリを受信して、文書データ（８１０）を検索し、その検索結果をユーザ端末（８０４）に送信する。
【０１３５】
図８Ｂは、本発明の実施態様に従う、検索部を備えている検索サーバのシステム図を示す。
検索サーバ（８０３）は、検索部（８２１）を含む。検索サーバ（８０３）はまた、検索サーバ（８０３）がユーザ端末を兼ね備えている場合には、検索結果表示部（８２３）を含む。検索サーバ（８０３）がユーザ端末（８０４）に検索結果を送信する場合には、検索サーバ（８０３）は検索結果送信部（８２２）を含む。検索部（８２１）は、クラスタデータベース（８３３）、文書データ・スコア・データベース（８３４）及び索引データベース（８３５）それぞれからのクラスタ情報、文書データのスコア及び索引データを利用して、文書データの検索を行う。検索部（８２１）はまた、概念合致の度合いのスコアが所定の値よりも大きい文書データを検索結果リストのための記憶装置（８３６）に格納する。
【０１３６】
図９は、本発明の実施態様における、図８Ａ及び図８Ｂの各システムが有するコンピュータ・ハードウェアのブロック図を示す。
コンピュータ（９０１）は、ＣＰＵ（９０２）とメイン・メモリ（９０３）と含み、これらはバス（９０４）に接続されている。ＣＰＵ（９０２）は好ましくは、３２ビット又は６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＸｅｏｎ（商標）シリーズ、Ｃｏｒｅ（商標）シリーズ、Ａｔｏｍ（商標）シリーズ、Ｐｅｎｔｉｕｍ（登録商標）シリーズ、Ｃｅｌｅｒｏｎ（商標）シリーズ、ＡＭＤ社のＰｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（商標）シリーズ及びＳｅｍｐｒｏｎ（商標）などを使用することができる。バス（９０４）には、ディスプレイ・コントローラ（９０５）を介して、ＴＦＴモニタなどのディスプレイ（９０６）が接続されている。ディスプレイ（９０６）は、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータ・システムについての情報と、そのコンピュータ・システム上で動作中のソフトウェアについての情報を、適当なグラフィック・インタフェースで表示するために使用される。バス（９０４）にはまた、ＩＤＥ又はＳ−ＡＴＡコントローラ（９０７）を介して、ハードディスク又はシリコン・ディスク（９０８）と、ＣＤ−ＲＯＭ、ＤＶＤドライブ又はＢＤドライブ（９０９）が接続されている。
【０１３７】
ハードディスク（９０８）には、オペレーティング・システム、アプリケーション・プログラム及びデータが、メイン・メモリ（９０３）にロード可能に記憶されている。
【０１３８】
ＣＤ−ＲＯＭ、ＤＶＤ又はＢＤドライブ（９０９）は、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤからプログラムをハードディスク又はシリコン・ディスク（９０８）に追加導入するために使用される。バス（９０４）にはさらに、キーボード・マウス・コントローラ（９１０）を介して、キーボード（９１１）及びマウス（９１２）が接続されている。
【０１３９】
通信インタフェース（９１４）は、例えばイーサネット（登録商標）・プロトコルに従う。通信インタフェース（９１４）は、通信コントローラ（９１３）を介してバス（９０４）に接続され、コンピュータ（９０１）を通信回線（９１５）に物理的に接続する役割を担い、コンピュータ・システムのオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インターフェース層を提供する。なお、通信回線は、有線ＬＡＮ環境、或いは例えばＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境であってもよい。
【０１４０】
図１０は、キーワード検索方法、並びに本発明である第１の態様の検索方法及び本発明である第２の態様の検索方法に従う検索結果を示す。
文書データは、２０万件からなる。なお、上記結果において、検出されたキーワードに付随して表示される数字は相関関数に従い求められた相関値である。よって、該数字は、期待値よりも何倍多く出現しているかを計測している。例えば、全文書データが１００万件あり、１件の頻度で出現しない場合を考える。文書データの集合を検索により絞り込み、１千件に１件の頻度で出現したとする。この場合、相関値は1000となる。よって、相関値は、数百又は数千の値でありうる。
従来技術であるキーワード検索方法による検索結果を表（１００１）に示す。本発明である第１の態様の検索方法による検索結果を表（１００２）に示す。本発明である第２の態様の検索方法による検索結果を表（１００３）に示す。
キーワード検索方法（１００１）では、２０万件中の文書データから、検索キーワードが「ビデオ」の１つである場合3675件ヒットし（１００１Ａ）、検索キーワードが「ビデオ、録画」の２つである場合693件ヒットし（１００１Ｂ）、検索キーワードが「ビデオ、録画、高密度」の３つである場合12件ヒットした（１００１Ｃ）。当該キーワード検索による方法では、キーワードの数が追加されるに従い、検索される文書データの数が極端に減少し、解析に十分な文書データが得られなかった。
一方、本発明である第１の態様の検索方法では、検索キーワードが「ビデオ」の１つである場合21401件ヒットし（１００２Ａ）、検索キーワードが「ビデオ、録画、高密度」の３つである場合11004件ヒットした（１００２Ｂ）。
また、本発明である第２の態様の検索方法では、キーワード検索と本発明である第１の態様（概念検索）の結果を合わせたようになる。検索キーワードが少ない場合（上記１つの場合）、検索結果は、キーワード検索の結果が強く反映されている（１００３Ａ）。一方、検索キーワードが多くなると、第１の態様の結果が強く反映されている（１００３Ｂ）。
以上のように、本発明である第１の態様及び第２の態様による検索方法では、キーワード検索方法と比べて、より幅広いコンテキストで相関を適切に見つけることが可能であった。
なお、本発明である第１の態様の検索方法では、文書データの集合が概念合致のスコアの閾値により、文書データが切り出されて集合に入っているか入っていないかは０（偽）又は１（真）ではっきりしている。そのために、集合に属する文書データの数（ヒット数）は決まる。一方、本発明である第２の態様では、この境界は明確に定義されず、全ての文書データからの寄与が０〜１の間の実数で示されることから相関値に影響する。そのために、集合に属する文書データの数（ヒット数）は曖昧である。よって、第２の態様の検索結果では集合に属する文書データの数を”（全）”として示している（１００３Ａ及び１００３Ｂ）。
【図１Ａ】
0005448105.tif 000059
【図１Ｂ】
0005448105.tif 000060
【図１Ｃ】
0005448105.tif 000061
【図１Ｄ】
0005448105.tif 000062
【図２】
0005448105.tif 000063
【図３Ａ】
0005448105.tif 000064
【図３Ｂ】
0005448105.tif 000065
【図３Ｃ】
0005448105.tif 000066
【図４Ａ】
0005448105.tif 000067
【図４Ｂ】
0005448105.tif 000068
【図４Ｃ】
0005448105.tif 000069
【図４Ｄ】
0005448105.tif 000070
【図４Ｅ】
0005448105.tif 000071
【図５Ａ】
0005448105.tif 000072
【図５Ｂ】
0005448105.tif 000073
【図５Ｃ】
0005448105.tif 000074
【図５Ｄ】
0005448105.tif 000075
【図６Ａ】
0005448105.tif 000076
【図６Ｂ】
0005448105.tif 000077
【図６Ｃ】
0005448105.tif 000078
【図６Ｄ】
0005448105.tif 000079
【図６Ｅ】
0005448105.tif 000080
【図７Ａ】
0005448105.tif 000081
【図７Ｂ】
0005448105.tif 000082
【図７Ｃ】
0005448105.tif 000083
【図８Ａ】
0005448105.tif 000084
【図８Ｂ】
0005448105.tif 000085
【図９】
0005448105.tif 000086
【図１０】
0005448105.tif 000087