JP4911536B2 - 地域情報検索装置、地域情報検索装置の制御方法、地域情報検索システム、および地域情報検索システムの制御方法 - Google Patents

地域情報検索装置、地域情報検索装置の制御方法、地域情報検索システム、および地域情報検索システムの制御方法 Download PDF

Info

Publication number
JP4911536B2
JP4911536B2 JP2008252450A JP2008252450A JP4911536B2 JP 4911536 B2 JP4911536 B2 JP 4911536B2 JP 2008252450 A JP2008252450 A JP 2008252450A JP 2008252450 A JP2008252450 A JP 2008252450A JP 4911536 B2 JP4911536 B2 JP 4911536B2
Authority
JP
Japan
Prior art keywords
search
query
shop
frequency
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008252450A
Other languages
English (en)
Other versions
JP2010086150A (ja
Inventor
学 颯々野
義徳 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2008252450A priority Critical patent/JP4911536B2/ja
Publication of JP2010086150A publication Critical patent/JP2010086150A/ja
Application granted granted Critical
Publication of JP4911536B2 publication Critical patent/JP4911536B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、地図上のショップなどの目的地を検索した際に、効果的に検索結果を並び替えてユーザに提示する技術に関する。
従来、例えばケーキを食べたい場合など自身の携帯端末に「ケーキ」と入力すると、GPS(全地球測位システム)位置情報と入力キーワードを利用して近隣のケーキ屋の情報を検索結果として表示する、などの地図情報検索サービスが提供されている。
また特許文献1では、地図をメッシュ状に分割し、そのメッシュに含まれる店舗の評判情報や通過頻度情報に応じてメッシュごとの人気度を示すランク情報を付与する。そして、検索の際にはランク情報を参照し、人気度の高い地域(メッシュ)に含まれるショップを上位にソートした検索結果をユーザに提示する、といった技術が開示されている。
特開2007−156637号公報
しかし、上記従来技術では以下のような理由から精度の高い検索結果を提示できない可能性がある、という課題がある。なぜならば、従来技術では都心部など店舗が密集している場所にはいずれのメッシュも高いランク情報を持つ可能性があり、そのためにメッシュ間でランクに差が生じない可能性があるからである。また、店舗の密集度合いに偏りがある場合には、そこそこの評判のお店が密集する地域の方が、最上の評判のお店が1軒だけあるメッシュよりも優先的にユーザに提示される、といった可能性もある。
また、さらに、新しくできたショップなど評判が不明であったり通過頻度がまだ無いようなショップに関してはメッシュの人気度を左右することがないため、新規ショップの存在を検索結果に反映させることができない、という課題もある。
以上の課題を解決するために、本発明は、第一の機能として、所定関数を用いて全体度数(ユーザが検索結果として提示された複数のショップのうちどのショップを訪れる可能性が高いかなどを示す推定指標値)を算出し、ユーザが訪れる可能性が高いなどと推定される順(あるいは低いと推定される順)に検索結果を並び替える機能を有する。
ここで所定の関数は、例えば「f=ax+by」などの数式で表される。そして「x、y」は要素度数であって、例えばxは検索キーワードとショップ説明文との類似度、yは検索ユーザの検索時の位置とショップとの距離を示すとする。また「a、b」は重み付け値であって、ユーザが検索キーワードとショップ説明文との類似度(x)を重視するようであれば、その係数である重み付け値aを重く設定し、ユーザがショップへの距離(y)を重視するようであれば、その係数である重み付け値bを重く設定する。
このように本発明では、ユーザがどの要素度数を重視するかを加味する所定の関数によって全体度数を推定し、その全体度数に応じて検索結果を並び替えてユーザに提示することができる。
そして本発明は、さらに機械学習によって上記所定の関数に含まれる重み付け値を調整する第二の機能も備え、より正確に全体度数を推定することができるように構成されていることを特徴とする。すなわち、上記のように全体度数を算出した検索クエリ及びその検索結果の組に関して、例えば検索結果のリンク先へのクリック操作や実際のショップ訪問といった行動履歴を収集する。そしてその行動履歴に応じて、例えば検索結果のリンク先をクリックしたら「1点」、実際に訪問したら「10点」という具合に順位スコアを付与する。
ここで「全体度数」は、検索結果中の複数のショップのうちユーザがどのショップに興味を持つ(検索結果のリンク先をクリックしたり実際に訪れたりする)可能性が高いかを示す推定指標値であり、一方、「順位スコア」は、実際にクリックしたり訪問したりしたことを示す実行指標値である。
そこで本発明では、機械学習によって、所定の関数で算出される全体度数が、順位スコアで示される並び順と全部又は一部が一致するよう所定の関数の重み付け値を調整する。このようにして本発明は、所定の関数により決定される推定の並び順を、実際の行動履歴に応じた並び順に近似するよう構成する、という具合である。
そして、上記第一の機能を実現するために本発明は、ショップを検索するためのクエリを受け付けるクエリ受付部と、ショップごとのショップ属性値を保持するショップ属性値保持部と、受け付けたクエリによりショップ属性値保持部を検索する検索部と、受け付けたクエリと、保持されているショップ属性値と、からクエリとそのクエリに対する結果で示されるショップの対に関して両者が問と結果として適切な関係であるかを一の測定側面から指標化した値である要素度数を算出する要素度数算出部と、前記対ごとに要素度数の関数値としての全体度数を求める際の各要素度数の関数中における重み付けを定める重み付け値を保持する重み付け値保持部と、重み付け値を利用した関数に要素度数を代入することで対ごとに全体度数を算出する全体度数算出部と、算出された全体度数を利用して検索部で検索された結果を降順または昇順に並べるランキング部と、を有する検索装置を提供する。
また第二の機能を実現するために、上記検索装置はさらに、検索主体の行動履歴を取得する行動履歴取得部と、蓄積されているクエリとそのクエリに対する結果で示されるショップの対に関して両者が問と結果として適切な関係にあるかを総体的に示す指標である順位スコアを保持する順位スコア保持部と、前記取得された行動履歴に基づいて保持されている順位スコアを更新する順位スコア更新部と、前記順位スコアを行動履歴に基づいて更新するためのルールを保持する順位スコア更新ルール保持部と、前記保持されている順位スコアによる並び順と、前記全体度数算出部にて算出される全体度数による並び順の矛盾度合いを算出する矛盾度合算出部と、矛盾度合算出部での算出結果に応じて、全体度数を算出するために用いられた関数の各重み付け値の矛盾が少なくなるように重み付け値保持部に保持されている重み付け値を更新する重み付け値更新部と、を有することを特徴とする。
また、その他に、上記検索クエリ受付部が、検索主体が移動中の移動方向をクエリに含んでクエリを受け付けるための移動情報付クエリ受付手段を有する検索装置や、これら検索装置の制御方法なども提供する。また、このような検索装置と、検索装置に対して検索クエリを送信する移動端末装置と、からなる検索システムや、その検索システムの制御方法なども提供する。
以上のような構成をとる本発明によって、ユーザがどの要素度数、例えば検索キーワードとの一致度やショップまでの距離など、を重視するかを加味する所定の関数によって全体度数を推定し、その全体度数に応じて検索結果を並び替えてユーザに提示することができる。
そして上記第一の機能にてユーザに提示される検索結果を、本発明は第二の機能によって以下のように実際のユーザ行動に近似するようソートすることができる。すなわち、
推定指標値である全体度数を算出するための所定の関数の重み付け値を検索後の実際のユーザ行動履歴によって求められる順位スコアを参照した機械学習によって調整することで、実際のユーザ行動に近似する全体度数に応じてソートする、という具合である。また、新しいショップが検索結果に存在する場合でも、その新規ショップに関して実際のユーザ行動に近似する全体度数を推定することができるので、適切な形での検索結果の並び替え処理が期待できる。
以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
なお、実施例1は、請求項1と6の上記第一の機能について主に説明する。また、実施例2は、請求項1と6の上記第二の機能について主に説明する。また、実施例3は、主に請求項2、7について説明する。また、実施例4は、主に請求項3、4、5、8、9、10について説明する。
≪実施例1≫
<概要>
図1は、本実施例の検索装置による検索結果のソートの一例を説明するための概念図である。ここで、あるユーザが端末にて本実施例の検索装置の提供する検索サービスにアクセスし、「ケーキ」という検索キーワードを含むクエリを入力する。すると、本実施例の検索装置は、図1(a)に示すように、例えばユーザ端末のGPS機能で取得されるユーザ位置情報とキーワード「ケーキ」とを用いて通常の検索処理を行い、検索ユーザを中心とする所定範囲内に存在する「レストランA」や「ケーキショップB」、・・・などを特定する。
つづいて図1(b)に示すように、今回のクエリの検索結果である「レストランA」(ショップID:S012)に関して、例えば検索キーワードとレストランAに関してデータベースなどに格納されているショップ説明文との一致度を「要素度数1」として算出する。また、ユーザ位置情報とレストランAの位置情報から両者の距離を「要素度数2」として算出する。そして、このように算出された要素度数を所定の関数「f=ax+by」(x:要素度数1、y:要素度数2)に代入し、レストランAの全体度数fを算出する。また、「ケーキショップB」(ショップID:S016)やその他の検索結果に関しても同様に要素度数1、2を算出し、その要素度数を所定関数に代入してケーキショップBの全体度数f、・・・・を算出する。
そして本実施例の検索装置は、その算出した全体度数f、f、・・・の値順に検索結果を並び替えてユーザに提示する、という具合である。
<機能的構成>
図2は、本実施例の検索装置における機能ブロックの一例を表す図である。なお、「検索装置」とは、所定の検索クエリを受付けて検索クエリに合致するショップを特定し、その特定したショップの所在地や紹介文、口コミ評判などの情報を検索クエリ入力者に提示する機能を備える装置をいう。そして本実施例の検索装置は、ネットワーク上のサーバ装置に組み込まれ地図情報検索サーバ装置として実現されても良い。あるいはエンドユーザの端末装置に組み込まれ、地図情報検索端末装置として実現されても良い。
また、本発明における「ショップ」とは販売店舗やサービス提供店舗に限定されず、地図情報の検索サービスにおいて検索対象となる、例えば学校や病院などの各種施設、建造物、公園や景勝地、あるいはランドマークなどに置き換えることも可能である。
そしてこの図にあるように、本実施例の「検索装置」(0200)は、「クエリ受付部」(0201)と、「ショップ属性値保持部」(0202)と、「検索部」(0203)と、「要素度数算出部」(0204)と、「重み付け値保持部」(0205)と、「全体度数算出部」(0206)と、「ランキング部」(0207)と、を有する。
なお、以下に記載する本検索装置、および後述する移動端末装置の機能ブロックは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、CPUや主メモリ、バス、あるいは二次記憶装置(ハードディスクや不揮発性メモリ、CDやDVDなどの記憶メディアとそれらメディアの読取ドライブなど)、情報入力に利用される入力デバイス、印刷機器や表示装置、その他の外部周辺装置などのハードウェア構成部、またその外部周辺装置用のインターフェース、通信用インターフェース、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、ユーザーインターフェース用アプリケーションなどが挙げられる。
そして主メモリ上に展開したプログラムに従ったCPUの演算処理によって、入力デバイスやその他インターフェースなどから入力され、メモリやハードディスク上に保持されているデータなどが加工、蓄積されたり、上記各ハードウェアやソフトウェアを制御するための命令が生成されたりする。また、この発明は検索装置や移動端末装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定した記録媒体も、当然にこの発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。
「クエリ受付部」(0201)は、ショップを検索するためのクエリを受け付ける機能を有し、ネットワーク上のサーバ装置であれば、通信IF(インターフェース)とクエリ受付用Webページ、クエリ受付プログラムなどで実現することができる。また、端末装置であれば入力デバイスとクエリ受付用GUI、クエリ受付プログラムなどで実現できる。
具体的に、クエリには例えば「ケーキ」や「焼肉」、「カラオケ」などの検索キーワードや、GPS機能やユーザ入力などで特定される現在位置情報、あるいは検索したい範囲を特定するための(現在位置とは別の)位置情報が含まれる。また、その他にも検索キーワードに替わる自然文や画像、あるいは価格上限/下限や地図上の検索範囲指定などの検索条件、また検索ユーザを識別するためのユーザIDや検索時刻情報などが含まれていても良い。
「ショップ属性値保持部」(0202)は、ショップごとのショップ属性値を保持する機能を有し、例えばHDD(ハードディスクドライブ)や不揮発性メモリ、光学記録メディアとその読取ドライブなどの各種記憶装置によって実現することができる。
「ショップ属性値」とは、ショップの属性を示す情報をいい、図3に示すように、例えばショップを識別するためのIDや名称、カテゴリーなどの各種タグ情報、ショップの説明文、緯度経度情報や住所情報、電話番号のほか、ユーザレビューなどによる評判を示すポイント、商品やサービスの価格情報、などが挙げられる。
そして、検索に際してはこれら属性値が検索クエリに含まれる検索条件と比較することになる。またさらに、本実施例の検索装置では後述する要素度数を算出する際に、ここで保持されている属性値が利用されることになる。
「検索部」(0203)は、受け付けたクエリによりショップ属性値保持部を検索する機能を有し、CPUや主メモリ、検索プログラムなどによって実現することができる。この検索部は、基本的には従来同様のアルゴリズムを利用して、例えばCPUの論理演算処理によって検索クエリで示される検索条件と一致するショップ属性を含むショップを特定し、そのショップIDを検索結果として取得する処理を行う、という具合である。
また実施例2で後述するように、このクエリと検索結果の組を記憶装置に蓄積しておき、順位スコアとの比較に利用するよう構成しても良い。
「要素度数算出部」(0204)は、受け付けたクエリと、保持されているショップ属性値と、から要素度数を算出する機能を有し、例えばCPUと主メモリ、要素度数算出プログラムなどで実現できる。
なお「要素度数」とは、クエリとそのクエリに対する結果で示されるショップの対に関して、両者が問と結果として適切な関係であるかを一の測定側面から指標化した値をいい、例えば測定側面としては、クエリに含まれる検索キーワードが、検索にヒットしたショップ名やタグ、紹介文中に登場する割合や、検索時の現在位置情報と検索にヒットしたショップの位置情報から算出される距離や、クエリに含まれる価格条件とショップの価格情報の開きの度合いなどが挙げられる。
図4は、このような測定側面から指標化された各要素度数を表す概念図である。この図にあるように、例えば「ID:Q001」のクエリにヒットした「ID:S012」のショップに関して、クエリQ001に含まれる検索キーワードがショップS012に登場する割合は「0.54」、検索時の現在位置情報からショップS012までの距離は「1.3」、クエリQ001に含まれる価格条件とショップS012の価格情報の開きの度合いが「0.98」といった要素度数が算出される。また、同じ「ID:Q001」のクエリにヒットした「ID:S016」の別のショップに関して、第1の要素度数は「0.86」、第2の要素度数は「0.4」、第3の要素度数は「0.52」が算出される、という具合である。
もちろん要素度数は上記例には限定されず、クエリとそのクエリに対する結果で示されるショップの対に関して、両者が問と結果として適切な関係であるかを指標化するあらゆる測定側面からの指標値が含まれる。
そして、このような要素度数を、重み付け値を含む関数に代入することで、ユーザが上記測定側面のいずれを重視するかを重み付け値によって加味した上で全体度数を推定することができる。また、実施例2で後述するように、その重み付け値を実際の行動履歴に基づく順位スコアに合わせて調整することで、その推定精度を高めることもできる。
「重み付け値保持部」(0205)は、前記対ごとに要素度数の関数値としての全体度数を求める際の各要素度数の関数中における重み付けを定める重み付け値を保持する機能を有し、例えばHDD(ハードディスクドライブ)や不揮発性メモリ、光学記録メディアとその読取ドライブなどの各種記憶装置によって実現することができる。
具体的に、重み付け値は「要素度数1の重み付け値がa」、「要素度数2の重み付け値がb」といった具合に要素度数に関連付けて保持されることになる。そして、前述のようにこの重み付け値がユーザが要素度数の測定側面のいずれを重視するかを示す値となる。また、実施例2において実際の行動履歴に全体度数を近似させるための調整対象となる。
「全体度数算出部」(0206)は、重み付け値を利用した関数に要素度数を代入することで対ごとに全体度数を算出する機能を有し、例えばCPUや主メモリ、全体度数算出プログラムなどで実現できる。
具体的に、例えば現状の重み付け値の設定では、ユーザは距離の近さ(要素度数2:y)を最も重視し(重み付け値2)、価格条件との開き(要素度数3:z)はそこそこ重視し(重み付け値1)、検索キーワードとショップ説明文との一致度合い(要素度数1:x)はあまり重視しない(重み付け値0.5)、として、関数f=0.5x+2y+zが与えられている。したがって、図4に示す要素度数を代入して、クエリQ001にヒットしたショップS012の全体度数は「3.85」と算出され、ショップS016の全体度数は「1.75」と算出される、という具合である。
また算出された全体度数は、記憶装置に蓄積されている前述のクエリと検索結果の組と関連付けて蓄積されるよう構成することで、実施例2において実際の行動履歴に基づく順位スコアとの比較に利用すると良い。
「ランキング部」(0207)は、算出された全体度数を利用して検索部で検索された結果を降順または昇順に並べる機能を有し、例えばCPUと主メモリ、ランキングプログラムなどで実現することができる。具体的に、上記演算された全体度数の数値をCPUの比較演算処理によって大小比較し、その大小順に降順または昇順に検索結果を並び替える、という具合である。
このようにして、ユーザがどの要素度数を重視するかを加味して算出された全体度数に応じて検索結果を並び替えてユーザに提示することができる。
<ハードウェア構成>
図5は、上記機能的な各構成要件をハードウェアとして実現した際の、検索装置における構成の一例を表す概略図である。この図を利用して全体度数の算出および検索結果の並び替え処理におけるそれぞれのハードウェア構成部の働きについて説明する。
この図にあるように、検索装置は、検索部、要素度数算出部、全体度数算出部、およびランキング部であり、またその他の各種演算処理を実行する「CPU(中央演算装置)」(0501)と、「主メモリ」(0502)と、を備えている。またショップ属性値保持部や重み付け値保持部である「HDD」(0503)や、クエリ受付部である「通信IF」(0504)なども備えている。そしてそれらが「システムバス」などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
また、「主メモリ」にはプログラムが読み出され、「CPU」は読み出された当該プログラムを参照し、プログラムで示される手順に従い各種演算処理を実行する。また、この「主メモリ」や「HDD」にはそれぞれ複数のアドレスが割り当てられており、「CPU」の演算処理においては、そのアドレスを特定し格納されているデータにアクセスすることで、データを用いた演算処理を行うことが可能になっている。
ここで本実施例の検索装置は、例えばクエリ受付プログラムに従って検索端末に送信した検索用Webページなどを介して入力された検索クエリを「通信IF」にて受信し、「主メモリ」のアドレス1に格納する。すると次に検索プログラムに従って実行する「CPU」の論理演算処理によって、予めクローラなどで収集し「HDD」に格納されているショップ属性値を検索する。そして検索クエリに含まれる検索条件に合致するショップ属性値を有するショップIDを検索結果として取得し、「主メモリ」のアドレス2、・・・に格納する。
つづいて、「CPU」が要素度数算出プログラムを解釈し、それに従って検索結果として取得されたショップIDS001に関して各測定側面ごとの要素度数を四則演算処理により算出する。具体的には例えば、要素度数1としてショップ属性値に含まれるショップ紹介文に対して最長一致法などのアルゴリズムで検索キーワードの出現回数をカウントし、紹介文中の単語数に対する割合を算出する。また、クエリに含まれる検索時の緯度経度情報とショップの緯度経度情報から球面三角法の公式などを利用して2点間の距離を要素度数2として算出する。またクエリに含まれる価格条件とショップの価格情報との差分値をショップ価格に対する割合で示した値を要素度数3として算出し、各要素度数をそれぞれ「主メモリ」のアドレス3、・・・に格納する。
そして、「CPU」が全体度数算出プログラムを解釈し、それに従って「HDD」に保持されている関数とそこで利用される重み付け値を「主メモリ」のアドレス4、・・・に読み出す。そして、各要素度数と重み付け値を関数に代入し実行される「CPU」の四則演算処理によって、ショップID:S001で識別されるショップの全体度数を算出し、「主メモリ」のアドレス5に格納する。
また、その他の検索にヒットしたショップに関しても同様の処理を行い、それぞれのショップの全体度数を算出し、「主メモリ」に格納する。
最後に「CPU」がランキングプログラムを解釈し、それに従って全体度数の大小比較処理を実行し、その大小順に検索結果を並び替えて検索ヒットリストなどを生成する。そして生成した検索ヒットリストなど「通信IF」から検索クエリの送信元の端末に対して返信する、という具合である。
なお上記のハードウェア構成例はネットワーク上の検索サーバ装置に本実施例の検索装置が組み込まれた場合のハードウェア構成例である。本実施例の検索装置がエンドユーザの端末装置に組み込まれている場合には、例えば検索クエリの入力は「通信IF」ではなく図示しない入力デバイスなどを利用しGUIなどを介して入力されると良い。また全体度数に応じて並び替えられた検索ヒットリストは「通信IF」から出力されるのではなく、直接端末自身のディスプレイに出力表示されると良い。
<処理の流れ>
図6は、本実施例の検索装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、上記のような計算機の各ハードウェア構成によって実行されるステップであっても良いし、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。
この図にあるように、まず、検索用Webページなどを介してショップを検索するためのクエリを受け付ける(ステップS0601)と、受け付けたクエリに合致するショップ属性値を含むショップを特定するためショップ属性値保持部を検索する(ステップS0602)。つづいて検索により特定されたショップに関して、受け付けたクエリと、保持されているショップ属性値と、から要素度数を算出する(ステップS0603)。そして予め重み付け値保持部に保持されている重み付け値を利用した関数に、前記算出した要素度数を代入することで、クエリとそのクエリに対する結果で示されるショップの対ごとに全体度数を算出し(ステップS0604)、算出された全体度数を利用して検索ステップにて検索された結果を降順または昇順に並べる(ステップS0605)。また、実施例2で後述するように、この算出された全体度数を前記対と関連付けて保持部に記録するよう構成しても良い。
なお、上記処理の流れはネットワーク上の検索サーバ装置における処理の流れでも良いし、エンドユーザの端末における処理の流れでも良い。なお前者の場合、ステップS0601は、ネットワークを介して端末にて入力された検索クエリを受付けるステップとなり、後者の場合、ステップS0601は入力デバイスなどを介して端末に直接入力された検索クエリを受付けるステップとなる(以下の実施例の処理の流れについても同様である)。
<効果の簡単な説明>
以上のように本実施例の検索装置によって、ユーザがどの要素度数を重視するかを加味して算出された全体度数に応じて検索結果を並び替えてユーザに提示することができる。
≪実施例2≫
<概要>
本実施例は、上記実施例を基本として、さらに機械学習によって検索後のユーザの実際の行動履歴に応じて重み付け値を調整し、全体度数による推測並び替えの精度をより高めることができる検索装置である。
図7は、本実施例の検索装置における重み付け値調整処理の一例を説明するための概念図である。この図7(a)にあるように、例えばクエリID:Q001にヒットしたショップIDS012,S021,S016に関し、上記実施例にて説明したようにそれぞれ全体度数「3.85」、「2.39」、「1.75」が算出され、その大小順で並び替えられた推定ランキングが生成されている。
ここで、本実施例の検索装置は、このクエリQ001の後に、その検索結果を利用して実際にユーザがとった行動の履歴を収集し、その行動に応じて順位スコアを付与する。例えば、検索結果のリストでユーザがS012とS016のショップIDをクリックし、ショップ紹介文などの詳細情報を得ようという行動をとった場合、それぞれ1ポイントの順位スコアが付与される。また、この検索結果を参照し、ユーザがショップS012に訪れたことを、例えばユーザによる能動的な申告操作やキャッシュカードなどを利用した支払い情報を取得するなどして把握すると、ショップS012に対して10ポイントの順位スコアが付与される。
そしてこのような実際の行動によって付与された順位スコアによる実行ランキングと、上記推定ランキングを比較すると、その並び順が相違していることが分かる。つまり、推定ランキングは実際の行動結果と矛盾していることになる。
そこで、本実施例ではクエリに関する上記のような事例をその他にも収集し、その事例を利用した機械学習を行う。そしてその機械学習によって、図7(b)に示すように全体度数を算出するための関数の重み付け値を、全体度数によるランキングと順位スコアによるランキングが矛盾が少なくなるよう調整更新する、という具合である。このようにして本実施例は、以降の全体度数による推定ランキングの並び順を、実際の行動履歴に応じた並び順に近似させていくことができる。
<機能的構成>
図8は、本実施例の検索装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「検索装置」(0800)は、実施例1を基本として、「クエリ受付部」(0801)と、「ショップ属性値保持部」(0802)と、「検索部」(0803)と、「要素度数算出部」(0804)と、「重み付け値保持部」(0805)と、「全体度数算出部」(0806)と、「ランキング部」(0807)と、を有する。なお、これら構成要件ついては、上記実施例にて記載済みであるので説明は省略する。
そして、本実施例の検索装置は、さらに「行動履歴取得部」(0808)と、「順位スコア保持部」(0809)と、「順位スコア更新部」(0810)と、「順位スコア更新ルール保持部」(0811)と、「矛盾度合算出部」(0812)と、「重み付け値更新部」(0813)と、を有する点を特徴とする。
「行動履歴取得部」(0808)は、検索主体の行動履歴を取得する機能を有し、例えばCPUや主メモリ、行動履歴取得プログラムなどで実現することができる。「行動履歴」とは、ユーザ(検索主体)が検索装置によって提示された検索クエリおよびその検索結果に対応して実行した行動の履歴をいい、例えば検索結果中のショップIDのクリック操作や、検索結果中のショップへの実際の訪問または利用予約情報の送信などの行動の履歴が挙げられる。
また、このような行動履歴を取得する具体的な方法としては、例えばユーザが所定のWebページやアプリケーションを利用して自身の行動内容を申告送信することで取得する方法が挙げられる。また、クリック操作や予約操作など端末の操作で示される行動履歴であれば、アプリケーションなどにより自動的にそれらの操作履歴情報が送信されるよう構成することで取得する方法も挙げられる。
また、実際にショップを訪問した旨の行動履歴については以下のようにして取得する方法が挙げられる。例えば、GPSなどを利用しユーザの位置情報を定期的に送信するよう構成し、その位置情報がショップ属性値で示されるショップの位置情報と重なった際にショップを訪問した旨の行動履歴を取得する方法が挙げられる。あるいは、当該ショップでネットワークサービスIDと対応するクレジットカードを利用した場合には、そのIDとクレジットカード支払情報などを関連付けて取得するよう構成することで、ショップへの訪問の行動履歴を取得する方法が挙げられる。
なおここで収集される行動履歴は、比較対象となる全体度数を特定するため検索クエリと関連付けられていることが望ましい。そのため、例えば検索実行後の所定時間内の行動を取得し、クエリIDと関連付けて蓄積するよう構成しても良い。また時間的に区切るのではなく、ユーザIDとショップIDとを利用して、ユーザIDとショップIDとが一致する場合に検索結果に応じた行動であるとして、その行動をクエリIDと関連付けて蓄積するよう構成しても良い。
そして、本実施例の検索装置は、以下の構成によりこの様に取得した行動履歴を利用して、検索結果を参照したユーザの実際の行動に基づく実行ランキングを作成する。そしてこの実行ランキングと、全体度数による推定ランキングとの矛盾が無いよう全体度数算出用の関数に含まれる重み付け値を調整することを特徴とする。
「順位スコア保持部」(0809)は、順位スコアを保持する機能を有し、例えばHDD(ハードディスクドライブ)や不揮発性メモリ、光学記録メディアとその読取ドライブなどの各種記憶装置によって実現することができる。また「順位スコア」とは、蓄積されているクエリとそのクエリに対する結果で示されるショップの対に関して両者が問と結果として適切な関係にあるかを総体的に示す指標をいい、本実施例においては、次の順位スコア更新部にて記載しているように、行動履歴に基づいて前記クエリとその検索結果との適切性を表す指標値である。
「順位スコア更新部」(0810)は、前記取得された行動履歴に基づいて保持されている順位スコアを更新する機能を有し、例えばCPUや主メモリ、順位スコア更新プログラムなどで実現できる。具体的には、例えば検索結果のリンク先をクリックしたら「1点」、実際に訪問したら「10点」という具合に順位スコアを付与するとのルールが定められている。すると図9に示すように、例えば、クリック1回、実際のショップへの訪問1回との行動履歴が取得された場合、その順位スコアf'は「11点」に更新される。また、クリック1回との行動履歴が取得されたクエリとショップの組み合わせについては、その順位スコアf'は「1点」に更新される、という具合である。
「順位スコア更新ルール保持部」(0811)は、前記順位スコアを行動履歴に基づいて更新するためのルールを保持する機能を有し、例えばHDD(ハードディスクドライブ)や不揮発性メモリ、光学記録メディアとその読取ドライブなどの各種記憶装置によって実現することができる。また、ここで保持されるルールは適宜設定されて構わないが、例えば、前述のように例えば検索結果のリンク先をクリックしたら「1点」、実際に訪問したら「10点」という具合に行動の種類に応じて所定の点数を付与するとのルールなどが挙げられる。
「矛盾度合算出部」(0812)は、前記保持されている順位スコアによる並び順と、前記全体度数算出部にて算出される全体度数による並び順の矛盾度合いを算出する機能を有し、例えばCPUや主メモリ、矛盾度合算出プログラムなどによって実現できる。
具体的には、実際の行動によって付与された順位スコアによる実行ランキングの並び順と、全体度数に応じて並べられた推定ランキングの並び順の矛盾度合いを示す指標値をCPUの論理演算処理によって判断する。そして算出された矛盾度合いを示す指標値が所定の閾値以上である場合、全体度数により算出された推定ランキングは実際の行動結果と矛盾していると判断することができる。
この矛盾度合い示す指標値を算出する方法としては、例えば2つの確率分布間の距離を示すクロスエントロピーを利用する以下のような方法が挙げられる。具体的には、クエリQ001の検索結果であるショップS012、S016、S021、・・・ごとに全体度数を定義する。すなわち、前述の全体度数算出部にて算出した値を用いてショップS012の全体度数をf=3.85と定義する。また同様にf=1.75、f=2.39、・・・と定義する。
また順位ランクに関しても、ショップごとに定義する。すなわち、例えば図10を参照し、ショップS012の順位ランクは11なのでその関数f'=11と定義する。また同様にf'=1、f'=0、・・・と定義する。
そして上記各値ごとに確率分布を計算する。具体的には、例えば全体度数fに関する確率分布P、および順位度数f'に関する確率分布P'を下記数1に示す各式によってそれぞれ算出する。
Figure 0004911536
また、全体度数f及び順位スコアf'、全体度数f及び順位スコアf'、・・・についても同様に確率分布PおよびP'2、およびP'、・・・を算出する。
続いて以上のように算出した全体度数空間における確率分布Pと、順位スコア空間における確率分布P'(j=1,2,3、・・)を利用して、両確率空間PとP'の距離を、両者の矛盾度合いを示す指標値として算出する。具体的には、PとP'は離散変数であるので、例えば下記数2に示す式を用いて離散変数間での距離を示すクロスエントロピーHを算出する。
Figure 0004911536
そしてこのように算出したクロスエントロピーHを、全体度数と順位スコアの矛盾度合いを示す指標値とし、予め設定されている閾値との大小判断を行う。そして、その判断結果によって全体度数により算出された推定ランキングは実際の行動結果(順位スコア)と矛盾しているか否か判断する、という具合である。
そして両者の並び順に矛盾がある場合、その矛盾度合いを減少させるために、本実施例の検索装置では以下の重み付け値更新部にて全体度数を算出するための関数に含まれる重み付け値を調整することを特徴とする。
「重み付け値更新部」(0813)は、矛盾度合算出部での算出結果に応じて、全体度数を算出するために用いられた関数の各重み付け値の矛盾が少なくなるように重み付け値保持部に保持されている重み付け値を更新する機能を有し、例えばCPUや主メモリ、重み付け値更新プログラムなどによって実現できる。
ここでの「関数の各重み付け値の矛盾が少なくなるよう重み付け値を更新する」ための処理方法としては、具体的には以下のような方法が挙げられる。すなわち、まず前記算出したショップS012の全体度数の確率分布Pと順位スコアの確率分布P'との差分値を算出する。つづいて算出した差分値を補正値として、当該補正値(差分値)と図4に示すようなショップS012の各要素度数と掛け合わせ、例えば図18に示すようにショップS012の要素度数1(語句一致)の補正済み要素度数α、要素度数2(距離)の補正済み要素度数β、要素度数(価格)の補正済み要素度数γ・・・を算出する。
また、その他のショップS016、S021、・・・についても、同様に当該ショップの両確率分布の差分値を各要素度数ごとに掛け合わせ、ショップS016の補正済み要素度数αやβ2ややγ・・・、ショップS21の補正済み要素度数αやβやγ・・・をそれぞれ算出する。
続いて、例えば要素1「語句一致」に関する各ショップの補正済み要素度数を、α+α+α+・・・という具合に積算し、積算値αを算出する。また、同様に要素2「距離」や要素3「価格の開き」などに関しても、各ショップの補正済み要素度数をそれぞれ積算し、積算値βやγ、・・・を算出する。
そして、このようにして求められた要素ごとの積算値α、β、γ、・・・に関し、所定の定数を乗算した後、その算出値を要素に対応した重み付け値、例えば要素1(語句一致)の積算値αであればその重み付け値a、に加算し各要素度数に対して設定された重み付け値を更新する。
続いて、以上のように更新された重み付け値を使って新たに全体度数を算出し、その全体度数で上記矛盾度合いの算出および重み付け値の更新を繰り返す。そして、例えば矛盾度合いが所定の閾値以下となる、あるいは重み付け値の更新回数が所定の打ち切り回数に達した場合などにその繰返し処理を終了する、という具合である。
以上の演算処理によって全体度数f、f、fの大小関係(並び順)が、順位スコアで示される並び順「f'>f'>f'」と矛盾が少なくなるよう、その全体度数を算出するための関数の重み付け値a、b、c、・・・を更新することができる。
また、その他のクエリに関するデータも学習事例として同様に演算し、重み付け値a、b、cの範囲をさらに限定して特定する。また、上記処理をフィードバック的に続けていくことで、いわゆる機械学習によって重み付け値をさらに調整更新していく、という具合である。
このように本実施例では機械学習によって、全体度数によるランキングと順位スコアによるランキングが矛盾が少なくなるよう、全体度数算出用の重み付け値を調整更新する。そしてこの調整更新を続けていくことで、本実施例の検索装置は以降の全体度数による推定ランキングの並び順を、実際の行動履歴に応じた並び順に近似させていくことができる。
なお上記例は一例であり、例えば関数をクエリとショップの対ごとに定めるのではなく、クエリとは関係なくショップごとに定めるよう構成し、その矛盾度合いに応じた重み付け値の更新を行っても良い。また、矛盾度合いの算出や重み付け値の更新のための演算も、確率分布やクロスエントロピーを利用したものには限定されない。
<ハードウェア構成>
図11は、上記機能的な各構成要件をハードウェアとして実現した際の、検索装置における構成の一例を表す概略図である。この図を利用して重み付け値の調整更新処理におけるそれぞれのハードウェア構成部の働きについて説明する。なお実施例1と重複する処理については説明を省略する。
この図にあるように、検索装置は、行動履歴取得部、順位スコア更新部、矛盾度合算出部、および重み付け値更新部であり、またその他の各種演算処理を実行する「CPU(中央演算装置)」(1101)と、「主メモリ」(1102)と、を備えている。また順位スコア保持部や順位スコア更新ルール保持部である「HDD」(1103)や、検索端末とデータの送受信を行う「通信IF」(1104)なども備えている。そしてそれらが「システムバス」などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。
ここで実施例1で記載した処理を行い、検索クエリとその検索結果であるショップIDとの対に関して要素度数および全体度数を算出し、その全体度数に応じて並び替えた検索結果をユーザに提示する。
そしてユーザが端末を操作し、提示された検索結果内のショップIDをクリックなどすると、その操作内容を示す情報が端末にインストールされたアプリケーションの処理などによって送信される。
検索装置では、その操作情報を「通信IF」にて受信すると、行動履歴取得プログラムに従いクエリIDと関連付けて「主メモリ」のアドレス1に行動履歴として格納する。また、同様に端末から送信されて来たGPS情報を「通信IF」にて受信すると、そのGPS情報で示される緯度経度情報が、ショップの緯度経度情報内に含まれるか否かをCPUの論理演算により判断する。そして含まれている場合、ショップに実際に立ち寄ったとする行動履歴を取得する。
つづいて「CPU」は順位スコア更新プログラムを解釈し、「主メモリ」のアドレス2に順位スコア更新ルールを読み出す。そして順位スコア更新ルールに従い、行動履歴に基づく順位スコアをCPUの演算処理によって算出し、「主メモリ」のアドレス3に格納する。そしてその順位スコアを、行動履歴と関連付けられた検索クエリとその検索結果の対に関連付けて「HDD」に蓄積する。
次に「CPU」は矛盾度合算出プログラムを解釈し、「HDD」に蓄積されている順位スコアによるショップIDの並び順と、全体度数によるショップIDとの並び順とが矛盾していないかを判断する。そのため「CPU」は前述の数1や数2に示す数式を利用した四則演算処理を行い、全体度数空間と順位スコア空間とのクロスエントロピー値Hを算出する。
そして算出したクロスエントロピー値Hが所定の閾値以上であるかの判断処理を行い、全体度数による並び順と順位スコアによる並び順との矛盾が許容範囲内か否かを判断する。そして、クロスエントロピー値Hが所定の閾値以上であるとの判断結果である場合、全体度数による並び順と順位スコアによる並び順における矛盾を少なくするため「CPU」は重み付け値更新プログラムを解釈し、前述のように確率分布差分値を利用し要素度数を補正するなどの演算処理を行い、新たな重み付け値を算出する。そして、更新された重み付け値にて再度全体度数を算出し、その並び順と順位スコアによる並び順との矛盾度合いを算出する。そして、この更新処理を矛盾度合いが所定の閾値以下になるか、あるいは所定の打ち切り回数まで繰り返す、という具合である。
また、その他のクエリについても同様の処理を行い、さらに矛盾が少なくなるよう更新された重み付け値を「HDD」に格納する。そして以降の処理に関して、この調整更新された重み付け値を利用して全体度数を算出し、検索結果の並び替えを実行し、かつそのデータも学習事例として機械学習を続けていく、という具合である。
<処理の流れ>
図12は、本実施例の検索装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、上記のような計算機の各ハードウェア構成によって実行されるステップであっても良いし、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。なお、実施例1と重複する処理の流れについては説明を省略する。
この図にあるように、まず、実施例1で説明した処理の流れによって、算出された全体度数を利用して降順または昇順に並べた検索結果をユーザに提示する(ステップS1201)。つづいて、その検索結果を参照して行われた検索主体のクリックやショップ訪問などの行動履歴を取得する(ステップS1202)と、予め保持されている更新ルールと前記取得された行動履歴に基づいて順位スコアを更新する(ステップS1203)。
次に、更新保持されている順位スコアによる並び順と、全体度数による並び順との矛盾度合いを示す例えばクロスエントロピー値などを算出し(ステップS1204)、その算出された矛盾度合いが所定の閾値以上であるか否か判断する。そしてその判断結果が所定の閾値以上であるとの判断結果である場合には、全体度数を算出するために用いられた関数の各重み付け値を矛盾度合いが少なくなるように、例えば各ショップごとの確率分布差分値を利用した演算などにより更新する(ステップS1205)。そして、この更新処理を矛盾度合いが所定の閾値以下になるまで繰り返し、処理を終了する。なお図示していないが、ステップS1205の処理の後、重み付け値の更新処理回数のカウント値αを「α=α+1」としてカウントする処理ステップを設け、カウント値αが所定の打ち切り回数βに達するまで重み付け値の更新処理を繰り返す構成としても良い。
そして、以降はこの調整更新された重み付け値を利用して全体度数を算出し、検索結果の並び替えを実行、かつそのデータも学習事例として機械学習を続けていく、という具合である。
<効果の簡単な説明>
以上のように本実施例では、機械学習によって全体度数によるランキングと順位スコアによるランキングが矛盾が少なくなるよう、全体度数算出用の重み付け値を調整更新する。そしてこの調整更新を続けていくことで、本実施例の検索装置は以降の全体度数による推定ランキングの並び順を、実際の行動履歴に応じた並び順に近似させていくことができる。
≪実施例3≫
<概要>
本実施例は、上記実施例1を基本として、さらに検索主体の移動方向も加味して検索クエリを受付け、例えば移動方向を要素度数として全体度数を算出するなどして並び替えを行う機能を備える検索装置である。
<機能的構成>
図13は、本実施例の検索装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「検索装置」(1300)は、実施例1を基本として、「クエリ受付部」(1301)と、「ショップ属性値保持部」(1302)と、「検索部」(1303)と、「要素度数算出部」(1304)と、「重み付け値保持部」(1305)と、「全体度数算出部」(1306)と、「ランキング部」(1307)と、を有する。
また、実施例2を基本として、図示しない「行動履歴取得部」と、「順位スコア保持部」と、「順位スコア更新部」と、「順位スコア更新ルール保持部」と、「矛盾判断部」と、「重み付け値更新部」を有していても良い。なお、これら構成要件ついては、上記実施例にて記載済みであるので説明は省略する。
そして本実施例の検索装置は、検索クエリ受付部がさらに「移動情報付クエリ受付手段」(1308)を有する点を特徴とする。
「移動情報付クエリ受付手段」(1308)は、検索主体が移動中の移動方向をクエリに含んでクエリを受け付ける機能を有し、例えば、CPUや主メモリ、移動情報付クエリ受付プログラムなどによって実現できる。またこの移動情報付クエリ受付手段での移動方向の受付方法としては、例えば、ユーザ端末がGPS機能などで取得した位置情報を定期的に送信するよう構成し、その位置情報の遷移から検索主体の移動方向を特定し受付ける方法などが挙げられる。
そして、このように受付けた移動方向を検索クエリに含ませることで、要素度数として検索対象に向かっているか否かという測定側面を指標化した値を利用することができる。具体的には、図14に示すように検索位置からショップへの方向を示すベクトルαと、クエリに含まれる合成移動方向を示すベクトルβとのコサイン角度の値によって当該ショップへ向かっているかを指標化する、という具合である。このようにして、本実施例では移動方向も要素として加えて、検索結果の並び替えをすることができる。
<処理の流れ>
図15は、本実施例の検索装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、上記のような計算機の各ハードウェア構成によって実行されるステップであっても良いし、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。
この図にあるように、まず、検索用Webページなどを介してショップを検索するためのクエリを移動方向を含めて受け付ける(ステップS1501)と、受け付けたクエリに合致するショップ属性値を含むショップを特定するためショップ属性値保持部を検索する(ステップS1502)。つづいて検索により特定されたショップに関して、受け付けたクエリと、保持されているショップ属性値と、から移動方向などを測定側面とする要素度数を算出する(ステップS1503)。そして予め重み付け値保持部に保持されている重み付け値を利用した関数に、前記算出した要素度数を代入することで、クエリとそのクエリに対する結果で示されるショップの対ごとに全体度数を算出し(ステップS1504)、算出された全体度数を利用して検索ステップにて検索された結果を降順または昇順に並べる(ステップS1505)。
<効果の簡単な説明>
以上のように本実施例の検索装置は、移動方向を含むクエリを受付けることで、要素度数として検索対象に向かっているか否かという測定側面を指標化した値を利用することができる。したがって、本実施例では移動方向も要素として加えて検索結果の並び替えをすることができる。
≪実施例4≫
<概要>
前述のように、上記各実施例の検索装置はネットワーク上の検索サーバ装置などに組み込むことができる。そしてそのような構成をとる場合、検索装置に対して検索クエリを送信する移動端末装置が存在することになる。そこで本実施例では、その移動端末装置と、上記実施例の検索装置と、からなる検索システムについて説明する。
<機能的構成>
図16は、本実施例の検索システムにおける機能ブロックの一例を表す図である。この図にあるように、本実施例の検索システムは、「検索装置」(1600)と、「移動端末装置」(1610)と、からなる。なお、検索装置における機能ブロックなどは上記各実施例で記載したものと同様であるので、その図示および説明は省略する。
そして図16にあるように、移動端末装置は、「位置情報取得部」(1611)と、「検索クエリ取得部」(1612)と、「検索クエリ送信部」(1613)と、「行動履歴送信部」(1614)と、を有する。
「位置情報取得部」(1611)は、移動端末装置自身の位置情報を取得する機能を有し、例えば、CPUや主メモリ、位置情報取得プログラムなどによって実現することができる。具体的には、例えば、移動端末装置が携帯電話やPHS(パーソナル・ハンディフォン・システム)などであれば、その通信用の基地局情報などを自身の位置情報として取得する方法が挙げられる。あるいは、検索クエリを入力するためのWebページ(地図情報提供サービスのWebページ)に現在住所情報の入力欄を設け、ユーザーが当該入力欄に住所文字列を入力することで移動端末装置の位置情報を取得する方法も挙げられる。
あるいは位置情報取得部は図示しない「GPS処理手段」を有し、GPS衛星からの信号を利用した演算処理によって自身の緯度経度情報を取得するよう構成しても良い。
「検索クエリ取得部」(1612)は、取得した位置情報を含む検索クエリを取得する機能を有し、例えばCPUや主メモリ、入力デバイス、GUIを含む検索クエリ取得プログラムなどで実現することができる。
この検索クエリ取得部では、前記位置情報以外の検索クエリを以下のようにして取得すると良い。すなわち、例えば地図情報提供サービスのWebページに検索キーワードなどの入力欄やその他の検索条件を指定するためのチェックボックスなどを設ける。そして、ユーザ(検索主体)が入力デバイスなどを操作し当該Webページ画面を介して入力した、例えば「ケーキ」や「焼肉」、「カラオケ」などの検索キーワードや、検索したい範囲を特定するための(現在位置とは別の)位置情報、あるいは検索キーワードに替わる自然文や画像、価格上限/下限、地図上の検索範囲指定などの検索条件を取得する、という具合である。
またサービス提供に当たってログインを要求するなどして、検索ユーザを識別するためのユーザIDを検索クエリに含む情報として取得しても良いし、内蔵時計などから検索時刻情報などを取得しても良い。
あるいは、この検索クエリ取得部は、図示しない「移動情報付クエリ取得手段」をさらに有するよう構成しても良い。「移動情報付クエリ取得手段」は、取得した位置情報を移動方向として検索クエリに含んで検索クエリを取得する機能を有する。この移動情報付クエリ取得手段での具体的な移動情報の取得方法としては、例えば、移動端末装置がGPS機能などで定期的に位置情報を取得し、その位置情報の遷移から自身の移動方向を算出する方法などが挙げられる。
そして、このような移動情報を含み検索クエリを検索装置に送信することで、前述のように検索装置では要素度数として検索対象に向かっているか否かという測定側面を指標化した値を利用することができる。
「検索クエリ送信部」(1613)は、取得した検索クエリを送信する機能を有し、例えばCPUや主メモリ、通信IF、検索クエリ送信プログラムなどで実現することができる。具体的には、HTML文書である地図情報提供サービスのWebページの送信ボタンなどをクリックして生成されたHTTPリクエストとして、前記取得した各種の情報を含む検索クエリを、検索装置が組み込まれた検索サーバ装置に対して送信する、という具合である。
「行動履歴送信部」(1614)は、検索主体の行動履歴を送信する機能を有し、例えばCPUや主メモリ、行動履歴送信プログラムなどで実現することができる。なお、「行動履歴」とは、前述の通り、ユーザ(検索主体)が検索装置によって提示された検索クエリおよびその検索結果に対応して実行した行動の履歴をいう。また行動履歴の具体的な送信方法には、例えばユーザが所定のWebページやアプリケーションを利用して自身の行動内容を申告送信する方法がことで取得する方法が挙げられる。また、クリック操作や予約操作など端末の操作で示される行動履歴であれば、アプリケーションなどにより自動的にそれらの操作履歴情報が送信されるよう構成しても良い。
あるいは、GPS信号などを利用し算出された自身の位置情報と検索結果として取得したショップの位置情報とが重なったかを判断し、両位置が重なっていた際にショップを訪問した旨の行動履歴を送信するよう構成しても良い。
ただし移動端末装置から送信される行動履歴は、例えば上記のような「ショップAで購入行動をした」といった具合のユーザ行動そのものを直接的に示す情報でなくても良い。例えば、移動端末装置は間接的な行動履歴としてユーザIDや端末IDなどを検索装置に送信しても良い。そして検索装置では、そのユーザIDや端末IDをキーとして、例えばショップが設置している顧客情報管理サーバやクレジット会社や電子マネー運営者などが管理している出入金管理サーバなどに問合せを行い、検索主体の実際の購買行動履歴などを取得するよう構成する、という具合である。
そして、以上のような移動端末装置と、上記実施例にて説明した検索装置を組み込んだサーバ装置と、によって、サーバ−クライアントシステムにて学習機能を利用した検索結果並び替え機能を有するショップ情報やその他の地域情報の検索情報サービスを提供することができる。
<処理の流れ>
図17は、本実施例の検索システムにおける処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、上記のような計算機の各ハードウェア構成によって実行されるステップであっても良いし、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。また、この検索システムを構成する検索装置の処理の流れについては、上記実施例にて記載済みであるので適宜省略して説明する。
この図にあるように、まず、移動端末装置にて、例えばGPS信号や基地局情報などを利用して自身の位置情報を取得する(ステップS1401)。そして、その位置情報及び、例えばGUIを介して入力された検索キーワードやその他検索条件を含む検索クエリを取得し(ステップS1402)、その検索クエリを検索装置に対して送信する(ステップS1403)。なお、ステップS1402にて取得される検索クエリに、移動方向を含むよう構成しても良い。
検索装置では、送信された検索クエリを受付ける(ステップS1404)と、上記実施例にて図6を参照し説明したような処理を実行し全体度数を算出する。そして算出した全体度数を利用して、受付けた検索クエリによる検索結果を昇順または降順で並び替える(ステップS1405)。そして、並び替えた検索結果を移動端末装置に対して返信する(ステップS1406)。
移動端末装置では、返信された検索結果を受信し(ステップS1407)、ディスプレイなどにその検索結果を表示する(ステップS1408)。その後、その検索結果に応じて行ったユーザ(検索主体)の行動履歴を、例えば検索結果のクリック操作やGPS位置情報などを利用して取得し、検索装置に送信する(ステップS1409)。
検索装置では、その行動履歴を取得する(ステップS1410)と、上記実施例にて図12を参照し説明したような処理を実行し矛盾度合いを算出する。そして算出した矛盾度合いが閾値以上か判断し、閾値以上であれば重み付け値を矛盾度合いが少なくなるよう更新する(ステップS1411)。
<効果の簡単な説明>
以上のように、本実施例の検索システムによって、サーバ−クライアントシステムにて、学習機能を利用した検索結果並び替え機能を有するショップ情報やその他の地域情報の検索情報サービスを提供することができる。
実施例1の検索装置による検索結果のソートの一例を説明するための概念図 実施例1の検索装置における機能ブロックの一例を表す図 実施例1の検索装置のショップ属性値保持部にて保持されるショップ属性値の一例を表す概念図 実施例1の検索装置の要素度数算出部にて算出される要素度数の一例を説明するための概念図 実施例1の検索装置におけるハードウェア構成の一例を表す図 実施例1の検索装置における処理の流れの一例を表すフローチャート 実施例2の検索装置における重み付け値調整処理の一例を説明するための概念図 実施例2の検索装置における機能ブロックの一例を表す図 実施例2の検索装置の行動履歴取得部にて取得される行動履歴の一例を説明するための概念図 実施例2の検索装置の重み付け値更新部による重み付け値更新処理の一例を説明するための概念図 実施例2の検索装置におけるハードウェア構成の一例を表す図 実施例2の検索装置における処理の流れの一例を表すフローチャート 実施例3の検索装置における機能ブロックの一例を表す図 実施例3の検索装置において、クエリに含まれる検索主体の移動方向を利用した要素度数の算出の一例を説明するための概念図 実施例3の検索装置における処理の流れの一例を表すフローチャート 実施例4の検索システムにおける機能ブロックの一例を表す図 実施例4の検索システムにおける処理の流れの一例を表すフローチャート 実施例2の検索装置における重み付け値更新処理の一例を説明するための図
符号の説明
0200 検索装置
0201 クエリ受付部
0202 ショップ属性値保持部
0203 検索部
0204 要素度数算出部
0205 重み付け値保持部
0206 全体度数算出部
0207 ランキング部
0808 行動履歴取得部
0809 順位スコア保持部
0810 順位スコア更新部
0811 順位スコア更新ルール保持部
0812 矛盾判断部
0813 重み付け値更新部

Claims (10)

  1. ショップを検索するためのクエリを受け付けるクエリ受付部と、
    ショップごとのショップ属性値を保持するショップ属性値保持部と、
    受け付けたクエリによりショップ属性値保持部を検索する検索部と、
    受け付けたクエリと、保持されているショップ属性値と、からクエリとそのクエリに対する結果で示されるショップの対に関して両者が問と結果として適切な関係であるかを一の測定側面から指標化した値である要素度数を算出する要素度数算出部と、
    前記対ごとに要素度数の関数値としての全体度数を求める際の各要素度数の関数中における重み付けを定める重み付け値を保持する重み付け値保持部と、
    重み付け値を利用した関数に要素度数を代入することで対ごとに全体度数を算出する全体度数算出部と、
    算出された全体度数を利用して検索部で検索された結果を降順または昇順に並べるランキング部と、
    検索主体の行動履歴を取得する行動履歴取得部と、
    蓄積されているクエリとそのクエリに対する結果で示されるショップの対に関して両者が問と結果として適切な関係にあるかを総体的に示す指標である順位スコアを保持する順位スコア保持部と、
    前記取得された行動履歴に基づいて保持されている順位スコアを更新する順位スコア更新部と、
    前記順位スコアを行動履歴に基づいて更新するためのルールを保持する順位スコア更新ルール保持部と、
    前記保持されている順位スコアによる並び順と、前記全体度数算出部にて算出される全体度数による並び順の矛盾度合いを算出する矛盾度合算出部と、
    矛盾度合算出部での算出結果に応じて、全体度数を算出するために用いられた関数の各重み付け値の矛盾が少なくなるように重み付け値保持部に保持されている重み付け値を更新する重み付け値更新部と、
    を有する検索装置。
  2. 検索クエリ受付部は、検索主体が移動中の移動方向をクエリに含んでクエリを受け付けるための移動情報付クエリ受付手段を有する請求項1に記載の検索装置。
  3. 自身の位置情報を取得する位置情報取得部と、
    取得した位置情報を含む検索クエリを取得する検索クエリ取得部と、
    取得した検索クエリを送信する検索クエリ送信部と、
    検索主体の行動履歴を送信する行動履歴送信部と、
    を有する移動端末装置と、
    請求項1または2に記載の検索装置と、からなる検索システム。
  4. 請求項3に記載の移動端末装置の検索クエリ取得部は、取得した位置情報を移動方向として検索クエリに含んで検索クエリを取得する移動情報付クエリ取得手段を有する請求項3に記載の検索システム。
  5. 請求項3または4に記載の移動端末装置の位置情報取得部は、GPSからの信号により位置情報を取得するGPS処理手段を有する請求項3または4に記載の検索システム。
  6. ショップごとのショップ属性値を保持するショップ属性値保持部と、クエリとそのクエリに対する結果で示されるショップの対に関して両者が問と結果として適切な関係にあるかを総体的に示す指標である順位スコアを保持する順位スコア保持部を有する検索装置の制御方法であって、
    ショップを検索するためのクエリを受け付けるクエリ受付ステップと、
    受け付けたクエリによりショップ属性値保持部を検索する検索ステップと、
    受け付けたクエリと、保持されているショップ属性値と、からクエリとそのクエリに対する結果で示されるショップの対に関して両者が問と結果として適切な関係であるかを一の測定側面から指標化した値である要素度数を算出する要素度数算出ステップと、
    予め重み付け値保持部に保持されている前記対ごとに要素度数の関数値としての全体度数を求める際の各要素度数の関数中における重み付けを定める重み付け値を利用した関数に要素度数を代入することで対ごとに全体度数を算出する全体度数算出ステップと、
    算出された全体度数を利用して検索ステップにて検索された結果を降順または昇順に並べるランキングステップと、
    検索主体の行動履歴を取得する行動履歴取得ステップと、
    予め保持されている前記順位スコアを行動履歴に基づいて更新するためのルールを用いて、前記取得された行動履歴に基づいて保持されている順位スコアを更新する順位スコア更新ステップと、
    前記更新保持されている順位スコアによる並び順と、前記全体度数算出ステップにて算出される全体度数による並び順の矛盾度合いを算出する矛盾度合算出ステップと、
    矛盾度合算出ステップでの算出結果に応じて、全体度数を算出するために用いられた関数の各重み付け値の矛盾が少なくなるように重み付け値保持部に保持されている重み付け値を更新する重み付け値更新ステップと、
    を計算機に実行させる検索装置の制御方法。
  7. 検索クエリ受付ステップは、検索主体が移動中の移動方向をクエリに含んでクエリを受け付けるための移動情報付クエリ受付ステップを含む請求項4に記載の検索装置の制御方法。
  8. 自身の位置情報を取得する位置情報取得ステップと、
    取得した位置情報を含む検索クエリを取得する検索クエリ取得ステップと、
    取得した検索クエリを送信する検索クエリ送信ステップと、
    検索主体の行動履歴を送信する行動履歴送信ステップと、
    を計算機に実行させる移動端末装置の制御方法と、
    請求項6または7に記載の検索装置の制御方法と、からなる検索システムの制御方法。
  9. 請求項7に記載の移動端末装置の制御方法における検索クエリ取得ステップは、取得した位置情報を移動方向として検索クエリに含んで検索クエリを取得する移動情報付クエリ取得ステップを含む請求項8に記載の検索システムの制御方法。
  10. 請求項8または9に記載の移動端末装置の制御方法における位置情報取得ステップは、GPSからの信号により位置情報を取得するGPS処理ステップを含む請求項8または9に記載の検索システムの制御方法。
JP2008252450A 2008-09-30 2008-09-30 地域情報検索装置、地域情報検索装置の制御方法、地域情報検索システム、および地域情報検索システムの制御方法 Active JP4911536B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008252450A JP4911536B2 (ja) 2008-09-30 2008-09-30 地域情報検索装置、地域情報検索装置の制御方法、地域情報検索システム、および地域情報検索システムの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008252450A JP4911536B2 (ja) 2008-09-30 2008-09-30 地域情報検索装置、地域情報検索装置の制御方法、地域情報検索システム、および地域情報検索システムの制御方法

Publications (2)

Publication Number Publication Date
JP2010086150A JP2010086150A (ja) 2010-04-15
JP4911536B2 true JP4911536B2 (ja) 2012-04-04

Family

ID=42250071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008252450A Active JP4911536B2 (ja) 2008-09-30 2008-09-30 地域情報検索装置、地域情報検索装置の制御方法、地域情報検索システム、および地域情報検索システムの制御方法

Country Status (1)

Country Link
JP (1) JP4911536B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190061A (ja) * 2011-03-08 2012-10-04 Sony Corp 情報処理装置、端末装置、情報提示システム、評価スコアの算出方法、及びプログラム
WO2012127757A1 (ja) * 2011-03-22 2012-09-27 日本電気株式会社 履歴収集装置、推薦装置、履歴収集方法、およびコンピュータ読み取り可能な記録媒体
US9268857B2 (en) 2011-06-03 2016-02-23 Facebook, Inc. Suggesting search results to users before receiving any search query from the users
US9110992B2 (en) 2011-06-03 2015-08-18 Facebook, Inc. Context-based selection of calls-to-action associated with search results
US8909637B2 (en) * 2011-06-03 2014-12-09 Facebook, Inc. Context-based ranking of search results
CN103577413B (zh) * 2012-07-20 2017-11-17 阿里巴巴集团控股有限公司 搜索结果排序方法及系统、搜索结果排序优化方法及系统
JP2014044661A (ja) * 2012-08-28 2014-03-13 Nippon Telegr & Teleph Corp <Ntt> キーワード出力装置、キーワード出力方法及びプログラム
KR101431664B1 (ko) 2013-01-03 2014-08-20 주식회사 다음커뮤니케이션 위치 정보 제공 방법 및 서버 장치
KR102038093B1 (ko) * 2013-01-08 2019-10-29 네이버 주식회사 지점정보 제공방법, 이를 수행하는 검색 서버 및 컴퓨터로 판독 가능한 기록매체
JP6290835B2 (ja) * 2015-08-27 2018-03-07 ファナック株式会社 数値制御装置及び機械学習器
JP6527916B2 (ja) * 2017-07-03 2019-06-12 ヤフー株式会社 情報集計装置、情報集計方法及び情報集計プログラム
US11782996B2 (en) 2017-11-09 2023-10-10 Google Llc On-demand location visit conversion metrics
JP7017177B2 (ja) * 2018-03-30 2022-02-08 富士通株式会社 回答出力プログラム、回答出力方法および情報処理装置
JP7249316B2 (ja) * 2020-08-03 2023-03-30 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP6960185B1 (ja) * 2020-09-25 2021-11-05 DoMus株式会社 情報処理装置、情報処理システム、及び情報処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158651A (ja) * 1991-12-04 1993-06-25 Sony Corp 情報表示装置
JP3607093B2 (ja) * 1998-09-10 2005-01-05 シャープ株式会社 情報管理装置、および、そのプログラムが記録された記録媒体
JP3838014B2 (ja) * 2000-09-27 2006-10-25 日本電気株式会社 嗜好学習装置、嗜好学習システム、嗜好学習方法および記録媒体
JP2002163267A (ja) * 2000-11-28 2002-06-07 Nec Corp 店舗情報表示システム
JP3730878B2 (ja) * 2001-04-06 2006-01-05 Necフィールディング株式会社 情報検索配信システム、情報検索方法、および、プログラム

Also Published As

Publication number Publication date
JP2010086150A (ja) 2010-04-15

Similar Documents

Publication Publication Date Title
JP4911536B2 (ja) 地域情報検索装置、地域情報検索装置の制御方法、地域情報検索システム、および地域情報検索システムの制御方法
US11468019B2 (en) Apparatus, systems, and methods for analyzing characteristics of entities of interest
CN109064278B (zh) 目标对象推荐方法及装置、电子设备、存储介质
US9092815B2 (en) Searching for goods and services based on keywords and proximity
KR101514588B1 (ko) 검색 결과 페이지 상에 문맥 액션들을 제공하기 위한 시스템 및 방법
US20160098778A1 (en) Method, device, and system for analyzing and ranking products
JP5560026B2 (ja) 地図表示装置、地図表示方法及び地図表示プログラム
JP5732441B2 (ja) 情報推薦方法、装置及びプログラム
JP5857134B2 (ja) ジオデータに対するユーザベースの事前対応型の内容訂正および強化
JP4950508B2 (ja) 施設情報管理システム、施設情報管理装置、施設情報管理方法および施設情報管理プログラム
JP5371572B2 (ja) 類似度算出装置、推薦poi決定装置、poi推薦システム、類似度算出方法およびプログラム
CN109033101A (zh) 标签推荐方法及装置
JPWO2008108158A1 (ja) 情報開示制御システム、情報開示制御プログラム、情報開示制御方法
US11809463B2 (en) Method for determining relative ranking data in a broker mediated geospatial information service environment
CN108052631A (zh) 找银行便民查询系统及其工作方法
CN113742492A (zh) 保险方案生成方法、装置、电子设备及存储介质
Levin et al. TARS: traffic-aware route search
US10296956B2 (en) Method, system, and computer-readable medium for product and vendor selection
US7627421B2 (en) Facility-guidance process, facility-guidance apparatus, and computer-readable medium storing facility-guidance program
WO2020006834A1 (zh) 金融机构推荐方法、设备、存储介质及装置
JP2012079268A (ja) 推薦アイテム検索サーバ、および推薦アイテム検索プログラム
CN108255874A (zh) 一种用于提供开放api搜索结果的方法与设备
US11430076B1 (en) View scores
KR100361773B1 (ko) 인터넷 웹사이트 검색엔진의 구축방법
CN101770467A (zh) 分析和排序可访问web的数据目标的方法、装置和系统

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120111

R150 Certificate of patent or registration of utility model

Ref document number: 4911536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350