以下、図面と共に本発明に係る訪問先推定装置の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1に本実施形態に係る訪問先推定装置10を示す。訪問先推定装置10は、ユーザの位置に基づいて、ユーザが訪問した場所である訪問先を推定する装置である。本実施形態では、ユーザの訪問先となる場所として、店舗、レジャー施設及び観光施設等のPOIを推定する。推定されたユーザの訪問先の情報は、例えば、ユーザの嗜好等の特徴の推定に用いることができる。
ユーザ端末20は、ユーザによって携帯されて用いられる装置である。ユーザ端末20は、具体的には、携帯電話機やスマートフォン等に相当する。ユーザ端末20は、移動体通信網等のネットワークNに接続して無線通信を行う機能を有している。ユーザ端末20と訪問先推定装置10とは、ネットワークNを介して通信を行うことができ、互いに情報の送受信を行えるようになっている。
ユーザ端末20は、GPS(グローバル・ポジショニング・システム)測位機能等の自端末の測位機能を有している。ユーザ端末20は、測位機能によって得られた自端末の位置である測位点を示す情報を、ユーザの位置を示すユーザ位置情報として訪問先推定装置10に送信する。ユーザ位置情報は、例えば、緯度及び経度を示す情報である。ユーザ端末20は、ユーザの位置の誤差を示す誤差情報を取得する。ユーザの位置の誤差は、例えば、測位機能による測位の際の測位誤差である。誤差情報は、例えば、測位誤差である距離の情報であり、従来のGPS測位機能等によって取得される。ユーザ端末20は、誤差情報と共にユーザ位置情報を訪問先推定装置10に送信する。
ユーザ端末20による自端末の測位は、継続的に行われ、例えば、定期的(例えば、10分毎)に行われる。ユーザ端末20から訪問先推定装置10に送信されるユーザ位置情報は、訪問先推定装置10側でいつ測位された位置に係るユーザ位置情報か把握されるようにしておく。例えば、ユーザ端末20は、ユーザ位置情報に測位時刻(日時)を対応付けて訪問先推定装置10に送信する。あるいは、ユーザ端末20は、測位する度にユーザ位置情報を訪問先推定装置10に送信する。
ユーザ端末20は、通常の携帯電話機やスマートフォン等と同様にCPU(Central Processing Unit)、メモリ及び無線通信モジュール等のハードウェアを備えて構成される。
引き続いて、本実施形態に係る訪問先推定装置10の機能を説明する。図1に示すように訪問先推定装置10は、記憶部11と、位置情報取得部12と、第1推定部13と、推定用情報取得部14と、第2推定部15とを備えて構成される。
記憶部11は、訪問先推定装置10における処理に必要となる情報を記憶する機能部である。記憶部11は、ユーザの位置を示すユーザ位置情報(測位履歴)を記憶する。記憶部11は、ユーザ端末20から送信されるユーザ位置情報、及び当該ユーザ位置情報に係る誤差情報を受信して、それらを対応付けて記憶する。上述したようにユーザ端末20による自端末の測位は、継続的に行われるため、複数のユーザ位置情報及び誤差情報が取得される。なお、1つのユーザ位置情報は、1つのタイミングにおける位置に係るものであるとする。
記憶部11は、ユーザの訪問先の候補となるPOIの位置を示すPOI位置情報をPOI毎に記憶する。POI位置情報は、例えば、POIの緯度及び経度を示す情報である。POI位置情報は、訪問先推定装置10の管理者等によって、予め訪問先推定装置10に入力されている。記憶部11に記憶される上記以外の情報については後述する。
位置情報取得部12は、ユーザの位置を示すユーザ位置情報、及び訪問先の候補の場所の位置を示す場所位置情報であるPOI位置情報を取得する機能部である。位置情報取得部12は、当該ユーザ位置情報に係る誤差情報を取得する。位置情報取得部12は、ユーザ位置情報を複数取得する。
位置情報取得部12は、記憶部11に記憶される複数のユーザ位置情報、及び当該ユーザ位置情報に係る誤差情報を読み出して取得する。位置情報取得部12は、所定の期間に係るユーザ位置情報及び誤差情報を取得することとしてもよい。所定の期間は、ユーザの訪問先を推定したい期間である。例えば、取得の時点から予め設定された時間(例えば、1日あるいは数日)遡った期間のユーザ位置情報及び誤差情報を取得することとしてもよい。具体的には、測位時刻によって示される時刻が当該期間に含まれるユーザ位置情報及び誤差情報を取得する。
位置情報取得部12は、記憶部11に記憶されるPOI位置情報を読み出して取得する。位置情報取得部12は、取得したユーザ位置情報及び誤差情報、並びにPOI位置情報を第1推定部13に出力する。
第1推定部13は、位置情報取得部12によって取得されたユーザ位置情報、及びPOI位置情報に基づいて、訪問先の候補のPOIからユーザの訪問先を推定する、即ち、第1の推定を行う機能部である。第1推定部13は、ユーザ位置情報に基づく位置及び誤差情報に基づいて設定される領域に位置する訪問先の候補のPOIからユーザの訪問先を推定する。第1推定部13は、ユーザ位置情報に基づく位置と訪問先の候補のPOIの位置との距離を算出し、算出した距離のうち最も短い距離と次に短い距離との差と設定された閾値とを比較し、当該比較に基づいてユーザの訪問先を推定できるか否かを判断する。第1推定部13は、誤差情報に基づいて上記の閾値を設定する。第1推定部13は、ユーザ位置情報に基づいて、ユーザが滞留した位置を示す滞留点を算出(生成)し、当該滞留点を構成するユーザの位置の数に基づいてユーザの訪問先を推定できるか否かを判断する。具体的には、第1推定部13は、以下のように推定を行う。
第1推定部13は、位置情報取得部12からユーザ位置情報及び誤差情報、並びにPOI位置情報を入力する。第1推定部13は、入力したユーザ位置情報に基づいて、ユーザが滞留した位置を示す滞留点を算出する。ユーザの滞留とは、ユーザがある程度狭い領域に留まっていることであり、即ち、ユーザが所定時間以上、所定の領域内に連続して位置していることである。滞留点は、ユーザが滞留した場合に位置していた領域、又は当該領域を代表する位置である。第1推定部13は、例えば、特許文献1に示されている方法により滞留点を算出する。
第1推定部13は、当該算出によって、滞留点の緯度及び経度、滞留を開始した時刻である滞留開始時刻(滞留開始日時)並びに滞留を終了した時刻である滞留終了時刻(滞留終了日時)を得る。第1推定部13は、滞留点を構成するユーザ位置情報に係る誤差情報から、滞留点に係る測位誤差を算出する。第1推定部13は、当該測位情報によって示される測位誤差の平均値を算出して、当該平均値を滞留点に係る測位誤差とする。第1推定部13は、算出した滞留点に対して、訪問先のPOIである訪問POIを推定する。即ち、第1推定部13は、ユーザが滞留した際の訪問POIを推定する。
第1推定部13は、算出した滞留点について、訪問POIの候補を限定するための領域(範囲)を設定する。当該領域は、例えば、円形とされる。第1推定部13は、当該領域の半径を設定する。半径Yは、例えば、Y=AX+Bとの式によって算出される。ここで、Xは、算出した滞留点に係る測位誤差である。A,Bは、予め設定されるパラメータである。Aは正の値、Bは非負の値である。第1推定部13は、算出した滞留点を中心とした半径Yの円形の領域を上記の領域とする。
第1推定部13は、当該領域に位置するPOIから訪問POIを推定する。第1推定部13は、各POIについて、入力したPOI位置情報によって示されるPOIの位置に基づき、当該領域に位置するPOIを訪問POIの候補とする。即ち、それ以外のPOIについては、訪問POIの推定から除外する。具体的には、第1推定部13は、各POIについて、算出した滞留点の位置とPOIの位置との距離を算出する。第1推定部13は、算出した距離が半径Y以下のPOIを訪問POIの候補とする。上記のように、測位誤差が大きければ(測位精度が悪ければ)半径Yが大きくなるため、訪問POIの候補は多くなり、測位誤差が小さければ(測位精度がよければ)半径Yが小さくなるため、訪問POIの候補は少なくなる。
この時点で、訪問POIの候補が1つのみであった場合、第1推定部13は、当該訪問POIの候補を訪問POIと推定する。この場合、第1推定部13は、推定した訪問POIを示す情報を出力する。例えば、第1推定部13は、ユーザの嗜好等の特徴の推定を行う装置等の訪問POIの情報が用いられる装置に推定した訪問POIを示す情報を出力する。あるいは、第1推定部13は、その旨を表示する等して、ユーザに対して出力してもよい。訪問POIの候補がなかった場合、第1推定部13は、訪問POIの推定ができないと判断する。この場合、第1推定部13は、訪問POIが推定できなかった旨を示す情報を出力する。当該出力をもって、当該滞留点についての推定の処理を終了する。
訪問POIの候補が2つ以上であった場合、第1推定部13は、以下の処理を行う。第1推定部13は、算出した距離のうち、最も短い距離(1位との距離)と次に短い距離(2位との距離)との差と設定された閾値Nとを比較する。第1推定部13は、当該差が閾値N以上であった場合、最も短い距離に係るPOIを訪問POIと推定する。この条件を満たす場合は、ユーザの位置及びPOIの位置以外の情報(特徴量)を用いずに推定が行える、即ち、推定が簡単な場合である。閾値Nは、予め固定的に設定された値でもよいし、誤差情報に基づいて設定されてもよい。固定的に閾値Nが設定される場合は、例えば、訪問先推定装置10の管理者等によって当該設定が行われる(他の閾値又はパラメータについても同様である)。誤差情報に基づいて閾値Nを設定する場合には、例えば、滞留点に係る測位誤差が大きくなると、閾値Nが大きくなるように設定する。第1推定部13は、この場合、滞留点に係る測位誤差に応じて閾値Nをどのように設定するか、予め記憶している。
上記により訪問POIを推定できた場合、第1推定部13は、推定した訪問POIを示す情報を出力する。当該出力をもって、当該滞留点についての推定の処理を終了する。
上記の差が閾値N以上でなかった場合、第1推定部13は、上記の距離からは訪問POIを推定できないと判断する。この条件を満たさない場合は、ユーザの位置とPOIの位置との距離が似たような値となり、それらの位置のみでは推定が困難な場合である。この場合、第1推定部13は、更なる推定のため、その旨を推定用情報取得部14及び第2推定部15に通知する。また、第1推定部13は、推定に用いた情報を第2推定部15に出力する。
なお、入力したユーザ位置情報から滞留点が複数算出された場合には、第1推定部13は、それぞれの滞留点について、訪問POIを推定する。また、滞留点が1つも算出されない場合には、第1推定部13は、訪問POIはない、即ち、ユーザはどのPOIにも訪問していないものと推定する。
また、訪問POIの推定が行えるか否かの判断に、算出した滞留点を構成するユーザの位置の数を用いてもよい。例えば、第1推定部13は、算出した滞留点を構成するユーザの位置の数と、予め設定された閾値とを比較する。第1推定部13は、上述した判断(条件)に加えて、当該ユーザの位置の数が閾値以上である場合に、訪問POIの推定が可能であると判断する。一方で、第1推定部13は、当該ユーザの位置の数が閾値以上でない場合には、訪問POIを推定できないと判断する。即ち、この場合、第1推定部13は、上述した判断で訪問POIを推定できた場合であっても、訪問POIを推定できないと判断する。
推定用情報取得部14は、ユーザ位置情報及びPOI位置情報以外の訪問POIの推定に用いられるユーザ及びPOIの少なくとも何れかに係る推定用情報を取得する機能部である。推定用情報は、第1推定部13によって距離からは訪問POIを推定できないとされ、第2推定部15によって更なる推定(第2の推定)が行われる場合に当該更なる推定に用いられる情報である。推定用情報取得部14は、推定用情報として、POIの滞在時間及び滞在時刻、若しくはPOIの人気に応じた、当該POIへの訪問されやすさの度合いを示す情報を取得する。
記憶部11は、推定用情報として、以下の情報を記憶する。記憶部11は、POIのカテゴリを示す情報をPOI毎に記憶する。POIのカテゴリを示す情報は、カフェ、コンビニ(コンビニエンスストア)といったPOIがどのような種別のものかを示す情報である。
また、記憶部11は、POIの滞在時間(POIに継続して滞在した時間)に応じた当該POIへの訪問されやすさの度合いを示すスコアをカテゴリ毎に記憶する。記憶部11は、この情報を図2に示すテーブルで保持する。図2に示すようにこのテーブルは、カテゴリ(x)、滞在時間(y)(滞在時間(y)の範囲)及びスコアが対応付けられた情報を格納する。POIへの滞在時間が滞在時間(y)に示されるものである場合、スコアが高いほど、カテゴリ(x)のPOIへ訪問される可能性が高いことを示している。例えば、図2に示すようにカテゴリ(x)がカフェのPOIであれば、通常、カフェでの滞在時間の可能性が高い滞在時間のスコアが高くなっている。
また、記憶部11は、POIの滞在時刻に応じた当該POIへの訪問されやすさの度合いを示すスコアをカテゴリ毎に記憶する。記憶部11は、この情報を図3に示すテーブルで保持する。図3に示すようにこのテーブルは、カテゴリ(x)、滞在時刻(y)(滞在時刻(y)の範囲、時間帯)及びスコアが対応付けられた情報を格納する。POIへの滞在時刻が滞在時刻(y)に示されるものである場合、スコアが高いほど、カテゴリ(x)のPOIへ訪問される可能性が高いことを示している。例えば、図3に示すようにカテゴリ(x)がカフェのPOIであれば、通常、カフェでの滞在時刻の可能性が高い滞在時刻のスコアが高くなっている。
また、記憶部11は、POIの人気に応じた当該POIへの訪問されやすさの度合いを示す人気度をPOI毎に記憶する。例えば、過去に当該POIに訪れた訪問者数を当該POIの人気度とすることができる。人気度が高いほど、当該POIへ訪問される可能性が高いことを示している。訪問者数の情報は、例えば、POIへの訪問(チェックイン)を記憶するサービス(例えば、SNS(ソーシャル・ネットワーキング・サービス)でのサービス)から、チェックインユーザ数として取得することができる。
上記の推定用情報は、訪問先推定装置10の管理者等によって、予め訪問先推定装置10に入力されている。
推定用情報取得部14は、第1推定部13からの通知を受け付けて、記憶部11に記憶される上記の推定用情報を読み出して取得する。推定用情報取得部14は、取得した推定用情報を第2推定部15に出力する。
なお、POIのカテゴリを示す情報については、POI毎にPOI位置情報に対応付けておき、POI位置情報とあわせて位置情報取得部12によって取得されてもよい。
第2推定部15は、第1推定部13によってユーザの訪問先を推定できなかった場合に、推定用情報取得部14によって取得された推定用情報に基づいて、訪問先の候補のPOIからユーザの訪問先を推定する、即ち、第2の推定を行う機能部である。第2推定部15は、ユーザ位置情報に基づく位置及び上記の最も短い距離に基づいて設定される領域に位置するPOIからユーザの訪問先を推定する。第2推定部15は、ユーザ位置情報に基づく位置とPOIの位置との距離を長さ順に並べ、連続する距離の間の差に基づいて、POIを限定し、限定したPOIからユーザの訪問先を推定する。具体的には、第2推定部15は、以下のように推定を行う。
第2推定部15は、第1推定部13及び推定用情報取得部14から、訪問POIを推定するための各情報を入力する。第2推定部15は、第1推定部13によって訪問POIが推定できないとされた滞留点について、訪問POIの候補を限定するための領域(範囲)を設定する。当該領域は、例えば、円形とされる。第2推定部15は、当該領域の半径を設定する。半径は、例えば、第1推定部13によって算出された滞留点の位置とPOIの位置との距離のうち、最も短い距離(1位との距離)に上記の閾値Nを加えた値(1位との距離+閾値N)とされる。
第2推定部15は、当該領域に位置するPOIから訪問POIを推定する。第2推定部15は、各POIについて、入力したPOI位置情報によって示されるPOIの位置に基づき、当該領域に位置するPOIを訪問POIの候補とする。即ち、それ以外のPOIについては、訪問POIの推定から除外する。具体的には、第2推定部15は、各POIについて、第1推定部13によって算出された滞留点の位置とPOIの位置との距離が上記の半径以下のPOIを訪問POIの候補とする。
また、第2推定部15は、以下のように訪問POIの候補を限定してもよい。第2推定部15は、第1推定部13によって算出された距離を長さ順に並べる。第2推定部15は、長さが短い順に連続する距離の差、即ち、N位とN+1位との差を見ていき、当該距離の差が予め設定された閾値以上となった場合にN+1以降の距離に係るPOIを訪問POIの候補から除外する。
第2推定部15は、上記のように限定された訪問POIの候補から、推定用情報取得部14によって取得された推定用情報に基づいて、訪問POIを推定する。第2推定部15は、以下の式によって、訪問POIの候補毎のスコアを算出する。スコアは、POIへの訪問されやすさの度合いを示す値である。本実施形態では、スコアが高いほど、POIへ訪問されやすいことを示している。
スコア=a×f(X1)+b×g(X2,X3)+c×h(X2,X4)+d×i(X5)
上記の式において、X1は、滞留点の位置とPOIの位置との距離である。X2は、POIのカテゴリである。X3は、ユーザの滞留点における滞在時間である。X4は、ユーザの滞留点における滞在時刻である。X5は、POIの人気度である。
f(X1),g(X2,X3),h(X2,X4),i(X5)は、それぞれの引数に応じたスコアである。スコアが高いほど、それぞれの引数に応じてPOIへ訪問されやすいことを示している。f(x)=1/xとされる。g(x,y)は、推定用情報取得部14によって取得された図2に示すPOIのカテゴリ(x)及びユーザの滞留点における滞在時間(y)に対応するスコアとされる。第2推定部15は、滞在時間X3を滞留点の滞留開始時刻と滞留終了時刻との差分とする。
h(x,y)は、推定用情報取得部14によって取得された図3に示すPOIのカテゴリ(x)及びユーザの滞留点における滞在時刻(y)に対応するスコアとされる。第2推定部15は、滞在時刻X4を滞留点の滞留開始時刻及び滞留終了時刻の少なくとも何れかから算出する。例えば、滞留開始時刻及び滞留終了時刻の中間の時刻を滞在時刻X4とする。あるいは、滞留開始時刻及び滞留終了時刻の何れかを滞在時刻X4としてもよい。i(x)は、POIの人気度xに応じたスコアとされる。例えば、i(x)=人気度xとされる。
a,b,c,dは、予め設定されたそれぞれの項の重みを示すパラメータであり、正の値とされる。なお、これらのパラメータは、機械学習によって決定されてもよい。また、f(X1)の重みaは、測位誤差に反比例するように設定されてもよい。第2推定部15は、算出したスコアが最も高いPOIを訪問POIとする。
あるいは、第2推定部15は、一般的な機械学習を用いて訪問POIを推定してもよい。その場合、第2推定部15は、滞留点の位置とPOIの位置との距離、POIのカテゴリ、ユーザの滞留点における滞在時間及び滞在時刻、並びにPOIの人気度(上記のX1〜X5)を特徴量(説明変数)とする。機械学習には、例えば、SVM(サポートベクターマシン)を用いてもよい。
第2推定部15は、推定した訪問POIを示す情報を出力する。当該出力をもって、当該滞留点についての推定の処理を終了する。
なお、上述した機能部による、訪問POIの推定及び推定に用いる情報の取得は、例えば、訪問先推定装置10の管理者等によってトリガが訪問先推定装置10に与えられたタイミングで行われる。あるいは、予め設定された一定時間毎に行われてもよい。
また、訪問POIの推定は、ユーザ毎に、即ち、ユーザ毎のユーザ位置情報が用いられて行われる。以上が、本実施形態に係る訪問先推定装置10の機能である。
引き続いて、図4のフローチャートを用いて、本実施形態に係る訪問先推定装置10で実行される処理(訪問先推定装置10の動作方法)を説明する。本処理では、まず、位置情報取得部12によって、記憶部11に記憶される複数のユーザ位置情報及び誤差情報、即ち、測位履歴が取得される(S01)。また、位置情報取得部12によって、記憶部11に記憶されるPOI位置情報が取得される(S02)。なお、S02の処理は、S01と独立に行われ得るので、S01のタイミングにかかわらず行うことができる。また、S02の処理は、POI位置情報が用いられる後述する処理(S05)の前までに行われればよい。
続いて、位置情報取得部12によって取得されたユーザ位置情報及び誤差情報から、第1推定部13によって滞留点が算出される(S03)。以下の処理では、算出された滞留点毎に処理が行われる。続いて、第1推定部13によって、算出された滞留点について、訪問POIの候補を限定するための領域が設定される(S04)。具体的には、上述した半径Y(Y=AX+B)が算出されて、当該領域は、滞留点を中心とした半径Yの円形の領域とされる。
続いて、第1推定部13によって、滞留点の位置とPOIの位置との距離が算出される(S05)。算出された距離が半径Y以下のPOIが訪問POIの候補とされる。この時点で、訪問POIの候補が1つのみであった場合、第1推定部13によって、当該訪問POIの候補が訪問POIと推定される(図示せず)。また、訪問POIの候補がなかった場合、第1推定部13によって、訪問POIの推定ができないと判断される(図示せず)。これらの場合、第1推定部13によって推定に係る情報が出力される(図示せず)。
訪問POIの候補が2つ以上であった場合、続いて、第1推定部13によって、訪問POIの候補のうち、最も短い距離(1位との距離)と次に短い距離(2位との距離)との差と設定された閾値Nとが比較される(S06)。当該差が閾値N以上であった場合(S06のYES)、第1推定部13によって、最も短い距離に係るPOIが訪問POIと推定される(S07)。なお、上述したように、上記の判断の際に算出した滞留点を構成するユーザの位置の数に基づいて、訪問POIの推定が可能か否かの判断が行われてもよい。この判断で、訪問POIを推定できないと判断された場合には、当該差が閾値N以上であっても、S06のNOの場合に進む。
上記により訪問POIが推定された場合、第1推定部13によって、推定した訪問POIを示す情報が出力される(S08)。当該出力をもって、当該滞留点についての推定の処理が終了される。
S06において、上記の差が閾値N以上でなかった場合(S06のNO)、推定用情報取得部14によって、記憶部11に記憶される推定用情報が取得される(S09)。続いて、第2推定部15によって、訪問POIの候補を限定するための領域が設定される(S10)。具体的には、上述した半径(1位との距離+閾値N)が算出されて、当該領域は、滞留点を中心とした半径の円形の領域とされる。滞留点の位置とPOIの位置との距離が半径以下のPOIが訪問POIの候補とされる。また、この際、上述したように連続する距離の差に基づいて、訪問POIの候補が限定されてもよい。続いて、第2推定部15によって、当該領域に位置するPOIから訪問POIが推定される(S11)。即ち、第2の推定が行われる。第2の推定では、上述したように推定用情報が用いられて訪問POIの候補毎のスコアが算出され、スコアが最も高いPOIが訪問POIとされる。
続いて、第2推定部15によって、推定した訪問POIを示す情報が出力される(S08)。当該出力をもって、当該滞留点についての推定の処理が終了される。以上が、本実施形態に係る訪問先推定装置10で実行される処理である。
本実施形態では、まず、ユーザ位置情報及びPOI位置情報に基づいた推定が行われ、ユーザの訪問先を推定できなかった場合に推定用情報に基づいた推定が行われる。従って、ユーザ及びPOIの位置によっては推定用情報を用いない推定が可能となる。
上記の通り、本実施形態では、第1推定部13による推定と第2推定部15による推定との2段階での推定が行われる。POIのカテゴリ、滞在時間、滞在時刻及び人気度を考慮する第2推定部15による推定を全てのユーザについて行うこととすると計算量が増加し、推定に時間がかかってしまう。しかしながら、ユーザ及びPOIの位置によっては2段階目の第2推定部15による推定を行わずにユーザの訪問先の推定が可能となる。これにより、推定対象のユーザが多くなった場合等であっても、ユーザの訪問先の推定を効率よく行うことができる。
また、本実施形態のように、誤差情報にも基づく第1推定部13によるユーザの訪問先の推定が行われてもよい。この構成によれば、測位誤差等のユーザの位置の誤差に基づいた適切な推定が可能になる。但し、本発明においては、誤差情報を必ずしも用いる必要はない。誤差情報を用いない場合、上述した半径Y及び閾値Nは測位誤差に応じた値とすればよい。
また、本実施形態のように、第1推定部13によるユーザの訪問先の推定は、最も短い距離と次に短い距離との差に基づいて行われてもよい。この構成によれば、適切かつ確実に第1推定部13によるユーザの訪問先の推定を行うことができる。但し、第1推定部13によるユーザの訪問先の推定については、ユーザ位置情報及びPOI位置情報を用いるものであれば、どのような推定が行われてもよい。
また、本実施形態のように、第2推定部15によって訪問POIの候補を限定することとしてもよい。これにより、スコアを算出するPOIが減り、更にユーザの訪問先の推定を効率よく行うことができる。但し、必ずしも、第2推定部15によって訪問POIの候補を限定する必要はない。
また、本実施形態のように、滞留点を算出して、滞留点を構成するユーザの位置の数に基づいてユーザの訪問先を推定できるか否かを判断することとしてもよい。ユーザの位置の数(測位点数)が多ければより確実な滞留となるため、この構成によれば、ユーザの訪問先の推定を適切に行うことができる。但し、この判断は、必ずしも行う必要はない。
また、滞留点を算出して、滞留点に対して訪問先を推定することで効率的かつ適切な訪問先を推定することができる。但し、滞留点の算出自体も、必ずしも行う必要はなく、個々のユーザの位置について訪問先を推定することとしてもよい。
なお、本実施形態では、推定されるユーザの訪問先はPOIであることとしたが、POI以外の任意の場所であってもよい。また、推定用情報は、上述した情報の全てが用いられる必要はなく、当該情報の何れかが用いられればよい。また、推定用情報は、上述した情報に限られず、ユーザ位置情報及びPOI位置情報以外のユーザの訪問先の推定に用いられるユーザ及び訪問先の候補のPOIの少なくとも何れかに係るものであれば、どのような情報でもよい。また、第2推定部15によるユーザの訪問先の推定についても、推定用情報を用いるものであれば、どのような推定が行われてもよい。
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
例えば、本発明の一実施の形態における訪問先推定装置10などは、本実施形態の訪問先推定装置10の処理を行うコンピュータとして機能してもよい。図5は、本実施形態に係る訪問先推定装置10のハードウェア構成の一例を示す図である。上述の訪問先推定装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。訪問先推定装置10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
訪問先推定装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、訪問先推定装置10の各機能部は、プロセッサ1001で実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、訪問先推定装置10の各機能部は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述の訪問先推定装置10の各機能部は、通信装置1004を含んで実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、訪問先推定装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE−A(LTE-Advanced)、SUPER 3G、IMT−Advanced、4G、5G、FRA(Future Radio Access)、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
移動通信端末は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。