以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、情報提供システムに対して本発明を適用した場合の実施形態である。
[1.情報提供システムの構成及び機能概要]
先ず、本発明の一実施形態に係る情報提供システムSの構成及び概要機能について、図1を用いて説明する。図1は、本実施形態に係る情報提供システムSの概要構成例を示す図である。図1に示すように、情報提供システムSは、携帯端末1、ゲートウェイサーバ2、投稿処理サーバ3、予約処理サーバ4、及び位置解析処理サーバ5を含んで構成される。
携帯端末1は、通信機能を有する携帯電話機、スマートフォン、または携帯ゲーム機などの移動体通信装置である。携帯端末1は、移動体通信ネットワーク(キャリア網)MNにおける基地局からの電波の届く範囲内で当該基地局を介して移動体通信ネットワークMNに接続し、当該移動体通信ネットワークMNを経由してインターネットINに接続可能になっている。移動体通信ネットワークMNは、通信キャリアにより構築及び運営される3G通信回線を備えて構成されるネットワークである。また、無線LAN機能を有する携帯端末1の場合、携帯端末1は、無線LAN機能によりモバイルルータ(「モバイルWi-Fi(登録商標)ルータ」ともいう)と無線通信を行い、当該モバイルルータを介して移動体通信ネットワークMNに接続し、当該移動体通信ネットワークMNを経由してインターネットINに接続することも可能である。この場合、モバイルルータが基地局を介して移動体通信ネットワークMNに接続することになる。モバイルルータは、例えば、携帯端末1のユーザにより携帯端末1と共に携帯される。なお、図1の例では、1つの携帯端末1を示しているが、実際には、例えばユーザごとに存在する。1つの移動体通信ネットワークMNを示しているが、実際には通信キャリアごとに存在する。
ゲートウェイサーバ2は、移動体通信ネットワークMN及びインターネットINに接続され、移動体通信ネットワークMNとインターネットINとの間で各種データ(パケット)を中継するサーバである。インターネットIN側では、例えばHTTP(Hypertext Transfer Protocol)でデータの送受信が行われる一方、移動体通信ネットワークMN側では、通信キャリアに応じた通信プロトコルで各種データの送受信が行われる。そのため、ゲートウェイサーバ2は、データ中継時にプロトコル変換などの処理を行う。携帯端末1のブラウザからインターネットIN上のWebサイトへのアクセスは、移動体通信ネットワークMN及びゲートウェイサーバ2を経由して行われる。ゲートウェイサーバ2は、例えば、通信キャリアごとに構築及び運営される。
投稿処理サーバ3は、例えばインターネットINに接続され、携帯端末1またはパーソナルコンピュータ(図示せず)からの投稿データの登録及び公開を行うWebサイトを運営するためのサーバである。このWebサイトの例としては、ブログサイト、SNS(Social Networking Service)サイト(コミュニティサイト)、ミニブログサイト(例えば、ツイッター(TWITTER(登録商標))サイトなど)、及びクチコミサイトが挙げられる。他にも、上記Webサイトの例としては、投稿データの登録及び公開を兼ねるショッピングサイト、オークションサイト、旅行予約サイト、宿泊予約サイト、及び施設利用予約サイトなどもある。投稿処理サーバ3は、例えば、これらのサイトごとに設置される。投稿処理サーバ3は、Webサーバ機能を有する1つのサーバにより構成されてもよいし、例えばWebサーバ、アプリサーバ、及びデータベースサーバなどのように機能分割された複数のサーバから構成されてもよい。なお、本実施形態では、投稿処理サーバ3は、インターネットINに接続されているサーバを例にとっているが、移動体通信ネットワークMNに接続されているサーバであってもよい。
投稿処理サーバ3は、携帯端末1またはパーソナルコンピュータから送信された投稿データを受信すると、受信した投稿データを投稿管理データベース(DB)31に登録する。投稿データには、例えば、投稿日時(投稿データの送信日時)、及び投稿内容が含まれる。投稿内容は、例えば、ブログのエントリー、ツイート、SNSのコメント(伝言)、又はクチコミなどを示す。投稿内容には、ある特定のスポット(場所)を示すキーワードが含まれる場合がある。
図2(A),(B)は、携帯端末1のブラウザによりブログサイトから取得され、表示された投稿データの表示画面の一例を示す図である。例えば、図2(A)に表示された投稿データに含まれる「AAホテル」及び「ロビー」、及び図2(B)に表示された投稿データに含まれる「宝物館」は、それぞれ、スポットを示すキーワードに該当する。本実施形態では、投稿データに含まれる、スポットを示すキーワードを用いて、当該スポットの位置に対応する位置情報を特定するように構成される。
また、投稿データは、例えばHTTPリクエストのボディに含まれて投稿処理サーバ3により受信されるが、移動体通信ネットワークMN及びゲートウェイサーバ2を経由して受信されたHTTPリクエストのヘッダには、一般に、ユーザエージェント(UA)が含まれる。このユーザエージェントには、上記通信キャリア名と携帯端末1の機種名との少なくとも何れか一方を示す文字列を含まれる場合がある。この場合、投稿データを送信したHTTPリクエスト中のユーザエージェント(上記通信キャリア名と携帯端末1の機種名との少なくとも何れか一方を示す文字列を含む)と該投稿データとが対応付けられて投稿管理データベース31に登録される。なお、投稿処理サーバ3により受信された投稿データの送信元IPアドレスが該投稿データに対応付けられて投稿管理データベース31に登録されるように構成してもよい。この場合の送信元IPアドレスは、例えば、投稿データを中継したゲートウェイサーバ2のIPアドレスとなる。
また、投稿データの登録にあたりログインを要求するWebサイトの場合、投稿データを送信した携帯端末1またはパーソナルコンピュータなどのユーザのユーザIDと該投稿データとが対応付けられて投稿管理データベース31に登録される。ここで、ユーザIDは、ユーザを識別するユーザ識別情報である。このユーザIDは、例えば、投稿データに含まれる(或いは投稿データに付加される)。また、投稿データには、ユーザIDでなく、ユーザIDに対応するクッキーIDなどの識別情報が含まれる(或いは投稿データに付加される)場合もある。この場合、クッキーIDなどの識別情報がユーザ識別情報として、当該投稿データに対応付けられて投稿管理データベース31に登録されるように構成してもよい。また、携帯端末1またはパーソナルコンピュータから送信された投稿データには、画像データ(写真データ)が付加(添付)されている場合がある。この場合、投稿データに付加された画像データと該投稿データとが対応付けられて投稿管理データベース31に登録される。画像データから画像撮影日時が取得できる場合もある。また、例えば、カメラ機能及びGPS機能を有する携帯端末1の場合、カメラ機能により撮影された画像データには、GPS機能により検出された緯度及び経度を示す位置情報が付加(例えばジオタグとして付加)される場合がある。この場合、位置情報が付加された画像データと投稿データとが対応付けられて投稿管理データベース31に登録される。なお、画像データに付加された位置情報は、画像撮影地点を示す位置情報である。或いは、投稿データ自体に、GPS機能により検出される緯度及び経度を示す位置情報が付加される場合もある。この場合、投稿データに付加された緯度及び経度を示す位置情報と該投稿データとが対応付けられて投稿管理データベース31に登録される。なお、投稿データに付加された位置情報は、投稿データの送信地点を示す位置情報である。
予約処理サーバ4は、例えばインターネットINに接続され、携帯端末1またはパーソナルコンピュータからの施設の利用予約要求又は宿泊予約要求に応じて、該施設の利用予約又は宿泊予約の登録を行うWebサイトを運営するためのサーバである。このWebサイトの例としては、旅行予約サイト、施設の宿泊予約サイト、及び施設の利用予約サイトなどが挙げられる。施設には、例えばホテル、旅館、、レストラン、料亭、コンサート会場、演劇場、イベント会場、ゴルフ場、ゴルフ等の練習場、ヘアサロン、博物館、及び映画館などが該当する。なお、これらの施設は、一例であり、これらの施設に限定されるものではない。予約処理サーバ4は、例えば、これらのサイトごとに設置される。予約処理サーバ4は、Webサーバ機能を有する1つのサーバにより構成されてもよいし、例えばWebサーバ、アプリサーバ、及びデータベースサーバなどのように機能分割された複数のサーバから構成されてもよい。なお、本実施形態では、予約処理サーバ4は、インターネットINに接続されているサーバを例にとっているが、移動体通信ネットワークMNに接続されているサーバであってもよい。
予約処理サーバ4は、ユーザのログイン後、携帯端末1またはパーソナルコンピュータから、予約に必要な予約データを施設の利用予約要求又は宿泊予約要求と共に受信すると、当該予約データを、予約したユーザのユーザIDに対応付けて予約管理データベース(DB)41に登録する。予約データには、例えば、施設の場所(例えば、住所、または緯度及び経度を示す位置情報)、利用日時又は宿泊日、利用人数又は宿泊人数などの情報が含まれる。また、ユーザが利用予約又は宿泊予約に対応する料金の決済を行った場合、その料金の決済の情報が予約管理データベース41に登録される。また、ユーザが利用予約又は宿泊予約のキャンセルを行った場合、そのキャンセルの情報が予約管理データベース41に登録される。なお、予約管理データベース41に登録された情報は、ユーザが施設の利用予約又は宿泊予約をした予約履歴を構成する。
位置解析処理サーバ5は、本発明の情報処理装置の一例であり、例えばインターネットINに接続される。なお、位置解析処理サーバ5は、例えば、投稿データの登録及び公開を行うWebサイトを運営するためのサーバの1つとして組み込まれてもよい。また、位置解析処理サーバ5は、例えば、施設の利用予約又は宿泊予約の登録を行うWebサイトを運営するためのサーバの1つとして組み込まれてもよい。また、本実施形態では、位置解析処理サーバ5は、インターネットINに接続されているサーバを例にとっているが、移動体通信ネットワークMNに接続されているサーバであってもよい。
図3(A)は、本実施形態に係る位置解析処理サーバ5の概要構成例を示す図である。図3(A)に示すように、位置解析処理サーバ5は、通信部51と、記憶部52(記憶手段の一例)と、入出力インターフェース部53と、システム制御部54と、を備えている。そして、システム制御部54と入出力インターフェース部53とは、システムバス55を介して接続されている。通信部51は、インターネットINに接続され、通常状態の制御を行う。
記憶部52は、例えば、ハードディスクドライブなどにより構成されており、オペレーティングシステム及び位置解析処理プログラム(本発明の情報処理プログラムを含む)などの各種プログラムを記憶する。なお、位置解析処理プログラムは、例えば、所定のサーバなどからインターネットINを介してダウンロードされるようにしても良いし、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記録媒体に記録されて読み込まれるようにしてもよい。
また、記憶部52には、キーワード対応付けデータベース(DB)521、投稿管理データベース(DB)522、予約管理データベース(DB)523、及び位置管理データベース(DB)524などが設けられる。なお、これらのデータベースは、記憶部52に設けられるのではなく、位置解析処理サーバ5とは異なる他のサーバに設けられるように構成してもよい。
キーワード対応付けデータベース521は、所定のスポットを示すキーワードと、スポットの位置を示す位置情報とを対応付けて登録する。所定のスポットを示すキーワードと、スポットの位置を示す位置情報は、例えばシステム管理者により予め登録される。図4(A)に、キーワード対応付けデータベース521の登録内容の一例を示す。図4(A)に示すキーワード対応付けデータベース521のレコード1には、スポットを示すキーワードである「AAホテル/××駅徒歩3分/ロビー」と、当該スポットの位置を示す位置情報である「名古屋市○○区1−2、AAホテル、1階」とが対応付けられて登録されている。この例では、スポットの位置は、住所、施設名、及び階数(フロア)により特定されるが、住所に代えて、緯度及び経度であってもよい。階数は、高度(高さ)を示す情報である。これにより、この例では、位置情報は、スポットの空間位置((経度,緯度,高度)又は(住所+階数))を規定している。
投稿管理データベース522は、投稿データを登録する。図4(B)に、投稿管理データベース522における登録内容の一例を示す。投稿管理データベース522に登録される投稿データは、例えば、各Webサイトにおける投稿処理サーバ3の投稿管理データベース31から所定のタイミングで取得される。このように、投稿管理データベース522には、ブログサイト、SNSサイト、ミニブログサイトなどの様々なWebサイトに投稿された投稿データが集約される。なお、上述したように投稿管理データベース31において投稿データに対応付けられて登録されたユーザIDなどの情報は、投稿データとともに取得され、図4(B)に示すように、投稿管理データベース522に登録される。また、投稿管理データベース522に登録された投稿データのうち、後述する位置解析処理に用いられた投稿データには、処理済フラグが対応付けられて登録される。
予約管理データベース523は、ユーザが施設の利用予約又は宿泊予約をした予約履歴を登録する。予約管理データベース523に登録される予約履歴は、例えば、各Webサイトにおける予約処理サーバ4の予約管理データベース41から所定のタイミングで取得される。なお、上述したように予約管理データベース41において予約履歴に対応付けられて登録されたユーザIDは、予約履歴とともに取得され、図4(C)に示すように、予約管理データベース523に登録される。
位置管理データベース524は、携帯端末1が移動体通信ネットワークMNに接続可能な位置を示す情報を登録する。図4(D)に、位置管理データベース524における登録内容の一例を示す。図4(D)に示す位置管理データベース524のレコード1には、携帯端末1が移動体通信ネットワークMNに接続可能な位置を示す位置情報、当該移動体通信ネットワークMNを運営する通信キャリアを示す情報、及び当該携帯端末1のユーザのユーザIDなどが対応付けられて登録されている。
システム制御部54は、CPU(Central Processing Unit)54a、ROM(Read Only Memory)54b、RAM(Random Access Memory)54cなどにより構成される。図3(B)は、システム制御部54における機能ブロックの一例を示す図である。コンピュータとしてのシステム制御部54は、記憶部52に記憶された位置解析処理プログラムにしたがって、位置解析処理を実行する。このような処理において、システム制御部54は、図3(B)に示すように、投稿データ取得部541、位置情報取得部542、端末存在可否判定部543、及び位置情報出力部544などとして機能する。なお、投稿データ取得部541は、本発明における第1取得手段の一例である。位置情報取得部542は、本発明における第2取得手段の一例である。端末存在可否判定部543は、本発明における判定手段の一例である。位置情報出力部544は、本発明における出力手段の一例である。
投稿データ取得部541は、携帯端末1を送信元とし移動体通信ネットワークMNを経由して伝送された投稿データ及びこれに対応付けられた情報を投稿管理データベース522から取得する。投稿データ取得部541が取得する投稿データには、携帯端末1を送信元とし、モバイルルータにより移動体通信ネットワークMNを経由して伝送された投稿データも含まれる。なお、投稿データ取得部541が取得する投稿データには、例えばパーソナルコンピュータから移動体通信ネットワークMNを経由せずに伝送された投稿データは含まれない。
位置情報取得部542は、例えばキーワード対応付けデータベース521から、投稿データ取得部541により取得された投稿データに含まれるキーワードに対応する位置情報(つまり、スポットの位置を示す位置情報)を取得する。なお、キーワード対応付けデータベース521が位置解析処理サーバ5とは異なる他のサーバに設けられる場合、位置情報取得部542は、投稿データ取得部541により取得された投稿データに含まれるキーワードを含む検索クエリを当該他のサーバに送信することにより、当該他のサーバから、上記投稿データに含まれるキーワードに対応する上記位置情報を取得する。位置情報取得部542により、投稿データの送信元の携帯端末1が当該投稿データの送信時点で存在していたであろうスポットの位置を示す位置情報を取得することができる。ただし、この段階では、投稿データの送信元の携帯端末1が、上記スポットの位置又は当該位置の近傍に存在していない場合もありえる。そのため、投稿データの送信元の携帯端末1が当該投稿データの送信時点で当該スポットの位置又は当該位置の近傍に存在していたことを、一定以上の程度の確度をもって裏付けるために、端末存在可否判定部543を設けている。
端末存在可否判定部543は、投稿データ取得部541により取得された投稿データの送信時に送信元の携帯端末1が存在していた位置の判定に資する、当該投稿データに関連して取得される関連情報に基づいて、当該投稿データの送信時に送信元の携帯端末1が、位置情報取得部542により取得された位置情報に対応する位置の近傍とする範囲(以下、「近傍範囲」という)内に存在していたか否かを判定する。ここで、「関連情報」には、例えば、「投稿データに付加された画像データ」、「投稿データに付加された位置情報」、「投稿者が位置情報に対応する位置にあるスポットにいることを前提として表現されたワード又はフレーズ」、「投稿者が位置情報に対応する位置にあるスポットにいないことを前提として表現されたワード又はフレーズ」、及び「投稿データの送信元の携帯端末1のユーザのユーザIDをキーとして取得可能な予約履歴」などが該当する。「位置情報に対応する位置の近傍範囲内に存在」には、例えば、「位置情報に対応する位置から所定の距離範囲(例えば、1〜2m)内に存在」、「位置情報に対応する位置が属する所定エリア(例えば、所定の番地)内に存在」、及び「位置情報に対応する位置から所定の時間(例えば、数十秒)内で移動可能な範囲内に存在」などが該当する。「位置情報に対応する位置の近傍範囲内に存在していたか否か」の判定により、投稿データの送信時に送信元の携帯端末1が当該投稿データに含まれるキーワードに対応するスポットの位置又は当該位置の近傍に存在していた可能性が高いか否かを決定する趣旨である。端末存在可否判定部543により、当該スポットに関する投稿データの送信元である携帯端末1が送信時点で当該スポットの位置又は当該位置の近傍に存在してか否かを、当該投稿データに関連する関連情報を利用して、一定以上の程度の確度をもって特定することができる。なお、関連情報に基づいて携帯端末1の存在可否を判定する方法の詳細については後述する。
位置情報出力部544は、端末存在可否判定部543により所定範囲内に存在していたと判定された場合、位置情報取得部542により取得された位置情報を、投稿データ取得部541により取得された投稿データが経由した移動体通信ネットワークMNに接続可能な位置を示す情報として出力する。位置情報出力部544による位置情報の出力先の例としては、例えば、位置管理データベース524、他のサーバ、管理者の端末、又は可搬型の記憶媒体などが挙げられる。なお、位置情報出力部544により出力される情報には、位置情報取得部542により取得された位置情報だけでなく、投稿データ取得部541により取得された投稿データが経由した移動体通信ネットワークMNを運営する通信キャリアを示す情報が含まれるように構成してもよい。また、位置情報出力部544により出力される情報には、投稿データ取得部541により取得された投稿データや、当該投稿データの送信元の携帯端末1のユーザのユーザIDが含まれるように構成してもよい。
[2.情報提供システムSの動作]
次に、本実施形態に係る情報提供システムSの動作について、図5を用いて説明する。図5は、位置解析処理サーバ5のシステム制御部54における位置解析処理を示すフローチャートである。なお、以下の説明する動作の前提として、投稿管理データベース522には、投稿処理サーバ3の投稿管理データベース31から取得された投稿データが登録されているものとする。また、予約管理データベース523には、予約処理サーバ4の予約管理データベース41から取得された予約履歴が登録されているものとする。
図5に示す処理は、例えば、予め設定された時間間隔(例えば、24時間毎)で実行される。図5に示す処理が開始されると、投稿データ取得部541は、投稿管理データベース522に登録されている投稿データで処理済フラグが対応付けられていない投稿データの中から、携帯端末1を送信元とし移動体通信ネットワークMNを経由して伝送された投稿データを選別する(ステップS1)。例えば、投稿データ取得部541は、投稿管理データベース522に登録された投稿データに対応付けられたユーザエージェント(通信キャリアを示す文字列)または送信元IPアドレスにより、携帯端末1を送信元とし移動体通信ネットワークMNを経由して伝送された投稿データを選別する。
ところで、モバイルルータにより移動体通信ネットワークMNを経由して伝送された投稿データの場合、リクエストのヘッダにユーザエージェントが含まれないことがあるため、ユーザエージェントによる選別は困難な場合がある。或いは、リクエストのヘッダにユーザエージェントが含まれる場合であっても、ユーザエージェント中の情報から通信キャリアを特定できないなどにより、携帯端末1を送信元とし移動体通信ネットワークMNを経由して伝送された投稿データを選別することが困難な場合も想定される。したがって、このような場合、例えば、投稿データに対応付けられた送信元IPアドレスにより上記投稿データを選別することがより好ましい。送信元IPアドレスのネットワーク部(ホストが所属するネットワークを示す)から通信キャリアを特定できる場合、送信元IPアドレスにより上記投稿データを選別することができる。この場合、例えば、送信元IPアドレスのネットワーク部には、投稿データを中継したゲートウェイサーバ2が所属するネットワークとして、移動体通信ネットワークMNが示されているので、これにより、上記投稿データを選別することができる。また、投稿データが、移動体通信ネットワークMNを経由する場合、送信元IPアドレスは、例えば、ゲートウェイサーバ2のIPアドレスとなる。そのため、予めゲートウェイサーバ2のIPアドレス一覧を記憶部52に記憶しておけば、投稿データ取得部541は、当該一覧を参照することにより、送信元IPアドレスにより上記投稿データを選別することができる。
なお、投稿データ取得部541は、投稿処理サーバ3の投稿管理データベース31から投稿データを取得する際に、携帯端末1を送信元とし移動体通信ネットワークMNを経由して伝送された投稿データを選別して投稿管理データベース522に登録するように構成してもよい。この場合、上記ステップS1において投稿データを選別する必要はない。
次いで、投稿データ取得部541は、例えばステップS1で選別した投稿データ及び当該投稿データに対応付けられた情報を投稿管理データベース522から取得する(ステップS2)。これにより、例えば、投稿データが複数取得される。次いで、位置情報取得部542は、ステップS2で取得された投稿データの中から投稿データを1つ特定する(ステップS3)。次いで、位置情報取得部542は、例えばキーワード対応付けデータベース521から、ステップS3で特定された投稿データに含まれるキーワードに対応する位置情報を取得する(ステップS4)。例えば、ステップS3で特定された投稿データに「AAホテル」及び「ロビー」が含まれているとし、図4(A)に示すキーワード対応付けデータベース521が参照されると仮定する。この場合、ステップS3で特定された投稿データから、例えば形態素解析などにより「AAホテル」及び「ロビー」というキーワードが抽出され、抽出された「AAホテル」及び「ロビー」というキーワード(キーワードの組)と一致するキーワードに対応付けられた「名古屋市○○区1−2、AAホテル、1階」という位置情報(スポットの位置を示す位置情報)が、図4(A)に示すキーワード対応付けデータベース521から取得される。
次いで、端末存在可否判定部543は、端末存在可否判定処理を実行する(ステップS5)。端末存在可否判定処理において、端末存在可否判定部543は、ステップS3で特定された投稿データの送信時に送信元の携帯端末1が存在していた位置の判定に資する関連情報に基づいて、当該投稿データの送信時に送信元の携帯端末1が、ステップS4で取得された位置情報に対応する位置の近傍範囲内に存在していたか否かを判定する。
図6〜図8は、ステップS5における端末存在可否判定処理の具体例を示すフローチャートである。
先ず、図6に示す端末存在可否判定処理について説明する。図6に示す処理では、先ず、端末存在可否判定部543は、ステップS3で特定された投稿データに画像データが対応付けられているか否かを判定する(ステップS51)。例えば、画像データが、ステップS3で特定された投稿データに対応付けられて投稿管理データベース31に登録されている場合、当該投稿データに画像データが対応付けられていると判定される。この画像データは、投稿データに付加されて送信された画像データであるので、以下、「付加された画像データ」という。そして、端末存在可否判定部543は、ステップS3で特定された投稿データに画像データが対応付けられていると判定した場合(ステップS51:YES)、ステップS52へ進む。一方、端末存在可否判定部543は、ステップS3で特定された投稿データに画像データが対応付けられていないと判定した場合(ステップS51:NO)、“近傍範囲内でない”と判定して(ステップS58)、図5に示す処理に戻る。或いは、この場合、図7,図8(A),及び図8(B)の処理のうち、何れかの処理に移行してもよい。
ステップS52では、端末存在可否判定部543は、付加された画像データから画像撮影日時を取得し、且つ、ステップS3で特定された投稿データから当該投稿データの送信日時を取得する。次いで、端末存在可否判定部543は、ステップS52で取得した画像撮影日時及び送信日時に基づいて、付加された画像データの画像撮影時と、ステップS3で特定された投稿データの送信時との間の時間差が所定値(例えば、数十秒)以下であるか否かを判定する(ステップS53)。そして、端末存在可否判定部543は、付加された画像データの画像撮影時と、ステップS3で特定された投稿データの送信時との間の時間差が所定値以下でないと判定した場合(ステップS53:NO)、“近傍範囲内でない”と判定して(ステップS58)、図5に示す処理に戻る。
一方、端末存在可否判定部543は、付加された画像データの画像撮影時と、ステップS3で特定された投稿データの送信時との間の時間差が所定値以下であると判定した場合(ステップS53:YES)、ステップS54へ進む。なお、ステップS53において、付加された画像データの画像撮影時と、ステップS3で特定された投稿データの送信時との間の時間差が所定値以下であるという条件を満たす場合、携帯端末1のユーザが写真画像を撮影してそれほど移動することなく直ちに該携帯端末1から投稿データを送信した可能性があると推定できる。そのため、この場合、ステップS3で特定された投稿データの送信時に送信元の携帯端末1が、ステップS4で取得された位置情報に対応する位置の近傍範囲内に存在していたか可能性が高いと判定できることから、“近傍範囲内である”と判定して、図5に示す処理に戻るように構成してもよい。ただし、近傍範囲内であるとの確度を高めるためには、ステップS54へ進むことが、より望ましい。
ステップS54では、端末存在可否判定部543は、付加された画像データに画像撮影地点の位置情報が例えばジオタグとして付加されているか否かを判定する。そして、端末存在可否判定部543は、付加された画像データに画像撮影地点の位置情報が付加されていると判定した場合(ステップS54:YES)、ステップS55へ進む。当該画像データに付加された位置情報を、以下、「画像データの位置情報」という。一方、端末存在可否判定部543は、付加された画像データに画像撮影地点の位置情報が付加されていないと判定した場合(ステップS54:NO)、ステップS56へ進む。
ステップS55では、端末存在可否判定部543は、ステップS4で取得された位置情報が示す位置と、付加された画像データの位置情報が示す位置(つまり、画像撮影地点)とが近傍にあると判定される所定条件を満たすか否かを判定する。この所定条件には、例えば、ステップS4で取得された位置情報が示す位置(例えば住所、又は緯度及び経度で特定される平面位置)と、付加された画像データの位置情報が示す位置(緯度及び経度で特定される平面位置)との間の距離が所定距離内であるとの条件が該当する。或いは、この所定条件には、ステップS4で取得された位置情報が示す位置と、付加された画像データの位置情報が示す位置とが共に所定エリア内にあるとの条件が該当する。そして、端末存在可否判定部543は、上記所定条件を満たさないと判定した場合(ステップS55:NO)、“近傍範囲内でない”と判定して(ステップS58)、図5に示す処理に戻る。一方、端末存在可否判定部543は、上記所定条件を満たすと判定した場合(ステップS55:YES)、“近傍範囲内である”と判定して(ステップS59)、図5に示す処理に戻る。
ステップS56では、端末存在可否判定部543は、付加された画像データの画像が、ステップS3で特定された投稿データに含まれるキーワードに対応するスポットで撮影されたものであることを示すワード又はフレーズが投稿データに含まれるか否かを判定する。フレーズとは、例えば、ワードが複数集まって一つの意味をなすものをいう。ワード及びフレーズは、それぞれ、センテンスの構成要素である。当該投稿データに含まれるキーワードに対応するスポットを、以下、「特定スポット」という。特定スポットで撮影されたものであることを示すフレーズの例としては、「AAホテルで撮影しました」などが該当する。ここで、「で撮影しました」というフレーズは、例えば記憶部52に予め記憶されたワードリストに登録されるように構成し、端末存在可否判定部543が、ステップS56の判定時に参照するように構成する。そして、端末存在可否判定部543は、特定スポットで撮影されたものであることを示すワード又はフレーズが、ステップS3で特定された投稿データに含まれないと判定した場合(ステップS56:NO)、ステップS57へ進む。一方、端末存在可否判定部543は、特定スポットで撮影されたものであることを示すワード又はフレーズが、ステップS3で特定された投稿データに含まれると判定した場合(ステップS56:YES)、“近傍範囲内である”と判定して(ステップS59)、図5に示す処理に戻る。
ステップS57では、端末存在可否判定部543は、付加された画像データから抽出される被写体が、特定スポットで撮影可能な所定の標準被写体であるか否かを判定する。ここで、画像データからの被写体は、例えば、公知の画像認識技術により抽出される。そして、抽出された被写体の特徴抽出が行われ、特徴量が求められる。こうして求められた特徴量と、上記キーワードに対応付けて予め設定しておいた標準被写体の特徴量との差が閾値内にあれば、付加された画像データから抽出される被写体が、所定の標準被写体であると判定される。端末存在可否判定部543は、付加された画像データから抽出される被写体が、所定の標準被写体でないと判定した場合(ステップS57:NO)、“近傍範囲内でない”と判定して(ステップS58)、図5に示す処理に戻る。一方、端末存在可否判定部543は、付加された画像データから抽出される被写体が、所定の標準被写体であると判定した場合(ステップS57:YES)、“近傍範囲内である”と判定して(ステップS59)、図5に示す処理に戻る。
なお、ステップS54において、付加された画像データに画像撮影地点の位置情報が付加されていない場合に、ステップS57の処理が、ステップS56の処理より優先して行われるように構成してもよい。この場合、ステップS56の処理は、付加された画像データから抽出される被写体が、所定の標準被写体でないと判定した場合に行われるように構成される。また、ステップS54において、付加された画像データに画像撮影地点の位置情報が付加されている場合であっても、ステップS56の処理またはステップS57の処理がステップS55の処理より優先して行われるように構成してもよい。
次に、図7に示す端末存在可否判定処理について説明する。図7に示す処理では、先ず、端末存在可否判定部543は、ステップS3で特定された投稿データにユーザIDが対応付けられているか否かを判定する(ステップS61)。例えば、ユーザIDが、ステップS3で特定された投稿データに対応付けられて投稿管理データベース31に登録されている場合、当該投稿データにユーザIDが対応付けられていると判定される。そして、端末存在可否判定部543は、当該投稿データにユーザIDが対応付けられていると判定した場合(ステップS61:YES)、ステップS62へ進む。一方、端末存在可否判定部543は、当該投稿データにユーザIDが対応付けられていないと判定した場合(ステップS61:NO)、“近傍範囲内でない”と判定して(ステップS66)、図5に示す処理に戻る。或いは、この場合、図6,図8(C)及び(D)の処理のうち、何れかの処理に移行してもよい。
ステップS62では、端末存在可否判定部543は、予約管理データベース523から、ステップS3で特定された投稿データの送信元の携帯端末1のユーザのユーザIDに対応する予約履歴(つまり、投稿データを投稿したユーザによる予約履歴)を取得する。次いで、端末存在可否判定部543は、ステップS3で特定された投稿データの送信元の携帯端末1のユーザが、「当該投稿データの送信時を含む日を利用日として特定スポットから所定範囲(例えば、10〜20m)内の施設において利用予約をした履歴」、または、「当該投稿データの送信時を含む日の前日又は当日を宿泊日として特定スポットから所定範囲(例えば、10〜20m)内の施設において利用予約又は宿泊予約をした履歴」が、ステップS62で取得された予約履歴に含まれるか否かを判定する(ステップS63)。ここで、予約履歴により示される施設が、特定スポットから所定範囲内にあるか否かは、当該特定スポットの位置を示す位置情報と、予約履歴により示される施設の場所(例えば、住所、または緯度及び経度を示す位置情報)とが比較されることで判定される。そして、端末存在可否判定部543は、特定スポットから所定範囲内の施設において利用予約又は宿泊予約をした履歴が予約履歴に含まれないと判定した場合(ステップS63:NO)、“近傍範囲内でない”と判定して(ステップS66)、図5に示す処理に戻る。
一方、端末存在可否判定部543は、特定スポットから所定範囲内の施設において利用予約又は宿泊予約をした履歴が予約履歴に含まれると判定した場合(ステップS63:YES)、ステップS64へ進む。なお、ステップS63において、特定スポットから所定範囲内の施設において利用予約又は宿泊予約をした履歴が予約履歴に含まれるという条件を満たす場合、投稿データの送信時に送信元の携帯端末1が、ステップS4で取得された位置情報に対応する位置の近傍範囲内に存在していたか可能性があると判定できることから、“近傍範囲内である”と判定して、図5に示す処理に戻るように構成してもよい。ただし、近傍範囲内であるとの確度を高めるためには、ステップS64へ進むことが、より望ましい。
ステップS64では、端末存在可否判定部543は、ステップS62で取得された予約履歴に基づいて、特定スポットから所定範囲内の施設の利用予約又は宿泊予約に対応する料金の決済がなされているか否かを判定する。そして、端末存在可否判定部543は、特定スポットから所定範囲内の施設の利用予約又は宿泊予約に対応する料金の決済がなされていないと判定した場合(ステップS64:NO)、ステップS65へ進む。一方、端末存在可否判定部543は、特定スポットから所定範囲内の施設の利用予約又は宿泊予約に対応する料金の決済がなされていると判定した場合(ステップS64:YES)、“近傍範囲内である”と判定して(ステップS67)、図5に示す処理に戻る。
ステップS65では、端末存在可否判定部543は、ステップS62で取得された予約履歴に基づいて、特定スポットから所定範囲内の施設の利用予約又は宿泊予約のキャンセルがなされているか否かを判定する。そして、端末存在可否判定部543は、特定スポットから所定範囲内の施設の利用予約又は宿泊予約のキャンセルがなされていないと判定した場合(ステップS65:NO)、“近傍範囲内である”と判定して(ステップS67)、図5に示す処理に戻る。一方、端末存在可否判定部543は、特定スポットから所定範囲内の施設の利用予約又は宿泊予約のキャンセルがなされていると判定した場合(ステップS65:YES)、“近傍範囲内でない”と判定して(ステップS66)、図5に示す処理に戻る。
なお、ステップS63において、特定スポットから所定範囲内の施設において利用予約又は宿泊予約をした履歴が予約履歴に含まれる場合に、ステップS65の処理が、ステップS64の処理より優先して行われるように構成してもよい。この場合、ステップS64の処理は、例えば、特定スポットから所定範囲内の施設の利用予約又は宿泊予約のキャンセルがなされていないと判定した場合に行われるように構成される。
次に、図8(A)に示す端末存在可否判定処理について説明する。図8(A)に示す処理では、先ず、端末存在可否判定部543は、ステップS3で特定された投稿データの送信時点で投稿者(つまり、送信元の携帯端末1のユーザ)が特定スポットにいることを前提として表現されたワード又はフレーズが当該投稿データに含まれるか否かを判定する(ステップS71)。ここで、特定スポットにいることを前提として表現されたワード又はフレーズ(以下、総称して「肯定ワード」という)には、例えば、「今、」「今、〜です」(“〜”は特に限定されないワード又はフレーズ)、「現在」、及び「なう」などが該当する。このような肯定ワードであれば、特定スポットの面前から投稿された可能性が高いと考えることができる。なお、センテンスの前半部と後半部にそれぞれ含まれるワード又はフレーズが呼応していてもよい。例えば、「今、〜の前にいます。」のようなセンテンスの前半部“今、”と、後半部“の前にいます”とは呼応するように構成された肯定ワードである。一方、例えば、「今」だけを肯定ワードとすると、「今日は〜です」や「今治は綺麗です」など、特定スポットにいることを前提としない表現も含まれてしまうため、句読点、カンマ、ピリオドなどを含めて、肯定ワードを構成するとよい。このような肯定ワードは、例えば記憶部52に予め記憶された肯定ワードリストに登録されるように構成し、端末存在可否判定部543が、ステップS71の判定時に参照するように構成する。或いは、「今日」や「今治」などの除外ワード又は除外フレーズを登録するブラックリストを例えば記憶部52に予め記憶しておき、ブラックリストに含まれるワード又はフレーズが、ステップS3で特定された投稿データに含まれる場合、ステップS71の判定において否定(NO)するように構成してもよい。
そして、端末存在可否判定部543は、上記肯定ワードが、ステップS3で特定された投稿データに含まれると判定した場合(ステップS71:YES)、ステップS72へ進む。なお、この場合、“近傍範囲内である”と判定して(ステップS74)、図5に示す処理に戻るように構成してもよい。ただし、近傍範囲内であるとの確度を高めるためには、ステップS72へ進むことが、より望ましい。一方、端末存在可否判定部543は、上記肯定ワードが、ステップS3で特定された投稿データに含まれないと判定した場合(ステップS71:NO)、“近傍範囲内でない”と判定して(ステップS73)、図5に示す処理に戻る。或いは、この場合、図6,図7及び図8(B)の処理のうち、何れかの処理に移行してもよい。
ステップS72では、端末存在可否判定部543は、ステップS3で特定された投稿データの送信時点で投稿者(つまり、送信元の携帯端末1のユーザ)が特定スポットにいないことを前提として表現されたワード又はフレーズが当該投稿データに含まれるか否かを判定する。ここで、特定スポットにいないことを前提として表現されたワード又はフレーズ(以下、総称して「否定ワード」という)には、例えば、「まもなく」、「もうすぐ」、「そろそろ」、及び「あと〜時間で」などが該当する。このような否定ワードは、特定スポットの近傍とはいえない位置から投稿された可能性が高いと考えることができる。このような否定ワードは、例えば記憶部52に予め記憶された否定ワードリストに登録されるように構成し、端末存在可否判定部543が、ステップS72の判定時に参照するように構成する。
そして、端末存在可否判定部543は、上記否定ワードが、ステップS3で特定された投稿データに含まれると判定した場合(ステップS72:YES)、“近傍範囲内でない”と判定して(ステップS73)、図5に示す処理に戻る。一方、端末存在可否判定部543は、上記否定ワードが、ステップS3で特定された投稿データに含まれないと判定した場合(ステップS72:NO)、“近傍範囲内である”と判定して(ステップS74)、図5に示す処理に戻る。
なお、ステップS72の処理が、ステップS71の処理より優先して行われるように構成してもよい。この場合、ステップS72において、上記否定ワードが、ステップS3で特定された投稿データに含まれない場合に、ステップS71の処理が行われる。一方、上記否定ワードが、ステップS3で特定された投稿データに含まれる場合、“近傍範囲内でない”と判定して、図5に示す処理に戻る。
次に、図8(B)に示す端末存在可否判定処理について説明する。図8(B)に示す処理では、先ず、端末存在可否判定部543は、ステップS3で特定された投稿データ自体に位置情報が対応付けられているか否かを判定する(ステップS81)。例えば、位置情報が、ステップS3で特定された投稿データに対応付けられて投稿管理データベース31に登録されている場合、当該投稿データ自体に位置情報が対応付けられていると判定される。そして、端末存在可否判定部543は、当該投稿データ自体に位置情報が対応付けられていると判定した場合(ステップS81:YES)、ステップS82へ進む。一方、端末存在可否判定部543は、当該投稿データ自体に位置情報が対応付けられていないと判定した場合(ステップS81:NO)、“近傍範囲内でない”と判定して(ステップS84)、図5に示す処理に戻る。或いは、この場合、図6,図7,及び図8(A)の処理のうち、何れかの処理に移行してもよい。
ステップS82では、端末存在可否判定部543は、ステップS4で取得された位置情報が示す位置と、ステップS3で特定された投稿データに付加された位置情報が示す位置(つまり、投稿データの送信地点)とが近傍にあると判定される所定条件を満たすか否かを判定する。この所定条件は、ステップS55と同様である。そして、端末存在可否判定部543は、上記所定条件を満たさないと判定した場合(ステップS82:NO)、“近傍範囲内でない”と判定して(ステップS84)、図5に示す処理に戻る。一方、端末存在可否判定部543は、上記所定条件を満たすと判定した場合(ステップS82:YES)、“近傍範囲内である”と判定して(ステップS83)、図5に示す処理に戻る。
図5に示す処理に戻り、ステップS6では、ステップS5の処理により“近傍範囲内である”と判定されたか否かが判定される。そして、“近傍範囲内である”と判定された場合(ステップS6:YES)、位置情報出力部544は、ステップS4で取得された位置情報を、ステップS3で特定された投稿データが経由した移動体通信ネットワークMNに接続可能な位置を示す情報として、例えば位置管理データベース524に出力し(ステップS7)、ステップS8へ進む。また、ステップS3で特定された投稿データに対して、処理済フラグが対応付けられて投稿管理データベース522に登録される。
なお、図5に示す端末存在可否判定処理(ステップS5)において、端末存在可否判定部543が、上述した図6、図7、図8(A)、及び図8(B)に示す処理をすべて行った上で、図5に示す処理に戻る(つまり、ステップS6に移行する)ように構成してもよい。この構成の場合、図6、図7、図8(A)、及び図8(B)のそれぞれ処理において“近傍範囲内である”と判定した処理が、所定数以上(例えば、3つ以上または4つ以上)であることを条件として、ステップS6において“近傍範囲内である”と判定され、ステップS4で取得された位置情報が出力される。
こうして、ステップS3で特定された投稿データが経由した移動体通信ネットワークMNに接続可能な位置情報が位置管理データベース524に登録される。ここで、位置情報出力部544により出力される情報には、ステップS4で取得された位置情報だけでなく、ステップS3で特定された投稿データが経由した移動体通信ネットワークMNを運営する通信キャリアを示す情報が含まれることが望ましい。これは、特定スポットの周辺で携帯端末1の通信機能(移動体通信ネットワークMNを経由する通信機能)が利用された実績を示すデータを、通信キャリアごとに区別して蓄積することができるからである。そして、このように蓄積されたデータに基づき、例えばホテルの利用者に対して、例えばホテルなどの施設内の特定スポットの位置又は当該位置の近傍において、携帯端末1の通信機能が利用可能か否かの判断材料を、所定のWebサイト上で提供することができる。しかも、本実施形態では、ステップS4で取得された位置情報には、特定スポットの平面位置(緯度及び経度)ばかりでなく、特定スポットの高度も含まれているので、例えば、地上と地下、或いは、地上付近と地上数百m付近、といった高度の違いが反映された実績を示すデータを、蓄積することができる。これにより、当該実績を示すデータに基づく情報提供を受けるユーザに対して、例えば、地下鉄の駅構内と地上付近、高層ビルの地上付近と展望デッキ、或いは、ホテルなどの低層階と高層階などのそれぞれで携帯端末1の通信機能(移動体通信ネットワークMNを経由する通信機能)が使えるかどうかの判断材料を提供することができる。
一方、ステップS6において、 “近傍範囲内である”と判定されない場合(ステップS6:NO)、位置情報出力部544による上記出力は行われずに、ステップS8へ移行する。また、ステップS3で特定された投稿データに対して、処理済フラグが対応付けられて投稿管理データベース522に登録される。
ステップS8では、ステップS2で取得された投稿データの中で、未だ、ステップS3で特定されていない投稿データがあるか否かを判定する。そして、未だ、ステップS3で特定されていない投稿データがあると判定された場合(ステップS8:YES)、ステップS3に戻る。こうして戻ったステップS3では、未だ特定されていない投稿データが特定され、上記と同様の処理が行われる。一方、ステップS3で特定されていない投稿データがないと判定された場合(ステップS8:NO)、図5に示す処理は終了する。
位置情報出力部544により出力された位置情報は、例えば、施設を利用する側のユーザが、利用する施設を選択する際に、自身が所持している携帯端末の上記通信機能が利用できる施設を絞り込むために使用される。また、位置情報出力部544により出力された位置情報は、例えば、施設を提供する側の事業者が、施設を利用するユーザを割り当てる(例えば、宿泊施設における部屋の割当て)際に、該ユーザが所持している携帯端末の上記通信機能が利用できる施設を決めるために利用される。その他、当該位置情報は、施設におけるサービスの向上に利用することができる。
以上説明したように、上記実施形態によれば、位置解析処理サーバ5は、携帯端末1を送信元とし移動体通信ネットワークMNを経由して伝送された投稿データを取得し、且つ、当該取得した投稿データに含まれるキーワードに対応する位置情報を取得し、当該取得された位置情報を、当該取得された投稿データが経由した移動体通信ネットワークMNに接続可能な位置を示す情報として出力するように構成したので、携帯端末が移動体通信ネットワークMNを介して通信可能な位置をGPSに依存せずに特定することができる。換言すれば、本実施形態によれば、例えばGPSが十分に機能しないような見通しのよくない位置であったとしても、そのような位置を示す位置情報を十分に得ることができる。
また、上記実施形態によれば、位置解析処理サーバ5は、携帯端末1を送信元とし移動体通信ネットワークMNを経由して伝送された投稿データを取得し、且つ、当該取得した投稿データに含まれるキーワードに対応する位置情報を取得し、当該取得した投稿データの送信時に送信元の携帯端末1が存在していた位置の判定に資する関連情報に基づいて、当該投稿データの送信時に送信元の携帯端末1が当該取得した位置情報に対応する位置の近傍とする近傍範囲内に存在していたと判定した場合、当該取得された位置情報を、当該取得された投稿データが経由した移動体通信ネットワークMNに接続可能な位置を示す情報として出力するように構成したので、携帯端末が移動体通信ネットワークMNを介して通信可能な位置を、より精度良く特定することができる。