特開2017-228114(P2017-228114A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧
特開2017-228114クエリ分析装置、クエリ分析方法、およびプログラム
<>
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000004
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000005
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000006
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000007
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000008
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000009
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000010
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000011
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000012
  • 特開2017228114-クエリ分析装置、クエリ分析方法、およびプログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-228114(P2017-228114A)
(43)【公開日】2017年12月28日
(54)【発明の名称】クエリ分析装置、クエリ分析方法、およびプログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20171201BHJP
【FI】
   G06F17/30 340B
   G06F17/30 220Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
【全頁数】16
(21)【出願番号】特願2016-124367(P2016-124367)
(22)【出願日】2016年6月23日
(71)【出願人】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100174986
【弁理士】
【氏名又は名称】林 康旨
(72)【発明者】
【氏名】田村 健
(72)【発明者】
【氏名】池宮 伸次
(57)【要約】
【課題】検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、クエリを用いて分析することができるクエリ分析装置、クエリ分析方法、およびプログラムを提供すること。
【解決手段】検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得するクエリ情報取得部と、前記クエリ情報に基づいて、第1のクエリを検索したユーザと、第2のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出する重複度スコア算出部と、前記クエリ情報に基づいて、前記第1のクエリが検索された時間と、前記第2のクエリが検索された時間との差である検索時間差を算出する検索時間差算出部と、前記重複度スコアと前記検索時間差とを、前記第1のクエリおよび前記第2のクエリに関連付けて表示するための情報を生成する表示情報生成部と、を備えるクエリ分析装置。
【選択図】図1
【特許請求の範囲】
【請求項1】
検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得するクエリ情報取得部と、
前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、第1のクエリを検索したユーザと、第2のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出する重複度スコア算出部と、
前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、前記第1のクエリが検索された時間と、前記第2のクエリが検索された時間との差である検索時間差を算出する検索時間差算出部と、
前記重複度スコア算出部によって算出された前記重複度スコアと、前記検索時間差算出部によって算出された前記検索時間差とを、前記第1のクエリおよび前記第2のクエリに関連付けて表示するための情報を生成する表示情報生成部と、
を備えるクエリ分析装置。
【請求項2】
前記重複度スコア算出部は、前記第1のクエリおよび前記第2のクエリの両方を検索したユーザの数を前記第1のクエリを検索したユーザの数で除算した値と、前記第2のクエリを検索したユーザの数を全ユーザの数で除算した値とに基づいて、前記重複度スコアを算出する
請求項1記載のクエリ分析装置。
【請求項3】
前記検索時間差算出部は、前記第1のクエリが検索された時間の中央値と、前記第2のクエリが検索された時間の中央値との差分を、前記検索時間差として算出する
請求項1または2記載のクエリ分析装置。
【請求項4】
前記重複度スコアの閾値の入力を受け付ける入力部を更に備え、
前記検索時間差算出部は、前記重複度スコア算出部によって算出された前記第1のクエリに対する前記重複度スコアが前記閾値未満の第2のクエリに対しては、前記検索時間差を算出しない
請求項1から3の何れか1項に記載のクエリ分析装置。
【請求項5】
前記検索時間差算出部によって算出された前記検索時間差と、前記検索時間差に対応する検索数とが関連づけられた一覧情報を生成する一覧情報生成部を更に備える
請求項1から4の何れか1項に記載のクエリ分析装置。
【請求項6】
複数のクエリをグループ化してクラスタを生成するクラスタリング部を更に備え、
前記一覧情報生成部は、前記クラスタリング部によってグループ化された前記クラスタごとに、前記検索時間差と前記検索数とが関連づけられた一覧情報を生成する
請求項5記載のクエリ分析装置。
【請求項7】
前記一覧情報生成部は、前記クエリごとに、前記検索時間差と前記検索数とが関連づけられた一覧情報を生成する
請求項5記載のクエリ分析装置。
【請求項8】
前記一覧情報生成部は、第1の軸において前記検索時間差の分布を表現し、第2の軸において前記検索時間差ごとに検索数を正規化した値を表現した前記一覧情報を生成する
請求項5から7の何れか1項に記載のクエリ分析装置。
【請求項9】
検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得するクエリ情報取得工程と、
前記クエリ情報取得工程で取得された前記クエリ情報に基づいて、第1のクエリを検索したユーザと、第2のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出する重複度スコア算出工程と、
前記クエリ情報取得工程で取得された前記クエリ情報に基づいて、前記第1のクエリが検索された時間と、前記第2のクエリが検索された時間との差である検索時間差を算出する検索時間差算出工程と、
前記重複度スコア算出工程で算出された前記重複度スコアと、前記検索時間差算出工程で算出された前記検索時間差とを、前記第1のクエリおよび前記第2のクエリに関連付けて表示するための情報を生成する表示情報生成工程と、
を備えるクエリ分析方法。
【請求項10】
コンピュータに
検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得させ、
取得された前記クエリ情報に基づいて、第1のクエリを検索したユーザと、第2のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出させ、
取得された前記クエリ情報に基づいて、前記第1のクエリが検索された時間と、前記第2のクエリが検索された時間との差である検索時間差を算出させ、
算出された前記重複度スコアと、算出された前記検索時間差とを、前記第1のクエリおよび前記第2のクエリに関連付けて表示するための情報を生成させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クエリ分析装置、クエリ分析方法、およびプログラムに関する。
【背景技術】
【0002】
従来、検索サイトに入力されたクエリに基づき、シソーラス辞書を作成する技術が用いられてきた。具体的には、検索時刻の間隔が所定時間以内の検索ワードから、検索時刻が先の検索ワードと検索時刻が後の検索ワードとをペアにしたペア検索ワードを生成し、生成したペア検索ワードを用いてシソーラス辞書を生成する技術が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−109701号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示された技術は、生成したシソーラス辞書を用いて検索ワードの変換処理を行うことができるものの、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、検索サイトに入力されたクエリを用いて分析することができなかった。
【0005】
本発明は、このような事情を考慮してなされたものであり、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、クエリを用いて分析することができるクエリ分析装置、クエリ分析方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
本発明の一態様は、検索されたクエリと、前記クエリが検索された時間とがユーザごとに関連付けられたクエリ情報を取得するクエリ情報取得部と、前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、第1のクエリを検索したユーザと、第2のクエリを検索したユーザとの重複の度合いを示す重複度スコアを算出する重複度スコア算出部と、前記クエリ情報取得部によって取得された前記クエリ情報に基づいて、前記第1のクエリが検索された時間と、前記第2のクエリが検索された時間との差である検索時間差を算出する検索時間差算出部と、前記重複度スコア算出部によって算出された前記重複度スコアと、前記検索時間差算出部によって算出された前記検索時間差とを、前記第1のクエリおよび前記第2のクエリに関連付けて表示するための情報を生成する表示情報生成部と、を備えるクエリ分析装置である。
【発明の効果】
【0007】
本発明の一態様によれば、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、クエリを用いて分析することができる。
【図面の簡単な説明】
【0008】
図1】実施形態に係るクエリ分析システム10の構成を示す図である。
図2】実施形態に係るウェブページの検索処理を示すシーケンス図である。
図3】実施形態に係る記憶部120に記憶されたクエリ情報の一例を示す図である。
図4】実施形態に係る重複度スコアの算出処理を説明するための図である。
図5】実施形態に係る検索時間差の算出処理を説明するための図である。
図6】実施形態に係る分析開始前のクエリ分析ウィンドウWの一例を示す図である。
図7】実施形態に係る分析終了後のクエリ分析ウィンドウWの一例を示す図である。
図8】実施形態に係るクラスタリング処理を説明するための図である。
図9】実施形態に係るヒートマップMの一例を示す図である。
図10】実施形態に係るクエリ分析処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して、クエリ分析装置、クエリ分析方法、およびプログラムの実施形態について説明する。クエリ分析装置は、ネットワークなどを介して行われた検索の履歴を取得し、第1のクエリに対して相関の高い一以上の第2のクエリを抽出し、第1のクエリと第2のクエリとの関係を可視化する装置である。クエリ分析装置は、コンピュータにツール(プログラム)がインストールされることで実現されてもよいし、クラウドサービスによって分析結果を提供する装置であってもよい。クエリ分析装置によって、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を分析することができる。
【0010】
<1.クエリ分析システムの構成>
図1は、実施形態に係るクエリ分析システム10の構成を示す図である。実施形態のクエリ分析システム10は、ウェブサーバ100と、クエリ分析装置200と、ユーザ端末300とを備える。
【0011】
ウェブサーバ100、クエリ分析装置200、およびユーザ端末300は、ネットワークNWに接続される。ネットワークNWは、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、インターネット、プロバイダ装置、無線基地局、専用回線などのうち一部または全部を含む。
【0012】
ウェブサーバ100は、制御部110と、記憶部120とを備える。制御部110は、例えば、ウェブサーバ100のプロセッサがプログラムを実行することで実現されてもよいし、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【0013】
記憶部120は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。また、記憶部120の一部または全部は、NAS(Network Attached Storage)や外部のストレージサーバなど、ウェブサーバ100がアクセス可能な外部装置であってもよい。
【0014】
クエリ分析装置200は、クエリを分析する分析者によって使用される装置であり、ノート型のコンピュータまたはデスクトップ型のコンピュータであるが、これに限られない。例えば、クエリ分析装置200は、スマートフォンなどの携帯電話、タブレット端末、またはPDA(Personal Digital Assistant)であってもよい。
【0015】
クエリ分析装置200は、入力部210と、表示部220と、クエリ情報取得部230と、重複度スコア算出部240と、検索時間差算出部250と、クラスタリング部260と、ヒートマップ生成部270と、表示情報生成部280と、記憶部290とを備える。入力部210は、キーボードやマウスなどの入力装置である。クエリ分析装置200がスマートフォンなどの携帯電話またはタブレット端末である場合には、入力部210はタッチパネルなどの入力装置であってもよい。表示部220は、液晶表示装置などの表示装置である。
【0016】
クエリ情報取得部230、重複度スコア算出部240、検索時間差算出部250、クラスタリング部260、ヒートマップ生成部270、および表示情報生成部280は、例えば、クエリ分析装置200のプロセッサがプログラムを実行することで実現されてもよいし、LSI、ASIC、FPGAなどのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【0017】
記憶部290は、例えば、RAM、ROM、HDD、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。また、記憶部290の一部または全部は、NASや外部のストレージサーバなど、クエリ分析装置200がアクセス可能な外部装置であってもよい。
【0018】
ユーザ端末300は、ユーザによって使用される端末であり、スマートフォンなどの携帯電話やタブレット端末であるが、これに限られない。例えば、ユーザ端末300は、ノート型のコンピュータ、デスクトップ型のコンピュータ、またはPDAであってもよい。
【0019】
ユーザ端末300は、制御部310と、入力部320と、表示部330とを備える。制御部310は、例えば、ユーザ端末300のプロセッサがプログラムを実行することで実現されてもよいし、LSI、ASIC、FPGAなどのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【0020】
入力部320は、タッチパネルなどの入力装置である。ユーザ端末300がノート型のコンピュータまたはデスクトップ型のコンピュータである場合には、入力部320はキーボードやマウスなどの入力装置であってもよい。表示部330は、液晶表示装置などの表示装置である。
【0021】
<2.ウェブページの検索処理>
図2は、実施形態に係るウェブページの検索処理を示すシーケンス図である。まず、ユーザは、ユーザ端末300の入力部320を用いて、検索ページを表示部330に表示させるための指示を入力する。検索ページとは、ウェブサーバ100の運営者によって提供される検索サイトのページである。ユーザ端末300の制御部310は、入力された指示に基づき、HTTP(Hypertext Transfer Protocol)リクエストをウェブサーバ100に送信する(S10)。
【0022】
ウェブサーバ100の制御部110は、ユーザ端末300からHTTPリクエストを受信すると、予め記憶部120に記憶された検索ページ生成情報を読み出す(S11)。次に、ウェブサーバ100の制御部110は、読み出した検索ページ生成情報をユーザ端末300に送信する(S12)。検索ページ生成情報は、例えば、HTML(HyperText Markup Language)等が記述されたテキストデータや、スタイルシート、画像データ、動画データ、音声データである。
【0023】
ユーザ端末300の制御部310は、ウェブサーバ100から検索ページ生成情報を受信すると、受信した検索ページ生成情報を用いて、表示部330に検索ページを表示させる(S13)。ユーザは、ユーザ端末300の入力部320を用いて、表示部330に表示された検索ページにクエリを入力する。クエリとは、検索ページに入力された一つの検索ワードまたは複数の検索ワードの組み合わせである。
【0024】
ユーザ端末300の制御部310は、ユーザによって入力されたクエリに基づいて、クエリ情報を生成する。クエリ情報には、ユーザによって入力されたクエリの他、ユーザの識別情報および検索日時等が含まれる。制御部310は、生成したクエリ情報をウェブサーバ100に送信する(S14)。
【0025】
ウェブサーバ100の制御部110は、ユーザ端末300からクエリ情報を受信すると、受信したクエリ情報を記憶部120に記憶する(S15)。具体的に、制御部110は、ユーザ端末300から受信したクエリ情報に含まれるユーザの識別情報に基づき、ユーザごとにクエリ情報を分類して記憶部120に記憶する。
【0026】
次に、制御部110は、受信したクエリ情報に含まれるクエリに基づいて検索処理を行う(S16)。制御部110は、検索処理において、クエリによって示される検索ワードが含まれるページの一覧を、検索結果として生成する。その後、制御部110は、生成した検索結果をユーザ端末300に送信する(S17)。
【0027】
ユーザ端末300の制御部310は、ウェブサーバ100から検索結果を受信すると、受信した検索結果を表示部330に表示させる(S18)。このように、ユーザによって入力されたクエリに基づく検索処理が行われる。
【0028】
なお、本実施形態においては、説明の簡略化のためにウェブサーバ100に検索機能を持たせることとしたが、これに限られない。例えば、クエリ分析システム10は、ウェブサーバと検索サーバとを別々に備えてもよい。
【0029】
<3.重複度スコアの算出処理>
次に、重複度スコアの算出処理について説明する。重複度スコアは、あるクエリを検索したユーザと、他のクエリを検索したユーザとの重複の度合いを示す値であり、クエリ分析の指標として用いられる。クエリ分析装置200の重複度スコア算出部240は、クエリ情報に用いて重複度スコアを算出する。
【0030】
図3は、実施形態に係る記憶部120に記憶されたクエリ情報の一例を示す図である。図3に示されるように、記憶部120には、ユーザごとに分類されたクエリ情報Q1からQn(n:ユーザの総数)が格納されている。例えば、クエリ情報Q1はユーザ1のクエリ情報であり、クエリ情報Q2はユーザ2のクエリ情報であり、・・・、クエリ情報Qn
はユーザnのクエリ情報である。クエリ情報Q1からQnのそれぞれにおいて、ユーザによって入力されたクエリおよび検索日時が関連付けられている。
【0031】
図4は、実施形態に係る重複度スコアの算出処理を説明するための図である。図4において、ALLuserは全ユーザ数を示し、AuserはクエリAを入力したユーザ数を示し、BuserはクエリBを入力したユーザ数を示す。ここで、ALLuser、Auser、およびBuserはユーザ数であることとしたが、検索回数であってもよい。ALLuser、Auser、およびBuserのそれぞれの値は、クエリ情報に基づいて算出される。
【0032】
クエリ分析装置200のクエリ情報取得部230は、ウェブサーバ100にクエリ情報要求を送信する。ウェブサーバ100の制御部110は、クエリ情報取得部230からクエリ情報要求を受信すると、記憶部120からクエリ情報Q1からQn(図3)を読み出す。その後、制御部110は、読み出したクエリ情報Q1からQnをクエリ分析装置200に送信する。
【0033】
クエリ情報取得部230は、ウェブサーバ100の制御部110から送信されたクエリ情報Q1からQnを取得する。また、クエリ情報取得部230は、取得したクエリ情報Q1からQnを記憶部290に記憶する。重複度スコア算出部240は、記憶部290からクエリ情報Q1からQnを読み出し、読み出したクエリ情報Q1からQnに基づき、全ユーザ数ALLuserと、クエリAのユーザ数Auserと、クエリBのユーザ数Buserとを算出する。
【0034】
また、重複度スコア算出部240は、以下の式(1)に基づき、クエリAに対するクエリBの重複度スコアScore(A,B)を算出する。すなわち、重複度スコア算出部240は、クエリAおよびクエリBの両方を検索したユーザの数(Auser∩Buser)をクエリAを検索したユーザの数(Auser)で除算した値と、クエリBを検索したユーザの数(Buser)を全ユーザの数(ALLuser)で除算した値とに基づいて、重複度スコアScore(A,B)を算出する。
【0035】
【数1】
【0036】
重複度スコアScore(A,B)は、クエリAを検索したユーザと、クエリBを検索したユーザとの重複の度合いを示す値である。重複度スコアScore(A,B)が大きいほど、クエリAとクエリBの関連性が高いといえる。逆に、重複度スコアScore(A,B)が小さいほど、クエリAとクエリBの関連性が低いといえる。
【0037】
例えば、車種1は軽自動車であり、車種2は軽自動車であり、車種3はスポーツカーであるとする。この場合において、クエリAが「車種1」であり、クエリBが「車種2」である場合、重複度スコアScore(A,B)は大きな値であった。一方、クエリAが「車種1」であり、クエリBが「車種3」である場合、重複度スコアScore(A,B)は小さな値であった。これは、軽自動車同士の関連性は高く、軽自動車とスポーツカーとの関連性は低いためである。このように、重複度スコアScore(A,B)を用いることで、例えば、競合製品の抽出や製品のニーズを分析することができる。
【0038】
<4.検索時間差の算出処理>
次に、検索時間差の算出処理について説明する。検索時間差は、あるクエリが検索された時間と、他のクエリが検索された時間との差を示す値であり、クエリ分析の指標として用いられる。クエリ分析装置200の検索時間差算出部250は、クエリ情報に用いて検索時間差を算出する。
【0039】
図5は、実施形態に係る検索時間差の算出処理を説明するための図である。図5において、横軸は検索が行われた時間を示し、縦軸はクエリを入力したユーザ数を示す。クエリ分布QAはクエリAのユーザ数の分布を示し、クエリ分布QBはクエリBのユーザ数の分布を示す。時間T1はクエリ分布QAの検索時間の中央値を示し、時間T2はクエリ分布QBの検索時間の中央値を示す。
【0040】
検索時間差算出部250は、クエリ情報取得部230によって取得されたクエリ情報Q1からQnに基づき、時間T1および時間T2を導出する。具体的には、検索時間差算出部250は、クエリ情報Q1からQnに基づいてクエリAの検索日時を集計し、集計した検索日時の中央値を時間T1として導出する。また、検索時間差算出部250は、クエリ情報Q1からQnに基づいてクエリBの検索日時を集計し、集計した検索日時の中央値を時間T2として導出する。
【0041】
さらに、検索時間差算出部250は、導出した時間T2から時間T1を減算することによって、クエリ分布QAとクエリ分布QBとの間の検索時間差D(A,B)を算出する。検索時間差D(A,B)がプラスの値の場合、クエリAの検索よりも後にクエリBの検索が行われた頻度が高いといえる。検索時間差D(A,B)がマイナスの値の場合、クエリAの検索よりも前にクエリBの検索が行われた頻度が高いといえる。また、検索時間差D(A,B)が0に近いほど、クエリAの検索が行われた時期と同時期にクエリBの検索が行われた頻度が高いといえる。
【0042】
例えば、クエリAが「咳止め薬」であり、クエリBが「喉の痛み」である場合、検索時間差はマイナスの値であった。これは、喉の痛みは初期症状であるためである。一方、クエリAが「咳止め薬」であり、クエリBが「肺炎」である場合、検索時間差はプラスの値であった。これは、肺炎は症状が進行した状態であるためである。このように、検索時間差を用いることで、例えば、時間経過によるユーザのニーズの変化を把握することができる。
【0043】
<5.クエリ分析ウィンドウ>
図6は、実施形態に係る分析開始前のクエリ分析ウィンドウWの一例を示す図である。クエリ分析装置200の表示情報生成部280は、クエリ分析ウィンドウWの表示情報を生成する。表示部220は、表示情報生成部280によって生成された表示情報に従って、クエリ分析ウィンドウWを表示する。図6に示されるように、クエリ分析ウィンドウWには、クエリ選択領域221と、データソース選択領域222と、閾値入力領域223と、開始ボタン224と、結果表示領域225とが表示されている。
【0044】
クエリ選択領域221は、クエリ分析装置200を使用する分析者が、分析対象のクエリを選択するための領域である。データソース選択領域222は、分析者がクエリ情報のデータソースを選択するための領域である。図6に示される例においては、分析対象のクエリとしてクエリAが選択され、データソースとして2015年1月1日から2015年12月31日のデータソースが選択されている。
【0045】
閾値入力領域223は、重複度スコアの閾値の入力を受け付ける入力部として機能する。開始ボタン224は、分析者が分析開始を指示するためのボタンである。結果表示領域225は、分析結果が表示される領域である。結果表示領域225には、分析結果として、クエリと、ユーザ数と、重複度スコアと、検索時間差とが表示される。
【0046】
検索時間差算出部250は、重複度スコア算出部240によって算出されたクエリAに対する重複度スコアが閾値入力領域223に入力された閾値未満のクエリに対しては、検索時間差を算出しない。図6に示される例においては、閾値として4が入力されている。このため、重複度スコアが4未満のクエリに対しては検索時間差が算出されないこととなり、結果表示領域225から分析結果が省かれることとなる。
【0047】
分析者が、クエリ分析装置200の入力部210を用いて開始ボタン224をクリックすると、クエリ分析処理が開始される。クエリ分析処理において、重複度スコア算出部240は重複度スコアを算出し、検索時間差算出部250は検索時間差を算出する。算出された重複度スコアおよび検索時間差は、結果表示領域225に表示される。
【0048】
図7は、実施形態に係る分析終了後のクエリ分析ウィンドウWの一例を示す図である。クエリ分析処理において、重複度スコア算出部240は、クエリ情報取得部230によって取得されたクエリ情報のうち、データソース選択領域222に示されるデータソースを用いて重複度スコアを算出する。具体的には、重複度スコア算出部240は、前述の式(1)に基づいて、クエリ選択領域221に示されるクエリに対する、他のクエリの重複度スコアを算出する。
【0049】
ただし、重複度スコア算出部240は、算出した重複度スコアが閾値入力領域223に入力された閾値未満である場合、重複度スコアが閾値未満であるクエリについての分析結果を結果表示領域225から除外する。これによって、分析対象のクエリと関連性の低いクエリの分析結果を除外することができ、クエリ分析の精度を向上させることができる。
【0050】
クエリ分析処理において、検索時間差算出部250は、クエリ情報取得部230によって取得されたクエリ情報のうち、データソース選択領域222に示されるデータソースを用いて、検索時間差を算出する。具体的には、検索時間差算出部250は、クエリ選択領域221に示されるクエリと他のクエリとの間の検索時間差を算出する。
【0051】
図7に示されるように、結果表示領域225には、重複度スコア算出部240によって算出された重複度スコアと、検索時間差算出部250によって算出された検索時間差とが、クエリごとに関連付けられて表示される。これによって、分析者は、各クエリについての重複度スコアと検索時間差とを容易に把握することができる。
【0052】
なお、図7において、表示部220は、ユーザ数、重複度スコア、または検索時間差について、昇順または降順に並び替えるためのボタンをクエリ分析ウィンドウW内に表示してもよい。これらの値を並び替えることで、分析者は、分析結果をより容易に把握することができる。
【0053】
<6.ヒートマップ生成処理>
クエリ分析処理が完了すると、クエリ分析ウィンドウW内にヒートマップ表示ボタン226が表示される。分析者が、クエリ分析装置200の入力部210を用いてヒートマップ表示ボタン226をクリックすると、ヒートマップ生成部270はヒートマップ生成処理を開始する。ヒートマップ生成処理において、クエリ分析装置200のクラスタリング部260は、複数のクエリをグループ化してクラスタを生成する。
【0054】
図8は、実施形態に係るクラスタリング処理を説明するための図である。クラスタリング部260は、クエリ情報取得部230によって取得されたクエリ情報に基づき、類似する複数のクエリをグループ化してクラスタを生成する。図8に示される例において、クラスタリング部260は、クエリAからクエリCをグループ化してクラスタAを生成し、クエリDからクエリGをグループ化してクラスタBを生成し、クエリHからクエリKをグループ化してクラスタCを生成している。
【0055】
例えば、クラスタリング部260は、同一の検索ワードを所定数以上含むクエリをグループ化してクラスタを生成してもよいし、シソーラス辞書を用いて検索ワードが類似するか否かを判定し、類似する検索ワードを所定数以上含むクエリをグループ化してクラスタを生成してもよい。
【0056】
クラスタリング部260は、生成したクラスタをヒートマップ生成部270に出力する。ヒートマップ生成部270は、クエリ情報取得部230によって取得されたクエリ情報と、クラスタリング部260から入力されたクラスタとに基づいて、ヒートマップMを生成する。
【0057】
図9は、実施形態に係るヒートマップMの一例を示す図である。ヒートマップMの横軸は検索時間差を示し、縦軸はクラスタを示す。図9に示される例において、横軸の検索時間差の単位を日(day)として示しているが、これに限られない。例えば、より細かく分析する必要があれば、横軸の検索時間差の単位を時間(hour)として示してもよい。また、より長期間の分析結果が必要とされる場合は、横軸の検索時間差の単位を月(month)として示してもよい。
【0058】
各セル内に記載された数値は、横一列の合計を1とした場合のユーザ数(検索数)の割合を示す。すなわち、ヒートマップMは、検索時間差算出部250によって算出された検索時間差と、検索時間差に対応する検索数とが、クラスタリング部260によってグループ化されたクラスタごとに関連づけられた一覧情報である。このように、ヒートマップ生成部270は、横軸において検索時間差の分布を表現し、縦軸において検索時間差ごとにユーザ数(検索数)を正規化した値を表現したヒートマップMを生成する。
【0059】
ヒートマップ内の各セルは、ユーザ数(検索数)に応じた色でハッチングされる。図9に示される例においては、縦一列の値の合計に対する割合が高いセルほど、濃い色でハッチングされているが、これに限られない。例えば、縦一列の値の合計に対する割合が高いセルほど、薄い色でハッチングされてもよい。
【0060】
クエリ分析装置200の表示部220は、クエリ分析ウィンドウW内にヒートマップMを表示してもよいし、クエリ分析ウィンドウWとは別のウィンドウにヒートマップMを表示してもよい。このように、表示部220がヒートマップMを表示することによって、分析者は、各クラスタについての検索時間差と検索数とを容易に把握することができる。
【0061】
<7.クエリ分析処理>
図10は、実施形態に係るクエリ分析処理を示すフローチャートである。本フローチャートによる処理は、クエリ分析装置200によって実行される。
【0062】
まず、表示部220は、前述の図6に示されるクエリ分析ウィンドウWを表示する(S20)。次に、クエリ分析装置200は、開始ボタン224がクリックされたか否かを判定する(S21)。開始ボタン224がクリックされたと判定された場合、重複度スコア算出部240は、クエリ情報取得部230によって取得されたクエリ情報に基づいて、クエリごとの重複度スコアを算出する(S22)。次に、検索時間差算出部250は、クエリ情報取得部230によって取得されたクエリ情報に基づいて、クエリごとの検索時間差を算出する(S23)。
【0063】
その後、前述の図7に示されるように、表示情報生成部280は、重複度スコア算出部240によって算出された重複度スコアと、検索時間差算出部250によって算出された検索時間差とを、クエリごとに関連付けて表示するための表示情報を生成する。表示部220は、表示情報生成部280によって生成された表示情報を表示する(S24)。また、表示部220は、クエリ分析ウィンドウWにヒートマップ表示ボタン226を表示する。
【0064】
次に、クエリ分析装置200は、ヒートマップ表示ボタン226がクリックされたか否かを判定する(S25)。ヒートマップ表示ボタン226がクリックされたと判定された場合、ヒートマップ生成部270は、前述の図9に示されるヒートマップMを生成する(S26)。その後、表示部220は、ヒートマップ生成部270によって生成されたヒートマップMを表示し(S27)、本フローチャートによる処理を終了する。
【0065】
以上説明したように、重複度スコア算出部240は、クエリ情報に基づいて、クエリAを検索したユーザと、クエリBを検索したユーザとの重複の度合いを示す重複度スコアScore(A,B)を算出する。検索時間差算出部250は、クエリ情報に基づいて、クエリAが検索された時間と、クエリBが検索された時間との差である検索時間差D(A,B)を算出する。表示情報生成部280は、重複度スコア算出部240によって算出された重複度スコアScore(A,B)と、検索時間差算出部250によって算出された検索時間差D(A,B)とを、クエリAおよびクエリBに関連付けて表示するための情報を生成する。これによって、検索するユーザのニーズや、時間経過によるユーザのニーズの変化を、クエリを用いて分析することができる。
【0066】
なお、上記実施形態によるクエリ分析装置200は、内部にコンピュータシステムを有している。そして、上述したクエリ分析装置200の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【0067】
また、クエリ分析装置200は、表示部220および表示情報生成部280の両方を備えることとしたが、これに限られない。例えば、クエリ分析装置200をクラウドサービスとして提供する場合、表示部220を省略することができる。この場合、表示情報生成部280は、分析結果を表示するための表示情報を生成し、生成した表示情報を外部からの要求に応じて送信してもよい。
【0068】
また、検索時間差算出部250は、検索時間の中央値を導出し、導出した中央値を用いて検索時間差を算出することとしたが、これに限られない。例えば、検索時間差算出部250は、検索時間の平均値を算出し、算出した平均値を用いて検索時間差を算出してもよい。
【0069】
また、ヒートマップ生成部270は、クラスタリング部260によってグループ化されたクラスタごとに、検索時間差と検索数とが関連づけられたヒートマップを生成するとしたが、これに限られない。例えば、ヒートマップ生成部270は、クエリごとに、検索時間差と検索数とが関連づけられたヒートマップを生成してもよい。これによって、分析者は、クエリごとのヒートマップMを確認することができる。
【0070】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0071】
10…クエリ分析システム
100…ウェブサーバ
110…制御部
120…記憶部
200…クエリ分析装置
210…入力部
220…表示部
230…クエリ情報取得部
240…重複度スコア算出部
250…検索時間差算出部
260…クラスタリング部
270…ヒートマップ生成部
280…表示情報生成部
290…記憶部
300…ユーザ端末
310…制御部
320…入力部
330…表示部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10