(57)【特許請求の範囲】
【請求項１】
キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算手段と、
前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリング手段と、
クラスタリングの対象となるキーワードの部分集合が入力された後、前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合して前記入力されたキーワードをクラスタリングすることをボトムアップに繰り返すクラスタリング手段と、
当該クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択手段と、
を有することを特徴とするクエリ提供装置。
【請求項２】
前記代表クエリ選択手段は、
前記入力されたキーワードのクラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする請求項１記載のクエリ提供装置。
【請求項３】
コンピュータにより行うクエリ選択方法において、
キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算ステップと、
前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリングステップと、
クラスタリングの対象となるキーワードの部分集合が入力された後、前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合して前記入力されたキーワードをクラスタリングすることをボトムアップに繰り返すクラスタリングステップと、
当該クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択ステップと、
を有することを特徴とするクエリ提供方法。
【請求項４】
前記代表クエリ選択ステップは、
前記入力されたキーワードのクラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする請求項３記載のクエリ提供方法。
【請求項５】
請求項３又は４の各ステップをコンピュータに実行させることを特徴とするクエリ提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クエリを提供する技術に関する。
【背景技術】
【０００２】
情報が常に増加し続けるというオープンエンド性を有するウェブ検索エンジン（Google、Bing等）は、史上類を見ない情報源となり、人々の生活に欠かせないものとなっている。我々は、身の回りの様々な情報をその検索エンジンを利用して探すことができる。
【０００３】
このような検索活動を支援する方法としてクエリサジェストがある。入力中のクエリに対して次に検索すべき関連クエリが推薦されるため、キーボードを入力する手間を省く効果がある。このような効果から、携帯電話やタッチインタフェースを持つスマートフォン等のモバイル端末においても積極的に利用されつつある。
【０００４】
また、クエリサジェストに用いる関連クエリ取得方法として、様々な方法が提案されている。単純なクエリの共起を行う技術（安川美智子、外１名、「クエリログから獲得した関連語のクラスタリングに基づくＷｅｂ検索」、電子情報通信学会論文誌、2007年、D Vol.J90-D No.2、p.269-280（以下、関連文献１））、クリックログから生成した「クエリ×ＵＲＬ」の二部グラフ内のランダムウォークを用いる技術（Qiaozhu Mei、外１名、「Query Suggestion Using Hitting Time」、CIKM、2009年（以下、関連文献２））等がある。
【０００５】
特に、商品推薦においては、より多様な商品を推薦する方がユーザ満足度の向上につながるとの仮説に基づいて、検索結果をクラスタリングして推薦される関連クエリを多様化する手法が提案されている（非特許文献１）。また、ウェブ検索や画像検索においても、同様の仮説に基づいて検索結果の多様化方法が提案されている（非特許文献２乃至５）。更に、関連クエリの取得についても、多様なクエリ選択方法が提案されている（非特許文献６）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Cai-Nicolas Ziegler、外３名、「Improving recommendation lists through topic diversification」、Proc. WWW、2005年
【非特許文献２】Filip Radlinski、外１名、「Improving personalized web search using result diversification」、Proc. SIGIR 2006
【非特許文献３】Rakesh Agrawal、外３名、「Diversifying search results」、Proc WSDM 2009
【非特許文献４】Kai Song、外３名、「Diversifying the image retrieval results」、Proc. ACM Multimedia 2006
【非特許文献５】Reinier H. van Leuken、外３名、「Visual diversification of image search results」、Proc. WWW 2009
【非特許文献６】今井、外５名、「ウェブ検索サービスにおける多義的なクエリ推薦手法」、DEIM Forum 2010
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、携帯電話やスマートフォン等のモバイル端末はパソコンに比べて画面サイズが小さいため、パソコンを対象に開発された従来のクエリ支援技術をモバイル端末上で効果的に利用することは難しい。
【０００８】
例えば、前述のクエリサジェストの場合には、画面サイズの制約から多数の関連クエリを推薦するとクエリ選択が難しくなり、一方で少なくするとユーザの情報要求に答えられない可能性がある。画面サイズは端末に応じて異なるにもかかわらず、推薦される関連クエリの数をサービス提供側で事前に固定してしまうことが問題であり、端末によっては従来のクエリサジェストは使用し難いと言える。
【０００９】
すなわち、従来のクエリ支援技術は、関連クエリが表示される端末の画面サイズが考慮されていないため、画面サイズに適切に対応した数の関連クエリを推薦できず、特にモバイル端末上において検索エンジンの利便性を低下させていたという問題があった。
【００１０】
また、従来のクエリ多様化技術は、推薦される関連クエリを選択後にオンデマンドでクラスタリングする（Post-Processing）ため、関連クエリを端末に表示するまでに時間がかかるという問題があった。
【００１１】
本発明は、上記を鑑みてなされたものであり、推薦されるクエリを高速に選択することを第１の課題とし、端末の画面サイズ等に適した数に多様化されたクエリを選択することを第２の課題とする。
【課題を解決するための手段】
【００１２】
請求項１記載のクエリ提供装置は、キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算手段と、前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリング手段と、クラスタリングの対象となるキーワードの部分集合が入力された後、前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合して前記入力されたキーワードをクラスタリングすることをボトムアップに繰り返すクラスタリング手段と、当該クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択手段と、を有することを特徴とする。
【００１３】
本発明によれば、キーワードからキーワード間距離を探索可能な距離行列データと、階層的クラスタリングされたキーワードのボトムアップインデックスとを予め生成し記憶しておくため、情報検索時に代表クエリを高速に選択できる。
【００１５】
本発明によれば、所定のクラスタ数になるまでクラスタリングすることを繰り返し、各クラスタからキーワードを代表クエリとしてそれぞれ選択するため、端末の画面サイズや検索アプリケーションのデザイン等に応じて推薦されるクエリ数を動的に変えたいとするユーザの要望を満たすことができる。
【００１６】
本発明によれば、階層的クラスタリングによって構築されたボトムアップインデックスを下層から併合してクラスタリングするため、多様化された代表クエリを選択できる。
【００１７】
請求項２記載のクエリ提供装置は、請求項１記載のクエリ提供装置において、前記代表クエリ選択手段は、前記入力されたキーワードのクラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする。
【００１８】
本発明によれば、クラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索するため、キーワード間距離の探索を定数時間で実行可能となり、代表クエリを高速に選択できる。
【００１９】
本発明によれば、クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さいキーワードを代表クエリとして選択するため、より適切に多様化された代表クエリを選択できる。
【００２０】
請求項３記載のクエリ提供方法は、コンピュータにより行うクエリ選択方法において、キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算ステップと、前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリングステップと、クラスタリングの対象となるキーワードの部分集合が入力された後、前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合して前記入力されたキーワードをクラスタリングすることをボトムアップに繰り返すクラスタリングステップと、当該クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択ステップと、を有することを特徴とする。
【００２１】
本発明によれば、キーワードからキーワード間距離を探索可能な距離行列データと、階層的クラスタリングされたキーワードのボトムアップインデックスとを予め生成し記憶しておくため、情報検索時に代表クエリを高速に選択できる。
【００２３】
本発明によれば、所定のクラスタ数になるまでクラスタリングすることを繰り返し、各クラスタからキーワードを代表クエリとしてそれぞれ選択するため、端末の画面サイズや検索アプリケーションのデザイン等に応じて推薦されるクエリ数を動的に変えたいとするユーザの要望を満たすことができる。
【００２４】
本発明によれば、階層的クラスタリングによって構築されたボトムアップインデックスを下層から併合してクラスタリングするため、多様化された代表クエリを選択できる。
【００２５】
請求項４記載のクエリ提供方法は、請求項３記載のクエリ提供方法において、前記代表クエリ選択ステップは、前記入力されたキーワードのクラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする。
【００２６】
本発明によれば、クラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索するため、キーワード間距離の探索を定数時間で実行可能となり、代表クエリを高速に選択できる。
【００２７】
本発明によれば、クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さいキーワードを代表クエリとして選択するため、より適切に多様化された代表クエリを選択できる。
【００２８】
請求項５記載のクエリ提供プログラムは、請求項３又は４の各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２９】
本発明によれば、適切に多様化されたクエリを高速に選択できる。
【図面の簡単な説明】
【００３０】
【図１】多様な関連クエリを推薦するメリットを説明する図である。
【図２】情報検索システムの全体構成を示す図である。
【図３】クライアント端末及びクエリ提供装置の機能ブロック構成を示す図である。
【図４】情報検索時前の事前処理フローを示す図である。
【図５】階層的クラスタリングによって構築されたデンドログラムの一例を示す図である。
【図６】デンドログラム及びボトムアップインデックスの一例を示す図である。
【図７】情報検索時の処理フローを示す図である。
【図８】情報検索時の処理状態を示す図である。
【図９】クラスタリングの一例を示す図である。
【図１０】クラスタリングの処理フローを示す図である。
【図１１】クラスタリングの遷移を説明する図である。
【図１２】タグの所属クラスタの遷移を説明する図である。
【図１３】クラスタリングの効果を説明する図である。
【図１４】関連クエリ間の中心性計算を説明する図である。
【図１５】代表クエリの選択処理フローを示す図である。
【図１６】関連クエリ出力結果を示す図である。
【発明を実施するための形態】
【００３１】
本発明の具体的特徴について先ず説明する。
【００３２】
本発明は、クライアント端末を用いて情報検索が実行される前に、複数のキーワード（入力されたクエリに関連性のある関連クエリとして検索後に推薦される候補となる複数のキーワード）を用いて階層的クラスタリングを事前に完了しておき、ボトムアップなインデックスとして保持しておくことを特徴とする。同時に、キーワード間の距離を検索可能な距離行列データを生成し保持しておくことを特徴とする。
【００３３】
そのように生成されたボトムアップインデックス及び距離行列データを予め保持しておく（Pre-Processing）ことにより、従来よりも高速にクエリを選択可能となる。
【００３４】
なお、階層的クラスタリングには分割最適化手法と階層的手法が存在するが、本発明では最終的に推薦されるクエリが単に高精度というだけではなく多様であることがユーザの情報検索要求を満たすことに繋がるという仮説に基づいているため、階層的手法を用いる。階層的クラスタリングに関する技術については、「データマイニング分野のクラスタリング手法（１）」、神嶌  敏弘、人口知能学会誌、18巻1号、2003年1月（以下、関連文献３）に記載されている。
【００３５】
そのような仮説は、「Assessing the Scenic Route: Measuring the Value of Search Trails in Web Logs」、Ryen White、外１名、SIGIR 2010（関連文献４）にて間接的に証明されていることを付言しておく。また、非特許文献４によれば、検索行動の途中状態時において、ユーザは妥当性だけでなく多様性も加味しながら多様なクエリを選択していることが証明されている。なお、推薦される関連クエリが多様であるとは、互いに意味が似通っていないということを意味している（図１参照）。
【００３６】
階層的クラスタリングによって生じたデンドログラムを全てのキーワード集合上に構築すると、任意の部分キーワード集合をキーワード数以下の任意の個数にクラスタリング可能となる。この性質により、端末の画面サイズ等を考慮してアプリケーション側（ユーザ側）によって指定された任意の組合せのキーワード集合を任意の個数にクラスタリング可能となり、多様化されたクエリを選択可能となる。
【００３７】
また、本発明では、階層的クラスタリングを行う際に用いた距離行列データを各クラスタから代表クエリをそれぞれ選択する際に再利用することを特徴とする。距離行列データを用いることにより、定数時間で代表クエリを選択可能となる。
【００３８】
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【００３９】
図２は、本実施の形態に係る情報検索システムの全体構成を示す図である。本情報検索システムは、ネットワークサービスとして利用可能であり、キーワードをキーワード入力欄に入力して所期情報を検索するユーザは、ウェブアプリケーションやクライアントアプリケーションを通じて当該サービスを利用できる。
【００４０】
本情報検索システムは、情報検索時にキーワードが入力されるクライアント端末５と、通信ネットワーク３を介してクライアント端末５に通信可能に接続され、入力されたキーワードをクエリとして受信し、そのクエリに対して推薦される関連クエリをデータベースサーバ２０から選択して、クライアント端末５に提供するアプリケーションサーバ１０を備えたクエリ提供装置１とで構成されている。
【００４１】
なお、このようなクライアント端末５としては、例えば、ウェブブラウザやクライアントアプリケーションがインストールされた携帯電話，スマートフォン，汎用パソコン等により実現される。また、クエリ提供装置１としては、例えば、汎用パソコンやサーバ等により実現される。
【００４２】
次に、クライアント端末５とクエリ提供装置１を構成する各機能部について詳述する。図３は、クライアント端末及びクエリ提供装置の各機能ブロックを示している。
【００４３】
クライアント端末５は、情報検索時に入力されたキーワードをクエリとして受け付けると共に、そのクエリでヒットした情報検索結果や当該クエリに対して当該情報検索後に推薦される関連クエリを表示するユーザインタフェース部５１と、入力されたキーワードや情報検索結果等の各種データを記憶する記憶部５２と、通信ネットワーク３に対して各種データの入出力を行う通信部５３と、各種データを処理するデータ処理部５４とで構成されている。
【００４４】
クエリ提供装置１は、アプリケーションサーバ１０を構成する距離行列計算部１１とクラスタリング部１２と関連クエリ取得部１３と代表クエリ選択部１４と代表クエリ出力部１５と、データベースサーバ２０を構成するデータ記憶部２１と、通信ネットワーク３を介してクライアント端末５に対して各種データの入出力を行う通信部３０とで構成されている。以下、それら各機能部の有する具体的特徴について詳述する。
【００４５】
距離行列計算部１１は、データ記憶部２１から読み出したキーワードの意味的な類似性に基づいてそれら全てのキーワード間の距離を計算し、一のキーワードから他のキーワードへの距離（以下、キーワード間距離）を探索可能な距離行列データを生成してデータ記憶部２１に記憶しておく機能を有している。
【００４６】
クラスタリング部１２は、その距離行列データを用いて複数のキーワードを階層的クラスタリングし、その階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとしてデータ記憶部２１に記憶しておく機能を有している。
【００４７】
また、クラスタリング部１２は、情報検索時において、データ記憶部２１からボトムアップインデックスを読み出して、関連クエリ取得部１３によって取得された関連クエリについて、指定されたクラスタ数になるまで下層を併合してクラスタリングすることをボトムアップに繰り返す機能を有している。
【００４８】
関連クエリ取得部１３は、情報検索時に入力されたキーワードに関連する複数のキーワードを関連クエリとしてデータ記憶部２１から取得する機能を有している。
【００４９】
代表クエリ選択部１４は、クラスタリングによって生じた各クラスタ内の関連クエリが当該クラスタ内の他の関連クエリに対して有するキーワード間距離を上記距離行列データから探索して平均値を計算し、その平均値が最も小さい関連クエリを各クラスタから代表クエリとしてそれぞれ選択する機能を有している。
【００５０】
代表クエリ出力部１５は、選択された複数の代表クエリを入力されたキーワードに関連付けてクライアント端末５に出力する機能を有している。
【００５１】
データ記憶部２１は、情報検索後に推薦される候補となる様々な複数のキーワード、予め生成された距離行列データ及びボトムアップインデックスを読み出し可能に保持しておく機能を有している。
【００５２】
なお、距離行列計算部１１とクラスタリング部１２と関連クエリ取得部１３と代表クエリ選択部１４と代表クエリ出力部１５とは、ＣＰＵ等の処理手段により実現される。また、データ記憶部２１は、ＲＯＭ、ＲＡＭ、ＨＤＤ等の記憶手段により実現される。これらの各処理部は単一装置内で実現されるだけでなく、複数台で分散構成により実現することも可能である。
【００５３】
続いて、クエリ提供装置１の処理動作を２段階に分けて説明する。最初に、図４を参照しながら、情報検索時前の事前処理について説明する。
【００５４】
まず、距離行列計算部１１が、データ記憶部２１から全てのキーワードを読み出してキーワード間距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して、データ記憶部２１に保持する（Ｓ１０１）。
【００５５】
なお、キーワードはTF*IDFやPageRank等を用いて計算される特徴量を表したベクトルとして表現されている場合が一般的であるが、必ずしもベクトル表現されている必要はなく、意味的な類似性に基づいてキーワード間距離が計算できればどのような特徴量であっても良い。
【００５６】
例えば、キーワード間距離として検索エンジンの結果数を利用したJaccard係数の逆数を用いる場合には、キーワードｋｉ，ｋｊの距離distanceを以下の式（１）を用いて計算してもよい。但し、＃（ｋ）は、キーワードｋの結果数であり、∩，∪は、それぞれ、ＡＮＤ，ＯＲの演算子である。
【数１】
0005545876.tif 000002
【００５７】
なお、ここで生成保持された距離行列データは、後段のクラスタリング処理と代表クエリ選択処理にて利用される。
【００５８】
次に、クラスタリング部１２が、距離行列データを用いてデータ記憶部２１に記憶されている全キーワード集合に対して階層的クラスタリングを行い、その階層的クラスタリングによって構築されたデンドログラムをボトムアップインデックスとしてデータ記憶部２１に保持する（Ｓ１０２）。
【００５９】
ここで、階層的クラスタリング技術について説明する。階層的クラスタリングとは、キーワード間，クラスタ間，キーワードとクラスタとの間の距離を求めて最も近いものを新たなクラスタとし、新しく形成されたクラスタと他のキーワードや他のクラスタとの距離を求めて最も近い２つを結合して新たなクラスタを生成していくことをクラスタ数が１つ（本発明では指定数）になるまで繰り返す処理をいう。より具体的には、前述した関連文献３に記載されている。
【００６０】
そして、その階層的クラスタリングによって、例えば、図５に示すようなデンドログラム（樹状図）が構築される。なお、図５の中間ノードに付与されている数字は、全体集合を上層ノードから下層ノードに向けて順番に分割する順番を表している。
【００６１】
例えば、上層の根ノードからたどり、２番の中間ノードでデンドログラムをクラスタリングすると、全体集合は２分割される。引き続き、３番の中間ノードでクラスタリングすると、全体集合は３分割される。さらに４番の中間ノードでクラスタリングすると４分割（Ａ〜Ｄ）され、結果として中間ノードの数字で全体集合をクラスタリングしたことになる。
【００６２】
この性質により、前述したように、デンドログラムをキーワード集合上に一度構築すると、キーワードの総数以下の任意の個数にクラスタリングできる。
【００６３】
その後、図６（ｂ）に示すように、階層的クラスタリングによって構築されたデンドログラムが、下層から上層に探索可能なボトムアップインデックスとしてデータ記憶部２１に保持されるため、後段のクラスタリング処理の高速化が可能となる。ボトムアップなインデックスとは、デンドログラム中の下層ノードをキーとした索引であり、ある下層ノードから上層ノード（以下、親ノードという場合もある）を高速に取得することができる。
【００６４】
続いて、図７及び図８を参照しながら、情報検索時の処理について説明する。
【００６５】
まず、関連クエリ取得部１３が、情報検索時に入力されたキーワードに関連する複数のキーワードを関連クエリとしてデータ記憶部２１から取得する（Ｓ２０１）。
【００６６】
例えば、「ｏｐｅｎＣＶ」というキーワードが入力され、「ＯＣＲ」，「使い方」，「ダウンロード」，「顔検出」，「画像処理」，「テンプレートマッチング」，「カメラ」，「顔認識」，「インストール」，「２．１」，「２．０」，「動画」，「関数」，「リファレンス」，「本」という関連クエリがデータ記憶部２１から取得されたとする。
【００６７】
なお、本発明では、関連クエリの取得方法（取得数を含む）には何ら制限されない。例えば、前述した関連文献１，２に記載の取得方法を利用できる。また、関連クエリの取得数はアプリケーションに依存しており、所定数にチューニング可能である。より多くの関連クエリを取得すると、後段にてクラスタリングする際における各クラスタ内の関連クエリ濃度が高くなるため、クラスタリング処理時の精度が向上することが期待できる。一方、手法によっては関連クエリの取得に時間がかかる可能性もある。
【００６８】
次に、クラスタリング部１２が、Ｓ２０１で取得した関連クエリ集合について、予め生成しておいたボトムアップインデックスを利用して、指定されたクラスタ数になるまでクラスタリングする（Ｓ２０２）。
【００６９】
ここで、図９に示すように、Ｔ１，Ｔ４，Ｔ７，Ｔ９，Ｔ１３，Ｔ１４の関連クエリをクラスタリングする場合について、図１０〜図１３を参照しながら、クラスタリングの処理について説明する。
【００７０】
最初に、アプリケーションが要求する指定クラスタ数ｋ、クラスタリング対象となる関連クエリ集合Ｔ’、事前に取得したボトムアップインデックスＩＤＸの入力を受け付ける（Ｓ２０２ａ）。以下、指定クラスタ数ｋは３、関連クエリ集合Ｔ’はＴ１，Ｔ４，Ｔ７，Ｔ９，Ｔ１３，Ｔ１４、ボトムアップインデックスＩＤＸは図６（ｂ）とする。
【００７１】
次いで、その時点の一時クラスタ数ｃ（＝｜Ｔ’｜）と、関連クエリ集合Ｔ’の親ノードの分割順位をボトムアップインデックスＩＤＸから取得して降順にソートした親ノードリストＰと、親ノードリストＰの中で最も分割順位が大きいノードの親ノードの分割順位が設定された位置ポインタｃｐとを一時変数として設定する（Ｓ２０２ｂ）。関連クエリ集合Ｔ’がＴ１，Ｔ４，Ｔ７，Ｔ９，Ｔ１３，Ｔ１４であることから、この時点で、ｃ＝６、Ｐ＝５，７，８，１１，１４，１５、ｃｐ＝１３が設定される。
【００７２】
次いで、一時クラスタ数ｃと指定クラスタ数ｋとが比較され（Ｓ２０２ｃ）、一時クラスタ数ｃが指定クラスタ数ｋよりも大きい場合には、一時クラスタ数ｃが指定クラスタ数ｋに一致するまで以下説明するＳ２０２ｄ〜Ｓ２０２ｉの処理が繰り返される。
【００７３】
次いで、Ｓ２０２ｃでの比較の結果、一時クラスタ数ｃが指定クラスタ数ｋよりも大きい場合には、親ノードリストＰの中で最も分割順位が大きいノードの親ノードの分割順位をボトムアップインデックスＩＤＸから取得し、位置ポインタｃｐに設定する（Ｓ２０２ｄ）。親ノードリストＰは変更されていないため、初期の一時値と同じｃｐ＝１３が設定される（図１１、図１２に示す時点Ａ参照）。
【００７４】
次いで、Ｓ２０２ｄで新たに設定された位置ポインタｃｐが親ノードリストＰに含まれるか否かを判定する（Ｓ２０２ｅ）。図１１、図１２の時点Ａを参照すると、ｃｐ＝１３は、Ｐの中に含まれていない。
【００７５】
次いで、Ｓ２０２ｅでの判定の結果、位置ポインタｃｐが親ノードリストＰに含まれていない場合には、親ノードリストＰの中で最も分割順位が大きいノードの親ノードの分割順位をボトムアップインデックスＩＤＸから取得し、その最も大きいノードの分割順位を、取得した親ノードの分割順位と交換して降順に並び替えた後に、Ｓ２０２ｃに戻る（Ｓ２０２ｆ）。これにより、Ｐ＝５，７，８，１１，１３，１４が設定される。
【００７６】
その後、Ｓ２０２ｃ、Ｓ２０２ｄの処理により、ｃｐ＝１２が設定される（図１１、図１２に示す時点Ｂ参照）。同様に、Ｓ２０２ｆ、Ｓ２０２ｃ、Ｓ２０２ｄの処理により、Ｐ＝５，７，８，１１，１２，１３、ｃｐ＝１２が設定される（図１１、図１２に示す時点Ｃ参照）。
【００７７】
次いで、Ｓ２０２ｅでの判定の結果、位置ポインタｃｐが親ノードリストＰに含まれている場合には、これまで処理対象であった部分関連クエリ集合の親ノードと同じ親ノードの他の部分関連クエリ集合が存在すると判断できるため、親ノードリストＰの中で最も大きいノードの分割順位を削除することで、２つの部分キーワード集合を併合する（Ｓ２０２ｇ）。
【００７８】
次いで、親ノードリストＰを降順に並び替え（Ｓ２０２ｈ）、一時クラスタ数ｃから１を引いた（Ｓ２０２ｉ）後に、Ｓ２０２ｃに戻る。
【００７９】
その後、Ｓ２０２ｃ、Ｓ２０２ｄの処理により、ｃｐ＝４が設定される（図１１、図１２に示す時点Ｄ参照）。同様に、Ｓ２０２ｃ〜Ｓ２０２ｉの処理を繰り返すことにより、現在の処理時点は、図１１、図１２に示す時点Ｅであるとする。
【００８０】
次いで、Ｓ２０２ｃでの比較の結果、一時クラスタ数ｃが指定クラスタ数ｋよりも大きくない場合には、ｋ個にクラスタリングされた関連クエリ集合を出力する（Ｓ２０２ｊ）。これにより、Ｐ＝３を親ノードとする関連クエリ集合（Ｔ１３とＴ１４）と、Ｐ＝４を親ノードとする関連クエリ集合（Ｔ１とＴ４）と、Ｐ＝５を親ノードとする関連クエリ集合（Ｔ７とＴ９）とが出力される。
【００８１】
以上がクラスタリングの処理であるが、直感的には、最初に、部分集合中の関連クエリそれぞれを１つのクラスタとみなしてクラスタ数を初期化し、次に、デンドログラムをボトムアップに登りながら併合する処理を行っている。
【００８２】
すなわち、図１３（ｂ）に示すように、キーワードを事前にクラスタリングしておき（Pre-Processing）、その事前のクラスタリング結果を情報検索時にインデックスとして利用することにより、図１３（ａ）に示した従来のオンデマンドクラスタリングよりも高速に関連タグの多様化を図ることができる。
【００８３】
なお、このクラスタリングの結果、「ＯＣＲ」，「テンプレートマッチング」，「顔検出」，「顔認識」という第１クラスタと、「使い方」，「ダウンロード」，「インストール」，「関数」，「リファレンス」，「本」という第２クラスタと、「画像処理」，「カメラ」，「２．１」，「２．０」，「動画」という第３クラスタとにクラスタリングされたとする。
【００８４】
次に、図７及び図８に戻り、代表クエリ選択部１４が、各クラスタ内から代表クエリをそれぞれ選択する（Ｓ２０３）。
【００８５】
例えば、クラスタ内での関連クエリの中心性に基づいて代表クエリを判定する。具体的には、クラスタに含まれる全ての関連クエリ間に枝があると仮定し、図１４に示すように、以下の式（２）を用いて各クエリ間の中心性centralityをそれぞれ計算する。なお、ＱＳは、クラスタ内における自分以外の関連クエリの総数である。
【数２】
0005545876.tif 000003
【００８６】
すなわち、自分以外の関連クエリへのキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さい関連クエリをクラスタ内の中心とみなして代表クエリとして選択する。１回の距離行列データの探索は定数時間で実行できるため、キーワード間距離をナイーブに計算するのと比べて非常に高速に取得できる。
【００８７】
ここで、図１５を参照しながら、代表クエリの選択処理について説明する。
【００８８】
最初に、Ｓ２０２で得られたクラスタＣｉ（０≦ｉ≦ｎ：ｎはクラスタの総数（＝指定されたクラスタ数））、距離行列データＭを受け付ける（Ｓ２０３ａ）。
【００８９】
次いで、クラスタＣｉのｉに１を初期値として設定する（Ｓ２０３ｂ）。
【００９０】
次いで、ｉとｎとが比較され（Ｓ２０３ｃ）、ｉがｎ以下の場合には、クラスタＣｉ内の全ての関連クエリの中心性を距離行列データを用いて計算し（Ｓ２０３ｄ）、中心性の最も高い関連クエリを代表クエリＱｉに設定する（Ｓ２０３ｅ）。その後、ｉに１を追加し（Ｓ２０３ｆ）、全てのクラスタの代表クエリＱｉが設定されるまでＳ２０３ｃ〜Ｓ２０３ｅの処理を繰り返す。
【００９１】
最後に、ｉがｎよりも大きい場合には、各クラスタＣｉから代表クエリＱｉを出力する（Ｓ２０３ｇ）。
【００９２】
前述の第１〜第３クラスタに対してGoogle検索エンジンでのヒット数を用いた中心性の計算結果を以下に示す。（）内に中心性の値を示す。
【００９３】
第１クラスタについては、平均値の小さい順に、「顔認識（２５．４７）」，「顔検出（５７．３３）」，「テンプレートマッチング（８７．１３）」，「ＯＣＲ（１６３．９２）」となった。
【００９４】
第２クラスタについては、「使い方（５．０２）」，「ダウンロード（５．０３）」，「インストール（５．０３）」，「リファレンス（５．０５）」，「関数（５．０７）」，「本（５．０８）」となった。
【００９５】
第３クラスタについては、「画像処理（２８．３５）」，「動画（３１．２５）」，「２．０（６１．８３）」，「カメラ（１３３．８５）」，「２．１（２４２．５２）」となった。
【００９６】
以上の計算結果より、アプリケーション側（ユーザ側）に推薦される関連クエリとしては、各クラスタで最も平均値の小さい「顔認識」，「使い方」，「画像処理」がそれぞれ選択される。いずれの関連クエリも多様であることが把握できる。
【００９７】
なお、代表クエリを選択する方法としては、クエリにマッチした文書数、指定した期間においてクエリが発行された回数、鮮度の高いクエリを選ぶ方法を利用してもよい。
【００９８】
最後に、図７及び図８に戻り、代表クエリ出力部１５が、選択された各代表クエリを入力キーワードに関連付けて視認可能にクライアント端末５に出力する（Ｓ２０４）。
【００９９】
参考までに、クライアント端末５に出力される情報検索結果を図１６に示す。入力された「ｏｐｅｎＣＶ」のキーワードに対して、「顔認識」と「使い方」と「画像処理」の関連クエリ（代表クエリ）がそれぞれ紐付けされて表示されている。なお、計算されたキーワード間距離の平均値に応じて各関連クエリの文字や形状を変化させ、更には入力キーワードとの距離を調整するようにしてもよい。
【０１００】
以上より、本実施の形態によれば、キーワードからキーワード間距離を探索可能な距離行列データと、階層的クラスタリングされたキーワードのボトムアップインデックスとを予め生成し記憶しておくので、情報検索時に代表クエリを高速に選択できる。
【０１０１】
本実施の形態によれば、所定のクラスタ数になるまでクラスタリングすることを繰り返し、各クラスタからキーワードを代表クエリとしてそれぞれ選択するので、端末の画面サイズや検索アプリケーションのデザイン等に応じて推薦されるクエリ数を動的に変えたいとするユーザの要望を満たすことができる。
【０１０２】
本実施の形態によれば、階層的クラスタリングによって構築されたボトムアップインデックスを下層から併合してクラスタリングするので、多様化された代表クエリを選択できる。
【０１０３】
本実施の形態によれば、クラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索するので、キーワード間距離の探索を定数時間で実行可能となり、代表クエリを高速に選択できる。
【０１０４】
本実施の形態によれば、クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さいキーワードを代表クエリとして選択するので、より適切に多様化された代表クエリを選択できる。
【０１０５】
これらの効果から、クエリの違いが容易に把握可能なクエリを提供可能であり、次の検索時において容易にクエリを選択可能となる。特に、モバイル端末において、検索時におけるユーザ満足度を高めるようにユーザをナビゲート可能となる（情報検索時における検索ナビゲーションの効率化）。
【符号の説明】
【０１０６】
１…クエリ提供装置
３…通信ネットワーク
５…クライアント端末
１０…アプリケーションサーバ
１１…距離行列計算部
１２…クラスタリング部
１３…関連クエリ取得部
１４…代表クエリ選択部
１５…代表クエリ出力部
２０…データベースサーバ
２１…データ記憶部
３０…通信部
５１…ユーザインタフェース部
５２…記憶部
５３…通信部
５４…データ処理部
Ｓ１０１〜Ｓ１０２、Ｓ２０１〜Ｓ２０４、Ｓ２０２ａ〜Ｓ２０２ｊ、Ｓ２０３ａ〜Ｓ２０３ｇ…処理ステップ
【図１】
0005545876.tif 000004
【図２】
0005545876.tif 000005
【図３】
0005545876.tif 000006
【図４】
0005545876.tif 000007
【図５】
0005545876.tif 000008
【図６】
0005545876.tif 000009
【図７】
0005545876.tif 000010
【図８】
0005545876.tif 000011
【図９】
0005545876.tif 000012
【図１０】
0005545876.tif 000013
【図１１】
0005545876.tif 000014
【図１２】
0005545876.tif 000015
【図１３】
0005545876.tif 000016
【図１４】
0005545876.tif 000017
【図１５】
0005545876.tif 000018
【図１６】
0005545876.tif 000019