以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面にしたがって説明する。
実施の形態1.
図1は、実施の形態1に係る行先提案システムの構成図である。実施の形態1に係る行先提案システムは、端末10、サーバ20、表示器30、および地図DB40を備えて構成される。
実施の形態1では、本行先提案システムが、複数のユーザで1つのグループを形成し、当該グループで旅行または施設の回遊等をする際に、デジタルサイネージ端末を閲覧しながら行先を決定する場面に適用される場合について説明する。このとき、当該複数のユーザはそれぞれ端末10を所持している。また、当該デジタルサイネージ端末が表示器30となる。ただし、本行先提案システムを適用できる場面であれば、本行先提案システムを上記以外の場面に適用してもよい。
端末10は、各ユーザが所持する情報端末である。端末10は、例えば、スマートフォン、PDA(Personal Digital Assistant)、またはパソコン等である。図1に示す端末10は、少なくとも2台以上の情報端末である。
端末10は、情報の入力の受け付け、情報の生成、情報の送受信、および情報の表示等を行う。送受信部100は、情報の送受信を行う。端末10は、送受信部100を介して、サーバ20および表示器30と情報の送受信を行う。また、端末10は、送受信部100を介して地図DB40から情報を受信する。
入力部101は、ユーザによる情報の入力、またはユーザによる操作の入力等を受け付ける。ユーザにより入力される情報には、例えば、属性情報がある。属性情報とは、端末10を所持するユーザの氏名、生年月日、年齢、性別、ID、パスワード、またはユーザがこれまでに訪れたことのある観光地等を示す情報である。端末10は、属性情報をサーバ20に送信する。属性情報は、サーバ20のユーザ管理部202に記憶される。属性情報は、サーバ20に加え、端末10に記憶されるように構成してもよい。
また、ユーザにより入力される情報には、例えば、検索ワードがある。検索部102は、入力部101を介して入力された検索ワードに基づき、情報を検索する。検索部102は、地図DB40に格納された情報の中から、当該検索ワードに関連する情報を検索し、当該情報を受信する。実施の形態1では、検索ワードをロケーションとする。ロケーションとは、ユーザが旅行先で訪れたい観光スポットの名称、またはユーザが旅行先で訪れたい店舗の名称等とする。検索部102は、入力部101を介して入力されたロケーションに基づき、ロケーション情報または地図情報を地図DB40から検索する。ロケーション情報とは、観光スポットまたは店舗等に関する情報である。検索部102は、検索したロケーション情報または地図情報を地図DB40から受信する。検索部102が受信したロケーション情報または地図情報は、表示部104に表示される。また、入力部101を介して入力されたロケーションは、検索履歴情報となる。端末10は、検索履歴情報をサーバ20に送信する。検索履歴情報は、サーバ20の履歴管理部204に記憶される。検索履歴情報は、サーバ20に加え、端末10に記憶されるように構成してもよい。
また、ユーザにより入力される操作には、例えば、お気に入り登録をするための操作がある。ユーザは、ロケーションをお気に入り登録する場合、入力部101を介して、お気に入り登録をするための操作を入力する。このとき、お気に入り登録されたロケーションは、お気に入り登録情報となる。端末10は、お気に入り登録情報をサーバ20に送信する。お気に入り登録情報は、サーバ20の履歴管理部204に記憶される。お気に入り登録情報は、サーバ20に加え、端末10に記憶されるように構成してもよい。
また、ユーザにより入力される操作には、例えば、複数のユーザで構成されるグループを形成するための操作がある。ユーザは、入力部101に操作を入力することにより、ユーザ管理部202から他のユーザの属性情報を受信することができる。当該属性情報は、表示部104に表示される。ユーザは、入力部101を介して、他のユーザとグループの形成等をするためのグループ編集情報を入力することができる。端末10は、グループ編集情報をサーバ20に送信する。サーバ20のグループ管理部203は、グループ編集情報を受信すると、グループ情報を生成する。グループ情報とは、例えば、グループの名称、またはグループを構成するユーザ等の情報である。グループ情報は、グループ管理部203に記憶される。端末10は、グループ管理部203からグループ情報を受信することができる。ユーザは、入力部101を介してグループ編集情報を入力することで、グループ管理部203に記憶されているグループ情報を編集することができる。
位置取得部103は、端末10の現在位置を取得する。現在位置を取得する方法は、GPS(Global Positioning System)受信機を用いる方法とするが、その他の方法により現在位置を取得してもよい。端末10は、端末10を所持するユーザの現在位置を、現在位置情報としてサーバ20に送信する。現在位置情報は、サーバ20の履歴管理部204に記憶される。現在位置情報は、サーバ20に加え、端末10に記憶されるように構成してもよい。
表示部104は、情報を表示する。表示部104は、例えばディスプレイである。表示部104に表示される情報には、送受信部100における送受信の結果を示す情報、入力部101が受け付けた入力内容を示す情報、検索部102が受信したロケーション情報または地図情報等がある。
サーバ20は、情報の生成、および情報の記憶等を行う。送受信部200は、情報の送受信を行う。サーバ20は、送受信部200を介して、端末10および表示器30と情報の送受信を行う。また、サーバ20は、送受信部200を介して地図DB40から情報を受信する。
履歴管理部204は、端末10から受信した検索履歴情報およびお気に入り登録情報を履歴データとして記憶する。履歴管理部204は、端末10から受信した現在位置情報を記憶する。履歴管理部204には、端末10を所持するユーザの現在位置情報および過去の位置情報が記憶されることになる。履歴管理部204は、検索結果統合部201から履歴データの出力要求があった場合に、履歴データを検索結果統合部201に出力する。
以下、履歴データが、検索履歴情報およびお気に入り登録情報からなる場合について説明するが、履歴データを、検索履歴情報およびお気に入り登録情報の少なくとも一方からなるものとしてもよい。
検索結果統合部201は、履歴データをグループごとに統合し、統合情報を生成する。検索結果統合部201は、当該統合情報である重複度付きロケーション情報を生成する。重複度付きロケーション情報については後述する。検索結果統合部201は、表示器30の統合判定部303から、特定のグループのユーザについて、特定の状態情報に該当するユーザの履歴データを用いて当該グループの重複度付きロケーション情報を生成する旨の指示を受信する。状態情報については後述する。検索結果統合部201は、当該指示を受信すると、当該特定の状態情報に該当するユーザの履歴データの出力を履歴管理部204に要求し、当該履歴データを取得する。検索結果統合部201は、当該履歴データのロケーションに対応するロケーション情報を地図DB40から受信する。検索結果統合部201は、重複度付きロケーション情報を表示器30に送信する。
検索結果統合部201は、同じグループにおける特定の状態情報に該当するユーザの履歴データに基づき、当該ユーザのロケーションの検索履歴およびロケーションのお気に入り登録の重複度を求める。重複度付きロケーション情報とは、当該重複度と、当該ロケーションに対応するロケーション情報とを結びつけた情報である。
ロケーションの重複度は、例えば、次の式(1)で計算することができる。
ロケーションの重複度
=(検索履歴の重み)×(該当ロケーションを検索したユーザ数)
+(お気に入り登録の重み)×(該当ロケーションをお気に入り登録したユーザ数)(1)
検索履歴とお気に入り登録とで重みを変更してもよい。例えば、検索履歴の重みを1とし、お気に入り登録の重みを2とする。4人のユーザからなるグループXにおいて、A店を検索したユーザが4人であり、A店をお気に入り登録したユーザが0人であった場合、A店の重複度は4となる。
グループXにおいて、B店を検索したユーザが1人であり、B店をお気に入り登録したユーザが0人であった場合、B店の重複度は1となる。
グループXにおいて、C店を検索したユーザが3人であり、C店をお気に入り登録したユーザが3人であった場合、C店の重複度は9となる。
検索結果統合部201は、ユーザ管理部202に記憶されている属性情報に基づき、グループXに所属していないユーザであって、グループXに所属しているユーザと属性情報が類似するユーザ(以下、代替ユーザという)を特定し、当該ユーザの履歴データを履歴管理部204から取得することができる。
例えば、グループXにおける特定の状態情報に該当するユーザに、ロケーションの検索およびロケーションのお気に入り登録を行っていないユーザSがいた場合、検索結果統合部201は、ユーザ管理部202に記憶されている属性情報に基づき、グループXに所属していないユーザであって、ユーザSと属性情報が類似する代替ユーザTを特定する。この場合、検索結果統合部201は、代替ユーザTの履歴データの出力を履歴管理部204に要求し、代替ユーザTの履歴データを履歴管理部204から取得する。検索結果統合部201は、ユーザSの履歴データの代わりに、代替ユーザTの履歴データを用いて重複度を求める。この場合にも、検索履歴とお気に入り登録とで重みを変更してもよい。なお、代替ユーザTがロケーションの検索およびロケーションのお気に入り登録を行っていなかった場合、検索結果統合部201は、他の代替ユーザを特定する。
また、グループXのユーザにおける特定の状態情報に該当するユーザに、検索履歴の数およびお気に入り登録の数が、一定数未満のユーザUがいる場合、検索結果統合部201は、ユーザ管理部202に記憶されている属性情報に基づき、グループXに所属していないユーザであって、ユーザUと属性情報が類似する代替ユーザVを特定するように構成してもよい。当該一定数は、本行先提案システムまたはユーザにより予め定められる。この場合、検索結果統合部201は、代替ユーザVの履歴データの出力を履歴管理部204に要求し、代替ユーザVの履歴データを履歴管理部204から取得する。検索結果統合部201は、ユーザUの検索履歴の数およびお気に入り登録の数の代わりに、代替ユーザVの検索履歴の数およびお気に入り登録の数を用いて重複度を求める。また、検索結果統合部201は、ユーザ管理部202に記憶されている属性情報に基づき代替ユーザVを特定する際に、例えば、ユーザ管理部202に記憶されている、ユーザの年齢、ユーザの性別、およびユーザがこれまでに訪れたことのある観光地等の項目の中で、例えば、ユーザUと一致する項目数が最も多いユーザを、代替ユーザVとするように構成してもよい。なお、代替ユーザVの検索履歴の数およびお気に入り登録の数が一定数未満であった場合、検索結果統合部201は、他の代替ユーザを特定する。
ユーザ管理部202は、端末10から受信した属性情報を記憶する。ユーザ管理部202は、端末10を所持するユーザの状態情報を記憶する。当該ユーザが複数のグループに所属している場合は、グループごとにおける当該ユーザの状態情報がユーザ管理部202に記憶される。
状態情報は、端末10を所持するユーザの状態を示す情報である。図2は、状態情報の遷移を示す図である。状態情報には、非接近状態401、接近状態402、非参加状態403、および参加状態404がある。詳細は後述するが、表示器30の端末位置取得部302は、端末10を所持するユーザが表示器30に接近しているか否かを判定する。
非接近状態401とは、端末10を所持するユーザが表示器30に接近していない状態である。接近状態402とは、端末10を所持するユーザが表示器30に接近している状態である。非参加状態403とは、端末10を所持するユーザが、所属するグループの現在の行動に参加していない状態である。参加状態404とは、端末10を所持するユーザが、非接近状態401であるが、所属するグループの現在の行動に参加している状態である。
端末10を所持するユーザが、特定のグループに新規登録された際、当該ユーザは非接近状態401である。
非接近状態401のユーザが表示器30に接近していると、端末位置取得部302は、当該ユーザが表示器30に接近している、すなわち接近状態402であると判定する。なお、非接近状態401のユーザは、任意のタイミングで、入力部101を介して非参加状態403または参加状態404に変更することができる。
接近状態402のユーザが表示器30から離れていると、端末位置取得部302は、当該ユーザが表示器30に接近していない、すなわち非接近状態401であると判定する。なお、接近状態402のユーザは、任意のタイミングで、入力部101を介して非参加状態403に変更することができる。
端末10を所持するユーザが非参加状態403である場合、当該ユーザは、任意のタイミングで、入力部101を介して非接近状態401に変更することができる。
端末10を所持するユーザが参加状態404である場合、当該ユーザが表示器30に接近すると、端末位置取得部302は、当該ユーザが表示器30に接近している、すなわち接近状態402であると判定する。なお、参加状態404のユーザは、任意のタイミングで、入力部101を介して非接近状態401または非参加状態403に変更することができる。
グループ管理部203は、グループ編集情報を端末10から受信する。グループ管理部203は、グループ情報を生成し、当該グループ情報を記憶する。グループ管理部203は、グループ編集情報を端末10から受信すると、グループの作成、グループの削除、グループへのユーザの追加、グループからのユーザの削除、グループのマージ、またはグループの分離等を行う。サーバ20は、グループ情報を端末10および表示器30に送信することができる。
ユーザは、端末10の入力部101を介して、行程情報生成指示を入力することができる。行程情報については後述する。端末10は、行程情報生成指示をサーバ20に送信する。行程作成部205は、行程情報生成指示を端末10から受信したか否かを判定する。行程作成部205は、行程情報生成指示を端末10から受信したと判定した場合、行程作成部205は、重複度付きロケーション情報を検索結果統合部201から取得し、かつ当該重複度付きロケーション情報に対応する地図情報を地図DB40から受信する。行程作成部205は、重複度付きロケーション情報および地図情報に基づき、ロケーションを巡回する経路を算出する。行程作成部205は、当該経路の算出を、ダイキストラ法等で行う。行程作成部205は、例えば、重複度の値が上位のロケーションを巡回する経路を算出するようにしてもよい。このとき、巡回するロケーションの数は、ユーザが予め設定することができる。行程作成部205は、ロケーションを巡回する経路を示す行程情報を生成する。行程情報とは、ユーザの現在位置または表示器30が設置されている位置をスタート地点とし、各ロケーションを巡回する経路が、地図座標等で表現された情報である。行程作成部205は、行程情報を表示器30に送信する。
表示器30は、デジタルサイネージ端末、またはパブリックディスプレイ端末等である。また、表示器30は個人が所有する、スマートフォン端末、タブレット端末、パソコン端末、または車載ナビゲーション装置等としてもよい。図1に示す表示器30は少なくとも1台以上で構成される。
表示器30は、情報の表示を行う。送受信部300は、情報の送受信を行う。表示器30は、送受信部300を介して、端末10およびサーバ20と情報の送受信を行う。また、表示器30は、送受信部300を介して地図DB40から情報を受信する。
表示部301は、重複度付きロケーション情報、行程情報、グループ情報または地図情報等を表示する。表示部301は、例えば、タッチパネルとし、ユーザのインタラクションが可能なデバイスとしてもよい。
端末位置取得部302は、ユーザ管理部202に記憶されているユーザであって、端末10を所持するユーザが表示器30に接近しているか否かを判定する。当該判定は接近判定処理という。端末位置取得部302は、接近判定処理を、GPS、Wi−Fi(登録商標;以下記載を省略する)、Bluetooth(登録商標;以下記載を省略する)、音波、またはイメージセンサ等を用いて行う。
接近判定処理を、GPSを用いて行う場合について説明する。端末位置取得部302は、表示器30のGPS座標を取得し、記憶している。端末位置取得部302は、端末10の位置取得部103が取得したGPS座標を端末10から受信する。端末位置取得部302は、表示器30のGPS座標と、端末10の位置取得部103が取得したGPS座標との間の距離を求め、当該距離が一定値以下となった場合に、端末10を所持するユーザが表示器30に接近していると判定する。
接近判定処理を、Wi−FiまたはBluetoothを用いて行う場合について説明する。端末位置取得部302は、Wi−FiまたはBluetoothの電波を発する。端末10の位置取得部103は、当該電波を受信する。端末10は、位置取得部103が受信した電波強度の値を、端末位置取得部302に送信する。端末位置取得部302は、当該電波強度の値が一定値以上となった場合に、端末10を所持するユーザが表示器30に接近していると判定する。
また、端末位置取得部302を、Wi−Fi、Bluetooth、または音波等のうち、いずれか1つを用いた送信機とし、接近判定処理を行ってもよい。この場合、送信機である端末位置取得部302を表示器30の周囲に少なくとも3つ以上設置する。端末位置取得部302は電波または音波を発信する。端末10の位置取得部103は、当該電波または音波を受信する。端末位置取得部302は、三角測量で端末10の現在位置を算出する。端末位置取得部302は、算出された端末10の現在位置に基づいて、端末10を所持するユーザが表示器30に接近しているか否かを判定する。
また、次のように構成し、接近判定処理を行ってもよい。ユーザは、属性情報をユーザ管理部202に登録する際に、ユーザの顔またはユーザを示す特定のマーカ等をユーザ管理部202に登録する。端末位置取得部302は、端末10を所持するユーザが表示器30に接近したときに、パターン認識等の画像処理を行い、例えば、当該ユーザの顔が、ユーザ管理部202に登録されているユーザの顔と一致するか否かを判定する。端末位置取得部302は、表示器30に接近したユーザの顔が、ユーザ管理部202に登録されているユーザの顔と一致すると判定した場合、イメージセンサで当該ユーザまでの距離を測定し、その距離が一定値以下となった場合に、端末10を所持するユーザが表示器30に接近していると判定する。当該イメージセンサとは、カメラ、ステレオカメラ、または赤外線カメラ等である。
端末位置取得部302は、ユーザ管理部202に記憶されているユーザであって、端末10を所持するユーザが表示器30に接近していると判定した場合、端末位置取得部302は、当該端末10を所持するユーザが非参加状態403であるか否かを判定する。端末位置取得部302は、当該端末10を所持するユーザの状態情報をサーバ20から受信し、当該端末10を所持するユーザが非参加状態403であるか否かを判定する。
端末位置取得部302は、当該端末10を所持するユーザが非参加状態403でないと判定した場合、すなわち、当該端末10を所持するユーザが非接近状態401、接近状態402、または参加状態404のうちのいずれかの状態であると判定した場合、当該端末10を所持するユーザが接近状態402であるという状態情報(以下、接近情報という)をサーバ20に送信する。ユーザ管理部202に記憶されている当該ユーザの状態情報は更新される。また、端末位置取得部302は、当該接近情報を統合判定部303に出力する。
統合判定部303は、接近情報を端末位置取得部302から取得する。統合判定部303は、接近情報を取得すると、端末10を所持するユーザであって、表示器30に接近していると判定され、非参加状態403でないと判定されたユーザ(ユーザZとする)が所属するグループ(グループYとする)のユーザについて、当該ユーザの履歴データをグループYの重複度付きロケーション情報の生成に用いるか否か判定する。当該判定は検索統合判定処理という。統合判定部303は、検索統合判定処理を行い、グループYの重複度付きロケーション情報の生成に用いるユーザの履歴データを特定する。統合判定部3033は、グループYのユーザのうち、特定の状態情報に該当するユーザの履歴データを用いてグループYの重複度付きロケーション情報を生成する指示をサーバ20に送信する。
端末位置取得部302が、一定時間ごとに接近判定処理を行うようにしてもよい。その場合、統合判定部303は、接近情報を取得する度に、検索統合判定処理を行い、当該重複度付きロケーションを生成する指示をサーバ20に送信する。
統合判定部303は、接近情報を端末位置取得部302から取得すると、グループYのユーザの状態情報をユーザ管理部202から受信し、当該状態情報に基づき、グループYのユーザについて、接近状態402であるユーザと、非接近状態401であるユーザとを識別する。統合判定部303は、グループYのユーザのうち非接近状態401のユーザと、ユーザZまたは表示器30との間の距離が、閾値以下であるか否かを判定する。また、統合判定部303は、グループYのユーザのうち非接近状態401のユーザが、ユーザZまたは表示器30に近付いているか否かを判定する。
統合判定部303は、端末位置取得部302で、グループYのユーザのうち非接近状態401のユーザ(以下、該当ユーザという)が所持する端末10の位置取得部103から現在位置情報を取得できるか否かを判定する。
統合判定部303は、端末位置取得部302で、該当ユーザが所持する端末10の位置取得部103から現在位置情報を取得できると判定した場合、統合判定部303は、端末位置取得部302に、該当ユーザの所持する端末10の位置取得部103から現在位置情報を受信するように指示する。
統合判定部303は、端末位置取得部302で、該当ユーザが所持する端末10の位置取得部103から現在位置情報を取得できないと判定した場合であっても、他の箇所に設置されている表示器30の端末位置取得部302が、端末10を所持する該当ユーザが当該表示器30に接近していると判定した場合、当該表示器30が設置されている位置を、端末10を所持する該当ユーザの現在位置とすることができる。
統合判定部303は、端末位置取得部302が受信した現在位置情報を、端末位置取得部302から取得する。統合判定部303は、該当ユーザが所持する端末10の現在位置からユーザZの位置までの距離、または、該当ユーザが所持する端末10の現在位置から表示器30の位置までの距離を算出する。当該距離は、例えば、該当ユーザが所持する端末10のGPS座標と、表示器30のGPS座標とから2点間の距離を算出することにより求める。
統合判定部303は、算出した距離が閾値以下であるか否か判定する。当該閾値は、本行先提案システムまたはユーザにより予め定められる。統合判定部303は、算出した距離が閾値以下である場合、統合判定部303は、非接近状態401である現在処理中の該当ユーザが、接近状態402であるという状態情報をサーバ20に送信する。ユーザ管理部202に記憶されている該当ユーザの状態情報は更新される。統合判定部303は、算出した距離が閾値より大きい場合、統合判定部303は、現在処理中の該当ユーザが所持する端末10が、現在行っている処理より前に、現在位置情報(以下、前回位置情報という)を取得し、かつ記憶しているか否かを判定する。前回位置情報の記憶先は、端末10ではなくサーバ20または表示器30であってもよい。
統合判定部303は、現在処理中の該当ユーザが所持する端末10が、現在行っている処理より前に、前回位置情報を取得し、かつ記憶していると判定した場合、統合判定部303は、端末位置取得部302に、当該前回位置情報を端末10から受信するように指示する。統合判定部303は、当該前回位置情報を端末位置取得部302から取得する。これにより、統合判定部303は、該当ユーザの現在位置と前回位置とを、時系列で取得することができる。統合判定部303は、該当ユーザの現在位置が前回位置に比べて、ユーザZまたは表示器30に近付いているか否かを判定する。当該判定は、例えば、前回位置とユーザZとの距離、および現在位置とユーザZとの距離をそれぞれ算出し、両者を比較して、後者が前者よりも一定値以上短縮されていれば、該当ユーザが表示器30に近付いていると判定する。当該一定値は、本行先提案システムまたはユーザにより予め定められる。
統合判定部303は、該当ユーザの現在位置が前回位置に比べて、ユーザZまたは表示器30に近付いていると判定した場合、非接近状態401である現在処理中の該当ユーザが、参加状態404であるという状態情報をサーバ20に送信する。ユーザ管理部202に記憶されている該当ユーザの状態情報は更新される。
統合判定部303は、グループYのユーザのうち、特定の状態情報に該当するユーザ、すなわち、接近状態402であるユーザおよび参加状態404であるユーザの履歴データを用いて、グループYの重複度付きロケーション情報を生成する指示をサーバ20に送信する。
例えば、グループYが4人のメンバーで構成されているとする。4人のうち3人が表示器30に接近し、当該3人の状態情報が接近状態402であり、かつ、残りの1人が表示器30から離れた位置にいて、当該残りの1人の状態情報が非接近状態401である場合、統合判定部303は、当該残りの1人が、時間の経過に伴い表示器30に近付いていると判定すると、統合判定部303は、当該残りの1人の状態情報を参加状態404とする指示をサーバ20に送信する。統合判定部303は、グループYのユーザのうち、接近状態402であるユーザの履歴データ、および参加状態404であるユーザの履歴データを用いて、グループYの重複度付きロケーション情報を生成する指示をサーバ20に送信する。これにより、検索結果統合部201では、表示器30に接近している3人の履歴データと、当該残りの1人の履歴データとが統合された、重複度付きロケーション情報が生成される。
表示判定部304は、重複度付きロケーション情報をサーバ20から受信する。表示判定部304は、行程作成部205で行程情報が生成されている場合は、当該行程情報をサーバ20から受信する。表示判定部304は、重複度付きロケーション情報のうち、どの重複度付きロケーション情報を表示部301に表示するか判定する。表示判定部304は、表示部301に表示すると判定した重複度付きロケーション情報を地図取得部305に出力する。地図取得部305は、当該重複度付きロケーション情報に対応する地図情報を地図DB40から取得し、表示判定部304に出力する。表示判定部304は、表示すると判定した重複度付きロケーション情報および当該重複度付きロケーション情報に対応する地図情報を表示部301に表示する。表示判定部304は、行程情報を受信している場合には、当該行程情報を表示部301に表示する。
表示判定部304は、例えば、重複度が1以上の重複度付きロケーション情報を、表示部301に表示すると判定する。表示判定部304は、1画面内に表示可能な重複度付きロケーション情報の上限数を表示器30ごとに記憶している。1画面内に表示可能な重複度付きロケーション情報の上限数は、表示部301の画面サイズにより決まる。なお、1画面内に表示する重複度付きロケーション情報の数は、当該上限数を超えない範囲内でユーザが指定してもよい。表示判定部304は、例えば、重複度が1以上の重複度付きロケーション情報を、重複度が高い順、または、現在位置からロケーションまでの距離が近い順等とし、当該上限数に到達するまで表示部301に表示すると判定する。
表示判定部304は、当該上限数を超える重複度付きロケーション情報を受信した場合は、例えば、重複度の高い順から重複度付きロケーション情報を表示し、1画面内に表示することができなかった重複度付きロケーション情報を、画面の切り替え後に表示すると判定してもよい。この場合、ユーザがスクロールまたはページめくりの操作等をすることで、重複度の低いロケーション情報を表示させることができる。当該操作は、タッチパネルで構成された表示部301をタッチする方法、または、ユーザが所持する端末10の入力部101を介して行う方法がある。また、表示判定部304は、1画面内に表示することができなかった重複度付きロケーション情報を、アイコン化して同画面内に小さく表示すると判定してもよい。この場合、ユーザが当該アイコンをタッチ操作等すると、当該重複度付きロケーション情報が拡大して表示される。
表示判定部304は、表示を継続するか否か判定する。当該判定は、例えば、表示部301で情報の表示が開始されてから、一定時間が経過すると実行される。当該一定時間は、本行先提案システムまたはユーザにより予め定められる。表示判定部304は、端末位置取得部302に、接近判定処理の実行を指示し、端末位置取得部302から接近情報を取得した場合、すなわち、グループYのユーザに、接近状態402のユーザが少なくとも1人いる場合、表示を継続すると判定する。一方、表示判定部304は、接近情報を取得しなかった場合、すなわち、グループYのユーザに、接近状態402のユーザが1人もいなかった場合、表示を継続しないと判定する。
地図取得部305は、表示判定部304が表示部301に表示すると判定した重複度付きロケーション情報に対応する地図情報を地図DB40から取得する。地図取得部305は、地図DB40から取得した地図情報を表示判定部304に出力する。
地図DB40は、地図情報、および観光地情報等のロケーション情報を格納するデータベースである。地図情報またはロケーション情報は、表示部301における地図の表示、検索結果統合部201における重複度付きロケーション情報の生成、行程作成部205における行程情報の生成、検索部102における検索等の際に必要となる。地図DB40は、端末10、サーバ20、および表示器30で構成されるローカルネットワークに存在するように構成してもよい。また、地図DB40は、端末10、サーバ20、および表示器30が、インターネットを介してアクセスできる場所に構成してもよい。
端末10、サーバ20、表示器30は、それぞれ異なるデバイスとするが、それらはすべて同一のデバイスとすることも可能である。また、端末10とサーバ20、または、端末10と表示器30、または、サーバ20と表示器30、という組合せで同一のデバイスとしてもよい。
次に、図3を用いて、実施の形態1に係る行先提案システムの動作について説明する。以下、複数のユーザで1つのグループを形成し、当該グループで旅行をする際に、1つの表示器30を閲覧しながら行先を決定する場合について説明する。当該複数のユーザは、それぞれ端末10を所持している。
端末10の入力部101は、ユーザによる属性情報の入力を受け付ける(ステップST101)。
端末10の入力部101は、ユーザによるグループ編集情報の入力を受け付ける(ステップST102)。
端末10の入力部101は、ユーザによるロケーションの入力、およびユーザによるお気に入り登録の操作の入力を受け付ける(ステップST103)。ユーザによるロケーションの入力に基づき、検索部102が地図DB40から取得したロケーション情報は、表示部104に表示される。ユーザは必要に応じて、入力部101を介してロケーションをお気に入り登録する。
表示器30の端末位置取得部302は、ユーザが所持する端末10が、表示器30に接近しているか否かを判定する(ステップST104)。当該判定は、接近判定処理という。
図4を用いて接近判定処理について説明する。
端末位置取得部302は、ユーザ管理部202に記憶されているユーザであって、端末10を所持するユーザが表示器30に接近しているか否かを判定する(ステップST201)。
端末位置取得部302は、ユーザ管理部202に記憶されているユーザであって、端末10を所持するユーザが表示器30に接近していると判定した場合(ステップST201;YES)、端末位置取得部302は、当該ユーザが非参加状態403であるか否かを判定する(ステップST202)。
一方、端末位置取得部302は、ユーザ管理部202に記憶されているユーザであって、端末10を所持するユーザが表示器30に接近していないと判定した場合(ステップST201;NO)、ステップST201の処理を繰り返す。ステップST201の処理は、端末位置取得部302が、ユーザ管理部202に記憶されているユーザであって、端末10を所持するユーザが表示器30に接近していると判定するまで繰り返される。
端末位置取得部302は、ステップST201で表示器30に接近していると判定されたユーザが非参加状態403であると判定した場合(ステップST202;YES)、ステップST201の処理に戻る。一方、端末位置取得部302は、ステップST201で表示器30に接近している判定されたユーザが非参加状態403でないと判定した場合(ステップST202;NO)、すなわち、当該ユーザが非接近状態401、接近状態402、または参加状態404のうちのいずれかの状態であると判定した場合、ステップST203の処理に進む。ステップST202の処理は、端末位置取得部302が、当該ユーザが非参加状態403でないと判定するまで繰り返される。
ステップST202において、端末位置取得部302は、当該ユーザが非参加状態403でないと判定した場合(ステップST202;NO)、端末位置取得部302は、当該ユーザが接近状態402であるという状態情報(以下、接近情報という)を、サーバ20に送信する(ステップST203)。また、端末位置取得部302は、接近情報を統合判定部303に出力する。ステップST203の処理が終了すると接近判定処理は終了し、図3のステップST105に進む。
以下、ステップST201で表示器30に接近していると判定され、ステップST202で非参加状態でないと判定されたユーザを、ユーザZとする。統合判定部303は、接近情報を端末位置取得部302から取得すると、ユーザZが所属するグループ(グループYとする)の非接近状態401のユーザについて、当該ユーザの履歴データをグループYの重複度付きロケーション情報の生成に用いるか否か判定する(ステップST105)。当該判定は検索統合判定処理という。
図5を用いて検索統合判定処理について説明する。
検索統合判定処理では、グループYの非接近状態401の各ユーザに対し、ループ処理を行う(ステップST301)。
統合判定部303は、端末位置取得部302で、グループYの非接近状態401のユーザ(以下、該当ユーザという)が所持する端末10の位置取得部103から現在位置情報を取得できるか否かを判定する(ステップST302)。
統合判定部303は、端末位置取得部302で、該当ユーザが所持する端末10の位置取得部103から現在位置情報を取得できると判定した場合(ステップST302;YES)、統合判定部303は、端末位置取得部302に、該当ユーザの所持する端末10の位置取得部103から現在位置情報を受信するように指示し、統合判定部303は、当該現在位置情報を取得する(ステップST303)。
一方、統合判定部303は、端末位置取得部302で、該当ユーザが所持する端末10の位置取得部103から現在位置情報を取得できないと判定した場合(ステップST302;NO)、現在処理中の該当ユーザに対する処理は終了する。そして、ステップST301に戻り、他の該当ユーザについて検索統合判定処理を行う。
統合判定部303は、該当ユーザが所持する端末10の現在位置から接近状態402と判定されたユーザZの位置までの距離、または、該当ユーザが所持する端末10の現在位置から表示器30の位置までの距離を算出し、算出した距離が、閾値以下であるか否かを判定する(ステップST304)。
統合判定部303は、算出した距離が閾値以下であると判定した場合(ステップST304;YES)、統合判定部303は、該当ユーザが接近状態402であるという状態情報をサーバ20に送信する(ステップST309)。ステップST309の処理が終了すると、現在処理中の該当ユーザに対する処理は終了する。そして、ステップST301に戻り、他の該当ユーザについて検索統合判定処理を行う。
一方、統合判定部303は、算出した距離が閾値より大きいと判定した場合(ステップST304;NO)、統合判定部303は、現在処理中の該当ユーザが所持する端末10が、現在行っている処理より前に、現在位置情報(以下、前回位置情報という)を取得し、かつ記憶しているか否かを判定する(ステップST305)。
統合判定部303は、現在処理中の該当ユーザが所持する端末10が、現在行っている処理より前に、前回位置情報を取得し、かつ記憶していると判定した場合(ステップST305;YES)、統合判定部303は、端末位置取得部302に、当該前回位置情報を端末10から受信するように指示するとともに、統合判定部303は、当該前回位置情報を端末位置取得部302から取得し、該当ユーザの現在位置が前回位置に比べて、ユーザZまたは表示器30に近付いているか否かを判定する(ステップST306)。
一方、統合判定部303は、現在処理中の該当ユーザが所持する端末10が、現在行っている処理より前に、前回位置情報を取得し、かつ記憶していないと判定した場合(ステップST305;NO)、ステップST308の処理に進む。
統合判定部303は、該当ユーザの現在位置が前回位置に比べて、ユーザZまたは表示器30に近付いていると判定した場合(ステップST306;YES)、統合判定部303は、現在処理中の該当ユーザが参加状態404であるという状態情報をサーバ20に送信する(ステップST307)。
一方、統合判定部303は、該当ユーザの現在位置が前回位置に比べて、ユーザZまたは表示器30に近付いていないと判定した場合(ステップST306;NO)、ステップST308の処理に進む。
統合判定部303は、ステップST303で受信した現在位置情報を記憶する(ステップST308)。なお、当該現在位置情報の記憶先は、表示器30ではなく、端末10、またはサーバ20としてもよい。ステップST308の処理が終了すると、現在処理中の該当ユーザに対する処理は終了する。そして、ステップST301に戻り、他の該当ユーザについて検索統合判定処理を行う。グループYの非接近状態401の全ユーザについて、検索統合判定処理が終了すると、図3のステップST106の処理に進む。
統合判定部303は、グループYのユーザのうち、接近状態402であるユーザの履歴データ、および参加状態404であるユーザの履歴データを用いて、グループYの重複度付きロケーション情報を生成する指示をサーバ20に送信する(ステップST106)。
検索結果統合部201は、当該指示を統合判定部303から受信すると、検索結果統合部201は、グループYにおける、接近状態402のユーザおよび参加状態404のユーザの履歴データを統合し、重複度付きロケーション情報を生成する(ステップST107)。
行程作成部205は、行程情報生成指示を端末10から受信したか否かを判定する(ステップST108)。行程作成部205が、行程情報生成指示を端末10から受信したと判定した場合(ステップST108;YES)、行程作成部205は、検索結果統合部201から取得した重複度付きロケーション情報、および地図DB40から受信した地図情報に基づき、行程情報を生成する(ステップST109)。一方、行程作成部205が、行程情報生成指示を端末10から受信していないと判定した場合(ステップST108;NO)、ステップST110の処理に進む。
表示判定部304は、重複度付きロケーション情報のうち、どの重複度付きロケーション情報を表示部301に表示するか判定する(ステップST110)。
表示判定部304は、ステップST110で表示すると判定した重複度付きロケーション情報および当該重複度付きロケーション情報に対応する地図情報を表示部301に表示する(ステップST111)。表示判定部304は、行程情報を取得している場合には、当該行程情報を表示部301に表示する。
表示判定部304は、表示を継続するか否かを判定する(ステップST112)。表示判定部304は、端末位置取得部302に接近判定処理の実行を指示し、かつ端末位置取得部302から接近情報を取得し、表示を継続すると判定した場合(ステップST112;YES)、ステップST105の処理に戻る。
一方、表示判定部304は、端末位置取得部302に接近判定処理の実行を指示し、かつ端末位置取得部302から接近情報を取得せず、表示を継続しないと判定した場合(ステップST112;NO)、表示部301に表示している重複度付きロケーション情報等を非表示にし、処理を終了する。
次に、実施の形態1に係る行先提案システムのハードウェア構成例を説明する。
図6は、実施の形態1に係る行先提案システムの端末10のハードウェア構成の一例である。図6に示すように、端末10のハードウェア構成は、主記憶装置501、CPU502、補助記憶装置503、通信装置504、入力装置505、センサ506、および表示器507を含む。
主記憶装置501は、各機能を実現するためのプログラムおよびデータを記憶する。主記憶装置501は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、またはSSD(Solid State Drive)等で構成される。CPU502は、Central Processing Unitであり、適宜、主記憶装置501に記憶されたプログラムおよびデータを読み出し、各機能を実現する。なお、CPU502はCPUではなく、GPU(Graphics Processing Unit)で構成してもよい。また、CPU502は、CPUとGPUとを併用するように構成してもよい。補助記憶装置503は、キャプチャ対象のアプリケーションが実行するデータが格納されており、HDD(Hard Disk Drive)、またはフラッシュメモリ等で構成される。通信装置504は、LAN(Local Area Network)アダプター、無線LANアダプター、またはBluetoothアダプター等で構成される。通信装置504は、外部の機器と通信するための機能を実現する。入力装置505は、ユーザが情報等を入力するための装置であり、例えば、マウス、またはキーボード等である。センサ506は、イメージセンサ、加速度センサ、角加速度センサ、またはGPS通信装置等で構成され、計測値の取得が可能である。表示器507は、液晶ディスプレイ、または有機EL(Electro−Luminescence)等で構成される。
次に、図1に示したシステム構成図における端末10の各部の機能が、図6に示したハードウェア構成図でどのように実現されるか説明する。
送受信部100の機能は、通信装置504で実現される。入力部101の機能は、入力装置505で実現される。表示部104の機能は、表示器507で実現される。CPU502は、主記憶装置501に記憶されたプログラムおよびデータを読み出して実行することにより、検索部102および位置取得部103の機能を実現する。その際、必要に応じて補助記憶装置503に記憶されたデータを読み出す。検索部102の機能は、CPU502が、入力装置505を介して入力された検索ワードに基づき、通信装置504を介して地図DB40からロケーション情報等を受信することにより実現される。地図DBから受信したロケーション情報等は、主記憶装置501に展開される。検索履歴情報およびお気に入り登録情報が、補助記憶装置503に記憶されるように構成してもよい。位置取得部103の機能は、CPU502が、センサ506が取得した計測値を解析し、現在位置情報を算出することにより実現される。現在位置情報は、主記憶装置501に展開される。CPU502は、主記憶装置501に展開された情報を、必要に応じて表示器507に表示する。
図6は、実施の形態1に係る行先提案システムの表示器30のハードウェア構成の一例でもある。図6に示すように、表示器30のハードウェア構成は、主記憶装置501、CPU502、補助記憶装置503、通信装置504、入力装置505、センサ506、および表示器507を含む。なお、入力装置505は、必要に応じて設ける。各構成の説明は、上記と重複するため省略する。
次に、図1に示したシステム構成図における表示器30の各部が、図6に示したハードウェア構成図でどのように実現されるか説明する。
送受信部300の機能は、通信装置504で実現される。表示部301の機能は、表示器507で実現される。CPU502は、主記憶装置501に記憶されたプログラムおよびデータを読み出して実行することにより、端末位置取得部302、統合判定部303、表示判定部304、および地図取得部305の機能を実現する。その際、必要に応じて補助記憶装置503に記憶されたデータを読み出す。端末位置取得部302の機能は、CPU502が、センサ506の計測値に基づき算出した現在位置と、通信装置504を介して受信した端末10の現在位置情報とに基づき、接近判定処理を行うことにより実現される。統合判定部303の機能は、CPU502が、対象グループの各ユーザの状態情報を主記憶装置501に展開し、検索統合判定処理を行うことにより実現される。表示判定部304の機能は、CPU502が、重複度付きロケーション情報を主記憶装置501に展開し、どの重複度付きロケーション情報を表示するか判定することにより実現される。地図取得部305の機能は、CPU502が、通信装置504を介して地図DB40から地図情報を受信することにより実現される。地図情報は、主記憶装置501または補助記憶装置503に展開される。CPU502は、主記憶装置501に展開された情報を、必要に応じて表示器507に表示する。
図7は、実施の形態1に係る行先提案システムのサーバ20のハードウェア構成の一例である。図7に示すように、サーバ20のハードウェア構成は、主記憶装置501、CPU502、補助記憶装置503、通信装置504および入力装置505を含む。なお、入力装置505は、必要に応じて設ける。各構成の説明は、上記と重複するため省略する。
次に、図1に示したシステム構成図におけるサーバ20の各部が、図7に示したハードウェア構成図でどのように実現されるか説明する。
送受信部200の機能は、通信装置504で実現される。CPU502は、主記憶装置501に記憶されたプログラムおよびデータを読み出して実行することにより、検索結果統合部201、ユーザ管理部202、グループ管理部203、履歴管理部204、および行程作成部205の機能を実現する。その際、必要に応じて補助記憶装置503に記憶されたデータを読み出す。検索結果統合部201の機能は、CPU502が、補助記憶装置503に記憶されている各ユーザの検索履歴情報およびお気に入り登録情報の中から、対象グループに所属するユーザの検索履歴情報およびお気に入り登録情報を主記憶装置501に展開し、当該検索履歴情報およびお気に入り登録情報を統合することにより実現される。統合結果は、主記憶装置501および補助記憶装置503に展開される。ユーザ管理部202の機能は、CPU502が、各ユーザの属性情報および各ユーザの状態情報を補助記憶装置503に記憶することにより実現される。グループ管理部203の機能は、CPU502が、各グループを構成するユーザおよびグループ名称等を補助記憶装置503に記憶することにより実現される。履歴管理部204の機能は、CPU502が、各ユーザの検索履歴情報および各ユーザのお気に入り登録情報等を補助記憶装置503に記憶することにより実現される。行程作成部205の機能は、CPU502が、補助記憶装置503に記憶されている重複度付きロケーション情報、および通信装置504を介して地図DB40から受信した地図情報を主記憶装置501に展開し、巡回する経路を算出することにより実現される。当該算出結果は、主記憶装置501に展開される。
以上のように、実施の形態1に係る行先提案システムは、ユーザにより入力されたロケーションに基づき、情報を検索する検索部102と、ロケーションの検索履歴情報およびロケーションのお気に入り登録情報の少なくとも一方からなる履歴データを複数のユーザについて取得し、記憶する履歴管理部204と、履歴データを履歴管理部204から取得し、複数のユーザがそれぞれ検索したロケーションおよび複数のユーザがそれぞれお気に入り登録したロケーションの少なくとも一方を統合した統合情報を生成する検索結果統合部201と、検索結果統合部201が生成した統合情報を表示する表示器30とを備える。これにより、複数のユーザで構成されるグループで旅行等をする際に、当該グループの各ユーザが予め検索した場所等が統合され、その統合結果が表示器に表示される行先提案システムを得ることができる。
また、実施の形態1によれば、グループを構成する各ユーザが共通して興味を持っている場所または施設等が表示される。これにより、グループで旅行等をする際に、多くのユーザが興味を持っている場所または施設等を容易に把握することができ、ユーザの希望に沿った行先を短時間で決定することができる。
グループを構成する各ユーザが興味を持っている場所または施設等をそれぞれ表示する場合、グループを構成するユーザが増えるにつれ、表示の視認性は悪化する。これに対し、実施の形態1によれば、グループを構成する各ユーザが共通して興味を持っている場所または施設等が統合された結果が表示されるため、たとえ、グループを構成するユーザが増えたとしても表示の視認性が悪化することはない。
また、実施の形態1によれば、ユーザが興味を持っている場所または施設等の検索は、ユーザごとに任意のタイミングで行うことができる。このため、グループを構成する各ユーザが同時に当該検索を実行する必要がなく、行先の決定を効率良く行うことができる。
また、実施の形態1によれば、同じグループの他のユーザと、興味を持っている場所または施設等が重複しない場合であっても、他のユーザが興味を持っている場所または施設等が表示される。このため、場所または施設等を再度検索することなく、行先を決定することができる。
また、実施の形態1によれば、ユーザが表示器30に接近すると、グループを構成する各ユーザが共通して興味を持っている場所または施設等が自動的に表示される。このため、例えば、表示器30に対して操作を入力する手間を省くことができ、行先の決定を効率良く行うことができる。
また、実施の形態1によれば、グループを構成するユーザの中に、ロケーションの検索およびロケーションのお気に入り登録を行っていないユーザがいる場合でも、当該ユーザと属性が類似する代替ユーザが興味を持っている場所または施設等が統合された結果が表示器30に表示される。このため、予め検索を行っていなかったユーザがグループ内にいる場合でも、行先の決定を効率良く行うことができる。
また、実施の形態1によれば、グループを構成するユーザの中に、表示器30から離れているユーザがいる場合でも、当該ユーザが表示器30に近付いている場合には、当該ユーザが興味を持っている場所または施設等が統合された結果が表示器30に表示される。このため、表示器30から離れているユーザに、興味を持っている場所等の確認をする手間を省くことができ、行先の決定を効率良く行うことができる。
実施の形態2.
図8は、この発明の実施の形態2に係る行先提案システムの構成を示すブロック図である。実施の形態2に係る行先提案システムは、実施の形態1に係る行先提案システムに対し、参加確認部105を追加したものである。以下、実施の形態1で説明した構成と同一または相当する機能を有する構成については、同一の符号を付し、その説明を省略または簡略化する。
実施の形態1の図5に示したステップST302では、統合判定部303が、端末位置取得部302で、該当ユーザが所持する端末10の位置取得部103から現在位置情報を取得できないと判定した場合(図5のステップST302;NO)、現在処理中の該当ユーザに対する処理を終了するものとした。
実施の形態2では、統合判定部303は、端末位置取得部302で、該当ユーザが所持する端末10の位置取得部103から現在位置情報を取得できないと判定した場合、統合判定部303は、参加確認指示を該当ユーザが所持する端末10に送信する。参加確認部105は、参加確認指示を表示器30から受信すると、該当ユーザに対し、グループの現在の行動である旅行等に参加するか否かを問い合わせる表示を表示部104に表示する。入力部101は、該当ユーザが参加するか否かを回答する入力を受け付ける。参加確認部105は、入力部101を介して該当ユーザが参加するという回答を取得したか否かを判定する。参加確認部105は、入力部101を介して該当ユーザが参加するという回答を取得したと判定すると、該当ユーザが参加状態404であるという状態情報をサーバ20に送信する。一方、参加確認部105は、入力部101を介して該当ユーザが参加するという回答を取得しなかったと判定すると、該当ユーザが非参加状態403であるという状態情報をサーバ20に送信する。ユーザ管理部202に記憶されている該当ユーザの状態情報は更新される。
次に、図9を用いて、実施の形態2に係る行先提案システムの検索統合判定処理について説明する。実施の形態2に係る行先提案システムの検索統合判定処理は、図5で示した実施の形態1に係る行先提案システムの検索統合判定処理に対し、ステップST310〜ステップST313が追加されたものである。
統合判定部303は、端末位置取得部302で、該当ユーザが所持する端末10の位置取得部103から現在位置情報を取得できないと判定した場合(ステップST302;NO)、統合判定部303は、参加確認指示を端末10に送信する(ステップST310)。参加確認部105は、参加確認指示を受信すると、該当ユーザに対し、参加するか否かを問い合わせる表示を表示部104に表示するとともに、入力部101を介して該当ユーザが参加するという回答を取得したか否かを判定する(ステップST311)。
参加確認部105は、入力部101を介して該当ユーザが参加するという回答を取得した場合(ステップST311;YES)、参加確認部105は、該当ユーザが参加状態404であるという状態情報をサーバ20に送信する(ステップST312)。
一方、参加確認部105は、入力部101を介して該当ユーザが参加するという回答を取得しなかったと判定した場合(ステップST311;NO)、参加確認部105は、該当ユーザが非参加状態403であるという状態情報をサーバ20に送信する(ステップST313)。ステップST313の処理が終了すると、現在処理中の該当ユーザに対する処理は終了する。そして、ステップST301に戻り、他の該当ユーザについて検索統合判定処理を行う。
実施の形態2に係る行先提案システムの端末10のハードウェア構成図は、図6と同様である。参加確認部105の機能は、CPU502が、該当ユーザに対し、参加するか否かを問い合わせる表示を表示器507に表示するとともに、入力装置505を介して該当ユーザが参加するという回答を取得したか否かの判定を行うことにより実現される。
以上のように、実施の形態2に係る行先提案システムによれば、グループを構成するユーザの中に、表示器30から離れていて、かつ現在位置を取得できないユーザがいても、当該ユーザがグループでの旅行等に参加予定である場合には、当該ユーザが興味を持っている場所または施設等が統合された結果が表示器30に表示される。このため、当該ユーザに、興味を持っている場所等の確認をする手間を省くことができ、行先の決定を効率良く行うことができる。
なお、本発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは、各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。