(57)【特許請求の範囲】
【請求項１】
文書を検索するシステムであって、
キーワードの入力を受け付けるキーワード入力部と、
前記キーワードに対応する文書を検索する文書検索部と、
検索結果の文書を、前記文書に含まれる単語に基づいて複数のグループに分類するグループ分類部と、
前記グループのうち属する文書の数が最も多い最大グループを表す最大グループ名を、前記最大グループに属する文書に含まれる単語に基づいて決定する最大グループ名決定部と、
前記最大グループ名がユーザの意図に合致するか否かを示す選択情報の入力を受け付ける絞込み選択部と、
前記選択情報が前記意図に合致することを示す場合、前記最大グループに属する文書の一覧を表示し、前記選択情報が前記意図に合致しないことを示す場合、前記検索結果に含まれる文書のうち前記最大グループに属さないものの一覧を表示する検索結果表示部と、
を備えることを特徴とする文書検索システム。
【請求項２】
請求項１に記載の文書検索システムであって、
前記選択情報が前記意図に合致することを示す場合、前記最大グループに属する文書を前記検索結果とし、前記選択情報が前記意図に合致しないことを示す場合、前記検索結果に含まれる文書のうち前記最大グループに属さないものを前記検索結果として、前記グループ分類部が前記検索結果に含まれる文書をグループに分類し、前記最大グループ名決定部が前記最大グループ名を決定し、前記選択画面情報送信部が前記選択画面情報を送信し、前記選択情報受信部が前記選択情報を受信し、前記検索結果送信部が前記一覧を表示する情報を送信すること、
を特徴とする文書検索システム。
【請求項３】
請求項１に記載の文書検索システムであって、
前記検索結果の文書から、ＬＳＩ手法により前記文書についての特徴語を抽出し、抽出した前記特徴語を前記文書に含まれる単語として決定する特徴語抽出部を備えること、
を特徴とする文書検索システム。
【請求項４】
請求項１に記載の文書検索システムであって、
前記グループ分類部は、前記文書に含まれる単語のクラスタリングにより、前記文書を複数のグループに分類すること、
を特徴とする文書検索システム。
【請求項５】
請求項４に記載の文書検索システムであって、
前記グループ分類部は、前記文書に含まれる単語に、ＴＦ−ＩＤＦによる重み付けを行い、重み付けされた単語をクラスタリングにより分類すること、
を特徴とする文書検索システム。
【請求項６】
請求項４に記載の文書検索システムであって、
前記グループ分類部は、異なる複数の手法により複数のクラスタリングを行うこと、
を特徴とする文書検索システム。
【請求項７】
請求項１に記載の文書検索システムであって、
前記最大グループ名決定部は、前記最大グループに属する文書に含まれる各単語の頻度を算出し、前記頻度の一番高い単語を前記最大グループ名として決定すること、
を特徴とする文書検索システム。
【請求項８】
請求項１に記載の文書検索システムであって、
グループを示すグループ名に対応付けて、前記グループに関連する単語を記憶するカテゴリデータベースを備え、
前記最大グループ名決定部は、前記最大グループに属する文書に含まれる複数の単語を抽出し、前記カテゴリデータベースに記憶されている前記グループ名のそれぞれについて、前記関連する単語のうち、前記文書から抽出した単語に含まれているものの数をカウントし、前記カウントした数が最も多い前記グループ名を前記最大グループ名として決定すること、
を特徴とする文書検索システム。
【請求項９】
請求項１に記載の文書検索システムであって、
ツリー構造のノードとして単語を記憶するカテゴリデータベースを備え、
前記最大グループ名決定部は、前記最大グループに属する文書に含まれる複数の単語を抽出し、前記カテゴリデータベースから、前記抽出した単語が全て子孫として含まれている前記ノードのうち最も階層が深いものを取得し、取得した前記ノードを前記最大グループ名として決定すること、
を特徴とする文書検索システム。
【請求項１０】
請求項９に記載の文書検索システムであって、
前記最大グループ名決定部は、前記文書から抽出した単語にＴＦ−ＩＤＦによる重み付けを行い、前記ノードのうち、重みが所定値以上である前記文書から抽出した単語の全てが子孫として含まれているものを前記最大グループ名として決定すること、
を特徴とする文書検索システム。
【請求項１１】
請求項１に記載の文書検索システムであって、
前記グループ分類部は、前記検索結果の文書のうち、所定数の文書についてのみ、複数のグループに分類すること、
を特徴とする文書検索システム。
【請求項１２】
請求項１に記載の文書検索システムであって、
前記キーワードに対応付けて、前記文書、及び、前記文書の特徴語を記憶するインデックス記憶部を備え、
前記文書検索部は、前記キーワードに対応する前記文書及び前記特徴語を前記インデックス記憶部から取得し、
前記グループ分類部は、前記特徴語に基づいて前記文書を複数のグループに分類すること、
を特徴とする文書検索システム。
【請求項１３】
請求項１に記載の文書検索システムであって、
前記文書ごとに、前記文書が属するカテゴリを１つ以上記憶するカテゴリデータベースを備え、
前記グループ分類部は、前記検索結果の文書を、対応する前記カテゴリに基づいて複数のグループに分類すること、
を特徴とする文書検索システム。
【請求項１４】
請求項１に記載の文書検索システムであって、
前記文書ごとに、前記文書が属するカテゴリを記憶するカテゴリデータベースと、
前記選択情報が前記意図に合致することを示す場合に、前記最大グループに含まれる前記文書が属する前記カテゴリの一覧を表示するカテゴリ表示部と、
前記カテゴリの入力を受け付けるカテゴリ入力部と、
前記最大グループに含まれる前記文書のうち、前記入力されたカテゴリに属するものの一覧を表示する絞込み表示部と、
を備えることを特徴とする文書検索システム。
【請求項１５】
文書を検索する方法であって、
コンピュータが、
キーワードの入力を受け付けるステップと、
前記キーワードに対応する文書を検索するステップと、
検索結果の文書を、前記文書に含まれる単語に基づいて複数のグループに分類するステップと、
前記グループのうち属する文書の数が最も多い最大グループを表す最大グループ名を、前記最大グループに属する文書に含まれる単語に基づいて決定するステップと、
前記最大グループ名がユーザの意図に合致するか否かを示す選択情報の入力を受け付けるステップと、
前記選択情報が前記意図に合致することを示す場合、前記最大グループに属する文書の一覧を表示し、前記選択情報が前記意図に合致しないことを示す場合、前記検索結果に含まれる文書のうち前記最大グループに属さないものの一覧を表示するステップと、
を実行することを特徴とする文書検索方法。
【請求項１６】
文書を検索するためのプログラムであって、
コンピュータに、
キーワードの入力を受け付けるステップと、
前記キーワードに対応する文書を検索するステップと、
検索結果の文書を、前記文書に含まれる単語に基づいて複数のグループに分類するステップと、
前記グループのうち属する文書の数が最も多い最大グループを表す最大グループ名を、前記最大グループに属する文書に含まれる単語に基づいて決定するステップと、
前記最大グループ名がユーザの意図に合致するか否かを示す選択情報の入力を受け付けるステップと、
前記選択情報が前記意図に合致することを示す場合、前記最大グループに属する文書の一覧を表示し、前記選択情報が前記意図に合致しないことを示す場合、前記検索結果に含まれる文書のうち前記最大グループに属さないものの一覧を表示するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書検索システム、文書検索方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネット上に公開されている文書を探すサーチエンジンに代表されるように、キーワードに応じた文書の検索処理が広く行われているが、検索対象となる文書の量が増大していることから、検索結果を効率的に絞り込むことが求められている。例えば、特許文献１には、あるユーザの入力した検索条件と同一の検索条件を過去に行った他のユーザが有益であると判断した検索結果を優先的に表示する技術が提案されている。
【特許文献１】特開２００３−１０８５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、あるユーザが入力したキーワードが膨大な文書にヒットした場合、膨大な文書は様々なカテゴリに分類することが可能であり、他のユーザが同じキーワードを用いていたからといって、他のユーザが有益であると判断した文書のカテゴリが、キーワードを入力したユーザが意図したカテゴリと一致するとは限らない。また、ユーザが膨大な検索結果を絞り込むために、追加のキーワードを入力しようとしても、新たなキーワードに想到することができないことも多い。
【０００４】
本発明は、このような背景を鑑みてなされたものであり、文書の検索処理において効率的に絞込みを行うことのできる、文書検索システム、文書検索方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明の主たる発明は、文書を検索するシステムであって、キーワードの入力を受け付けるキーワード入力部と、前記キーワードに対応する文書を検索する文書検索部と、検索結果の文書を、前記文書に含まれる単語に基づいて複数のグループに分類するグループ分類部と、前記グループのうち属する文書の数が最も多い最大グループを表す最大グループ名を、前記最大グループに属する文書に含まれる単語に基づいて決定する最大グループ名決定部と、前記最大グループ名がユーザの意図に合致するか否かを示す選択情報の入力を受け付ける絞込み選択部と、前記選択情報が前記意図に合致することを示す場合、前記最大グループに属する文書の一覧を表示し、前記選択情報が前記意図に合致しないことを示す場合、前記検索結果に含まれる文書のうち前記最大グループに属さないものの一覧を表示する検索結果表示部と、を備えることとする。
【０００６】
本発明の文書検索システムによれば、ユーザの選択に応じて、最大グループに属する文書、又は属さない文書のいずれかに検索結果を絞り込んで行くことができる。したがって、ユーザは、新たにキーワードを追加することなく、システムからの問いかけに二者択一で応じるだけで、検索結果を容易に絞り込むことができる。
【０００７】
また、前記選択情報が前記意図に合致することを示す場合、前記最大グループに属する文書を前記検索結果とし、前記選択情報が前記意図に合致しないことを示す場合、前記検索結果に含まれる文書のうち前記最大グループに属さないものを前記検索結果として、前記グループ分類部が前記検索結果に含まれる文書をグループに分類し、前記最大グループ名決定部が前記最大グループ名を決定し、前記選択画面情報送信部が前記選択画面情報を送信し、前記選択情報受信部が前記選択情報を受信し、前記検索結果送信部が前記一覧を表示する情報を送信するようにしてもよい。
【０００８】
また、本発明の文書検索システムは、前記検索結果の文書から、ＬＳＩ手法により前記文書についての特徴語を抽出し、抽出した前記特徴語を前記文書に含まれる単語として決定する特徴語抽出部を備えるようにしてもよい。
【０００９】
また、前記グループ分類部は、前記文書に含まれる単語のクラスタリングにより、前記文書を複数のグループに分類するようにしてもよい。
【００１０】
また、前記グループ分類部は、前記文書に含まれる単語に、ＴＦ−ＩＤＦによる重み付けを行い、重み付けされた単語をクラスタリングにより分類するようにしてもよい。
【００１１】
また、前記グループ分類部は、異なる複数の手法により複数のクラスタリングを行うようにしてもよい。この場合、複数の視点から絞込みを行うことが可能となる。
【００１２】
また、前記最大グループ名決定部は、前記最大グループに属する文書に含まれる各単語の頻度を算出し、前記頻度の一番高い単語を前記最大グループ名として決定するようにしてもよい。
【００１３】
また、本発明の文書検索システムは、グループを示すグループ名に対応付けて、前記グループに関連する単語を記憶するカテゴリデータベースを備え、前記最大グループ名決定部は、前記最大グループに属する文書に含まれる複数の単語を抽出し、前記カテゴリデータベースに記憶されている前記グループ名のそれぞれについて、前記関連する単語のうち、前記文書から抽出した単語に含まれているものの数をカウントし、前記カウントした数が最も多い前記グループ名を前記最大グループ名として決定するようにしてもよい。
【００１４】
また、本発明の文書検索システムは、ツリー構造のノードとして単語を記憶するカテゴリデータベースを備え、前記最大グループ名決定部は、前記最大グループに属する文書に含まれる複数の単語を抽出し、前記カテゴリデータベースから、前記抽出した単語が全て子孫として含まれている前記ノードのうち最も階層が深いものを取得し、取得した前記ノードを前記最大グループ名として決定するようにしてもよい。
【００１５】
また、前記最大グループ名決定部は、前記文書から抽出した単語にＴＦ−ＩＤＦによる重み付けを行い、前記ノードのうち、重みが所定値以上である前記文書から抽出した単語の全てが子孫として含まれているものを前記最大グループ名として決定するようにしてもよい。
【００１６】
また、前記グループ分類部は、前記検索結果の文書のうち、所定数の文書についてのみ、複数のグループに分類するようにしてもよい。
【００１７】
また、本発明の文書検索システムは、前記キーワードに対応付けて、前記文書、及び、前記文書の特徴語を記憶するインデックス記憶部を備え、前記文書検索部は、前記キーワードに対応する前記文書及び前記特徴語を前記インデックス記憶部から取得し、前記グループ分類部は、前記特徴語に基づいて前記文書を複数のグループに分類するようにしてもよい。
【００１８】
また、本発明の文書検索システムは、前記文書ごとに、前記文書が属するカテゴリを１つ以上記憶するカテゴリデータベースを備え、前記グループ分類部は、前記検索結果の文書を、対応する前記カテゴリに基づいて複数のグループに分類するようにしてもよい。
【００１９】
また、本発明の文書検索システムは、前記文書ごとに、前記文書が属するカテゴリを記憶するカテゴリデータベースと、前記選択情報が前記意図に合致することを示す場合に、前記最大グループに含まれる前記文書が属する前記カテゴリの一覧を表示するカテゴリ表示部と、前記カテゴリの入力を受け付けるカテゴリ入力部と、前記最大グループに含まれる前記文書のうち、前記入力されたカテゴリに属するものの一覧を表示する絞込み表示部と、を備えるようにしてもよい。
【００２０】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【００２１】
本発明によれば、文書の検索処理において効率的に絞込みを行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の一実施形態に係る文書検索システムについて説明する。本実施形態の文書検索システムは、キーワードに応じて文書を検索し、ユーザに二者択一の問合わせを行いながら大量の検索結果を絞り込んで行くものである。なお、本実施形態では、文書そのものの検索ではなく、クローラにより回収した文書の単語や要約を含むインデックス情報を検索するようにしている。
【００２３】
＝＝システム構成＝＝
図１は、本実施形態の文書検索システムの全体構成を示す図である。同図に示すように、本実施形態の文書検索システムは、ユーザ端末１０と検索サーバ２０とを含んで構成され、ユーザ端末１０と検索サーバ２０とは通信ネットワーク３０を介して接続される。なお、ユーザ端末１０及び検索サーバ２０は複数含まれていてもよい。
【００２４】
通信ネットワーク３０は、例えば、インターネットやＬＡＮ（Local Area Network）などであり、光ファイバーやイーサネット（登録商標）、電話回線網、無線通信網などにより構築される。本実施形態では、ユーザ端末１０と検索サーバ２０とはＨＴＴＰ（HyperText Transfer Protocol）により通信を行っているものとする。
【００２５】
ユーザ端末１０は、ユーザが利用するコンピュータである。ユーザ端末１０は、例えば、パーソナルコンピュータや携帯電話、ＰＤＡ（Personal Digital Assistance）などである。本実施形態では、ユーザ端末１０においてＷｅｂページを閲覧するブラウザが動作しており、ユーザは、ユーザ端末１０で動作するブラウザを操作して、キーワードをＨＴＴＰのリクエストとして検索サーバに送信するものとする。なお、以下の説明では、文書を検索するためのキーワードを含むＨＴＴＰのリクエストをクエリという。
【００２６】
検索サーバ２０は、文書を検索するコンピュータであり、例えば、パーソナルコンピュータやワークステーションなどである。本実施形態では、検索サーバ２０は、インターネットのサーチエンジンを想定している。検索サーバ２０は、Ｗｅｂページ（文書）を提供する他のサーバ（不図示）にアクセスして、文書の要約を生成するとともに、文書のインデックスを生成しておき、キーワードに対応する文書を示すＵＲＬ（Uniform Resource Locator）と要約とをユーザに提示する。
【００２７】
＝＝ハードウェア＝＝
図２は、検索サーバ２０のハードウェア構成を示す図である。同図に示すように、検索サーバ２０は、ＣＰＵ２０１、メモリ２０２、記憶装置２０３、通信インタフェース２０４、入力装置２０５、出力装置２０６を備えている。記憶装置２０３は、各種のデータやプログラムを記憶する、例えば、ハードディスクやフラッシュメモリ、ＣＤ−ＲＯＭドライブなどである。ＣＰＵ２０１は、記憶装置２０３に記憶されているプログラムをメモリ２０２に読み出して実行することにより各種の機能を実現する。通信インタフェース２０４は、通信ネットワーク３０に接続するためのインタフェースであり、例えば、イーサネット（登録商標）に接続するためのアダプタや、電話回線網に接続するためのモデム、無線通信網に接続するための無線通信器などである。入力装置２０５はデータの入力を受け付ける、例えばキーボードやマウス、タッチパネル、マイクロフォンなどである。出力装置２０６はデータを出力する、例えばディスプレイやプリンタ、スピーカなどである。
【００２８】
なお、検索サーバ２０のハードウェア構成は一般的なパーソナルコンピュータやワークステーションのものを想定している。また、ユーザ端末１０のハードウェア構成も検索サーバ２０と同様のものである。
【００２９】
＝＝ソフトウェア＝＝
図３は、検索サーバ２０のソフトウェア構成を示す図である。同図に示すように、検索サーバ２０は、クエリ受信部２１１、検索実行部２１２、検索結果生成部２１３、クラスタリング分析部２１４、最大クラスタ決定部２１５、カテゴリ決定部２１６、提案情報生成部２１７、検索結果送信部２１８、選択情報受信部２１９及びクローラ処理部２２０の各機能部と、インデックスデータベース２５１及びカテゴリデータベース２５２の各記憶部とを備えている。
【００３０】
なお、クエリ受信部２１１、検索実行部２１２、検索結果生成部２１３、クラスタリング分析部２１４、最大クラスタ決定部２１５、カテゴリ決定部２１６、提案情報生成部２１７、検索結果送信部２１８、選択情報受信部２１９及びクローラ処理部２２０は、検索サーバ２０が備えるＣＰＵ２０１が記憶装置２０３に記憶されているプログラムをメモリ２０２に読み出して実行することにより実現される。また、インデックスデータベース２５１及びカテゴリデータベース２５２は、メモリ２０２や記憶装置２０３が提供する記憶領域として実現される。
【００３１】
インデックスデータベース２５１は、検索対象となる文書のＵＲＬと、その文書の要約とを含む情報（以下、インデックス情報という。）を記憶する。インデックスデータベース２５１に記憶されるインデックス情報の構成例を図４に示す。同図に示すように、インデックス情報には、インデックス情報を識別するＩＤ（以下、インデックスＩＤという。）、文書のＵＲＬ、文書のタイトル、文書の要約、及び文書を特徴づける単語（以下、特徴語という。）が含まれる。本実施形態では、検索サーバ２０は、ユーザが入力したキーワードが要約に含まれるインデックス情報を検索することで、文書の検索処理を行うものとする。
【００３２】
クローラ処理部２２０は、通信ネットワーク３０に接続されている各種のコンピュータが公開している文書を取得していき、取得した文書から特徴語を抽出する。特徴語の抽出は、例えば、一般的な形態素解析により文書から抽出した単語のうち、出現頻度の高い順に所定数のものを特徴語とすることができる。クローラ処理部２２０は、取得した文書を示すＵＲＬと、文書に含まれているタイトルと、文書の要約と、特徴語とを含むインデックス情報を作成する。文書のタイトルは、文書の属性として設定されているタイトルであり、例えば、ＨＴＭＬで記述された文書の場合、ＴＩＴＬＥタグの内容とし、テキストデータの場合、１行目のテキストとすることができる。文書の要約は、例えば、文書から、特徴語の前後のテキストデータを抽出したものとすることができる。クローラ処理部２２０は、インデックスデータベース２５１に登録する。クローラ処理部２２０は、いわゆるクローラ、スパイダー、ロボット、インデクサなどと呼ばれるものである。なお、クローラ処理部２２０がインデックス情報を作成する処理には、一般的なクローラによるデータベースの作成処理を用いることができる。クローラ処理部２２０は、定期的にインデックス情報を生成してインデックスデータベース２５１に登録し続けているものとする。
【００３３】
なお、文書の特徴語の抽出には、ＬＳＩ（Latent Semantic Indexing；潜在意味インデクシング）手法を用いることができる。この場合、クローラ処理部２２０は、文書に含まれる語句を行とし、各文書を列とし、文書中に含まれる語句の頻度を要素とする行列Ａを生成し、この行列Ａを、特位置分解（ＳＶＤ；Singular Value Decomposition）により３つの行列Ｕ、Ｓ、Ｖに分解する。ここで、Ａ＝Ｕ×Ｓ×Ｖとなる。Ｓは対角行列であり、クローラ処理部２２０は、Ｓの要素（特徴成分）を大きい方から所定数のみを取り出し、次元を圧縮して行例Ｓ’を生成し、Ａ’＝Ｕ×Ｓ’×Ｖにより行列Ａ’を算出する。これにより、Ａ’ではノイズが排除され、特徴語句がより強調されたものになる。クローラ処理部２２０は、Ａ’の各列の文書について、要素が所定の閾値より大きい行の単語を特徴語として決定することができる（特徴語抽出部）。
【００３４】
カテゴリデータベース２５２は、カテゴリごとに、そのカテゴリに属する単語を管理する。図５は、カテゴリデータベース２５２の構成例を示す図である。同図に示すように、本実施形態のカテゴリデータベース２５２は、各単語をツリー構造で管理し、各単語はそれぞれカテゴリの名称となり、カテゴリに含まれる単語は、カテゴリの子孫になるようにツリー構造が構成される。
【００３５】
なお、本実施形態では、説明を簡単にするため、ツリー構造の中に単語は重複せずに登録されているものとするが、ツリー構造に同じ単語が複数含まれるようにすることもできる。例えば同じ単語が異なるカテゴリに属する場合などには、その単語をそれぞれのカテゴリの子孫に含めるようにする。
【００３６】
また、カテゴリデータベース２５２の構造は、図５のようなツリー構造に限るものではなく、カテゴリと単語とが対応付けられていればよい。例えば、カテゴリと、そのカテゴリに属する単語とを対応付けて表形式で管理するようにしてもよい。また、本実施形態では、カテゴリデータベース２５２には、上位の階層に行くほど上位概念の単語となるように、予め管理者により登録されているものとする。
【００３７】
クエリ受信部２１１は、ユーザ端末１０から送信されるクエリを受信する。  
検索実行部２１２は、クエリに含まれているキーワードに対応する文書を検索する。具体的には、検索実行部２１２は、クエリに含まれるキーワードが特徴語として含まれるインデックス情報（以下、キーワード検索結果という。）をインデックスデータベース２５１から取得する。
【００３８】
検索結果生成部２１３は、キーワード検索結果に含まれるインデックス情報の要約の一覧を表示するための画面データ（以下、検索結果画面という。）を生成する。本実施形態では、検索結果生成部２１３が生成する検索結果画面は、ＨＴＭＬ（HyperText Markup Language）で記述されるものとし、検索結果生成部２１３は、各インデックス情報のタイトルにＵＲＬへのリンクを付けたものと要約との一覧を記述するものとする。なお、検索結果生成部２１３が生成する検索結果画面の生成処理には、一般的な検索エンジンによる検索結果を表示する画面の生成処理を採用することができる。
【００３９】
クラスタリング分析部２１４は、キーワード検索結果に含まれるインデックス情報のクラスタリング分析処理を行い、インデックス情報をクラスタに分類する。例えば、クラスタリング分析部２１４は、各特徴語について、ＴＦ−ＩＤＦ（Term Frequency - Inverse Document Frequency）により求められる指標値（以下、ＴＦＩＤＦ値という。）を算出する。クラスタリング分析部２１４は、各文書についてＴＦＩＤＦ値が大きい順に所定数（例えば、１〜５個）の特徴語を選択し、選択した特徴語のＴＦＩＤＦ値からベクトル値を生成する。クラスタリング分析部２１４は、キーワード検索結果に含まれる全ての２つのインデックス情報の組合せのそれぞれについて、ベクトル値の内積値を類似度として算出し、ベクトル値の距離が近いものをクラスタとして分類する。なお、クラスタリング分析部２１４は、一般的なクラスタリング分析の手法により、インデックス情報をクラスタに分類することができる。クラスタリング分析部２１４は、分類したクラスタごとに、クラスタに含まれるインデックス情報のインデックスＩＤをメモリ２０２に記憶する。クラスタリング分析部２１４は、例えば、図６に示すテーブル２５３に、クラスタの識別情報（以下、クラスタＩＤという。）に対応付けて、インデックスＩＤのリストを記憶するようにすることができる。
【００４０】
最大クラスタ決定部２１５は、クラスタリング分析部２１４が分類したクラスタのうち、分類されたインデックス情報の数が最も多いもの（以下、最大クラスタという。）を決定する。
【００４１】
カテゴリ決定部２１６は、最大クラスタに分類されたインデックス情報の要約に含まれる単語に基づいて、最大クラスタの名称（以下、最大カテゴリ名という。）を決定する。本実施形態では、カテゴリ決定部２１６は、カテゴリデータベース２５２に記憶されているツリー構造から、最大クラスタに分類されたインデックス情報の要約に含まれる単語が全て子孫に含まれているノードのうち、最も階層が深いものを最大カテゴリ名として決定する。なお、カテゴリ決定部２１６による最大カテゴリ名の決定処理の詳細については後述する。
【００４２】
提案情報生成部２１７は、最大カテゴリ名がユーザの意図に合致するか否かを問い合わせるための画面データ（以下、提案画面という。）を生成する。本実施形態では、提案情報生成部２１７は、「知りたいのは『最大カテゴリ名』ですか？」というメッセージとともに、「はい」のボタンと「いいえ」とのボタンを表示する画面をＨＴＭＬで記述したものを提案画面として生成するものとする。
【００４３】
検索結果送信部２１８は、検索結果画面と提案画面とをユーザ端末１０に送信する。  
選択情報受信部２１９は、ユーザ端末１０において提案画面が表示され、「はい」または「いいえ」のいずれかの選択がなされたことを示す情報（以下、選択情報という。）をユーザ端末１０から受信する。
【００４４】
＝＝処理＝＝
以下、本実施形態の文書検索システムにおける処理の流れを図７〜１２を参照して説明する。図７は、文書検索システムにおける文書検索処理全体の流れを説明する図であり、図８は、文書検索処理においてユーザ端末１０に表示される画面例を示す図である。
【００４５】
まずユーザ端末１０は、図８に示す画面４０を表示する。画面４０は、キーワードの入力欄４１１を備えている。  
ユーザ端末１０は、検索ボタン４１２が押下されると、入力欄４１１に入力されたキーワードを含むクエリを検索サーバに送信する（図７、Ｓ４０１）。
【００４６】
検索サーバ２０のクエリ受信部２１１は、ユーザ端末１０からクエリを受信し、検索実行部２１２は、検索結果画面の作成処理を行う（Ｓ４０２）。検索結果画面の作成処理の流れを図９に示す。検索実行部２１２は、クエリからキーワードを抽出し（Ｓ５０１）、抽出したキーワードが特徴語として含まれているインデックス情報をインデックスデータベース２５１から読み出して、キーワード検索結果とする（Ｓ５０２）。検索結果生成部２１３は、キーワード検索結果に含まれているインデックス情報のＵＲＬへのリンクをつけたタイトルと、要約とを一覧にしたリストをＨＴＭＬで記述して検索結果画面を生成する（Ｓ５０３）。
【００４７】
検索サーバ２０は、検索結果画面を生成した後、提案画面の作成処理を行う（Ｓ４０３）。提案画面の作成処理の流れを図１０に示す。
【００４８】
クラスタリング分析部２１４は、キーワード検索結果に含まれるインデックス情報のクラスタリング処理を行う（Ｓ５２１）。クラスタリングには、上述したように、インデックス情報に含まれている各特徴語についてＴＦＩＤＦ値を作成し、高いものから順に所定数個のＴＦＩＤＦ値によるベクトル値を算出し、キーワード検索結果に含まれる２つのインデックス情報の各組についてベクトル値の内積を算出し、距離が近いものをクラスタとして分類する一般的なクラスタ分析処理を用いることができる。クラスタリング分析部２１４は、図６に示すテーブル２５３を空の状態で作成し、クラスタリング処理により分類されたクラスタごとに、属するインデックス情報のインデックスＩＤのリストを図６のテーブル２５３に登録する（Ｓ５２２）。最大クラスタ決定部２１５は、クラスタリング分析部２１４により分類されたクラスタのうち、属しているインデックス情報の数が最も多いものを最大クラスタとして決定する（Ｓ５２３）。カテゴリ決定部２１７は、後述する図１１の最大カテゴリ名の決定処理により最大カテゴリ名を決定し（Ｓ５２４）、「知りたいのは『最大カテゴリ名』ですか？」というメッセージと、「はい」のボタンと「いいえ」のボタンを表示するためのＨＴＭＬタグとを記述した提案情報を生成する（Ｓ５２５）。
【００４９】
カテゴリ決定部２１６による最大カテゴリ名の決定処理を図１１に示す。  
カテゴリ決定部２１６は、まず変数ｎに０を設定する（Ｓ５４１）。カテゴリ決定部２１６は、最大クラスタに属しているインデックス情報を取得する。カテゴリ決定部２１６は、例えば、最大クラスタのクラスタＩＤに対応するインデックスＩＤをテーブル２５６から取得し、取得したインデックスＩＤに対応するインデックス情報をインデックスデータベース２５１から読み出す。カテゴリ決定部２１６は、読み出したインデックス情報に含まれている特徴語のうち、カテゴリデータベース２５２に登録されているものを抽出し、抽出した特徴語のリストを変数ＣＬとする（Ｓ５４２）。カテゴリ決定部２１６は、各特徴語についてのカウンタを０に設定する（Ｓ５４３）。
【００５０】
カテゴリ決定部２１６は、ｎをインクリメントし（Ｓ５４４）、変数ＰＬにＣＬに含まれる特徴語を設定する（Ｓ５４５）。カテゴリ決定部２１６は、特徴語のｎ階層祖先のノードをカテゴリデータベース２５２から取得し（Ｓ５４６）、取得したノードをＣＬとして（Ｓ５４７）、ＣＬ中の各ノードについてカウンタをインクリメントする（Ｓ５４８）。カテゴリ決定部２１６は、ＣＬに含まれるノードの数が１でなければ（Ｓ５４９：ＮＯ）、ステップＳ５４４からの処理を繰り返す。
【００５１】
ＣＬに含まれるノードの数が１であった場合（Ｓ５４９：ＹＥＳ）、カテゴリ決定部２１６は、ＣＬに含まれているノードがツリー構造のルートであれば（Ｓ５５０：ＹＥＳ）、ＰＬに含まれているノードの中で、カウンタが最も大きいノードを最大カテゴリ名とし（Ｓ５５１）、ＣＬに含まれているノードがルートでなければ（Ｓ５５０：ＮＯ）、ＣＬに含まれているノードを最大カテゴリ名として決定する（Ｓ５５２）。
【００５２】
以上のようにして、カテゴリ決定部２１６は、最大クラスタに属するインデックス情報に含まれる全特徴語が子孫として含まれているノードのうち、最も階層が深いものを最大カテゴリ名として決定し、そのようなノードがルート以外に存在しない場合には、ルート直下の階層のノードのうち、その子孫のノードのうち、最大クラスタに属するインデックス情報の要約に含まれている数が最も多いものを最大カテゴリ名として決定することができる。このようにして最大カテゴリ名を決定することにより、最大クラスタに含まれる単語を包含する上位概念の単語をもって最大クラスタを表現することができる。したがって、ユーザが最大クラスタとして分類された文書がどのようなものであるのかを容易に判断することが可能となる。
【００５３】
以上のようにして、最大カテゴリ名が決定され、提案情報画面が作成されると、検索サーバ２０の検索結果装置部２１８は、提案情報画面と検索結果画面とを含む画面データをユーザ端末１０に送信する（Ｓ４０４）。この画面データに基づきユーザ端末１０では、図８の画面４２のような画面が表示される。画面４２は、ユーザが意図していた検索の対象が最大カテゴリ名を含むか否かを問い合わせるメッセージ（図８の例では、「知りたいのは『動物キャラクタ』ですか？」が表示されている。）の表示欄４２１とともに、「はい」を選択するためのボタン４２２及び「いいえ」を選択するためのボタン４２３が表示される。また、画面４２の表示欄４２４には、キーワード検索結果の一覧（検索結果画面）が表示される。ユーザは画面４２において、ボタン４２２又はボタン４２３を押下することで、最大カテゴリ名がユーザの検索の意図に合致するか否かを選択する（Ｓ４０５）。
【００５４】
ユーザがボタン４２２又はボタン４２３を押下すると、ユーザ端末１０は押下されたボタンに応じて、「はい」又は「いいえ」を示す選択情報を検索サーバ２０に送信する（Ｓ４０６）。
【００５５】
検索サーバ２０の選択情報受信部２１９は、ユーザ端末１０から送信される選択情報を受信すると、検索結果の更新処理を行う（Ｓ４０７）。図１２は検索結果の更新処理の流れを示す図である。  
選択情報受信部２１９は、選択情報が「はい」である場合（Ｓ５６１：ＹＥＳ）、最大クラスタのクラスタＩＤに対応するインデックスＩＤをテーブル２５３から読み出し、読み出したインデックスＩＤに対応するインデックス情報をキーワード検索結果とする（Ｓ５６２）。  
一方、選択情報が「いいえ」である場合（Ｓ５６１：ＮＯ）、選択情報受信部２１９は、最大クラスタのクラスタＩＤ以外のクラスタＩＤに対応するインデックスＩＤをテーブル２５３から読み出し、読み出したインデックスＩＤに対応するインデックス情報をキーワード検索結果とする（Ｓ５６３）。
【００５６】
検索結果生成部２１３は、キーワード検索結果に含まれているインデックス情報のＵＲＬへのリンクをつけたタイトルと、要約とを一覧にしたリストをＨＴＭＬで記述して検索結果画面を生成する（Ｓ５６４）。  
次に、検索サーバ２０は、図１０に示す提案情報画面の作成処理を行い、提案情報画面を作成する（Ｓ５６５）。  
検索結果が更新されると、検索サーバ２０は、提案画面及び検索結果画面を含む画面データユーザ端末１０に送信すべく、図７のステップＳ４０４からの処理を繰り返す。
【００５７】
検索結果の更新処理が行われた後には、図８の画面４３のような画面がユーザ端末１０に表示される。画面４３は、画面４２と同様の構成であり、絞り込まれた検索結果をクラスタリングにより複数のクラスタに分類した結果の最大クラスタの最大カテゴリ名が表示欄４２１に表示されるとともに、絞り込まれた検索結果の一覧が表示欄４２４に表示される。
【００５８】
以上説明したように、本実施形態の文書検索システムによれば、検索サーバ２０からユーザに対して絞込みの提案を行うことができる。したがって、ユーザは、キーワードを追加したり、検索条件を変更したりと積極的に検索を進めることなく、検索サーバ２０からの提案に対して「はい」又は「いいえ」を単に選択するだけで、容易に検索結果を絞り込んでいくことができる。一般に、１つめのキーワードが思い浮かんだとしても、２つめのキーワードを追加することが困難であることが多いが、本実施形態の文書検索システムによれば、ユーザは新たなキーワードを考える必要がなくなるので便利である。
【００５９】
また、本実施形態の文書検索システムでは、最大クラスタに分類されたインデックス情報の要約に含まれる単語の上位概念を最大カテゴリ名としてユーザに提示することができる。したがって、ユーザは最大クラスタに分類された文書がどのような文書であるのかを容易に把握することができる。
【００６０】
また、本実施形態の文書検索システムによれば、ユーザからの選択に応じて、最大クラスタに分類されたインデックス情報、またはそれ以外のクラスタに分類されたインデックス情報を対象として再度クラスタリングが行われる。例えば、キーワードを追加したり、新たな検索条件を指定したりする場合には、新たな検索の結果には、別の新たな文書が含まれるようになることもあるが、本実施形態のように、検索結果をクラスタリングして絞り込んでいくことにより、確実に検索結果を絞り込むことができる。
【００６１】
なお、本実施形態の文書検索システムでは、インデックス情報に予め特徴語が含まれているものとしたが、これに限らず、例えば、タイトルや要約に含まれている単語を抽出してクラスタリング処理を行うようにしてもよい。
【００６２】
また、本実施形態の文書検索システムでは、インデックス情報を検索するものとしたが、文書を直接検索するようにしてもよい。この場合、インデックスデータベース２５１に代えて、文書を管理する文書データベースを採用し、文書に含まれる単語を検索するようにすることができる。
【００６３】
また、インデックスデータベース２５１は、ＵＲＬと特徴語のみを管理しておき、クエリに含まれるキーワードにマッチするインデックス情報を検索し、その度にＵＲＬが示す文書を取得して、取得した文書に含まれる単語を抽出して要約を作成するようにしてもよい。
【００６４】
また、本実施形態では、クエリに含まれるキーワードにマッチした全てのインデックス情報を対象としてクラスタリングを行うものとしたが、例えば、１００件や１０００件など所定数のインデックス情報のみを対象としてクラスタリングを行うようにしてもよい。
【００６５】
また、本実施形態では、特徴語を用いてクラスタリングを行うようにしたが、例えば、各文書が複数のカテゴリに所属するように予め各文書をカテゴリ分けしておき、そのカテゴリを用いてクラスタリングを行うようにしてもよい。この場合、インデックス情報には、特徴語に加えてカテゴリ名も含まれるようにし、カテゴリデータベース２５２は、カテゴリの名称を管理しておき、クエリに含まれるキーワードにマッチしたインデックス情報に含まれるカテゴリを用いてクラスタリングする。有限数のカテゴリを用いてクラスタリングを行うことにより、次元を少なくすることが可能となる。例えば、カテゴリの種類が１０００種類であれば、クラスタリングの計算に用いる次元も１０００で済むことになる。
【００６６】
また、予め文書をカテゴリ分けしておく場合には、さらにカテゴリで検索結果を絞り込むようにしてもよい。この場合、例えば、検索サーバ２０は、最大クラスタに含まれる文書をカテゴリごとにカウントし、属する文書の数が多い順に所定数のカテゴリを選択するための画面データをユーザ端末１０に送信するカテゴリ選択画面送信部と、ユーザ端末１０から選択されたカテゴリを受信するカテゴリ入力部と、最大クラスタに含まれる文書のうち、選択されたカテゴリに属するものの一覧のみを表示するための画面データ（以下、絞込み結果画面という。）を生成する絞込み結果生成部とを備え、検索結果送信部２１８は、絞込み結果画面をユーザ端末１０に送信するようにする。このように、最大クラスタに含まれる文書を、文書のカテゴリによって、容易に絞込みを行うようにすることができる。
【００６７】
また、本実施形態では、クラスタリングは１回のみ行うようにしたが、これに限らず、例えば、複数の距離関数を用いるなど、異なる手法により複数回のクラスタリングを行い、全ての手法により生成されたクラスタ全てのうち、最も属する文書の数が大きいクラスタを最大クラスタとするようにする。これにより、様々な視点から検索結果を絞り込むことが可能となる。
【００６８】
また、本実施形態では、カテゴリ決定部２１６は、最大クラスタに分類されたインデックス情報の要約に含まれる全ての単語が子孫に含まれるノードのうち、最も深い階層のものを最大カテゴリ名とするようにしたが、これに限らず、例えば、カテゴリ決定部２１６は、最大クラスタに分類されたインデックス情報の要約に含まれる単語の出現頻度を算出し、出現頻度の最も多い単語を最大カテゴリ名と決定するようにしてもよい。また、カテゴリ決定部２１６は、最大クラスタに分類されたインデックス情報の要約に含まれる各単語のＴＦＩＤＦ値を算出し、ＴＦＩＤＦ値が最も高い単語を最大カテゴリ名として決定するようにしてもよいし、ＴＦＩＤＦ値が高い順に所定数個の単語を含む最大カテゴリ名を生成するようにしてもよい。
【００６９】
また、本実施形態では、カテゴリデータベース２５２は、単語をツリー構造で管理するものとしたが、カテゴリ名に対応付けて、そのカテゴリに属する単語を記憶するようにしてもよい。この場合、クラスタリング分析部２１４は、各インデックス情報について、カテゴリデータベース２５２に登録されているカテゴリ名ごとに、要約に含まれている単語の数をカウントし、カウント数が最も多かったカテゴリ名をインデックス情報のカテゴリ名とし、同じカテゴリ名のインデックス情報をクラスタとして分類することができる。また、カテゴリ決定部２１６は、そのカテゴリ名を最大カテゴリ名として決定することができる。
【００７０】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００７１】
例えば、本実施形態の文書検索システムは検索サーバ２０のみで構成することもできる。この場合、検索サーバ２０は、キーボードやマウス等の入力装置２０５からキーワードの入力を受け付けて検索を行い、ディスプレイ等の出力装置２０６に検索結果を出力すればよい。この構成は、例えばパーソナルコンピュータ内に大量の文書が蓄積されている場合に有用である。
【図面の簡単な説明】
【００７２】
【図１】本実施形態の文書検索システムの全体構成を示す図である。
【図２】検索サーバ２０のハードウェア構成を示す図である。
【図３】検索サーバ２０のソフトウェア構成を示す図である。
【図４】インデックスデータベース２５１に記憶されるインデックス情報の構成例を示す図である。
【図５】カテゴリデータベース２５２の構成例を示す図である。
【図６】クラスタごとにインデックスＩＤを管理するテーブル２５３の構成例を示す図である。
【図７】文書検索システムにおける文書検索処理全体の流れを説明する図である。
【図８】文書検索処理においてユーザ端末１０に表示される画面例を示す図である。
【図９】検索結果画面の作成処理の流れを示す図である。
【図１０】提案画面の作成処理の流れを示す図である。
【図１１】最大カテゴリ名の決定処理の流れを示す図である。
【図１２】検索結果の更新処理の流れを示す図である。
【符号の説明】
【００７３】
１０    ユーザ端末
２０    検索サーバ
３０    通信ネットワーク
２１１  クエリ受信部
２１２  検索実行部
２１３  検索結果生成部
２１４  クラスタリング分析部
２１５  最大クラスタ決定部
２１６  カテゴリ決定部
２１７  報生成部
２１７  提案情報生成部
２１８  検索結果送信部
２１９  選択情報受信部
２２０  クローラ処理部
２５１  インデックスデータベース
２５２  カテゴリデータベース
２５３  テーブル
【図１】
0004774081.tif 000002
【図２】
0004774081.tif 000003
【図３】
0004774081.tif 000004
【図４】
0004774081.tif 000005
【図５】
0004774081.tif 000006
【図６】
0004774081.tif 000007
【図７】
0004774081.tif 000008
【図８】
0004774081.tif 000009
【図９】
0004774081.tif 000010
【図１０】
0004774081.tif 000011
【図１１】
0004774081.tif 000012
【図１２】
0004774081.tif 000013