[1.第1実施形態]
以降、本開示に係る推定システムの実施形態の一例である第1実施形態を説明する。第1実施形態では、通信サービスのユーザが将来に訪れそうな場所の中心地を推定する推定システムを例に挙げる。推定システムは、他の任意のサービスに適用可能である。他のサービスへの適用例は、後述の変形例で説明する。
[1-1.推定システムの全体構成]
図1は、推定システムの全体構成の一例を示す図である。図1に示すように、推定システムSは、サーバ10、無線通信装置20、及びユーザ端末30を含む。サーバ10、無線通信装置20、及びユーザ端末30の各々は、インターネット等のネットワークNに接続可能である。推定システムSは、少なくとも1つのコンピュータを含めばよく、図1の例に限られない。
サーバ10は、サーバコンピュータである。サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、ハードディスク等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
無線通信装置20は、無線通信が可能な装置である。例えば、無線通信装置20は、Wi-Fi(登録商標)等の無線LANのアクセスポイント、Bluetooth(登録商標)等の通信規格に対応したアクセスポイント、又は携帯電話の基地局である。無線通信装置20自体は、公知の種々の通信規格に応じた装置を適用可能である。無線通信装置20は、任意の場所に配置される。
ユーザ端末30は、ユーザが操作するコンピュータである。例えば、ユーザ端末30は、スマートフォン、タブレット端末、ウェアラブル端末、又はパーソナルコンピュータである。ユーザ端末30は、制御部31、記憶部32、通信部33、操作部34、表示部35、GPS受信部36、及びICチップ37を含む。制御部31、記憶部32、及び通信部33の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様である。
操作部34は、タッチパネル等の入力デバイスである。表示部35は、液晶ディスプレイ又は有機ELディスプレイである。GPS受信部36は、衛星からの信号を受信する受信機を含む。GPS受信部36は、現在位置又は現在日時の取得に利用される。ICチップ37は、任意の規格のチップであってよく、例えば、FeliCa(登録商標)のチップ、又は、非接触型規格におけるいわゆるTypeA若しくはTypeBのチップである。
なお、サーバ10、無線通信装置20、及びユーザ端末30の各々に記憶されるプログラム及びデータの少なくとも一方は、ネットワークNを介して供給されてもよい。また、サーバ10、無線通信装置20、及びユーザ端末30の各々に、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)と、外部機器とデータの入出力をするための入出力部(例えば、USBポート)と、の少なくとも一方が含まれてもよい。例えば、情報記憶媒体に記憶されたプログラム及びデータの少なくとも一方が、読取部及び入出力部の少なくとも一方を介して供給されてもよい。
[1-2.第1実施形態の概要]
ユーザは、通信サービスの利用を開始するために、ユーザ端末30を操作して、所定の利用登録を行う。ユーザの利用登録が完了すると、そのユーザを一意に識別可能なユーザIDが発行される。例えば、ユーザIDは、ユーザ端末30に記録される。ユーザIDが発行されると、ユーザは、通信サービスを利用できるようになる。
図2は、ユーザが通信サービスを利用する様子の一例を示す図である。第1実施形態では、無線通信装置20が、無線LANのアクセスポイントである場合を例に挙げる。図2に示すように、ユーザは、ユーザ端末30の無線通信機能をオンにして、ある無線通信装置20の電波が届く範囲である通信可能範囲Rに移動すると、その無線通信装置20にユーザ端末30を接続し、通信サービスを利用できる。
例えば、ユーザが、通信可能範囲Rに移動してユーザ端末30のブラウザを立ち上げると、認証のために、ユーザIDの入力が要求される。ユーザが操作部34からユーザIDを入力すると、ユーザ端末30は、無線通信装置20に対し、当該入力されたユーザIDを送信する。ユーザがユーザIDを入力するのではなく、ユーザ端末30に記憶されたユーザIDが無線通信装置20に送信されてもよい。
無線通信装置20は、サーバ10に対し、自身を一意に識別可能な装置IDと、ユーザ端末30から受信したユーザIDと、を送信する。装置IDは、無線通信装置20内の記憶部に記憶されているものとする。サーバ10は、装置ID及びユーザIDによって、どのユーザがどの無線通信装置20の通信可能範囲Rにいるかを特定できる。
サーバ10は、無線通信装置20から装置ID及びユーザIDを受信すると、ユーザIDの正当性を確認する。サーバ10は、ユーザIDの正当性を確認すると、通信サービスの利用を許可する。以降、ユーザは、無線通信装置20にユーザ端末30を接続して通信サービスを利用できる。
無線通信装置20は、種々の場所に配置されており、ユーザは、任意の場所の無線通信装置20を利用できる。例えば、無線通信装置20は、店舗、駅、空港、イベント会場、宿泊施設、公共施設、観光施設、競技場、又はオフィスビルといった場所に配置され、ユーザは、自身が移動した場所に配置された無線通信装置20に接続し、通信サービスを利用できる。
推定システムSは、ユーザによる通信サービスの利用実績に基づいて、ユーザがよく訪れる複数の場所の中心地を取得し、その中心地に基づく情報、例えば、中心地周辺にある場所に関する情報を提供する。この中心地は、ユーザの興味がありそうな場所ということができる。中心地には、何らかの施設が存在することもあるし、特に施設が存在しない地点のこともある。
ユーザの中心地に基づいて提供される情報は、任意の情報であってよく、例えば、中心地周辺の店舗に関する情報、その店舗で利用可能な特典、又は中心地周辺におけるイベントに関する情報である。推定システムSは、ユーザ端末30の現在位置をリアルタイムに取得して、現在位置に基づく情報を提供することもできるが、中心地を取得できれば、より早い段階で中心地に基づく有用な情報を提供できる。
例えば、ユーザが、通信サービスを長期かつ頻繁に利用しているベテランユーザであれば、十分な利用実績が存在する。このため、推定システムSは、ベテランユーザについては、過去の利用実績から中心地を計算すれば、高い精度の中心地を取得可能である。一方、ユーザが、通信サービスを利用し始めたばかりの初心者ユーザの場合には、十分な利用実績が存在しない。このため、推定システムSは、初心者ユーザについては、過去の利用実績から中心地を計算しても、あまり高い精度の中心地を取得できないことがある。
そこで、推定システムSは、ベテランユーザの傾向を学習させた学習モデルを利用して、初心者ユーザが将来に訪れそうな複数の場所の中心地を推定することによって、初心者ユーザであったとしても、高い精度の中心地を取得できるようになっている。発明者の極秘かつ独自の研究によれば、ベテランユーザの傾向として、ベテランユーザが初心者ユーザだった頃に訪れた複数の場所の中心地及びそこから個々の場所までの距離のばらつき具合と、ベテランユーザが十分な利用実績を積んだ後の中心地と、の間に相関関係があることが確認された。
図3は、ベテランユーザが初心者ユーザだった頃に訪れた場所のばらつき具合が小さい場合の一例を示す図である。図3では、通信サービスの提供エリアのマップMの上に、ベテランユーザが接続した無線通信装置20の場所がプロットされている。なお、図3では、マップM上の道路や建物等を省略している。また、図3では、ベテランユーザが初心者ユーザだった頃の中心地を「C1」の符号で示し、そのベテランユーザが十分な利用実績を積んだ後の中心地を「C2」の符号で示す。
図3のベテランユーザについては、初心者ユーザだった頃に訪れた複数の場所の中心地C1と、個々の場所の位置と、の距離のばらつき具合は小さい。即ち、ベテランユーザが初心者ユーザだった頃に訪れた複数の場所は、互いに密集している。図3に示すように、このようなベテランユーザについては、初心者ユーザだった頃の中心地C1と、十分な利用実績を積んだ後の中心地C2と、があまりずれない傾向にあることが、発明者の極秘かつ独自の研究によって確認された。
第1実施形態の学習モデルには、図3のようなベテランユーザの傾向が学習されている。このため、初心者ユーザが現時点までに訪れた複数の場所の中心地と、個々の場所の位置と、の距離のばらつき具合が小さければ、その初心者ユーザの将来の中心地は、現時点の中心地からさほど離れていない位置になるように推定される。第1実施形態の学習モデルには、ベテランユーザの利用回数、年齢、又は居住地といった他の要素も学習されているが、上記のばらつき具合が小さければ、学習モデルが、他の要素よりも現時点の中心地を重視するようになっている。
図4は、ベテランユーザが初心者ユーザだった頃に訪れた場所のばらつき具合が大きい場合の一例を示す図である。図4では、ベテランユーザが初心者ユーザだった頃の中心地を「C3」の符号で示し、そのベテランユーザが十分な利用実績を積んだ後の中心地を「C4」の符号で示す。
図4のベテランユーザについては、初心者ユーザだった頃に訪れた複数の場所の中心地C3と、個々の場所の位置と、の距離のばらつき具合は大きい。即ち、ベテランユーザが初心者ユーザだった頃に訪れた複数の場所は、互いに散らばっている。例えば、中心地C3は、ベテランユーザがたまたま訪れた遠隔地や普段の生活圏ではない場所の位置の影響を受けている。このようなベテランユーザについては、初心者ユーザだった頃の中心地C3と、十分な利用実績を積んだ後の中心地C4と、が大きくずれる傾向にあることが、発明者の極秘かつ独自の研究によって確認された。
第1実施形態の学習モデルには、図4のようなベテランユーザの傾向も学習されている。このため、初心者ユーザが現時点までに訪れた複数の場所の中心地と、個々の場所の位置と、の距離のばらつき具合が大きければ、その初心者ユーザの将来の中心地は、現時点の中心地からある程度離れた位置になるように推定される。上記のばらつき具合が小さければ、学習モデルが、現時点の中心地よりも、利用回数、年齢、又は居住地といった他の要素を重視するようになっている。
図5は、第1実施形態における学習モデルの概要を示す図である。図5に示すように、学習モデルM1には、ベテランユーザの利用実績に基づいて作成された訓練データが学習されている。訓練データの入力部分は、学習モデルM1に対する実際の入力と同じ形式であり、訓練データの出力部分は、学習モデルM1からの実際の出力と同じ形式である。訓練データの入力部分は、ベテランユーザが初心者ユーザだった頃の利用実績に基づいて作成されている。
第1実施形態では、あるユーザが昼に訪れる場所と、そのユーザが夜に訪れる場所と、が大きく異なることがあるので、昼の中心地と夜の中心地が別々の学習モデルM1で推定される場合を説明する。図5では、昼用の学習モデルM1が示されているが、夜用の学習モデルM1も入力部分が夜の情報になるだけであり、基本的な仕組みは同様である。
図5に示すように、訓練データには、入力部分として、ベテランユーザが初心者ユーザだった頃の「昼の中心地」、「昼のばらつき具合」、「昼の利用回数」、「全体の中心地」、「全体のばらつき具合」、「全体の利用回数」、「ユーザ属性」、及び「場所属性」が含まれる。ばらつき具合とは、上述したように、複数の場所の中心地と、個々の場所の位置と、の距離のばらつき具合である。全体とは、昼と夜を合わせた1日全体の期間である。この入力部分は、ベテランユーザが初心者ユーザだった頃の特徴を示す情報である。
ユーザ属性は、ユーザを分類するための属性である。ユーザ属性は、何らかの形でユーザを分類可能なものであればよく、例えば、年齢、居住地、性別、職業、年収、又はこれらの組み合わせである。ユーザ属性は、デモグラフィック情報と呼ばれることもある。ユーザ属性は、本実施形態の例に限られず、ユーザを何らか分類可能なものであればよい。ユーザ属性は、ユーザの性質、種類、カテゴリ、又はジャンルということもできる。
場所属性は、場所を分類するための属性である。場所属性は、何らかの形で場所を分類可能な情報であればよく、例えば、その場所で提供される商品又はサービスの種類(業種)、その場所にある建物、その場所が属するエリア、その場所へのアクセス、又はこれらの組み合わせである。場所属性は、本実施形態の例に限られず、場所を何らか分類可能なものであればよい。場所属性は、場所の性質、種類、カテゴリ、又はジャンルということもできる。第1実施形態では、訓練データには、ベテランユーザが最も訪れた場所の場所属性が含まれるものとする。
図5に示すように、訓練データには、出力部分として、ベテランユーザが十分な利用実績を積んだ後の中心地が含まれる。この中心地は、正解となる中心地である。この中心地は、全ての期間における利用実績から計算された中心地であってもよいし、現時点を含む一部の期間における利用実績から計算された中心地であってもよい。
図5に示すように、初心者ユーザの将来の中心地を推定するために、この初心者ユーザの「昼の中心地」、「昼のばらつき具合」、「昼の利用回数」、「全体の中心地」、「全体のばらつき具合」、「全体の利用回数」、「ユーザ属性」、及び「場所属性」が学習モデルM1に入力される。学習モデルM1に対する入力は、初心者ユーザの特徴を示す情報である。学習モデルM1は、この入力に基づいて、初心者ユーザの将来の中心地を出力する。
以上のように、推定システムSは、ベテランユーザが初心者ユーザだった頃に訪れた場所の中心地及びそこからの距離のばらつき具合と、ベテランユーザが十分な利用実績を積んだ後の中心地と、の関係が学習された学習モデルM1を利用して、初心者ユーザが将来に訪れそうな場所に関する推定の精度を高めるようにしている。以降、この技術の詳細を説明する。
[1-3.第1実施形態の推定システムで実現される機能]
図6は、第1実施形態の推定システムSで実現される機能の一例を示す機能ブロック図である。第1実施形態では、主な機能がサーバ10で実現される場合を説明する。図6に示すように、サーバ10では、データ記憶部100、学習部101、第1取得部102、将来推定部103、及び第1提供部104が実現される。データ記憶部100は、記憶部12を主として実現される。他の各機能は、制御部11を主として実現される。
[データ記憶部]
データ記憶部100は、初心者ユーザの将来の中心地を推定するために必要なデータを記憶する。例えば、データ記憶部100は、ユーザデータベースDB1、場所データベースDB2、訓練データベースDB3、情報データベースDB4、及び学習モデルM1を記憶する。
図7は、ユーザデータベースDB1のデータ格納例を示す図である。図7に示すように、ユーザデータベースDB1は、複数のユーザの各々に関する情報が格納されたデータベースである。例えば、ユーザデータベースDB1には、ユーザID、氏名、履歴情報、ユーザ属性、及び中心地が格納される。あるユーザが利用登録を完了すると、ユーザデータベースDB1に新たなレコードが作成され、そのユーザに関する情報が格納される。ユーザデータベースDB1には、ユーザが利用登録した日時が格納されてもよい。
履歴情報は、通信サービスの利用実績に関する情報である。履歴情報は、個々のユーザが、いつ、どの場所を訪れて通信サービスを利用したかを示す。例えば、履歴情報には、個々のユーザが訪れた場所の位置、その場所の場所属性、及びそのユーザがその場所を訪れた日時が含まれる。履歴情報は、他の情報を含んでもよく、例えば、決済が発生する場所であれば決済金額を含んでもよいし、ユーザの滞在時間やその場所で購入された商品といった他の情報を含んでもよい。ユーザの履歴情報が多いことは、そのユーザの利用実績が多いことを意味する。
ユーザが訪れた場所の位置は、その場所の緯度経度、座標、又は住所によって示される。第1実施形態では、ユーザが無線通信装置20の通信可能範囲Rに移動して通信サービスを利用するので、無線通信装置20が配置された場所は、ユーザが訪れた場所に相当する。このため、第1実施形態で無線通信装置20が配置された場所について説明している箇所は、ユーザが訪れた場所と読み替えることができる。履歴情報に含まれる個々の場所の位置は、ユーザがその場所を訪れた時に、ユーザ端末30の通信部33又はGPS受信部36によって検出された現在位置であってもよい。
第1実施形態では、あるユーザが、ある無線通信装置20の通信可能範囲Rに移動して通信サービスを利用すると、サーバ10は、その無線通信装置20が配置された場所の位置、その場所の場所属性、及びその時の日時を含む履歴情報を作成し、そのユーザに対応するレコードに格納する。無線通信装置20が配置された場所の位置と、その場所の場所属性と、は場所データベースDB2に格納されている。
例えば、ユーザが、あるコンビニエンスストアに配置された無線通信装置20にユーザ端末30を接続した場合、そのコンビニエンスストアの位置、「コンビニエンスストア」を示す場所属性、及びその時の日時が履歴情報に含まれる。また例えば、ユーザが、ある駅に配置された無線通信装置20にユーザ端末30を接続した場合、その駅の位置、「駅」を示す場所属性、及びその時の日時が履歴情報に含まれる。
ユーザデータベースDB1に格納されるユーザ属性は、利用登録時に入力されてもよいし、履歴情報に基づいて動的に決定されてもよい。例えば、ユーザの年齢や居住地といった静的なユーザ属性であれば、利用登録時に入力される。また例えば、ユーザの嗜好や行動パターンといったユーザ属性であれば、履歴情報に基づいて動的に決定される。また例えば、ユーザの現在位置、ユーザ端末30のIPアドレス、及びユーザの過去の決済金額等がユーザ属性として格納されていてもよい。
ユーザデータベースDB1に格納される中心地は、学習モデルM1を利用して推定された中心地、又は、履歴情報に基づいて計算された中心地である。初心者ユーザのレコードには、学習モデルM1を利用して推定された中心地が格納される。ベテランユーザのレコードには、履歴情報に基づいて計算された中心地が格納される。朝・昼・夜といった時間帯ごとの中心地が格納されてもよいし、曜日・平日・祝日といった日ごとの中心地が格納されてもよい。他にも例えば、場所属性ごとの中心地が格納されてもよい。
図8は、場所データベースDB2のデータ格納例を示す図である。図8に示すように、場所データベースDB2は、複数の場所の各々に関する情報が格納されたデータベースである。例えば、場所データベースDB2には、個々の無線通信装置20の装置ID、無線通信装置20が配置された場所の位置、及びその場所の場所属性が格納される。場所データベースDB2の内容は、推定システムSの管理者によって指定される。
図9は、訓練データベースDB3のデータ格納例を示す図である。図9に示すように、訓練データベースDB3は、学習モデルM1に学習させる訓練データが格納されたデータベースである。第1実施形態では、学習モデルM1に対する入力と、正解となる出力と、のペアを訓練データ(教師データ)と記載する。訓練データベースDB3には、このペアの集まりが格納される。訓練データの詳細は、図5で説明した通りである。第1実施形態では、訓練データが学習部101によって作成される場合を説明するが、管理者が手動で訓練データを作成してもよい。
図10は、情報データベースDB4のデータ格納例を示す図である。図10に示すように、情報データベースDB4は、複数のユーザの各々に提供される情報が格納されたデータベースである。例えば、情報データベースには、複数の場所の各々の位置と、その場所に関する情報と、が格納される。この場所は、無線通信装置20が配置された場所であってもよいし、特に無線通信装置20が配置されていない場所であってもよい。例えば、通信サービスと提携する他のサービスが提供される場所に関する情報が、情報データベースDB4に格納されていてもよい。
データ記憶部100は、学習済みの学習モデルM1のプログラム及びパラメータを記憶する。学習モデルM1は、教師有り機械学習を利用したモデルであり、人工知能と呼ばれることもある。機械学習自体は、種々の手法を利用可能であり、例えば、畳み込みニューラルネットワーク、又は、再帰型ニューラルネットワークを利用可能である。広い意味では、深層学習又は強化学習も機械学習に分類されるが、学習モデルM1は、深層学習又は強化学習を利用して作成されたモデルであってもよい。
第1実施形態のデータ記憶部100は、あるベテランユーザが過去に訪れた場所である第1場所の位置に基づく第1位置情報と、そのベテランユーザが第1場所よりも後に訪れた場所である第2場所の位置に基づく第2位置情報と、の関係が学習された学習モデルM1を記憶する。ベテランユーザは、第1場所及び第2場所の各々を訪れて通信サービスを利用する。
ベテランユーザは、第1ユーザの一例である。このため、ベテランユーザと記載した箇所は、第1ユーザと読み替えることができる。第1ユーザは、訓練データを作成するためのユーザである。第1ユーザは、正解となる結果が分かっているユーザである。第1実施形態では、第1ユーザは、後述する第2ユーザよりも利用実績が多いユーザである場合を説明する。第1ユーザは、第2ユーザと異なるユーザであればよく、例えば、第2ユーザと同程度の利用実績があるユーザ、又は、第2ユーザよりも利用実績が少ないユーザであってもよい。
第1場所は、ベテランユーザが過去の一部の期間に訪れた場所である。この期間は、現時点を含まない期間である。第1実施形態では、第1場所は、第1ユーザがサービスの利用を開始した直後の第1期間に訪れた場所である。例えば、ベテランユーザが初心者ユーザだった頃の期間は、第1期間に相当する。第1期間は、ベテランユーザが初心者ユーザだった頃のような期間ではなくてもよく、ある程度の利用実績を積んだ期間の一部を含んでもよい。
なお、第1期間は、固定の長さであってもよいし、ベテランユーザに応じた長さであってもよい。例えば、ベテランユーザが利用登録をした時点から一定時間だけ後までの期間、又は、ベテランユーザが利用登録をした時点から利用回数が所定回数になるまでの期間は、第1期間に相当する。第1期間は、任意の長さであってよく、例えば、1日~数か月程度の期間であってもよいし、利用回数が3回~10回程度になるまでの期間であってもよい。第1実施形態における「ベテランユーザが初心者ユーザだった頃」は、この期間を意味する。
第1位置情報は、第1場所の位置に基づいて取得される情報である。第1実施形態では、第1位置情報が、複数の第1場所の各々の位置に基づいて取得される情報である場合を説明するが、ある1つの第1場所の位置だけに基づいて取得される情報であってもよい。第1位置情報は、あるピンポイントの位置を示してもよいし、一定程度の広さを有する領域を示してもよい。第1位置情報は、何らかの位置を特定可能な情報であればよい。第1実施形態では、ベテランユーザが初心者ユーザだった頃の中心地は、第1位置情報に相当する。第1位置情報は、第1実施形態の例に限られず、例えば、ベテランユーザが初心者ユーザだった頃に訪れた複数の第1場所の各々の位置が第1位置情報に含まれてもよい。即ち、中心地を計算する際の元となる位置が第1位置情報に相当してもよい。
第2場所は、ベテランユーザが過去に訪れた場所のうち、第1場所よりも後に訪れた場所である。第1実施形態では、第2場所は、第1ユーザが第1期間よりも後の第2期間に訪れた場所である。第2期間は、現時点を含んでもよいし、ベテランユーザが直近に利用した過去の時点を含んでもよい。第2期間は、第1期間よりも現地点に近ければよい。第1実施形態では、ベテランユーザが初心者ユーザではなくなった後、即ち、十分な利用実績を積んだ後の期間が第2期間に相当する。
第2位置情報は、第2場所の位置に基づいて取得される情報である。第1実施形態では、第2位置情報が、複数の第2場所の各々の位置に基づいて取得される情報である場合を説明するが、ある1つの第2場所の位置に基づいて取得される情報であってもよい。第1実施形態では、第1場所の位置と第2場所の位置との両方に基づいて、第2位置情報が取得される場合を説明するが、第2場所の位置だけに基づいて、第2位置情報が取得されてもよい。第2位置情報は、あるピンポイントの位置を示してもよいし、一定程度の広さを有する領域を示してもよい。第2位置情報は、何らかの位置を特定可能な情報であればよい。第1実施形態では、ベテランユーザが初心者ユーザではなくなった後の中心地は、第2位置情報に相当する。第2位置情報は、第1実施形態の例に限られず、例えば、ベテランユーザが初心者ユーザではなくなった後に訪れた複数の第2場所の各々の位置が第2位置情報に含まれてもよい。即ち、中心地を計算する際の元となる位置が第2位置情報に相当してもよい。
なお、データ記憶部100が記憶するデータは、上記の例に限られない。例えば、データ記憶部100は、訓練データが学習される前の学習モデルM1と、訓練データの学習で必要なプログラムと、を記憶してもよい。
[学習部]
学習部101は、訓練データベースDB3に格納された訓練データを学習モデルM1に学習させる。学習モデルM1の学習方法自体は、種々の手法を利用可能であり、例えば、勾配降下法又は誤差逆伝播法を利用可能である。先述したように、深層学習又は強化学習の手法が利用されてもよい。学習部101は、訓練データの入力部分が入力された場合に、訓練データの出力部分が出力されるように、学習モデルM1のパラメータを調整する。
第1実施形態では、第1位置情報は、ベテランユーザが過去に訪れた複数の第1場所に基づく中心地である第1中心地を含む。第2位置情報は、ベテランユーザが複数の第1場所よりも後に訪れた複数の第2場所に基づく中心地である第2中心地を含む。学習モデルM1には、あるベテランユーザの第1中心地と、そのベテランユーザの第2中心地と、の関係が学習されている。第1中心地は、学習モデルM1の内部で計算されてもよい。この場合、学習モデルM1には、第1中心地の計算に必要な個々の位置が入力されるようにすればよい。
学習部101は、ユーザデータベースDB1に格納されたベテランユーザの履歴情報に基づいて、ベテランユーザが初心者ユーザだった頃に訪れた複数の第1場所を特定する。学習部101は、履歴情報に含まれる利用日時が第1期間に含まれる場所を、第1場所として特定する。学習部101は、当該特定された複数の第1場所の各々の位置の平均を計算し、第1中心地として取得する。
第1中心地は、複数の第1場所の各々の位置の単純平均であってもよいし、ベテランユーザが訪れた日時に応じた重み付け係数を利用した加重平均であってもよい。加重平均の場合には、現時点に近いほど重み付け係数が大きくなってもよい。第1中心地は、ある程度の広さを有する領域ごとに計算されてもよい。領域ごとに第1中心地が計算されることによって、ベテランユーザの自宅付近の中心地や職場付近の中心地といったように、領域ごとに、ベテランユーザの中心地を計算することができる。
学習部101は、ユーザデータベースDB1に格納されたベテランユーザの履歴情報に基づいて、ベテランユーザが初心者ユーザではなくなった後に訪れた複数の第2場所を特定する。第1実施形態では、全ての期間が第2中心地の計算で考慮される場合を説明するので、学習部101は、全ての期間にベテランユーザが訪れた複数の第1場所及び第2場所の各々の位置の平均を計算し、第2中心地として取得する。第2中心地は、第1中心地と同様、単純平均であってもよいし、加重平均であってもよい。
学習部101は、あるベテランユーザの第1中心地と、そのベテランユーザの第2中心地と、を含む訓練データを作成する。学習部101は、複数のベテランユーザの各々について訓練データを作成し、訓練データベースDB3に格納する。学習部101は、訓練データに基づいて、あるベテランユーザの第1中心地が入力された場合に、そのベテランユーザの第2中心地が出力されるように、学習モデルM1のパラメータを調整する。
第1実施形態では、第1位置情報は、第1中心地と、複数の第1場所の各々の位置と、の距離のばらつき具合である第1ばらつき具合を更に含む。学習モデルM1には、あるベテランユーザの第1中心地及び第1ばらつき具合と、そのベテランユーザの第2中心地と、の関係が学習されている。第1ばらつき具合は、学習モデルM1の内部で計算されてもよい。この場合、学習モデルM1には、第1ばらつき具合の計算に必要な個々の位置が入力されるようにすればよい。
学習部101は、第1中心地と、ベテランユーザが初心者ユーザだった頃に訪れた複数の第1場所の各々の位置と、の距離を計算する。学習部101は、第1場所ごとに計算した距離のばらつき具合を計算し、第1ばらつき具合として取得する。ばらつき具合は、任意の指標によって表現可能であり、例えば、標準偏差、分散、又は共分散である。これらの指標を計算する計算式自体は、公知の計算式を利用すればよい。ばらつき具合は、散らばり具合、又は、密集具合ということもできる。
学習部101は、あるベテランユーザの第1中心地及び第1ばらつき具合と、そのベテランユーザの第2中心地と、を含む訓練データを作成する。学習部101は、複数のベテランユーザの各々について訓練データを作成し、訓練データベースDB3に格納する。学習部101は、訓練データに基づいて、あるベテランユーザの第1中心地及び第1ばらつき具合が入力された場合に、そのベテランユーザの第2中心地が出力されるように、学習モデルM1のパラメータを調整する。
第1実施形態では、学習モデルM1は、第1位置情報とは異なる、ベテランユーザに関する第1特徴情報に基づいて作成されている。第1特徴情報は、ベテランユーザの特徴に関する情報である。ベテランユーザが訪れた場所の特徴という意味では、第1位置情報も何らかの特徴を示すものであるが、第1特徴情報は、ベテランユーザが訪れた場所以外の特徴を示す情報である。第1特徴情報の具体例は後述するが、後述した例以外にも、ベテランユーザの性別、職業、年収、過去の利用金額、又は他のサービスの利用状況といった情報が第1特徴情報に相当してもよい。
第1実施形態では、ベテランユーザの第1特徴情報が訓練データに含まれており、学習モデルM1の学習で利用される場合を説明する。このため、ベテランユーザの第1特徴情報が学習モデルM1に学習されることが、学習モデルM1が第1特徴情報に基づいて作成されていることを意味する。第1実施形態では、図9に示す訓練データのうち、中心地及びばらつき具合以外の情報が第1特徴情報に相当する。
なお、第1特徴情報が示す特徴ごとに、別々の学習モデルM1が用意されていてもよい。例えば、ベテランユーザの年齢、性別、居住地、又は利用回数といった特徴ごとに、別々の学習モデルM1が用意されてもよい。このため、ベテランユーザの第1特徴情報が示す特徴ごとに別々の学習モデルM1を用意することが、学習モデルM1が第1特徴情報に基づいて作成されていることを意味してもよい。
他にも例えば、場所属性ごとに、別々の学習モデルM1が用意されてもよい。例えば、コンビニエンスストア用の学習モデルM1、駅用の学習モデルM1、又はスーパーマーケット用の学習モデルM1といったように、個々の場所属性に専用の学習モデルM1が用意されてもよい。このように、場所属性ごとに別々の学習モデルM1を用意することが、学習モデルM1が第1特徴情報に基づいて作成されていることを意味してもよい。
場所属性ごとに別々の学習モデルM1が用意される場合、中心地及びばらつき具合の計算は、その場所属性の場所の位置に基づいて計算されてもよい。即ち、他の場所属性の場所の位置は、中心地及びばらつき具合の計算には参照されない、又は、中心地及びばらつき具合の計算における重み付けが低くなるようにしてもよい。例えば、コンビニエンスストア用の学習モデルM1の場合には、「コンビニエンスストア」の場所属性の場所の位置に基づいて、中心地及びばらつき具合が計算される。他の場所属性についても同様である。学習済みの学習モデルM1に入力される初心者ユーザの中心地及びばらつき具合についても同様であり、学習モデルM1に対応する場所属性の場所の位置に基づいて計算される。
第1実施形態では、第1特徴情報は、ベテランユーザによるサービスの利用回数である第1利用回数を含む。学習モデルM1は、第1利用回数に基づいて作成されてもよい。学習部101は、ユーザデータベースDB1に基づいて、ベテランユーザが初心者ユーザだった頃の利用回数をカウントし、第1利用回数として取得する。学習部101は、あるベテランユーザの第1利用回数を含む訓練データを作成する。学習部101は、あるベテランユーザの第1利用回数が、第1中心地等の他の特徴とともに入力された場合に、そのベテランユーザの第2中心地が出力されるように、学習モデルM1のパラメータを調整する。
第1実施形態では、第1特徴情報は、所定期間における第1利用回数を含む。学習モデルM1は、所定期間における第1利用回数に基づいて作成されてもよい。所定期間とは、第1期間の中での一部の期間である。第1実施形態では、昼用の学習モデルM1が作成されるので、昼の時間帯は、所定期間に相当する。所定期間は、他の期間であってもよく、例えば、朝又は夜であってもよいし、平日、祝日、又は曜日であってもよい。所定期間は、季節であってもよく、特にこれらに分類されない独自の期間が定められてもよい。
学習部101は、ユーザデータベースDB1に基づいて、ベテランユーザが初心者ユーザだった頃の昼の利用回数をカウントし、昼における第1利用回数として取得する。学習部101は、あるベテランユーザの昼における第1利用回数を含む訓練データを作成する。学習部101は、あるベテランユーザの昼における第1利用回数が、第1中心地等の他の特徴とともに入力された場合に、そのベテランユーザの第2中心地が出力されるように、学習モデルM1のパラメータを調整する。
第1実施形態では、第1特徴情報は、ベテランユーザの属性であるユーザ属性を含む。学習モデルM1は、ユーザ属性に基づいて作成されてもよい。学習部101は、ユーザデータベースDB1に基づいて、ベテランユーザのユーザ属性を取得する。学習部101は、あるベテランユーザのユーザ属性を含む訓練データを作成する。学習部101は、あるベテランユーザのユーザ属性が、第1中心地等の他の特徴とともに入力された場合に、そのベテランユーザの第2中心地が出力されるように、学習モデルM1のパラメータを調整する。
第1実施形態では、第1特徴情報は、第1場所の属性である第1場所属性を含む。学習モデルM1は、第1場所属性に基づいて作成されてもよい。学習部101は、場所データベースDB2に基づいて、第1場所属性を取得する。学習部101は、あるベテランユーザが訪れた第1場所の第1場所属性に基づいて訓練データを作成する。学習部101は、あるベテランユーザが訪れた第1場所の第1場所属性が、第1中心地等の他の特徴とともに入力された場合に、そのベテランユーザの第2中心地が出力されるように、学習モデルM1のパラメータを調整する。
第1実施形態では、第1特徴情報は、第2場所の属性である第2場所属性を含む。学習モデルM1は、第2場所属性に基づいて作成されてもよい。学習部101は、場所データベースDB2に基づいて、第2場所属性を取得する。学習部101は、あるベテランユーザが訪れた第2場所の第2場所属性に基づいて訓練データを作成する。例えば、学習部101は、あるベテランユーザが訪れた第1場所の第1場所属性と同じ第2場所属性の第2場所に基づいて、訓練データを作成する。学習部101は、第2場所属性に基づいて作成された訓練データの入力部分が入力された場合に、その訓練データの出力部分が出力されるように、学習モデルM1のパラメータを調整する。この点は、「コンビニエンスストア」の場所属性を例に挙げて説明した通りである。例えば、「コンビニエンスストア」の場所属性の情報を提供したい場合には、ベテランユーザが過去に訪れた「コンビニエンスストア」の場所に基づいて訓練データが作成され、学習モデルM1が学習されてもよい。この場合、初心者ユーザが過去に訪れた「コンビニエンスストア」の場所に基づいて、学習済みの学習モデルM1への入力が作成されるようにすればよい。
第1実施形態では、学習モデルM1は、過去の所定期間にベテランユーザが訪れた第1場所の位置に基づく第1位置情報に基づいて作成されてもよい。所定期間の意味は、先述した通りである。例えば、学習部101は、ユーザデータベースDB1に基づいて、ベテランユーザが初心者ユーザだった頃の昼に訪れた第1場所の位置に基づいて、第1位置情報を取得する。学習部101は、この第1位置情報を含む訓練データを作成し、学習モデルM1のパラメータを調整する。
[第1取得部]
第1取得部102は、初心者ユーザが過去に訪れた場所である第3場所の位置に基づく第3位置情報を取得する。初心者ユーザは、第2ユーザの一例である。このため、初心者ユーザと記載した箇所は、第2ユーザと読み替えることができる。第2ユーザは、中心地の推定対象となるユーザである。第1実施形態では、第2ユーザは、第3場所を訪れてサービスを利用し、第1ユーザよりもサービスの利用回数が少ないユーザである場合を説明するが、第2ユーザは、第1ユーザと異なるユーザであればよい。
第3場所は、初心者ユーザが、過去における全部又は一部の期間に訪れた場所である。この期間の長さは、先述した第1期間の長さとは異なってもよい。第3位置情報は、第3場所の位置に基づいて取得される情報である。第1実施形態では、第3位置情報が、複数の第3場所の各々の位置に基づいて取得される情報である場合を説明するが、ある1つの第3場所の位置に基づいて取得される情報であってもよい。第3位置情報は、あるピンポイントの位置を示してもよいし、一定程度の広さを有する領域を示してもよい。第3位置情報は、何らかの位置を特定可能な情報であればよい。
第1実施形態では、第3位置情報は、初心者ユーザが過去に訪れた複数の第3場所に基づく中心地である第3中心地を含む。第3位置情報は、第1実施形態の例に限られず、例えば、初心者ユーザが訪れた複数の第3場所の各々の位置が第3位置情報に含まれてもよい。即ち、中心地を計算する際の元となる位置が第3位置情報に相当してもよい。
第1取得部102は、ユーザデータベースDB1に格納された初心者ユーザの履歴情報に基づいて、初心者ユーザが訪れた複数の第3場所を特定する。第1取得部102は、当該特定された複数の第3場所の各々の位置の平均を計算し、第3中心地として取得する。第3中心地は、第1中心地及び第2中心地と同様、単純平均であってもよいし、加重平均であってもよい。
第1実施形態では、第3位置情報は、第3中心地と、複数の第3場所の各々の位置と、の距離のばらつき具合である第2ばらつき具合を更に含む。第1取得部102は、第3中心地と、初心者ユーザが訪れた複数の第3場所の各々の位置と、の距離を計算する。第1取得部102は、第3場所ごとに計算した距離のばらつき具合を計算し、第2ばらつき具合として取得する。第2ばらつき具合は、第1ばらつき具合と同様、任意の指標によって表現可能であり、個々の指標に応じた計算式に基づいて計算可能である。
第1実施形態では、第1取得部102は、過去の所定期間に初心者ユーザが訪れた第3場所の位置に基づく第3位置情報を取得する。所定期間の意味は、先述した通りである。例えば、第1取得部102は、ユーザデータベースDB1に基づいて、初心者ユーザが昼に訪れた第3場所の位置に基づいて、第3位置情報を取得する。所定期間が昼の時間帯に限られない点も、先述した通りである。
[将来推定部]
将来推定部は、初心者ユーザが将来に訪れそうな場所である第4場所の位置に基づく第4位置情報の推定結果として、第3位置情報に対応する学習モデルM1の出力を取得する。
第4場所は、初心者ユーザが将来に訪れると推定される場所である。第4位置情報は、学習モデルM1の出力に基づいて取得される情報である。第1実施形態では、学習モデルM1の出力がそのまま第4位置情報に相当する場合を説明するが、学習モデルM1の出力が何らか加工された情報が第4位置情報に相当してもよい。第4位置情報は、あるピンポイントの位置を示してもよいし、一定程度の広さを有する領域を示してもよい。第4位置情報は、何らかの位置を特定可能な情報であればよい。第4位置情報は、複数の位置を含んでもよい。例えば、初心者ユーザが訪れそうな複数の第4場所の各々の位置が第4位置情報に含まれてもよい。
第1実施形態では、第4位置情報は、初心者ユーザが将来に訪れそうな複数の第4場所に基づく中心地である第4中心地を含む。将来推定部103は、初心者ユーザの第4中心地の推定結果として、第3中心地に対応する学習モデルM1の出力を取得する。
第1実施形態では、第3中心地及び第2ばらつき具合が学習モデルM1に入力され、将来推定部103は、初心者ユーザの第4中心地の推定結果として、第3中心地及び第2ばらつき具合に対応する学習モデルM1の出力を取得する。学習モデルM1は、第3中心地及び第2ばらつき具合を、初心者ユーザの特徴の1つとして取得し、その特徴に応じた第4中心地の推定結果を出力する。
また、第1実施形態では、ベテランユーザの第1特徴情報が学習モデルM1に学習されているので、将来推定部103は、第3位置情報とは異なる、初心者ユーザに関する第2特徴情報に基づいて、第4位置情報の推定結果を取得する。学習モデルM1は、第2特徴情報を、初心者ユーザの特徴の1つとして取得し、その特徴に応じた第4中心地の推定結果を出力する。
第1実施形態では、第2特徴情報は、初心者ユーザによるサービスの利用回数である第2利用回数を含む。将来推定部103は、第2利用回数に基づいて、第4位置情報の推定結果を取得する。学習モデルM1は、第2利用回数を、初心者ユーザの特徴の1つとして取得し、その特徴に応じた第4中心地の推定結果を出力する。
第1実施形態では、第2特徴情報は、所定期間における第2利用回数を含む。将来推定部103は、所定期間における第2利用回数に基づいて、第4位置情報の推定結果を取得する。学習モデルM1は、初心者ユーザの昼の利用回数である第2利用回数を、初心者ユーザの特徴の1つとして取得し、その特徴に応じた第4中心地の推定結果を出力する。
第1実施形態では、第2特徴情報は、初心者ユーザの属性である初心者ユーザ属性を含む。将来推定部103は、初心者ユーザ属性に基づいて、第4位置情報の推定結果を取得する。学習モデルM1は、初心者ユーザ属性を、初心者ユーザの特徴の1つとして取得し、その特徴に応じた第4中心地の推定結果を出力する。ユーザ属性ごとに学習モデルM1が用意される場合には、初心者ユーザ属性に対応する学習モデルM1に、初心者ユーザの第3中心地等の情報が入力されるようにすればよい。
第1実施形態では、第2特徴情報は、第3場所の属性である第3場所属性を含む。将来推定部103は、第3場所属性に基づいて、第4位置情報の推定結果を取得する。学習モデルM1は、第3場所属性を、初心者ユーザの特徴の1つとして取得し、その特徴に応じた第4中心地の推定結果を出力する。場所属性ごとに学習モデルM1が用意される場合には、第3中心地等の計算で用いられた場所の場所属性に対応する学習モデルM1に、第3中心地等の情報が入力されるようにすればよい。
第1実施形態では、将来推定部103は、将来の所定期間に訪れそうな第4場所の位置に基づく第4位置情報の推定結果を取得する。学習モデルM1は、初心者ユーザが将来の昼に訪れそうな第4場所の位置に基づく第4位置情報の推定結果を出力する。第1実施形態では、将来推定部103は、第1ユーザよりもサービスの利用回数が少ない初心者ユーザの第4位置情報の推定結果として、学習モデルM1の出力を取得する。
[第1提供部]
第1提供部104は、第4位置情報に基づいて定まる情報を、初心者ユーザに提供する。例えば、第1提供部104は、情報データベースDB4に基づいて、第4位置情報が示す位置から所定距離以内の場所に関連付けられた情報を、初心者ユーザに提供する。この所定距離は、任意の長さであってよく、固定値であってもよいし、可変値であってもよい。第4位置情報が示す位置のエリアに応じて、この所定距離の長さが異なってもよい。例えば、地方部のエリアの場合には、都心部のエリアの場合よりも、この所定距離が長くなってもよい。第4位置情報が一定の広さを有する領域である場合には、この領域内の場所に関する情報が提供されてもよい。
[1-4.第1実施形態の推定システムで実行される処理]
次に、第1実施形態の推定システムで実行される処理の一例を説明する。第1実施形態では、ベテランユーザの傾向を学習モデルM1に学習させる学習処理と、初心者ユーザの将来の中心地を推定する推定処理と、を説明する。学習処理及び推定処理の各々は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。学習処理及び推定処理の各々は、図6に示す機能ブロックにより実行される処理の一例である。
[学習処理]
図11は、学習処理の一例を示すフロー図である。図11に示すように、サーバ10は、ユーザデータベースDB1に基づいて、複数のユーザの各々による通信サービスの利用回数を計算する(S100)。S100では、全てのユーザの利用回数が計算されるものとするが、一部のユーザの利用回数だけが計算されてもよい。また、全ての期間における利用回数が計算されるものとするが、一部の期間における利用回数だけが計算されてもよい。第1実施形態では、ユーザが通信サービスを利用するたびに履歴情報が蓄積されるので、履歴情報の数が利用回数として取得される。
サーバ10は、通信サービスの利用回数に基づいて、複数のベテランユーザを特定する(S101)。サーバ10は、利用回数が閾値以上の複数のユーザを、ベテランユーザとして特定する。S101では、ベテランユーザを特定するための閾値が固定値であるものとするが、閾値は可変値であってもよい。S101では、閾値が利用されるのではなく、利用回数が多い順に所定人数又は所定割合の複数のユーザが、複数のベテランユーザとして特定されてもよい。
サーバ10は、S101で特定された複数のベテランユーザの中から、S103~S113の処理の対象となる処理対象のベテランユーザを決定する(S102)。S102では、サーバ10は、S101で特定された複数のベテランユーザの中から、まだ訓練データが作成されていないベテランユーザの何れかを、処理対象のベテランユーザとして決定する。
サーバ10は、処理対象のベテランユーザの履歴情報の中から、そのベテランユーザが初心者ユーザだった頃の履歴情報を取得する(S103)。S103では、サーバ10は、処理対象のベテランユーザの履歴情報に含まれる利用日時が古い順に所定数の履歴情報を取得する。サーバ10は、所定数の履歴情報を取得するのではなく、処理対象のベテランユーザが利用登録をしてから一定期間以内の履歴情報を取得してもよい。
サーバ10は、S103で取得した履歴情報に基づいて、処理対象のベテランユーザが初心者ユーザだった頃の昼の中心地を計算する(S104)。S104では、サーバ10は、S103で取得した履歴情報に含まれる利用日時が昼の時間帯の利用位置の平均を計算し、昼の中心地として取得する。
サーバ10は、S103で取得した履歴情報に基づいて、処理対象のベテランユーザが初心者ユーザだった頃の昼のばらつき具合を計算する(S105)。S105では、サーバ10は、S103で取得した履歴情報に含まれる利用日時が昼の時間帯の利用位置ごとに、その利用位置と、S104で計算された昼の中心地と、の距離を計算する。サーバ10は、当該計算された距離の標準偏差等を計算し、ばらつき具合として取得する。
サーバ10は、S103で取得した履歴情報に基づいて、処理対象のベテランユーザが初心者ユーザだった頃の昼の利用回数を計算する(S106)。S106においては、サーバ10は、S103で取得した履歴情報のうち、利用日時が昼の時間帯の履歴情報の数をカウントし、昼の利用回数として取得する。
サーバ10は、S103で取得した履歴情報に基づいて、処理対象のベテランユーザが初心者ユーザだった頃の全体の中心地を計算する(S107)。S107の計算方法は、S104と同様であるが、履歴情報に含まれる利用日時が昼の時間帯の履歴情報だけではなく、処理対象のベテランユーザが初心者ユーザだった頃の全ての時間帯の履歴情報が計算で用いられる点で異なる。この点は、S108及びS109の処理も同様である。
サーバ10は、S103で取得した履歴情報に基づいて、処理対象のベテランユーザが初心者ユーザだった頃の全体のばらつき具合を計算する(S108)。サーバ10は、S103で取得した履歴情報に基づいて、処理対象のベテランユーザが初心者ユーザだった頃の全体の利用回数を計算する(S109)。
サーバ10は、ユーザデータベースDB1に基づいて、処理対象のベテランユーザのユーザ属性を取得する(S110)。サーバ10は、S103で取得した履歴情報に基づいて、ベテランユーザが初心者ユーザだった頃に訪れた場所の場所属性を取得する(S111)。S111では、最も訪れたことが多い場所属性が取得される。
サーバ10は、処理対象のベテランユーザの全ての期間における履歴情報に基づいて、そのベテランユーザが初心者ユーザではなくなった後、即ち十分な利用実績を積んだ後の中心地を計算する(S112)。S112の計算方法は、S104及びS107と同様であるが、ベテランユーザが初心者ユーザだった頃の履歴情報だけではなく、そのユーザの全ての期間の履歴情報が計算で用いられる点で異なる。なお、全ての期間ではなく、一部の期間の履歴情報だけが計算で用いられてもよい。
サーバ10は、S104~S111で取得された各情報と、S112で計算された正解となる中心地と、のペアを、処理対象のベテランユーザに対応する訓練データとして作成し、訓練データベースDB3に格納する(S113)。
サーバ10は、まだ訓練データを作成していないベテランユーザが存在するか否かを判定する(S114)。まだ訓練データを作成していないベテランユーザが存在すると判定された場合(S114;Y)、S102の処理に戻る。この場合、次に訓練データが作成される処理対象のベテランユーザが決定され、そのベテランユーザについてS103~S113の処理が実行されて、そのベテランユーザに対応する訓練データが作成される。
まだ訓練データを作成していないベテランユーザが存在すると判定されない場合(S114;N)、サーバ10は、訓練データベースDB3に格納された個々の訓練データを学習モデルM1に学習させ(S115)、本処理は終了する。S115では、個々の訓練データに含まれる入力と出力の関係が得られるように、学習モデルM1のパラメータが調整される。
[推定処理]
図12は、推定処理の一例を示すフロー図である。図12に示すように、サーバ10は、ユーザデータベースDB1に基づいて、複数のユーザの各々による通信サービスの利用回数を計算する(S200)。S200の処理は、S100と同様である。
サーバ10は、通信サービスの利用回数に基づいて、複数の初心者ユーザを特定する(S201)。S201の処理は、S101の処理と似ているが、利用回数が閾値以上の複数のユーザではなく、利用回数が閾値未満の複数のユーザが特定される点でS101の処理とは異なる。
サーバ10は、S201で特定された複数の初心者ユーザの中から、S203~S212の処理の対象となる処理対象の初心者ユーザを決定する(S202)。S202では、サーバ10は、S201で特定された複数の初心者ユーザの中から、まだ中心地が推定されていない初心者ユーザの何れかを、処理対象の初心者ユーザとして決定する。
サーバ10は、処理対象の初心者ユーザの履歴情報に基づいて、その初心者ユーザの昼の中心地を計算する(S203)。S203では、サーバ10は、処理対象の初心者ユーザの履歴情報に含まれる利用日時が昼の時間帯の利用位置の平均を計算し、昼の中心地として取得する。
サーバ10は、処理対象の初心者ユーザの履歴情報に基づいて、その初心者ユーザの昼のばらつき具合を計算する(S204)。S204では、サーバ10は、処理対象の初心者ユーザの履歴情報に含まれる利用日時が昼の時間帯の利用位置ごとに、その利用位置と、S203で計算された昼の中心地と、の距離を計算する。サーバ10は、当該計算された距離の標準偏差等を計算し、ばらつき具合として取得する。
サーバ10は、処理対象の初心者ユーザの履歴情報に基づいて、その初心者ユーザの昼の利用回数を計算する(S205)。S205においては、サーバ10は、処理対象の初心者ユーザの履歴情報のうち、利用日時が昼の時間帯の履歴情報の数をカウントし、昼の利用回数として取得する。
サーバ10は、処理対象の初心者ユーザの履歴情報に基づいて、その初心者ユーザの全体の中心地を計算する(S206)。S206の計算方法は、S203と同様であるが、履歴情報に含まれる利用日時が昼の時間帯の履歴情報だけではなく、その初心者ユーザの全ての時間帯の履歴情報が計算で用いられる点で異なる。この点は、S207及びS208の処理も同様である。
サーバ10は、処理対象の初心者ユーザの履歴情報に基づいて、その初心者ユーザの全体のばらつき具合を計算する(S207)。サーバ10は、処理対象の初心者ユーザの履歴情報に基づいて、その初心者ユーザの全体の利用回数を計算する(S208)。
サーバ10は、ユーザデータベースDB1に基づいて、処理対象の初心者ユーザのユーザ属性を取得する(S209)。サーバ10は、処理対象の初心者ユーザの履歴情報に基づいて、初心者ユーザが訪れた場所の場所属性を取得する(S210)。
サーバ10は、S203~S210で取得された各情報を、学習モデルM1に入力し(S211)、処理対象の初心者ユーザの将来の中心地として、学習モデルM1からの出力を取得してユーザデータベースDB1に格納する(S212)。
サーバ10は、まだ中心地を推定していない初心者ユーザが存在するか否かを判定する(S213)。まだ中心地を推定していない初心者ユーザが存在すると判定された場合(S213;Y)、S202の処理に戻る。この場合、次に中心地が推定される処理対象の初心者ユーザが決定され、その初心者ユーザについてS203~S212の処理が実行されて、その初心者ユーザの将来の中心地が推定される。
まだ中心地を推定していない初心者ユーザが存在すると判定されない場合(S213;N)、サーバ10は、ユーザデータベースDB1と、情報データベースDB4と、に基づいて、複数のユーザの各々に対し、そのユーザの中心地に応じた情報を提供し(S214)、本処理は終了する。
第1実施形態の推定システムSによれば、学習モデルM1を利用して、初心者ユーザの将来の中心地である第4中心地を取得することによって、初心者ユーザが将来に訪れそうな場所に関する推定の精度が高まる。学習モデルM1には、ベテランユーザが初心者ユーザだった頃の傾向が学習されており、学習モデルM1からの出力には、ベテランユーザの傾向が反映されるので、推定結果の精度が高まる。初心者ユーザが将来に訪れそうな場所を推定することによって、ユーザの現在位置をリアルタイムで取得しなくても、ユーザにとって有益な情報を提供できるので、ユーザ端末30の消費電力を抑えたり、ユーザ端末30の処理負荷を軽減したりすることもできる。
また、推定システムSは、ベテランユーザの第1中心地と、ベテランユーザの第2中心地と、の関係を学習モデルM1に学習させておき、初心者ユーザの将来の第4中心地の推定結果として、初心者ユーザの過去の第3中心地に対応する学習モデルM1の出力を取得することによって、通信サービスの利用実績が不十分だった頃の中心地と、通信サービスの利用実績が十分になった場合の中心地と、の関係を学習モデルM1がより強く学習し、第4中心地の推定の精度が効果的に高まる。
また、推定システムSは、ベテランユーザの第1中心地及び第1ばらつき具合と、ベテランユーザの第2中心地と、の関係を学習モデルM1に学習させておき、初心者ユーザの将来の第4中心地の推定結果として、初心者ユーザの過去の第3中心地及び第2ばらつき具合に対応する学習モデルM1の出力を取得することによって、将来の中心地により強い影響を与える第1ばらつき具合を学習モデルM1が学習しているので、第4中心地の推定の精度が効果的に高まる。
また、推定システムSは、ベテランユーザに関する第1特徴情報に基づいて学習モデルM1が作成されており、初心者ユーザに関する第2特徴情報に基づいて、第4中心地の推定結果を取得することによって、中心地等の位置以外の情報も学習モデルM1に学習されているので、第4中心地の推定の精度が効果的に高まる。例えば、初心者ユーザの現状の中心地があてにならない場合には、他の特徴が似たベテランユーザの傾向が重視されて第4中心地が推定されるので、現状の中心地があてにならない初心者ユーザだったとしても、ある程度の第4中心地を推定できる。
また、推定システムSは、ベテランユーザによる通信サービスの利用回数である第1利用回数に基づいて学習モデルM1が作成されており、初心者ユーザによるサービスの利用回数である第2利用回数に基づいて、第4中心地の推定結果を取得することによって、利用回数が似た他のユーザの傾向をもとに第4中心地が推定されるので、第4位置情報の推定の精度が効果的に高まる。例えば、利用登録をしてから一定期間における利用回数が似たベテランユーザの傾向をもとに第4中心地が推定されるので、現状の中心地があてにならない初心者ユーザだったとしても、ある程度の第4中心地を推定できる。
また、推定システムSは、昼における第1利用回数に基づいて学習モデルM1が作成されており、昼における第2利用回数に基づいて、第4中心地の推定結果を取得することによって、昼における第4中心地を推定できる。その結果、時間帯に応じた第4中心地を推定し、時間帯に応じた有益な情報をユーザに提供できる。例えば、利用登録をしてから一定期間における昼の利用回数が似たベテランユーザの傾向をもとに第4中心地が推定されるので、現状の中心地があてにならない初心者ユーザだったとしても、ある程度の第4中心地を推定できる。
また、推定システムSは、ベテランユーザのユーザ属性に基づいて学習モデルM1が作成されており、初心者ユーザのユーザ属性に基づいて、第4中心地の推定結果を取得することによって、ユーザ属性が同じ他のユーザの傾向をもとに第4中心地が推定されるので、第4中心地の推定の精度が効果的に高まる。例えば、初心者ユーザの現状の中心地があてにならない場合には、ユーザ属性が似たベテランユーザの傾向が重視されて第4中心地が推定されるので、現状の中心地があてにならない初心者ユーザだったとしても、ある程度の第4中心地を推定できる。
また、推定システムSは、第1場所属性に基づいて学習モデルM1が作成されていることによって、場所属性が同じ情報をもとに第4中心地が推定されるので、第4中心地の推定の精度が効果的に高まる。例えば、場所属性「カフェ」の場所を多く訪れる初心者ユーザにとっては、場所属性「コンビニエンスストア」の場所を多く訪れるベテランユーザの傾向よりも、場所属性「カフェ」の場所を多く訪れるベテランユーザの傾向の方があてになる可能性があるので、場所属性を考慮することによって、第4中心地の推定の精度が効果的に高まる。
また、推定システムSは、第2場所属性に基づいて学習モデルM1が作成されていることによって、ベテランユーザが初心者ユーザだった頃に訪れた場所と同じ場所属性の場所の中心地を学習モデルM1に学習させているので、第4中心地の推定の精度が効果的に高まる。例えば、ベテランユーザが初心者ユーザだった頃に場所属性「コンビニエンスストア」の場所を良く訪れていた場合に、そのベテランユーザが初心者ユーザではなくなった後に訪れた場所属性「コンビニエンスストア」の場所に基づいて中心地を計算することによって、ベテランユーザが「コンビニエンスストア」を訪れる場合の中心地を学習モデルM1に学習させることができる。その結果、初心者ユーザが将来に訪れる「コンビニエンスストア」の中心地を精度よく推定できる。
また、推定システムSは、昼にベテランユーザが訪れた第1場所の位置に基づく第1位置情報に基づいて学習モデルM1が作成されており、将来の昼に訪れる第4中心地の推定結果を取得することによって、時間帯に応じた第4中心地を推定し、第4中心地の推定の精度が効果的に高まる。
また、推定システムSは、ベテランユーザがサービスの利用を開始した直後の第1期間に訪れた場所と、ベテランユーザが第1期間よりも後の第2期間に訪れた場所と、の関係が学習モデルM1に学習されており、ベテランユーザよりもサービスの利用回数が少ない初心者ユーザの第4中心地の推定結果として、学習モデルM1の出力を取得することによって、利用実績が不十分のユーザだったとしても、第4中心地の推定の精度が高まる。
また、推定システムSは、第4中心地に基づいて定まる情報を、初心者ユーザに提供することによって、有用な情報をユーザに事前に提供できる。例えば、初心者ユーザの現在位置をリアルタイムで取得し、その現在位置に応じた情報を提供したとすると、初心者ユーザが情報に気付かないことがあるが、初心者ユーザの将来の中心地を推定し、その中心地に応じた情報を事前に提供することによって、初心者ユーザが情報に気付きやすくなる。更に、ユーザが将来に訪れそうな第4中心地を基準として情報が提供されるので、ユーザがより興味を持つ情報を提供できる。
[2.第2実施形態]
次に、推定システムSの第2実施形態を説明する。第2実施形態では、ある無線通信装置20が配置された場所の属性である用途属性(詳細後述)が、その場所の位置と、その場所を訪れたユーザの中心地と、の距離に基づいて推定される場合を説明する。第2実施形態では、第1実施形態と同様の構成については、説明を省略する。
[2-1.第2実施形態の概要]
図13は、第2実施形態の概要を示す図である。図13では、スキー場が存在するリゾートエリアXのマップMが示されている。図13のマップMには、コンビニエンスストアである店舗Y,Zの位置がプロットされている。店舗Y,Zの各々には、無線通信装置20が配置されている。店舗Y,Zの各々には、「コンビニエンスストア」の場所属性が関連付けられており、店舗Y,Zは、最寄り駅からの距離が互いに同程度であってもよい。
通信サービスは、種々のユーザが利用登録しているので、店舗Y,Zの各々の無線通信装置20が配置された店舗の用途が互いに異なることがある。例えば、店舗Yが住宅街に存在した場合、店舗Yは、主に近隣住民であるユーザU1~U3によって利用されることがある。また例えば、店舗Zが大通りに存在した場合、店舗Zは、主に観光客であるユーザU4~U6によって利用されることがある。
もし仮に、全てのユーザが通信サービスに正しい居住地を登録していれば、店舗Y,Zの各々の無線通信装置20を利用したユーザの居住地に基づいて、店舗Y,Zの各々の用途を特定できる。例えば、店舗Yの無線通信装置20を利用するユーザの居住地がリゾートエリアX周辺であれば、店舗Yが「近隣住民向け」の「コンビニエンスストア」であることを特定できる。店舗Zの無線通信装置20を利用するユーザの居住地がリゾートエリアXから遠く離れた都市部であれば、店舗Zが「観光客向け」の「コンビニエンスストア」であることを特定できる。
「近隣住民向け」や「観光客向け」といった情報は、店舗Y,Zを何らかの観点で分類できるので、属性の一種である。この属性は、店舗Y,Zに関連付けられていた場所属性「コンビニエンスストア」とは異なる観点の属性である。この属性は、店舗Y,Zの用途を分類可能な情報なので、以降では用途属性と記載する。ある場所の用途属性は、その場所の位置と、その場所を訪れたユーザが普段訪れる場所の位置と、の距離によって推定できる。
しかしながら、ユーザが正しい居住地を通信サービスに登録しているとは限らない。ユーザが引っ越し前の古い居住地を通信サービスに登録していることも多い。この場合には、正しい用途属性を推定できない。また、ユーザが居住地を通信サービスに登録しないこともあるし、居住地の登録を必要としない通信サービスも存在する。この場合、居住地を利用した用途属性の推定自体をすることができない。
そこで、第2実施形態の推定システムSは、ある無線通信装置20が配置された場所の位置と、その場所を訪れて無線通信装置20にユーザ端末30を接続したユーザの中心地と、の距離に基づいて、その無線通信装置20の用途属性を精度よく推定するようにしている。以降、この技術の詳細を説明する。
[2-2.第2実施形態の推定システムで実現される機能]
図14は、第2実施形態の推定システムSで実現される機能の一例を示す機能ブロック図である。第2実施形態では、主な機能がサーバ10で実現される場合を説明する。図14に示すように、サーバ10では、データ記憶部100、学習部101、第1取得部102、将来推定部103、第1提供部104、第2取得部105、第3取得部106、属性推定部107、及び第2提供部108が実現される。
データ記憶部100は、第1実施形態と同様であるが、一部の機能が第1実施形態とは異なる。学習部101、第1取得部102、将来推定部103、及び第1提供部104は、第1実施形態と同様である。第2取得部105、第3取得部106、属性推定部107、及び第2提供部108の各々は、制御部11を主として実現される。
なお、第2実施形態では、第1実施形態と同様にして、初心者ユーザの将来の中心地が推定される場合を説明するが、第2実施形態の推定システムSは、第1実施形態で説明した中心地の推定に関する機能を含まなくてもよい。即ち、第2実施形態の推定システムSは、学習部101、第1取得部102、将来推定部103、及び第1提供部104を含まなくてもよい。この場合、初心者ユーザの中心地は、用途属性の推定で利用されず、ベテランユーザの中心地だけが用途属性の推定で利用されるようにしてもよい。ある程度の信頼性があれば、初心者ユーザの中心地が用途属性の推定で利用されてもよい。この場合、初心者ユーザの中心地は、ベテランユーザと同様にして計算される。
[データ記憶部]
データ記憶部100は、無線通信装置20が配置された場所の用途属性を推定するために必要なデータを記憶する。データ記憶部100は、第1実施形態と同様のデータ以外にも、属性定義データDTを記憶する。また、場所データベースDB2の一部が第1実施形態とは異なる。
図15は、第2実施形態における場所データベースDB2のデータ格納例を示す図である。図15に示すように、場所データベースDB2には、複数の場所の各々に配置された無線通信装置20の装置IDに、その場所の用途属性が関連付けられて格納される。この用途属性は、属性推定部107により推定された属性である。図15に示すように、場所属性は、個々の場所の業種等を大まかに分類可能な属性であり、用途属性は、個々の場所の用途等を細かに分類可能な属性である。
図16は、属性定義データDTのデータ格納例を示す図である。図16に示すように、属性定義データDTは、ある場所を訪れたユーザの中心地からの距離に関する条件と、その条件が満たされた場合にその場所に関連付けられる用途属性と、の関係が定義されたデータである。図16の例では、属性定義データDTには、条件として、1つの閾値により2段階の距離の範囲が定められている。距離が閾値未満の場合には、「近隣住民向け」の用途属性が定義されている。距離が閾値以上の場合には、「観光客向け」の用途属性が定義されている。閾値は2つ以上であってよく、3段階以上の距離の範囲が属性定義データDTに定められていてもよい。
[第2取得部]
第2取得部105は、用途属性の推定対象の場所である推定対象場所を訪れたユーザが訪れた他の場所の位置に関する位置情報を取得する。第2取得部は、位置情報取得部の一例である。このため、第2取得部と記載した箇所は、位置情報取得部と読み替えることができる。
推定対象場所は、少なくとも1人のユーザが訪れたことのある場所であればよい。第2実施形態では、無線通信装置20が配置された場所が推定対象場所に相当する。推定対象場所は、第1実施形態で説明した第1場所~第3場所の何れであってもよい。推定対象場所は、通信サービスを利用できる場所であれば、第1場所~第3場所以外の場所であってもよい。
他の場所は、推定対象場所とは異なる場所である。他の場所は、推定対象場所の用途属性を推定するために利用される場所である。他の場所は、推定対象場所よりも前にユーザが訪れた場所であってもよいし、推定対象場所よりも後にユーザが訪れた場所であってもよい。1つの推定対象場所に対して、少なくとも1つの他の場所が存在すればよい。
図13を参照した例であれば、推定対象場所及び他の場所の各々は、ユーザが利用した店舗である。第2実施形態では、推定対象場所は、推定対象店舗ということができる。他の場所は、推定対象店舗とは異なる他の店舗ということができる。用途属性は、推定対象店舗の用途を示す属性ということができる。
位置情報は、他の場所の位置に基づいて取得される情報である。位置情報は、複数の他の場所の各々の位置に基づいて取得されてもよいし、ある1つの他の場所の位置に基づいて取得されてもよい。第2実施形態では、位置情報は、推定対象場所を訪れた複数のユーザの各々が訪れた複数の他の場所の各々の位置に関する中心地の平均である平均中心地を含む場合を説明する。
なお、位置情報は、平均中心地に限られず、他の情報であってもよい。例えば、第1実施形態で説明した第1位置情報~第3位置情報の少なくとも1つが、第2実施形態における位置情報に相当してもよい。また例えば、推定対象場所を訪れたユーザが1人であれば、そのユーザが訪れた複数の他の場所の中心地が位置情報に相当してもよい。また例えば、位置情報は、ユーザが推定対象場所を訪れる前又は後に訪れた他の場所の位置を示してもよい。また例えば、位置情報は、ユーザが訪れた複数の他の場所の各々の位置を含んでもよい。
第2実施形態では、第2取得部105は、ユーザデータベースDB1に格納された履歴情報に基づいて、推定対象場所を訪れた複数のユーザを特定する。第2取得部105は、ユーザデータベースDB1に格納された、当該特定された少なくとも複数のユーザの中心地に基づいて、平均中心地を計算し、位置情報として取得する。なお、平均中心地は、複数のユーザの各々の中心地を平均するのではなく、個々のユーザの中心地を計算することなく、複数のユーザの各々が訪れた全ての他の場所の中心地が、平均中心地として計算されてもよい。
[第3取得部]
第3取得部106は、推定対象場所の位置と、位置情報が示す位置と、の位置関係を取得する。第3取得部は、位置関係取得部の一例である。このため、第3取得部と記載した箇所は、位置関係取得部と読み替えることができる。先述したように、第2実施形態では、位置情報は、平均中心地を含むので、第3取得部106は、推定対象場所の位置と、平均中心地と、の位置関係を取得する。
位置関係とは、ある位置と他の位置のずれ具合である。距離は、位置関係の一例である。このため、距離と記載した箇所は、位置関係と読み替えることができる。位置関係は、距離以外の情報であってもよい。例えば、推定対象場所の位置と、位置情報が示す位置と、の間のベクトルが、位置関係に相当してもよい。即ち、位置関係は、距離と方向の両方の情報を意味してもよい。他にも例えば、距離の情報を含まずに、方向だけが位置関係に相当してもよい。
第2実施形態では、第3取得部106は、位置関係として、推定対象場所の位置と、平均中心地と、の距離を取得する。この距離は、直線距離であってもよいし、ユーザの移動経路を考慮した距離であってもよい。第2実施形態では、複数の推定対象場所が存在するので、第3取得部106は、推定対象場所ごとに、その推定対象場所の位置と、その推定対象場所を訪れた複数のユーザの平均中心地と、の距離を取得する。
[属性推定部]
属性推定部107は、第3取得部106により取得された位置関係に基づいて、推定対象場所の用途属性を推定する。第2実施形態では、第3取得部106により取得された位置関係と、推定対象場所の用途属性と、の関係が属性定義データDTに定義されている。属性推定部107は、属性定義データDTと、第3取得部106により取得された位置関係と、に基づいて、推定対象場所の用途属性を推定する。
なお、図16では、属性定義データDTをテーブル形式のデータとして説明したが、属性定義データDTは、任意のデータ形式であってよい。例えば、属性定義データDTは、プログラムコードの一部として定義されていてもよいし、計算式によって定義されていてもよい。他にも例えば、後述する変形例(2-8)のように、学習モデルM2を利用して用途属性を推定することもできるので、変形例(2-8)で説明する学習モデルM2も、属性定義データDTの一例ということもできる。即ち、属性定義データDTは、機械学習を利用したモデルの形式であってもよい。
第2実施形態では、属性推定部107は、第3取得部106により取得された距離に基づいて、推定対象場所の用途属性を推定する。属性推定部107は、属性定義データDTに基づいて、第3取得部106により取得された距離が満たす条件を特定し、その条件に関連付けられた用途属性を、推定対象場所の用途属性として推定する。図16のデータ格納例であれば、属性推定部107は、第3取得部106により取得された距離が20km未満であれば「近隣住民向け」の用途属性を推定し、第3取得部106により取得された距離が20km以上であれば「観光客向け」の用途属性を推定する。
第2実施形態では、推定対象場所に、属性推定部107が推定する用途属性とは異なる観点の場所属性が関連付けられている。場所属性は、他の属性の一例である。このため、場所属性と記載した箇所は、他の属性と読み替えることができる。観点とは、属性の定義のしかたである。例えば、場所属性は、推定対象場所の業種等である第1の観点で定義され、用途属性は、推定対象場所の用途である第2の観点で定義される。
場所属性は、場所属性の候補が定義された第1の候補群の中から決定される。例えば、場所属性は、「コンビニエンスストア」「駅」「カフェ」「イベント会場」といった第1の候補群の中から決定される。用途属性は、用途属性の候補が定義された第2の候補群の中から決定される。例えば、用途属性は、「近隣住民向け」「観光客向け」といった第2の候補群の中から決定される。属性推定部107は、場所属性とは異なる用途属性として、推定対象場所の用途を推定する。
なお、属性推定部107は、推定対象場所の場所属性、ユーザの利用金額、ユーザの年齢、又はユーザの利用頻度といった他の要素も考慮して、推定対象場所の用途属性を推定してもよい。また、属性推定部107が推定する属性は、用途属性に限られない。属性推定部107は、第3取得部106により取得される位置関係から推定可能な属性であればよい。例えば、第1実施形態で説明した場所属性が、この位置関係と相関関係がある場合には、属性推定部107は、場所属性を推定してもよい。他にも例えば、属性推定部107は、推定対象場所を訪れるユーザのユーザ属性を推定してもよいし、ユーザが推定対象場所を訪れる目的を示す属性を推定してもよい。
[第2提供部]
第2提供部108は、推定対象場所の用途属性に基づいて、推定対象場所に関する情報を、ユーザに提供する。例えば、第2提供部108は、ある推定対象場所の用途属性に基づいて、その推定対象場所に関する情報を提供するユーザを決定し、当該決定されたユーザに対し、その情報を提供する。図13の例であれば、店舗Yについては、用途属性「近隣住民向け」が推定されるので、第2提供部108は、中心地が店舗Yから閾値未満のユーザに対し、店舗Yに関する情報を提供する。店舗Zについては、用途属性「観光客向け」が推定されるので、第2提供部108は、中心地が店舗Zから閾値以上のユーザに対し、店舗Yに関する情報を提供する。第2提供部108は、用途属性に基づいて情報を提供するユーザを決定するのではなく、用途属性に基づいて情報の内容そのものを決定してもよい。
[2-3.第2実施形態の推定システムで実行される処理]
図17は、第2実施形態の推定システムSで実行される処理の一例を示すフロー図である。図17の処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。図17の処理は、図14に示す機能ブロックにより実行される処理の一例である。
図17に示すように、サーバ10は、場所データベースDB2に基づいて、複数の無線通信装置20の各々が配置された場所の中から、推定対象場所を決定する(S300)。S300では、サーバ10は、場所データベースDB2のレコードを最初から順番に選択し、そのレコードに対応する場所を、推定対象場所として決定する。
サーバ10は、ユーザデータベースDB1に基づいて、推定対象場所を訪れた少なくとも1人のユーザを特定する(S301)。S301では、サーバ10は、ユーザデータベースDB1に格納された履歴情報に、推定対象場所の位置が示された少なくとも1人のユーザを特定する。S301では、全ての期間における履歴情報の中から、推定対象場所の位置が示された少なくとも1人のユーザが特定される場合を説明するが、一部の期間における履歴情報の中から、推定対象場所の位置が示された少なくとも1人のユーザが特定されてもよい。
サーバ10は、ユーザデータベースDB1に基づいて、S301で特定した少なくとも1人のユーザの中心地に基づいて、平均中心地を計算する(S302)。S302では、サーバ10は、ユーザデータベースDB1に格納された、S301で特定した少なくとも1人のユーザの各々の中心地の平均を計算し、平均中心地として取得する。
サーバ10は、推定対象場所の位置と、S302で計算した平均中心地と、の距離を計算し(S303)、S303で計算した距離と、属性定義データDTと、に基づいて、推定対象場所の用途属性を推定して場所データベースDB2を更新する(S304)。S304では、サーバ10は、S303で計算した距離が満たす条件に関連付けられた用途属性を、推定対象場所の用途属性として推定する。
サーバ10は、まだ用途属性を推定していない場所が存在するか否かを判定する(S305)。まだ用途属性を推定していない場所が存在すると判定された場合(S305;Y)、S300の処理に戻る。この場合、次に用途属性が推定される場所が決定され、その場所についてS301~S304の処理が実行されて、その場所の用途属性が推定される。
まだ用途属性を推定していない場所が存在すると判定されない場合(S305;N)、サーバ10は、ユーザデータベースDB1と、場所データベースDB2と、に基づいて、複数のユーザの各々に対し、個々の場所の用途属性に応じた情報を提供し(S306)、本処理は終了する。
第2実施形態の推定システムSによれば、用途属性の推定対象の場所である推定対象場所と、その推定対象場所を訪れたユーザが訪れた他の場所の位置に関する位置情報が示す位置と、の位置関係に基づいて、推定対象場所の用途属性を推定することによって、用途属性を精度よく推定できる。例えば、「コンビニエンスストア」の場所属性の店舗だったとしても、「近隣住民向け」や「観光客向け」といったように、実際の店舗の使われ方を示す用途属性を推定できる。更に、店舗を利用する客層が変化したとしても、用途属性にその変化が表れるので、客層の変化を柔軟に察知できる。
また、推定システムSは、推定対象場所の位置と、位置情報が示す位置と、の距離に基づいて、推定対象場所の用途属性を推定することによって、距離というシンプルな指標を利用して、用途属性を精度よく推定できる。
また、推定システムSは、推定対象場所の位置と、平均中心地と、の位置関係を取得することによって、推定対象場所を訪れた複数のユーザの傾向を全体的に考慮し、用途属性を精度よく推定できる。
また、推定システムSは、推定対象場所に関連付けられた場所属性とは異なる用途属性として、推定対象場所の用途を推定することによって、単なる業種等とは異なる観点の用途属性を精度よく推定できる。
また、推定システムSは、第1実施形態のようにして推定された中心地を位置情報として用いることによって、ユーザが普段訪れる中心地を基準として用途属性を推定し、用途属性を精度よく推定できる。
また、推定システムSは、推定対象場所の一例である店舗の用途属性を精度よく推定できる。その結果、店舗が実際にどのような使われ方をするのかを推定できる。
また、推定システムSは、推定対象場所の用途属性に基づいて、推定対象場所に関する情報を、ユーザに提供することによって、有用な情報をユーザに提供できる。例えば、店舗の実際の使われ方に応じた情報をユーザに提供し、ユーザがより興味を持つ情報を提供できる。
[3.変形例]
なお、本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
図18は、変形例における機能ブロック図である。図18に示すように、以降説明する変形例では、第1実施形態及び第2実施形態で説明した機能に加えて、属性利用部109、第1条件特定部110、第2条件特定部111、第3条件特定部112、第1候補特定部113、第2候補特定部114、及び第3候補特定部115が実現される。これら各機能は、制御部11を主として実現される。
[3-1.第1実施形態の変形例]
(1-1)第1実施形態の変形例を説明する。例えば、第1実施形態と第2実施形態を組み合わせた場合、将来の中心地が推定された初心者ユーザが実際に訪れた場所の用途属性が推定される。この場合に、当該推定された用途属性が、学習モデルM1による中心地の推定で利用されてもよい。
変形例(1-1)の推定システムSは、属性推定部107と、属性利用部109と、を含む。属性推定部107は、初心者ユーザが訪れた場所である第5場所の位置と、初心者ユーザの将来の中心地と、の位置関係に基づいて、当該第5場所の用途属性である第5場所属性を推定する。
第5場所は、将来の中心地が推定された初心者ユーザが訪れた場所である。例えば、第5場所は、ある初心者ユーザの中心地が推定された後に、その初心者ユーザが訪れた場所である。また例えば、第5場所は、ある初心者ユーザの中心地が推定される前に、その初心者ユーザが訪れた場所であってもよい。即ち、第5場所は、第3場所と同じであってもよい。
位置関係の意味、用途属性の意味、及び属性推定部107による用途属性の推定方法は、第2実施形態で説明した通りである。属性推定部107が推定する属性が用途属性に限られない点も、第2実施形態で説明した通りである。なお、変形例(1-1)では、第2実施形態で説明した第2提供部108が実現されてもよいし、第2提供部108は省略してもよい。
属性利用部109は、属性推定部107により推定された第5場所属性を、初心者ユーザの将来の中心地の推定で利用する。例えば、属性利用部109は、属性推定部107により推定された第5場所属性に基づいて、場所データベースDB2を更新する。当該更新された場所データベースDB2が、初心者ユーザの将来の中心地の推定で利用される。
変形例(1-1)では、場所属性だけでなく、用途属性である第5場所属性も学習モデルM1に入力されるものとする。訓練データの入力部分は、ベテランユーザが初心者ユーザだった頃に訪れた場所の情報なので、学習部101は、属性利用部109により更新された場所データベースDB2を参照し、ベテランユーザが初心者ユーザだった頃に訪れた場所の第5場所属性を、訓練データの入力部分として追加する。即ち、この第5場所属性は、訓練データの入力部分の新たな特徴量として利用される。
学習部101は、入力部分に、属性推定部107により推定された第5場所属性を含む訓練データを作成する。学習部101は、属性推定部107により推定された第5場所属性を含む訓練データに基づいて、学習モデルM1を学習させる。学習後の学習モデルM1には、初心者ユーザが訪れた場所の用途属性である第5場所属性も入力される。学習後の学習モデルM1が初心者ユーザの将来の中心地の推定で利用されることによって、属性推定部107により推定された第5場所属性が、この推定で利用されることになる。なお、学習部101は、第5場所属性ごとに、学習モデルM1を作成してもよい。
変形例(1-1)によれば、初心者ユーザが訪れた第5場所の位置と、初心者ユーザの将来の中心地と、の位置関係に基づいて、用途属性である第5場所属性を推定し、初心者ユーザの将来の中心地の推定で利用することによって、初心者ユーザの将来の中心地の推定の精度を高めることができる。第2実施形態で説明したように、用途属性は店舗等の実際の使われ方を表すものなので、ユーザが訪れた場所の実情に沿った精度の高い中心地の推定を実現できる。
(1-2)また例えば、第1実施形態では、通信サービスに推定システムSを適用する場合を説明したが、推定システムSは、任意の他のサービスに適用可能である。例えば、他のサービスは、電子決済サービス、経路案内サービス、飲食店予約サービス、旅行予約サービス、チケット予約サービス、金融サービス、又は保険サービスであってもよい。
変形例(1-2)では、電子決済サービスに推定システムSを適用する場合を説明する。例えば、ユーザ端末30には、電子決済用のアプリケーション(以降、電子決済アプリ)がインストールされている。ユーザは、電子決済アプリに基づいて、任意の決済手段を利用して決済できる。例えば、決済手段は、電子マネー、電子キャッシュ、ポイント、仮想通貨、クレジットカード、デビットカード、銀行口座、又はウォレットである。
ユーザは、店舗に配置されたリーダ装置にユーザ端末30をかざすことによって、電子決済を実行する。電子決済自体は、任意の方法によって実行可能であり、例えば、ユーザ端末30のカメラでコード情報を読み取るタイプ、ユーザ端末30に表示させたコード情報を店舗のPOS端末等で読み取るタイプ、ユーザ端末30のICチップを読み取るタイプ、又はユーザ端末30に対する操作だけで完結するタイプであってもよい。他にも例えば、ユーザ端末30を利用せずに、ICカード又は磁気カードを利用した電子決済であってもよい。
変形例(1-2)では、ユーザデータベースDB1の履歴情報は、ユーザが過去に電子決済サービスを利用した店舗の履歴を示す。即ち、履歴情報は、ユーザが過去に実行した電子決済の履歴を示す。例えば、履歴情報には、ユーザが電子決済サービスを利用した店舗の位置、場所属性、利用日時、及び決済金額が含まれる。ユーザが電子決済サービスを利用した店舗は、ユーザが訪れた場所に相当する。このため、本変形例の第1場所及び第2場所の各々は、ベテランユーザが過去に利用した店舗である。第3場所は、初心者ユーザが過去に利用した店舗であり、第4場所は、初心者ユーザが将来に利用する店舗である。学習モデルM1には、ベテランユーザが初心者ユーザだった頃に訪れた店舗の位置に基づく第1中心地と、ベテランユーザがそれよりも後に訪れた店舗に基づく第2中心地と、の関係が学習されている。
将来推定部103は、初心者ユーザが将来に訪れそうな複数の店舗の中心地を推定する。第1提供部102は、ある初心者ユーザの将来の中心地に基づいて、その初心者ユーザに対し、その中心地付近にある店舗に関する情報を提供する。例えば、第1提供部102は、ある初心者ユーザの将来の中心地付近にある店舗のクーポン情報を提供したり、その店舗のおすすめ情報を提供したりする。
変形例(1-2)によれば、初心者ユーザの将来に訪れそうな複数の店舗の中心地の推定の精度が高まる。その結果、ユーザが興味を持ちそうな店舗に関する情報を事前に提供できる。
(1-3)また例えば、学習モデルM1の入力と出力の関係は、第1実施形態の例に限られない。学習モデルM1には、あるベテランユーザが初心者ユーザだった頃に訪れた場所の何らかの位置に基づく情報と、ベテランユーザがそれよりも後に訪れた場所の何らかの位置に基づく情報と、の関係が学習されていればよい。例えば、学習モデルM1には、あるベテランユーザが初心者ユーザだった頃に訪れたn個(nは自然数)の場所の各々の位置と、ベテランユーザが初心者ユーザではなくなった後の中心地と、の関係が学習されてもよい。この場合、学習モデルM1は、n個の位置が入力されると、それに応じた中心地を出力する。入力される位置がn個に満たない場合には、不足する分は欠損値として扱ってもよいし、仮の値で補完されるようにしてもよい。
また例えば、学習モデルM1を利用して推定された中心地は、その中心地周辺の店舗に関する情報を提供する以外にも種々の目的で利用可能である。例えば、あるユーザの中心地と、そのユーザの登録された自宅住所又は勤務先住所と、が比較されて、そのユーザの引っ越し又は転職による住所変更が検知され、登録された自宅住所又は勤務先住所の変更を促すメッセージが送信されるようにしてもよい。他にも例えば、あるユーザの昼の中心地と、そのユーザの勤務先住所と、が比較されることによって転職による住所変更が検知されてもよいし、あるユーザの平日の夜又は休日の中心地と、そのユーザの自宅住所と、が比較されることによって引っ越しが検知されてもよい。
また例えば、将来の中心地を推定する初心者ユーザが普段訪れる場所の場所属性と関連性が低い場所については学習モデルM1の寄与度を下げるようにしてもよい。また例えば、時間帯や曜日ごとに、初心者ユーザの将来の中心地を推定し、時間帯や曜日に応じた情報が提供されるようにしてもよい。この場合、時間帯や曜日ごとに、異なる場所属性の場所に関する情報が提供されてもよい。例えば、ある初心者ユーザの平日の昼の中心地に基づいて、平日の昼に利用可能なレストラン又はカフェ等の情報が提供されてもよい。また例えば、ある初心者ユーザの平日の夜の中心地に基づいて、平日の夜に利用可能なスーパーマーケット又はコンビニエンスストア等の情報が提供されてもよい。
また例えば、時間帯又は曜日ごとに、ユーザの利用回数が計算されて、最も利用回数が多い時間帯又は曜日に推定された中心地が、そのユーザの全体の中心地として取得されてもよい。また例えば、あるユーザの中心地が都心部の場合には、その中心地から比較的近い場所に関する情報が提示されてもよい。また例えば、あるユーザの中心地が地方部の場合には、その中心地から比較的遠い場所に関する情報が提示されてもよい。また例えば、ユーザの中心地とばらつき具合に応じた普段の行動範囲に基づいて、そのユーザに情報が提示されてもよい。この場合、普段の行動範囲が狭いユーザについては比較的狭い範囲の情報が提示され、普段の行動範囲が広いユーザについては比較的広い範囲の情報が提示されてもよい。
[3-2.第2実施形態の変形例]
(2-1)第2実施形態の変形例を説明する。例えば、無線通信装置20が配置された場所のエリアによって、用途属性の推定に関する条件が異なることがある。例えば、地方部のユーザは、都心部のユーザに比べると、日常生活における移動距離が長いことが多い。このため、無線通信装置20が配置された場所のエリアが地方部であれば、用途属性の推定時の閾値を大きくし、無線通信装置20が配置されたエリアが都心部であれば、用途属性の推定時の閾値を小さくしてもよい。
図19は、変形例(2-1)における属性定義データDTのデータ格納例を示す図である。図19に示すように、変形例(2-1)の属性定義データDTには、エリアごとに、用途属性の推定に関する条件と、用途属性の候補と、が関連付けられている。エリアは、一定の広さを有する領域であればよく、例えば、都市部や地方部といった観点でエリアが分けられていてもよいし、ビジネス街や住宅地といった観点でエリアが分けられていてもよい。なお、図19の例では、各エリアに関連付けられた用途属性の候補が同じである場合を説明するが、後述する変形例(2-4)のように、エリアごとに用途属性の候補が異なってもよい。
第1条件特定部110は、複数のエリアのうち、推定対象場所が属するエリアに基づいて、用途属性の推定に関する条件を特定する。第1条件特定部110は、場所データベースDB2に基づいて、推定対象場所の位置を特定し、複数のエリアの中から、当該特定された位置が属するエリアを特定する。第1条件特定部110は、属性定義データDTに基づいて、当該特定されたエリアに関連付けられた条件を特定する。
属性推定部107は、第1条件特定部110により特定された条件と、第3取得部106により取得された位置関係と、に基づいて、推定対象場所の用途属性を推定する。第1条件特定部110により特定された条件が推定で用いられる点で第2実施形態と異なり、用途属性の推定方法自体は、第2実施形態で説明した通りである。
変形例(2-1)によれば、推定対象場所が属するエリアに基づいて特定された条件と、第3取得部106により取得された位置関係と、に基づいて、推定対象場所の用途属性を推定することによって、エリアに応じた条件で用途属性を推定し、用途属性の推定精度が高まる。例えば、地方部にいるユーザが車で2時間かけて行く場所が「観光客向け」と推定されずに「近隣住民向け」と推定され、都心部にいるユーザが車で2時間かけて行く場所が「近隣住民向け」と推定されずに「観光客向け」と推定されるようになる。
(2-2)また例えば、無線通信装置20が配置された場所に関連付けられていた場所属性によっては、用途属性の推定に関する条件が異なることがある。例えば、場所属性「アウトレットモール」を訪れるユーザは、場所属性「コンビニエンスストア」を訪れるユーザに比べると、移動距離が長いことが多い。このため、無線通信装置20が配置された場所の場所属性が「アウトレットモール」であれば、用途属性の推定時の閾値を大きくし、無線通信装置20が配置された場所が場所属性「コンビニエンスストア」であれば、用途属性の推定時の閾値を小さくしてもよい。
図20は、変形例(2-2)における属性定義データDTのデータ格納例を示す図である。図20に示すように、変形例(2-2)の属性定義データDTには、場所属性ごとに、用途属性の推定に関する条件と、用途属性の候補と、が関連付けられている。なお、図20の例では、各場所属性に関連付けられた用途属性の候補が同じである場合を説明するが、後述する変形例(2-5)のように、場所属性ごとに用途属性の候補が異なってもよい。
第2条件特定部111は、複数の場所属性のうち、推定対象場所に関連付けられた場所属性に基づいて、用途属性の推定に関する条件を特定する。第2条件特定部111は、場所データベースDB2に基づいて、推定対象場所の場所属性を特定する。第1条件特定部110は、属性定義データDTに基づいて、当該特定された場所属性に関連付けられた条件を特定する。
属性推定部107は、第2条件特定部111により特定された条件と、第3取得部106により取得された位置関係と、に基づいて、推定対象場所の用途属性を推定する。第2条件特定部111により特定された条件が推定で用いられる点で第2実施形態と異なり、用途属性の推定方法自体は、第2実施形態で説明した通りである。
変形例(2-2)によれば、推定対象場所に関連付けられた場所属性に基づいて特定された条件と、第3取得部106により取得された位置関係と、に基づいて、推定対象場所の用途属性を推定することによって、場所属性に応じた条件で用途属性を推定し、用途属性の推定精度が高まる。これにより、ユーザが電車で2時間かけて行くアウトレットモール内の店舗が「観光客向け」と推定されずに「通常の買物向け」と推定され、ユーザが電車で2時間かけて行く観光地にあるコンビニエンスストアが「通常の買物向け」と推定されずに「観光客向け」と推定されるようになる。
(2-3)また例えば、無線通信装置20が配置された場所を訪れたユーザの中心地と、個々の場所の位置と、の距離のばらつき具合によっては、用途属性の推定に関する条件が異なることがある。例えば、ある場所を訪れたユーザのばらつき具合が大きければ、その場所は遠出をするのが好きなユーザが訪れやすい場所のため、大きめの閾値にしてもよい。また例えば、ある場所を訪れたユーザのばらつき具合が小さければ、その場所は普段は遠出をしないユーザが訪れやすい場所のため小さめの閾値にしてもよい。
図21は、変形例(2-3)における属性定義データDTのデータ格納例を示す図である。図21に示すように、変形例(2-3)の属性定義データDTには、ばらつき具合ごとに、用途属性の推定に関する条件と、用途属性の候補と、が関連付けられている。なお、図21の例では、各ばらつき具合に関連付けられた用途属性の候補が同じである場合を説明するが、後述する変形例(2-6)のように、場所属性ごとに用途属性の候補が異なってもよい。
第3条件特定部112は、ユーザが訪れた複数の他の場所に関する中心地と、複数の他の場所の各々の位置と、の距離のばらつき具合に基づいて、用途属性の推定に関する条件を特定する。第3条件特定部112は、ユーザデータベースDB1に基づいて取得された、ある場所を訪れたユーザの中心地と、そのユーザの履歴情報に含まれる位置と、に基づいて、そのユーザのばらつき具合を取得する。第3条件特定部112は、ある場所を訪れたユーザのばらつき具合の平均を計算し、当該計算された平均のばらつき具合に関連付けられた条件を特定する。
属性推定部107は、第3条件特定部112により特定された条件と、第3取得部106により取得された位置関係と、に基づいて、推定対象場所の用途属性を推定する。第3条件特定部112により特定された条件が推定で用いられる点で第2実施形態と異なり、用途属性の推定方法自体は、第2実施形態で説明した通りである。
変形例(2-3)によれば、ユーザが訪れた複数の他の場所に関する中心地と、複数の他の場所の各々の位置と、の距離のばらつき具合に基づいて特定された条件と、第3取得部106により取得された位置関係と、に基づいて、推定対象場所の用途属性を推定することによって、このばらつき具合に応じた条件で用途属性を推定し、用途属性の推定精度が高まる。例えば、普段から遠出をしてでも食事をするのが好きなユーザ(ばらつき具合の大きいユーザ)が訪れるレストランが「観光客向け」ではなく「グルメユーザ向け」と推定されるようになり、普段は遠出をしないユーザ(ばらつき具合の小さいユーザ)が訪れるレストランが「グルメユーザ向け」ではなく「観光客向け」と推定されるようになる。
(2-4)また例えば、無線通信装置20が配置された場所のエリアによっては、そのエリア特有の用途属性を関連付けた方がよいことがある。変形例(2-4)の属性定義データDTには、エリアごとに、用途属性の候補が関連付けられている。属性定義データDTの形式自体は、図19と同様であるが、用途属性の候補がエリアごとに異なる。例えば、「地方部」のエリアには「観光客向け」「近隣住民向け」の候補が関連付けられている。また例えば、「都市部」のエリアには、「近隣企業の接待向け」「デート向け」の候補が関連付けられている。
第1候補特定部113は、複数のエリアのうち、推定対象場所が属するエリアに基づいて、用途属性の複数の候補を特定する。第1候補特定部113は、場所データベースDB2に基づいて、推定対象場所の位置を特定し、複数のエリアの中から、当該特定された位置が属するエリアを特定する。第1候補特定部113は、属性定義データDTに基づいて、当該特定されたエリアに関連付けられた候補を特定する。
属性推定部107は、第3取得部106により取得された位置関係に基づいて、第1候補特定部113により特定された複数の候補の中から、推定対象場所の用途属性を推定する。第1候補特定部113により特定された候補が推定で用いられる点で第2実施形態と異なり、用途属性の推定方法自体は、第2実施形態で説明した通りである。
変形例(2-4)によれば、推定対象場所が属するエリアに基づいて特定された複数の候補の中から、推定対象場所の用途属性を推定することによって、エリアに応じた用途属性を推定できる。例えば、地方部のレストランであれば「観光客向け」「近隣住民向け」の候補の中から用途属性が推定され、都市部のレストランであれば、「近隣企業の接待向け」「デート向け」の候補の中から用途属性が推定されるようになる。
(2-5)また例えば、無線通信装置20が配置された場所に関連付けられていた場所属性によっては、その場所属性特有の用途属性を関連付けた方がよいことがある。変形例(2-5)の属性定義データDTには、場所属性ごとに、用途属性の候補が関連付けられている。属性定義データDTの形式自体は、図20と同様であるが、用途属性の候補が場所属性ごとに異なる。例えば、「ショッピングモール」の場所属性には「観光客向け」「近隣住民向け」の候補が関連付けられている。また例えば、「レストラン」の場所属性には「近隣企業の接待向け」「デート向け」の候補が関連付けられている。
第2候補特定部114は、複数の場所属性のうち、推定対象場所に関連付けられた場所属性に基づいて、用途属性の複数の候補を特定する。第2候補特定部114は、場所データベースDB2に基づいて、推定対象場所の場所属性を特定する。第2候補特定部114は、属性定義データDTに基づいて、当該特定された場所属性に関連付けられた候補を特定する。
属性推定部107は、第3取得部106により取得された位置関係に基づいて、第2候補特定部114により特定された複数の候補の中から、推定対象場所の用途属性を推定する。第2候補特定部114により特定された候補が推定で用いられる点で第2実施形態と異なり、用途属性の推定方法自体は、第2実施形態で説明した通りである。
変形例(2-5)によれば、推定対象場所に関連付けられた場所属性に基づいて特定された複数の候補の中から、推定対象場所の用途属性を推定することによって、推定対象場所に関連付けられた場所属性に応じた用途属性を推定できる。例えば、場所属性「ショッピングモール」の店舗であれば「観光客向け」「近隣住民向け」の候補の中から用途属性が推定され、場所属性「レストラン」の店舗であれば「近隣企業の接待向け」「デート向け」の候補の中から用途属性が推定されるようになる。
(2-6)また例えば、無線通信装置20が配置された場所を訪れたユーザの中心地と、個々の場所の位置と、の距離のばらつき具合によっては、そのばらつき具合特有の用途属性を関連付けた方がよいことがある。変形例(2-6)の属性定義データDTには、ばらつき具合ごとに、用途属性の候補が関連付けられている。属性定義データDTの形式自体は、図21と同様であるが、用途属性の候補がばらつき具合ごとに異なる。例えば、比較的大きなばらつき具合には「グルメユーザ向け」と「近隣住民向け」の候補が関連付けられている。また例えば、比較的小さなばらつき具合には「観光客向け」と「近隣住民向け」の候補が関連付けられている。
第3候補特定部115は、ユーザが訪れた複数の他の場所に関する中心地と、複数の他の場所の各々の位置と、の距離のばらつき具合に基づいて、用途属性の複数の候補を特定する。第3候補特定部115は、ユーザデータベースDB1に基づいて取得された、ある場所を訪れたユーザの中心地と、そのユーザの履歴情報に含まれる位置と、に基づいて、そのユーザのばらつき具合を取得する。第3候補特定部115は、ある場所を訪れたユーザのばらつき具合の平均を計算し、当該計算された平均のばらつき具合に関連付けられた候補を特定する。
属性推定部107は、第3取得部106により取得された位置関係に基づいて、第3候補特定部115により特定された複数の候補の中から、推定対象場所の用途属性を推定する。第3候補特定部115により特定された候補が推定で用いられる点で第2実施形態と異なり、用途属性の推定方法自体は、第2実施形態で説明した通りである。
変形例(2-6)によれば、ユーザが訪れた複数の他の場所に関する中心地と、複数の他の場所の各々の位置と、の距離のばらつき具合に基づいて特定された複数の候補の中から、推定対象場所の用途属性を推定することによって、ばらつき具合に応じた用途属性を推定できる。例えば、ある場所を訪れたユーザのばらつき具合が大きければ「グルメユーザ向け」と「近隣住民向け」の候補の中から用途属性が推定され、ある場所を訪れたユーザのばらつき具合が小さければ「観光客向け」と「近隣住民向け」の候補の中から用途属性が推定される。
(2-7)また例えば、第2取得部105は、ユーザが訪れた複数の他の場所のうち、推定対象場所と同じ場所属性が関連付けられた他の場所の位置に基づいて、位置情報を取得してもよい。例えば、第2取得部105は、予め「レストラン」や「コンビニエンスストア」といった場所属性が定められている場合、ユーザの中心地は、推定対象店舗と同じ場所属性が関連付けられた他の店舗の位置に基づいて計算する。
例えば、第2取得部105は、推定対象店舗の場所属性が「レストラン」の場合には、ユーザが訪れた「コンビニエンスストア」の位置は、用途属性の推定で重要ではない可能性があるので、中心地の計算から除外したり、中心地の計算における重み付けを小さくしたりする。第2取得部105は、第2取得部105は、推定対象店舗の場所属性が「コンビニエンスストア」の場合には、ユーザが訪れた「レストラン」の位置は、用途属性の推定で重要ではない可能性があるので、中心地の計算から除外したり、中心地の計算における重み付けを小さくしたりする。
変形例(2-7)によれば、推定対象場所と同じ場所属性が関連付けられた他の場所の位置に基づいて、ユーザの中心地を取得することによって、用途属性の推定の精度が高まる。例えば、場所属性「コンビニエンスストア」の推定対象場所の用途属性を推定するためには、ユーザが場所属性「カフェ」を訪れた時の中心地ではなく、ユーザが同じ場所属性「コンビニエンスストア」を訪れた時の中心地の方があてになる可能性があるので、場所属性を考慮することによって、用途属性の推定の精度が効果的に高まる。更に、ユーザに「コンビニエンスストア」の情報を提供したい場合には、より有用な情報を提供できる。
(2-8)また例えば、属性推定部107は、他の推定対象場所に対応する位置関係と、他の推定対象場所に関連付けられた用途属性と、の関係が学習された学習モデルM2に基づいて、用途属性を推定してもよい。学習モデルM2には、正解となる用途属性が分かっている他の推定対象場所に対応する距離(第3取得部106により取得された距離)と、正解となる用途属性と、の関係が学習されている。属性推定部107は、第3取得部106により取得された推定対象場所に対応する距離を学習モデルM2に入力し、学習モデルM2から出力された用途属性を取得する。学習モデルM2には、変形例(2-1)~(2-7)で説明した条件や候補等が学習されていてもよい。
変形例(2-8)によれば、学習モデルM2に基づいて用途属性を推定することによって、用途属性の推定の精度が効果的に高まる。例えば、管理者が指定した固定の閾値等を利用するのではなく、学習モデルM2を利用することによって、ユーザの傾向の変化を学習モデルM2が自然と学習し、その変化が用途属性の推定に反映されるので、実情に沿った用途属性を推定できる。
(2-9)また例えば、第2実施形態でも、変形例(1-1)と同様に、属性利用部109が、推定対象場所の用途属性を、第4位置情報の推定で利用してもよい。属性利用部109の詳細は、変形例(1-1)で説明した通りである。
変形例(2-9)によれば、推定対象場所の用途属性を、初心者ユーザの将来の中心地の推定で利用することによって、初心者ユーザの将来の中心地の推定の精度を高めることができる。用途属性は店舗等の実際の使われ方を表すものなので、ユーザが訪れた場所の実情に沿った精度の高い中心地の推定を実現できる。
(2-10)また例えば、ユーザが訪れる場所は、そのユーザの休日である週末等にばらつく可能性があるので、ユーザが平日に訪れた場所に基づいて、そのユーザの中心地が計算されてもよい。例えば、ユーザが週末に旅行に行った場合には、その時に訪れた場所によって正確な中心地が計算されない可能性があるので、ユーザが平日に訪れた場所に基づいて中心地が計算されるようにしてもよい。
また例えば、ある推定対象場所の近隣住民のユーザと、その推定対象場所から遠くに住んでいる観光客のユーザと、の両方の利用がある場合に、混合正規分布を利用して距離の分布が計算されてもよい。この場合、推定対象場所及びユーザの各々がどの分布の山に属するかを示す確率が推定され、より高い確率の山に属しているものとしてもよい。山の数は、種々の方法で定義可能であり、例えば、近隣住民のユーザと観光客のユーザのみを区別すると事前に定める場合には、2つの正規分布の混合分布であると仮定すればよい。そうでない場合(ユーザを3つ以上に区分する場合)には、AIC(赤池情報量規準)、BIC(ベイズ情報量規準)、MDL(最小記述長)といった種々の情報量規準を利用して、適切な分布の山の数が推定されてもよい。上記の混合正規分布では、それぞれの分布の山の意味を、場所属性やその数によって変えてもよい。この場合、同一の場所属性の店舗内で平均と分散が集計された時に複数のクラスタに分割されてもよい。このようにすることによって、各場所属性でどのような分布分けをすべきなのかを定義できる。
[3-3.その他の変形例]
また例えば、上記説明した変形例を組み合わせてもよい。また例えば、主な機能がサーバ10で実現される場合を説明したが、各機能は複数のコンピュータで分担されてもよい。