【文献】
宇野 裕之,ランキングとレイティング,経営の科学 オペレーションズ・リサーチ 第57巻 第6号 Communications of the Operations Research Society of Japan,日本,公益社団法人日本オペレーションズ・リサーチ学会 株式会社日科技連出版社,2012年 6月 1日,第57巻,308−314ページ
(58)【調査した分野】(Int.Cl.,DB名)
ウェブページを取得する検索に用いられた、1以上のキーワードを有するクエリである検索クエリを含む2以上の検索ログのうち、関連を有する2個の検索ログが有する検索クエリそれぞれに対応するノードと、一方のノードから、他方のノードまでのリンクとを有する最小単位の有向グラフである最小有向グラフを作成するグラフ作成手段と、
前記グラフ作成手段で作成された最小有向グラフによって構成される有向グラフのノードごとに、特定のカテゴリに属するキーワードを含むクエリであるシードクエリからノードのスコアを伝播して、当該シードクエリとの関連度に関するリンク解析に基づいたスコアを算出するスコア算出手段と、
前記スコア算出手段が算出したスコアが、あらかじめ決められた条件を満たすノードに対応する検索クエリであり、シードクエリが有するキーワードと同じカテゴリに関するキーワードを含む検索クエリであるトリガクエリを取得するトリガクエリ取得手段と、
前記トリガクエリ取得手段が取得したトリガクエリを出力する出力手段とを具備するトリガクエリ取得装置。
【発明を実施するための形態】
【0017】
以下、トリガクエリ取得装置等の実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0018】
(実施の形態1)
本実施の形態において、検索ログを用いて有向グラフを作成し、その有向グラフを用いてトリガクエリを取得するトリガクエリ取得装置1について説明する。
【0019】
図1は、本実施の形態におけるトリガクエリ取得装置1のブロック図である。トリガクエリ取得装置1は、検索ログ格納手段101、グラフ作成手段102、シードクエリ格納手段103、スコア算出手段104、トリガクエリ取得手段105、トリガクエリ格納手段106、出力手段107、クエリ受信手段108、検索結果取得手段109、専用検索結果出力手段110、および送信手段111を備える。また、トリガクエリ取得装置1は、ネットワーク100を介して1または2以上の端末装置2と接続されていても良い。ネットワーク100は、有線、または無線の通信回線であり、例えば、インターネットやイントラネット、LAN(Local Area Network)、公衆電話回線等である。端末装置2は、ネットワーク100に接続可能な端末であれば何でも良い。例えば、端末装置2は、デスクトップパソコン、ノートパソコン、スマートフォン、またはPDA等であっても良い。
【0020】
検索ログ格納手段101には、1または2以上のキーワードを有するクエリである検索クエリを含む検索ログが2以上格納される。検索クエリは、ウェブページを取得する検索に用いられたクエリである。検索クエリに2以上のキーワードが含まれている場合において、キーワードの順番が異なる2個の検索クエリは、同じ検索クエリとして扱われても良く、異なる検索クエリとして扱われても良い。つまり、検索クエリ「キーワードA キーワードB」と「キーワードB キーワードA」とは、同じ検索クエリとして扱われても良く、異なる検索クエリとして扱われても良い。以下、2以上のキーワードを有するクエリ間において、完全に一致しているかどうか、一部が一致しているかどうか、または包含しているかどうか等の判断を行う場合は、同様に、キーワードの順番を考慮しても良く、考慮しなくても良い。検索ログは、検索クエリ以外の情報を含んでいても良く、含んでいなくても良い。検索ログに含まれる検索クエリ以外の情報は、例えば、ウェブページ識別情報であっても良く、順位情報であっても良く、時点情報であっても良く、ユーザ識別情報であっても良く、それらの任意の2以上の情報であっても良い。以下、「検索クエリを有する検索ログに含まれる時点情報」等の検索ログに含まれる情報を指定する場合は、「検索クエリに対応する時点情報」等のように記載することもある。
【0021】
ウェブページ識別情報とは、そのウェブページ識別情報を有する検索ログに含まれる検索クエリに応じた検索結果のうち、ユーザが選択したウェブページを識別する情報である。検索クエリに応じた検索結果とは、検索クエリに含まれるキーワードを用いて行ったウェブ検索の結果であり、そのキーワードを含むウェブページを識別する情報のリストである。ウェブページ識別情報は、URLであっても良く、IPアドレスであっても良く、ウェブページのID等であっても良い。ウェブページのIDは、例えば、図示しない格納手段、または、図示しない外部の装置で格納されている情報によって、ウェブページのURLやIPアドレス等の情報と対応付けられている情報であっても良い。
【0022】
また、順位情報とは、その順位情報を有する検索ログに含まれる検索クエリに応じた検索結果であるウェブページのリストにおける、ユーザが選択したウェブページ識別情報の順位を示す情報である。ウェブページ識別情報の順位は、ウェブページを取得する検索エンジンが検索クエリに応じて取得したリストの順序における順位であっても良く、検索結果を含む情報が表示された際の順序における順位であっても良い。検索結果を含む情報は、例えば、通常の検索結果と専門の検索結果とを含む情報等である。
【0023】
また、時点情報とは、その時点情報を有する検索ログに含まれる検索クエリが検索に用いられた時点に関する情報である。時点情報は、例えば、ウェブページを取得する検索エンジンを有する装置に検索クエリが受け付けられた時点を示す情報であっても良く、その検索エンジンによる検索が開始された時点を示す情報であっても良く、その検索エンジンによる検索が終了した時点を示す情報であっても良く、その検索エンジンを有する装置が検索結果を出力した時点を示す情報であっても良く、その検索結果を受け付けた端末装置を用いるユーザが、検索結果から任意のウェブページ識別情報を選択した時点を示す情報であっても良い。
【0024】
また、ユーザ識別情報とは、そのユーザ識別情報を有する検索ログに含まれる検索クエリを入力したユーザを識別する情報である。ユーザ識別情報は、例えば、IPアドレス、セッションID、またはユーザのログイン情報等であっても良い。なお、セッションIDは、Cookieで管理されている情報であっても良く、他の方法で管理されている情報であっても良い。
【0025】
検索ログ格納手段101に検索ログが蓄積される過程は問わない。例えば、記録媒体を介して検索ログが検索ログ格納手段101で蓄積されるようになっても良く、通信回線等を介して送信された検索ログが検索ログ格納手段101で蓄積されるようになっても良く、あるいは、入力デバイスを介して入力された検索ログが検索ログ格納手段101で蓄積されるようになっても良い。なお、検索ログ格納手段101には、クエリ受信手段108等の受信手段が受信したクエリが検索に用いられた場合に、そのクエリである検索クエリを含む検索ログが蓄積されるようになっても良い。
【0026】
グラフ作成手段102は、最小単位の有向グラフである最小有向グラフを作成する。最小有向グラフとは、2個のノードとそのノード間をつなぐ向きを有するリンクを有するグラフである。グラフ作成手段102が作成する最小有向グラフは、関連を有する2個の検索ログが有する検索クエリそれぞれに対応するノードと、一方のノードから、他方のノードまでのリンクとを有する有向グラフである。例えば、グラフ作成手段102は、2個の検索ログが有する検索クエリそれぞれに対応するノードと、その2個のノードのうち、検索される範囲が広い検索クエリに対応するノードから、他方のノードまでのリンクとを有する最小有向グラフを作成しても良い。検索される範囲は、検索した結果得られる情報の範囲と言い換えても良い。具体的には、最小有向グラフは、(「辞書」→「電子辞書」)や、(「家電製品」→「電子レンジ」)等である。グラフ作成手段102は、2個のノードをと、その2個のノードに対するリンクとを生成することで、最小有効グラフを作成しても良い。グラフ作成手段102は、例えば、(1)最頻検索基準を用いた共クリック条件を満たす最小有向グラフを作成しても良く、(2)文字列拡張基準を用いた共クリック条件を満たす最小有向グラフを作成しても良く、(3)最良検索基準を用いた共クリック条件を満たす最小有向グラフを作成しても良く、(4)共クエリ条件を満たす最小有向グラフを作成しても良く、(5)共ユーザ条件を満たす最小有向グラフを作成しても良い。グラフ作成手段102は、上記(1)から(5)のうちいずれか1以上の条件を用いて最小有向グラフを作成しても良い。以下、上記各条件を満たす最小有向グラフを作成する方法について詳細に説明する。なお、各条件の説明に際して、検索ログ格納手段101には、
図4に示す検索ログが格納されているものとする。なお、
図4のテーブルは、検索ログIDと検索クエリとウェブページ識別情報と順位情報とユーザ識別情報と時点情報とを有している。例えば、検索ログID「100」の検索ログは、検索クエリ「×××本」、ウェブページ識別情報「http://aaa.web」、順位情報「3」、ユーザ識別情報「Session100」、および時点情報「12:00」を有している。なお、条件によっては、一部の情報が検索ログに含まれていなくても良い。
【0027】
(1)最頻検索基準を用いた共クリック条件を満たす最小有向グラフ
最頻検索基準を用いた共クリック条件は、検索クエリとウェブページ識別情報とが、検索ログに含まれている場合、かつ、同一の検索クエリによるそのウェブページ識別情報の選択回数を取得できる場合に用いることができる条件である。なお、選択回数は、検索ログに含まれていても良く、検索ログに含まれていなくても良い。選択回数が検索ログに含まれない場合は、選択回数は、検索ログを用いて算出されても良い。検索ログを用いて選択回数を算出する場合は、グラフ作成手段102は、例えば、検索クエリAとウェブページ識別情報Bとを含む検索ログの個数を取得しても良い。この場合その検索ログログの個数が選択回数となる。最頻検索基準を用いた共クリック条件を用いて最小有向グラフを作成する場合は、グラフ作成手段102は、同一のウェブページ識別情報を含む2個の検索ログであり、少なくとも一方が、2以上の検索ログにおいて、ウェブページ識別情報が最も多く選択されている検索クエリを有する検索ログである2個の検索ログに含まれる検索クエリそれぞれに対応するノードと、2個のノードのうち、一方のノードから、ウェブページ識別情報が最も多く選択されている検索クエリに対応する他方のノードまでのリンクとを有する最小有向グラフを作成しても良い。グラフ作成手段102は、最も頻度が高く特定のウェブページ識別情報を選択された検索クエリに対応するノードへ、そのウェブページ識別情報を選択した他の検索クエリに対応するノードからそれぞれリンクする複数の最小有向グラフを作成しても良い。なお、2以上の検索ログは、同一のウェブページ識別情報を含む2個の検索ログのことであっても良く、検索ログ格納手段101に格納されている検索ログのことであっても良い。グラフ作成手段102は、具体的には、
図2のように、検索ログID「100」と検索ログID「101」および「106」を用いて、最小有向グラフ(「×××本」→「漫画×××」)を作成する。(「×××本」→「漫画×××」)は、検索ログID「100」と検索ログID「101」とにおいて、ウェブページ識別情報「http://aaa.web」が共通し、かつ、検索クエリ「×××本」を有する検索ログが、検索ログID「100」の1個、検索クエリ「漫画×××」を有する検索ログが、検索ログID「101」および「106」の2個であり、後者の選択回数が最も多いため、作成される。
【0028】
(2)文字列拡張基準を用いた共クリック条件を満たす最小有向グラフ
文字列拡張基準を用いた共クリック条件は、検索クエリとウェブページ識別情報とが、検索ログに含まれている場合に用いることができる条件である。文字列拡張基準を用いた共クリック条件を用いて最小有向グラフを作成する場合は、グラフ作成手段102は、同一のウェブページ識別情報を有する2個の検索ログであって、検索クエリが包含関係にある2個の検索ログが有する検索クエリそれぞれに対応するノードと、その2個のノードのうち、一方の検索クエリに包含される検索クエリに対応するノードから、他方のノードまでのリンクとを有する最小有向グラフを作成する。「検索クエリが包含関係にある」とは、ある検索クエリと、その検索クエリに含まれるすべてのキーワードを含み、かつ、その検索クエリに含まれるいずれかのキーワードと完全に一致しないキーワードを有する検索クエリとの関係を示す。その場合は、前者の検索クエリが、前者の検索クエリが包含されることになる。検索クエリの包含関係は、例えば、キーワードと、そのキーワードを拡張したキーワードとの関係であっても良く、キーワードと、そのキーワードおよび別の1以上のキーワードとの関係であっても良い。なお、包含関係の判断において、キーワードの数、キーワードの順番、およびキーワードの区切り方は、問わない。また、ここでいう包含関係は、完全に一致する場合を含まないものとする。検索クエリの包含関係は、具体的には、検索クエリ「×××本」と検索クエリ「●●×××本」とのようにキーワードを拡張した関係であっても良く、検索クエリ「×××本」と検索クエリ「×××本 通販」とのように、キーワードとは別の1以上のキーワードを追加した関係であっても良く、検索クエリ「×××本 通販」と検索クエリ「●●×××本 通販価格」とのような関係であっても良い。なお、ここでは、「空白(スペース)」をキーワードの区切り表現に用いている。グラフ作成手段102は、具体的には、
図2のように、検索ログID「100」と検索ログID「102」を用いて、最小有向グラフ(「×××本」→「●●×××本」)を作成する。(「×××本」→「●●×××本」)は、検索ログID「100」と検索ログID「102」とにおいて、ウェブページ識別情報「http://aaa.web」が共通し、かつ、検索ログID「100」の検索クエリ「×××本」を、検索ログID「102」の検索クエリ「●●×××本」が包含しているため、作成される。
【0029】
(3)最良検索基準を用いた共クリック条件を満たす最小有向グラフ
最良検索基準を用いた共クリック条件は、検索クエリとウェブページ識別情報と順位情報とが、検索ログに含まれている場合に用いることができる条件である。最良検索基準を用いた共クリック条件を用いて最小有向グラフを作成する場合は、グラフ作成手段102は、同一のウェブページ識別情報を含む2個の検索ログであり、少なくとも一方が最も高い順位情報を有する検索ログである2個の検索ログに含まれる検索クエリそれぞれに対応するノードと、2個のノードのうち、一方のノードから、最も高い順位情報を有する検索ログに含まれる検索クエリに対応する他方のノードまでのリンクとを有する最小有向グラフを作成する。グラフ作成手段102は、具体的には、
図2のように、検索ログID「100」と検索ログID「103」を用いて、最小有向グラフ(「×××本」→「△△△本」)を作成する。(「×××本」→「△△△本」)は、検索ログID「100」と検索ログID「103」とにおいて、ウェブページ識別情報「http://aaa.web」が共通し、かつ、検索ログID「103」の順位情報「1」が最も高い順位情報を有しているため、作成される。
【0030】
(4)共クエリ条件を満たす最小有向グラフ
共クエリ条件を用いて最小有向グラフを作成する場合は、グラフ作成手段102は、検索クエリが包含関係にある2個の検索ログが有する検索クエリそれぞれに対応するノードと、その2個のノードのうち、一方の検索クエリに包含される検索クエリに対応するノードから、他方のノードまでのリンクとを有する最小有向グラフを作成する。「検索クエリが包含関係にある」に関する説明は、上記「(2)文字列拡張基準を用いた共クリック条件を満たす最小有向グラフ」で説明した内容と同じものである。グラフ作成手段102は、具体的には、
図2のように、検索ログID「100」と検索ログID「104」を用いて、最小有向グラフ(「×××本」→「×××本 通販」)を作成する。(「×××本」→「×××本 通販」)は、検索ログID「100」と検索ログID「104」とにおいて、検索ログID「100」の検索クエリ「×××本」を、検索ログID「104」の検索クエリ「×××本 通販」が包含しているため、作成される。
【0031】
(5)共ユーザ条件を満たす最小有向グラフ
共ユーザ条件は、検索クエリとユーザ識別情報と時点情報とが、検索ログに含まれている場合に用いることができる条件である。共ユーザ条件を用いて最小有向グラフを作成する場合は、グラフ作成手段102は、時点情報が示す時点が所定の期間以内である2個の検索ログが有する検索クエリそれぞれに対応するノードと、その2個のノードのうち、古い時点を示す時点情報を有する検索ログに含まれる検索クエリに対応するノードから、他方のノードまでのリンクとを有する最小有向グラフを作成する。所定の期間は、数分程度が好適と考えられるが、数時間等であっても良い。所定の期間は、図示しない受付部がユーザから受け付けた指示に応じて図示しない設定手段によって設定されても良い。なお、その設定は、変更であっても良い。グラフ作成手段102は、ある検索ログに含まれる時点情報を起点として、所定の期間以内の時点情報を有する直後の検索ログとの関係のみを用いて最小有向グラフを作成しても良く、所定の期間以内の時点情報を有する複数の検索ログそれぞれとの関係を用いて最小有向グラフを作成しても良い。グラフ作成手段102は、具体的には、所定の期間が10分間等である場合に、
図2のように、検索ログID「100」と検索ログID「105」を用いて、最小有向グラフ(「×××本」→「○○○本」)を作成する。(「×××本」→「○○○本」)は、検索ログID「100」と検索ログID「105」とにおいて、ユーザ識別情報「Session100」が共通し、かつ、検索ログID「100」の時点情報「12:00」から、検索ログID「104」の時点情報「12:03」までが10分以内であるため、作成される。
【0032】
なお、上記各条件は、図示しない格納手段に格納されていても良い。グラフ作成手段102は、上記条件のうち、一部の条件を用いて最小有向グラフを作成しても良く、すべての条件を用いて最小有向グラフを作成しても良い。
【0033】
シードクエリ格納手段103には、特定のカテゴリに属する1または2以上のキーワードを含むクエリであるシードクエリが1以上格納される。シードクエリは、スコア算出手段104において、特定のノードに重みを付けるために用いるクエリである。シードクエリは、トリガクエリの一部となり得るクエリであり、そのトリガクエリを取得するための元になるクエリである。なお、シードクエリは、多くの場合に、人手で作成される情報である。特定のカテゴリは、例えば、「果物」であっても良く、「自動車」であっても良く、「本」等であっても良い。カテゴリが「果物」である場合のシードクエリは、例えば、「スイカ」、「みかん」または、「いちご」等であっても良い。なお、このようなシードクエリを用いて取得できるトリガクエリは、例えば、「メロン」、「ネーブル」、または「ドラゴンフルーツ」等である。シードクエリ格納手段103には、1種類のカテゴリに対応するシードクエリのみが格納されていても良く、2種類以上のカテゴリそれぞれに対応するシードクエリが格納されていても良い。シードクエリ格納手段103に2種類以上のカテゴリそれぞれに対応するシードクエリが格納される場合は、シードクエリ格納手段103には、シードクエリに対応するカテゴリを識別する情報であるカテゴリ識別情報をさらに含んでいることが好適である。なお、カテゴリ識別情報は、カテゴリを示す情報であっても良く、図示しない格納手段、または外部の装置に格納されているカテゴリを示す情報を識別するID等であっても良い。
【0034】
シードクエリ格納手段103にシードクエリが蓄積される過程は問わない。例えば、記録媒体を介してシードクエリがシードクエリ格納手段103で蓄積されるようになっても良く、通信回線等を介して送信されたシードクエリがシードクエリ格納手段103で蓄積されるようになっても良く、あるいは、入力デバイスを介して入力されたシードクエリがシードクエリ格納手段103で蓄積されるようになっても良い。なお、シードクエリ格納手段103は、図示しない受付手段が受け付けたシードクエリが一時的に格納される格納手段であっても良い。この場合のシードクエリ格納手段103に格納されるシードクエリは、ユーザの入力によって更新可能な情報であっても良い。
【0035】
スコア算出手段104は、グラフ作成手段102で作成された最小有向グラフによって構成される有向グラフのノードごとに、シードクエリからノードのスコアを伝播して、シードクエリとの関連度に関するリンク解析に基づいたスコアを算出する。複数の最小有向グラフによって構成される有向グラフとは、それぞれの最小有向グラフのノードに対応する検索クエリのうち、同一の検索クエリに対応するノードを同じノードと見なした有向グラフである。スコア算出手段104が算出するスコアは、結果として、ノードに対応する検索クエリが有するキーワードが、シードクエリが有するキーワードと同じカテゴリに属する場合に大きな値となるスコアであっても良く、小さな値となるスコアであっても良い。つまり、スコアは、シードクエリと意味的に近ければ大きな値となり、意味的に遠ければ小さな値となる情報であっても良く、シードクエリと意味的に近ければ小さな値となり、意味的に遠ければ大きな値となる情報であっても良い。
【0036】
「シードクエリからノードのスコアを伝播して、シードクエリとの関連度に関するリンク解析に基づいたスコアを算出する」とは、Biased−PageRankやPersonalized−PageRank、またはノードに対して重み付けを行ったHITS等のような、特定のノードに重みをつけてリンク解析を行う手法を用いて算出することであっても良く、上記手法を用いて算出した値に対して四則演算を行って算出することであっても良い。シードクエリは、例えば、重みを設定する特定のノードを指定するために用いられる。例えば、スコア算出手段104は、シードクエリと一致する検索クエリに対応するノードに対して重みを設定しても良い。Biased−PageRankについては、特開2011−28509号等を参考にされたい。Biased−PageRank、およびPersonalized−PageRank等は公知技術であるため、詳細な説明は省略する。また、スコア算出手段104は、リンク解析時に、リンクに重みを設定しても良い。スコア算出手段104は、類義語辞書等のキーワード間の類似性を判断できる情報を用いて、類似する検索クエリに対応するノード間ほど、遷移確率を上げるようにリンクに重みを設定しても良く、共通のウェブページ識別情報を選択している回数が多いほど、遷移確率を上げるようにリンクに重みを設定しても良く、機械学習を用いてリンクに重みを設定しても良い。スコア算出手段104が機械学習を用いる場合は、例えば、スコア算出手段104は、2個の検索クエリにおける共通のウェブページ識別情報が選択された回数や、そのうちの一方の検索クエリのそのウェブページ識別情報が選択された回数等、様々な条件におけるウェブページ識別情報が選択された回数やその割合を素性とし、共クリック条件、共クエリ条件、および共ユーザ条件のうち、1以上の条件を組み合わせた条件を満たすクエリの組を遷移確率が高い正解データとした機械学習を行い、その学習結果を適用してリンクの重みを設定しても良い。あるいは、2個の検索クエリにおける共通のウェブページ識別情報が選択された回数、そのうちの一方の検索クエリのそのウェブページ識別情報が選択された回数、様々な条件におけるウェブページ識別情報が選択された回数やその割合、共クリック条件を満たす度合い、共クエリ条件を満たす度合い、および共ユーザ条件を満たす度合い等のうち、1以上の組み合わせを素性として、クエリ間の関連度に関する外部から与えられる教師情報を用いて機械学習を行い、その学習結果を適用してリンクの重みを設定しても良い。
【0037】
なお、スコア算出手段104は、シードクエリ格納手段103に、複数のカテゴリそれぞれに対応するシードクエリが格納されている場合は、有向グラフに含まれるそれぞれのノードに対して、カテゴリ毎のスコアを算出しても良い。
【0038】
トリガクエリ取得手段105は、スコア算出手段104が算出したスコアが、あらかじめ決められた条件を満たすノードに対応する検索クエリであるトリガクエリを取得する。トリガクエリは、シードクエリが有するキーワードと同じカテゴリに関するキーワードを含む情報である。トリガクエリとは、専用検索結果出力手段110で、専用検索を呼び出すためのトリガとなるクエリである。なお、トリガクエリ取得手段105が取得するトリガクエリは、スコア算出手段104で用いたシードクエリに含まれるキーワードと同じカテゴリのキーワードを含むクエリである。あらかじめ決められた条件は、スコアが、シードクエリと意味的に近ければ大きな値となる場合に、スコアの値があらかじめ決められた条件を満たすほど高いことであっても良い。この場合のあらかじめ決められた条件は、あらかじめ決められた閾値より高いことであっても良く、スコアの平均に1より大きな数を掛けた値である閾値より高いことであっても良く、上位からN件のスコアという条件であっても良く、上位からRパーセント以内のスコアという条件であっても良い。なお、Nは、1以上の任意の自然数であるものとし、Rは、0より大きく100より小さい実数であるものとする。また、あらかじめ決められた条件は、スコアが、シードクエリと意味的に近ければ小さな値となる場合に、スコアの値があらかじめ決められた条件を満たすほど低いことであっても良い。この場合のあらかじめ決められた条件は、あらかじめ決められた閾値より低いことであっても良く、スコアの平均に1より小さな数を掛けた値である閾値より低いことであっても良く、下位からM件のスコアという条件であっても良く、下位からLパーセント以内のスコアという条件であっても良い。なお、Mは、1以上の任意の自然数であるものとし、Lは、0より大きく100より小さい実数であるものとする。
【0039】
トリガクエリ格納手段106には、1または2以上のトリガクエリが格納される。なお、トリガクエリ格納手段106は、1種類のカテゴリに対応するトリガクエリのみが格納されていても良く、2種類以上のカテゴリにそれぞれ対応するトリガクエリが格納されていても良い。なお、2種類以上のカテゴリにそれぞれ対応するトリガクエリが格納される場合は、トリガクエリ格納手段106には、カテゴリを識別するカテゴリ識別情報が、トリガクエリと対応付けて格納されていても良い。なお、トリガクエリ格納手段106には、出力手段107を介してトリガクエリが格納される。
【0040】
出力手段107は、トリガクエリ取得手段105が取得したトリガクエリを出力する。本実施の形態では、出力手段107は、トリガクエリ格納手段106にトリガクエリを蓄積するものとする。なお、出力手段107は、トリガクエリの蓄積に代えて、トリガクエリの外部の装置への送信、他の処理装置や他のプログラム等へのトリガクエリの引渡し等を行っても良い。
【0041】
クエリ受信手段108は、端末装置2から、検索に用いる1または2以上のキーワードを含むクエリである新規クエリを受信する。なお、クエリ受信手段108は、受信した新規クエリを、検索クエリとして検索ログ格納手段101に蓄積しても良い。なお、検索ログが時点情報を含む場合は、クエリ受信手段108は、新規クエリを、その新規クエリを受信した時点に関する時点情報と対応付けて蓄積しても良い。クエリ受信手段108は、通常、無線または有線の通信手段で実現される。
【0042】
検索結果取得手段109は、クエリ受信手段108が受信した新規クエリを用いたウェブ検索を行った検索結果を取得する。検索結果は、新規クエリに含まれるキーワードを含むウェブページのリストである。検索結果取得手段109は、図示しない格納手段、または外部の格納装置に格納されているウェブページの情報を用いて検索結果を取得しても良く、外部の検索装置に新規クエリを送信し、その検索装置から検索結果を取得しても良い。検索結果取得手段109が実行するウェブ検索は、一般的に行われているいわゆるウェブ検索であり、その技術は公知であるため、詳細な説明を省略する。
【0043】
新規クエリが、トリガクエリのいずれかと一致した場合に、専用検索結果出力手段110は、トリガクエリ専用の検索結果を取得し、その検索結果を出力する。専用検索結果出力手段110が取得する検索結果は、トリガクエリを取得するのに用いたシードクエリに含まれるキーワードのカテゴリに応じた検索結果である。この検索結果は、カテゴリに応じた検索を行った結果取得されたページを識別する情報や画像等のリストであっても良く、そのウェブページ識別情報や画像等を表示するページを識別する情報であっても良い。「トリガクエリのいずれかと一致した場合」とは、完全に一致した場合が好適であるが、一部が一致した場合であっても良い。一部が一致した場合とは、例えば、新規クエリとトリガクエリのいずれかとが包含関係にある場合であっても良い。
【0044】
専用検索とは、通常のウェブページを取得するウェブ検索と異なる検索である。例えば、専用検索は、地図検索であっても良く、価格検索であっても良く、商品検索であっても良く、その他の検索であっても良い。また、専用検索は、特定のトリガクエリを用いた検索によって取得される1つのウェブページを取得することであっても良い。専用検索に含まれるそれぞれの検索は、公知技術であるため、それぞれの詳細な説明を省略する。専用検索結果出力手段110が行う専用検索の種類は、カテゴリと専用検索の種類とを対応させるカテゴリ処理対応情報を用いて選択されても良い。専用検索結果出力手段110は、図示しない格納手段、または外部の格納装置に格納されている情報を用いて専用の検索結果を取得しても良く、外部の検索装置に新規クエリを送信し、その検索装置から専用の検索結果を取得しても良い。なお、新規クエリが、トリガクエリのいずれとも一致しなかった場合は、専用検索結果出力手段110は、専用の検索結果を取得しなくても良い。
【0045】
送信手段111は、検索結果取得手段109が取得した検索結果に専用検索結果出力手段110が出力した専用の検索結果を含めた、新規クエリに対する結果情報を送信しても良い。なお、専用検索結果出力手段110が専用の検索結果を取得していない場合は、検索結果取得手段109が取得した検索結果のみを送信しても良い。なお、送信手段111は、検索結果を取得するのに用いた新規クエリを送信した端末装置2に対して検索結果を送信しても良い。送信手段111は、通常、無線または有線の通信手段で実現される。
【0046】
検索ログ格納手段101、シードクエリ格納手段103、およびトリガクエリ格納手段106は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0047】
グラフ作成手段102、スコア算出手段104、トリガクエリ取得手段105、出力手段107、クエリ受信手段108、検索結果取得手段109、専用検索結果出力手段110、および送信手段111は、通常、MPUやメモリ等から実現され得る。グラフ作成手段102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0048】
次に、トリガクエリ取得装置1の動作について
図3のフローチャートを用いて説明する。
(ステップS201)グラフ作成手段102は、トリガクエリの取得を開始するかどうかを判断する。トリガクエリの取得を開始する場合は、ステップS202へ進み、トリガクエリを取得しない場合は、ステップS206へ進む。なお、ステップS201において、グラフ作成手段102は、図示しない受付手段を介して、ユーザからトリガクエリを取得する指示を受け付けた場合にトリガクエリの取得を開始すると判断しても良い。また、グラフ作成手段102は、前回のトリガクエリを取得した時点から一定の期間が経過した場合にトリガクエリの取得を開始すると判断しても良い。また、グラフ作成手段102は、トリガクエリ格納手段106にトリガクエリが格納されていない場合にトリガクエリの取得を開始すると判断しても良い。
【0049】
(ステップS202)グラフ作成手段102は、検索ログを用いて最小有向グラフを作成する。なお、グラフ作成手段102は、1または2以上の条件を用いて、検索ログ格納手段101に格納されている検索ログから、可能な限り最小有向グラフを作成しても良い。
【0050】
(ステップS203)スコア算出手段104は、ステップS202で作成した最小有向グラフを有する有向グラフと、シードクエリ格納手段103に格納されているシードクエリを用いて各ノードのスコアを算出する。
【0051】
(ステップS204)トリガクエリ取得手段105は、ステップS203で算出したスコアが高いノードに対応する検索クエリであるトリガクエリを取得する。
【0052】
(ステップS205)出力手段107は、ステップS204で取得したトリガクエリをトリガクエリ格納手段106に蓄積する。そして、ステップS201へ戻る。なお、シードクエリ格納手段103に2以上のカテゴリに対応するシードクエリが格納されている場合は、そのカテゴリごとにステップS203からステップS205を繰り返しても良い。
【0053】
(ステップS206)クエリ受信手段108は、新規クエリを受信したかどうかを判断する。新規クエリを受信した場合は、ステップS207へ進み、新規クエリを受信しなかった場合は、ステップS201へ戻る。
【0054】
(ステップS207)検索結果取得手段109は、ステップS206で受信した新規クエリに対するウェブ検索の検索結果を取得する。
【0055】
(ステップS208)専用検索結果出力手段110は、ステップS206で受信した新規クエリと一致するトリガクエリが、トリガクエリ格納手段106に格納されているかどうかを判断する。新規クエリと一致するトリガクエリが格納されていた場合は、ステップS209へ進み、格納されていなかった場合は、ステップS210へ進む。
【0056】
(ステップS209)専用検索結果出力手段110は、ステップS206で受信した新規クエリに対する専用検索の検索結果を取得する。
【0057】
(ステップS210)送信手段111は、ステップS207で取得した検索結果、または、その検索結果と、ステップS209で取得した検索結果とをマージした検索結果を送信する。そして、ステップS201へ戻る。
なお、
図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0058】
以下、本実施の形態におけるトリガクエリ取得装置1の具体的な動作について説明する。本具体例において、初期状態では、トリガクエリ格納手段106には、トリガクエリが格納されていないものとする。また、本具体例において、カテゴリ識別情報は、カテゴリを示すカテゴリ情報としている。
【0059】
本具体例において、検索ログ格納手段101に格納されている検索ログは、
図4に示されているものとする。
図4のテーブルは、検索ログIDと検索クエリとウェブページ識別情報と順位情報とユーザ識別情報と時点情報とを有している。例えば、検索ログID「100」の検索ログは、検索クエリ「×××本」、ウェブページ識別情報「http://aaa.web」、順位情報「3」、ユーザ識別情報「Session100」、および時点情報「12:00」とを含んでいる。
【0060】
また、本具体例において、シードクエリ格納手段103に格納されているシードクエリは、
図5に示されているものとする。
図5のテーブルは、シードクエリIDとシードクエリとカテゴリとを有している。例えば、シードクエリID「201」は、シードクエリ「×××本」とカテゴリ情報「本」である。
【0061】
また、本具体例において、図示しない格納手段に格納されているカテゴリ処理対応情報は、
図6で示されているものとする。
図6のテーブルは、カテゴリ情報と専門検索の種類とを有している。例えば、カテゴリ処理対応情報は、カテゴリ情報「本」と専門検索の種類「ショッピング検索」とを対応付けている。
【0062】
管理者が電源をONにすることで、トリガクエリ取得装置1が起動したとする。すると、グラフ作成手段102は、トリガクエリ格納手段106にトリガクエリが格納されていないため、最小有向グラフを作成する(ステップS201からステップS202)。最小有向グラフが作成されるとスコア算出手段104は、カテゴリ情報「本」と対応するシードクエリと一致するノードの重みを設定し、各ノードのスコアを算出する(ステップS203)。スコアが算出されると、そのスコアを用いてトリガクエリ取得手段105がトリガクエリを取得する(ステップS204)。トリガクエリが取得されると出力手段107は、トリガクエリ格納手段106に、そのトリガクエリを蓄積する(ステップS205)。すると、
図7のようにトリガクエリ格納手段106にトリガクエリが格納される。なお、カテゴリ情報「自動車」についても、同様にトリガクエリを取得し、蓄積する。
【0063】
トリガクエリの取得が終了した後に、クエリ受信手段108が、キーワード「×××●●本」を含む新規クエリを、端末装置2より受信したとする(ステップS206)。新規クエリが受信されると、検索結果取得手段109は、新規クエリが有するキーワード「×××●●本」を用いてウェブ検索を行った検索結果を取得する(ステップS207)。また、新規クエリが有するキーワード「×××●●本」は、トリガクエリID「3」のトリガクエリが有するキーワードと一致するため、専用検索結果出力手段110は、トリガクエリを取得する際に用いたシードクエリのカテゴリ情報「本」と対応する「ショッピング検索」の検索結果「AAA書店 1400円,BBB書房 1480円,CCC 1480円」を取得する(ステップS208からステップS209)。そして、送信手段111は、検索結果取得手段109による検索結果と、専用検索結果出力手段110による検索結果とを送信する(ステップS210)。すると端末装置2のディスプレイには、
図8のように表示される。
【0064】
以上、本実施の形態によれば、スコア算出手段104がスコアをシードクエリと一致する検索クエリのノードに対して重み付けを行ったスコアをノード毎に算出するため、シードクエリに対応するカテゴリに対応するクエリであるトリガクエリを取得できる。これにより、人手で収集するのが困難なトリガクエリを自動で収集できる。また、グラフ作成手段102が、検索される範囲が広い検索クエリに対応するノードから、検索される範囲が狭い検索クエリに対応するノードまでのリンクを作成することで、参照が繰り返されるほど、対応するクエリが限定される有向グラフが作成できる。これにより、リンク解析に基づいてトリガクエリを取得するためのスコアが算出できる。また、グラフ作成手段102が、最頻検索基準を用いた共クリック条件、文字列拡張基準を用いた共クリック条件、最良検索基準を用いた共クリック条件、共クエリ条件、および共ユーザ条件のいずれか1以上の条件を用いて有向グラフを作成することで、複数の手法を考慮した有向グラフが作成できる。また、専用検索結果出力手段110が、専用の検索結果を取得することで、取得したトリガクエリを有効に用いることができる。
【0065】
また、トリガクエリ取得装置1で取得したトリガクエリは、専用の検索結果を取得する以外にも用いる事ができる。例えば、あらかじめ設定している広告キーワードに応じたクエリが入力された場合に、その広告キーワードに対応した広告が配信される装置の場合に、その広告キーワードとして用いる事ができる。
【0066】
また、本実施の形態において、検索ログ格納手段101を含む場合について説明したが、トリガクエリ取得装置1は、検索ログ格納手段101を含まなくても良い。トリガクエリ取得装置1が検索ログ格納手段101を含まない場合は、グラフ作成手段102は、例えば、図示しない受付手段が受け付けた検索ログを用いて最小有向グラフを作成しても良く、検索ログを格納する外部の装置から取得した検索ログを用いて最小有向グラフを作成しても良い。
【0067】
また、本実施の形態において、シードクエリ格納手段103を含む場合について説明したが、トリガクエリ取得装置1は、シードクエリ格納手段103を含まなくても良い。トリガクエリ取得装置1がシードクエリ格納手段103を含まない場合は、スコア算出手段104は、例えば、図示しない受付手段が受け付けたシードクエリを用いてスコアを算出しても良く、シードクエリを格納する外部の装置から取得したシードクエリを用いて最小有向グラフを作成しても良い。
【0068】
また、本実施の形態において、クエリ受信手段108と検索結果取得手段109と専用検索結果出力手段110と送信手段111とを含む場合について説明したが、トリガクエリ取得装置1は、クエリ受信手段108と検索結果取得手段109と専用検索結果出力手段110と送信手段111とを含まなくても良い。クエリ受信手段108と検索結果取得手段109と専用検索結果出力手段110と送信手段111とを含まない場合は、トリガクエリ取得装置1は、取得したトリガクエリ格納手段106に蓄積する装置であっても良い。
【0069】
また、本実施の形態において、トリガクエリ格納手段106を含む場合について説明したが、トリガクエリ取得装置1は、トリガクエリ格納手段106を含まなくても良い。トリガクエリ格納手段106を含まない場合は、出力手段107は、トリガクエリを外部の格納装置に出力しても良い。なお、その外部の装置は、トリガクエリ格納手段106とクエリ受信手段108と検索結果取得手段109と専用検索結果出力手段110と送信手段111とを具備した装置であっても良い。その場合は、出力手段107が送信したトリガクエリをクエリ受信手段108が受信し、受信したトリガクエリをトリガクエリ格納手段106に蓄積しても良い。
【0070】
また、本実施の形態におけるトリガクエリ取得装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、プログラムは、ウェブページを取得する検索に用いられた、1以上のキーワードを有するクエリである検索クエリを含む検索ログが2以上格納される検索ログ格納手段と、特定のカテゴリに属するキーワードを含むクエリであるシードクエリが1以上格納されるシードクエリ格納手段とにアクセス可能なコンピュータを、ウェブページを取得する検索に用いられた、1以上のキーワードを有するクエリである検索クエリを含む2以上の検索ログのうち、関連を有する2個の検索ログが有する検索クエリそれぞれに対応するノードと、一方のノードから、他方のノードまでのリンクとを有する最小単位の有向グラフである最小有向グラフを作成するグラフ作成手段、グラフ作成手段で作成された最小有向グラフによって構成される有向グラフのノードごとに、特定のカテゴリに属するキーワードを含むクエリであるシードクエリからノードのスコアを伝播して、シードクエリとの関連度に関するリンク解析に基づいたスコアを算出するスコア算出手段、スコア算出手段が算出したスコアが、あらかじめ決められた条件を満たすノードに対応する検索クエリであり、シードクエリが有するキーワードと同じカテゴリに関するキーワードを含む検索クエリであるトリガクエリを取得するトリガクエリ取得手段、トリガクエリ取得手段が取得したトリガクエリを出力する出力手段として機能させるためのプログラムである。
【0071】
なお、本実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されても良く、または、複数の装置によって分散処理されることによって実現されても良い。また、本実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の手段で実現されても良いことは言うまでもない。
【0072】
また、本実施の形態において、各構成要素は、専用のハードウェアにより構成されても良く、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されても良い。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行手段が読み出して実行することによって、各構成要素が実現され得る。
【0073】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得手段や、情報を出力する出力手段等におけるモデムやインターフェースカード等のハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【0074】
図9は、上記プログラムを実行して、上記実施の形態による本発明を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。
【0075】
図9において、コンピュータシステム1100は、CD−ROMドライブ1105、FDドライブ1106を含むコンピュータ1101と、キーボード1102と、マウス1103と、モニタ1104とを備える。
【0076】
図10は、コンピュータシステム1100の内部構成を示す図である。
図10において、コンピュータ1101は、CD−ROMドライブ1105、FDドライブ1106に加えて、MPU1111と、ブートアッププログラム等のプログラムを蓄積するためのROM1112と、MPU1111に接続され、アプリケーションプログラムの命令を一時的に蓄積すると共に、一時記憶空間を提供するRAM1113と、アプリケーションプログラム、システムプログラム、およびデータを蓄積するハードディスク1114と、MPU1111と、ROM1112等を相互に接続するバス1115とを備える。なお、コンピュータ1101は、LANへの接続を提供する図示しないネットワークカードを含んでいても良い。
【0077】
コンピュータシステム1100に、上記実施の形態による本発明等の機能を実行させるプログラムは、CD−ROM1121、またはFD1122に蓄積されて、CD−ROMドライブ1105、またはFDドライブ1106に挿入され、ハードディスク1114に転送されても良い。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ1101に送信され、ハードディスク1114に蓄積されても良い。プログラムは実行の際にRAM1113にロードされる。なお、プログラムは、CD−ROM1121やFD1122、またはネットワークから直接、ロードされても良い。
【0078】
プログラムは、コンピュータ1101に、上記実施の形態による本発明の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいても良い。コンピュータシステム1100がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0079】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。また、本発明における各手段の「手段」は、「部」や「回路」と読み替えても良い。