しかしながら、すべてのユーザが投稿情報に位置情報を関連付けるとは限らない。また、位置情報が関連付けられた投稿情報は、当該位置情報が示す地点で投稿された情報でしかなく、当該地点に関する情報が含まれるとは限らない。従って、上記の仕組みでは、ユーザは、現在位置の周辺にある施設やランドマーク等に関する情報を効率よく入手することができるとは限らない。
そこで、本発明者らは、投稿情報に含まれるテキスト情報に基づいて投稿情報を施設やランドマーク等の地点情報に関連付ける方法を見出した。これにより、ユーザの検索要求に対して、まずユーザの現在位置周辺の地点の地点情報を検索し、さらに、取得した地点情報に基づいて投稿情報を検索することで、ユーザの現在位置周辺の地点に関する投稿情報をユーザに提示する検索サービスを実現できる。
このような検索サービスでは、ユーザの要求を満たすように、最低保証件数以上の検索結果を返すことが好ましい。ここで、ユーザの現在位置周辺の地点に関する投稿情報を検索する方法としては、地点情報を検索する検索範囲の初期値を狭く設定し、その後最低保証件数以上の投稿情報が得られるまで、徐々に検索範囲を広げていく方法が考えられる。
しかしながら、検索範囲の初期値を狭くし過ぎると、初回検索時には最低保証件数以上の検索結果が得られず、最低保証件数以上の検索結果が得られるまでに、検索範囲の再設定(拡大)回数が多くなり、ユーザに対するレスポンスが悪化するという問題が起こり得る。
そこで、本発明は、ユーザの要求を満たす周辺情報検索を効率的かつ高速に行うことができる周辺情報検索装置、周辺情報検索方法、及び周辺情報検索プログラムを提供することを目的とする。
本発明に係る周辺情報検索装置は、ユーザ端末からの要求に応じて周辺情報検索を実行する周辺情報検索装置であって、予め定められた特定地点毎に、特定地点投稿情報を格納する特定地点投稿情報記憶手段と、特定地点毎に、その位置情報と、一又は複数の特定地点を含むように定められ、当該一又は複数の特定地点に関連付けられた特定地点投稿情報の総数が所定条件を満たした必要領域を特定する必要領域情報と、を含む特定地点情報を格納する特定地点情報記憶手段と、ユーザ端末の位置情報を取得する取得手段と、取得手段により取得されたユーザ端末の位置情報に基づいて、一又は複数の特定地点から一の選択特定地点を決定する決定手段と、決定手段により決定された一の選択特定地点に基づいて、特定地点情報記憶手段から必要領域情報を抽出する抽出手段と、取得手段により取得されたユーザ端末の位置情報、決定手段により決定された一の選択特定地点、及び抽出手段により抽出された必要領域情報に基づいて、検索領域を算出する検索領域算出手段と、検索領域に基づいて特定地点情報記憶手段から一又は複数の特定地点情報を検索し、当該特定地点情報に基づいて特定地点投稿情報記憶手段から特定地点投稿情報を検索する検索手段と、を備える。
本発明に係る周辺情報検索方法は、予め定められた特定地点毎に、特定地点投稿情報を格納する特定地点投稿情報記憶手段と、特定地点毎に、その位置情報と、一又は複数の特定地点を含むように定められ、当該一又は複数の特定地点に関連付けられた特定地点投稿情報の総数が所定条件を満たした必要領域を特定する必要領域情報と、を含む特定地点情報を格納する特定地点情報記憶手段と、を備える、ユーザ端末からの要求に応じて周辺情報検索を実行する周辺情報検索装置により実行される周辺情報検索方法であって、ユーザ端末の位置情報を取得する取得ステップと、取得ステップにより取得されたユーザ端末の位置情報に基づいて、一又は複数の特定地点から一の選択特定地点を決定する決定ステップと、決定ステップにより決定された一の選択特定地点に基づいて、特定地点情報記憶手段から必要領域情報を抽出する抽出ステップと、取得ステップにより取得されたユーザ端末の位置情報、決定ステップにより決定された一の選択特定地点、及び抽出ステップにより抽出された必要領域情報に基づいて、検索領域を算出する検索領域算出ステップと、検索領域に基づいて特定地点情報記憶手段から一又は複数の特定地点情報を検索し、当該特定地点情報に基づいて特定地点投稿情報記憶手段から特定地点投稿情報を検索する検索ステップと、を備える。
本発明に係る周辺情報検索プログラムは、予め定められた特定地点毎に、特定地点投稿情報を格納する特定地点投稿情報記憶手段と、特定地点毎に、その位置情報と、一又は複数の特定地点を含むように定められ、当該一又は複数の特定地点に関連付けられた特定地点投稿情報の総数が所定条件を満たした必要領域を特定する必要領域情報と、を含む特定地点情報を格納する特定地点情報記憶手段と、を備える、ユーザ端末からの要求に応じて周辺情報検索を実行する周辺情報検索装置に設けられたコンピュータにより実行される周辺情報検索プログラムであって、ユーザ端末の位置情報を取得する取得モジュールと、取得モジュールが実行されることにより取得されたユーザ端末の位置情報に基づいて、一又は複数の特定地点から一の選択特定地点を決定する決定モジュールと、決定モジュールが実行されることにより決定された一の選択特定地点に基づいて、特定地点情報記憶手段から必要領域情報を抽出する抽出モジュールと、取得モジュールが実行されることにより取得されたユーザ端末の位置情報、決定モジュールが実行されることにより決定された一の選択特定地点、及び抽出モジュールが実行されることにより抽出された必要領域情報に基づいて、検索領域を算出する検索領域算出モジュールと、検索領域に基づいて特定地点情報記憶手段から一又は複数の特定地点情報を検索し、当該特定地点情報に基づいて特定地点投稿情報記憶手段から特定地点投稿情報を検索する検索モジュールと、を備える。
この発明によれば、施設やランドマーク等を示す特定地点毎に、設定時点において収集できた特定地点投稿情報の総数が所定条件を満たした領域(必要領域)を特定する情報(必要領域情報)が、予め設定される。これにより、ユーザ端末の位置情報、ユーザ端末の位置情報に基づいて決定された選択特定地点、及び選択特定地点に基づいて抽出された必要領域情報に基づいて、ユーザ端末周辺の特定地点に関する特定地点投稿情報を、上記所定条件を満たすように収集できることが期待できる検索領域を算出することができる。以上により、ユーザの要求を満たす周辺情報検索を高速かつ効率的に行うことが期待できる。
上記の周辺情報検索装置では、決定手段は、ユーザ端末に最も近い特定地点を選択特定地点としてもよい。
この発明によれば、さらに、ユーザ端末に最も近い特定地点を選択特定地点として検索領域を算出することで、ユーザ端末周辺の特定地点に関する特定地点投稿情報を効率よく取得できることが期待できる。
上記の周辺情報検索装置では、特定地点情報が、必要領域情報が最後に設定又は更新された日時である最終設定日時の情報を含み、決定手段は、ユーザ端末に近い順に所定数の特定地点を選択し、当該特定地点のうち最終設定日時が最新の特定地点を選択特定地点としてもよい。
特定地点投稿情報記憶手段に格納される特定地点投稿情報の種類や数は適宜更新され、時間経過により変化する。そのため、特定地点情報に設定された必要領域情報から特定される必要領域は、事後的に、収集できる特定地点投稿情報の総数が所定条件を満たさない領域になってしまう場合がある。従って、最終設定日時が新しい特定地点の必要領域情報ほど、当該必要領域情報により特定される必要領域が依然として上記条件を満たす領域であることが期待できる。よって、この発明によれば、ユーザ端末に近い特定地点のうちから必要領域情報の最終設定日時が最新の特定地点を選択特定地点として検索領域を算出することで、ユーザの要求を満たす特定地点投稿情報を取得できることが期待できる。
上記の周辺情報検索装置では、必要領域が、特定地点を中心とする第1の円形領域であり、必要領域情報が、第1の円形領域の半径であり、検索領域が、ユーザ端末の位置を中心とする第2の円形領域であってもよい。
この発明によれば、さらに、必要領域情報を半径で表現できるため、データの格納が容易となり、必要な記憶領域を抑えることが期待できる。また、特定地点情報の検索において、特定地点が検索領域に含まれるか否かの判定を、ユーザ端末と特定地点との間の距離が検索領域(第2の円形領域)の半径以下であるか否かにより容易に判定できるため、検索処理の実装が容易となる。
上記の周辺情報検索装置では、検索領域算出手段は、選択特定地点及びユーザ端末の間の距離と選択特定地点の必要領域情報との和を半径とする検索領域を算出してもよい。
この発明によれば、さらに、選択特定地点及びユーザ端末の間の距離と当該選択特定地点の半径(必要領域情報)との和を検索半径(第2の円形領域の半径)とすることができる。このため、検索半径の算出処理が容易となり、検索処理の高速化を図ることができる。
上記の周辺情報検索装置では、検索領域算出手段は、ユーザ端末との距離が所定値以内の特定地点をユーザ端末に近い順に所定数抽出し、当該特定地点の必要領域情報に基づいて特定値を算出し、当該特定値と選択特定地点及びユーザ端末の間の距離との和を半径とする検索領域を算出してもよい。
この発明によれば、さらに、ユーザ端末との距離が所定値以内にある所定数の特定地点の半径(必要領域情報)に基づいて、例えば平均値や最小値などの特定値を算出し、当該特定値と選択特定地点及びユーザ端末の間の距離との和を検索半径とすることができる。これにより、選択特定地点及びユーザ端末の間の距離と当該選択特定地点の半径との和を検索半径とする場合と比較して、ユーザ端末の移動により検索範囲が急激に変化してしまうことを防止できる。すなわち、ユーザ端末の移動に対して安定した検索結果をユーザ端末に返却することができる。
上記の周辺情報検索装置では、検索領域算出手段は、選択特定地点の必要領域を検索領域としてもよい。
この発明によれば、選択特定地点の必要領域情報に基づいて特定される必要領域を、そのまま検索領域として用いる。これにより、検索により得られる特定地点の数を抑えることができるため、適切な数の特定地点投稿情報をユーザに提供できることが期待できる。また、検索領域を算出するための計算処理が不要となるため、検索処理の高速化を図ることができる。
上記の周辺情報検索装置では、検索手段は、検索領域に基づいて特定地点情報記憶手段から一又は複数の第1特定地点情報を検索し、ユーザ端末の位置に基づいて特定地点情報記憶手段から第1特定地点情報とは異なる第2特定地点情報を所定数抽出し、第1特定地点情報及び第2特定地点情報に基づいて特定地点投稿情報を検索してもよい。
この発明によれば、選択特定地点の必要領域を検索領域として取得された一又は複数の特定地点情報(第1特定地点情報)に加えて、ユーザ端末の位置に基づいて抽出された所定数の特定地点情報(第2特定地点情報)に関連付けられた特定地点投稿情報をユーザに提供できる。これにより、第1特定地点情報だけでは検索により得られる特定地点投稿情報数が所定条件を満たさない場合であっても、第2特定地点情報を加えることで、所定条件を満たす適切な数の特定地点投稿情報をユーザに提供できることが期待できる。
上記の周辺情報検索装置では、検索領域算出手段は、検索手段により検索された特定地点投稿情報の総数が所定条件を満たさない場合に、検索領域を拡大し、検索手段は、総数が所定条件を満たすまで検索処理を繰り返してもよい。
この発明によれば、所定条件を満たす件数が得られるまで、検索領域を拡大しつつ検索処理を繰り返すことができる。これにより、万が一、1回の検索で所定条件を満たす検索件数が得られなかった場合であっても、確実に、所定条件を満たす件数の特定地点投稿情報をユーザ端末に返却することができる。すなわち、ユーザの要求を満たす周辺情報検索を確実に行うことができる。
上記の周辺情報検索装置では、検索領域算出手段により拡大された検索領域に基づいて、選択特定地点に決定された特定地点の必要領域情報を更新する更新手段を更に備えてもよい。
この発明によれば、検索領域の拡大を伴う検索処理を行った後に、選択特定地点の必要領域情報を更新することができる。これにより、検索処理が行われたタイミングで、選択特定地点として選択された特定地点の必要領域情報を適切に更新することができる。
本発明によれば、ユーザの要求を満たす周辺情報検索を効率的かつ高速に行うことができる。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
図1は、本実施形態に係る周辺情報検索装置10の機能構成を示すブロック図である。図1を用いて、本実施形態に係る周辺情報検索装置10について説明する。図1に示す周辺情報検索装置10は、投稿情報収集部11、特定地点情報記憶部12、関連付け部13、特定地点投稿情報記憶部14、必要領域設定部15、検索領域算出部16、及び検索部17を備えている。
図2は、本実施形態に係る周辺情報検索装置10のハードウェア構成図である。図2を用いて、周辺情報検索装置10のハードウェア構成について説明する。図2に示すように、周辺情報検索装置10は、オペレーティングシステムやアプリケーションプログラムなどを実行するCPU101と、ROM及びRAMで構成される主記憶部102と、ハードディスクメモリなどで構成される補助記憶部103と、データ通信を行う通信制御部104と、液晶モニタなどで構成される出力部105と、入力デバイスであるキーボード及びマウス等で構成される操作部106と、USBメモリ、CD−ROM、DVDなどの記録媒体200を読み取る記録媒体読取部107とを備える。
図1に示す周辺情報検索装置10の各機能は、CPU101の制御の下で、主記憶部102に所定のソフトウェアプログラムを読み込ませて実行することにより実現される。その際、CPU101は、ソフトウェアプログラムの処理手順に従い、主記憶部102及び補助記憶部103におけるデータの読み出し及び書き込み動作を制御し、操作部106、出力部105及び通信制御部104の動作を制御する。以下、図1に示す各機能要素について説明する。
投稿情報収集部11は、インターネット上のつぶやき情報投稿サイトやブログサイトなどに投稿された投稿情報を収集する機能要素である。投稿情報は、投稿情報を一意に識別する投稿IDと、テキスト情報と、投稿日時の情報とを含む。投稿情報収集部11は、例えば、インターネット上をクローリングすることで投稿情報を直接収集してもよく、外部のサービス業者等から投稿情報の提供を受けることで投稿情報を収集してもよい。また、投稿情報収集部11は、後述する検索部17がなるべく最新の投稿情報を検索できるように、投稿情報を定期的に収集してもよい。
特定地点情報記憶部12(特定地点情報記憶手段)は、施設やランドマーク等の特定地点に関する特定地点情報を格納する機能要素である。特定地点情報記憶部12に格納される特定地点情報は、特定地点を一意に識別する地点IDと、名称(施設名、地名、建造物名など)と、位置情報(緯度・経度)と、後述する必要領域設定部15により設定される必要領域情報と、必要領域情報が最後に設定又は更新された日時情報である最終設定日時の情報と、を含む。図3は、特定地点情報記憶部12に格納される特定地点情報の例を示す図である。本実施形態では、必要領域は、特定地点を中心とする円形領域(第1の円形領域)であり、必要領域情報は、必要領域(第1の円形領域)の半径である。特定地点情報のうち、地点ID、名称、及び位置情報は、例えば、市販の位置情報データベースの導入やオペレータによるデータ入力等により登録される。必要領域情報及び最終設定日時情報は、後述する必要領域設定部15により設定又は更新される。
関連付け部13は、投稿情報収集部11が収集した投稿情報に特定地点(地点ID)を関連付ける機能要素である。関連付け部13は、投稿情報に含まれるテキスト情報に特定地点に関連する文字列が含まれるか否かの判定等を行い、特定地点に関連する文字列がテキスト情報に含まれる場合には、当該投稿情報に当該特定地点の地点IDを関連付ける。ここで、特定地点に関連する文字列がテキスト情報に含まれるか否かの判定は、例えば、特定地点の名称に相当する文字列がテキスト情報に含まれるか否かで判定してもよく、表記揺れ、同義語、別名などを考慮して実質的に特定地点と同一のものを指し示す文字列がテキスト情報に含まれるか否かで判定してもよい。投稿情報収集部11が収集する投稿情報や特定地点情報記憶部12に格納される特定地点情報は適宜更新され得るため、関連付け部13は、投稿情報と地点IDとの関連付けを定期的に行うことが好ましい。
特定地点投稿情報記憶部14(特定地点投稿情報記憶手段)は、関連付け部13により特定地点(地点ID)と関連付けられた投稿情報(特定地点投稿情報)を格納する機能要素である。図4は、特定地点投稿情報記憶部14に格納される特定地点投稿情報の例を示す図である。ここで、投稿ID「1」の特定地点投稿情報のテキスト情報には、特定地点情報記憶部12に格納されている地点ID「0001」の特定地点の名称「○○公園」が含まれる。そのため、関連付け部13により、当該特定地点投稿情報の地点IDとして「0001」が設定されている。その他の特定地点投稿情報についても同様である。記憶領域の効率的使用、後述する検索部17による検索処理のレスポンス性能、格納される特定地点投稿情報の鮮度等の観点から、一定期間以上経過した投稿情報については、特定地点投稿情報記憶部14から削除されてもよい。
必要領域設定部15は、特定地点情報記憶部12に格納される特定地点毎の必要領域情報を設定する機能要素である。ここで、「必要領域」は、一又は複数の特定地点を含むように定められ、当該一又は複数の特定地点に関連付けられた特定地点投稿情報の総数が所定条件を満たすような領域である。ここで「所定条件」とは、例えば、「10件以上」などの条件である。この件数は、周辺情報検索装置10において予め設定された値でもよく、ユーザ毎にカスタマイズ可能な値でもよい。また、「必要領域情報」は、必要領域を特定するための数値情報である。上述のように、本実施形態では、必要領域は、特定地点を中心とする円形領域(第1の円形領域)であり、必要領域情報は、当該円形領域の半径である。
また、上述したように特定地点投稿情報記憶部14に格納される特定地点投稿情報は適宜更新され得るため、必要領域設定部15は、必要領域情報の設定又は更新を適宜実行すると共に、設定又は更新した日時を必要領域情報の最終設定日時に設定する。
検索領域算出部16は、ユーザ端末20の位置情報を取得する取得手段、選択特定地点を決定する決定手段、当該選択特定地点の必要領域情報を抽出する抽出手段、及び検索領域を算出する検索領域算出手段を備えた機能要素である。「検索領域」は、後述する検索部17が特定地点情報を検索する際に用いる検索範囲である。以下、取得手段、決定手段、抽出手段、及び検索領域算出手段について詳細に説明する。
検索領域算出部16(取得手段)は、例えば、ユーザ端末20が周辺情報検索装置10に検索要求を行うと共にユーザ端末20の位置情報を送信することで、ユーザ端末20の位置情報を取得する。ここで、ユーザ端末20の位置情報は、基地局が保持するユーザ端末20の位置情報やユーザ端末20上のGPS機能などにより取得された位置情報(緯度及び経度)などである。ただし、ユーザ端末20の位置情報は、緯度及び経度を含むもの(あるいは算出できるもの)であれば何でもよく、検索領域算出部16(取得手段)が当該位置情報を取得する方法についても上記方法に限定されない。
検索領域算出部16(決定手段)は、取得手段により取得されたユーザ端末20の位置情報に基づいて、一又は複数の特定地点から一の選択特定地点を決定する。本実施形態では、検索領域算出部16(決定手段)は、ユーザ端末20に最も近い特定地点を選択特定地点とする。具体的には、検索領域算出部16(決定手段)は、ユーザ端末20の位置情報と、特定地点情報記憶部12に格納された各特定地点の位置情報とに基づいて、ユーザ端末20と各特定地点との距離を算出し、算出した距離の比較により、ユーザ端末20に最も近い特定地点を選択特定地点として抽出する。
検索領域算出部16(抽出手段)は、特定地点情報記憶部12から選択特定地点の必要領域情報を抽出する。
検索領域算出部16(検索領域算出手段)は、取得手段により取得されたユーザ端末20の位置情報、決定手段により決定された一の選択特定地点、及び抽出手段により抽出された選択特定地点の必要領域情報に基づいて、検索領域を算出する。本実施形態では、検索領域算出部16(検索領域算出手段)は、ユーザ端末20の位置を中心とし、選択特定地点及びユーザ端末20の間の距離と選択特定地点の半径(必要領域情報)との和を半径とする円形領域(第2の円形領域)を検索領域として算出する。
検索部17は、ユーザ端末20からの検索要求に応じて特定地点投稿情報の検索処理を実行する機能要素である。検索部17は、検索領域算出部16により算出された検索領域に基づいて特定地点情報記憶部12から一又は複数の特定地点情報を検索し、当該検索により取得した特定地点情報の地点IDに基づいて特定地点投稿情報記憶部14から特定地点投稿情報を検索する。具体的には、検索部17は、検索領域に含まれる一又は複数の特定地点の地点IDを特定地点情報記憶部12から抽出し、抽出した地点IDのいずれかと同一の地点IDを持つ特定地点投稿情報を特定地点投稿情報記憶部14から抽出する。検索部17による検索処理の動作については後述する。
図5は、本実施形態に係る必要領域情報の設定動作を示すフロー図である。図6は、本実施形態に係る必要領域情報の設定動作を説明するために用いる図である。図5及び図6を用いて、特定地点情報記憶部12に格納された特定地点情報に含まれる半径(必要領域情報)を設定する際の動作について説明する。ここで、図6に示す「A」、「B」及び「C」は、特定地点である。特定地点A、特定地点B及び特定地点Cに係る特定地点情報は、特定地点情報記憶部12に格納されている。特定地点投稿情報記憶部14において、特定地点A、特定地点B及び特定地点Cに関連付けられている特定地点投稿情報数は、「x1」、「x2」及び「x3」である。必要領域の所定条件は「Y件以上」であり、「x1+x2<Y」及び「x1+x2+x3≧Y」の関係が成立するものとする。
まず、必要領域設定部15が、半径設定対象の特定地点情報を特定地点情報記憶部12から1つ取得する(ステップS101)。ここで、特定地点Aが取得された場合について、以降の説明を行う。必要領域設定部15は、特定地点Aを中心とする任意の初期半径「r」の領域「S」を設定し、検索部17が備える検索機能により、特定地点情報記憶部12から特定地点情報を抽出する(ステップS102)。初期半径「r」の決定方法は任意の方法でよく、特に限定されない。図6に示すように、領域「S」には特定地点A及び特定地点Bが存在するため、ここでは特定地点A及び特定地点Bが抽出される。
続いて、必要領域設定部15が、検索部17が備える検索機能により、特定地点A及び特定地点Bの地点IDを検索キーとして、特定地点投稿情報記憶部14から特定地点投稿情報を検索する(ステップS103)。続いて、必要領域設定部15は、特定地点投稿情報の検索件数が所定数「Y」以上か否かを判定する(ステップS104)。ここで、特定地点投稿情報の検索件数は、特定地点A又は特定地点Bに関連付けられた特定地点投稿情報数「x1+x2」であり、「x1+x2<Y」である。従って、所定条件を満たさないため、必要領域設定部15は、半径を拡大する(ステップS104:NO、ステップS105)。半径の拡大方法は、例えば、現在の半径に固定値(例えば300mなど)を加算する方法でもよく、所定の計算方法により拡大する方法でもよい。本実施形態では、所定の計算方法により、半径「r」から半径「r´」に拡大されるものとする。
続いて、必要領域設定部15は、半径「r´」の領域「S」について、ステップS102〜ステップS104の処理を実行する。その結果、図6に示す特定地点A、特定地点B及び特定地点Cが抽出されるため(ステップS102)、ステップS103の検索処理による特定地点投稿情報の検索件数は、特定地点A、特定地点B又は特定地点Cに関連付けられた特定地点投稿情報数「x1+x2+x3」であり、「x1+x2+x3>Y」である。従って、所定条件を満たすため、必要領域設定部15は、特定地点情報記憶部12に格納された特定地点Aの半径に「r´」を設定すると共に、設定日時を必要領域情報の最終設定日時に設定し、処理を終了する(ステップS106)。
上記処理により、特定地点Aについて、特定地点Aを含む領域であって当該領域に含まれる特定地点(特定地点A、特定地点B及び特定地点C)に関連付けられた特定地点投稿情報の総数「x1+x2+x3」が所定数「Y」以上となる必要領域「S´」を特定する必要領域情報「r´」を設定することができる。必要領域設定部15は、上記処理を全ての特定地点について実行することで、全ての特定地点の必要領域情報を設定する。また、特定地点に関連付けられた特定地点投稿情報の総数は、特定地点投稿情報記憶部14に格納された特定地点投稿情報が更新されると変更されるため、必要領域設定部15は、全ての特定地点情報について定期的に上記処理を実行することが好ましい。
図7は、本実施形態に係る検索処理の動作を示すフロー図である。図8は、本実施形態に係る検索処理の動作を説明するために用いる図である。図7及び図8を用いて、ユーザ端末20からの検索要求に応じて実行される検索処理の動作について説明する。ここで、図8に示す「D」、「E」、「F」及び「G」は、特定地点である。特定地点D、特定地点E、特定地点F及び特定地点Gに係る特定地点情報は、特定地点情報記憶部12に格納されている。また、特定地点投稿情報記憶部14において、特定地点D、特定地点E、特定地点F及び特定地点Gに関連付けられている特定地点投稿情報数は、「x4」、「x5」、「x6」及び「x7」であり、所定数「Y」との間で、「x4+x5<Y」及び「x4+x5+x6+x7≧Y」の関係が成立するものとする。
また、「d1」は、特定地点Dとユーザ端末20との間の距離を示し、「r1」は、特定地点Dの半径(必要領域情報)を示し、「R1」及び「R2」は、検索領域算出部16により算出される検索半径を示す。また、ユーザ端末20が検索要求を行った時点において、特定地点Dを中心とする半径「r1」の第1の円形領域(必要領域)「S0」が、事後的に所定数以上の特定地点投稿情報が収集できる領域ではなくなっているものとする。また、本実施形態では、検索領域算出部16は、検索部17により検索された特定地点投稿情報の件数が所定数未満の場合には検索半径(検索領域)を拡大し、検索部17は、特定地点投稿情報の検索件数が所定数以上となるまで検索処理を繰り返すものとする。
図7において、検索部17がユーザ端末20からの検索要求を受けると、検索領域算出部16は、ユーザ端末20の現在位置に最も近い特定地点を選択特定地点とする(ステップS201、取得ステップ、決定ステップ)。具体的には、検索領域算出部16は、ユーザ端末20の位置情報を取得し(取得ステップ)、ユーザ端末20の位置情報と特定地点情報記憶部12に格納されている各特定地点情報の位置情報とから、ユーザ端末20と各特定地点との距離を算出する。続いて、検索領域算出部16は、当該算出された距離同士を比較することで、ユーザ端末20に最も近い特定地点Dを抽出し、当該特定地点Dを選択特定地点とする(決定ステップ)。
検索領域算出部16は、選択特定地点Dの半径「r1」を特定地点情報記憶部12から抽出し(ステップS202、抽出ステップ)、ユーザ端末20及び特定地点Dの間の距離「d1」と選択特定地点Dの半径「r1」とから、検索半径「R1(=d1+r1)」を算出する(ステップS203、検索領域算出ステップ)。
続いて、検索部17は、検索半径「R1」の検索領域「S1」に含まれる特定地点情報を抽出する(ステップS204、検索ステップ)。これにより、特定地点D及び特定地点Eが抽出される。続いて、検索部17は、特定地点D及び特定地点Eの地点IDを検索キーとして、特定地点投稿情報記憶部14から特定地点投稿情報を検索する(ステップS205、検索ステップ)。検索部17は、特定地点投稿情報の検索件数が所定数「Y」以上か否かを判定する(ステップS206)。特定地点投稿情報の検索件数は、特定地点D又は特定地点Eに関連付けられた特定地点投稿情報数「x4+x5」であり、「x4+x5<Y」である。従って、検索部17により検索された特定地点投稿情報の件数「x4+x5」が所定数「Y」未満であるため、検索領域算出部16は、検索半径を「R2」に拡大する(ステップS206:NO、ステップS207)。
以下に、検索半径の拡大方法について説明する。本実施形態では、検索領域算出部16は、下記式(1)に基づいて検索半径を拡大する。ただし、検索半径の拡大方法はこれに限定されず、例えば、下記式(2)などに基づいて検索半径を拡大してもよい。
r:特定地点情報に含まれる半径の値
d:ユーザ端末20及び特定地点の間の距離
R:更新後の検索半径
N:検索の繰り返し回数
R=r+d/2+d×2(N−2)…(1)
R=r+d/2+1000×(N−1)…(2)
式(1)は、検索の繰り返し回数に応じて指数関数的に検索半径を拡大する。従って、式(1)によれば、検索の繰り返し回数の増加と共に、検索半径の拡大幅が大きくなるため、検索の繰り返し回数をある程度抑えることが期待できる。その一方で、検索の繰り返し回数が多くなると検索半径の拡大幅が指数関数的に大きくなるため、検索半径を不必要に拡大してしまうおそれもある。
式(2)は検索の繰り返し回数に比例するように検索半径を拡大する。従って、式(2)によれば、検索の繰り返し回数によらず検索半径の拡大幅が一定となるため、検索の繰り返し回数が式(1)を用いた場合よりも多くなってしまうおそれがある。しかし、検索の繰り返し回数がある程度多くなった場合でも検索半径を一定幅で拡大するため、式(1)のように検索半径を不必要に拡大してしまうおそれが少ない。
続いて、検索部17は、ステップS207で拡大された後の検索半径「R2」の検索領域「S2」を用いて検索処理を実行する(ステップS204〜ステップS206)。その結果、図8に示す特定地点D、特定地点E、特定地点F及び特定地点Gが抽出されるため(ステップS204)、ステップS205の検索処理による特定地点投稿情報の検索件数は、特定地点D、特定地点E、特定地点F又は特定地点Gに関連付けられた特定地点投稿情報数「x4+x5+x6+x7」である。ここで、「x4+x5+x6+x7≧Y」であるため、検索部17は、取得した特定地点投稿情報をユーザ端末20に提示し(ステップS206:YES、ステップS208)、検索処理を終了する。
本実施形態においては、検索半径「R1」の検索領域「S1」を用いた検索処理では特定地点投稿情報の検索件数が所定数「Y」以上とならず、検索半径の拡大処理が必要となった。しかしながら、選択特定地点Dの半径「r1」の最終設定日時とユーザ端末20が検索要求を行った時点との時間差が小さい場合や、半径「r1」内に含まれる特定地点に関連付けられた特定地点投稿数が検索時期にかかわらずほぼ一定となるような場合などには、上記のように検索半径の拡大処理が必要となることは稀であると考えられる。すなわち、検索半径「R1」の検索領域「S1」を用いた検索処理により特定地点投稿情報の検索件数が所定数「Y」以上となることが期待できる。
次に、本実施形態の周辺情報検索装置10の作用効果について説明する。本実施形態の周辺情報検索装置10において、必要領域設定部15は、特定地点毎に、設定時点において所定数以上の特定地点投稿情報が収集できた必要領域を算出し、当該必要領域を特定する半径(必要領域情報)を特定地点情報記憶部12に予め格納しておく。これにより、ユーザ端末20からの検索要求に対する検索処理において、検索領域算出部16は、ユーザ端末20の位置情報、ユーザ端末20の位置情報に決定された選択特定地点D、及び当該選択特定地点Dの半径「r1」に基づいて、ユーザ端末20周辺の特定地点に関する情報を所定数以上収集できることが期待できる検索領域「S1」を算出することができる。そして、検索部17が当該検索領域「S1」に基づいて検索処理を行うことで、ユーザの要求を満たす周辺情報検索を高速かつ効率的に行うことが期待できる。
また、本実施形態の周辺情報検索装置10において、検索領域算出部16は、ユーザ端末20に最も近い特定地点Dを選択特定地点として、当該選択特定地点Dの半径(必要領域情報)「r1」に基づいて検索領域「S1」を算出する。これにより、ユーザ端末20周辺の特定地点情報を効率よく取得できることが期待できる。
また、本実施形態の周辺情報検索装置10において、さらに、必要領域情報を半径「r1」で表現できるため、データの格納が容易となり、特定地点情報記憶部12に必要となる記憶領域を抑えることが期待できる。また、検索部17は、特定地点が検索領域に含まれるか否かの判定を、ユーザ端末20と特定地点との間の距離が検索半径「R1」以下であるか否かにより容易に判定でき、検索処理の実装が容易となる。
また、本実施形態の周辺情報検索装置10において、さらに、選択特定地点D及びユーザ端末20の間の距離「d1」と当該選択特定地点の半径「r1」との和を検索半径(第2の円形領域の半径)「R1」とすることができる。このため、検索半径の算出処理が容易となり、検索処理の高速化を図ることができる。
また、本実施形態の周辺情報検索装置10において、検索領域算出部16及び検索部17が、所定数「Y」以上の検索件数が得られるまで、検索領域を拡大しつつ検索処理を繰り返す。これにより、検索部17は、確実に、所定数「Y」以上の特定地点投稿情報をユーザ端末20に返却することができる。すなわち、ユーザの要求を満たす周辺情報検索を確実に行うことができる。
次に、本実施形態のいくつかの変形例について説明する。
(変形例1)
図7及び図10を用いて変形例1について説明する。図10は、変形例1について説明するために用いる図である。検索領域算出部16(決定手段)は、ユーザ端末20に近い順に所定数(ここでは一例として4個とする。)の特定地点を選択し、当該特定地点のうち最終設定日時が最新の特定地点を選択特定地点としてもよい。具体的には、図7のステップS201において、検索領域算出部16は、ユーザ端末20に近い順に4個選択された特定地点(特定地点D、特定地点E、特定地点F及び特定地点G)のうち半径の最終設定日時が最新の特定地点を選択特定地点とする。ここで、これらの特定地点のうち特定地点Fの最終設定日時が最新であるとすると、検索領域算出部16は、特定地点Fを選択特定地点に決定する。
続いて、検索領域算出部16は、選択特定地点Fの半径「r2」を取得し(ステップS202)、ユーザ端末20及び選択特定地点Fの間の距離「d2」と選択特定地点Fの半径「r2」から、検索半径「R3(=d2+r2)」を算出する(ステップS203)。
続いて、検索部17は、検索半径「R3」の検索領域「S3」を用いて検索処理を実行する(ステップS204〜ステップS206)。その結果、図10に示す特定地点D、特定地点E、特定地点F及び特定地点Gが抽出される(ステップS204)。従って、ステップS205の検索処理による特定地点投稿情報の検索件数は、特定地点D、特定地点E、特定地点F又は特定地点Gに関連付けられた特定地点投稿情報数「x4+x5+x6+x7」である。ここで、「x4+x5+x6+x7>Y」であるため、検索部17は、取得した特定地点投稿情報をユーザ端末20に提示し(ステップS206:YES、ステップS208)、検索処理を終了する。
ここで、最終設定日時が新しい特定地点の半径ほど、当該半径により特定される必要領域が依然として所定数以上の特定地点投稿情報を収集できる領域であることが期待できる。従って、変形例1に係る周辺情報検索装置10においては、検索領域算出部16が、このような特定地点Fを選択特定地点として検索領域「S3」を算出することで、検索半径の拡大処理を行うことなく1回の検索で、所定数以上の特定地点投稿情報を取得することができる。最終設定日時が最新の特定地点を選択特定地点とすれば、常に変形例1のように1回の検索で所定数以上の特定地点投稿情報を取得できるわけではないが、そのような可能性を高めることができる。
(変形例2)
検索領域算出部16(検索領域算出手段)は、ユーザ端末20との距離が所定値以内の特定地点をユーザ端末20に近い順に所定数(ここでは一例として3個とする。)抽出し、当該特定地点の半径に基づいて特定値(平均や最小値などの特定の値)を算出し、当該特定値と選択特定地点及びユーザ端末20の間の距離との和を半径とする検索領域を算出してもよい。例えば、検索領域算出部16(検索領域算出手段)は、ユーザ端末20に近い順に3個の特定地点(図8における特定地点D、特定地点E及び特定地点F)を抽出し、これらの半径の平均値「rave」を特定値として算出し、検索半径を「d1+rave」としてもよい。
変形例2に係る周辺情報検索装置10においては、検索領域算出部16(検索領域算出手段)は、ユーザ端末20の位置が変化して選択特定地点が変更された場合であっても、「ユーザ端末20及び選択特定地点の間の距離+rave」を検索半径とすることができる。ここで、ユーザ端末20の移動により「rave」の値はそれほど大きく変化しないことが期待できるため、選択特定地点及びユーザ端末20の間の距離と選択特定地点の半径との和を検索半径とする場合と比較して、ユーザ端末20の移動により検索範囲が急激に変化してしまうことを防止できる。これにより、ユーザ端末20の移動に対して安定した検索結果をユーザ端末20に返却することができる。
(変形例3)
検索領域算出部16(検索領域算出手段)は、選択特定地点の必要領域を検索領域としてもよい。図11を用いて、変形例3について詳細に説明する。例えば、図11において、ユーザ端末20から最も近い特定地点Dを選択特定地点として、特定地点Dの必要領域「S0」をそのまま検索領域としてもよい。
変形例3に係る周辺情報検索装置10においては、検索部17(検索手段)は、検索により得る特定地点の数を抑えることができるため、適切な数の特定地点投稿情報をユーザに提供できることが期待できる。また、検索領域算出部16(検索領域算出手段)において、検索領域を算出するための計算処理が不要となるため、検索処理の高速化を図ることができる。
(変形例4)
検索部17(検索手段)は、選択特定地点の必要領域を検索領域とし、当該検索領域に基づいて特定地点情報記憶部12から一又は複数の特定地点情報(第1特定地点情報)を検索し、ユーザ端末20の位置に基づいて特定地点情報記憶部12から第1特定地点情報とは異なる第2特定地点情報を所定数(ここでは一例として2個)抽出し、第1特定地点情報及び第2特定地点情報に基づいて、特定地点投稿情報を検索してもよい。以下、図11を用いて、変形例4について詳細に説明する。
例えば、図11において、検索部17(検索手段)は、選択特定地点Dの検索領域「S0」に含まれる特定地点D及び特定地点Eの特定地点情報を、第1特定地点情報として取得する。続いて、検索部17(検索手段)は、ユーザ端末20の位置に基づいて所定範囲(ここでは、一例として領域「S4」)を定める。続いて、検索部17(検索手段)は、当該領域「S4」内の第1特定地点情報に係る特定地点以外の特定地点F及び特定地点Gのうちから、ユーザ端末20に近い順に2個の特定地点(この場合には、特定地点F及び特定地点Gの両方)の特定地点情報を、第2特定地点情報として抽出する。続いて、検索部17(検索手段)は、第1特定地点情報及び第2特定地点情報に関連付けられた特定地点投稿情報を特定地点投稿情報記憶部14から検索する。
変形例4に係る周辺情報検索装置10においては、検索部17(検索手段)は、選択特定地点Dの周辺にある第1特定地点(特定地点D、特定地点E)に関する情報だけでなく、ユーザ端末20から所定の範囲内にあって第1特定地点以外の特定地点のうちから近い順に所定数(2個)抽出した第2特定地点(特定地点F、特定地点G)に関する情報もユーザに提供できる。これにより、第1特定地点情報だけでは、検索部17(検索手段)により検索される特定地点投稿情報数が所定条件を満たさない場合であっても、第2特定地点情報を加えることで、検索部17(検索手段)により検索される特定地点投稿情報が所定条件を満たし、かつ、適切な数となることが期待できる。なお、第2特定地点情報を抽出する基準は、上記例のように、ユーザ端末20に近い順であってもよく、最終設定日時が新しい順であってもよく、特に限定されない。
また、上記例においては、選択特定地点Dの半径(必要領域情報)算出後の時間経過等により、取得される特定地点投稿情報の総数が所定条件を満たさない場合がある。その場合には、本実施形態と同様に、検索領域算出部16(検索領域算出手段)及び検索部176(検索手段)は、検索領域(上記例では領域「S0」)を拡大した上で特定地点情報の再検索を行ってもよい。また、第2特定地点情報の抽出範囲(上記例では領域「S4」)を拡大したり、抽出数(上記例では所定数「2」)を増加させたりした上で再検索してもよい。これにより、ユーザの要求を満たす周辺情報検索を確実に行うことができる。
(変形例5)
必要領域設定部15は、検索処理において検索領域算出部16(検索領域算出手段)により拡大された検索領域に基づいて、選択特定地点の半径(必要領域情報)を更新してもよい。図12を用いて、変形例5について詳細に説明する。図12は、変形例5について説明するために用いる図であり、図8に特定地点Dを中心とする半径「r1´」の円形領域「S5」を追加した図である。図12に示すように、必要領域設定部15(更新手段)は、本実施形態における検索処理により拡大された半径「R2」と、ユーザ端末20及び選択特定地点Dの間の距離「d1」との差「R2−d1」を、特定地点Dの新たな半径「r1´」として設定してもよい。
変形例5に係る周辺情報検索装置10においては、次に同様の検索がされた際に、検索領域算出部16は、選択特定地点Dの半径「r1´」と、ユーザ端末20及び選択特定地点Dの間の距離「d1」との和「R2」を検索半径として算出することができる。そのため、次回以降の検索において、検索領域算出部16による検索半径の拡大処理(「R1」から「R2」への拡大処理)を不要とすることが期待できる。従って、必要領域設定部15による定期的な更新処理を待たずに、検索処理が行われたタイミングで、選択特定地点として選択された特定地点Dの半径を適切に更新することができる。
また、より簡単な方法としては、必要領域設定部15は、拡大された半径「R2」を、そのまま特定地点Dの新たな半径として設定してもよい。このようにしても、次回以降の検索において、検索領域算出部16による検索半径の拡大処理を不要とすることが期待できる。ただし、特定地点の半径の更新方法は、上記方法に限定されない。
以上、本発明に係る実施形態といくつかの変形例について詳細に説明した。しかし、本発明は、上記実施形態及び変形例に限定されるものではない。本発明は、その要旨を逸脱しない範囲において様々な変形が可能である。例えば、検索領域算出部16(検索領域算出手段)は、正方形などの多角形状の領域を必要領域又は検索領域としてもよい。必要領域が正方形領域で表される場合には、例えば、正方形領域の辺の長さや対角線の長さなどを必要領域情報とすることができる。
最後に、図9を用いて、コンピュータを周辺情報検索装置10として機能させるための周辺情報検索プログラムP10について説明する。
図9は、本実施形態に係る周辺情報検索プログラムP10の機能構成を示すブロック図である。図9に示すように、周辺情報検索プログラムP10は、取得モジュールP16A、決定モジュールP16B、抽出モジュールP16C、検索領域算出モジュールP16D、及び投稿情報検索モジュールP17を備える。取得モジュールP16A、決定モジュールP16B、抽出モジュールP16C、検索領域算出モジュールP16D、及び投稿情報検索モジュールP17が実行されることにより実現される機能は、上述した周辺情報検索装置10において対応する検索領域算出部16(取得手段、決定手段、抽出手段、検索領域算出手段)及び検索部17の機能と同様である。
このように構成された周辺情報検索プログラムP10は、図2に示す記録媒体200に記憶され、周辺情報検索装置10として用いられるコンピュータにより実行される。当該コンピュータは、記録媒体200が記録媒体読取部107に挿入されると、記録媒体読取部107から記録媒体200に格納された周辺情報検索プログラムP10にアクセス可能となり、当該周辺情報検索プログラムP10を実行することによって、本実施形態に係る周辺情報検索装置10として動作することが可能となる。
周辺情報検索プログラムP10は、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されるものであってもよい。この場合、周辺情報検索装置10として用いられるコンピュータは、通信制御部104によって受信した周辺情報検索プログラムP10を主記憶部102に格納することにより、当該周辺情報検索プログラムP10を実行することができる。