(57)【要約】【課題】単語ペアの関連度を用いた類似度計算に基づく精度の高い類似文書検索を高速に実行することができる類似文書検索方法および装置を提供する。【解決手段】類似度計算部１２５で類似度が計算される検索対象文書の総数は、「検索キーに含まれる単語を１つでも含む検索対象文書の総数、または、このような検索対象文書の総数が規定数以上の場合は、検索キーに含まれる単語ペアを１つでも含む検索対象文書の総数」に等しくなる。また、文書ＩＤ・関連度取得部１２３により関連度転置インデクス１１３から取得される（単語ペアの関連度）の総数は、「検索キー解析部１２１からの各単語ペアに対応する（単語ペアの関連度）の総数」に等しくなる。【選択図】図１
2006146355.tif 000002
【特許請求の範囲】
【請求項１】
１以上の検索対象文書のいずれかに含まれる単語の重要度ならびに当該検索対象文書のいずれかに含まれる単語ペアの関連度を計算する文書解析手段が当該計算を行い、
この文書解析手段で単語の重要度が計算された単語を含む検索対象文書の文書ＩＤと、この単語の重要度との組を１以上有するものと、この単語との組を１以上有する重要度転置インデクスを生成する重要度転置インデクス生成手段が当該重要度転置インデクスを生成し、
前記文書解析手段で単語ペアの関連度が計算された単語ペアを含む検索対象文書の文書ＩＤと、この単語ペアの関連度との組を１以上有するものと、この単語ペアとの組を１以上有する関連度転置インデクスを生成する関連度転置インデクス生成手段が当該関連度転置インデクスを生成し、
検索キーに含まれる単語とその重要度との組を１以上有するものならびに当該検索キーに含まれる単語ペアとその関連度との組を１以上有するものからなる検索キー主題グラフを生成する検索キー解析手段が当該検索キー主題グラフを生成し、
前記検索キーに含まれる各単語に対し、前記重要度転置インデクスで対応する単語の重要度を取得し、この単語の重要度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語とその重要度との組を１以上有するものと、当該文書の文書ＩＤとからなる重要度ベクトルを１以上有する重要度ベクトルリストを生成する文書ＩＤ・重要度取得手段が当該重要度ベクトルリストを生成し、
前記検索キーに含まれる各単語ペアに対し、前記関連度転置インデクスで対応する単語ペアの関連度を取得し、この単語ペアの関連度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語ペアとその関連度との組を１以上有するものと、当該文書の文書ＩＤとからなる関連度ベクトルを１以上有する関連度ベクトルリストを生成する文書ＩＤ・関連度取得手段が当該関連度ベクトルリストを生成し、
前記重要度ベクトルリストの重要度ベクトルに含まれる単語とその重要度との組を１以上有するものと、当該重要度ベクトルに含まれる文書ＩＤと、該文書ＩＤを含みかつ前記関連度ベクトルリストに含まれる関連度ベクトルに含まれる単語ペアとその関連度と組を１以上有するものと、からなる検索対象文書主題グラフを文書ＩＤごとに生成する文書ＩＤマージ手段が当該各検索対象文書手段グラフを生成し、
前記検索キー主題グラフと前記各検索対象主題グラフとの類似度を計算する類似度計算手段が当該各類似度を計算し、
前記計算された類似度の高い検索対象文書についての検索結果を生成する結果生成手段が当該検索結果を生成することを特徴とする類似文書検索方法。
【請求項２】
前記関連度転置インデクス生成手段は、前記関連度転置インデクスを生成する際に、
前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、
該単語ペア連結文字列と文書ＩＤと単語ペアの関連度との組をメモリに格納し、この組数が予め定めた数に達するごとに各組を単語ペア連結文字列でソートし新たな一時ファイルに書き出し、全ての一時ファイルをマージし単語ペア連結文字列でソートする
ことを特徴とする請求項１記載の類似文書検索方法。
【請求項３】
前記文書ＩＤ・関連度取得手段は、前記関連度ベクトルリストを生成する際に、
前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、
この単語ペア連結文字列に対し、前記関連度転置インデクスで対応する、文書ＩＤと単語ペアの関連度とを１以上含むものを取得し、
文書ＩＤと、対応する単語ペアとその単語ペアの関連度との組を１以上有するものとをメモリに格納すること
を特徴とする請求項２記載の類似文書検索方法。
【請求項４】
前記文書ＩＤマージ手段は、
前記重要度ベクトルリストと前記関連度ベクトルリストとを取得し、
当該重要度ベクトルリストの要素数が予め定めた数より少ない、または、当該関連度ベクトルリストの要素数が予め定めた数より少ない、か否かを判定し、
肯定的な判定結果を得たときは、重要度ベクトルリストの重要度ベクトルに含まれる文書ＩＤを含む関連度ベクトルを関連度ベクトルから取得し、
否定的な判定結果を得た場合は、関連度ベクトルリストの関連度ベクトルに含まれる文書ＩＤを含む重要度ベクトルを重要度ベクトルから取得する
ことを特徴とする請求項１ないし３のいずれかに記載の類似文書検索方法。
【請求項５】
１以上の検索対象文書のいずれかに含まれる単語の重要度ならびに当該検索対象文書のいずれかに含まれる単語ペアの関連度を計算する文書解析手段と、
この文書解析手段で単語の重要度が計算された単語を含む検索対象文書の文書ＩＤと、この単語の重要度との組を１以上有するものと、この単語との組を１以上有する重要度転置インデクスを生成する重要度転置インデクス生成手段と、
前記文書解析手段で単語ペアの関連度が計算された単語ペアを含む検索対象文書の文書ＩＤと、この単語ペアの関連度との組を１以上有するものと、この単語ペアとの組を１以上有する関連度転置インデクスを生成する関連度転置インデクス生成手段と、
検索キーに含まれる単語とその重要度との組を１以上有するものならびに当該検索キーに含まれる単語ペアとその関連度との組を１以上有するものからなる検索キー主題グラフを生成する検索キー解析手段と、
前記検索キーに含まれる各単語に対し、前記重要度転置インデクスで対応する単語の重要度を取得し、この単語の重要度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語とその重要度との組を１以上有するものと、当該文書の文書ＩＤとからなる重要度ベクトルを１以上有する重要度ベクトルリストを生成する文書ＩＤ・重要度取得手段と、
前記検索キーに含まれる各単語ペアに対し、前記関連度転置インデクスで対応する単語ペアの関連度を取得し、この単語ペアの関連度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語ペアとその関連度との組を１以上有するものと、当該文書の文書ＩＤとからなる関連度ベクトルを１以上有する関連度ベクトルリストを生成する文書ＩＤ・関連度取得手段と、
前記重要度ベクトルリストの重要度ベクトルに含まれる単語とその重要度との組を１以上有するものと、当該重要度ベクトルに含まれる文書ＩＤと、該文書ＩＤを含みかつ前記関連度ベクトルリストに含まれる関連度ベクトルに含まれる単語ペアとその関連度と組を１以上有するものと、からなる検索対象文書主題グラフを文書ＩＤごとに生成する文書ＩＤマージ手段と、
前記検索キー主題グラフと前記各検索対象主題グラフとの類似度を計算する類似度計算手段と、
前記計算された類似度の高い検索対象文書についての検索結果を生成する結果生成手段  とを有することを特徴とする類似文書検索装置。
【請求項６】
前記関連度転置インデクス生成手段は、前記関連度転置インデクスを生成する際に、
前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、
該単語ペア連結文字列と文書ＩＤと単語ペアの関連度との組をメモリに格納し、この組数が予め定めた数に達するごとに各組を単語ペア連結文字列でソートし新たな一時ファイルに書き出し、全ての一時ファイルをマージし単語ペア連結文字列でソートする
ことを特徴とする請求項５記載の類似文書検索装置。
【請求項７】
前記文書ＩＤ・関連度取得手段は、前記関連度ベクトルリストを生成する際に、
前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、
この単語ペア連結文字列に対し、前記関連度転置インデクスで対応する、文書ＩＤと単語ペアの関連度とを１以上含むものを取得し、
文書ＩＤと、対応する単語ペアとその単語ペアの関連度との組を１以上有するものとをメモリに格納すること
を特徴とする請求項６記載の類似文書検索装置。
【請求項８】
前記文書ＩＤマージ手段は、
前記重要度ベクトルリストと前記関連度ベクトルリストとを取得し、
当該重要度ベクトルリストの要素数が予め定めた数より少ない、または、当該関連度ベクトルリストの要素数が予め定めた数より少ない、か否かを判定し、
肯定的な判定結果を得たときは、重要度ベクトルリストの重要度ベクトルに含まれる文書ＩＤを含む関連度ベクトルを関連度ベクトルから取得し、
否定的な判定結果を得た場合は、関連度ベクトルリストの関連度ベクトルに含まれる文書ＩＤを含む重要度ベクトルを重要度ベクトルから取得する
ことを特徴とする請求項５ないし７のいずれかに記載の類似文書検索装置。
【請求項９】
請求項５ないし８のいずれかに記載の類似文書検索装置としてコンピュータを機能させるコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大量の文書集合の中から検索キーとして指定された文や文書と類似する文書を高速に精度良く検索する類似文書検索方法および装置に関するものである。
【背景技術】
【０００２】
類似文書検索とは、あらかじめ記憶された多数の検索対象文書の中から、検索キーとして入力された文や文書に類似するものを、検索キーとの類似度の高い順に予め定めた個数だけ検索することをいう（特許文献１参照のこと）。
【特許文献１】特開２０００−１２３０４１号公報
【非特許文献１】富田、竹野、菊井、林、池田：「グラフモデルの提案とテキスト検索システムへの適用による評価」、情報処理学会論文誌データベース、Ｖｏｌ．４３，Ｎｏ．ＳＩＧ２（ＴＯＤ１３）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
図８は、従来の類似文書検索装置１００の構成を示す図である。
【０００４】
類似文書検索装置１００は、インデクス生成部１１０と検索処理部１２０とを備える。インデクス生成部１１０は、文書解析部１１１と重要度転置インデクス生成部１１２と関連度順引きインデクス生成部１１３Ａとを備える。検索処理部１２０は、検索キー解析部１２１と文書ＩＤ・重要度取得部１２２と関連度取得部１２３Ａと文書ＩＤマージ部１２４Ａと類似度計算部１２５と結果生成部１２６とを備える。
【０００５】
以下の説明では、’（ｘ、ｙ）’は、ｘとｙとを含む組を表すものとする。また、'ｘ＋'は、ｘを１以上有するもの、いわゆる集合やリストやテーブルの類を表すものとする。
【０００６】
文書解析部１１１は、複数の検索対象文書のそれぞれについて、（その検索対象文書の文書ＩＤ、（その検索対象文書のいずれかに含まれる単語、その単語の重要度）＋）を生成し、重要度転置インデクス生成部１１２へ送信し、重要度転置インデクス生成部１１２は、これらより、図９（ａ）のような要素をもつ重要度転置インデクス１００１を生成する。
【０００７】
文書解析部１１１は、具体的には、各検索対象文書から単語を抽出し、単語の頻度等を用いて各単語に重要度を計算する。
【０００８】
また、文書解析部１１１は、複数の検索対象文書のそれぞれについて、（その文書ＩＤ、（その検索対象文書のいずれかに含まれる単語ペア、その単語ペアの関連度）＋）を生成し、関連度順引きインデクス生成部１１３Ａへ送信し、関連度順引きインデクス生成部１１３Ａは、これらより、図９（ｂ）のような要素をもつ関連度順引きインデクス１００２Ａを生成する。
【０００９】
文書解析部１１１は、具体的には、単語の共起頻度等を用いて、検索対象文書内で共起する全ての単語ペアの関連度を計算する。ここで共起とは、ある特定の区間（文、文節、決められた単語数等）内で単語ペアが出現することをいう。
【００１０】
検索キー解析部１２１は、単語を含む文や文書である検索キーが入力されると、検索キー主題グラフ、つまり、（（検索キーに含まれる単語、その単語の重要度）＋、（検索キーに含まれる単語ペア、その単語ペアの関連度）＋）」を生成し、類似度計算部１２５へ送信する。
【００１１】
また、検索キー解析部１２１は、検索キー主題グラフ、つまり検索キーに含まれる単語＋を文書ＩＤ・重要度取得部１２２へ送信する。
【００１２】
文書ＩＤ・重要度取得部１２２は、この単語＋の各単語に対し、重要度転置インデクス１００１で対応する（単語の重要度）を取得し、この単語の重要度を、対応する文書ＩＤごとにグループ化し、重要度ベクトル、つまり、（検索対象文書の文書ＩＤ、（この検索対象文書に含まれる単語、この単語の重要度）＋）からなる重要度ベクトルリストを生成し、文書ＩＤマージ部１２４Ａへ送信する。
【００１３】
また、文書ＩＤ・重要度取得部１２２は、重要度転置インデクス１００１に含まれる文書ＩＤ＋を取得し関連度取得部１２３Ａへ送信する。
【００１４】
関連度取得部１２３Ａは、この文書ＩＤ＋の各検索対象文書ＩＤに対し、関連度順引きインデクス１００２Ａで対応する（単語ペアの関連度）を取得し、関連度ベクトル、つまり、（検索対象文書の文書ＩＤ、（この検索対象文書に含まれる単語ペア、この単語ペアの関連度）＋）からなる関連度ベクトルリストを生成し、文書ＩＤマージ部１２４Ａへ送信する。
【００１５】
文書ＩＤマージ部１２４Ａは、単語の重要度をノードの重みとし、単語ペアの関連度をリンクの重みとした検索対象文書主題グラフを生成し類似度計算部１２５に送信する。
【００１６】
具体的には、（この重要度ベクトルリストの重要度ベクトルに含まれる単語、その単語の重要度）＋、（この重要度ベクトルに含まれる文書ＩＤ）、（この文書ＩＤを含みかつ関連度ベクトルリストに含まれる関連度ベクトルに含まれる単語ペア、その単語ペアの関連度）＋）からなる検索対象文書主題グラフをそれぞれ生成し、こうして生成された検索対象文書主題グラフ＋を類似度計算部１２５に送信する。
【００１７】
類似度計算部１２５は、検索キー主題グラフと各検索対象文書主題グラフ＋との類似度を計算し、（その類似度を計算した検索対象文書主題グラフに含まれた文書ＩＤ、その類似度）＋を結果生成部１２６へ送信する。
【００１８】
類似度計算部１２５は、具体的には、例えば、重要度の高い同じ単語を多く含み、関連度の高い同じ単語ペアを多く含む検索対象文書に高い類似度を与える。このように単語ペアの関連度を用いることで精度の高い類似度計算を行う。
【００１９】
結果生成部１２６は、類似度計算部１２５からの（文書ＩＤ、類似度）＋を類似度でソートし、類似度の高い方から、予め定められた整数ｎに等しい数の（文書ＩＤ、類似度）＋を選択し、これらに文書のタイトルや原文書へのポインタ等を付与した検索結果を生成し出力する。
【００２０】
このように、類似文書検索装置１００は、重要度転置インデクス１００１を用いて、検索対象文書を絞り込み、関連度順引きインデクス１００２Ａを用いて、その各検索対象文書の検索対象文書主題グラフを生成し、検索キー主題グラフと検索対象文書主題グラフとの類似度を計算する。
【００２１】
しかしながら、類似文書検索装置１００は、以下の２つが原因で検索速度が遅いという問題があった。
【００２２】
原因１：処理対象の検索対象文書が多い
文書ＩＤ・重要度取得部１２２は、重要度転置インデクス１００１に含まれる文書ＩＤ＋を取得し関連度取得部１２３Ａへ送信するので、検索結果に含まれない、類似度の低い検索対象文書の文書ＩＤまでを取得することが多い。よって、関連度取得部１２３Ａと類似度計算部１２５はこの文書ＩＤの文書を処理することとなる。つまり、処理対象の検索対象文書が多くなることにより処理負荷が増す。
【００２３】
原因２：処理対象の単語ペアが多い
関連度取得部１２３Ａは、文書ＩＤ・重要度取得部１２２からの文書ＩＤ＋の各文書ＩＤに対し、関連度順引きインデクス１００２Ａで対応する（単語ペアの関連度）を取得する。
【００２４】
そのため、各検索対象文書のサイズが大きくなると、取得される（単語ペアの関連度）の数は莫大な数になる。そのため、類似度計算部１２５では、この莫大な数の（単語ペアの関連度）を用いた類似度計算を行う必要がある。つまり、処理対象の単語ペアが多くなることにより処理負荷が増す。
【００２５】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、単語ペアの関連度を用いた類似度計算に基づく精度の高い類似文書検索を高速に実行することができる類似文書検索方法および装置を提供することにある。
【課題を解決するための手段】
【００２６】
上記従来の課題を解決するために、請求項１の本発明は、１以上の検索対象文書のいずれかに含まれる単語の重要度ならびに当該検索対象文書のいずれかに含まれる単語ペアの関連度を計算する文書解析手段が当該計算を行い、この文書解析手段で単語の重要度が計算された単語を含む検索対象文書の文書ＩＤと、この単語の重要度との組を１以上有するものと、この単語との組を１以上有する重要度転置インデクスを生成する重要度転置インデクス生成手段が当該重要度転置インデクスを生成し、前記文書解析手段で単語ペアの関連度が計算された単語ペアを含む検索対象文書の文書ＩＤと、この単語ペアの関連度との組を１以上有するものと、この単語ペアとの組を１以上有する関連度転置インデクスを生成する関連度転置インデクス生成手段が当該関連度転置インデクスを生成し、検索キーに含まれる単語とその重要度との組を１以上有するものならびに当該検索キーに含まれる単語ペアとその関連度との組を１以上有するものからなる検索キー主題グラフを生成する検索キー解析手段が当該検索キー主題グラフを生成し、前記検索キーに含まれる各単語に対し、前記重要度転置インデクスで対応する単語の重要度を取得し、この単語の重要度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語とその重要度との組を１以上有するものと、当該文書の文書ＩＤとからなる重要度ベクトルを１以上有する重要度ベクトルリストを生成する文書ＩＤ・重要度取得手段が当該重要度ベクトルリストを生成し、前記検索キーに含まれる各単語ペアに対し、前記関連度転置インデクスで対応する単語ペアの関連度を取得し、この単語ペアの関連度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語ペアとその関連度との組を１以上有するものと、当該文書の文書ＩＤとからなる関連度ベクトルを１以上有する関連度ベクトルリストを生成する文書ＩＤ・関連度取得手段が当該関連度ベクトルリストを生成し、前記重要度ベクトルリストの重要度ベクトルに含まれる単語とその重要度との組を１以上有するものと、当該重要度ベクトルに含まれる文書ＩＤと、該文書ＩＤを含みかつ前記関連度ベクトルリストに含まれる関連度ベクトルに含まれる単語ペアとその関連度と組を１以上有するものと、からなる検索対象文書主題グラフを文書ＩＤごとに生成する文書ＩＤマージ手段が当該各検索対象文書手段グラフを生成し、前記検索キー主題グラフと前記各検索対象主題グラフとの類似度を計算する類似度計算手段が当該各類似度を計算し、前記計算された類似度の高い検索対象文書についての検索結果を生成する結果生成手段が当該検索結果を生成することを特徴とする類似文書検索方法をもって解決手段とする。
【００２７】
請求項２の本発明は、前記関連度転置インデクス生成手段は、前記関連度転置インデクスを生成する際に、前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、該単語ペア連結文字列と文書ＩＤと単語ペアの関連度との組をメモリに格納し、この組数が予め定めた数に達するごとに各組を単語ペア連結文字列でソートし新たな一時ファイルに書き出し、全ての一時ファイルをマージし単語ペア連結文字列でソートすることを特徴とする請求項１記載の類似文書検索方法をもって解決手段とする。
【００２８】
請求項３の本発明は、前記文書ＩＤ・関連度取得手段は、前記関連度ベクトルリストを生成する際に、前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、この単語ペア連結文字列に対し、前記関連度転置インデクスで対応する、文書ＩＤと単語ペアの関連度とを１以上含むものを取得し、文書ＩＤと、対応する単語ペアとその単語ペアの関連度との組を１以上有するものとをメモリに格納することを特徴とする請求項２記載の類似文書検索方法をもって解決手段とする。
【００２９】
請求項４の本発明は、前記文書ＩＤマージ手段は、前記重要度ベクトルリストと前記関連度ベクトルリストとを取得し、当該重要度ベクトルリストの要素数が予め定めた数より少ない、または、当該関連度ベクトルリストの要素数が予め定めた数より少ない、か否かを判定し、肯定的な判定結果を得たときは、重要度ベクトルリストの重要度ベクトルに含まれる文書ＩＤを含む関連度ベクトルを関連度ベクトルから取得し、否定的な判定結果を得た場合は、関連度ベクトルリストの関連度ベクトルに含まれる文書ＩＤを含む重要度ベクトルを重要度ベクトルから取得することを特徴とする請求項１ないし３のいずれかに記載の類似文書検索方法をもって解決手段とする。
【００３０】
請求項５の本発明は、１以上の検索対象文書のいずれかに含まれる単語の重要度ならびに当該検索対象文書のいずれかに含まれる単語ペアの関連度を計算する文書解析手段と、この文書解析手段で単語の重要度が計算された単語を含む検索対象文書の文書ＩＤと、この単語の重要度との組を１以上有するものと、この単語との組を１以上有する重要度転置インデクスを生成する重要度転置インデクス生成手段と、前記文書解析手段で単語ペアの関連度が計算された単語ペアを含む検索対象文書の文書ＩＤと、この単語ペアの関連度との組を１以上有するものと、この単語ペアとの組を１以上有する関連度転置インデクスを生成する関連度転置インデクス生成手段と、検索キーに含まれる単語とその重要度との組を１以上有するものならびに当該検索キーに含まれる単語ペアとその関連度との組を１以上有するものからなる検索キー主題グラフを生成する検索キー解析手段と、前記検索キーに含まれる各単語に対し、前記重要度転置インデクスで対応する単語の重要度を取得し、この単語の重要度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語とその重要度との組を１以上有するものと、当該文書の文書ＩＤとからなる重要度ベクトルを１以上有する重要度ベクトルリストを生成する文書ＩＤ・重要度取得手段と、前記検索キーに含まれる各単語ペアに対し、前記関連度転置インデクスで対応する単語ペアの関連度を取得し、この単語ペアの関連度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語ペアとその関連度との組を１以上有するものと、当該文書の文書ＩＤとからなる関連度ベクトルを１以上有する関連度ベクトルリストを生成する文書ＩＤ・関連度取得手段と、前記重要度ベクトルリストの重要度ベクトルに含まれる単語とその重要度との組を１以上有するものと、当該重要度ベクトルに含まれる文書ＩＤと、該文書ＩＤを含みかつ前記関連度ベクトルリストに含まれる関連度ベクトルに含まれる単語ペアとその関連度と組を１以上有するものと、からなる検索対象文書主題グラフを文書ＩＤごとに生成する文書ＩＤマージ手段と、前記検索キー主題グラフと前記各検索対象主題グラフとの類似度を計算する類似度計算手段と、前記計算された類似度の高い検索対象文書についての検索結果を生成する結果生成手段とを有することを特徴とする類似文書検索装置をもって解決手段とする。
【００３１】
請求項６の本発明は、前記関連度転置インデクス生成手段は、前記関連度転置インデクスを生成する際に、前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、該単語ペア連結文字列と文書ＩＤと単語ペアの関連度との組をメモリに格納し、この組数が予め定めた数に達するごとに各組を単語ペア連結文字列でソートし新たな一時ファイルに書き出し、全ての一時ファイルをマージし単語ペア連結文字列でソートすることを特徴とする請求項５記載の類似文書検索装置をもって解決手段とする。
【００３２】
請求項７の本発明は、前記文書ＩＤ・関連度取得手段は、前記関連度ベクトルリストを生成する際に、前記文書解析手段で単語ペアの関連度が計算された単語ペアの単語を連結した単語ペア連結文字列を生成し、この単語ペア連結文字列に対し、前記関連度転置インデクスで対応する、文書ＩＤと単語ペアの関連度とを１以上含むものを取得し、文書ＩＤと、対応する単語ペアとその単語ペアの関連度との組を１以上有するものとをメモリに格納することを特徴とする請求項６記載の類似文書検索装置をもって解決手段とする。
【００３３】
請求項８の本発明は、前記文書ＩＤマージ手段は、前記重要度ベクトルリストと前記関連度ベクトルリストとを取得し、当該重要度ベクトルリストの要素数が予め定めた数より少ない、または、当該関連度ベクトルリストの要素数が予め定めた数より少ない、か否かを判定し、肯定的な判定結果を得たときは、重要度ベクトルリストの重要度ベクトルに含まれる文書ＩＤを含む関連度ベクトルを関連度ベクトルから取得し、否定的な判定結果を得た場合は、関連度ベクトルリストの関連度ベクトルに含まれる文書ＩＤを含む重要度ベクトルを重要度ベクトルから取得することを特徴とする請求項５ないし７のいずれかに記載の類似文書検索装置をもって解決手段とする。
【００３４】
請求項９の本発明は、請求項５ないし８のいずれかに記載の類似文書検索装置としてコンピュータを機能させるコンピュータプログラムをもって解決手段とする。
【００３５】
請求項１０の本発明は、請求項９に記載のコンピュータプログラムを格納した記録媒体をもって解決手段とする。
【発明の効果】
【００３６】
本発明によれば、１以上の検索対象文書のいずれかに含まれる単語の重要度ならびに当該検索対象文書のいずれかに含まれる単語ペアの関連度を計算する文書解析手段が当該計算を行い、この文書解析手段で単語の重要度が計算された単語を含む検索対象文書の文書ＩＤと、この単語の重要度との組を１以上有するものと、この単語との組を１以上有する重要度転置インデクスを生成する重要度転置インデクス生成手段が当該重要度転置インデクスを生成し、前記文書解析手段で単語ペアの関連度が計算された単語ペアを含む検索対象文書の文書ＩＤと、この単語ペアの関連度との組を１以上有するものと、この単語ペアとの組を１以上有する関連度転置インデクスを生成する関連度転置インデクス生成手段が当該関連度転置インデクスを生成し、検索キーに含まれる単語とその重要度との組を１以上有するものならびに当該検索キーに含まれる単語ペアとその関連度との組を１以上有するものからなる検索キー主題グラフを生成する検索キー解析手段が当該検索キー主題グラフを生成し、前記検索キーに含まれる各単語に対し、前記重要度転置インデクスで対応する単語の重要度を取得し、この単語の重要度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語とその重要度との組を１以上有するものと、当該文書の文書ＩＤとからなる重要度ベクトルを１以上有する重要度ベクトルリストを生成する文書ＩＤ・重要度取得手段が当該重要度ベクトルリストを生成し、前記検索キーに含まれる各単語ペアに対し、前記関連度転置インデクスで対応する単語ペアの関連度を取得し、この単語ペアの関連度を、対応する文書ＩＤごとにグループ化し、文書に含まれる単語ペアとその関連度との組を１以上有するものと、当該文書の文書ＩＤとからなる関連度ベクトルを１以上有する関連度ベクトルリストを生成する文書ＩＤ・関連度取得手段が当該関連度ベクトルリストを生成し、前記重要度ベクトルリストの重要度ベクトルに含まれる単語とその重要度との組を１以上有するものと、当該重要度ベクトルに含まれる文書ＩＤと、該文書ＩＤを含みかつ前記関連度ベクトルリストに含まれる関連度ベクトルに含まれる単語ペアとその関連度と組を１以上有するものと、からなる検索対象文書主題グラフを文書ＩＤごとに生成する文書ＩＤマージ手段が当該各検索対象文書手段グラフを生成し、前記検索キー主題グラフと前記各検索対象主題グラフとの類似度を計算する類似度計算手段が当該各類似度を計算し、前記計算された類似度の高い検索対象文書についての検索結果を生成する結果生成手段が当該検索結果を生成するので、単語ペアの関連度を用いた類似度計算に基づく精度の高い類似文書検索を高速に実行することができる
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態を図面を参照して説明する。
【００３８】
図１は、本実施の形態に係る類似文書検索装置１の構成を示す図である。ここでは、図１００に示した類似文書検索装置１００の構成要素と同一のものには同一符号を付して説明の重複を避け、類似文書検索装置１００との差異を説明する
類似文書検索装置１は、インデクス生成部１１と検索処理部１２とを備える。インデクス生成部１１は、文書解析部１１１と重要度転置インデクス生成部１１２と関連度転置インデクス生成部１１３とを備える。検索処理部１２は、検索キー解析部１２１と文書ＩＤ・重要度取得部１２２と文書ＩＤ・関連度取得部１２３と文書ＩＤマージ部１２４と類似度計算部１２５と結果生成部１２６とを備える。
【００３９】
次に、類似文書検索装置１の動作を説明する。
【００４０】
図２は、関連度転置インデクス生成部１１３のフローチャートである。
【００４１】
図３は、関連度転置インデクス生成部１１３により生成される関連度転置インデクス１００２の要素を示す図である。
【００４２】
図３に示すように、関連度転置インデクス１００２の要素は、（単語ペア連結文字列、（文書ＩＤ、単語ペアの関連度）＋）である。
【００４３】
図２では、まず、メモリ上に空の単語ペア格納リストを生成する（Ｓ１０１）。単語ペア格納リストは、（単語ペア連結文字列、文書ＩＤ、単語ペアの関連度）＋である。
【００４４】
続いて、文書解析部１１１が生成した（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）＋の中で未処理のものが存在する否かを判定する（Ｓ１０２）。
【００４５】
Ｙｅｓと判定された場合は、未処理である１つの（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）を選択し（Ｓ１０３）、変数ｉに１を代入し（Ｓ１０４）、変数ｉが、当該（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）に含まれる単語ペアの個数以下か否かを判定する（Ｓ１０５）。Ｎｏと判定された場合は、Ｓ１０２へ戻る。一方、Ｙｅｓと判定された場合は、当該（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）のｉ番目の単語ペアから、単語ペア連結文字列を生成する（Ｓ１０６）。
【００４６】
単語ペア連結文字列は、単語ペアの２つの単語を順序づけし、セパレータで連結したものである。セパレータは、検索対象文書や検索キーのいかなる単語にも出現しない文字（列）であり、便宜上'＋'と書く。
【００４７】
例えば、単語ペアが、（単語ａ、単語ｂ）や（単語ｂ、単語ａ）の場合、単語ペア連結文字列は、「単語ａ＋単語ｂ」となる。ここで、単語ａ＜単語ｂと順序づけされるものとする。
【００４８】
続いて、「単語ペア連結文字列、当該（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）の文書ＩＤ、当該（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）のｉ番目の（単語ペアの関連度）」を単語ペア格納リストへ追加する（Ｓ１０７）。
【００４９】
続いて、単語ペア格納リストの要素、つまり（単語ペア連結文字列、文書ＩＤ、単語ペアの関連度）、の数が予め定めた整数ｍより少ないか否かを判定する（Ｓ１０８）。
【００５０】
Ｎｏと判定された場合は、単語ペア格納リストを、単語ペア連結文字列の降順（または昇順）にソートする（Ｓ１０９）。
【００５１】
次に、一時ファイル（５０１）を新規に生成し、Ｓ１０９でソートした単語ペア格納リストをそのファイルに書き出す（Ｓ１１０）。
【００５２】
次に、単語ペア格納リストを空にする（Ｓ１１１）。
【００５３】
Ｓ１１１を終えたとき、あるいはＳ１０８でＹｅｓと判定された場合は、変数ｉに１を加算し（Ｓ１１２）、Ｓ１０５へ戻る。
【００５４】
さて、Ｓ１０２でＮｏと判定されたときは、単語ペア格納リストが空か否かを判定する（Ｓ１１３）。Ｎｏと判定された場合は、単語ペア格納リストを、単語ペア連結文字列の降順（または昇順）にソートする（Ｓ１１４）。
【００５５】
そして、一時ファイル（５０１）を新規に生成し、Ｓ１１４でソートした単語ペア格納リストをそのファイルに書き出す（Ｓ１１５）。
【００５６】
Ｓ１１５を終えたとき、あるいはＳ１１３でＹｅｓと判定された場合は、Ｓ１１０とＳ１１５で生成された、全ての一時ファイル（５０１）を単語ペア連結文字列の降順（または昇順）にマージおよびソートする（Ｓ１１６）。
【００５７】
続いて、マージおよびソートした単語ペア格納リストを、単語ペア連結文字列でグループ化したものを関連度転置インデクス１００２として出力する（Ｓ１１７）。
【００５８】
図４は、検索対象文書と重要度転置インデクス１００１と関連度転置インデクス１００２の例を示す図である。
【００５９】
図４（ａ）に示す検索対象文書からは、図４（ｂ）に示す重要度転置インデクス１００１と、図４（ｃ）に示す関連度転置インデクス１００２とが生成される。
【００６０】
図５は、文書ＩＤ・関連度取得部１２３のフローチャートである。
【００６１】
まず、メモリ上に空の関連度テーブルを生成する（Ｓ２０１）。関連度テーブルは、（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）＋であり、（文書ＩＤ、（単語ペア、単語ペアの関連度）＋）は関連度ベクトルという。
【００６２】
続いて、検索キー解析部１２１から、検索キーに含まれる単語ペア＋を受信し（Ｓ２０２）、変数ｉに１を代入する（Ｓ２０３）。
【００６３】
続いて、変数ｉが、受信した単語ペア＋の要素数以下か否かを判定する（Ｓ２０４）。Ｙｅｓと判定された場合は、単語ペア＋のｉ番目の単語ペアから、単語ペア連結文字列を生成する（Ｓ２０５）。
【００６４】
続いて、この単語ペア連結文字列に対し、関連度転置インデクス１００２で対応する（文書ＩＤ、単語ペアの関連度）＋を取得する（Ｓ２０６）。
【００６５】
続いて、変数ｊに１を代入し（Ｓ２０７）、変数ｊが、Ｓ２０６で取得した（文書ＩＤ、単語ペアの関連度）＋に含まれる文書ＩＤの個数以下か否かを判定する（Ｓ２０８）。Ｎｏと判定された場合は、変数ｉに１を加算し（Ｓ２１３）、Ｓ２０４へ戻る。
【００６６】
Ｙｅｓと判定された場合は、Ｓ２０６で取得した（文書ＩＤ、単語ペアの関連度）＋のｊ番目の文書ＩＤが、関連度テーブルに存在するかを判定する（Ｓ２０９）。
【００６７】
Ｎｏと判定された場合は、（ｊ番目の文書ＩＤ、空の単語ペア、空の単語ペアの関連度）を関連度テーブルに追加する（Ｓ２１０）。
【００６８】
Ｓ２１０を終えたとき、あるいはＳ２０９でＹｅｓと判定された場合は、関連度テーブルのｊ番目の文書ＩＤに対し、Ｓ２０２で受信した単語ペア＋のｉ番目の単語ペアと、Ｓ２０６で取得した（文書ＩＤ、単語ペアの関連度）＋のｊ番目の（単語ペアの関連度）とを対応づける（Ｓ２１１）。
【００６９】
続いて、変数ｊに１を加算し（Ｓ２１２）、Ｓ２０８へ戻る。
【００７０】
一方、Ｓ２０４でＮｏと判定された場合は、関連度テーブルを関連度ベクトルリストとして文書ＩＤマージ部１２４へ送信する（Ｓ２１４）。
【００７１】
図６は、文書ＩＤマージ部１２４のフローチャートである。
【００７２】
まず、重要度ベクトルリストと関連度ベクトルリストを受信する（Ｓ３０１，Ｓ３０２）。
【００７３】
続いて、空の検索対象文書主題グラフ＋を生成する（Ｓ３０３）。
【００７４】
検索対象文書主題グラフ＋は、（文書ＩＤ、（単語、単語の重要度）＋、（単語ペア、単語ペアの関連度）＋）＋である。
【００７５】
続いて、受信した重要度ベクトルリストの要素数が予め定めた整数ｐより少ない、または、受信した関連度ベクトルリストの要素数が予め定めた整数ｑより少ない、か否かを判定する（Ｓ３０４）。
【００７６】
Ｙｅｓと判定された場合は、変数ｉに１を代入する（Ｓ３０５）。
【００７７】
続いて、変数ｉが、重要度ベクトルリストの要素数よりも少ないか否かを判定する（Ｓ３０６）。
【００７８】
Ｙｅｓと判定された場合は、重要度ベクトルリストにおけるｉ番目の重要度ベクトルの文書ＩＤを含む関連度ベクトルを、受信した関連度ベクトルリストから取得する（Ｓ３０７）。
【００７９】
続いて、（この文書ＩＤ、この重要度ベクトルの（単語、単語の重要度）＋、この関連度ベクトルの（単語ペア、単語ペアの関連度）＋）を、検索対象文書主題グラフ＋に追加する（３０８）。
【００８０】
続いて、変数ｉに１を加算し（Ｓ３０９）、Ｓ３０６へ戻る。
【００８１】
一方、Ｓ３０４でＮｏと判定された場合は、変数ｉに１を代入する（Ｓ３１０）。
【００８２】
続いて、変数ｉが、関連度ベクトルリストの要素数よりも少ないか否かを判定する（Ｓ３１１）。
【００８３】
Ｙｅｓと判定された場合は、関連度ベクトルリストにおけるｉ番目の関連度ベクトルの文書ＩＤを含む重要度ベクトルを、受信した重要度ベクトルリストから取得する（Ｓ３１２）。
【００８４】
続いて、（この文書ＩＤ、この重要度ベクトルの（単語、単語の重要度）＋、この関連度ベクトルの（単語ペア、単語ペアの関連度）＋）を、検索対象文書主題グラフ＋に追加する（Ｓ３１３）。
【００８５】
続いて、変数ｉに１を加算し（Ｓ３１４）、Ｓ３０６へ戻る。
【００８６】
Ｓ３０６またはＳ３１１でＮｏと判定された場合は、検索対象文書主題グラフ＋を類似度計算部１２５へ送信する（Ｓ３１５）。
【００８７】
図７は、検索キーと検索キー主題グラフ＋と重要度ベクトルリストと関連度ベクトルリストと検索対象文書主題グラフ＋の例を示す図である。
【００８８】
図７（ａ）の検索キーからは、図７（ｂ）の検索キー主題グラフが得られる。
【００８９】
また、図７（ａ）の検索キーから得られた単語＋と図４（ｂ）の重要度転置インデクス１００１からは、図７（ｃ）の重要度ベクトルリストが得られる。
【００９０】
また、図７（ａ）の検索キーから得られた単語ペア＋と図４（ｃ）の関連度転置インデクス１００２からは、図７（ｄ）の関連度ベクトルリストが得られる。
【００９１】
また、Ｓ３０４のｐとｑを１とすると、これらの重要度ベクトルリストと関連度ベクトルリストからは、図７（ｅ）の検索対象文書主題グラフを含む検索対象文書主題グラフ＋が得られる。
【００９２】
類似度計算部１２５は、例えば、図７（ｂ）の検索キー主題グラフと、図７（ｅ）の検索対象文書主題グラフの類似度を計算し、（文書ＩＤ、類似度）＋を結果生成部１２６へ送信する。
【００９３】
結果生成部１２６は、（文書ＩＤ、類似度）＋を類似度でソートし、類似度の高い方から、予め定められた整数ｎに等しい数の（文書ＩＤ、類似度）＋を選択し、これらに文書のタイトルや原文書へのポインタ等を付与した検索結果を生成し出力する。
【００９４】
次に、各課題がどのように解決されるのかを説明する。
【００９５】
（１）処理対象の検索対象文書が多いという課題の解決
類似度計算部１２５で類似度が計算される検索対象文書の総数は、類似文書検索装置１００では、「検索キーに含まれる単語を１つでも含む検索対象文書の総数」に等しいの対して、類似文書検索装置１では、「検索キーに含まれる単語を１つでも含む検索対象文書の総数、または、このような検索対象文書の総数が規定数以上の場合は、検索キーに含まれる単語ペアを１つでも含む検索対象文書の総数」に等しくなる。
【００９６】
後者の数は、多くの場合、前者の数よりも少なく、また、後者の検索対象文書と検索キーとの類似度は、前者の検索対象文書と検索キーとの類似度よりも高くなる傾向にある。したがって、前者の検索対象文書と検索キーとの類似度を全て計算しなくてもこれを行ったときと同様の検索結果が得られる。つまり、処理対象の検索対象文書を少なくでき、これにより、処理負荷が減り、その分だけ検索速度を向上させることができる。
【００９７】
（２）処理対象の単語が多いという課題の解決
類似文書検索装置１００の関連度取得部１２３Ａにより関連度順引きインデクス生成部１１３Ａから取得される（単語ペアの関連度）の総数は、「文書ＩＤ・重要度取得部１２２からの各文書ＩＤに対応する（単語ペアの関連度）の総数」に等しいのに対し、類似文書検索装置１の文書ＩＤ・関連度取得部１２３により関連度転置インデクス１１３から取得される（単語ペアの関連度）の総数は、「検索キー解析部１２１からの各単語ペアに対応する（単語ペアの関連度）の総数」に等しくなる。
【００９８】
後者の数は、多くの場合、前者の数よりも少なく、また、後者の（単語ペアの関連度）を用いて計算された類似度は、前者の（単語ペアの関連度）を用いて計算された類似度よりも高くなる傾向にある。したがって、前者の（単語ペアの関連度）を用いて類似度を全て計算しなくてもこれを行ったときと同様の検索結果が得られる。つまり、処理対象の単語ペアを少なくでき、これにより、例えば、検索対象文書主題グラフに含まれる単語ペアの総数が少なくなるというように、処理負荷が減り、その分だけ検索速度を向上させることができる。
【００９９】
なお、一般的なコンピュータを上記実施の形態の類似文書検索装置またはその一部として機能させるコンピュータプログラムは、単独でまたは組み合わせて、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納したり、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【図面の簡単な説明】
【０１００】
【図１】本実施の形態に係る類似文書検索装置１の構成を示す図である。
【図２】関連度転置インデクス生成部１１３のフローチャートである。
【図３】関連度転置インデクス１００２の要素を示す図である。
【図４】検索対象文書と重要度転置インデクス１００１と関連度転置インデクス１００２の例を示す図である。
【図５】文書ＩＤ・関連度取得部１２３のフローチャートである。
【図６】文書ＩＤマージ部１２４のフローチャートである。
【図７】検索キーと検索キー主題グラフ＋と重要度ベクトルリストと関連度ベクトルリストと検索対象文書主題グラフ＋の例を示す図である。
【図８】類似文書検索装置１００の構成を示す図である。
【図９】重要度転置インデクス１００１の要素と関連度順引きインデクス１００２Ａの要素を示す図である。
【符号の説明】
【０１０１】
１…類似文書検索装置
１１…インデクス生成部
１２…検索処理部
１１１…文書解析部
１１２…重要度転置インデクス生成部
１１３…関連度転置インデクス
１１３…関連度転置インデクス生成部
１２１…検索キー解析部
１２２…文書ＩＤ・重要度取得部
１２３…文書ＩＤ・関連度取得部
１２４…文書ＩＤマージ部
１２５…類似度計算部
１２６…結果生成部
１００１…重要度転置インデクス
１００２…関連度転置インデクス
【図１】
2006146355.tif 000003
【図２】
2006146355.tif 000004
【図３】
2006146355.tif 000005
【図４】
2006146355.tif 000006
【図５】
2006146355.tif 000007
【図６】
2006146355.tif 000008
【図７】
2006146355.tif 000009
【図８】
2006146355.tif 000010
【図９】
2006146355.tif 000011