説明

クエリ提供装置、クエリ提供方法及びクエリ提供プログラム

【課題】推薦されるクエリを高速に選択することを第1の課題とする。
【解決手段】キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておくと共に、距離行列データを用いてキーワードを階層的クラスタリングし、階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておく。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クエリを提供する技術に関する。
【背景技術】
【0002】
情報が常に増加し続けるというオープンエンド性を有するウェブ検索エンジン(Google、Bing等)は、史上類を見ない情報源となり、人々の生活に欠かせないものとなっている。我々は、身の回りの様々な情報をその検索エンジンを利用して探すことができる。
【0003】
このような検索活動を支援する方法としてクエリサジェストがある。入力中のクエリに対して次に検索すべき関連クエリが推薦されるため、キーボードを入力する手間を省く効果がある。このような効果から、携帯電話やタッチインタフェースを持つスマートフォン等のモバイル端末においても積極的に利用されつつある。
【0004】
また、クエリサジェストに用いる関連クエリ取得方法として、様々な方法が提案されている。単純なクエリの共起を行う技術(安川美智子、外1名、「クエリログから獲得した関連語のクラスタリングに基づくWeb検索」、電子情報通信学会論文誌、2007年、D Vol.J90-D No.2、p.269-280(以下、関連文献1))、クリックログから生成した「クエリ×URL」の二部グラフ内のランダムウォークを用いる技術(Qiaozhu Mei、外1名、「Query Suggestion Using Hitting Time」、CIKM、2009年(以下、関連文献2))等がある。
【0005】
特に、商品推薦においては、より多様な商品を推薦する方がユーザ満足度の向上につながるとの仮説に基づいて、検索結果をクラスタリングして推薦される関連クエリを多様化する手法が提案されている(非特許文献1)。また、ウェブ検索や画像検索においても、同様の仮説に基づいて検索結果の多様化方法が提案されている(非特許文献2乃至5)。更に、関連クエリの取得についても、多様なクエリ選択方法が提案されている(非特許文献6)。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Cai-Nicolas Ziegler、外3名、「Improving recommendation lists through topic diversification」、Proc. WWW、2005年
【非特許文献2】Filip Radlinski、外1名、「Improving personalized web search using result diversification」、Proc. SIGIR 2006
【非特許文献3】Rakesh Agrawal、外3名、「Diversifying search results」、Proc WSDM 2009
【非特許文献4】Kai Song、外3名、「Diversifying the image retrieval results」、Proc. ACM Multimedia 2006
【非特許文献5】Reinier H. van Leuken、外3名、「Visual diversification of image search results」、Proc. WWW 2009
【非特許文献6】今井、外5名、「ウェブ検索サービスにおける多義的なクエリ推薦手法」、DEIM Forum 2010
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、携帯電話やスマートフォン等のモバイル端末はパソコンに比べて画面サイズが小さいため、パソコンを対象に開発された従来のクエリ支援技術をモバイル端末上で効果的に利用することは難しい。
【0008】
例えば、前述のクエリサジェストの場合には、画面サイズの制約から多数の関連クエリを推薦するとクエリ選択が難しくなり、一方で少なくするとユーザの情報要求に答えられない可能性がある。画面サイズは端末に応じて異なるにもかかわらず、推薦される関連クエリの数をサービス提供側で事前に固定してしまうことが問題であり、端末によっては従来のクエリサジェストは使用し難いと言える。
【0009】
すなわち、従来のクエリ支援技術は、関連クエリが表示される端末の画面サイズが考慮されていないため、画面サイズに適切に対応した数の関連クエリを推薦できず、特にモバイル端末上において検索エンジンの利便性を低下させていたという問題があった。
【0010】
また、従来のクエリ多様化技術は、推薦される関連クエリを選択後にオンデマンドでクラスタリングする(Post-Processing)ため、関連クエリを端末に表示するまでに時間がかかるという問題があった。
【0011】
本発明は、上記を鑑みてなされたものであり、推薦されるクエリを高速に選択することを第1の課題とし、端末の画面サイズ等に適した数に多様化されたクエリを選択することを第2の課題とする。
【課題を解決するための手段】
【0012】
請求項1記載のクエリ提供装置は、キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算手段と、前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリング手段と、を有することを特徴とする。
【0013】
本発明によれば、キーワードからキーワード間距離を探索可能な距離行列データと、階層的クラスタリングされたキーワードのボトムアップインデックスとを予め生成し記憶しておくため、情報検索時に代表クエリを高速に選択できる。
【0014】
請求項2記載のクエリ提供装置は、請求項1記載のクエリ提供装置において、前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合してクラスタリングすることをボトムアップに繰り返すクラスタリング手段と、前記クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択手段と、を更に有することを特徴とする。
【0015】
本発明によれば、所定のクラスタ数になるまでクラスタリングすることを繰り返し、各クラスタからキーワードを代表クエリとしてそれぞれ選択するため、端末の画面サイズや検索アプリケーションのデザイン等に応じて推薦されるクエリ数を動的に変えたいとするユーザの要望を満たすことができる。
【0016】
本発明によれば、階層的クラスタリングによって構築されたボトムアップインデックスを下層から併合してクラスタリングするため、多様化された代表クエリを選択できる。
【0017】
請求項3記載のクエリ提供装置は、請求項2記載のクエリ提供装置において、前記代表クエリ選択手段は、前記クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする。
【0018】
本発明によれば、クラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索するため、キーワード間距離の探索を定数時間で実行可能となり、代表クエリを高速に選択できる。
【0019】
本発明によれば、クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さいキーワードを代表クエリとして選択するため、より適切に多様化された代表クエリを選択できる。
【0020】
請求項4記載のクエリ提供方法は、コンピュータにより行うクエリ選択方法において、キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算ステップと、前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリングステップと、を有することを特徴とする。
【0021】
本発明によれば、キーワードからキーワード間距離を探索可能な距離行列データと、階層的クラスタリングされたキーワードのボトムアップインデックスとを予め生成し記憶しておくため、情報検索時に代表クエリを高速に選択できる。
【0022】
請求項5記載のクエリ提供方法は、請求項4記載のクエリ提供方法において、前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合してクラスタリングすることをボトムアップに繰り返すクラスタリングステップと、前記クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択ステップと、を更に有することを特徴とする。
【0023】
本発明によれば、所定のクラスタ数になるまでクラスタリングすることを繰り返し、各クラスタからキーワードを代表クエリとしてそれぞれ選択するため、端末の画面サイズや検索アプリケーションのデザイン等に応じて推薦されるクエリ数を動的に変えたいとするユーザの要望を満たすことができる。
【0024】
本発明によれば、階層的クラスタリングによって構築されたボトムアップインデックスを下層から併合してクラスタリングするため、多様化された代表クエリを選択できる。
【0025】
請求項6記載のクエリ提供方法は、請求項5記載のクエリ提供方法において、前記代表クエリ選択ステップは、前記クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする。
【0026】
本発明によれば、クラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索するため、キーワード間距離の探索を定数時間で実行可能となり、代表クエリを高速に選択できる。
【0027】
本発明によれば、クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さいキーワードを代表クエリとして選択するため、より適切に多様化された代表クエリを選択できる。
【0028】
請求項7記載のクエリ提供プログラムは、請求項4乃至6のいずれかの各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【0029】
本発明によれば、適切に多様化されたクエリを高速に選択できる。
【図面の簡単な説明】
【0030】
【図1】多様な関連クエリを推薦するメリットを説明する図である。
【図2】情報検索システムの全体構成を示す図である。
【図3】クライアント端末及びクエリ提供装置の機能ブロック構成を示す図である。
【図4】情報検索時前の事前処理フローを示す図である。
【図5】階層的クラスタリングによって構築されたデンドログラムの一例を示す図である。
【図6】デンドログラム及びボトムアップインデックスの一例を示す図である。
【図7】情報検索時の処理フローを示す図である。
【図8】情報検索時の処理状態を示す図である。
【図9】クラスタリングの一例を示す図である。
【図10】クラスタリングの処理フローを示す図である。
【図11】クラスタリングの遷移を説明する図である。
【図12】タグの所属クラスタの遷移を説明する図である。
【図13】クラスタリングの効果を説明する図である。
【図14】関連クエリ間の中心性計算を説明する図である。
【図15】代表クエリの選択処理フローを示す図である。
【図16】関連クエリ出力結果を示す図である。
【発明を実施するための形態】
【0031】
本発明の具体的特徴について先ず説明する。
【0032】
本発明は、クライアント端末を用いて情報検索が実行される前に、複数のキーワード(入力されたクエリに関連性のある関連クエリとして検索後に推薦される候補となる複数のキーワード)を用いて階層的クラスタリングを事前に完了しておき、ボトムアップなインデックスとして保持しておくことを特徴とする。同時に、キーワード間の距離を検索可能な距離行列データを生成し保持しておくことを特徴とする。
【0033】
そのように生成されたボトムアップインデックス及び距離行列データを予め保持しておく(Pre-Processing)ことにより、従来よりも高速にクエリを選択可能となる。
【0034】
なお、階層的クラスタリングには分割最適化手法と階層的手法が存在するが、本発明では最終的に推薦されるクエリが単に高精度というだけではなく多様であることがユーザの情報検索要求を満たすことに繋がるという仮説に基づいているため、階層的手法を用いる。階層的クラスタリングに関する技術については、「データマイニング分野のクラスタリング手法(1)」、神嶌 敏弘、人口知能学会誌、18巻1号、2003年1月(以下、関連文献3)に記載されている。
【0035】
そのような仮説は、「Assessing the Scenic Route: Measuring the Value of Search Trails in Web Logs」、Ryen White、外1名、SIGIR 2010(関連文献4)にて間接的に証明されていることを付言しておく。また、非特許文献4によれば、検索行動の途中状態時において、ユーザは妥当性だけでなく多様性も加味しながら多様なクエリを選択していることが証明されている。なお、推薦される関連クエリが多様であるとは、互いに意味が似通っていないということを意味している(図1参照)。
【0036】
階層的クラスタリングによって生じたデンドログラムを全てのキーワード集合上に構築すると、任意の部分キーワード集合をキーワード数以下の任意の個数にクラスタリング可能となる。この性質により、端末の画面サイズ等を考慮してアプリケーション側(ユーザ側)によって指定された任意の組合せのキーワード集合を任意の個数にクラスタリング可能となり、多様化されたクエリを選択可能となる。
【0037】
また、本発明では、階層的クラスタリングを行う際に用いた距離行列データを各クラスタから代表クエリをそれぞれ選択する際に再利用することを特徴とする。距離行列データを用いることにより、定数時間で代表クエリを選択可能となる。
【0038】
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【0039】
図2は、本実施の形態に係る情報検索システムの全体構成を示す図である。本情報検索システムは、ネットワークサービスとして利用可能であり、キーワードをキーワード入力欄に入力して所期情報を検索するユーザは、ウェブアプリケーションやクライアントアプリケーションを通じて当該サービスを利用できる。
【0040】
本情報検索システムは、情報検索時にキーワードが入力されるクライアント端末5と、通信ネットワーク3を介してクライアント端末5に通信可能に接続され、入力されたキーワードをクエリとして受信し、そのクエリに対して推薦される関連クエリをデータベースサーバ20から選択して、クライアント端末5に提供するアプリケーションサーバ10を備えたクエリ提供装置1とで構成されている。
【0041】
なお、このようなクライアント端末5としては、例えば、ウェブブラウザやクライアントアプリケーションがインストールされた携帯電話,スマートフォン,汎用パソコン等により実現される。また、クエリ提供装置1としては、例えば、汎用パソコンやサーバ等により実現される。
【0042】
次に、クライアント端末5とクエリ提供装置1を構成する各機能部について詳述する。図3は、クライアント端末及びクエリ提供装置の各機能ブロックを示している。
【0043】
クライアント端末5は、情報検索時に入力されたキーワードをクエリとして受け付けると共に、そのクエリでヒットした情報検索結果や当該クエリに対して当該情報検索後に推薦される関連クエリを表示するユーザインタフェース部51と、入力されたキーワードや情報検索結果等の各種データを記憶する記憶部52と、通信ネットワーク3に対して各種データの入出力を行う通信部53と、各種データを処理するデータ処理部54とで構成されている。
【0044】
クエリ提供装置1は、アプリケーションサーバ10を構成する距離行列計算部11とクラスタリング部12と関連クエリ取得部13と代表クエリ選択部14と代表クエリ出力部15と、データベースサーバ20を構成するデータ記憶部21と、通信ネットワーク3を介してクライアント端末5に対して各種データの入出力を行う通信部30とで構成されている。以下、それら各機能部の有する具体的特徴について詳述する。
【0045】
距離行列計算部11は、データ記憶部21から読み出したキーワードの意味的な類似性に基づいてそれら全てのキーワード間の距離を計算し、一のキーワードから他のキーワードへの距離(以下、キーワード間距離)を探索可能な距離行列データを生成してデータ記憶部21に記憶しておく機能を有している。
【0046】
クラスタリング部12は、その距離行列データを用いて複数のキーワードを階層的クラスタリングし、その階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとしてデータ記憶部21に記憶しておく機能を有している。
【0047】
また、クラスタリング部12は、情報検索時において、データ記憶部21からボトムアップインデックスを読み出して、関連クエリ取得部13によって取得された関連クエリについて、指定されたクラスタ数になるまで下層を併合してクラスタリングすることをボトムアップに繰り返す機能を有している。
【0048】
関連クエリ取得部13は、情報検索時に入力されたキーワードに関連する複数のキーワードを関連クエリとしてデータ記憶部21から取得する機能を有している。
【0049】
代表クエリ選択部14は、クラスタリングによって生じた各クラスタ内の関連クエリが当該クラスタ内の他の関連クエリに対して有するキーワード間距離を上記距離行列データから探索して平均値を計算し、その平均値が最も小さい関連クエリを各クラスタから代表クエリとしてそれぞれ選択する機能を有している。
【0050】
代表クエリ出力部15は、選択された複数の代表クエリを入力されたキーワードに関連付けてクライアント端末5に出力する機能を有している。
【0051】
データ記憶部21は、情報検索後に推薦される候補となる様々な複数のキーワード、予め生成された距離行列データ及びボトムアップインデックスを読み出し可能に保持しておく機能を有している。
【0052】
なお、距離行列計算部11とクラスタリング部12と関連クエリ取得部13と代表クエリ選択部14と代表クエリ出力部15とは、CPU等の処理手段により実現される。また、データ記憶部21は、ROM、RAM、HDD等の記憶手段により実現される。これらの各処理部は単一装置内で実現されるだけでなく、複数台で分散構成により実現することも可能である。
【0053】
続いて、クエリ提供装置1の処理動作を2段階に分けて説明する。最初に、図4を参照しながら、情報検索時前の事前処理について説明する。
【0054】
まず、距離行列計算部11が、データ記憶部21から全てのキーワードを読み出してキーワード間距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して、データ記憶部21に保持する(S101)。
【0055】
なお、キーワードはTF*IDFやPageRank等を用いて計算される特徴量を表したベクトルとして表現されている場合が一般的であるが、必ずしもベクトル表現されている必要はなく、意味的な類似性に基づいてキーワード間距離が計算できればどのような特徴量であっても良い。
【0056】
例えば、キーワード間距離として検索エンジンの結果数を利用したJaccard係数の逆数を用いる場合には、キーワードk,kの距離distanceを以下の式(1)を用いて計算してもよい。但し、#(k)は、キーワードkの結果数であり、∩,∪は、それぞれ、AND,ORの演算子である。
【数1】

【0057】
なお、ここで生成保持された距離行列データは、後段のクラスタリング処理と代表クエリ選択処理にて利用される。
【0058】
次に、クラスタリング部12が、距離行列データを用いてデータ記憶部21に記憶されている全キーワード集合に対して階層的クラスタリングを行い、その階層的クラスタリングによって構築されたデンドログラムをボトムアップインデックスとしてデータ記憶部21に保持する(S102)。
【0059】
ここで、階層的クラスタリング技術について説明する。階層的クラスタリングとは、キーワード間,クラスタ間,キーワードとクラスタとの間の距離を求めて最も近いものを新たなクラスタとし、新しく形成されたクラスタと他のキーワードや他のクラスタとの距離を求めて最も近い2つを結合して新たなクラスタを生成していくことをクラスタ数が1つ(本発明では指定数)になるまで繰り返す処理をいう。より具体的には、前述した関連文献3に記載されている。
【0060】
そして、その階層的クラスタリングによって、例えば、図5に示すようなデンドログラム(樹状図)が構築される。なお、図5の中間ノードに付与されている数字は、全体集合を上層ノードから下層ノードに向けて順番に分割する順番を表している。
【0061】
例えば、上層の根ノードからたどり、2番の中間ノードでデンドログラムをクラスタリングすると、全体集合は2分割される。引き続き、3番の中間ノードでクラスタリングすると、全体集合は3分割される。さらに4番の中間ノードでクラスタリングすると4分割(A〜D)され、結果として中間ノードの数字で全体集合をクラスタリングしたことになる。
【0062】
この性質により、前述したように、デンドログラムをキーワード集合上に一度構築すると、キーワードの総数以下の任意の個数にクラスタリングできる。
【0063】
その後、図6(b)に示すように、階層的クラスタリングによって構築されたデンドログラムが、下層から上層に探索可能なボトムアップインデックスとしてデータ記憶部21に保持されるため、後段のクラスタリング処理の高速化が可能となる。ボトムアップなインデックスとは、デンドログラム中の下層ノードをキーとした索引であり、ある下層ノードから上層ノード(以下、親ノードという場合もある)を高速に取得することができる。
【0064】
続いて、図7及び図8を参照しながら、情報検索時の処理について説明する。
【0065】
まず、関連クエリ取得部13が、情報検索時に入力されたキーワードに関連する複数のキーワードを関連クエリとしてデータ記憶部21から取得する(S201)。
【0066】
例えば、「openCV」というキーワードが入力され、「OCR」,「使い方」,「ダウンロード」,「顔検出」,「画像処理」,「テンプレートマッチング」,「カメラ」,「顔認識」,「インストール」,「2.1」,「2.0」,「動画」,「関数」,「リファレンス」,「本」という関連クエリがデータ記憶部21から取得されたとする。
【0067】
なお、本発明では、関連クエリの取得方法(取得数を含む)には何ら制限されない。例えば、前述した関連文献1,2に記載の取得方法を利用できる。また、関連クエリの取得数はアプリケーションに依存しており、所定数にチューニング可能である。より多くの関連クエリを取得すると、後段にてクラスタリングする際における各クラスタ内の関連クエリ濃度が高くなるため、クラスタリング処理時の精度が向上することが期待できる。一方、手法によっては関連クエリの取得に時間がかかる可能性もある。
【0068】
次に、クラスタリング部12が、S201で取得した関連クエリ集合について、予め生成しておいたボトムアップインデックスを利用して、指定されたクラスタ数になるまでクラスタリングする(S202)。
【0069】
ここで、図9に示すように、T1,T4,T7,T9,T13,T14の関連クエリをクラスタリングする場合について、図10〜図13を参照しながら、クラスタリングの処理について説明する。
【0070】
最初に、アプリケーションが要求する指定クラスタ数k、クラスタリング対象となる関連クエリ集合T’、事前に取得したボトムアップインデックスIDXの入力を受け付ける(S202a)。以下、指定クラスタ数kは3、関連クエリ集合T’はT1,T4,T7,T9,T13,T14、ボトムアップインデックスIDXは図6(b)とする。
【0071】
次いで、その時点の一時クラスタ数c(=|T’|)と、関連クエリ集合T’の親ノードの分割順位をボトムアップインデックスIDXから取得して降順にソートした親ノードリストPと、親ノードリストPの中で最も分割順位が大きいノードの親ノードの分割順位が設定された位置ポインタcpとを一時変数として設定する(S202b)。関連クエリ集合T’がT1,T4,T7,T9,T13,T14であることから、この時点で、c=6、P=5,7,8,11,14,15、cp=13が設定される。
【0072】
次いで、一時クラスタ数cと指定クラスタ数kとが比較され(S202c)、一時クラスタ数cが指定クラスタ数kよりも大きい場合には、一時クラスタ数cが指定クラスタ数kに一致するまで以下説明するS202d〜S202iの処理が繰り返される。
【0073】
次いで、S202cでの比較の結果、一時クラスタ数cが指定クラスタ数kよりも大きい場合には、親ノードリストPの中で最も分割順位が大きいノードの親ノードの分割順位をボトムアップインデックスIDXから取得し、位置ポインタcpに設定する(S202d)。親ノードリストPは変更されていないため、初期の一時値と同じcp=13が設定される(図11、図12に示す時点A参照)。
【0074】
次いで、S202dで新たに設定された位置ポインタcpが親ノードリストPに含まれるか否かを判定する(S202e)。図11、図12の時点Aを参照すると、cp=13は、Pの中に含まれていない。
【0075】
次いで、S202eでの判定の結果、位置ポインタcpが親ノードリストPに含まれていない場合には、親ノードリストPの中で最も分割順位が大きいノードの親ノードの分割順位をボトムアップインデックスIDXから取得し、その最も大きいノードの分割順位を、取得した親ノードの分割順位と交換して降順に並び替えた後に、S202cに戻る(S202f)。これにより、P=5,7,8,11,13,14が設定される。
【0076】
その後、S202c、S202dの処理により、cp=12が設定される(図11、図12に示す時点B参照)。同様に、S202f、S202c、S202dの処理により、P=5,7,8,11,12,13、cp=12が設定される(図11、図12に示す時点C参照)。
【0077】
次いで、S202eでの判定の結果、位置ポインタcpが親ノードリストPに含まれている場合には、これまで処理対象であった部分関連クエリ集合の親ノードと同じ親ノードの他の部分関連クエリ集合が存在すると判断できるため、親ノードリストPの中で最も大きいノードの分割順位を削除することで、2つの部分キーワード集合を併合する(S202g)。
【0078】
次いで、親ノードリストPを降順に並び替え(S202h)、一時クラスタ数cから1を引いた(S202i)後に、S202cに戻る。
【0079】
その後、S202c、S202dの処理により、cp=4が設定される(図11、図12に示す時点D参照)。同様に、S202c〜S202iの処理を繰り返すことにより、現在の処理時点は、図11、図12に示す時点Eであるとする。
【0080】
次いで、S202cでの比較の結果、一時クラスタ数cが指定クラスタ数kよりも大きくない場合には、k個にクラスタリングされた関連クエリ集合を出力する(S202j)。これにより、P=3を親ノードとする関連クエリ集合(T13とT14)と、P=4を親ノードとする関連クエリ集合(T1とT4)と、P=5を親ノードとする関連クエリ集合(T7とT9)とが出力される。
【0081】
以上がクラスタリングの処理であるが、直感的には、最初に、部分集合中の関連クエリそれぞれを1つのクラスタとみなしてクラスタ数を初期化し、次に、デンドログラムをボトムアップに登りながら併合する処理を行っている。
【0082】
すなわち、図13(b)に示すように、キーワードを事前にクラスタリングしておき(Pre-Processing)、その事前のクラスタリング結果を情報検索時にインデックスとして利用することにより、図13(a)に示した従来のオンデマンドクラスタリングよりも高速に関連タグの多様化を図ることができる。
【0083】
なお、このクラスタリングの結果、「OCR」,「テンプレートマッチング」,「顔検出」,「顔認識」という第1クラスタと、「使い方」,「ダウンロード」,「インストール」,「関数」,「リファレンス」,「本」という第2クラスタと、「画像処理」,「カメラ」,「2.1」,「2.0」,「動画」という第3クラスタとにクラスタリングされたとする。
【0084】
次に、図7及び図8に戻り、代表クエリ選択部14が、各クラスタ内から代表クエリをそれぞれ選択する(S203)。
【0085】
例えば、クラスタ内での関連クエリの中心性に基づいて代表クエリを判定する。具体的には、クラスタに含まれる全ての関連クエリ間に枝があると仮定し、図14に示すように、以下の式(2)を用いて各クエリ間の中心性centralityをそれぞれ計算する。なお、QSは、クラスタ内における自分以外の関連クエリの総数である。
【数2】

【0086】
すなわち、自分以外の関連クエリへのキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さい関連クエリをクラスタ内の中心とみなして代表クエリとして選択する。1回の距離行列データの探索は定数時間で実行できるため、キーワード間距離をナイーブに計算するのと比べて非常に高速に取得できる。
【0087】
ここで、図15を参照しながら、代表クエリの選択処理について説明する。
【0088】
最初に、S202で得られたクラスタCi(0≦i≦n:nはクラスタの総数(=指定されたクラスタ数))、距離行列データMを受け付ける(S203a)。
【0089】
次いで、クラスタCiのiに1を初期値として設定する(S203b)。
【0090】
次いで、iとnとが比較され(S203c)、iがn以下の場合には、クラスタCi内の全ての関連クエリの中心性を距離行列データを用いて計算し(S203d)、中心性の最も高い関連クエリを代表クエリQiに設定する(S203e)。その後、iに1を追加し(S203f)、全てのクラスタの代表クエリQiが設定されるまでS203c〜S203eの処理を繰り返す。
【0091】
最後に、iがnよりも大きい場合には、各クラスタCiから代表クエリQiを出力する(S203g)。
【0092】
前述の第1〜第3クラスタに対してGoogle検索エンジンでのヒット数を用いた中心性の計算結果を以下に示す。()内に中心性の値を示す。
【0093】
第1クラスタについては、平均値の小さい順に、「顔認識(25.47)」,「顔検出(57.33)」,「テンプレートマッチング(87.13)」,「OCR(163.92)」となった。
【0094】
第2クラスタについては、「使い方(5.02)」,「ダウンロード(5.03)」,「インストール(5.03)」,「リファレンス(5.05)」,「関数(5.07)」,「本(5.08)」となった。
【0095】
第3クラスタについては、「画像処理(28.35)」,「動画(31.25)」,「2.0(61.83)」,「カメラ(133.85)」,「2.1(242.52)」となった。
【0096】
以上の計算結果より、アプリケーション側(ユーザ側)に推薦される関連クエリとしては、各クラスタで最も平均値の小さい「顔認識」,「使い方」,「画像処理」がそれぞれ選択される。いずれの関連クエリも多様であることが把握できる。
【0097】
なお、代表クエリを選択する方法としては、クエリにマッチした文書数、指定した期間においてクエリが発行された回数、鮮度の高いクエリを選ぶ方法を利用してもよい。
【0098】
最後に、図7及び図8に戻り、代表クエリ出力部15が、選択された各代表クエリを入力キーワードに関連付けて視認可能にクライアント端末5に出力する(S204)。
【0099】
参考までに、クライアント端末5に出力される情報検索結果を図16に示す。入力された「openCV」のキーワードに対して、「顔認識」と「使い方」と「画像処理」の関連クエリ(代表クエリ)がそれぞれ紐付けされて表示されている。なお、計算されたキーワード間距離の平均値に応じて各関連クエリの文字や形状を変化させ、更には入力キーワードとの距離を調整するようにしてもよい。
【0100】
以上より、本実施の形態によれば、キーワードからキーワード間距離を探索可能な距離行列データと、階層的クラスタリングされたキーワードのボトムアップインデックスとを予め生成し記憶しておくので、情報検索時に代表クエリを高速に選択できる。
【0101】
本実施の形態によれば、所定のクラスタ数になるまでクラスタリングすることを繰り返し、各クラスタからキーワードを代表クエリとしてそれぞれ選択するので、端末の画面サイズや検索アプリケーションのデザイン等に応じて推薦されるクエリ数を動的に変えたいとするユーザの要望を満たすことができる。
【0102】
本実施の形態によれば、階層的クラスタリングによって構築されたボトムアップインデックスを下層から併合してクラスタリングするので、多様化された代表クエリを選択できる。
【0103】
本実施の形態によれば、クラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索するので、キーワード間距離の探索を定数時間で実行可能となり、代表クエリを高速に選択できる。
【0104】
本実施の形態によれば、クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を距離行列データから探索して平均値を計算し、その平均値が最も小さいキーワードを代表クエリとして選択するので、より適切に多様化された代表クエリを選択できる。
【0105】
これらの効果から、クエリの違いが容易に把握可能なクエリを提供可能であり、次の検索時において容易にクエリを選択可能となる。特に、モバイル端末において、検索時におけるユーザ満足度を高めるようにユーザをナビゲート可能となる(情報検索時における検索ナビゲーションの効率化)。
【符号の説明】
【0106】
1…クエリ提供装置
3…通信ネットワーク
5…クライアント端末
10…アプリケーションサーバ
11…距離行列計算部
12…クラスタリング部
13…関連クエリ取得部
14…代表クエリ選択部
15…代表クエリ出力部
20…データベースサーバ
21…データ記憶部
30…通信部
51…ユーザインタフェース部
52…記憶部
53…通信部
54…データ処理部
S101〜S102、S201〜S204、S202a〜S202j、S203a〜S203g…処理ステップ

【特許請求の範囲】
【請求項1】
キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算手段と、
前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリング手段と、
を有することを特徴とするクエリ提供装置。
【請求項2】
前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合してクラスタリングすることをボトムアップに繰り返すクラスタリング手段と、
前記クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択手段と、
を更に有することを特徴とする請求項1記載のクエリ提供装置。
【請求項3】
前記代表クエリ選択手段は、
前記クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする請求項2記載のクエリ提供装置。
【請求項4】
コンピュータにより行うクエリ選択方法において、
キーワードの意味的な類似性に基づいてキーワード間の距離を計算し、キーワードからキーワード間距離を探索可能な距離行列データを生成して記憶手段に記憶しておく距離行列計算ステップと、
前記距離行列データを用いて前記キーワードを階層的クラスタリングし、前記階層的クラスタリングによって構築されたデンドログラムを下層から上層に探索可能なボトムアップインデックスとして記憶手段に記憶しておくクラスタリングステップと、
を有することを特徴とするクエリ提供方法。
【請求項5】
前記記憶手段からボトムアップインデックスを読み出して、所定のクラスタ数になるまで下層を併合してクラスタリングすることをボトムアップに繰り返すクラスタリングステップと、
前記クラスタリングによって生じた各クラスタから所定のキーワードを代表クエリとしてそれぞれ選択する代表クエリ選択ステップと、
を更に有することを特徴とする請求項4記載のクエリ提供方法。
【請求項6】
前記代表クエリ選択ステップは、
前記クラスタリングによって生じたクラスタ内のキーワードが他のキーワードに対して有するキーワード間距離を前記距離行列データから探索して平均値を計算し、前記平均値が最も小さいキーワードを前記代表クエリとして選択することを特徴とする請求項5記載のクエリ提供方法。
【請求項7】
請求項4乃至6のいずれかの各ステップをコンピュータに実行させることを特徴とするクエリ提供プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−150539(P2012−150539A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−6820(P2011−6820)
【出願日】平成23年1月17日(2011.1.17)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】