(57)【特許請求の範囲】
【請求項１】
検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得するクエリ情報取得部と、
前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、第１のクエリを検索したユーザと、第２のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出する重複度スコア算出部と、
前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、前記第１のクエリが検索された時間と、前記第２のクエリが検索された時間との差である検索時間差を算出する検索時間差算出部と、
前記重複度スコア算出部によって算出された前記重複度スコアと、前記検索時間差算出部によって算出された前記検索時間差とを、前記第１のクエリおよび前記第２のクエリに関連付けて表示するための情報を生成する表示情報生成部と、
を備えるクエリ分析装置。
【請求項２】
前記重複度スコア算出部は、前記第１のクエリおよび前記第２のクエリの両方を検索したユーザの数を前記第１のクエリを検索したユーザの数で除算した値と、前記第２のクエリを検索したユーザの数を全ユーザの数で除算した値とに基づいて、前記重複度スコアを算出する
請求項１記載のクエリ分析装置。
【請求項３】
前記検索時間差算出部は、前記第１のクエリが検索された時間の中央値と、前記第２のクエリが検索された時間の中央値との差分を、前記検索時間差として算出する
請求項１または２記載のクエリ分析装置。
【請求項４】
前記重複度スコアの閾値の入力を受け付ける入力部を更に備え、
前記検索時間差算出部は、前記重複度スコア算出部によって算出された前記第１のクエリに対する前記重複度スコアが前記閾値未満の第２のクエリに対しては、前記検索時間差を算出しない
請求項１から３の何れか１項に記載のクエリ分析装置。
【請求項５】
前記検索時間差算出部によって算出された前記検索時間差と、前記検索時間差に対応する検索数とが関連づけられたヒートマップを生成するヒートマップ生成部を更に備える
請求項１から４の何れか１項に記載のクエリ分析装置。
【請求項６】
複数のクエリをグループ化してクラスタを生成するクラスタリング部を更に備え、
前記ヒートマップ生成部は、前記クラスタリング部によってグループ化された前記クラスタごとに、前記検索時間差と前記検索数とが関連づけられた前記ヒートマップを生成する
請求項５記載のクエリ分析装置。
【請求項７】
前記ヒートマップ生成部は、前記クエリごとに、前記検索時間差と前記検索数とが関連づけられた前記ヒートマップを生成する
請求項５記載のクエリ分析装置。
【請求項８】
前記ヒートマップ生成部は、第１の軸において前記検索時間差の分布を表現し、第２の軸において前記検索時間差ごとに検索数を正規化した値を表現した前記ヒートマップを生成する
請求項５から７の何れか１項に記載のクエリ分析装置。
【請求項９】
検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得するクエリ情報取得工程と、
前記クエリ情報取得工程で取得された前記クエリ情報に基づいて、第１のクエリを検索したユーザと、第２のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出する重複度スコア算出工程と、
前記クエリ情報取得工程で取得された前記クエリ情報に基づいて、前記第１のクエリが検索された時間と、前記第２のクエリが検索された時間との差である検索時間差を算出する検索時間差算出工程と、
前記重複度スコア算出工程で算出された前記重複度スコアと、前記検索時間差算出工程で算出された前記検索時間差とを、前記第１のクエリおよび前記第２のクエリに関連付けて表示するための情報を生成する表示情報生成工程と、
を備えるクエリ分析方法。
【請求項１０】
コンピュータに
検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得させ、
取得された前記クエリ情報に基づいて、第１のクエリを検索したユーザと、第２のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出させ、
取得された前記クエリ情報に基づいて、前記第１のクエリが検索された時間と、前記第２のクエリが検索された時間との差である検索時間差を算出させ、
算出された前記重複度スコアと、算出された前記検索時間差とを、前記第１のクエリおよび前記第２のクエリに関連付けて表示するための情報を生成させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クエリ分析装置、クエリ分析方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、検索サイトに入力されたクエリに基づき、シソーラス辞書を作成する技術が用いられてきた。具体的には、検索時刻の間隔が所定時間以内の検索ワードから、検索時刻が先の検索ワードと検索時刻が後の検索ワードとをペアにしたペア検索ワードを生成し、生成したペア検索ワードを用いてシソーラス辞書を生成する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１０９７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術は、生成したシソーラス辞書を用いて検索ワードの変換処理を行うことができるものの、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、検索サイトに入力されたクエリを用いて分析することができなかった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、クエリを用いて分析することができるクエリ分析装置、クエリ分析方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得するクエリ情報取得部と、前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、第１のクエリを検索したユーザと、第２のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出する重複度スコア算出部と、前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、前記第１のクエリが検索された時間と、前記第２のクエリが検索された時間との差である検索時間差を算出する検索時間差算出部と、前記重複度スコア算出部によって算出された前記重複度スコアと、前記検索時間差算出部によって算出された前記検索時間差とを、前記第１のクエリおよび前記第２のクエリに関連付けて表示するための情報を生成する表示情報生成部と、を備えるクエリ分析装置である。
【発明の効果】
【０００７】
本発明の一態様によれば、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、クエリを用いて分析することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るクエリ分析システム１０の構成を示す図である。
【図２】実施形態に係るウェブページの検索処理を示すシーケンス図である。
【図３】実施形態に係る記憶部１２０に記憶されたクエリ情報の一例を示す図である。
【図４】実施形態に係る重複度スコアの算出処理を説明するための図である。
【図５】実施形態に係る検索時間差の算出処理を説明するための図である。
【図６】実施形態に係る分析開始前のクエリ分析ウィンドウＷの一例を示す図である。
【図７】実施形態に係る分析終了後のクエリ分析ウィンドウＷの一例を示す図である。
【図８】実施形態に係るクラスタリング処理を説明するための図である。
【図９】実施形態に係るヒートマップＭの一例を示す図である。
【図１０】実施形態に係るクエリ分析処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、クエリ分析装置、クエリ分析方法、およびプログラムの実施形態について説明する。クエリ分析装置は、ネットワークなどを介して行われた検索の履歴を取得し、第１のクエリに対して相関の高い一以上の第２のクエリを抽出し、第１のクエリと第２のクエリとの関係を可視化する装置である。クエリ分析装置は、コンピュータにツール（プログラム）がインストールされることで実現されてもよいし、クラウドサービスによって分析結果を提供する装置であってもよい。クエリ分析装置によって、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を分析することができる。
【００１０】
＜１．クエリ分析システムの構成＞
図１は、実施形態に係るクエリ分析システム１０の構成を示す図である。実施形態のクエリ分析システム１０は、ウェブサーバ１００と、クエリ分析装置２００と、ユーザ端末３００とを備える。
【００１１】
ウェブサーバ１００、クエリ分析装置２００、およびユーザ端末３００は、ネットワークＮＷに接続される。ネットワークＮＷは、例えば、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、インターネット、プロバイダ装置、無線基地局、専用回線などのうち一部または全部を含む。
【００１２】
ウェブサーバ１００は、制御部１１０と、記憶部１２０とを備える。制御部１１０は、例えば、ウェブサーバ１００のプロセッサがプログラムを実行することで実現されてもよいし、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【００１３】
記憶部１２０は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。また、記憶部１２０の一部または全部は、ＮＡＳ（Network Attached Storage）や外部のストレージサーバなど、ウェブサーバ１００がアクセス可能な外部装置であってもよい。
【００１４】
クエリ分析装置２００は、クエリを分析する分析者によって使用される装置であり、ノート型のコンピュータまたはデスクトップ型のコンピュータであるが、これに限られない。例えば、クエリ分析装置２００は、スマートフォンなどの携帯電話、タブレット端末、またはＰＤＡ（Personal Digital Assistant）であってもよい。
【００１５】
クエリ分析装置２００は、入力部２１０と、表示部２２０と、クエリ情報取得部２３０と、重複度スコア算出部２４０と、検索時間差算出部２５０と、クラスタリング部２６０と、ヒートマップ生成部２７０と、表示情報生成部２８０と、記憶部２９０とを備える。入力部２１０は、キーボードやマウスなどの入力装置である。クエリ分析装置２００がスマートフォンなどの携帯電話またはタブレット端末である場合には、入力部２１０はタッチパネルなどの入力装置であってもよい。表示部２２０は、液晶表示装置などの表示装置である。
【００１６】
クエリ情報取得部２３０、重複度スコア算出部２４０、検索時間差算出部２５０、クラスタリング部２６０、ヒートマップ生成部２７０、および表示情報生成部２８０は、例えば、クエリ分析装置２００のプロセッサがプログラムを実行することで実現されてもよいし、ＬＳＩ、ＡＳＩＣ、ＦＰＧＡなどのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【００１７】
記憶部２９０は、例えば、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。また、記憶部２９０の一部または全部は、ＮＡＳや外部のストレージサーバなど、クエリ分析装置２００がアクセス可能な外部装置であってもよい。
【００１８】
ユーザ端末３００は、ユーザによって使用される端末であり、スマートフォンなどの携帯電話やタブレット端末であるが、これに限られない。例えば、ユーザ端末３００は、ノート型のコンピュータ、デスクトップ型のコンピュータ、またはＰＤＡであってもよい。
【００１９】
ユーザ端末３００は、制御部３１０と、入力部３２０と、表示部３３０とを備える。制御部３１０は、例えば、ユーザ端末３００のプロセッサがプログラムを実行することで実現されてもよいし、ＬＳＩ、ＡＳＩＣ、ＦＰＧＡなどのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【００２０】
入力部３２０は、タッチパネルなどの入力装置である。ユーザ端末３００がノート型のコンピュータまたはデスクトップ型のコンピュータである場合には、入力部３２０はキーボードやマウスなどの入力装置であってもよい。表示部３３０は、液晶表示装置などの表示装置である。
【００２１】
＜２．ウェブページの検索処理＞
図２は、実施形態に係るウェブページの検索処理を示すシーケンス図である。まず、ユーザは、ユーザ端末３００の入力部３２０を用いて、検索ページを表示部３３０に表示させるための指示を入力する。検索ページとは、ウェブサーバ１００の運営者によって提供される検索サイトのページである。ユーザ端末３００の制御部３１０は、入力された指示に基づき、ＨＴＴＰ（Hypertext Transfer Protocol）リクエストをウェブサーバ１００に送信する（Ｓ１０）。
【００２２】
ウェブサーバ１００の制御部１１０は、ユーザ端末３００からＨＴＴＰリクエストを受信すると、予め記憶部１２０に記憶された検索ページ生成情報を読み出す（Ｓ１１）。次に、ウェブサーバ１００の制御部１１０は、読み出した検索ページ生成情報をユーザ端末３００に送信する（Ｓ１２）。検索ページ生成情報は、例えば、ＨＴＭＬ（HyperText Markup Language）等が記述されたテキストデータや、スタイルシート、画像データ、動画データ、音声データである。
【００２３】
ユーザ端末３００の制御部３１０は、ウェブサーバ１００から検索ページ生成情報を受信すると、受信した検索ページ生成情報を用いて、表示部３３０に検索ページを表示させる（Ｓ１３）。ユーザは、ユーザ端末３００の入力部３２０を用いて、表示部３３０に表示された検索ページにクエリを入力する。クエリとは、検索ページに入力された一つの検索ワードまたは複数の検索ワードの組み合わせである。
【００２４】
ユーザ端末３００の制御部３１０は、ユーザによって入力されたクエリに基づいて、クエリ情報を生成する。クエリ情報には、ユーザによって入力されたクエリの他、ユーザの識別情報および検索日時等が含まれる。制御部３１０は、生成したクエリ情報をウェブサーバ１００に送信する（Ｓ１４）。
【００２５】
ウェブサーバ１００の制御部１１０は、ユーザ端末３００からクエリ情報を受信すると、受信したクエリ情報を記憶部１２０に記憶する（Ｓ１５）。具体的に、制御部１１０は、ユーザ端末３００から受信したクエリ情報に含まれるユーザの識別情報に基づき、ユーザごとにクエリ情報を分類して記憶部１２０に記憶する。
【００２６】
次に、制御部１１０は、受信したクエリ情報に含まれるクエリに基づいて検索処理を行う（Ｓ１６）。制御部１１０は、検索処理において、クエリによって示される検索ワードが含まれるページの一覧を、検索結果として生成する。その後、制御部１１０は、生成した検索結果をユーザ端末３００に送信する（Ｓ１７）。
【００２７】
ユーザ端末３００の制御部３１０は、ウェブサーバ１００から検索結果を受信すると、受信した検索結果を表示部３３０に表示させる（Ｓ１８）。このように、ユーザによって入力されたクエリに基づく検索処理が行われる。
【００２８】
なお、本実施形態においては、説明の簡略化のためにウェブサーバ１００に検索機能を持たせることとしたが、これに限られない。例えば、クエリ分析システム１０は、ウェブサーバと検索サーバとを別々に備えてもよい。
【００２９】
＜３．重複度スコアの算出処理＞
次に、重複度スコアの算出処理について説明する。重複度スコアは、あるクエリを検索したユーザと、他のクエリを検索したユーザとの重複の度合いを示す値であり、クエリ分析の指標として用いられる。クエリ分析装置２００の重複度スコア算出部２４０は、クエリ情報に用いて重複度スコアを算出する。
【００３０】
図３は、実施形態に係る記憶部１２０に記憶されたクエリ情報の一例を示す図である。図３に示されるように、記憶部１２０には、ユーザごとに分類されたクエリ情報Ｑ１からＱｎ（ｎ：ユーザの総数）が格納されている。例えば、クエリ情報Ｑ１はユーザ１のクエリ情報であり、クエリ情報Ｑ２はユーザ２のクエリ情報であり、・・・、クエリ情報Ｑｎ
はユーザｎのクエリ情報である。クエリ情報Ｑ１からＱｎのそれぞれにおいて、ユーザによって入力されたクエリおよび検索日時が関連付けられている。
【００３１】
図４は、実施形態に係る重複度スコアの算出処理を説明するための図である。図４において、ＡＬＬｕｓｅｒは全ユーザ数を示し、ＡｕｓｅｒはクエリＡを入力したユーザ数を示し、ＢｕｓｅｒはクエリＢを入力したユーザ数を示す。ここで、ＡＬＬｕｓｅｒ、Ａｕｓｅｒ、およびＢｕｓｅｒはユーザ数であることとしたが、検索回数であってもよい。ＡＬＬｕｓｅｒ、Ａｕｓｅｒ、およびＢｕｓｅｒのそれぞれの値は、クエリ情報に基づいて算出される。
【００３２】
クエリ分析装置２００のクエリ情報取得部２３０は、ウェブサーバ１００にクエリ情報要求を送信する。ウェブサーバ１００の制御部１１０は、クエリ情報取得部２３０からクエリ情報要求を受信すると、記憶部１２０からクエリ情報Ｑ１からＱｎ（図３）を読み出す。その後、制御部１１０は、読み出したクエリ情報Ｑ１からＱｎをクエリ分析装置２００に送信する。
【００３３】
クエリ情報取得部２３０は、ウェブサーバ１００の制御部１１０から送信されたクエリ情報Ｑ１からＱｎを取得する。また、クエリ情報取得部２３０は、取得したクエリ情報Ｑ１からＱｎを記憶部２９０に記憶する。重複度スコア算出部２４０は、記憶部２９０からクエリ情報Ｑ１からＱｎを読み出し、読み出したクエリ情報Ｑ１からＱｎに基づき、全ユーザ数ＡＬＬｕｓｅｒと、クエリＡのユーザ数Ａｕｓｅｒと、クエリＢのユーザ数Ｂｕｓｅｒとを算出する。
【００３４】
また、重複度スコア算出部２４０は、以下の式（１）に基づき、クエリＡに対するクエリＢの重複度スコアＳｃｏｒｅ（Ａ，Ｂ）を算出する。すなわち、重複度スコア算出部２４０は、クエリＡおよびクエリＢの両方を検索したユーザの数（Ａｕｓｅｒ∩Ｂｕｓｅｒ）をクエリＡを検索したユーザの数（Ａｕｓｅｒ）で除算した値と、クエリＢを検索したユーザの数（Ｂｕｓｅｒ）を全ユーザの数（ＡＬＬｕｓｅｒ）で除算した値とに基づいて、重複度スコアＳｃｏｒｅ（Ａ，Ｂ）を算出する。
【００３５】
【数１】
0006779047.tif 000002
【００３６】
重複度スコアＳｃｏｒｅ（Ａ，Ｂ）は、クエリＡを検索したユーザと、クエリＢを検索したユーザとの重複の度合いを示す値である。重複度スコアＳｃｏｒｅ（Ａ，Ｂ）が大きいほど、クエリＡとクエリＢの関連性が高いといえる。逆に、重複度スコアＳｃｏｒｅ（Ａ，Ｂ）が小さいほど、クエリＡとクエリＢの関連性が低いといえる。
【００３７】
例えば、車種１は軽自動車であり、車種２は軽自動車であり、車種３はスポーツカーであるとする。この場合において、クエリＡが「車種１」であり、クエリＢが「車種２」である場合、重複度スコアＳｃｏｒｅ（Ａ，Ｂ）は大きな値であった。一方、クエリＡが「車種１」であり、クエリＢが「車種３」である場合、重複度スコアＳｃｏｒｅ（Ａ，Ｂ）は小さな値であった。これは、軽自動車同士の関連性は高く、軽自動車とスポーツカーとの関連性は低いためである。このように、重複度スコアＳｃｏｒｅ（Ａ，Ｂ）を用いることで、例えば、競合製品の抽出や製品のニーズを分析することができる。
【００３８】
＜４．検索時間差の算出処理＞
次に、検索時間差の算出処理について説明する。検索時間差は、あるクエリが検索された時間と、他のクエリが検索された時間との差を示す値であり、クエリ分析の指標として用いられる。クエリ分析装置２００の検索時間差算出部２５０は、クエリ情報に用いて検索時間差を算出する。
【００３９】
図５は、実施形態に係る検索時間差の算出処理を説明するための図である。図５において、横軸は検索が行われた時間を示し、縦軸はクエリを入力したユーザ数を示す。クエリ分布ＱＡはクエリＡのユーザ数の分布を示し、クエリ分布ＱＢはクエリＢのユーザ数の分布を示す。時間Ｔ１はクエリ分布ＱＡの検索時間の中央値を示し、時間Ｔ２はクエリ分布ＱＢの検索時間の中央値を示す。
【００４０】
検索時間差算出部２５０は、クエリ情報取得部２３０によって取得されたクエリ情報Ｑ１からＱｎに基づき、時間Ｔ１および時間Ｔ２を導出する。具体的には、検索時間差算出部２５０は、クエリ情報Ｑ１からＱｎに基づいてクエリＡの検索日時を集計し、集計した検索日時の中央値を時間Ｔ１として導出する。また、検索時間差算出部２５０は、クエリ情報Ｑ１からＱｎに基づいてクエリＢの検索日時を集計し、集計した検索日時の中央値を時間Ｔ２として導出する。
【００４１】
さらに、検索時間差算出部２５０は、導出した時間Ｔ２から時間Ｔ１を減算することによって、クエリ分布ＱＡとクエリ分布ＱＢとの間の検索時間差Ｄ（Ａ，Ｂ）を算出する。検索時間差Ｄ（Ａ，Ｂ）がプラスの値の場合、クエリＡの検索よりも後にクエリＢの検索が行われた頻度が高いといえる。検索時間差Ｄ（Ａ，Ｂ）がマイナスの値の場合、クエリＡの検索よりも前にクエリＢの検索が行われた頻度が高いといえる。また、検索時間差Ｄ（Ａ，Ｂ）が０に近いほど、クエリＡの検索が行われた時期と同時期にクエリＢの検索が行われた頻度が高いといえる。
【００４２】
例えば、クエリＡが「咳止め薬」であり、クエリＢが「喉の痛み」である場合、検索時間差はマイナスの値であった。これは、喉の痛みは初期症状であるためである。一方、クエリＡが「咳止め薬」であり、クエリＢが「肺炎」である場合、検索時間差はプラスの値であった。これは、肺炎は症状が進行した状態であるためである。このように、検索時間差を用いることで、例えば、時間経過によるユーザのニーズの変化を把握することができる。
【００４３】
＜５．クエリ分析ウィンドウ＞
図６は、実施形態に係る分析開始前のクエリ分析ウィンドウＷの一例を示す図である。クエリ分析装置２００の表示情報生成部２８０は、クエリ分析ウィンドウＷの表示情報を生成する。表示部２２０は、表示情報生成部２８０によって生成された表示情報に従って、クエリ分析ウィンドウＷを表示する。図６に示されるように、クエリ分析ウィンドウＷには、クエリ選択領域２２１と、データソース選択領域２２２と、閾値入力領域２２３と、開始ボタン２２４と、結果表示領域２２５とが表示されている。
【００４４】
クエリ選択領域２２１は、クエリ分析装置２００を使用する分析者が、分析対象のクエリを選択するための領域である。データソース選択領域２２２は、分析者がクエリ情報のデータソースを選択するための領域である。図６に示される例においては、分析対象のクエリとしてクエリＡが選択され、データソースとして２０１５年１月１日から２０１５年１２月３１日のデータソースが選択されている。
【００４５】
閾値入力領域２２３は、重複度スコアの閾値の入力を受け付ける入力部として機能する。開始ボタン２２４は、分析者が分析開始を指示するためのボタンである。結果表示領域２２５は、分析結果が表示される領域である。結果表示領域２２５には、分析結果として、クエリと、ユーザ数と、重複度スコアと、検索時間差とが表示される。
【００４６】
検索時間差算出部２５０は、重複度スコア算出部２４０によって算出されたクエリＡに対する重複度スコアが閾値入力領域２２３に入力された閾値未満のクエリに対しては、検索時間差を算出しない。図６に示される例においては、閾値として４が入力されている。このため、重複度スコアが４未満のクエリに対しては検索時間差が算出されないこととなり、結果表示領域２２５から分析結果が省かれることとなる。
【００４７】
分析者が、クエリ分析装置２００の入力部２１０を用いて開始ボタン２２４をクリックすると、クエリ分析処理が開始される。クエリ分析処理において、重複度スコア算出部２４０は重複度スコアを算出し、検索時間差算出部２５０は検索時間差を算出する。算出された重複度スコアおよび検索時間差は、結果表示領域２２５に表示される。
【００４８】
図７は、実施形態に係る分析終了後のクエリ分析ウィンドウＷの一例を示す図である。クエリ分析処理において、重複度スコア算出部２４０は、クエリ情報取得部２３０によって取得されたクエリ情報のうち、データソース選択領域２２２に示されるデータソースを用いて重複度スコアを算出する。具体的には、重複度スコア算出部２４０は、前述の式（１）に基づいて、クエリ選択領域２２１に示されるクエリに対する、他のクエリの重複度スコアを算出する。
【００４９】
ただし、重複度スコア算出部２４０は、算出した重複度スコアが閾値入力領域２２３に入力された閾値未満である場合、重複度スコアが閾値未満であるクエリについての分析結果を結果表示領域２２５から除外する。これによって、分析対象のクエリと関連性の低いクエリの分析結果を除外することができ、クエリ分析の精度を向上させることができる。
【００５０】
クエリ分析処理において、検索時間差算出部２５０は、クエリ情報取得部２３０によって取得されたクエリ情報のうち、データソース選択領域２２２に示されるデータソースを用いて、検索時間差を算出する。具体的には、検索時間差算出部２５０は、クエリ選択領域２２１に示されるクエリと他のクエリとの間の検索時間差を算出する。
【００５１】
図７に示されるように、結果表示領域２２５には、重複度スコア算出部２４０によって算出された重複度スコアと、検索時間差算出部２５０によって算出された検索時間差とが、クエリごとに関連付けられて表示される。これによって、分析者は、各クエリについての重複度スコアと検索時間差とを容易に把握することができる。
【００５２】
なお、図７において、表示部２２０は、ユーザ数、重複度スコア、または検索時間差について、昇順または降順に並び替えるためのボタンをクエリ分析ウィンドウＷ内に表示してもよい。これらの値を並び替えることで、分析者は、分析結果をより容易に把握することができる。
【００５３】
＜６．ヒートマップ生成処理＞
クエリ分析処理が完了すると、クエリ分析ウィンドウＷ内にヒートマップ表示ボタン２２６が表示される。分析者が、クエリ分析装置２００の入力部２１０を用いてヒートマップ表示ボタン２２６をクリックすると、ヒートマップ生成部２７０はヒートマップ生成処理を開始する。ヒートマップ生成処理において、クエリ分析装置２００のクラスタリング部２６０は、複数のクエリをグループ化してクラスタを生成する。
【００５４】
図８は、実施形態に係るクラスタリング処理を説明するための図である。クラスタリング部２６０は、クエリ情報取得部２３０によって取得されたクエリ情報に基づき、類似する複数のクエリをグループ化してクラスタを生成する。図８に示される例において、クラスタリング部２６０は、クエリＡからクエリＣをグループ化してクラスタＡを生成し、クエリＤからクエリＧをグループ化してクラスタＢを生成し、クエリＨからクエリＫをグループ化してクラスタＣを生成している。
【００５５】
例えば、クラスタリング部２６０は、同一の検索ワードを所定数以上含むクエリをグループ化してクラスタを生成してもよいし、シソーラス辞書を用いて検索ワードが類似するか否かを判定し、類似する検索ワードを所定数以上含むクエリをグループ化してクラスタを生成してもよい。
【００５６】
クラスタリング部２６０は、生成したクラスタをヒートマップ生成部２７０に出力する。ヒートマップ生成部２７０は、クエリ情報取得部２３０によって取得されたクエリ情報と、クラスタリング部２６０から入力されたクラスタとに基づいて、ヒートマップＭを生成する。
【００５７】
図９は、実施形態に係るヒートマップＭの一例を示す図である。ヒートマップＭの横軸は検索時間差を示し、縦軸はクラスタを示す。図９に示される例において、横軸の検索時間差の単位を日（ｄａｙ）として示しているが、これに限られない。例えば、より細かく分析する必要があれば、横軸の検索時間差の単位を時間（ｈｏｕｒ）として示してもよい。また、より長期間の分析結果が必要とされる場合は、横軸の検索時間差の単位を月（ｍｏｎｔｈ）として示してもよい。
【００５８】
各セル内に記載された数値は、横一列の合計を１とした場合のユーザ数（検索数）の割合を示す。すなわち、ヒートマップＭは、検索時間差算出部２５０によって算出された検索時間差と、検索時間差に対応する検索数とが、クラスタリング部２６０によってグループ化されたクラスタごとに関連づけられた一覧情報である。このように、ヒートマップ生成部２７０は、横軸において検索時間差の分布を表現し、縦軸において検索時間差ごとにユーザ数（検索数）を正規化した値を表現したヒートマップＭを生成する。
【００５９】
ヒートマップ内の各セルは、ユーザ数（検索数）に応じた色でハッチングされる。図９に示される例においては、縦一列の値の合計に対する割合が高いセルほど、濃い色でハッチングされているが、これに限られない。例えば、縦一列の値の合計に対する割合が高いセルほど、薄い色でハッチングされてもよい。
【００６０】
クエリ分析装置２００の表示部２２０は、クエリ分析ウィンドウＷ内にヒートマップＭを表示してもよいし、クエリ分析ウィンドウＷとは別のウィンドウにヒートマップＭを表示してもよい。このように、表示部２２０がヒートマップＭを表示することによって、分析者は、各クラスタについての検索時間差と検索数とを容易に把握することができる。
【００６１】
＜７．クエリ分析処理＞
図１０は、実施形態に係るクエリ分析処理を示すフローチャートである。本フローチャートによる処理は、クエリ分析装置２００によって実行される。
【００６２】
まず、表示部２２０は、前述の図６に示されるクエリ分析ウィンドウＷを表示する（Ｓ２０）。次に、クエリ分析装置２００は、開始ボタン２２４がクリックされたか否かを判定する（Ｓ２１）。開始ボタン２２４がクリックされたと判定された場合、重複度スコア算出部２４０は、クエリ情報取得部２３０によって取得されたクエリ情報に基づいて、クエリごとの重複度スコアを算出する（Ｓ２２）。次に、検索時間差算出部２５０は、クエリ情報取得部２３０によって取得されたクエリ情報に基づいて、クエリごとの検索時間差を算出する（Ｓ２３）。
【００６３】
その後、前述の図７に示されるように、表示情報生成部２８０は、重複度スコア算出部２４０によって算出された重複度スコアと、検索時間差算出部２５０によって算出された検索時間差とを、クエリごとに関連付けて表示するための表示情報を生成する。表示部２２０は、表示情報生成部２８０によって生成された表示情報を表示する（Ｓ２４）。また、表示部２２０は、クエリ分析ウィンドウＷにヒートマップ表示ボタン２２６を表示する。
【００６４】
次に、クエリ分析装置２００は、ヒートマップ表示ボタン２２６がクリックされたか否かを判定する（Ｓ２５）。ヒートマップ表示ボタン２２６がクリックされたと判定された場合、ヒートマップ生成部２７０は、前述の図９に示されるヒートマップＭを生成する（Ｓ２６）。その後、表示部２２０は、ヒートマップ生成部２７０によって生成されたヒートマップＭを表示し（Ｓ２７）、本フローチャートによる処理を終了する。
【００６５】
以上説明したように、重複度スコア算出部２４０は、クエリ情報に基づいて、クエリＡを検索したユーザと、クエリＢを検索したユーザとの重複の度合いを示す重複度スコアＳｃｏｒｅ（Ａ，Ｂ）を算出する。検索時間差算出部２５０は、クエリ情報に基づいて、クエリＡが検索された時間と、クエリＢが検索された時間との差である検索時間差Ｄ（Ａ，Ｂ）を算出する。表示情報生成部２８０は、重複度スコア算出部２４０によって算出された重複度スコアＳｃｏｒｅ（Ａ，Ｂ）と、検索時間差算出部２５０によって算出された検索時間差Ｄ（Ａ，Ｂ）とを、クエリＡおよびクエリＢに関連付けて表示するための情報を生成する。これによって、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、クエリを用いて分析することができる。
【００６６】
なお、上記実施形態によるクエリ分析装置２００は、内部にコンピュータシステムを有している。そして、上述したクエリ分析装置２００の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【００６７】
また、クエリ分析装置２００は、表示部２２０および表示情報生成部２８０の両方を備えることとしたが、これに限られない。例えば、クエリ分析装置２００をクラウドサービスとして提供する場合、表示部２２０を省略することができる。この場合、表示情報生成部２８０は、分析結果を表示するための表示情報を生成し、生成した表示情報を外部からの要求に応じて送信してもよい。
【００６８】
また、検索時間差算出部２５０は、検索時間の中央値を導出し、導出した中央値を用いて検索時間差を算出することとしたが、これに限られない。例えば、検索時間差算出部２５０は、検索時間の平均値を算出し、算出した平均値を用いて検索時間差を算出してもよい。
【００６９】
また、ヒートマップ生成部２７０は、クラスタリング部２６０によってグループ化されたクラスタごとに、検索時間差と検索数とが関連づけられたヒートマップを生成するとしたが、これに限られない。例えば、ヒートマップ生成部２７０は、クエリごとに、検索時間差と検索数とが関連づけられたヒートマップを生成してもよい。これによって、分析者は、クエリごとのヒートマップＭを確認することができる。
【００７０】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００７１】
１０…クエリ分析システム
１００…ウェブサーバ
１１０…制御部
１２０…記憶部
２００…クエリ分析装置
２１０…入力部
２２０…表示部
２３０…クエリ情報取得部
２４０…重複度スコア算出部
２５０…検索時間差算出部
２６０…クラスタリング部
２７０…ヒートマップ生成部
２８０…表示情報生成部
２９０…記憶部
３００…ユーザ端末
３１０…制御部
３２０…入力部
３３０…表示部
【図１】
0006779047.tif 000003
【図２】
0006779047.tif 000004
【図３】
0006779047.tif 000005
【図４】
0006779047.tif 000006
【図５】
0006779047.tif 000007
【図６】
0006779047.tif 000008
【図７】
0006779047.tif 000009
【図８】
0006779047.tif 000010
【図９】
0006779047.tif 000011
【図１０】
0006779047.tif 000012