(57)【特許請求の範囲】
【請求項１】
利用者が検索を行った位置に基づいて該利用者に適切な検索クエリを推薦するためのクエリ推薦装置であって、
利用者から複数のキーワードが含まれるクエリを取得し、該キーワードに位置語が含まれていれば、該位置語に緯度・経度を付与したキーワードを抽出する位置情報抽出手段と、
前記クエリを取得した時点の前記利用者の位置情報を取得し、該位置情報の緯度・経度と前記位置情報抽出手段から取得した位置語の緯度・経度を比較して該位置語と該利用者の位置が同一か否かにより現地検索か否かを判定し、前記クエリ、前記位置語、および判定結果の組を１つのレコードとしてクエリ記憶手段に格納するクエリ・位置関連性判定手段と、
前記クエリ記憶手段に格納されている情報に基づいて、位置語ａを持つレコードのクエリに含まれる各キーワードｗについて、該位置語ａを満たすレコード数１と、該位置語ａと該キーワードｗを満たすレコード数２と、該位置語ａと該キーワードｗと前記判定結果が現地検索を満たすレコード数３とによって、スコアを計算し、該位置語ａ、該キーワードｗ、および該スコアとを組みにしてスコア記憶手段に格納するスコア算出手段と、
新たに入力されたクエリのキーワードｘに基づいて前記スコア記憶手段を参照し、該キーワードｘを位置語ａとみなして、最もスコアの高いキーワードｗを選択する推薦キーワード決定手段と、
を有することを特徴とするクエリ推薦装置。
【請求項２】
前記クエリ・位置関連性判定手段は、
前記クエリを取得した時点の前記利用者の位置情報の緯度・経度と前記位置語の緯度・経度の距離を求め、該距離が所定の閾値以下である場合は、現地検索と判定する手段を含む請求項１記載のクエリ推薦装置。
【請求項３】
前記スコア算出手段は、
前記レコード数２が大きいほどに前記スコアが高く、前記レコード数３が大きいほどに前記スコアを高く算出する手段を含む請求項１記載のクエリ推薦装置。
【請求項４】
利用者が検索を行った位置に基づいて該利用者に適切な検索クエリを推薦するためのクエリ推薦方法であって、
位置情報抽出手段が、利用者から複数のキーワードが含まれるクエリを取得し、該キーワードに位置語が含まれていれば、該位置語に緯度・経度を付与したキーワードを抽出する位置情報抽出ステップと、
クエリ・位置関連性判定手段が、前記クエリを取得した時点の前記利用者の位置情報を取得し、該位置情報の緯度・経度と前記位置情報抽出ステップで付与された位置語の緯度・経度を比較して該位置語と該利用者の位置が同一か否かにより現地検索か否かを判定し、前記クエリ、前記位置語、および判定結果の組を１つのレコードとしてクエリ記憶手段に格納するクエリ・位置関連性判定ステップと、
スコア算出手段が、前記クエリ記憶手段に格納されている情報に基づいて、位置語ａを持つレコードのクエリに含まれる各キーワードｗについて、該位置語ａを満たすレコード数１と、該位置語ａと該キーワードｗを満たすレコード数２と、該位置語ａと該キーワードｗと前記判定結果が現地検索を満たすレコード数３とによって、スコアを計算し、該位置語ａ、該キーワードｗ、および該スコアとを組みにしてスコア記憶手段に格納するスコア算出ステップと、
推薦キーワード決定手段が、新たに入力されたクエリのキーワードｘに基づいて前記スコア記憶手段を参照し、該キーワードｘを位置語ａとみなして、最もスコアの高いキーワードｗを選択する推薦キーワード決定ステップと、
を行うことを特徴とするクエリ推薦方法。
【請求項５】
前記クエリ・位置関連性判定ステップにおいて、
前記クエリを取得した時点の前記利用者の位置情報の緯度・経度と前記位置語の緯度・経度の距離を求め、該距離が所定の閾値以下である場合は、現地検索と判定する
請求項４記載のクエリ推薦方法。
【請求項６】
前記スコア算出ステップにおいて、
前記レコード数２が大きいほどに前記スコアが高く、前記レコード数３が大きいほどに前記スコアを高く算出する
請求項４記載のクエリ推薦方法。
【請求項７】
コンピュータを、
請求項１乃至３のいずれか１項に記載のクエリ推薦装置の手段として機能させるためのクエリ推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クエリ推薦装置及び方法及びプログラムに係り、特に、World Wide Web上のドキュメントを検索する情報検索システムの利便性を高めるためのクエリ推薦装置及び方法及びプログラムに関する。
【０００２】
具体的には、検索システムの利用者が検索を行った位置をもとに、利用者に対して適切な検索クエリを推薦することで、利用者がより有用な情報を含むドキュメントを発見することを助けるためのクエリ推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００３】
既存の技術として、情報検索システムの利用者が過去に入力したクエリ(クエリログ)をもとに、あるクエリに関連するキーワードを抽出してクエリ推薦を行う仕組みが存在する（例えば、非特許文献1参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ricardo Baeza-Yates, Carlos Hurtado, and Marcelo Mendoza, "Query Recommendation using Query Logs in Search Engines", Lecture Notes in Computer Science, 2005, Volume 3268/2005, 395-397, DOI: 10.1007/978-3-540-30192-9_58
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、既存手法では、推薦に利用されるキーワードは入力されたクエリと関連性が高いかどうかによって選択され、検索システムの利用者にとって有用な情報を含むかどうかは考慮されていなかった。そのため、推薦されたクエリを用いても利用者が必要とする情報に辿りつけない可能性があった。
【０００６】
本発明は、上記の点に鑑みなされたもので、ある場所に行く前には必要性に気づかないが、現地に行くと必要となることを知るキーワードを検索するためのコストを削減することが可能なクエリ推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明（請求項１）は、利用者が検索を行った位置に基づいて該利用者に適切な検索クエリを推薦するためのクエリ推薦装置であって、
利用者から複数のキーワードが含まれるクエリを取得し、該キーワードに位置語が含まれていれば、該位置語に緯度・経度を付与したキーワードを抽出する位置情報抽出手段と、
前記クエリを取得した時点の前記利用者の位置情報を取得し、該位置情報の緯度・経度と前記位置情報抽出手段から取得した位置語の緯度・経度を比較して該位置語と該利用者の位置が同一か否かにより現地検索か否かを判定し、前記クエリ、前記位置語、および判定結果の組を１つのレコードとしてクエリ記憶手段に格納するクエリ・位置関連性判定手段と、
前記クエリ記憶手段に格納されている情報に基づいて、位置語ａを持つレコードのクエリに含まれる各キーワードｗについて、該位置語ａを満たすレコード数１と、該位置語ａと該キーワードｗを満たすレコード数２と、該位置語ａと該キーワードｗと前記判定結果が現地検索を満たすレコード数３とによって、スコアを計算し、該位置語ａ、該キーワードｗ、および該スコアとを組みにしてスコア記憶手段に格納するスコア算出手段と、
新たに入力されたクエリのキーワードｘに基づいて前記スコア記憶手段を参照し、該キーワードｘを位置語ａとみなして、最もスコアの高いキーワードｗを選択する推薦キーワード決定手段と、を有する。
【０００８】
また、本発明（請求項２）は、前記クエリ・位置関連性判定手段に、
前記クエリを取得した時点の前記利用者の位置情報の緯度・経度と前記位置語の緯度・経度の距離を求め、該距離が所定の閾値以下である場合は、現地検索と判定する手段を含む。
【０００９】
また、本発明（請求項３）は、前記スコア算出手段に、
前記レコード数２が大きいほどに前記スコアが高く、前記レコード数３が大きいほどに前記スコアを高く算出する手段を含む。
【発明の効果】
【００１０】
本発明は、利用者の位置と当該利用者から入力されたクエリ中に出現する特定の位置を示すキーワードを利用して、当該利用者が現在位置に関する検索を行っているかを判定することにより、検索システムの利用者が、ある場所に行く前には必要性に気づかないが、現地に行くと必要となることをキーワード推薦によって知ることができるため、結果として、必要な情報に辿り着くための手数を削減する効果がある。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態におけるクエリ推薦装置の構成図である。
【図２】本発明の一実施の形態におけるクエリ推薦装置の概要動作のフローチャートである。
【図３】本発明の一実施の形態における入力データの例である。
【図４】本発明の一実施の形態におけるジオコーディング後データの例である。
【図５】本発明の一実施の形態におけるクエリ・位置関係性判定処理のフローチャートである。
【図６】本発明の一実施の形態における関係性判定後データの例である。
【図７】本発明の一実施の形態におけるスコア算出処理のフローチャートである。
【図８】本発明の一実施の形態におけるスコア付与後データの例である。
【発明を実施するための形態】
【００１２】
以下図面と共に、本発明の実施の形態を説明する。
【００１３】
まず、本発明の概要を説明する。
【００１４】
検索システム利用者の位置と、クエリ中に出現する特定の位置を示すキーワード(以下、位置語と呼ぶ)とを利用して、検索を行った利用者が現在位置に関する検索を行っているのかそうでないのかを判定する。近年、位置測位機能を搭載した携帯端末が広く普及しているため、検索を行う位置が取得できるという前提は妥当である。検索が現在位置に関するものかの判定後、ある場所について、その場所に居た利用者に固有の検索キーワードを抽出する。抽出された検索キーワードは、その場所に実際に行った人が必要になる情報を反映している可能性が高いため、有用な情報に辿りつける可能性が高いキーワードとしてクエリ推薦に用いる。
【００１５】
例えば、あるレジャー施設にいる人とそうでない人とのクエリを比較したとする。レジャー施設に居る人のクエリからは、「日差しが強い」といったようにその場所にいる人にしか分からない情報を反映したキーワードを抽出できることを本発明で達成する。
【００１６】
以下に本発明を詳細に説明する。
【００１７】
図１は、本発明の一実施の形態におけるクエリ推薦装置の構成を示す。
【００１８】
同図に示すクエリ推薦装置は、クエリ入力部１，ジオコーディング処理部２，位置入力部３，クエリ・位置関係性判定部４，クエリ記憶部５，スコア算出処理部６，推薦キーワード決定部７，スコア記憶部８，キーワード出力部９からなる。
【００１９】
クエリ入力部１は、情報検索システムの利用者が入力するクエリを受け取る。入力されるクエリは、複数個のキーワードから構成される。クエリ入力部１で受け取ったクエリはジオコーディング処理部２、もしくは推薦キーワード決定部７に渡される。
【００２０】
ジオコーディング処理部２は、受け取ったクエリに含まれるキーワードに対して位置語が含まれるか判定し、含まれていたならばその語に対してジオコーディング処理を行う。ここで、ジオコーディングとは、地名を入力として、その地名が対応する場所の緯度・経度を出力する技術のことをいう。ジオコーディングの例として、Google社が提供している「Google Geocoding API（登録商標）」などがある（Google Geocoding API http://code.google.com/intl/ja/apis/maps/documentation/geocoding/）。位置語への緯度・経度の付与が終了後、処理結果をクエリ・位置関連性判定部４へと渡す。
【００２１】
位置入力部３は、情報検索システムの利用者がシステムにクエリを入力した時点での位置を入力として受け取る。位置は緯度・経度によって指定され、利用者が検索システムを利用した端末に搭載されている位置測位システム等によって取得されるものとする。取得された位置はクエリ・位置関連性判定部４へと渡される。
【００２２】
クエリ・位置関連性判定部４は、ジオコーディング処理部２から位置語に緯度・経度を付与したキーワード群、位置入力部３から利用者の緯度・経度を受け取り、位置語で示される位置と利用者の位置が同一であるかの判定処理を実行する。判定処理の詳細については図５で後述する。実行結果をクエリ記憶部５に渡す。
【００２３】
クエリ記憶部５は、ハードディスク等の記憶媒体であり、クエリ・位置関連性判定部４から受け取ったデータを保持する。保持したデータはスコア算出部６での処理で用いられる。
【００２４】
スコア算出処理部６では、クエリ記憶部５に記録されたデータを受け取り、スコア算出処理を行う。スコア算出処理の詳細については、図７で後述する。処理結果はスコア記憶部８に渡される。
【００２５】
スコア記憶部８は、ハードディスク等の記憶媒体であり、スコア算出処理部６で算出された、キーワード/スコアのペアを記憶する。記憶したデータは推薦キーワード決定部７で利用される。
【００２６】
推薦キーワード決定部７では、クエリ入力部１から受け取った、情報検索システムへのクエリについて、スコア記憶部８に記録されたスコアに基づいて推薦すべきキーワードを決定する。推薦に使うキーワードが定まれば、それをキーワード出力部９に渡す。
【００２７】
キーワード出力部９では、推薦キーワード決定部７から受け取った推薦キーワードを検索システムの利用者に提示する。
【００２８】
次に、処理の流れを説明する。
【００２９】
図２は、本発明の一実施の形態におけるクエリ推薦装置の概要動作のフローチャートである。
【００３０】
ステップ１）  クエリ入力部１、位置入力部３は、それぞれ、情報検索システムの利用者から、検索クエリと位置を取得する。入力されるデータの例を図３に示す。同図に示すように、位置は緯度と経度により表される。
【００３１】
ステップ２）  次に、ジオコーディング処理部３は、受け取ったクエリに含まれるキーワードに、位置語が含まれるかどうかを判定する。もし位置語が含まれなかった場合には、処理を終了する。位置語を含む場合には、ステップ３に進む。
【００３２】
ステップ３）  ジオコーディング処理部３がジオコーディングを行い、クエリに含まれる位置語の座標(緯度・経度)を取得し、その結果をクエリ記憶部５に記憶する。クエリ記憶部５に記憶されるデータの例を図４に示す。同図に示すように、クエリ記憶部５には、クエリ毎に緯度・経度、位置語、位置語緯度・経度が格納される。
【００３３】
ステップ４）  クエリ・位置関連性判定部４は、クエリ・位置関係性判定処理を行う。この処理について図５に示す詳細フローを用いて説明する。
【００３４】
まず、ステップ１１で、クエリの緯度・経度と位置語の緯度・経度の距離を算出する（ステップ１１）。距離の算出は、クエリの緯度をlatq 経度をlonq、位置語の緯度をlatw、 経度をlonwとするなら、例えば,
【００３５】
【数１】
0005647090.tif 000002
として、距離ｄを算出すればよい。次に、ステップ１２でｄが予め定めた距離のしきい値より小さいかを判定し（ステップ１２）、小さいならばステップ１３に進み、入力された位置と、位置語が対応する位置とが同じであり、つまり検索が現地で行われたと判定する（ステップ１３）。大きいならばステップ１４に進み、検索が現地で行われていないと判定する。処理結果は図６のような形式で、クエリ記憶部５に保持される。
【００３６】
ステップ５）  スコア算出部６は、クエリ記憶部５に記録されている各位置語に対する推薦キーワードのスコア算出処理を行う。スコア算出処理について、図７のフローチャートを用いて説明する。
【００３７】
スコア算出部６は、位置語をひとつ定め（ステップ２１）、その位置語を含むレコードをクエリ記憶部５からすべて取り出す。ある位置語ａについて、ａと同じクエリ中に出現したことがあるキーワードの集合をＷａとする(ステップ２２)。あるキーワードのスコアをscore(a,w)とし、
【００３８】
【数２】
0005647090.tif 000003
として計算する（ステップ２３）。ここで、ｃa,wはクエリ記憶部５に記憶されているレコードのうち、ａを位置語、ｗをクエリ中に含むものの総数であり、ｇa,wはクエリ記憶部５に記憶されているレコードのうち、ａを位置語、ｗをクエリ中に含み、かつ現地で検索されたと判定されたものの総数である。次に、計算したスコアを図８に示すように、スコア記憶部８に記憶し、処理を終了する（ステップ２４）。
【００３９】
ステップ６）  推薦キーワード決定部７は、新たにクエリ入力部１からクエリとしてキーワードｘを受け取り、スコア記憶部８に記憶されているスコアscore(x,w)が最大となるキーワードwを選択し、それをキーワード出力部９から出力して、処理を終了する。
【００４０】
上記の処理において、例えば、位置語として「横浜」とキーワード「クルーズ」を含む検索クエリと検索者の現在位置が入力されると、位置語「横浜」にとって同時に入力されたキーワードほど値が高く（式(2)の第1項）、検索者の現在位置近く入力されるキーワードほど値が高く（式（2）の第2項）なる位置語にとってスコアの高いキーワードが推薦される。結果的には、図８に示す位置語「横浜」でスコアが最大となるキーワード「クルーズ」が出力される。
【００４１】
なお、本発明の図1に示すクエリ推薦装置の各構成要素の動作をプログラムとして構築し、クエリ推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００４２】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００４３】
１  クエリ入力部
２  ジオコーディング処理部
３  位置入力部
４  クエリ・位置関連性判定部
５  クエリ記憶部
６  スコア算出処理部
７  推薦キーワード決定部
８  スコア記憶部
９  キーワード出力部
【図１】
0005647090.tif 000004
【図２】
0005647090.tif 000005
【図３】
0005647090.tif 000006
【図４】
0005647090.tif 000007
【図５】
0005647090.tif 000008
【図６】
0005647090.tif 000009
【図７】
0005647090.tif 000010
【図８】
0005647090.tif 000011