(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0026】
以下、図面に基づいて本発明の実施形態の例を説明する。
【0027】
図1は、POI情報提供システム1の構成の概略を示す図である。POI情報提供システム1は、サーバー装置10と、ユーザー側端末装置20とを備える。サーバー装置10とユーザー側端末装置20とはネットワーク30を介して接続されており、1つのサーバー装置10と接続されるユーザー側端末装置20は単数でも複数でもよい。
【0028】
サーバー装置10は、例えばPC(Personal Computer)等の電子機器であって、例えばサービス提供者によって管理される。ユーザー側端末装置20は、スマートフォン、携帯電話、PC、PDA(Personal Digital Assistant)、カーナビゲーション、又はPC等の電子機器であって、例えば本サービスを利用するユーザーによって管理される。
【0029】
サーバー装置10には、人々が興味を抱く地点と、その地点に関する情報であるPOI(Point of interest)データが、予め登録されている。サーバー装置10は、SNSやウェブログ、TWITTER(登録商標)に投稿された投稿データから、登録されたPOIの注目度合いを示す情報であるトレンド度を算出し、POIデータと対応させて管理する。
【0030】
本実施形態では、ユーザー側端末装置20において、現在地と目的地とに基づいて移動経路が特定される。ユーザー側端末装置20が、サーバー装置10に要求するPOIのカテゴリーの入力を受け付けると、サーバー装置10に対して移動経路とカテゴリーを特定したPOIのリクエストを送信する。サーバー装置10は、移動経路から所定距離にあるPOIデータとPOIのトレンド度とを含むレスポンスをユーザー側端末装置20に送信する。ユーザー側端末装置20は、受信したトレンド度を用いて推薦度を算出し、画面上に表示する。
【0031】
図2は、サーバー装置10及びユーザー側端末装置20の機能ブロック図である。
【0032】
サーバー装置10は、制御部100と、記憶部110とを備える。制御部100は、投稿データ取得部101と、トレンド度取得部102と、POI情報特定部103と、リクエスト受付部104と、レスポンス送信部105とを備える。
【0033】
投稿データ取得部101は、ネットワーク30上に投稿された投稿データを取得する。投稿データは、例えばSNS等のサイトに投稿された記事や、いわゆる「つぶやき」等である。
【0034】
トレンド度取得部102は、投稿データ取得部101が取得した投稿データを用いて、記憶部110に予め登録されたPOI毎に、トレンド度を算出する。POI情報特定部103は、ユーザー側端末装置20からPOIのリクエストを受信すると、リクエストの内容に基づいて、要求されているPOIのPOIデータとPOIのトレンド度とを含むPOI情報を特定する。
【0035】
リクエスト受付部104は、ユーザー側端末装置20からPOIのリクエストを受け付ける。レスポンス送信部105は、POI情報特定部103が特定したPOI情報を含むレスポンスを、ユーザー側端末装置20に対して送信する。
【0036】
記憶部110は、投稿データDB(DataBase)111と、POIデータDB112と、POIトレンドDB113とを備える。
【0037】
投稿データDB111には、投稿データ取得部101が取得した投稿データ毎に、投稿者や投稿本文等の情報が格納される。POIデータDB112には、各POI毎にPOI名やカテゴリー、POIの所在地等が対応付けられたPOIデータが格納される。POIトレンドDB113には、各POIとトレンド度とが対応付けられて格納される。
【0038】
ユーザー側端末装置20は、制御部200を備える。制御部200は、移動経路探索部201と、リクエスト作成部202と、リクエスト送信部203と、POIトレンド特定部204と、POI推薦度算出部205と、表示部206とを備える。
【0039】
移動経路探索部201は、現在地又は出発地と、目的地とに基づいて、移動経路を探索する。移動経路の探索については公知の技術を用いる。
【0040】
リクエスト作成部202は、移動経路から予め定められた所定範囲内にあるPOIをサーバー装置10に要求するためのリクエストを作成する。リクエストには、POIを要求する地域が特定されている。また、リクエスト作成部202により作成されたリクエストには、ユーザーにより入力されたカテゴリーが特定されている。リクエスト送信部203は、リクエスト作成部202が作成したリクエストをサーバー装置10に対して送信する。
【0041】
POIトレンド特定部204は、リクエストの応答として受信したPOIデータ及びトレンド度の中から、表示画面に表示するPOIとトレンド度とを特定する。ユーザー側端末装置20が備える表示装置には、ユーザー側端末装置20の移動に従って更新される地図情報が表示されている。POIトレンド特定部204は、ユーザー側端末装置20の前方にあるPOIが地図上に表示されるよう、表示対象のPOIを特定する。また、POIトレンド特定部204は、ユーザー側端末装置20の移動に従って前方から後方になったPOIが画面から非表示になるよう、表示対象のPOIを特定する。
【0042】
POI推薦度算出部205は、表示対象のPOIのトレンド度と、移動経路とPOIとの距離とに基づいて、POIの推薦度を算出する。
【0043】
表示部206は、ユーザー側端末装置20における画面表示を制御する。表示部206は、POIトレンド特定部204により特定されるPOIのPOIデータと推薦度とに基づいて、POIを表示する表示画面の画面情報を作成する。
【0044】
本実施形態では、POIデータDB112に登録されているPOIについて、サーバー装置10のトレンド度取得部102が投稿データに基づいてトレンド度を算出する。ユーザー側端末装置20から要求地域及びカテゴリーが特定されたリクエストを受信すると、サーバー装置10は、要求地域内に存在し要求カテゴリーに対応するPOIデータとトレンド度とを含むレスポンスをユーザー側端末装置20に対して返信する。ユーザー側端末装置20では、情報を受信したPOIの中から表示対象のPOIを特定し、トレンド度に基づいて表示対象のPOIの推薦度を算出して、地図上に表示する。
【0045】
次に、記憶部110に格納される各情報について説明する。
【0046】
図3は、投稿データDB111の一例を示す図である。投稿データDB111には、投稿データ取得部101が取得した投稿データ毎に投稿日時等のデータが対応付けられて格納される。投稿データDB111には、日時111aと、投稿者ID111bと、端末111cと、本文111dと、地域111eと、経度111fと、緯度111gとが格納されている。
【0047】
日時111aには、投稿データが投稿された日時が格納される。投稿者ID111bには、投稿者を特定するIDが格納される。投稿者IDは、例えばユーザー名やアカウント名である。端末111cは、投稿データの投稿に用いられたユーザー側端末装置20の種別を示す情報が格納される。例えば「1」はPCから投稿された投稿データであって、「2」はスマートフォン等の携帯端末により投稿されたデータである。
【0048】
PCから投稿されたデータであるか、携帯端末により投稿されたデータであるかは、投稿データに付加された情報に基づいて判断される。例えば投稿に用いられたアプリケーションが携帯端末専用であるか、又はそれ以外であるかを特定する情報を参照することにより、投稿に用いられたユーザー側端末装置20の種別が特定される。
【0049】
本文111dには、投稿データの投稿の本文が格納される。地域111eには、ユーザー側端末装置20の投稿場所が格納される。ユーザー側端末装置20の投稿場所は、例えば無線LANにおいてユーザー側端末装置20からの投稿を受け付けたルーターの所在地である。また例えば、ユーザー側端末装置20の投稿場所は、ユーザー側端末装置20のIPアドレス、及びユーザー側端末装置20を管理しているプロバイダーの所在地や管理範囲等から特定される。なお、投稿場所は投稿データから必ず取得することのできる情報とは限らないため、投稿場所を取得できなかった場合は、地域111eには何も格納されない。
【0050】
経度111f及び緯度111gには、投稿データに付加されるジオタグ等の位置情報に基づいて特定される、ユーザー側端末装置20の投稿場所の緯度及び経度が格納される。なお、ユーザー側端末装置20において、投稿に位置情報を付加する設定がなされていない場合等、投稿から緯度及び経度を特定することができない場合は、経度111f及び緯度111gには何も格納されない。
【0051】
図4は、POIデータDB112の一例を示す図である。POIデータDB112には、各POI毎に、POI名やカテゴリー等のデータが対応付けられて格納される。POIデータDB112は、サービス提供者によって登録されたPOIに関する情報であるPOIデータを格納するデータベースである。
【0052】
POIデータDB112には、POI_ID112aと、POI名112bと、カテゴリー112cと、経度112dと、緯度112eと、住所112fと、n1_112gと、n2_112hとが格納されている。
【0053】
POI_ID112aには、POIを特定する識別情報が格納される。POI名112bには、POIの名称が格納される。POI名112bには、例えば「レストランABC ○○支店」、「×××HOTEL」といった名称が格納される。
【0054】
カテゴリー112cには、POIの種別を示す情報が格納される。カテゴリー112cには、例えば「観光施設」、「レストラン」、「ホテル」等の情報が格納される。経度112d及び緯度112eには、POIの所在地を示す緯度及び経度が格納される。住所112fには、POIの住所が格納される。
【0055】
n1_112g及びn2_112hには、投稿データにPOI名が含まれているか否かを判定する際に用いる文字数を示す数値が格納される。n1及びn2は、例えばPOI名の先頭からカウントされる文字数を特定する値である。
【0056】
なお、n1_112g及びn2_112h共に値が格納されている場合、「n1>n2」である。また、n1_112g及びn2_112hに格納される値は、投稿データとPOI名との一致度を算出することのできる値であればよく、POI名の先頭からカウントされる文字数に限定されない。例えば、先頭からカウントされる値ではなく、単に連続する文字数を特定する値であってもよい。
【0057】
また、n1又はn2は、全部のPOIに対して一律に定められるものであってもよい。また、n1又はn2は、各POIの文字数に応じて定められるものであってもよい。
【0058】
図5は、POIトレンドDB113の一例を示す図である。POIトレンドDB113には、各POI毎にトレンド度等の情報が格納される。
【0059】
POIトレンドDB113には、POI_ID113a、POI名113b、経度113c、緯度113d、及びトレンド度113eが格納される。
【0060】
POI_ID113aは、POIを識別するIDであって、POIデータDB112のPOI_ID112aと対応する。POI名113bはPOIの名称であって、POIデータDB112のPOI名112bと対応する。経度113c及び緯度113dは、POIの所在地を特定する緯度及び経度であって、それぞれPOIデータDB112の経度112d及び緯度112eと対応する。
【0061】
トレンド度113eには、POIの注目の度合いを示す値が格納される。トレンド度113eが高いほど、POIの注目度が高い。言い換えれば、トレンド度113eが高いほど、人気のあるPOIであるということを示している。
【0062】
図6は、サーバー装置10のハードウェア構成例を示す図である。サーバー装置10は、演算処理部120と、入力装置121と、表示装置122とを備える。
【0063】
入力装置121は、ユーザーからの入力操作を受け付ける装置であり、タッチパネル又はハードウェアボタン等である。表示装置122は、LCD(Liquid Crystal Display)のディスプレイ等である
【0064】
演算処理部120は、サーバー装置10における中心的ユニットであり、CPU(Central Processing Unit)123、RAM124、不揮発性メモリ125、及びネットワークI/F(Interface)126を備える。各構成要素はバスにより接続されている。
【0065】
CPU123は中央演算装置であり、RAM124又は不揮発性メモリ125に記憶されたプログラムに従って処理を実行する。RAM124は記憶装置であり、プログラムやデータが一時的に読み出される記憶エリアとして機能する。不揮発性メモリ125は、フラッシュメモリ等の不揮発性のメモリであって、プログラムや各種データの格納先として用いられる。ネットワークI/F126は、サーバー装置10をネットワーク30に接続するためのインターフェイスである。
【0066】
サーバー装置10では、RAM124又は不揮発性メモリ125上に読み出されたプログラムに従って動作するCPU123により処理が行われる。
【0067】
図7は、ユーザー側端末装置20のハードウェア構成例を示す図である。ユーザー側端末装置20は、演算処理部220と、入力装置221と、表示装置222と、GPS受信装置223とを備える。演算処理部220は、CPU224と、RAM225と、不揮発性メモリ226と、ネットワークI/F227とを備える。演算処理部220、入力装置221、及び表示装置222については、サーバー装置10と同様であるため説明を省略する。なお、表示部206が制御する表示画面は表示装置222に表示される。
【0068】
GPS受信装置223は、衛星から送信された信号を受信する。GPS受信装置223が受信した信号に基づいて、移動経路探索部201はユーザー側端末装置20の現在地を特定する。
【0069】
なお、サーバー装置10及びユーザー側端末装置20の各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、サーバー装置10及びユーザー側端末装置20の各構成要素の処理は、1つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。
【0070】
次に、サーバー装置10におけるトレンド度算出処理について説明する。
【0071】
図8は、トレンド度算出処理の一例を示すフローチャートである。サーバー装置10は、以下の処理を例えばバッチ処理により一定間隔で実行する。
【0072】
投稿データ取得部101は、予め設定された数の投稿データをネットワーク30を介して取得し、投稿データDB111に格納する(ステップS11)。以下、投稿データDB111に格納された投稿データの数をMとする。
【0073】
次に、トレンド度取得部102は、格納された投稿データの中から1つの投稿データを特定する(ステップS12)。特定された投稿データを対象投稿データとして説明する。以下、投稿データ取得部101が取得した投稿データの各々を順に対象投稿データとし、トレンド度を算出する処理を行う。そのため、1番目の対象投稿データをm=1として説明する。
【0074】
次に、トレンド度取得部102は、対象投稿データとPOI情報との一致度を算出する(ステップS13)。トレンド度取得部102は、POIデータDB112と対象投稿データとを参照し、投稿データ内にPOI名が含まれているか否かに基づいて、対象投稿データとPOIとの一致度を算出する。ここで行われる処理については後に詳述する。
【0075】
次に、トレンド度取得部102は、ステップS13において算出した一致度に対して投稿日指数を乗算し、対象投稿データとPOIとの対に対するトレンド度を取得する(ステップS14)。指数は、例えば投稿日から処理日までの経過日数の逆数である。一致度が新しいほどトレンド度が高くなるように定められた指数を一致度に対して乗算することで、より「旬」なPOIに対してトレンド度が高く算出される。
【0076】
なお、ここでは指数を乗算しているが、加算であってもよい。投稿日指数を加算することにより、投稿日からの経過日数の浅い投稿に対してトレンド度より高く算出されればよい。
【0077】
次に、トレンド度取得部102は、処理を行った投稿データの順番を示す数mが、投稿データDB111に格納された総投稿データ数Mと等しいか否かを判定する(ステップS15)。mが総投稿データ数と一致しない場合(ステップS15で「NO」の場合)、また処理されていない投稿データがあるため、トレンド度取得部102はmに1を加算する(ステップS18)。その後、トレンド度取得部102は、m+1番目の投稿データを次の対象投稿データとして、ステップS13からステップS14までの処理を行う。
【0078】
トレンド度取得部102が、mが総投稿データ数Mと等しいと判定した場合(ステップS15において「YES」の)場合、トレンド度取得部102は処理をステップS16に進める。
【0079】
次に、トレンド度取得部102は、POI毎にトレンド度を合算する(ステップS16)。トレンド度取得部102は、総投稿データに含まれる投稿データ毎にPOIに対するトレンド度を取得している。トレンド度取得部102は、投稿データのPOIに対するトレンド度を、各POI毎に合算する。
【0080】
例えば、「投稿データA」と「POI1」とのトレンド度が「0.5」であり、「投稿データB」と「POI2」とのトレンド度が「0.75」、「投稿データC」と「POI1」とのトレンド度が「0.3」である場合について説明する。「POI1」のトレンド度を求めるために、「POI1」と対応付けられた、「投稿データA」のトレンド度「0.5」と「投稿データC」のトレンド度「0.3」を合算する。「POI2」のトレンド度は、「投稿データB」とのトレンド度である「0.75」のみであるから、このトレンド度をそのまま「POI2」のトレンド度とする。従って、「POI1」のトレンド度は「0.8」、「POI2」のトレンド度は「0.75」として算出される。
【0081】
次に、トレンド度取得部102は、POI毎に合算したトレンド度をPOIトレンドDB113のトレンド度113eに格納する(ステップS17)。トレンド度取得部102は、本フローチャートの処理を終了する。
【0082】
なお、POIトレンドDB113のトレンド度113eには、各投稿データのPOIに対するトレンド度を合算した値が格納されるが、ここで値を相対化してもよい。例えば、トレンド度を合算した値を、トレンド度の算出に用いた投稿データの総数Mで除算することにより、相対化したトレンド度を算出し、トレンド度113eに格納してもよい。また例えば、トレンド度を合算した値を、トレンド度の最大値Nで除算することにより、相対化したトレンド度を算出してもよい。これにより、トレンド度の最大値Nを1とした場合の各トレンド度の割合が、0〜1の数値で示される。
【0083】
本実施形態では、投稿データ毎にPOIとの一致度を算出し、一致度に基づいて算出されたトレンド度をPOI毎に合算することにより、POIが流行しているか否かを客観的な値として取得することができる。
【0084】
次に、ステップS13で行われる一致度算出処理を、より具体的に説明する。
【0085】
図9は、一致度算出処理の一例を示すフローチャート(その1)である。
【0086】
一致度とは、投稿データと特定のPOIとの一致の度合いを示す値であって、投稿データとPOIとの対に対して一致度が算出される。一致度が高いということは、投稿データにおいてなされている言及が、対となるPOIに関する言及である確率が高いということを意味する。
【0087】
トレンド度取得部102は、対象投稿データ中に、いずれかのPOIのPOI名と一致するワードがあるか否かを判定する(ステップS1301)。具体的には、トレンド度取得部102は、POIデータDB112のPOI名112bを参照し、個々のPOIについて、POI名を構成する文字列が対象投稿データに含まれているか否かを判定する。
【0088】
トレンド度取得部102が、対象投稿データ中にいずれかのPOIのPOI名と一致するワードがあると判定した場合(ステップS1301で「YES」の場合)、トレンド度取得部102は、ワードが一致するPOI名に係るPOIを対象POIとして特定し、対象POIの数を特定する(ステップS1302)。ここで、対象POIをA1とする。
【0089】
なお、対象投稿データ中にワードが一致するPOI名に係るPOI(対象POI)が複数存在する場合、トレンド度取得部102はワードが一致するPOIの各々について、順に対象POIとして特定し、処理を実行する。
【0090】
次に、トレンド度取得部102は、A1の一致度を「一致度=1/(A1の数)」として算出する(ステップS1303)。トレンド度取得部102は、A1に含まれる対象POIの各々に、算出した一致度を対応付けてバッファに格納し、本フローチャートの処理を終了する。
【0091】
トレンド度取得部102が、対象投稿データ中にいずれかのPOIのPOI名と一致するワードがあると判定しなかった場合(ステップS1301で「NO」の場合)、トレンド度取得部102は、対象投稿データ中に、いずれかのPOIの先頭からn1文字までの文字列と一致するワードがあるか否かを判定する(ステップS1304)。具体的には、トレンド度取得部102は、POIデータDB112のPOI名112bとn1_112gとを参照し、個々のPOIについて、先頭からn1文字の連続する文字からなる文字列が対象投稿データに含まれているか否かを判定する。
【0092】
ここで
図4を参照する。レコード112yのn1_112gは6であるため、POI名112bの「AAABBB」について、先頭から6文字の連続する文字からなる文字列、つまり「AAABBB」が対象投稿データに含まれているか否かを判定する。同様に、レコード112zのPOI名112bが「BBBCCC」であって、n1_112gが4であるため、先頭から4文字の連続する文字からなる文字列「BBBC」が、対象投稿データに含まれているか否かを判定する。この処理を、POIデータDB112に含まれる全てのPOIについて実行する。
【0093】
トレンド度取得部102が、対象投稿データ中にいずれかのPOIのn1と一致するワードがあると判定した場合(ステップS1304で「YES」の場合)、トレンド度取得部102は、ワードが一致するPOIを対象POIとして特定する。トレンド度取得部102は、一致する対象投稿データに投稿場所を示す緯度・経度が付加されており、かつその緯度・経度が、対象POIの緯度・経度と同じであるか否かを判定する(ステップS1305)。トレンド度取得部102は、対象投稿データの緯度・経度を用いてPOIデータDB112を参照し、対象POIの経度112dと緯度112eが一致するか否かを判定する。
【0094】
なお、対象投稿データ中にワードが一致するPOI名が複数存在する場合、トレンド度取得部102はワードが一致するPOIの各々について、順に対象POIとして特定し、処理を実行する点は、上述の場合と同様である。
【0095】
対象投稿データに緯度・経度が付加されており、かつその緯度・経度が対象POIの緯度・経度と同じである場合とは、ユーザーが対象POIの付近で対象投稿データを投稿したことを意味する。対象投稿データには対象POIのPOI名の少なくとも一部が含まれているため、投稿がなされた位置と対象POIの位置が一致するということは、対象投稿データは対象POIに関する言及である蓋然性が高いと考えることができる。
【0096】
なお、緯度・経度が一致する場合とは、必ずしも数値が同じであることを意味しない。例えば数値の差が所定範囲(例えば±3秒)に留まる場合、緯度・経度は一致するものとして取り扱われる。
【0097】
トレンド度取得部102が、対象投稿データに緯度・経度が含まれており、かつその緯度・経度が対象POIの緯度・経度と同じであると判定した場合(ステップS1305で「YES」の場合)、トレンド度取得部102は、対象投稿データと緯度・経度の一致する対象POIの数を特定する(ステップS1306)。ここで、対象投稿データの緯度・経度と位置が一致する対象POIをA2とする。
【0098】
次に、トレンド度取得部102は、A2の一致度を「一致度=1/(A2の数)」として算出する(ステップS1307)。トレンド度取得部102は、A2に含まれる対象POIの各々に、算出した一致度を対応付けてバッファに格納し、本フローチャートの処理を終了する。
【0099】
ステップS1305において、対象投稿データに緯度・経度が含まれており、かつ対象投稿データに含まれる緯度・経度が対象POIの緯度・経度と同じであるとトレンド度取得部102が判定しなかった場合(ステップS1305で「NO」の場合)、処理をステップS1308に進める。
【0100】
図10は、一致度算出処理の一例を示すフローチャート(その2)である。
【0101】
トレンド度取得部102は、対象投稿データに投稿地域を特定する情報が付加され、かつ対象POIのPOI名に投稿地域が含まれるか否かを判定する(ステップS1308)。
【0102】
具体的には、トレンド度取得部102は、投稿データDB111の地域111eを参照して対象投稿データの投稿地域を特定する。トレンド度取得部102は特定した投稿地域を用いてPOIデータDB112のPOI名112bを参照し、対象POIのPOI名に投稿地域が含まれているか否かを判定する。例えば、対象投稿データの投稿地域が「横浜市」であって、対象POIのPOI名が「ビストロ○○ 横浜支店」である場合、トレンド度取得部102は対象投稿データの投稿地域が対象POIのPOI名に含まれていると判定する。
【0103】
トレンド度取得部102が、対象投稿データに投稿地域を特定する情報が付加され、かつ対象POIのPOI名に投稿地域が含まれると判定した場合(ステップS1308で「YES」の場合)、トレンド度取得部102は、投稿地域を含む対象POIの数を特定する(ステップS1309)。ここで、対象投稿データの投稿地域を含む対象POIをA3とする。
【0104】
次に、トレンド度取得部102は、A3の一致度を「一致度=1/(A3の数)」として算出する(ステップS1310)。トレンド度取得部102は、A3に含まれる対象POIの各々に、算出した一致度を対応付けてバッファに格納し、本フローチャートの処理を終了する。
【0105】
ステップS1308において、対象投稿データに投稿地域を特定する情報が付加され、かつ対象POIのPOI名に投稿地域が含まれていると判定しない場合(ステップS1308で「NO」の場合)、トレンド度取得部102は、対象POIの数を特定する(ステップS1311)。ここで、対象POI、つまり対象投稿データ中にPOI名の先頭からn1文字の文字列が含まれるPOIをA4とする。
【0106】
次に、トレンド度取得部102は、A4の一致度を「一致度=1/(A4の数)」として算出する(ステップS1312)。トレンド度取得部102は、A4に含まれる対象POIの各々に、算出した一致度を対応付けてバッファに格納し、本フローチャートの処理を終了する。
【0107】
図9に戻って説明する。ステップS1304において、トレンド度取得部102が、POIデータDB112に格納されたいずれかのPOIの先頭からn1文字までの連続する文字からなる文字列と一致するワードが対象投稿データに含まれていると判定しない場合(ステップS1304で「NO」の場合)、処理をステップS1313に進める。
【0108】
図11は、一致度算出処理の一例を示すフローチャート(その3)である。
【0109】
トレンド度取得部102は、POIデータDB112に格納されたいずれかのPOIの先頭からn2文字までの連続する文字からなる文字列と一致するワードが、対象投稿データに含まれているか否かを判定する(ステップS1313)。トレンド度取得部102が、いずれかのPOIの先頭からn2文字までの連続する文字からなる文字列と一致するワードが対象投稿データに含まれていると判定しない場合(ステップS1313で「NO」の場合)、トレンド度取得部102は本フローチャートの処理を終了する。
【0110】
トレンド度取得部102が、いずれかのPOIの先頭からn2文字の連続する文字からなる文字列と一致するワードが、対象投稿データに含まれていると判定した場合(ステップS1313で「YES」の場合)、トレンド度取得部102は、ワードが一致する1又は複数のPOIを対象POIとして特定する。トレンド度取得部102は、一致する対象投稿データに投稿場所を示す緯度・経度が付加されており、かつその緯度・経度が、対象POIの緯度・経度と同じであるか否かを判定する(ステップS1314)。
【0111】
ステップS1314からステップS1321までの間に行われる処理は、ステップS1305からステップS1312までの間に行われる処理と同様であるため、説明を省略する。トレンド度取得部102は、対象投稿データと対象POIとの一致度を算出し、対象POIを特定する情報と対応させてバッファに格納する。
【0112】
本実施形態では、各投稿データについて対象POI毎に一致度を算出する。既に述べたように、算出した一致度に基づいてトレンド度を算出し、同じPOIについて算出されたトレンド度を合算する。POIが流行しているか否かは、インターネット上で話題にされているか否かを判断材料の1つとすることができるため、投稿データに含まれるワードに基づいて算出したトレンド度をPOI毎に合算することで、POIが流行しているか否かの客観的な指標を取得することができる。
【0113】
図12は、POI情報提供処理の流れを示すシーケンス図である。
【0114】
まず、ユーザー側端末装置20の移動経路探索部201は、移動経路情報を取得する(ステップS21)。具体的には、移動経路探索部201は、現在地又は出発地と、目的地との入力を受け付け、現在地又は出発地から目的地までの経路を特定する情報を取得する。
【0115】
次に、リクエスト作成部202は、要求するPOIのカテゴリーを取得する(ステップS22)。カテゴリーはPOIの種別を示す情報であって、例えばリクエスト作成部202 は、複数のカテゴリーの中から要求するPOIのカテゴリーの選択を受け付けることにより、カテゴリーを取得する。例えば、リクエスト作成部202は、要求するPOIのカテゴリー「レストラン」を特定する情報を取得する。
【0116】
次に、リクエスト作成部202は、POI情報要求エリアを特定する(ステップS23)。具体的には、ステップS21で取得した移動経路から所定距離にあるエリアを、POI情報要求エリアとして特定する。
【0117】
次に、リクエスト送信部203は、POI情報を要求するリクエストをサーバー装置10に対して送信する(ステップS24)。POI情報とは、POIに関する情報であるPOIデータと、POIのトレンド度とを含む情報である。リクエストには、ステップS22で特定したPOIのカテゴリーと、ステップS23で特定したPOI情報要求エリアとが含まれている。
【0118】
次に、サーバー装置10のPOI情報特定部103は、ユーザー側端末装置20から送信されたリクエストを参照し、リクエストに応じたPOI情報を特定する(ステップS25)。具体的には、POI情報特定部103はPOIデータDB112のカテゴリー112cと住所112fとを参照し、リクエストに含まれるPOI情報要求エリア内に住所112fがあり、リクエストに含まれるカテゴリーと対応するカテゴリー112cを有するPOIを特定する。POI情報特定部103は、特定したPOIのPOI_ID112aを用いてPOIトレンドDB113を参照し、一致するPOI_ID113aと対応するトレンド度113eを特定する。
【0119】
次に、レスポンス送信部105は、POI情報特定部103により特定されたPOIについて、POIデータDB112に含まれるPOIデータと、トレンド度とを対応させたPOI情報を含むレスポンスを送信する。ユーザー側端末装置20及びサーバー装置10は、本シーケンスの処理を終了する。
【0120】
次に、ユーザー側端末装置20において行われるPOI情報表示処理について説明する。ユーザー側端末装置20の表示装置222には、ユーザー側端末装置20の移動に伴って更新される地図情報が表示される。地図情報上には、ユーザー側端末装置20の現在地と、目的地までの移動経路と共に、POI情報が表示される。
【0121】
図13は、POI情報表示処理の一例を示すフローチャートである。ユーザー側端末装置20は予めサーバー装置10からPOI情報を取得している。
【0122】
移動経路探索部201は、GPS受信装置223を用いてユーザー側端末装置20の現在地を取得する(ステップS31)。
【0123】
次に、POIトレンド特定部204は、表示装置222への地図情報の表示範囲を表示部206から取得する(ステップS32)。表示部206は、ユーザー側端末装置20から所定範囲にあるエリアを地図情報として表示するよう制御している。POIトレンド特定部204は、地図情報の表示範囲を取得する。
【0124】
次に、POIトレンド特定部204は、表示対象のPOI情報を特定する(ステップS33)。具体的には、POIトレンド特定部204は、サーバー装置10から取得したPOI情報のうち、ステップS32で取得した表示範囲内にあるPOIであって、ステップS31で取得したユーザー側端末装置20の現在地よりも目的地寄りにあるPOIを特定する。
【0125】
次に、POI推薦度算出部205は、特定されたPOIと対応付けられたトレンド度に基づいて、POIの推薦度を算出する(ステップS34)。具体的には、POI推薦度算出部205は、POIの所在地とユーザー側端末装置20との間の距離に応じた距離指数をトレンド度に乗じることで、POIの推薦度を算出する。距離指数は、POIの所在地とユーザー側端末装置20との間の距離が短いほど大きい値を設定する。これにより、トレンド度が同じである複数のPOIであっても、移動経路から近いPOIについては推薦度が高くなる。
【0126】
なお、POI推薦度算出部205は、算出した推薦度をスケーリング等により簡略化してもよい。例えば、推薦度が「0以上10未満」に対して評価1、推薦度が「10以上11未満」に対して評価2、というように、推薦度の値に応じて段階評価することで、推薦度を簡略化してもよい。
【0127】
次に、表示部206は、表示装置222の表示画面を更新する(ステップS35)。表示部206は本フローチャートの処理を終了する。
【0128】
図14は、POI情報表示画面230の一例を示す図である。POI情報表示画面230は、地図情報表示領域231と、POI情報表示領域232とを有する。
【0129】
地図情報表示領域231には、ユーザー側端末装置20の現在位置から所定距離の移動経路を含む地図情報が表示される。地図情報上には、ユーザー側端末装置20の現在位置231aと、現在位置から所定距離内にあり、かつ現在位置より目的地寄りにあるPOI231bが表示される。また、地図情報表示領域231には、POIの名称とPOIの推薦度を示すPOI情報231cが表示される。表示部206は、サーバー装置10から取得したPOI情報に含まれるPOIの住所等に基づいて、POI231bを地図上の所定の位置に表示する。
【0130】
POI情報表示領域232には、地図情報表示領域231に表示されているPOIの名称であるPOI名称232aと、POIの推薦度232bとが表示される。
【0131】
図14(a)のPOI情報表示画面230には、現在位置231aから目的地寄りにあるPOI231bである「店舗AAA」と、「店舗BBB」とが表示されている。ユーザー側端末装置20の移動に伴い、POI情報表示画面230は
図14(b)に遷移する。
【0132】
移動後、ユーザー側端末装置20が「店舗AAA」を通り過ぎたことに伴い、POIトレンド特定部204は、「店舗AAA」のPOIを表示対象から除外する。一方、POIトレンド特定部204は、新たな地図情報の表示範囲に「店舗CCC」のPOIが存在するため、「店舗CCC」のPOIを表示対象として特定する。表示部206は、「店舗CCC」のPOIと推薦度とをPOI情報表示画面230に表示する。
【0133】
本実施形態により、投稿データ数に基づいて客観的に算出されたトレンド度を用いて、POIの推薦度を取得することができる。また、ユーザー側端末装置20の移動に伴って更新される地図情報にPOIに関する情報を表示することで、ユーザーは移動先にあるPOIと該POIがどの程度流行しているか否かを、容易に認識することができる。
【0135】
次に、POI情報提供システム1における第1の変形例について説明する。上述の実施形態では、投稿データに含まれるPOIの評価の如何に関わらず、投稿データとPOIとの一致度を算出した。第1の変形例では、POIについてネガティブな評価が投稿データに含まれている場合に、他の投稿データと一致度を異ならせて算出する。以下、上述の実施形態と相違する点を中心に説明し、同様の点については説明を省略する。
【0136】
サーバー装置10の記憶部110には、投稿データ中に含まれうるネガティブワードが予め格納されている。ネガティブワードとは、例えば「悪い」「まずい」「汚い」等のワードであって、POI名と共に使用された場合に、POIについてマイナスの評価がなされていると推測される文言である。
【0137】
図9に示す一致度算出処理において、トレンド度取得部102は、対象投稿データについてPOI名との比較を行うが、この際に、トレンド度取得部102は対象投稿データにネガティブワードが含まれているか否かを特定する。ネガティブワードが含まれている場合、トレンド度取得部102は、対象投稿データとPOIとの対について算出される一致度に、投稿指数X(X=−1)を乗算する。これにより、ネガティブワードを含む対象投稿データとPOIとの一致度、及びトレンド度は負数になる。なお、X=0であってもよい。
【0138】
各POIについて、算出されたトレンド度が合算されるが、マイナスの評価がなされた対象投稿データとPOIとのトレンド度が低くなれば、それだけトレンド度を合算した値が低くなる。本変形例では、投稿データの投稿内容に応じた投稿指数を用いて一致度を算出することで、POIの評判に応じたトレンド度を取得することができる。
【0140】
次に、POI情報提供システム1における第2の変形例について説明する。第2の変形例では、投稿データを投稿したユーザー側端末装置20の種類に応じて、一致度を異ならせて算出する。
【0141】
図9に示す一致度算出処理において、トレンド度取得部102は、対象投稿データとPOIとの一致度を算出する際に、対象投稿データと対応する端末111cを特定し、端末111cに応じた端末指数を一致度に乗算する。端末指数は、端末がPC以外である場合を、PCである場合に比べて高く設定される。例えば端末がPC以外である場合、端末指数は10であり、端末がPCである場合、端末指数は1である。
【0142】
端末がPC以外である場合、ユーザーは自宅以外の場所、例えば移動先から投稿を行っていると考えられる。端末がPC以外である場合であって、投稿データに緯度・経度又は地域を示す情報が含まれている場合、PCから投稿を行っている場合に比べてユーザーはPOI付近から投稿を行っている可能性が高く、対象投稿データは対象POIに関する言及である蓋然性が高いと考えられる。従って、端末がPC以外である場合にPCである場合に比べて高い投稿指数を一致度に乗算し、トレンド度が高く算出されるようにする。
【0143】
本変形例では、投稿データが投稿されたユーザー側端末装置20の種別に応じた端末指数を一致度に乗算することで、より精度の高いトレンド度を取得することができる。
【0145】
次に、第3の変形例について説明する。第3の変形例では、POI毎にキーワードを設定する。対象投稿データとPOI名とを比較して一致度を算出する際、対象投稿データにPOIと対応するキーワードが含まれる場合に、一致度を割り増して算出する。
【0146】
図15は、第2の実施形態におけるPOIデータDB112Aの一例を示す図である。
図4のPOIデータDB112と同様の点については、説明を省略する。
【0147】
POIデータDB112Aは、メタデータ112iを含む。メタデータ112iには、各POIに対応付けられたキーワードであって、流行であるか否かの指標に用いることのできるキーワードが格納されている。例えば「沖縄料理」が流行している場合、飲食店のPOIのメタデータ112iに「沖縄」を特定する情報を格納する。同様に、観光施設に設ける「足湯」が流行している場合に、観光施設のメタデータ112iに「足湯」を特定する情報を格納する。
【0148】
図9に示す一致度算出処理において、トレンド度取得部102は、対象投稿データについてPOI名との比較を行い、全部又は一部において一致するPOIを対象POIとして取り扱い、一致度を算出する。トレンド度取得部102は、対象POIについてPOIデータDB112Aを参照し、対象POIのメタデータ112iに含まれるキーワードが対象投稿データに含まれているか否かを判定する。トレンド度取得部102は、対象POIのメタデータ112iに含まれるキーワードが対象投稿データに含まれる場合に、対象投稿データに含まれるキーワード数に応じたメタデータ指数を、一致度に加算する。
【0149】
なお、サーバー装置10がユーザー側端末装置20に送信するレスポンスに含まれるPOI情報に、メタデータ112iに格納されたキーワードを含めることができる。POI情報を取得したユーザー側端末装置20は、表示部206にPOI情報を表示する際に、キーワードをPOI情報と併せて表示してもよい。
【0150】
本変形例により、投稿データにおいてPOIに関する言及がなされており、かつ投稿データに流行しているキーワードが含まれる場合に、一致度がより高く算出される。つまり、POIのトレンド度がその時のトレンドに応じて算出される。従って、ユーザー端末装置に表示されたPOI情報を参照することで、ユーザーはPOIの流行度合いを認識することができる。また、キーワードをPOI情報表示画面230に表示することで、ユーザーはPOIと流行しているキーワードとの関連を認識することができる。
【0152】
次に、第4の変形例について説明する。第4の変形例では、ユーザー側端末装置20は図示しない記憶部に移動履歴を保持する。ユーザー側端末装置20は、現在地と移動履歴とに応じてPOI情報要求エリアを特定し、サーバー装置10に送信するリクエストに含めて送信する。
【0153】
図16は、移動履歴DB211の一例を示す図である。移動履歴DB211は、道路ID211aと、移動方向211bと、移動回数211cと、所在地211dとを含む。
【0154】
道路ID211aには、ユーザー側端末装置20が移動する道路を特定する識別情報が格納される。移動方向211bには、ユーザー側端末装置20が移動する方向を特定する情報が格納される。移動方向211bには、例えば北方向に移動する場合に0を、南方向に移動する場合に1を格納する。
【0155】
移動回数211cには、ユーザー側端末装置20が移動した移動回数を示す数値が格納される。所在地211dには、道路ID211aにより特定される道路の所在地が格納される。
【0156】
図12に示すPOI情報提供処理では、ユーザー側端末装置20のリクエスト作成部202が、現在地又は出発地と目的地とに基づいて取得した移動経路から所定距離にあるエリアを、POI情報要求エリアとして特定する。本変形例では、リクエスト作成部202はGPS受信装置223を用いて現在地を取得し、取得した現在地を用いて移動履歴DB211の所在地211dを参照し、現在地を含む1又は複数の道路の道路ID211aを特定する。リクエスト作成部202は、特定した道路ID211aのうち、移動回数211cの最も多い道路の道路ID211aを特定する。リクエスト作成部202は、特定した道路ID211aから所定距離にあるエリアを、POI情報取得エリアとして特定する。
【0157】
その後、リクエスト送信部203が、POI情報要求エリアを特定する情報を含むリクエストをサーバー装置10に送信する点については、上述の実施形態と同様である。
【0158】
なお、移動履歴DB211には、道路ID211aに対応させて、連結先の道路を特定する情報を格納してもよい。リクエスト作成部202は、現在地を含む道路ID211aのうち移動回数211cの最も多い道路の道路ID211aを特定するとともに、特定した道路の移動方向211b側に連結する走行回数の多い道路を繰り返し特定することにより、移動予測経路を取得してもよい。この場合、移動予測経路から所定距離にあるエリアをPOI情報要求エリアとして特定する。
【0159】
本変形例により、ユーザー側端末装置20において目的地等の入力を受け付けて移動経路を探索する処理を省略することができる。現在地から移動履歴の多い移動経路を取得してPOI情報を表示するため、ユーザーは移動経路を探索するための情報の入力を行う手間を省くことができる。
【0160】
以上、本発明に係る各実施形態及び変形例の説明を行ってきたが、本発明は、上記した実施形態の一例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態の一例は、本発明を分かり易くするために詳細に説明したものであり、本発明は、ここで説明した全ての構成を備えるものに限定されない。また、ある実施形態の一例の構成の一部を他の一例の構成に置き換えることが可能である。また、ある実施形態の一例の構成に他の一例の構成を加えることも可能である。また、各実施形態の一例の構成の一部について、他の構成の追加・削除・置換をすることもできる。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、図中の制御線や情報線は、説明上必要と考えられるものを示しており、全てを示しているとは限らない。ほとんど全ての構成が相互に接続されていると考えてもよい。
【0161】
また、上記のサーバー装置10又はユーザー側端末装置20の機能構成は、理解を容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。サーバー装置10又はユーザー側端末装置20の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
【0162】
例えば、ユーザー側端末装置20では、移動経路から所定距離にある範囲をPOI情報要求エリアとして特定したが、現在地から所定距離にある範囲をPOI情報要求エリアとして特定してもよい。ユーザー側端末装置20において移動が想定されない場合に、現在地から所定範囲にあるPOIを表示することができる。
【0163】
また、移動経路の探索をユーザー側端末装置20の移動経路探索部201が行っている点について、移動経路の探索をサーバー装置10が行うものであってもよい。例えば、ユーザー側端末装置20の現在地と目的地とをサーバー装置10に送信することで、サーバー装置10が移動経路を特定するものであってもよい。
【0164】
同様に、ユーザー側端末装置20のPOI推薦度算出部205が、サーバー装置10により算出されたトレンド度と移動経路とに基づいて推薦度を算出したが、推薦度の算出はサーバー装置10で行ってもよい。例えば、ユーザー側端末装置20の表示範囲に関する情報と移動経路とをサーバー装置10に送信することで、サーバー装置10で表示対象のPOIを特定し、移動経路に基づいて推薦度を算出するものであってもよい。