(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-13
(45)【発行日】2022-07-22
(54)【発明の名称】機械学習装置、判定装置、プログラム及び機械学習方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20220714BHJP
G06Q 30/02 20120101ALI20220714BHJP
【FI】
G06N20/00
G06Q30/02 300
(21)【出願番号】P 2018209127
(22)【出願日】2018-11-06
【審査請求日】2021-02-18
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(73)【特許権者】
【識別番号】502283914
【氏名又は名称】学校法人岩崎学園
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】土居 啓司
(72)【発明者】
【氏名】吉井 英樹
(72)【発明者】
【氏名】大塚 玲
【審査官】松崎 孝大
(56)【参考文献】
【文献】特開平10-094040(JP,A)
【文献】特開2015-040749(JP,A)
【文献】特開2018-055638(JP,A)
【文献】米国特許出願公開第2016/0139239(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06Q 30/02
(57)【特許請求の範囲】
【請求項1】
予め定められた地理的範囲を有するエリアの内部に配された無線受信装置により受信された無線信号に関する情報を含むデータポイントが入力され、前記無線信号を発信した無線端末のユーザが前記エリアの内部に存在していたか否かを判定するために用いられる学習モデルを生成するモデル生成部と、
前記モデル生成部により生成された前記学習モデルが、前記ユーザが前記エリアの内部に存在していたか否か判定するための基準値を調整する調整部と、
を備え、
前記モデル生成部は、
(a)前記基準値として、前記学習モデルに応じた初期値を利用し、(b)(i)1以上の前記無線受信装置が受信した複数の前記無線信号のそれぞれに関する情報、及び、(ii)前記複数の無線信号のそれぞれを発信した前記無線端末のユーザが、前記複数の無線信号のそれぞれを受信した前記無線受信装置の配された前記エリアの内部に存在していたか否かを示すラベルを含む学習用データセットを利用して機械学習を実行することにより、前記学習モデルを生成し、
前記調整部は、
前記基準値として前記初期値が利用された場合と比較して、前記モデル生成部により生成された前記学習モデルの判定結果の真陽性率が大きくなる第2の値を、調整後の前記基準値として決定する、
機械学習装置。
【請求項2】
それぞれにおいて、(i)前記複数の無線信号のそれぞれを発信した前記無線端末を識別するための端末識別情報、(ii)前記複数の無線信号のそれぞれが受信された時刻を示す受信時刻情報、及び、(iii)前記複数の無線信号のそれぞれの電波に関する信号情報が対応付けられた、複数のレコードを取得するレコード取得部と、
それぞれにおいて、(i)特定の行動に関与した1以上の前記ユーザのそれぞれを識別するためのユーザ識別情報、及び、(ii)前記特定の行動がなされた時刻を示す行動時刻情報が対応付けられた、複数の行動履歴情報を取得する行動履歴取得部と、
(i)前記レコード取得部が取得した前記複数のレコードのそれぞれに含まれる前記端末識別情報及び前記受信時刻情報、並びに、(ii)前記行動履歴取得部が取得した前記複数の行動履歴情報のそれぞれに含まれる前記ユーザ識別情報及び前記行動時刻情報に基づいて、前記複数のレコード及び前記複数の行動履歴情報を照合し、前記複数のレコードのうち少なくとも一部のレコードのそれぞれに含まれる前記端末識別情報と、前記少なくとも一部のレコードのそれぞれに含まれる前記信号情報により示される電波に関する情報と、前記ユーザが前記エリアの内部に存在していたことを示す前記ラベルとを対応付けることで、前記学習用データセットを生成するラベル付与部と、
をさらに備える、
請求項1に記載の機械学習装置。
【請求項3】
前記複数の行動履歴情報の少なくとも一部に含まれる前記ユーザ識別情報は、当該ユーザ識別情報により識別されるユーザが利用する無線端末の前記端末識別情報である、
請求項2に記載の機械学習装置。
【請求項4】
1以上の前記ユーザ識別情報のそれぞれと、当該ユーザ識別情報により識別されるユーザが利用する無線端末の前記端末識別情報との対応関係を示す対応関係情報を取得する対応関係取得部をさらに備え、
前記ラベル付与部は、
前記対応関係取得部が取得した前記対応関係情報を参照して、(i)前記レコード取得部が取得した前記複数のレコードのそれぞれに含まれる前記端末識別情報及び前記受信時刻情報、並びに、(ii)前記行動履歴取得部が取得した前記複数の行動履歴情報のそれぞれに含まれる前記ユーザ識別情報及び前記行動時刻情報に基づいて、前記複数のレコード及び前記複数の行動履歴情報を照合し、前記学習用データセットを生成する、
請求項2に記載の機械学習装置。
【請求項5】
それぞれにおいて、(i)前記複数の無線信号のそれぞれを発信した前記無線端末を識別するための端末識別情報、(ii)前記複数の無線信号のそれぞれが受信された時刻を示す受信時刻情報、(iii)前記複数の無線信号のそれぞれが受信された位置を示す受信位置情報、及び、(iv)前記複数の無線信号のそれぞれの電波に関する信号情報が対応付けられた、複数のレコードを取得するレコード取得部と、
それぞれにおいて、(i)1以上の前記エリアのそれぞれを識別するためのエリア識別情報、(ii)前記エリア識別情報により識別されるエリアへの進入が制限されている時間帯を示す、1以上の進入制限情報を取得する制限情報取得部と、
(i)前記レコード取得部が取得した前記複数のレコードのそれぞれに含まれる前記受信位置情報、及び、(ii)前記制限情報取得部が取得した前記1以上の進入制限情報のそれぞれに含まれる前記エリア識別情報に基づいて、前記複数のレコード及び前記1以上の進入制限情報を照合し、前記複数のレコードのうち少なくとも一部のレコードのそれぞれに含まれる前記端末識別情報と、前記少なくとも一部のレコードのそれぞれに含まれる前記信号情報により示される電波に関する情報と、前記ユーザが前記エリアの内部に存在していなかったことを示す前記ラベルとを対応付けることで、前記学習用データセットを生成するラベル付与部と、
をさらに備える、
請求項1に記載の機械学習装置。
【請求項6】
前記レコード取得部が取得した前記複数のレコードを、前記複数のレコードのそれぞれに含まれる前記端末識別情報及び前記受信時刻情報に基づいて、前記端末識別情報ごと、且つ、予め定められた条件を満足する期間ごとに集約する集約部をさらに備え、
前記集約部は、
それぞれにおいて、(i)前記複数の無線信号のそれぞれを発信した前記無線端末を識別するための端末識別情報、(ii)前記集約部による集約処理の対象となった期間を示す集約期間情報、(iii)前記複数の無線信号のうち、前記端末識別情報により識別される無線端末が、前記集約期間情報により示される期間の間に発信した1以上の無線信号に関する1以上の特徴量を示す特徴情報が対応付けられた、1以上の集約レコードを生成する、
請求項2から請求項5までの何れか一項に記載の機械学習装置。
【請求項7】
前記ラベル付与部は、前記1以上の集約レコードの少なくとも一部に前記ラベルを付与することで、前記学習用データセットを生成する、
請求項6に記載の機械学習装置。
【請求項8】
前記学習モデルは、当該学習モデルに入力されたデータポイントごとに、当該学習モデルの予測又は判定に対する不確実性を推定するために利用される関数の値を算出し、
算出された前記関数の値と、前記基準値とに基づいて、前記ユーザが前記エリアの内部に存在していたか否かを判定する、
請求項1から請求項7までの何れか一項に記載の機械学習装置。
【請求項9】
前記調整部は、
前記モデル生成部により生成された前記学習モデルの受信者動作特性カーブ(ROCカーブ)を示すデータを算出し、
前記ROCカーブ上のポイントであって、前記基準値として前記初期値が利用された場合と比較して、前記モデル生成部により生成された前記学習モデルの判定結果の真陽性率が大きくなるポイントに対応する基準値を、前記第2の値として決定する、
請求項1から請求項8までの何れか一項に記載の機械学習装置。
【請求項10】
前記モデル生成部は、前記無線受信装置ごと、又は、前記エリアごとに、前記学習モデルを生成する、
請求項1から請求項9までの何れか一項に記載の機械学習装置。
【請求項11】
無線受信装置は、無線通信を中継する中継装置である、
請求項1から請求項10までの何れか一項に記載の機械学習装置。
【請求項12】
請求項1から請求項11までの何れか一項に記載の機械学習装置と、
前記1以上の無線受信装置の少なくとも1つにより受信された前記複数の無線信号のそれぞれに関する情報を含む判定対象データを取得する判定対象取得部と、
(i)前記判定対象取得部が取得した前記判定対象データを、前記モデル生成部が生成した前記学習モデルに入力し、(ii)前記基準値として、前記調整部が決定した前記第2の値を利用して、前記判定対象データに関する無線信号を発信した1以上の無線端末のそれぞれのユーザが、前記判定対象データに関する無線信号を受信した無線受信装置の配された前記エリアの内部に存在していたか否かを示す判定する判定部と、
を備える、
情報処理装置。
【請求項13】
コンピュータを、請求項1から請求項11までの何れか一項に記載の機械学習装置として機能させるための、プログラム。
【請求項14】
コンピュータを、請求項12に記載の
情報処理装置として機能させるための、プログラム。
【請求項15】
予め定められた地理的範囲を有するエリアの内部に配された無線受信装置により受信された無線信号に関する情報を含むデータポイントが入力され、前記無線信号を発信した無線端末のユーザが前記エリアの内部に存在していたか否かを判定するために用いられる学習モデルを生成するモデル生成段階と、
前記モデル生成段階において生成された前記学習モデルが、前記ユーザが前記エリアの内部に存在していたか否か判定するための基準値を調整する調整段階と、
を有し、
前記モデル生成段階は、
(a)前記基準値として、前記学習モデルに応じた初期値を利用し、(b)(i)1以上の前記無線受信装置が受信した複数の前記無線信号のそれぞれに関する情報、及び、(ii)前記複数の無線信号のそれぞれを発信した前記無線端末のユーザが、前記複数の無線信号のそれぞれを受信した前記無線受信装置の配された前記エリアの内部に存在していたか否かを示すラベルを含む学習用データセットを利用して機械学習を実行することにより、前記学習モデルを生成する段階を含み、
前記調整段階は、
前記基準値として前記初期値が利用された場合と比較して、前記モデル生成段階において生成された前記学習モデルの判定結果の真陽性率が大きくなる第2の値を、調整後の前記基準値として決定する段階を含む、
機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習装置、判定装置、プログラム及び機械学習方法に関する。
【背景技術】
【0002】
無線LANアクセスポイントで受信された無線信号に関するログを分析して、無線通信端末のユーザの来店を検出する技術が知られている(例えば、特許文献1~3参照)。
[先行技術文献]
[特許文献]
[特許文献1]特許第5859161号
[特許文献2]特許第5802716号
[特許文献3]特許第6169124号
【発明の概要】
【発明が解決しようとする課題】
【0003】
従来技術によれば、無線信号の電波強度などを利用して、当該無線信号を発信した通信端末のユーザが来店したか否かを判定している。上記の判定手法によっても比較的精度よく来店を検出することはできるが、近年、来店検出精度のさらなる向上が求められるようになってきた。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、機械学習装置が提供される。上記の機械学習装置は、例えば、予め定められた地理的範囲を有するエリアの内部に配された無線受信装置により受信された無線信号に関する情報を含むデータポイントが入力され、無線信号を発信した無線端末のユーザがエリアの内部に存在していたか否かを判定するために用いられる学習モデルを生成するモデル生成部を備える。上記の機械学習装置は、例えば、モデル生成部により生成された学習モデルが、ユーザがエリアの内部に存在していたか否か判定するための基準値を調整する調整部を備える。上記の機械学習装置において、例えば、モデル生成部は、(a)基準値として、学習モデルに応じた初期値を利用し、(b)(i)1以上の無線受信装置が受信した複数の無線信号のそれぞれに関する情報、及び、(ii)複数の無線信号のそれぞれを発信した無線端末のユーザが、複数の無線信号のそれぞれを受信した無線受信装置の配されたエリアの内部に存在していたか否かを示すラベルを含む学習用データセットを利用して機械学習を実行することにより、学習モデルを生成する。上記の機械学習装置において、例えば、調整部は、基準値として初期値が利用された場合と比較して、モデル生成部により生成された学習モデルの判定結果の真陽性率が大きくなる第2の値を、調整後の基準値として決定する。
【0005】
上記の機械学習装置は、それぞれにおいて、(i)複数の無線信号のそれぞれを発信した無線端末を識別するための端末識別情報、(ii)複数の無線信号のそれぞれが受信された時刻を示す受信時刻情報、及び、(iii)複数の無線信号のそれぞれの電波に関する信号情報が対応付けられた、複数のレコードを取得するレコード取得部を備えてよい。上記の機械学習装置は、それぞれにおいて、(i)特定の行動に関与した1以上のユーザのそれぞれを識別するためのユーザ識別情報、及び、(ii)特定の行動がなされた時刻を示す行動時刻情報が対応付けられた、複数の行動履歴情報を取得する行動履歴取得部を備えてよい。上記の機械学習装置は、(i)レコード取得部が取得した複数のレコードのそれぞれに含まれる端末識別情報及び受信時刻情報、並びに、(ii)行動履歴取得部が取得した複数の行動履歴情報のそれぞれに含まれるユーザ識別情報及び行動時刻情報に基づいて、複数のレコード及び複数の行動履歴情報を照合し、複数のレコードのうち少なくとも一部のレコードのそれぞれに含まれる端末識別情報と、少なくとも一部のレコードのそれぞれに含まれる信号情報により示される電波に関する情報と、ユーザがエリアの内部に存在していたことを示すラベルとを対応付けることで、学習用データセットを生成するラベル付与部を備えてよい。上記の機械学習装置において、複数の行動履歴情報の少なくとも一部に含まれるユーザ識別情報は、当該ユーザ識別情報により識別されるユーザが利用する無線端末の端末識別情報であってよい。
【0006】
上記の機械学習装置は、1以上のユーザ識別情報のそれぞれと、当該ユーザ識別情報により識別されるユーザが利用する無線端末の端末識別情報との対応関係を示す対応関係情報を取得する対応関係取得部を備えてよい。上記の機械学習装置において、ラベル付与部は、対応関係取得部が取得した対応関係情報を参照して、(i)レコード取得部が取得した複数のレコードのそれぞれに含まれる端末識別情報及び受信時刻情報、並びに、(ii)行動履歴取得部が取得した複数の行動履歴情報のそれぞれに含まれるユーザ識別情報及び行動時刻情報に基づいて、複数のレコード及び複数の行動履歴情報を照合し、学習用データセットを生成してよい。
【0007】
上記の機械学習装置は、それぞれにおいて、(i)複数の無線信号のそれぞれを発信した無線端末を識別するための端末識別情報、(ii)複数の無線信号のそれぞれが受信された時刻を示す受信時刻情報、(iii)複数の無線信号のそれぞれが受信された位置を示す受信位置情報、及び、(iv)複数の無線信号のそれぞれの電波に関する信号情報が対応付けられた、複数のレコードを取得するレコード取得部を備えてよい。上記の機械学習装置は、それぞれにおいて、(i)1以上のエリアのそれぞれを識別するためのエリア識別情報、(ii)エリア識別情報により識別されるエリアへの進入が制限されている時間帯を示す、1以上の進入制限情報を取得する制限情報取得部を備えてよい。上記の機械学習装置は、(i)レコード取得部が取得した複数のレコードのそれぞれに含まれる受信位置情報、及び、(ii)制限情報取得部が取得した1以上の進入制限情報のそれぞれに含まれるエリア識別情報に基づいて、複数のレコード及び1以上の進入制限情報を照合し、複数のレコードのうち少なくとも一部のレコードのそれぞれに含まれる端末識別情報と、少なくとも一部のレコードのそれぞれに含まれる信号情報により示される電波に関する情報と、ユーザがエリアの内部に存在していなかったことを示すラベルとを対応付けることで、学習用データセットを生成するラベル付与部を備えてよい。
【0008】
上記の機械学習装置は、レコード取得部が取得した複数のレコードを、複数のレコードのそれぞれに含まれる端末識別情報及び受信時刻情報に基づいて、端末識別情報ごと、且つ、予め定められた条件を満足する期間ごとに集約する集約部を備えてよい。上記の機械学習装置において、集約部は、それぞれにおいて、(i)複数の無線信号のそれぞれを発信した無線端末を識別するための端末識別情報、(ii)集約部による集約処理の対象となった期間を示す集約期間情報、(iii)複数の無線信号のうち、端末識別情報により識別される無線端末が、集約期間情報により示される期間の間に発信した1以上の無線信号に関する1以上の特徴量を示す特徴情報が対応付けられた、1以上の集約レコードを生成してよい。上記の機械学習装置において、ラベル付与部は、1以上の集約レコードの少なくとも一部にラベルを付与することで、学習用データセットを生成してよい。
【0009】
上記の機械学習装置において、学習モデルは、当該学習モデルに入力されたデータポイントごとに、当該学習モデルの予測又は判定に対する不確実性を推定するために利用される関数の値を算出してよい。上記の機械学習装置において、学習モデルは、算出された関数の値と、基準値とに基づいて、ユーザがエリアの内部に存在していたか否かを判定してよい。
【0010】
上記の機械学習装置において、調整部は、モデル生成部により生成された学習モデルの受信者動作特性カーブ(ROCカーブ)を示すデータを算出してよい。上記の機械学習装置において、調整部は、ROCカーブ上のポイントであって、基準値として初期値が利用された場合と比較して、モデル生成部により生成された学習モデルの判定結果の真陽性率が大きくなるポイントに対応する基準値を、第2の値として決定してよい。
【0011】
上記の機械学習装置において、モデル生成部は、無線受信装置ごと、又は、エリアごとに、学習モデルを生成してよい。上記の機械学習装置において、無線受信装置は、無線通信を中継する中継装置であってよい。
【0012】
本発明の第2の態様においては、判定装置が提供される。上記の判定装置は、例えば、上記の機械学習装置を備える。上記の判定装置は、例えば、1以上の無線受信装置の少なくとも1つにより受信された複数の無線信号のそれぞれに関する情報を含む判定対象データを取得する判定対象取得部を備える。上記の判定装置は、例えば、(i)判定対象取得部が取得した判定対象データを、モデル生成部が生成した学習モデルに入力し、(ii)基準値として、調整部が決定した第2の値を利用して、判定対象データに関する無線信号を発信した1以上の無線端末のそれぞれのユーザが、判定対象データに関する無線信号を受信した無線受信装置の配されたエリアの内部に存在していたか否かを示す判定する判定部を備える。
【0013】
本発明の第3の態様においては、機械学習方法が提供される。上記の機械学習方法は、例えば、予め定められた地理的範囲を有するエリアの内部に配された無線受信装置により受信された無線信号に関する情報を含むデータポイントが入力され、無線信号を発信した無線端末のユーザがエリアの内部に存在していたか否かを判定するために用いられる学習モデルを生成するモデル生成段階を有する。上記の機械学習方法は、例えば、モデル生成段階において生成された学習モデルが、ユーザがエリアの内部に存在していたか否か判定するための基準値を調整する調整段階を有する。上記の機械学習方法において、例えば、モデル生成段階は、(a)基準値として、学習モデルに応じた初期値を利用し、(b)(i)1以上の無線受信装置が受信した複数の無線信号のそれぞれに関する情報、及び、(ii)複数の無線信号のそれぞれを発信した無線端末のユーザが、複数の無線信号のそれぞれを受信した無線受信装置の配されたエリアの内部に存在していたか否かを示すラベルを含む学習用データセットを利用して機械学習を実行することにより、学習モデルを生成する段階を含む。上記の機械学習方法において、例えば、調整段階は、基準値として初期値が利用された場合と比較して、モデル生成段階において生成された学習モデルの判定結果の真陽性率が大きくなる第2の値を、調整後の基準値として決定する段階を含む。
【0014】
本発明の第4の態様においては、プログラムが提供される。上記のプログラムを格納する非一時的コンピュータ可読媒体が提供されてもよい。上記のプログラムは、例えば、コンピュータを、上記の第1の態様に係る機械学習装置として機能させるためのプログラムである。上記のプログラムは、例えば、コンピュータを、上記の第2の態様に係る判定装置として機能させるためのプログラムである。上記のプログラムは、コンピュータに、上記の第3の態様に係る機械学習方法を実行させるためのプログラムであってもよい。
【0015】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0016】
【
図1】データ解析システム100のシステム構成の一例を概略的に示す。
【
図2】管理サーバ160の内部構成の一例を概略的に示す。
【
図3】格納部242の内部構成の一例を概略的に示す。
【
図4】入力データ生成部244における情報処理の一例を概略的に示す。
【
図5】データセット生成部252の内部構成の一例を概略的に示す。
【
図6】学習部254の内部構成の一例を概略的に示す。
【
図7】閾値調整部256の内部構成の一例を概略的に示す。
【
図8】閾値調整部256における情報処理の一例を概略的に示す。
【
図9】データテーブル900の一例を概略的に示す。
【
図10】データテーブル1000の一例を概略的に示す。
【
図11】データテーブル1100の一例を概略的に示す。
【
図12】データテーブル1200の一例を概略的に示す。
【
図13】データテーブル1300の一例を概略的に示す。
【
図14】データテーブル1400の一例を概略的に示す。
【
図15】データテーブル1500の一例を概略的に示す。
【
図16】データテーブル1600の一例を概略的に示す。
【
図17】データテーブル1700の一例を概略的に示す。
【
図18】解析部240における情報処理の一例を概略的に示す。
【
図19】解析部240における情報処理の一例を概略的に示す。
【
図20】データテーブル1700の一例を概略的に示す。
【
図21】コンピュータ3000のシステム構成の一例を概略的に示す。
【発明を実施するための形態】
【0017】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【0018】
各実施形態において、各ユーザは、個人情報を利用したサービスを享受することに同意していることが好ましい。
【0019】
[データ解析システム100の概要]
図1は、データ解析システム100のシステム構成の一例を概略的に示す。本実施形態において、データ解析システム100は、管理サーバ160を備える。本実施形態においては、データ解析システム100の理解を容易にすることを目的として、管理サーバ160が、通信端末108からの要求に応じて、店舗12又は店舗14に来店した顧客の人数(来店人数と称される場合がある。)を推定し、上記の要求に対する応答として、上記の推定結果を示す情報を送信する場合を例として、データ解析システム100の詳細が説明される。
【0020】
本実施形態において、店舗12は、予め定められた地理的範囲を有する。店舗12の内部には、アクセスポイント122と、来店確認機器142とが配される。本実施形態において、店舗14は、予め定められた地理的範囲を有する。店舗14の内部には、アクセスポイント124と、来店確認機器144とが配される。アクセスポイント122、アクセスポイント124、来店確認機器142及び来店確認機器144の少なくとも1つは、データ解析システム100の一部を構成してもよい。
【0021】
図1において、無線通信機能を有する通信端末102のユーザ22が、店舗12の内部に存在する。本実施形態において、通信端末102は、無線信号を利用して、アクセスポイント122との間で情報を送受する。例えば、通信端末102は無線信号を発信し、アクセスポイント122は当該無線信号を受信する。また、本実施形態において、ユーザ22は、来店確認機器142により提供される各種のサービスを利用する。このとき、来店確認機器142は、上記のサービスの提供者又は運営者によりユーザ22に割り当てられた識別情報、通信端末102の識別情報などを取得する。これにより、ユーザ22の来店が、来店確認機器142により検出される。
【0022】
図1において、無線通信機能を有する通信端末104のユーザ24は、店舗14の内部に存在する。本実施形態において、通信端末104は、無線信号を利用して、アクセスポイント124との間で情報を送受する。例えば、通信端末104は無線信号を発信し、アクセスポイント124は当該無線信号を受信する。また、本実施形態において、ユーザ24は、来店確認機器144により提供される各種のサービスを利用する。これにより、来店確認機器142がユーザ22の来店を検出した場合と同様の手順により、ユーザ24の来店が、来店確認機器144により検出される。
【0023】
なお、本実施形態においては、店舗12及び店舗14のそれぞれの内部に配されたアクセスポイントの個数が1である場合を例として、データ解析システム100の詳細が説明される。しかしながら、データ解析システム100は本実施形態に限定されない。他の実施形態において、店舗12及び店舗14の少なくとも一方の内部に、複数個のアクセスポイントが配されてよい。
【0024】
[ログ情報の収集]
本実施形態に係るデータ解析システム100によれば、管理サーバ160が、アクセスポイント122から、アクセスポイント122が通信端末から受信した1又は複数の無線信号に関する情報を収集する。また、管理サーバ160は、アクセスポイント124から、アクセスポイント124が受信した1又は複数の無線信号のそれぞれに関する情報を収集する。
【0025】
無線信号に関する情報(ログ情報と称される場合がある。)は、当該無線信号を受信したアクセスポイントを識別するための情報、当該無線信号が受信された時刻(受信時刻と称される場合がある。)を示す情報(受信時刻情報と称される場合がある。)、当該無線信号を発信した通信端末を識別するための情報(端末識別情報と称される場合がある。)、当該無線信号の電波に関する情報(信号情報と称される場合がある。)などを含んでよい。信号情報は、例えば、無線信号の電波強度を示す情報、無線信号の周波数帯を示す情報、及び、通信の接続段階を示す情報の少なくとも1つを含む。
【0026】
移動体通信方式における通信端末とアクセスポイントとの間の通信の接続段階としては、位置登録要求段階、認証段階、アソシエーション段階、接続完了段階などが例示される。移動体通信方式以外の無線通信方式における通信端末とアクセスポイントとの間の通信の接続段階としては、プローブ要求段階、認証段階、アソシエーション段階、接続完了段階ディアソシエーション段階、ディタッチ段階(切り離し段階と称される場合もある。)などが例示される。
【0027】
ログ情報の詳細は後述されるが、ログ情報の具体例は、例えば、
図12に示される。
図12において、データテーブル1200は、無線信号を受信したアクセスポイントのAPID1222と、当該無線信号の受信時刻を示す情報1224と、当該無線信号を発信した通信端末の端末ID1226と、当該無線信号の電波に関する情報1228とを対応付けて格納する。データテーブル1200の各行は、ログ情報の一例を表す。
【0028】
APID1222は、管理サーバ160が各アクセスポイントに割り当てた識別情報であり、各アクセスポイントの識別情報の一例であってよい。無線信号の電波に関する情報1228としては、電波強度を示す情報、周波数帯を示す情報、接続段階を示す情報などが例示される。
【0029】
[来店確認情報の収集]
本実施形態において、管理サーバ160は、来店確認機器142から、店舗12において来店が確認された顧客に関する情報を収集する。管理サーバ160は、来店確認機器144から、店舗14において来店が確認された顧客に関する情報を収集する。来店が確認された顧客に関する情報(来店確認情報と称される場合がある。)は、当該顧客を識別するための情報(ユーザIDと称される場合がある。)、当該顧客の来店が確認された時刻(来店時刻と称される場合がある。)を示す情報、当該顧客が来店した店舗等を示す情報、当該顧客の来店を確認した手段を示す情報などを含んでよい。
【0030】
上記の顧客を識別するための情報は、任意のサービスの提供者又は運営者により各顧客に割り当てられた識別情報であってもよく、各顧客が利用する通信端末の端末IDであってもよい。来店時刻を示す情報は、顧客が来店した日付を示す情報であってもよく、顧客が来店した日付及び時刻を示す情報であってもよい。
【0031】
来店確認情報の詳細は後述されるが、来店確認情報の具体例は、例えば、
図13に示される。
図13において、データテーブル1300は、ユーザのユーザID1322と、当該ユーザの行動が確認された場所の位置情報1324と、当該ユーザの行動が確認された時刻を示す情報1326とを対応付けて格納する。データテーブル1300の各行は、来店確認情報の一例を表す。
【0032】
ユーザIDとしては、例えば、(i)来店確認機器142又は来店確認機器144が取得したクレジットカードのカード番号、会員制サービスの会員番号又はアカウント、通信端末のMACアドレス、(ii)来店確認機器142又は来店確認機器144に入力された氏名、クレジットカードのカード番号、会員制サービスの会員番号又はアカウントなどが利用される。
【0033】
[学習用データセットの生成]
本実施形態によれば、管理サーバ160は、収集された来店確認情報及びログ情報を解析して、上記の判定処理に利用される学習モデルの教師データとして利用され得る学習用データセットを生成する。例えば、管理サーバ160は、まず、収集された来店確認情報及びログ情報を照合して、1以上の来店確認情報の少なくとも一部と、1以上のログ情報の少なくとも一部とを関連付ける。
【0034】
管理サーバ160は、例えば、(i)各来店確認情報に含まれる、顧客を識別するための情報、及び、当該顧客の来店時刻を示す情報と、(ii)各ログ情報に含まれる、端末識別情報及び受信時刻情報とをキーとして、来店確認情報及びログ情報を照合する。もしも、顧客を識別するための情報と、端末識別情報との対応関係を示す情報(対応関係情報と称される場合がある。)を入手できるのであれば、管理サーバ160はこのような情報を参照して来店確認情報及びログ情報を照合してもよい。
【0035】
対応関係情報の詳細は後述されるが、対応関係情報の具体例は、例えば、
図11に示される。
図11において、データテーブル1100は、各通信端末の端末ID1122と、各通信端末のユーザのユーザID1124とを対応付けて格納する。データテーブル1100の各行は、対応関係情報の一例を表す。
【0036】
管理サーバ160が来店確認情報及びログ情報を照合する手順の詳細は後述されるが、管理サーバ160は、例えば、下記の手順に従って、来店確認情報及びログ情報を照合する。管理サーバ160は、まず、データテーブル1300から、特定の一行に記録されたログ情報を読み込む。次に、管理サーバ160は、(i)ログ情報に含まれる端末ID1226をキーとして、データテーブル1100を参照し、(ii)端末ID1226に合致する端末ID1122に対応付けられた、ユーザID1124を抽出する。次に、管理サーバ160は、(i)抽出されたユーザID1124と、ログ情報に含まれる無線信号の受信時刻を示す情報1224とをキーとして、データテーブル1300を参照し、(ii)ユーザID1322がユーザID1124に合致し、ユーザの行動が確認された時刻を示す情報1326が、上記の受信時刻を示す情報1224に合致する来店確認情報を抽出する。管理サーバ160は、抽出された来店確認情報と、読み込んだログ情報とを関連付けることができると判定する。
【0037】
次に、管理サーバ160は、来店確認情報と関連付けられたログ情報に、当該ログ情報により示される通信端末のユーザが、当該ログ情報に関連する無線信号を受信したアクセスポイントの配された店舗等の内部に存在していたことを示すラベル(陽性ラベルと称される場合がある。)を付与する。これにより、陽性ラベルの付与された学習用データセットが生成される。
【0038】
管理サーバ160が学習用データセットを生成する手順の詳細は後述されるが、管理サーバ160は、例えば、下記の手順に従って、学習用データセットを生成する。管理サーバ160は、まず、各アクセスポイントのAPIDと、各アクセスポイントが配される店舗の店舗IDとが対応付けられたデータベースを参照して、上記のログ情報に関連する無線信号を受信したアクセスポイントの配された店舗等の識別情報を取得する。
【0039】
上記のデータベースの具体例は、例えば、
図9に示される。
図9において、データテーブル900は、各アクセスポイントのAPID922と、各アクセスポイントのMACアドレスを示す情報924と、各アクセスポイントが配される店舗の店舗ID926とを対応付けて格納する。
【0040】
管理サーバ160は、例えば、(i)ログ情報に含まれるAPID1222をキーとして、データテーブル900を参照し、(ii)APID1222に合致するAPID922に対応付けられた、店舗ID926を抽出する。管理サーバ160は、例えば、(i)ログ情報に含まれる端末ID1226、無線信号の受信時刻を示す情報1224、及び、無線信号の電波に関する情報1228と、(ii)抽出された店舗ID926と、(iii)陽性ラベルとを対応付けることで、学習用データセットの一部を構成するデータポイント(学習用データポイントと称される場合がある。)を生成する。管理サーバ160が、来店確認情報と関連付けられた複数のログ情報のそれぞれを同様に加工することで、複数の学習用のデータポイントを含む学習用データセットが生成される。
【0041】
学習用データセットの詳細は後述されるが、学習用データセットの具体例は、例えば、
図15に示される。
図15において、データテーブル1500の各行は、学習用データポイントの一例を表す。
図15において、データテーブル1500は、無線信号を発信した通信端末の端末ID1422と、無線信号を受信したアクセスポイントが配された店舗の店舗ID1424と、無線信号の受信日を示す情報1426と、無線信号の特徴量を示す情報1428と、ラベルの種類を示す情報1532とを対応付けて格納する。
【0042】
データテーブル1500において、端末ID1422には、例えば、ログ情報に含まれる端末ID1226が記録される。店舗ID1424には、例えば、上記の抽出された店舗ID926が記録される。無線信号の受信日を示す情報1426には、例えば、ログ情報に含まれる無線信号の受信時刻を示す情報1224により示される時刻、又は、年月日を示す情報が記録される。無線信号の特徴量を示す情報1428には、例えば、ログ情報に含まれる無線信号の電波に関する情報1228、若しくは、その一部が記録される。ラベルの種類を示す情報1532には、陽性であることを示す情報が記録される。なお、無線信号の特徴量を示す情報1428には、複数のログ情報に含まれる無線信号の電波に関する情報1228を統計処理して得られた統計量が記録されてもよい。
【0043】
[学習モデルの構築]
本実施形態によれば、管理サーバ160は、上記の学習用データセットを利用して、学習モデルを生成する。管理サーバ160は、学習用データセットを構成する各データポイントに含まれる陽性ラベルにより示される事項を目的変数として、学習モデルを生成する。
【0044】
管理サーバ160は、少なくとも、学習用データセットを構成する各データポイントに含まれる信号情報により示される無線信号の電波に関する各種の物理量又は当該物理量の統計値を特徴量として、学習モデルを生成してよい。管理サーバ160は、学習用データセットを構成する各データポイントに含まれる無線信号を受信したアクセスポイントの識別情報を特徴量として、学習モデルを生成してもよい。管理サーバ160は、学習用データセットを構成する各データポイントに含まれる受信時刻情報を特徴量として、学習モデルを生成してもよい。
【0045】
上記の学習モデルは、例えば、店舗等の内部に配されたアクセスポイントにより受信された無線信号に関する情報を含むデータポイントが入力され、当該無線信号を発信した通信端末のユーザが当該店舗等の内部に存在していたか否かを判定するために用いられる。上記の学習モデルは、入力されたデータポイント(サンプルと称される場合もある。)を、適切なクラスに分類するクラス分類器であってよい。
【0046】
例えば、学習モデルは、入力されたデータポイントを、店舗等の内部に存在する通信端末が発信した無線信号に関するクラスと、店舗等の内部に存在しない通信端末が発信した無線信号に関するクラスとに分類する。店舗等の内部に存在する通信端末が発信した無線信号に関するクラスは、当該無線信号を発信した通信端末のユーザが当該店舗等の内部に存在していたことを示すクラスの一例であってよい。店舗等の内部に存在しない通信端末が発信した無線信号に関するクラスは、当該無線信号を発信した通信端末のユーザが当該店舗等の内部に存在していなかったことを示すクラスの一例であってよい。
【0047】
上記の学習モデルは、当該学習モデルに入力されたデータポイントごとに、当該学習モデルの予測又は判定に対する不確実性を推定するために利用される関数の値を算出してよい。学習モデルの予測又は判定に対する不確実性を推定するために利用される関数としては、入力されたデータポイントが各クラスに属する確率(分類確率と称される場合がある)を算出するための関数、当該学習モデルの予測結果又は判定結果の不確実性を評価するための決定関数などが例示される。
【0048】
上記の学習モデルにおいては、(i)算出された分類確率又は決定関数の値と、(ii)上記の学習モデルが、通信端末のユーザが店舗等の内部に存在していたか否かを判定するための閾値(分類用の閾値と称される場合がある。)とに基づいて、上記のユーザがエリアの内部に存在していたか否かが判定される。上述のとおり、学習モデルは、当該学習モデルの予測又は判定に対する不確実性を推定するために利用される関数の値を出力する機能を有する。そして、学習モデルにおいては、分類用の閾値として、上記の関数の種類に応じた初期値が設定されている。
【0049】
本実施形態によれば、管理サーバ160は、まず、学習用データセットの一部を利用して機械学習処理を実行する。機械学習処理においては、モデルによる学習と、モデルの検証とが実施される。
【0050】
上述のとおり、本実施形態によれば、学習用データセットは、例えば、来店確認情報に基づいて生成される。この場合、学習用データセットは、「店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用したユーザの通信端末が発信した無線信号に関するデータ」に陽性ラベルが付与されたデータセットとなる。
【0051】
そのため、来店確認情報に基づいて生成された学習用データセットを利用して機械学習処理が実行された場合、入力されたデータポイントを、(i)「(a)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用したユーザの通信端末が発信した無線信号」が属するクラスと、(ii)「(b)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用しなかったユーザの通信端末が発信した無線信号」及び「(c)店舗12の内部に進入しなかったユーザの通信端末が発信した無線信号」が属するクラスとに、精度よく分類するための学習モデルが構築される。
【0052】
しかしながら、実際のビジネスにおいては多くの場合、学習済みの学習モデルは、入力されたデータポイントを、(i)店舗等の内部に存在する通信端末が発信した無線信号に関するクラスと、(ii)店舗等の内部に存在しない通信端末が発信した無線信号に関するクラスとに分類することが要求される。つまり、学習済みの学習モデルは、入力されたデータポイントを、(i)「(a)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用したユーザの通信端末が発信した無線信号」及び「(b)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用しなかったユーザの通信端末が発信した無線信号」が属するクラスと、(ii)「(c)店舗12の内部に進入しなかったユーザの通信端末が発信した無線信号」が属するクラスとに、精度よく分類することが要求される。
【0053】
来店確認情報に基づいて生成された学習用データセットを利用して機械学習処理が実行された場合、学習済みの学習モデルは、(a)及び(b)を陽性ラベルとして有するデータセットに基づいて学習された別の学習モデルを用いる場合と比較して、より多くの「(b)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用しなかったユーザの通信端末が発信した無線信号」を陰性と判定する可能性がある。そこで、学習モデルの評価を向上させるためには、学習モデルが「(b)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用しなかったユーザの通信端末が発信した無線信号」を陽性と判定する割合を増加させることが好ましい。
【0054】
しかしながら、学習モデルが「(b)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用しなかったユーザの通信端末が発信した無線信号」を陽性と判定する割合を増加させると、学習モデルが「(c)店舗12の内部に進入しなかったユーザの通信端末が発信した無線信号」を陽性と判定する割合も増加する可能性がある。そこで、学習モデルが「(c)店舗12の内部に進入しなかったユーザの通信端末が発信した無線信号」を陽性と判定する割合の増加を抑制しつつ、学習モデルが「(b)店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用しなかったユーザの通信端末が発信した無線信号」を陽性と判定する割合を増加させることが好ましい。
【0055】
そこで、管理サーバ160は、次に、上記の機械学習処理において利用されなかった学習用データセットを利用して、分類用の閾値を調整する。例えば、管理サーバ160は、分類用の閾値として、学習モデルに応じた初期値が利用された場合と比較して、学習モデルの判定結果の真陽性率が大きくなるように、分類用の閾値を調整する。管理サーバ160は、分類用の閾値として初期値が利用された場合と比較して、学習モデルの判定結果の偽陽性率が小さくなるように、分類用の閾値を調整してもよい。
【0056】
本実施形態によれば、管理サーバ160は、実際の判定処理において、学習済みの学習モデル及び調整後の閾値を利用して、学習及び検証に利用されていない新たなデータポイント(判定対象データと称される場合がある。)を、(i)店舗等の内部に存在する通信端末が発信した無線信号に関するクラスと、(ii)店舗等の内部に存在しない通信端末が発信した無線信号に関するクラスとに分類する。一実施形態によれば、分類用の閾値として調整後の閾値が利用された場合、分類用の閾値として学習モデルに応じた初期値が利用された場合と比較して、学習モデルの判定結果の真陽性率が大きくなる。他の実施形態によれば、分類用の閾値として調整後の閾値が利用された場合、分類用の閾値として学習モデルに応じた初期値が利用された場合と比較して、学習モデルの判定結果の真陽性率が大きくなり、且つ、学習モデルの判定結果の偽陽性率が小さくなる。
【0057】
店舗12、店舗14などの店舗等は、エリアの一例であってよい。データ解析システム100は、機械学習装置及び判定装置の一例であってよい。通信端末102、通信端末104などの通信端末は、無線端末の一例であってよい。アクセスポイント122、アクセスポイント124などのアクセスポイントは、レコード取得部、無線受信装置及び中継装置の一例であってよい。管理サーバ160は、機械学習装置及び判定装置の一例であってよい。管理サーバ160は、レコード取得部、行動履歴取得部、及び、ラベル付与部の一例であってもよい。
【0058】
1以上のログ情報のそれぞれは、レコードの一例であってよい。1以上の来店確認情報のそれぞれは、行動履歴情報の一例であってよい。1以上の入力データのそれぞれは、集約レコードの一例であってよい。分類用の閾値は、基準値の一例であってよい。調整後の閾値は、第2の値の一例であってよい。
【0059】
本実施形態によれば、管理サーバ160は、上記の手順に従って構築された学習済みの学習モデルを利用して、実際の判定処理を実行する。上述されたとおり、本実施形態によれば、学習モデルが、来店確認情報に基づいて生成された学習用データセットを利用して構築される。これにより、多くの場合において十分な判定精度が得られる。さらに、本実施形態によれば、判定処理に先だって、分類用の閾値が調整される。そして、学習モデルが、調整された分類用の閾値を利用して、入力されたデータポイントを分類する。これにより、判定精度がさらに向上する。
【0060】
一般的に、教師あり機械学習においては、如何にして大量の教師データを収集するかが問題となる。特に、機械学習を利用して、通信端末の無線信号に関する情報に基づいて、当該通信端末が特定のエリア内に存在するか否かを判定する場合、そもそも、大量の教師データを収集することが難しい。そこで、発明者らは、例えば、アクセスポイント122及び来店確認機器142設置された店舗12に来店した顧客の通信端末が発信した無線信号に着目し、当該無線信号に関するログ情報を教師データとして利用することを想到した。しかしながら、この場合であっても、顧客が、店舗12の内部には進入したものの、来店確認機器142により提供されるサービスを利用しなかった場合には、当該顧客のデータを教師データとして利用することができない可能性もある。
【0061】
この点に関し、本実施形態においては、例えば、「店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用した顧客の通信端末が発信した無線信号」を陽性ラベルとする学習用データセットを教師データとして学習モデルが構築された後、分類用の閾値が調整される。これにより、(i)「店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用した顧客の通信端末が発信した無線信号」を陽性ラベルとする学習用データセットを、(ii)「店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用した顧客の通信端末が発信した無線信号」及び「店舗12の内部に進入し、来店確認機器142により提供されるサービスを利用しなかった顧客の通信端末が発信した無線信号」を陽性ラベルとする学習用データセットの代わりに利用することができる。
【0062】
[データ解析システム100の各部の概要]
本実施形態において、通信ネットワーク10は、通信端末108、アクセスポイント122、アクセスポイント124、来店確認機器142及び来店確認機器144の少なくとも1つと、管理サーバ160との間で、情報を伝達する。通信ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。
【0063】
通信ネットワーク10は、無線通信網、インターネット、P2Pネットワーク、専用回線、VPN、電力線通信回線などを含んでもよい。無線通信網における通信方式は、(i)3G方式、LTE方式、4G方式などの移動体通信方式であってもよく、(ii)Bluetooth(登録商標)、Zigbee(登録商標)、NFC(Near Field Communication)のような近距離無線方式、WiFi(登録商標)のような無線LAN方式、WiMAX(登録商標)のような無線MAN方式、無線WAN方式などの無線データ通信方式であってもよい。
【0064】
本実施形態において、通信端末102及び通信端末104のそれぞれは、無線通信機能を有し、無線信号を発信する。無線通信の通信方式は、移動体通信方式であってもよく、無線データ通信方式であってもよい。通信端末102は、例えば、アクセスポイント122及び通信ネットワーク10を介して、他の通信機器との間で情報を送受する。通信端末104は、例えば、アクセスポイント124及び通信ネットワーク10を介して、他の通信機器との間で情報を送受する。
【0065】
通信端末102及び通信端末104のそれぞれの詳細は、特に限定されない。通信端末102及び通信端末104のそれぞれとしては、パーソナルコンピュータ、携帯端末などが例示される。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどが例示される。通信端末102及び通信端末104のそれぞれは、携帯端末であってよい。
【0066】
本実施形態において、通信端末108は、通信ネットワーク10を介して、管理サーバ160との間で情報を送受する。通信端末108は、管理サーバ160に対して、各種の要求を送信してよい。通信端末108は、管理サーバ160から、上記の要求に対する応答を取得してよい。例えば、通信端末108は、店舗12又は店舗14に来店した顧客の人数を推定するための処理を実行することを要求する。
【0067】
通信端末108の詳細は、特に限定されない。通信端末108としては、パーソナルコンピュータ、携帯端末などが例示される。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどが例示される。
【0068】
本実施形態において、アクセスポイント122は、無線LAN方式により、通信端末102の通信を中継する。例えば、アクセスポイント122は、通信端末102と、通信ネットワーク10との間で情報を伝達させる。アクセスポイント122及び通信端末102の間では、通信が確立する前の段階であっても、各種の信号がやり取りされる。例えば、アクセスポイント122及び通信端末102の接続が完了して、通信端末102が他の情報処理装置との間で通信を開始する前に、アクセスポイント122及び通信端末102の間では、プローブ要求に関連する処理、認証処理、アソシエーション処理などが実行される。
【0069】
本実施形態において、アクセスポイント122は、通信端末102が出力した無線信号を受信する。アクセスポイント122は、アクセスポイント122に到達した無線信号の電波強度が予め定められた値と等しい又は当該値よりも大きい場合に、当該無線信号が受信されたと判断してよい。アクセスポイント122は、受信された無線信号を解析して、通信端末102を識別するための識別情報(端末IDと称される場合がある。)を取得する。
【0070】
上記の無線信号は、通信が確立した後で受信される信号であってもよく、通信が確立する前に受信される信号であってもよい。通信が確立する前に受信される信号としては、プローブ要求、認証要求、アソシエーション要求などが例示される。通信が確立した後で受信される信号は、ディアソシエーション要求、又は、ディタッチ要求(切り離し要求と称される場合もある。)であってもよい。これらの信号に含まれる通信端末102の識別情報としては、MACアドレスが例示される。
【0071】
通信端末102の端末IDは、端末識別情報の一例であってよい。通信端末102のMACアドレスは、端末識別情報の一例であってよい。
【0072】
アクセスポイント122は、例えば、無線信号を発信した通信端末102の端末IDと、当該無線信号が受信された時刻を示す時刻情報と、当該無線信号の電波に関する情報とが対応付けられたログ情報を、管理サーバ160に送信する。ログ情報は、アクセスポイント122の識別情報と、無線信号を発信した通信端末102の端末IDと、当該無線信号が受信された時刻を示す情報と、当該無線信号の電波に関する情報とが対応付けられた情報であってもよい。アクセスポイント122の識別情報としては、SSID、MACアドレス、IPアドレスなどが例示される。
【0073】
本実施形態において、アクセスポイント124は、無線LAN方式により、通信端末104の通信を中継する。例えば、アクセスポイント124は、通信端末104と、通信ネットワーク10との間で情報を伝達させる。アクセスポイント124及び通信端末104の間では、通信が確立する前の段階であっても、各種の信号がやり取りされる。例えば、アクセスポイント124及び通信端末104の接続が完了して、通信端末104が他の情報処理装置との間で通信を開始する前に、アクセスポイント124及び通信端末104の間では、プローブ要求に関連する処理、認証処理、アソシエーション処理などが実行される。
【0074】
本実施形態において、アクセスポイント124は、通信端末104が出力した無線信号を受信する。アクセスポイント124は、アクセスポイント124に到達した無線信号の電波強度が予め定められた値と等しい又は当該値よりも大きい場合に、当該無線信号が受信されたと判断してよい。アクセスポイント124は、受信された無線信号を解析して、通信端末104を識別するための識別情報(端末IDと称される場合がある。)を取得する。
【0075】
上記の無線信号は、通信が確立した後で受信される信号であってもよく、通信が確立する前に受信される信号であってもよい。通信が確立する前に受信される信号としては、プローブ要求、認証要求、アソシエーション要求などが例示される。通信が確立した後で受信される信号は、ディアソシエーション要求、又は、ディタッチ要求(切り離し要求と称される場合もある。)であってもよい。これらの信号に含まれる通信端末104の識別情報としては、MACアドレスが例示される。
【0076】
通信端末104の端末IDは、端末識別情報の一例であってよい。通信端末104のMACアドレスは、端末識別情報の一例であってよい。
【0077】
アクセスポイント124は、例えば、無線信号を発信した通信端末104の端末IDと、当該無線信号が受信された時刻を示す情報と、当該無線信号の電波に関する情報とが対応付けられたログ情報を、管理サーバ160に送信する。ログ情報は、アクセスポイント124の識別情報と、無線信号を発信した通信端末104の端末IDと、当該無線信号が受信された時刻を示す情報と、当該無線信号の電波に関する情報とが対応付けられた情報であってもよい。アクセスポイント124の識別情報としては、SSID、MACアドレス、IPアドレスなどが例示される。
【0078】
本実施形態において、来店確認機器142は、店舗12の内部におけるユーザ22の行動を検出し、通信端末102のユーザ22が店舗12の内部に存在したことを示す来店確認情報を生成する。来店確認機器142は、生成された来店確認情報を管理サーバ160に送信する。来店確認情報は、上記の行動に関与したユーザ22を識別するための識別情報(ユーザIDと称される場合がある。)と、当該行動がなされた時刻を示す情報とが対応付けられた情報であってよい。来店確認情報は、上記の行動に関与したユーザ22のユーザIDと、当該行動がなされた時刻を示す情報と、当該行動がなされた場所の位置を示す情報とが対応付けられた情報であってもよい。ユーザIDは、個人の特定につながらないデータであることが好ましい。
【0079】
来店確認機器142は、近距離無線通信又は有線通信により、通信端末102との間で通信を確立し、通信端末102の端末IDを取得してもよい。この場合、来店確認情報は、通信端末102の端末IDと、当該端末IDが取得された時刻を示す情報と、店舗12の位置を示す情報とが対応付けられた情報であってよい。店舗12の位置を示す情報は、店舗12の名称、店舗12の住所、店舗12の位置座標などが例示される。来店確認情報は、通信端末102の端末IDと、当該端末IDが取得された時刻を示す情報とが対応付けられた情報であってよい。
【0080】
店舗12の内部におけるユーザ22の行動としては、(i)店舗12の内部で商品を購入する行為、(ii)店舗12の内部で提供されるサービスを利用する行為、(iii)店舗12の内部で、生体認証システムを利用する行為、(iv)店舗12の内部で、近距離無線通信又は有線通信による通信端末102及び来店確認機器142の通信を確立する行為、(v)入退場管理システムを利用して店舗12の内部に進入する行為などが例示される。店舗12の内部で提供されるサービスは、会員制サービスであってもよい。会員制サービスとしては、クレジットカードサービス、ポイントカードサービス、ポイントサービス、ポイントプログラム、ロイヤリティプログラム、マイレージサービス、マイレージプログラムなどを例示することができる。入退場管理システムは、ユーザ22の生体情報、ユーザ22に貸与されたIDカードに格納されたユーザID、及び、通信端末102の端末IDの少なくとも1つを利用して、ユーザ22の進入及び退出の少なくとも一方を管理してよい。
【0081】
来店確認機器142は、ユーザ22のユーザID又は通信端末102の端末IDと、時刻を示す情報とが入力される機器であれば、その詳細は特に限定されない。また、ユーザIDの種類も、特に限定されない。来店確認機器142としては、店舗12の店頭で提供されるサービスを利用した顧客の氏名又は識別情報が入力されるシステム、POSシステム、会員制サービスの会員番号を取得するシステム、入退場管理システム、生体認証システムなどが例示される。店舗12の店頭で提供されるサービスを利用した顧客の氏名又は識別情報が入力されるシステムは、店舗12のスタッフが、上記の氏名又は識別情報を入力するシステムであってもよい。各システムに入力される情報又は各システムが取得する情報は、ユーザIDの一例であってよい。各システムに入力される情報又は各システムが取得する情報の種類は、ユーザIDの種類の一例であってよい。
【0082】
本実施形態において、来店確認機器144は、店舗14の内部におけるユーザ24の行動を検出し、通信端末104のユーザ24が店舗14の内部に存在したことを示す来店確認情報を生成する。来店確認機器144は、生成された来店確認情報を管理サーバ160に送信する。来店確認情報は、上記の行動に関与したユーザ24を識別するための識別情報(ユーザIDと称される場合がある。)と、当該行動がなされた時刻を示す情報とが対応付けられた情報であってよい。来店確認情報は、上記の行動に関与したユーザ24のユーザIDと、当該行動がなされた時刻を示す情報と、当該行動がなされた場所の位置を示す情報とが対応付けられた情報であってもよい。ユーザIDは、個人の特定につながらないデータ、又は、個人の特定が困難なデータであることが好ましい。
【0083】
来店確認機器144は、近距離無線通信又は有線通信により、通信端末104との間で通信を確立し、通信端末104の端末IDを取得してもよい。この場合、来店確認情報は、通信端末104の端末IDと、当該端末IDが取得された時刻を示す情報と、店舗14の位置を示す情報とが対応付けられた情報であってよい。店舗14の位置を示す情報は、店舗14の名称、店舗14の住所、店舗14の位置座標などが例示される。来店確認情報は、通信端末104の端末IDと、当該端末IDが取得された時刻を示す情報とが対応付けられた情報であってよい。
【0084】
店舗14の内部におけるユーザ24の行動としては、(i)店舗14の内部で商品を購入する行為、(ii)店舗14の内部で提供されるサービスを利用する行為、(iii)店舗14の内部で、生体認証システムを利用する行為、(iv)店舗14の内部で、近距離無線通信又は有線通信による通信端末104及び来店確認機器144の通信を確立する行為、(v)入退場管理システムを利用して店舗14の内部に進入する行為などが例示される。店舗14の内部で提供されるサービスは、会員制サービスであってもよい。会員制サービスとしては、クレジットカードサービス、ポイントカードサービス、ポイントサービス、ポイントプログラム、ロイヤリティプログラム、マイレージサービス、マイレージプログラムなどを例示することができる。入退場管理システムは、ユーザ24の生体情報、ユーザ24に貸与されたIDカードに格納されたユーザID、及び、通信端末104の端末IDの少なくとも1つを利用して、ユーザ24の進入及び退出の少なくとも一方を管理してよい。
【0085】
来店確認機器144は、ユーザ24のユーザID又は通信端末104の端末IDと、時刻を示す情報とが入力される機器であれば、その詳細は特に限定されない。来店確認機器144としては、店舗14の店頭で提供されるサービスを利用した顧客の氏名又は識別情報が入力されるシステム、POSシステム、会員制サービスの会員番号を取得するシステム、入退場管理システム、生体認証システムなどが例示される。店舗14の店頭で提供されるサービスを利用した顧客の氏名又は識別情報が入力されるシステムは、店舗14のスタッフが、上記の氏名又は識別情報を入力するシステムであってもよい。
【0086】
本実施形態において、管理サーバ160は、データ解析システム100における情報処理を管理する。管理サーバ160は、ログ情報を管理してよい。管理サーバ160は、例えば、アクセスポイント122及びアクセスポイント124の少なくとも一方から、1以上のログ情報を取得する。管理サーバ160は、取得されたログ情報をデータベースに格納する。管理サーバ160は、来店確認情報を管理してよい。管理サーバ160は、例えば、来店確認機器142及び来店確認機器144の少なくとも一方から、1以上の来店確認情報を取得する。管理サーバ160は、取得された来店確認情報をデータベースに格納する。
【0087】
本実施形態において、管理サーバ160は、収集されたログ情報を解析して、各ログ情報に関連する無線信号を発信した通信端末のユーザが、当該無線信号を発信したアクセスポイントの配された店舗等の内部に存在した否かを判定する。より具体的には、管理サーバ160は、上記の判定処理に用いられる学習モデルを生成してよい。上記の学習モデルには、ログ情報、又は、ログ情報が予め定められたアルゴリズムに基づいて処理されて得られたデータが入力される。上記の学習モデルは、上記のログ情報に関連する無線信号を発信した通信端末のユーザが、当該無線信号を発信したアクセスポイントの配された店舗等の内部に存在した否かに関する判定結果を出力する。管理サーバ160は、分類用の閾値を調整してよい。管理サーバ160は、上記の学習モデルと、調整された閾値とを用いて、上記の判定処理を実行してよい。
【0088】
本実施形態において、管理サーバ160は、通信端末108から、各種の要求を取得する。管理サーバ160は、上記の要求に応じた処理を実行し、当該処理の実行結果を上記の要求に対する応答として通信端末108に送信する。例えば、管理サーバ160は、通信端末108からの要求に応じて、店舗12又は店舗14に来店した顧客の人数を推定するための処理を実行する。管理サーバ160は、通信端末108からの要求に応じて、店舗12又は店舗14の外を通行する通行人の人数を推定するための処理を実行してもよい。管理サーバ160の詳細は、後述される。
【0089】
なお、本実施形態においては、管理サーバ160が、(i)特定の行動に関与した1以上のユーザのそれぞれを識別するためのユーザ識別情報、及び、(ii)特定の行動がなされた時刻を示す行動時刻情報が対応付けられた行動履歴情報として、来店確認情報を利用する場合を例として、管理サーバ160の詳細が説明される。しかしながら、行動履歴情報は本実施形態に限定されない。
【0090】
行動履歴情報としては、商品の購買履歴、サービスの利用履歴などが例示される。商品の購買履歴又はサービスの利用履歴としては、クレジットカードの利用履歴、POS情報に基づく購買履歴、特定の施設の入退場履歴、会員登録したユーザに特典を付与するサービスの利用履歴などが例示される。会員登録したユーザに特典を付与するサービスとしては、ポイントカードサービス、ポイントサービス、ポイントプログラム、ロイヤリティプログラム、マイレージサービス、マイレージプログラムなどが例示される。会員登録したユーザに特典を付与するサービスは、鉄道会社、航空会社、高速道路運営会社、企業、企業グループなどにより提供されてよい。
【0091】
クレジットカードの利用履歴は、例えば、クレジットカード番号と、クレジットカードを利用した店舗と、クレジットカードを利用した時間とが対応付けられた情報を含む。会員登録したユーザに特典を付与するサービスの利用履歴は、例えば、会員IDと、商品を購入又はサービスを利用した店舗と、サービスを利用した時間とが対応付けられた情報を含む。クレジットカード番号、会員IDなどは、更に匿名化された識別記号に置換されていてもよい。
【0092】
行動履歴情報の他の例としては、RTB(Real Time Bidding)サービスのような広告入札サービスにおける、ビッドリクエスト(入札リクエストと称される場合がある。)が例示される。例えば、ユーザが広告枠を有するWebページにアクセスすると、AdExchangeを介して、SSP(Supply Side Platform)からDSP(Demand Side Platform)にビッドリクエストが発行される。
【0093】
ビッドリクエストには、広告枠を有するWebページを閲覧しているユーザを識別するユーザIDが含まれる。ユーザIDは、例えば、クッキー(Cookie)である。ユーザが、携帯端末上で動作するウェブブラウザを介して、上記Webページを閲覧している場合のように、ビッドリクエストに、緯度、経度などの位置情報が含まれる場合がある。また、AdExchangeからDSPに送信されたビッドリクエストには、100msec程度の入札期限が設定されており、ほぼリアルタイムに広告枠が売買される。したがって、ビッドリクエストと、ビッドリクエストが発行若しくは受信された時間又はビッドリクエストの入札期限とを対応づけて格納することで、1以上のビッドリクエストを行動履歴情報として利用することができる。
【0094】
行動履歴情報の他の例としては、画像又は映像が撮影された位置及び時間に関する情報が付与された画像データ又は映像データであってよい。本実施形態において、まず、被写体認識アルゴリズムを用いて、画像データ又は映像データから被写体の特徴を抽出する。抽出された被写体の特徴により、被写体を識別することができる。次に、被写体の特徴と、画像又は映像が撮影された位置及び時間に関する情報とを対応付けることで、画像データ又は映像データを行動履歴情報として利用することができる。
【0095】
行動履歴情報の他の例としては、位置情報を含むSNS(Social Networking Service)上の情報であってもよい。行動履歴情報は、上記の位置情報を含む情報と、当該情報がSNS上にアップロードされた時刻を示す情報とが対応付けられた情報であってもよい。位置情報を含むSNS上の情報としては、Geoタグが付与されたTweet、Facebook(登録商標)のチェックイン情報、画像又は映像が撮影された位置及び時間に関する情報が付与された画像データ又は映像データなどが例示される。例えば、Goeタグが付与されたTweetは、Twitter(登録商標)のアカウントと、当該Tweetが発信された位置情報と、当該Tweetが発信された時間とが対応付けられた情報を含む。
【0096】
なお、本実施形態においては、無線受信装置がアクセスポイントであり、予め定められた地理的範囲を有するエリアが、当該アクセスポイントの設置された店舗である場合を例として、管理サーバ160の詳細が説明された。しかしながら、管理サーバ160は本実施形態に限定されない。他の実施形態において、無線受信装置は、移動体通信網の一部を構成する基地局であってもよい。この場合、予め定められた地理的範囲を有するエリアは、各基地局のセルであってよい。
【0097】
また、本実施形態においては、通信端末108が、店舗12又は店舗14に来店した顧客の人数を推定するための処理を実行することを要求する場合を例として、データ解析システム100の詳細が説明された。しかしながら、データ解析システム100は本実施形態に限定されない。他の実施形態において、通信端末108は、店舗12又は店舗14の外を通行する通行人の人数を推定するための処理を実行することを要求してもよい。
【0098】
[データ解析システム100の各部の具体的な構成]
データ解析システム100の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。データ解析システム100の構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したプログラムを起動することにより実現されてよい。
【0099】
プログラムは、CD-ROM、DVD-ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、データ解析システム100の少なくとも一部を構成するコンピュータにインストールされてよい。プログラムが実行されることにより、コンピュータが、データ解析システム100の各部の少なくとも一部として機能してもよい。
【0100】
コンピュータをデータ解析システム100の各部の少なくとも一部として機能させるプログラムは、データ解析システム100の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、データ処理装置、入力装置、出力装置、記憶装置等に働きかけて、コンピュータをデータ解析システム100の各部として機能させたり、コンピュータにデータ解析システム100の各部における情報処理方法を実行させたりする。
【0101】
プログラムに記述された情報処理は、当該プログラムがコンピュータに読込まれることにより、当該プログラムに関連するソフトウエアと、データ解析システム100の各種のハードウエア資源とが協働した具体的手段として機能する。そして、上記の具体的手段が、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、当該使用目的に応じたデータ解析システム100が構築される。
【0102】
図2は、管理サーバ160の内部構成の一例を概略的に示す。本実施形態において、管理サーバ160は、入出力制御部220と、情報収集部230と、解析部240と、来店人数推定部270とを備える。本実施形態において、解析部240は、格納部242と、入力データ生成部244と、モデル構築部250と、判定部260とを有する。本実施形態において、モデル構築部250は、データセット生成部252と、学習部254と、閾値調整部256とを含む。本実施形態において、管理サーバ160の各部は、互いに情報を送受してよい。
【0103】
情報収集部230は、レコード取得部、行動履歴取得部及び対応関係取得部の一例であってよい。入力データ生成部244は、レコード取得部、判定対象取得部及び集約部の一例であってよい。データセット生成部252は、レコード取得部、行動履歴取得部、対応関係取得部、ラベル付与部及び判定対象取得部の一例であってよい。学習部254は、モデル生成部の一例であってよい。閾値調整部256は、調整部の一例であってよい。判定部260は、判定部の一例であってよい。
【0104】
本実施形態において、入出力制御部220は、管理サーバ160における情報の入出力を制御する。例えば、入出力制御部220は、管理サーバ160の入力機器、出力機器及び通信機器(図示されていない。)の少なくとも1つを制御する。
【0105】
本実施形態において、情報収集部230は、各種の情報を収集し、収集された情報を格納部242に格納する。一実施形態において、情報収集部230は、アクセスポイント122及びアクセスポイント124の少なくとも一方から、1以上のログ情報を取得する。他の実施形態において、情報収集部230は、来店確認機器142及び来店確認機器144の少なくとも一方から、1以上の来店確認情報を取得する。
【0106】
さらに他の実施形態において、情報収集部230は、1以上のユーザIDのそれぞれと、当該ユーザIDにより識別されるユーザが利用する通信端末の端末IDとの対応関係を示す対応関係情報を取得する。一実施形態において、情報収集部230は、外部の情報処理装置から、対応関係情報を取得する。他の実施形態において、情報収集部230は、1以上のログ情報と、1以上の来店確認情報とに基づいて、対応関係情報を生成する。
【0107】
本実施形態において、解析部240は、情報収集部230が収集した1以上のログ情報及び1以上の来客確認情報の少なくとも一部を解析する。解析部240は、各ログ情報に関連する無線信号を発信した通信端末のユーザが、当該無線信号を発信したアクセスポイントの配された店舗等の内部に存在した否かを判定する。解析部240は、は、ログ情報又は予め定められたアルゴリズムに基づいてログ情報が処理されて得られたデータが入力され、当該ログ情報に関連する無線信号を発信した通信端末のユーザが、当該無線信号を発信したアクセスポイントの配された店舗等の内部に存在した否かを判定するための学習モデルを生成してよい。解析部240は、上記の学習モデルが、上記のユーザが店舗等の内部に存在したか否かを判定するための基準値を調整してよい。
【0108】
本実施形態において、格納部242は、管理サーバ160における情報処理において使用される各種の情報を格納する。格納部242は、管理サーバ160における情報処理において生成された各種の情報を格納する。格納部242の詳細は後述される。
【0109】
本実施形態において、入力データ生成部244は、学習部254における学習モデルの学習処理、又は、判定部260における判定処理において、学習モデルに入力される入力データを生成する。本実施形態において、入力データ生成部244は、情報収集部230が取得した複数のログ情報を、当該複数のログ情報のそれぞれに含まれる端末ID及び時刻情報に基づいて、端末識IDごと、且つ、予め定められた条件を満足する期間ごとに集約することで、1以上の入力データを生成する。
【0110】
1以上の入力データのそれぞれは、(i)複数の無線信号のそれぞれを発信した通信端末を識別するための端末ID、(ii)入力データ生成部244による集約処理の対象となった期間を示す集約期間情報、(iii)複数の無線信号のうち、端末IDにより識別される通信端末が、集約期間情報により示される期間の間に発信した1以上の無線信号に関する1以上の特徴量を示す特徴情報が対応付けられた情報であってよい。1以上の入力データのそれぞれは、集約レコードの一例であってよい。
【0111】
1以上の特徴量の種類としては、単位期間中の電波強度、単位期間中の滞在期間の長さ、滞在期間中の訪問回数、滞在期間中における電波強度、店舗の属性などが例示される。1以上の特徴量の種類の他の例としては、周波数帯ごとの単位期間中の電波強度、周波数帯ごとの単位期間中の滞在期間の長さ、周波数帯ごとの滞在期間中の訪問回数、周波数帯ごとの滞在期間中における電波強度などが例示される。1以上の特徴量の種類の他の例としては、接続段階ごとの単位期間中の電波強度、接続段階ごとの単位期間中の滞在期間、接続段階ごとの滞在期間内の訪問回数、接続段階ごとの滞在期間中における電波強度などが例示される。
【0112】
滞在期間は、特定の店舗等に配されたアクセスポイントにおいて、予め定められた長さを有する単位期間中に、特定の通信端末からの無線信号であって、電波強度が予め定められた強度よりも大きな無線信号が、最初に検出された時刻と最後に検出された時刻との間の期間であってよい。滞在期間中の訪問回数は、特定の滞在期間中において、上記の特定の通信端末からの無線信号であって、電波強度が予め定められた強度よりも大きな無線信号の検出が継続している期間(継続期間と称される場合がある。)が出現した回数であってよい。
【0113】
店舗の属性としては、店舗の出店地区、店舗の出店形態、店舗の立地条件、店舗の構造、及び、これらの組み合わせなどが例示される。店舗の出店地区としては、都心、郊外、駅前、ロードサイド、観光地などが例示される。店舗の出店形態としては、商店街、店舗内店舗、単独店舗などが例示される。店舗の立地条件としては、路面店、空中店舗、地下店舗などが例示される。
【0114】
少なくとも1つの特徴量の値は、単一の入力データに集約された複数のログ情報のそれぞれに含まれる信号情報により示される量の統計値であってもよい。統計値としては、最大値、最小値、平均値、中央値などが例示される。上記の統計値は、単位期間における統計値であってもよく、滞在期間における統計値であってもよい。上記の統計値は、継続期間における統計値であってもよい。
【0115】
本実施形態において、入力データ生成部244が生成した入力データの一部は、学習部254における機械学習の訓練データ、検証データ及びテストデータの少なくとも1つとして利用される学習用データセットとなり、入力データ生成部244が生成した入力データのうち、学習用データセットとして利用されなかったデータは、判定部260における判定処理の対象となる判定対象データとなる。より具体的には、データセット生成部252における情報処理によりラベルが付与された入力データは、学習用データセットとなり、データセット生成部252における情報処理によりラベルが付与されなかった入力データは、判定対象データとなる。
【0116】
本実施形態において、モデル構築部250は、学習モデルを生成する。上記の学習モデルは、予め定められた地理的範囲を有するエリアの内部に配された無線受信装置により受信された無線信号に関する情報を含むデータポイントが入力され、無線信号を発信した無線端末のユーザがエリアの内部に存在していたか否かを判定する。上記の学習モデルは、当該学習モデルに入力されたデータポイントごとに、当該学習モデルの予測又は判定に対する不確実性を推定するために利用される関数の値を算出してよい。上記の学習モデルは、算出された関数の値と、分類用の閾値とに基づいて、ユーザがエリアの内部に存在していたか否かを判定してよい。
【0117】
本実施形態において、モデル構築部250は、上記の学習モデルの機械学習に用いられる学習用データセットを生成する。本実施形態において、モデル構築部250は、分類用の閾値を調整する。モデル構築部250は、上記の調整の結果、学習済みの学習モデルが、判定部260における判定処理において利用する新たな分類用の閾値を決定する。
【0118】
本実施形態において、データセット生成部252は、学習部254における機械学習に用いられる学習用データセットを生成する。データセット生成部252は、例えば、情報収集部230が取得したログ情報、及び、入力データ生成部244が生成した入力データの少なくとも一方を利用して、学習用データセットを生成する。
【0119】
一実施形態において、データセット生成部252は、情報収集部230が取得したログ情報の一部に、陽性又は陰性を示すラベルを付与することで、学習用データセットを生成する。データセット生成部252は、生成された学習用データセットを、格納部242に格納してよい。
【0120】
例えば、データセット生成部252は、収集された1以上の来店確認情報と、収集された1以上のログ情報とを照合して、(i)特定のユーザに関する来店確認情報と、(ii)当該ユーザが利用する通信端末に関するログ情報であって、当該ログ情報により示される受信時刻、及び、上記の来店確認情報により示される来店時刻の差が、予め定められた値と等しい又は当該値よりも小さいログ情報と、を関連付ける。データ解析システム100は、例えば、来店確認情報に関連付けられたログ情報に陽性ラベルを付与することで、学習用データセットを生成する。
【0121】
他の実施形態において、データセット生成部252は、入力データ生成部244が生成した入力データの一部に、陽性又は陰性を示すラベルを付与することで、学習用データセットを生成する。データセット生成部252は、生成された学習用データセットを、格納部242に格納してよい。
【0122】
例えば、データセット生成部252は、収集された1以上の来店確認情報と、1以上の入力データとを照合して、(i)特定のユーザに関する来店確認情報と、(ii)当該ユーザが利用する通信端末に関する入力データであって、当該入力データにより示される受信時刻、及び、上記の来店確認情報により示される来店時刻の差が、予め定められた値と等しい又は当該値よりも小さい入力データと、を関連付ける。データセット生成部252は、例えば、来店確認情報に関連付けられた入力データに陽性ラベルを付与することで、学習用データセットを生成する。
【0123】
データセット生成部252は、判定部260における判定処理の対象となる判定対象データを生成してもよい。判定対象データは、1以上のアクセスポイントの少なくとも1つにより受信された複数の無線信号に関する情報を含んでいればよい。
【0124】
一実施形態において、データセット生成部252は、情報収集部230が取得したログ情報のうち、ラベルが付与されなかったログ情報を、判定対象データとして出力する。他の実施形態において、データセット生成部252は、入力データ生成部244が生成した入力データのうち、ラベルが付与されなかった入力データを、判定対象データとして出力する。データセット生成部252は、生成された判定対象データを、格納部242に格納してよい。
【0125】
[学習用データセットの生成方法の具体例1-1]
本実施形態において、データセット生成部252は、格納部242にアクセスして、複数のログ情報を取得する。複数のログ情報のそれぞれにおいて、(i)複数の無線信号のそれぞれを発信した通信端末を識別するための端末識別情報と、(ii)複数の無線信号のそれぞれが受信された時刻を示す受信時刻情報と、(iii)複数の無線信号のそれぞれの電波に関する信号情報とが対応付けられていてよい。
【0126】
データセット生成部252は、格納部242にアクセスして、複数の来店確認情報を取得する。複数の来店確認情報のそれぞれにおいて、(i)特定の行動に関与した1以上のユーザのそれぞれを識別するためのユーザ識別情報と、(ii)特定の行動がなされた時刻を示す行動時刻情報とが対応付けられていてよい。より具体的には、複数の来店確認情報のそれぞれは、ユーザのユーザ識別情報と、ユーザの来店時刻を示す情報(来店時刻情報と称される場合がある。)とが対応付けられた情報であってよい。来店時刻情報は、行動時刻情報の一例であってよい。
【0127】
データセット生成部252は、(i)複数のログ情報のそれぞれに含まれる端末識別情報及び受信時刻情報、並びに、(ii)複数の来店確認情報のそれぞれに含まれるユーザ識別情報及び来店時刻情報に基づいて、複数のログ情報及び複数の来店確認情報を照合し、複数のログ情報のうち少なくとも一部のログ情報のそれぞれに含まれる端末識別情報と、当該少なくとも一部のログ情報のそれぞれに含まれる信号情報により示される電波に関する情報と、陽性ラベルとを対応付けることで、学習用データセットを生成する。これにより、複数のログ情報の少なくとも一部に陽性ラベルの付与された学習用データセットが生成される。
【0128】
より具体的には、データセット生成部252は、まず、特定のログ情報に含まれる端末識別情報及び受信時刻情報を照合用のキーとして用いて、複数の来店確認情報の中から、(i)当該来店確認情報に含まれるユーザ識別情報により示されるユーザが、当該特定のログ情報に含まれる端末識別情報により示される通信端末のユーザに合致し、且つ、(ii)当該来店確認情報に含まれる来店時刻情報により示される時刻が、当該特定のログ情報に含まれる受信時刻情報により示される時刻に合致する来店確認情報を抽出する。
【0129】
次に、データセット生成部252は、抽出された来店確認情報と、上記の特定のログ情報とを関連付ける。次に、データセット生成部252は、例えば、来店確認情報に関連付けられたログ情報に陽性ラベルを付与することで、学習用データセットを生成する。データセット生成部252は、複数のログ情報のそれぞれについて、上記の処理を実行してよい。特定のログ情報は、少なくとも一部のレコードの一例であってよい。
【0130】
一実施形態において、複数の来店確認情報の少なくとも一部に含まれるユーザ識別情報が、当該ユーザ識別情報により識別されるユーザが利用する通信端末の端末識別情報である場合、データセット生成部252は、特定の端末識別情報を含む来店確認情報と、(ii)当該特定の端末識別情報を含むログ情報であって、当該ログ情報に含まれる受信時刻情報により示される受信時刻と、上記の来店確認情報に含まれる来店時刻情報により示される来店時刻の差が予め定められた値と等しい又は当該値よりも小さいログ情報とを関連付ける。データセット生成部252は、例えば、来店確認情報に関連付けられたログ情報に、陽性ラベルを付与することで、学習用データセットを生成する。
【0131】
他の実施形態において、複数の来店確認情報の少なくとも一部に含まれるユーザ識別情報が、当該ユーザ識別情報により識別されるユーザが利用する通信端末の端末識別情報でない場合、データセット生成部252は、格納部242にアクセスして、当該ユーザ識別情報に関する対応関係情報を取得する。対応関係情報は、ユーザ識別情報と、当該ユーザ識別情報により識別されるユーザが利用する通信端末の端末識別情報との対応関係を示す情報であってよい。
【0132】
データセット生成部252は、対応関係情報を参照して、(i)複数のログ情報のそれぞれに含まれる端末識別情報及び受信時刻情報、並びに、(ii)複数の来店確認情報のそれぞれに含まれるユーザ識別情報及び来店時刻情報に基づいて、複数のログ情報及び複数の来店確認情報を照合し、複数のログ情報の少なくとも一部と、複数の来店確認情報の少なくとも一部とを関連付ける。データセット生成部252は、例えば、来店確認情報に関連付けられたログ情報に、陽性ラベルを付与することで、学習用データセットを生成する。
【0133】
より具体的には、複数のログ情報の少なくとも一部と、複数の来店確認情報の少なくとも一部とを関連付ける手順において、データセット生成部252は、上述のとおり、まず、特定のログ情報に含まれる端末識別情報及び受信時刻情報を照合用のキーとして用いて、複数の来店確認情報の中から、上述された条件に合致する来店確認情報を抽出する。次に、データセット生成部252は、抽出された来店確認情報と、上記の特定のログ情報とを関連付ける。
【0134】
本実施形態によれば、複数の来店確認情報の中から、上述された条件に合致する来店確認情報が抽出される手順において、データセット生成部252は、対応関係情報を利用して、特定の来店確認情報に含まれるユーザ識別情報により示されるユーザが、特定のログ情報に含まれる端末識別情報により示される通信端末のユーザに合致するか否かを判定する。一実施形態において、データセット生成部252は、対応関係情報を利用して、ログ情報に含まれる端末識別情報を、対応するユーザ識別情報に変換する。これにより、データセット生成部252は、ユーザ識別情報をキーとして、ログ情報及び来店確認情報が、同一のユーザ又は通信端末に関する情報であるか否かを判定することができる。他の実施形態において、データセット生成部252は、対応関係情報を利用して、来店確認情報に含まれるユーザ識別情報を、対応する端末識別情報に変換する。これにより、データセット生成部252は、端末識別情報をキーとして、ログ情報及び来店確認情報が、同一のユーザ又は通信端末に関する情報であるか否かを判定することができる。
【0135】
なお、上記の各実施形態において、来店時刻情報により示される来店時刻と、受信時刻情報により示される受信時刻との差が、予め定められた値に等しい又は当該値よりも小さい場合、来店時刻情報により示される来店時刻が、受信時刻情報により示される受信時刻に合致すると判定されてよい。また、上記の来店時刻及び受信時刻の差に関する予め定められた値は、特定の種類の無線信号の送信間隔のn倍であってもよい。nは、1以上の整数であってよく、2以上の整数であってもよく、3以上の整数であってもよく、4以上の整数であってもよく、5以上の整数であってもよく、10以上の整数であってもよい。nは、50以下の整数であってよく、30以下の整数であってもよく、20以下の整数であってもよく、10以下の整数であってもよく、5以下の整数であってもよく、3以下の整数であってもよい。特定の種類の無線信号としては、プローブ要求、位置登録要求などの各種の通信制御信号が例示される。
【0136】
[学習用データセットの生成方法の具体例1-2]
本実施形態において、データセット生成部252は、格納部242にアクセスして、1以上の入力データを取得する。1以上の入力データのそれぞれにおいて、(i)集約処理の対象となる無線信号を発信した通信端末の端末識別情報、(ii)集約処理の対象となった期間を示す集約期間情報、(iii)集約処理の対象となる無線信号に関する1以上の特徴量を示す特徴情報が対応付けられていてよい。
【0137】
入力データに含まれる端末識別情報は、レコードに含まれる端末識別情報の一例であってよい。入力データに含まれる集約期間情報は、受信時刻情報に基づく情報の一例であってよい。入力データに含まれる特徴情報は、信号情報により示される電波に関する情報の一例であってよい。
【0138】
データセット生成部252は、格納部242にアクセスして、1以上の来店確認情報を取得する。1以上の来店確認情報のそれぞれにおいて、(i)特定の行動に関与した1以上のユーザのそれぞれを識別するためのユーザ識別情報と、(ii)特定の行動がなされた時刻を示す行動時刻情報とが対応付けられていてよい。より具体的には、1以上の来店確認情報のそれぞれは、ユーザのユーザ識別情報と、ユーザの来店時刻を示す来店時刻情報とが対応付けられた情報であってよい。
【0139】
データセット生成部252は、上述された具体例と同様の手順により、(i)1以上の入力データのそれぞれに含まれる端末識別情報及び集約期間情報、並びに、(ii)複数の来店確認情報のそれぞれに含まれるユーザ識別情報及び来店時刻情報に基づいて、1以上の入力データ及び複数の来店確認情報を照合し、1以上の入力データのうち少なくとも一部の入力データのそれぞれに含まれる端末識別情報と、当該少なくとも一部の入力データのそれぞれに含まれる特徴情報により示される特徴量に関する情報と、陽性ラベルとを対応付けることで、学習用データセットを生成する。これにより、1以上の入力データの少なくとも一部に陽性ラベルの付与された学習用データセットが生成される。
【0140】
より具体的には、データセット生成部252は、まず、特定の入力データに含まれる端末識別情報及び集約期間情報を照合用のキーとして用いて、複数の来店確認情報の中から、(i)当該来店確認情報に含まれるユーザ識別情報により示されるユーザが、当該特定の入力データに含まれる端末識別情報により示される通信端末のユーザに合致し、且つ、(ii)当該来店確認情報に含まれる来店時刻情報により示される時刻が、当該特定の入力データに含まれる集約期間情報により示される期間に含まれる来店確認情報を抽出する。
【0141】
次に、データセット生成部252は、抽出された来店確認情報と、上記の特定の入力データとを関連付ける。次に、データセット生成部252は、例えば、来店確認情報に関連付けられた入力データに陽性ラベルを付与することで、学習用データセットを生成する。データセット生成部252は、1以上の入力データのそれぞれについて、上記の処理を実行してよい。
【0142】
[学習用データセットの生成方法の具体例2-1]
本実施形態において、データセット生成部252は、格納部242にアクセスして、複数のログ情報を取得する。複数のログ情報のそれぞれにおいて、(i)複数の無線信号のそれぞれを発信した通信端末を識別するための端末識別情報と、(ii)複数の無線信号のそれぞれが受信された時刻を示す受信時刻情報と、(iii)複数の無線信号のそれぞれが受信された位置を示す受信位置情報と、(iv)複数の無線信号のそれぞれの電波に関する信号情報とが対応付けられていてよい。
【0143】
データセット生成部252は、格納部242にアクセスして、複数のログ情報のそれぞれに含まれる受信位置情報により示される位置に配された店舗の進入制限情報を取得する。1以上の進入制限情報のそれぞれにおいて、(i)1以上の店舗のそれぞれを識別するための店舗IDと、(ii)店舗IDにより識別される店舗への進入が制限されている時間帯を示す情報とが対応付けられていてよい。店舗IDは、エリア識別情報の一例であってよい。
【0144】
データセット生成部252は、複数のログ情報のそれぞれに含まれる受信位置情報と、取得された進入制限情報に含まれる店舗IDとに基づいて、複数のログ情報及び1以上の進入制限情報を照合し、複数のログ情報のそれぞれに含まれる受信位置情報により示される位置に対応する進入制限情報を抽出する。データセット生成部252は、例えば、対応する進入制限情報が抽出されたログ情報に、陰性ラベルを付与する。陰性ラベルは、無線信号を発信した通信端末のユーザが、当該無線信号を受信したアクセスポイントの配された店舗等の内部に存在していなかったことを示す。これにより、複数のログ情報のうち少なくとも一部のログ情報のそれぞれに含まれる端末識別情報と、少なくとも一部のログ情報のそれぞれに含まれる信号情報により示される電波に関する情報と、陰性ラベルとが対応付けられた学習用データセットが生成される。
[学習用データセットの生成方法の具体例2-2]
本実施形態において、データセット生成部252は、格納部242にアクセスして、1以上の入力データを取得する。1以上の入力データのそれぞれにおいて、(i)集約処理の対象となる1以上の無線信号を発信した通信端末の端末ID、(ii)集約処理の対象となる無線信号を受信したアクセスポイントが配された店舗の店舗ID、(iii)集約処理の対象となった期間を示す集約期間情報、(iv)集約処理の対象となる無線信号に関する1以上の特徴量を示す特徴情報が対応付けられていてよい。
【0145】
データセット生成部252は、格納部242にアクセスして、1以上の入力データのそれぞれに含まれる店舗IDにより示される店舗の進入制限情報を取得する。1以上の進入制限情報のそれぞれにおいて、(i)店舗IDと、(ii)店舗IDにより識別される店舗への進入が制限されている時間帯を示す情報とが対応付けられていてよい。
【0146】
データセット生成部252は、1以上の入力データのそれぞれに含まれる店舗IDと、格納部242に格納された進入制限情報に含まれる店舗IDとに基づいて、複数のログ情報及び1以上の進入制限情報を照合し、1以上の入力データのそれぞれに対応する進入制限情報を抽出する。データセット生成部252は、例えば、対応する進入制限情報が抽出された入力データに、陰性ラベルを付与する。これにより、複数のログ情報のうち少なくとも一部のログ情報のそれぞれに含まれる端末識別情報と、少なくとも一部のログ情報のそれぞれに含まれる信号情報により示される電波に関する情報と、陰性ラベルとが対応付けられた学習用データセットが生成される。
【0147】
本実施形態において、学習部254は、機械学習により、学習モデルを生成する。上記の学習モデルは、例えば、特定の店舗の内部に配されたアクセスポイントにより受信された無線信号に関する情報を含むデータポイントが入力され、当該無線信号を発信した通信端末のユーザが当該特定の店舗の内部に存在していたか否かを判定するために用いられる。学習部254は、店舗ごとに異なる学習モデルを生成してもよく、複数の店舗に共通の学習モデルを生成してもよい。学習部254は、アクセスポイントごとに異なる学習モデルを生成してもよく、複数のアクセスポイントに共通の学習モデルを生成してもよい。
【0148】
例えば、学習部254は、格納部242にアクセスして、データセット生成部252が生成した学習用データセットを取得する。上述のとおり、各学習モデルにおいては、分類用の閾値として、当該学習モデルに応じた適切な初期値が設定されている。そこで、学習部254は、まず、上記の初期値を分類用の閾値として利用し、且つ、上記の学習用データセットを利用して機械学習を実行することにより、学習済みの学習モデルを生成する。
【0149】
学習部254は、交差検証を実行して、生成された学習モデルの汎化性能を評価してよい。学習部254は、交差検証用いたグリッドサーチを実行して、学習モデルのハイパーパラメータを決定してよい。
【0150】
学習部254は、データセット生成部252が生成した学習用データセットを、訓練データと、テストデータとに分割してよい。学習部254は、データセット生成部252が生成した学習用データセットを、訓練データと、検証データと、テストデータとに分割してよい。学習部254は、検証データを、学習モデルに含まれるパラメータを決定するための検証に用いられる検証データと、分類用の閾値を調整するための検証に用いられる検証データとに分割してもよい。分類用の閾値を調整するための検証に用いられる検証データは、例えば、閾値調整部256により利用される。
【0151】
本実施形態において、閾値調整部256は、学習部254により生成された学習モデルのための分類用の閾値を調整する。例えば、閾値調整部256は、分類用の閾値として初期値が利用された場合と比較して、学習モデルの判定結果の真陽性率が大きくなる値を、調整後の閾値として決定する。
【0152】
例えば、閾値調整部256は、まず、学習部254により生成された学習モデルの受信者動作特性カーブ(ROCカーブ)を示すデータを算出する。閾値調整部256は、例えば、データセット生成部252が生成した学習用データセットのうち、学習部254における機械学習に利用されなかったデータセットを利用して、分類用の閾値を少しずつ変化させながら、学習モデルの真陽性率及び偽陽性率を算出する。これにより、ROCカーブを示すデータが算出される。次に、閾値調整部256は、ROCカーブ上のポイントであって、分類用の閾値として初期値が利用された場合と比較して、学習モデルの判定結果の真陽性率が大きくなるポイントに対応する閾値を、調整後の閾値として決定する。
【0153】
本実施形態において、判定部260は、学習部254が生成した学習モデルと、閾値調整部256が決定した調整後の閾値とを用いて、判定対象データを判定する。例えば、判定部260は、格納部242にアクセスして、データセット生成部252が生成した判定対象データを取得する。判定部260は、判定対象データを、学習部254が生成した学習モデルに入力する。学習部学習部254は、閾値調整部256が決定した調整後の閾値を利用して、判定対象データに含まれる端末IDにより示される通信端末のユーザが、判定対象データに含まれる店舗IDにより示される店舗の内部に存在していたか否かを判定する。判定部260は、判定結果を示す出力データを格納部242に格納してよい。
【0154】
本実施形態において、来店人数推定部270は、例えば、通信端末108からの要求に応じて、特定の期間に特定の店舗に来店した顧客の人数を推定する。来店人数推定部270は、例えば、格納部242に格納された出力データに基づいて、特定の期間に特定の店舗に存在した通信端末のユーザの人数を算出する。来店人数推定部270は、例えば、算出された通信端末のユーザの人数に、適切な係数を乗ずることで、特定の期間に特定の店舗に来店した顧客の人数を推定する。上述のとおり、管理サーバ160は、来店人数推定部270に代えて、又は、来店人数推定部270とともに、通信端末108からの要求に応じて、特定の期間に特定の店舗の外を通行する通行人の人数を推定する通行人数推定部(図示されていない。)を備えてもよい。
【0155】
図3は、格納部242の内部構成の一例を概略的に示す。AP情報格納部322と、店舗情報格納部324と、対応情報格納部326と、ログ情報格納部332と、来店情報格納部334と、入力データ格納部342と、データセット格納部352と、対象データ格納部354と、出力データ格納部362と、モデル情報格納部372とを備える。
【0156】
本実施形態において、AP情報格納部322は、1以上のアクセスポイントのそれぞれに関する情報を格納する。AP情報格納部322は、例えば、各アクセスポイントの識別情報と、各アクセスポイントが配された店舗の識別情報とを対応づけて格納する。各アクセスポイントの識別情報としては、管理サーバ160が各アクセスポイントに割り当てた識別情報(APIDと称される場合がある)、各アクセスポイントのMACアドレスなどが例示される。
【0157】
本実施形態において、店舗情報格納部324は、1以上の店舗のそれぞれに関する情報を格納する。店舗情報格納部324は、例えば、各店舗の識別情報と、各店舗の位置情報と、各店舗の属性を示す情報と、各店舗の進入制限情報とを対応づけて格納する。各店舗の識別情報としては、管理サーバ160が各店舗に割り当てた識別情報(店舗IDと称される場合がある)、各店舗の名称、各店舗の住所などが例示される。
【0158】
本実施形態において、対応情報格納部326は、1以上の対応関係情報を格納する。本実施形態において、ログ情報格納部332は、1以上のログ情報を格納する。本実施形態において、来店情報格納部334は、1以上の来店確認情報を格納する。本実施形態において、入力データ格納部342は、1以上の入力データを格納する。本実施形態において、データセット格納部352は、1以上の学習用データセットを格納する。データセット格納部352は、店舗ごとの学習用データセットを格納してもよい。データセット格納部352は、アクセスポイントごとの学習用データセットを格納してもよい。
【0159】
本実施形態において、対象データ格納部354は、1以上の判定対象データを格納する。本実施形態において、出力データ格納部362は、1以上の出力データを格納する。本実施形態において、モデル情報格納部372は、1以上の学習モデルのそれぞれに関する情報を格納する。モデル情報格納部372は、店舗ごとの学習モデルに関する情報を格納してよい。モデル情報格納部372は、アクセスポイントごとの学習モデルに関する情報を格納してもよい。学習モデルに関する情報は、例えば、推論モデルのプログラムと、推論モデルのパラメータの値を示す情報と、閾値調整部256により決定された調整後の閾値を示す情報とを含む。
【0160】
図4は、入力データ生成部244における情報処理の一例を概略的に示す。
図4を用いて、特定の単位期間においてアクセスポイント122が受信した無線信号のうち、通信端末102が発信した無線信号に関する複数のログ情報を、単一の入力データに集約する場合を例として、入力データ生成部244における集約処理の一例が説明される。
図4において、三角形のマークは、アクセスポイント122において、通信端末102が発信した無線信号であって、電波強度が予め定められた強度よりも大きな無線信号が受信されたタイミングを示す。
【0161】
図4に示されるとおり、特定の単位期間において通信端末102が発信した無線信号のうち、アクセスポイント122において検出された無線信号に関するn個のログ情報は、グループ422と、グループ424とに分類され得る。nは、2以上の整数であってよい。例えば、グループ422には、ma個のログ情報が含まれる。また、グループ424には、mb個のログ情報が含まれる。maは、1以上の整数であってもよく、2以上の整数であってもよい。mbは、1以上の整数であってよく、2以上の整数であってもよい。なお、単位期間に含まれるグループの数は、滞在期間内の訪問回数を示す。
【0162】
例えば、入力データ生成部244は、特定の単位期間に、アクセスポイント122において検出された無線信号に関する複数のログ情報を、各ログ情報により示される受信時刻をキーとしてソートする。時間的に隣接する2つのログ情報の受信時刻の差が予め定められた値と等しい又は当該値よりも小さい場合、入力データ生成部244は、当該2つのログ情報は同一のグループに属すると判断する。一方、時間的に隣接する2つのログ情報の受信時刻の差が予め定められた値よりも大きい又は当該値と等しい場合、入力データ生成部244は、当該2つのログ情報は異なるグループに属すると判断する。
【0163】
グループ422に含まれるma個のログ情報を、各ログ情報により示される受信時刻に従って並べた場合に、時間的に隣接する2つのログ情報の受信時刻の差ΔTaは、上記の予め定められた値と等しい又は当該値よりも小さい。同様に、グループ424に含まれるmb個のログ情報を、各ログ情報により示される受信時刻に従って並べた場合に、時間的に隣接する2つのログ情報の受信時刻の差ΔTbは、上記の予め定められた値と等しい又は当該値よりも小さい。一方、グループ422に含まれるログ情報のうち最後に検出されたログ情報により示される受信時刻と、グループ424に含まれるログ情報のうち最初に検出されたログ情報により示される受信時刻との差ΔTabは、上記の予め定められた値より大きい又は当該値に等しい。
【0164】
例えば、入力データ生成部244は、n個のログ情報の一部を集約して、1個以上n-1個以下の入力データを生成する。入力データ生成部244は、生成された1以上の入力データを、格納部242に格納してよい。一実施形態において、入力データ生成部244は、単位期間ごとに、複数のログ情報を単一の入力データに集約する。他の実施形態において、入力データ生成部244は、継続期間ごとに(即ち、グループごとに)、複数のログ情報を単一の入力データに集約する。
【0165】
より具体的には、入力データ生成部244は、まず、収集された複数のログ情報を、各ログ情報により示される通信端末ごとに分類する。これにより、例えば、特定の単位期間内に通信端末102が発信した無線信号に関する、n個のログ情報が得られる。
【0166】
次に、入力データ生成部244は、通信端末ごとに分類されたログ情報を、各ログ情報の受信時刻情報により示される受信時刻に基づいて、任意の期間ごとに集約する。任意の期間としては、単位期間、継続期間などが例示される。
【0167】
例えば、入力データ生成部244は、各期間中に検出された1以上のログ情報に含まれる信号情報により示される無線信号の電波に関する各種の物理量に対して、任意の統計処理を実施することにより、各期間中に検出された1以上のログ情報の特徴量を算出する。入力データ生成部244は、各期間中に検出された1以上のログ情報に含まれる信号情報により示される無線信号の電波に関する各種の物理量の代表値を、各期間中に検出された1以上のログ情報の特徴量としてもよい。
【0168】
入力データ生成部244は、例えば、各期間中に検出された1以上のログ情報に関する通信端末の端末識別情報と、集約処理の対象となる期間を示す情報と、上記の特徴量とを対応付けて、入力データを生成する。これにより、各期間中に検出された1以上のログ情報が、単一の入力データに集約される。
【0169】
図5は、データセット生成部252の内部構成の一例を概略的に示す。本実施形態において、データセット生成部252は、ラベル付与部552と、データセット出力部554と、対象データ出力部556とを備える。
【0170】
本実施形態において、ラベル付与部552は、情報収集部230が取得したログ情報の一部に、陽性又は陰性を示すラベルを付与する。ラベル付与部552は、入力データ生成部244が生成した入力データの一部に、陽性又は陰性を示すラベルを付与してもよい。ログ情報又は入力データの一部にラベルが付与される手順の詳細は、上述のとおりであってよい。
【0171】
本実施形態において、データセット出力部554は、ラベル付与部552によりラベルが付与されたログ情報又は入力データを、学習用データセットとして出力する。データセット出力部554は、学習用データセットを、データセット格納部352に格納してよい。
【0172】
本実施形態において、対象データ出力部556は、ラベル付与部552によりラベルが付与されなかったログ情報又は入力データを、判定対象データとして出力する。対象データ出力部556は、判定対象データを、対象データ格納部354に格納してよい。
【0173】
図6は、学習部254の内部構成の一例を概略的に示す。本実施形態において、学習部254は、クラス分類器652と、クラス分類器654と、初期設定格納部656とを備える。
【0174】
本実施形態において、クラス分類器652は店舗12用の学習モデルであり、クラス分類器654は店舗14用の学習モデルである。本実施形態において、初期設定格納部656は、クラス分類器652及びクラス分類器654の機械学習における初期設定を格納する。初期設定格納部656は、初期設定として、各クラス分類器の分類用の閾値の初期値に関する情報を格納してよい。学習部254は、初期設定格納部656に格納された初期設定と、データセット格納部352に格納された学習用データセットとを利用して、クラス分類器652及びクラス分類器654の機械学習を実行する。
【0175】
クラス分類器652及びクラス分類器654が、判定結果に関する分類確率を算出し、当該分類確率及び分類用の閾値を比較して、ユーザが店舗等の内部に存在していたか否かを判定する場合、分類用の閾値の初期値は0.5である。クラス分類器652及びクラス分類器654が、判定結果に関する決定関数を算出し、当該決定関数及び分類用の閾値を比較して、ユーザが店舗等の内部に存在していたか否かを判定する場合、分類用の閾値の初期値は0である。
【0176】
図7は、閾値調整部256の内部構成の一例を概略的に示す。本実施形態において、閾値調整部256は、ROCカーブ算出部752と、AUCスコア算出部754と、作動ポイント決定部756と、調整値決定部758とを備える。
【0177】
本実施形態において、ROCカーブ算出部752は、学習部254により生成された学習モデルの受信者動作特性カーブ(ROCカーブ)を示すデータを算出する。ROCカーブを示すデータを算出する手順は上述のとおりであってよい。本実施形態において、AUCスコア算出部754は、ROCカーブの下の領域(AUC)の面積を示すAUCスコアを算出する。
【0178】
本実施形態において、作動ポイント決定部756と、ROCカーブ上のポイントであって、分類用の閾値として初期値が利用された場合と比較して、学習モデルの判定結果の真陽性率が大きくなるポイントを、学習モデルの作動ポイントとして決定する。作動ポイントを決定する手順の詳細は後述される。
【0179】
本実施形態において、調整値決定部758は、調整後の閾値として利用される値を決定する。調整値決定部758は、作動ポイント決定部756が決定した作動ポイントに対応する閾値を、調整後の閾値として決定してよい。
【0180】
図8は、閾値調整部256における情報処理の一例を概略的に示す。
図8は、作動ポイント決定部756が作動ポイントを決定する処理の一例を概略的に示す。
図8において、ROCカーブ820は、来店確認情報に基づいて生成された学習用データセットを利用して学習した学習モデルのROCカーブを示す。ポイント832は、分類用の閾値として初期値が利用された場合における、真陽性率及び偽陽性率を示す。ポイント834は、(i)ROCカーブ820と、(ii)真陽性率が1であり偽陽性率が0であるポイント(ベストポイントと称される場合がある。)、及び、真陽性率が0であり偽陽性率が1であるポイントを結ぶ直線840との交点を示す。
【0181】
本実施形態において、作動ポイント決定部756は、ポイント834を作動ポイントとして決定する。ここで、来店確認情報に基づいて生成された学習用データセットを利用して学習処理が実行された場合、学習済みの学習モデルは、例えば、「店舗12に来店し、来店確認機器142により来店が確認されたユーザに関するデータポイント」を陽性に分類し、「店舗12に来店したものの、来店確認機器142により来店が確認されていないユーザに関するデータポイント」及び「店舗12に来店していないユーザに関するデータポイント」を陰性に分類するように調整される。
【0182】
そのため、作動ポイントにおいては、分類用の閾値として初期値が利用された場合と比較して、「店舗12に来店し、来店確認機器142により来店が確認されたユーザに関するデータポイント」を陽性とし、「店舗12に来店したものの、来店確認機器142により来店が確認されていないユーザに関するデータポイント」及び「店舗12に来店していないユーザに関するデータポイント」を陰性とした場合の真陽性率が大きくなる。また、分類用の閾値として初期値が利用された場合と比較して、「店舗12に来店し、来店確認機器142により来店が確認されたユーザに関するデータポイント」を陽性とし、「店舗12に来店したものの、来店確認機器142により来店が確認されていないユーザに関するデータポイント」及び「店舗12に来店していないユーザに関するデータポイント」を陰性とした場合の偽陽性率が大きくなる。
【0183】
しかしながら、判定部260においては、例えば、「店舗12の内部に存在するユーザに関するデータポイント」を陽性とし、「店舗12の内部に存在しないユーザに関するデータポイント」を陰性として、学習モデルを利用した判定処理が実行される。つまり、判定部260においては、例えば、「店舗12に来店し、来店確認機器142により来店が確認されたユーザに関するデータポイント」及び「店舗12に来店したものの、来店確認機器142により来店が確認されていないユーザに関するデータポイント」を陽性とし、「店舗12に来店していないユーザに関するデータポイント」を陰性として、学習モデルを利用した判定処理が実行される。
【0184】
ここで、「店舗12に来店したものの、来店確認機器142により来店が確認されていないユーザ」の挙動は、「店舗12に来店していないユーザ」の挙動よりも、「店舗12に来店し、来店確認機器142により来店が確認されたユーザ」の挙動に類似する可能性が高い。そのため、作動ポイント決定部756が決定した作動ポイントに対応する閾値が、判定部260における分類用の閾値として利用されることで、分類用の閾値として初期値が利用された場合と比較して、「店舗12の内部に存在するユーザに関するデータポイント」を陽性とし、「店舗12の内部に存在しないユーザに関するデータポイント」を陰性とした場合の真陽性率が大きくなることが期待される。また、分類用の閾値として初期値が利用された場合と比較して、「店舗12の内部に存在するユーザに関するデータポイント」を陽性とし、「店舗12の内部に存在しないユーザに関するデータポイント」を陰性とした場合の偽陽性率が小さくなることが期待される。
【0185】
なお、作動ポイントを決定する方法は本実施形態に限定されない。他の実施形態において、作動ポイント決定部756は、ベストポイントと、ROCカーブ820上の各ポイントとの距離を算出する。作動ポイント決定部756は、上記の距離が最短となるポイントを、作動ポイントとして決定する。
【0186】
図9~
図20を用いて、管理サーバ160における情報処理の具体例が説明される。
図9~
図17は、格納部242に格納される各種のデータテーブルの一例を概略的に示す。
図18は、解析部240における情報処理の一例を概略的に示す。具体的には、
図9は、解析部240における学習用データセットの生成処理、学習モデルの生成処理、及び、分類用の閾値の調整処理の一例を概略的に示す。
図19は、解析部240における情報処理の一例を概略的に示す。
図19は、解析部240における判定処理の一例を概略的に示す。
図20は、判定結果が記録されたデータテーブル1800の一例を概略的に示す。
【0187】
図9は、データテーブル900の一例を概略的に示す。データテーブル900は、AP情報格納部322に格納されるデータベースの一例であってよい。データテーブル900の各行は、各アクセスポイントに関する情報の一例であってよい。本実施形態において、データテーブル900は、各アクセスポイントのAPID922と、各アクセスポイントのMACアドレスを示す情報924と、各アクセスポイントが配される店舗の店舗ID926とを対応付けて格納する。APID922と、MACアドレスを示す情報924及び店舗ID926は、アクセスポイントの識別情報の一例であってよい。
【0188】
図10は、データテーブル1000の一例を概略的に示す。データテーブル1000は、店舗情報格納部324に格納されるデータベースの一例であってよい。データテーブル1000の各行は、各店舗に関する情報の一例であってよい。本実施形態において、データテーブル1000は、各店舗の店舗ID1022と、各店舗の店舗名称1024と、各店舗の店舗タイプ1026と、各店舗の位置情報1028と、各店舗の営業時間を示す情報1030とを対応付けて格納する。店舗タイプ1026に記録される項目としては、例えば、店舗内店舗、市街地の単独店舗又は商店街中の店舗、ロードサイドの単独店舗などが例示される。店舗タイプ1026は、店舗の属性の一例であってよい。営業時間を示す情報1030は、進入制限情報の一例であってよい。
【0189】
図11は、データテーブル1100の一例を概略的に示す。データテーブル1100は、対応情報格納部326に格納されるデータベースの一例であってよい。データテーブル1100の各行は、対応関係情報の一例であってよい。本実施形態において、データテーブル1100は、各通信端末の端末ID1122と、各通信端末のユーザのユーザID1124とを対応付けて格納する。ユーザID1124としては、クレジットカードのカード番号、ポイント付与サービスの会員番号、SNSのアカウントなどが例示される。
【0190】
図12は、データテーブル1200の一例を概略的に示す。データテーブル1200は、ログ情報格納部332に格納されるデータベースの一例であってよい。データテーブル1200の各行は、ログ情報の一例であってよい。本実施形態において、データテーブル1200は、無線信号を受信したアクセスポイントのAPID1222と、無線信号の受信時刻を示す情報1224と、無線信号を発信した通信端末の端末ID1226と、無線信号の電波に関する情報1228とを対応付けて格納する。無線信号の電波に関する情報1228としては、電波強度を示す情報、周波数帯を示す情報、接続段階を示す情報などが例示される。電波強度は、例えば、RSSIにより表される。
【0191】
図13は、データテーブル1300の一例を概略的に示す。データテーブル1300は、例えば、来店情報格納部334に格納されるデータベースの一例であってよい。データテーブル1300の各行は、来店確認情報の一例であってよい。本実施形態において、データテーブル1300は、ユーザのユーザID1322と、ユーザの行動が確認された場所の位置情報1324と、ユーザの行動が確認された時刻を示す情報1326とを対応付けて格納する。ユーザID1322は、ユーザIDの種類を示す情報と、ユーザIDの詳細を示す情報とを含んでよい。ユーザIDの詳細は、クレジットカードのカード番号、ポイント付与サービスの会員番号、ユーザの氏名、ユーザが利用する通信端末のMACアドレスなどの具体的な数列又は文字列であってよい。ユーザの行動が確認された場所の位置情報1324としては、ユーザの行動が確認された場所の名称、当該場所の住所、当該場所の位置座標などが例示される。
【0192】
図14は、データテーブル1400の一例を概略的に示す。データテーブル1400は、例えば、入力データ格納部342に格納されるデータベースの一例であってよい。データテーブル1400の各行は、入力データの一例であってよい。本実施形態において、データテーブル1400は、無線信号を発信した通信端末の端末ID1422と、無線信号を受信したアクセスポイントが配された店舗の店舗ID1424と、無線信号の受信日を示す情報1426と、無線信号の特徴量を示す情報1428とを対応付けて格納する。無線信号の特徴量は、複数の項目を含んでよい。店舗ID1424は、店舗の識別情報の一例であるとともに、アクセスポイントの識別情報の一例であってもよい。受信日は、無線信号が受信された単位期間の一例であってよい。
【0193】
図15は、データテーブル1500の一例を概略的に示す。データテーブル1500は、データセット格納部352に格納されるデータベースの一例であってよい。データテーブル1500は、学習用データセットの一例であってよい。データテーブル1500の各行は、学習用のデータポイントの一例であってよい。なお、
図15において、データテーブル1400と同様の項目には、データテーブル1400と同一の符号が付され、説明が省略される場合がある。
【0194】
本実施形態において、データテーブル1500は、無線信号を発信した通信端末の端末ID1422と、無線信号を受信したアクセスポイントが配された店舗の店舗ID1424と、無線信号の受信日を示す情報1426と、無線信号の特徴量を示す情報1428と、ラベルの種類を示す情報1532とを対応付けて格納する。ラベルの種類としては、ユーザが店舗のエリア内に存在することを示す「来店」と、ユーザが店舗のエリア外に存在することを示す「非来店」とが例示される。
【0195】
図16は、データテーブル1600の一例を概略的に示す。データテーブル1600は、対象データ格納部354に格納されるデータベースの一例であってよい。データテーブル1600の各行は、判定対象データの一例であってよい。なお、
図16において、データテーブル1400と同様の項目には、データテーブル1400と同一の符号が付され、説明が省略される場合がある。
【0196】
本実施形態において、データテーブル1600は、無線信号を発信した通信端末の端末ID1422と、無線信号を受信したアクセスポイントが配された店舗の店舗ID1424と、無線信号の受信日を示す情報1426と、無線信号の特徴量を示す情報1428と、判定結果を示す情報1632と、分類確率又は決定関数の値を示す情報1634とを対応付けて格納する。判定対象データは、判定部260における判定処理において使用されるデータであるので、本実施形態において、判定結果を示す情報1632及び分類確率又は決定関数の値を示す情報1634の列は、空欄となっている。
【0197】
図17は、データテーブル1700の一例を概略的に示す。データテーブル1700は、例えば、出力データ格納部362に格納されるデータベースの一例であってよい。データテーブル1700の各行は、出力データの一例であってよい。なお、
図17において、データテーブル1400、データテーブル1500又はデータテーブル1600と同様の項目には、データテーブル1400、データテーブル1500又はデータテーブル1600と同一の符号が付され、説明が省略される場合がある。
【0198】
本実施形態において、データテーブル1700は、無線信号を発信した通信端末の端末ID1422と、無線信号を受信したアクセスポイントが配された店舗の店舗ID1424と、無線信号の受信日を示す情報1426と、ラベルの種類を示す情報1532と、判定結果を示す情報1632とを対応付けて格納する。本実施形態において、データテーブル1700には、データセット生成部252が生成した学習用データセットに対応する情報のみが格納されており、判定対象データの判定結果に関する情報は、まだ格納されていない。
【0199】
図18は、解析部240における学習用データセットの生成処理、学習モデルの生成処理、及び、分類用の閾値の調整処理の一例を概略的に示す。本実施形態によれば、まず、入力データ生成部244が、ログ情報格納部332に格納された複数のログ情報の少なくとも一部を集約して、1以上の入力データを生成する。
【0200】
入力データ生成部244は、AP情報格納部322に格納された各アクセスポイントに関する情報、及び、店舗情報格納部324に格納された各店舗に関する情報の少なくとも一方を参照して、1以上の入力データを生成してもよい。入力データ生成部244は、生成された入力データを、入力データ格納部342に格納する。
【0201】
具体的には、入力データ生成部244は、まず、ログ情報格納部332に格納されたデータテーブル1200に含まれる複数のログ情報を、無線信号を発信した通信端末の端末ID1226を第1キーとし、無線信号の受信時刻を示す情報1224を第2キーとして、ソートする。次に、入力データ生成部244は、各通信端末に関する複数のログ情報を、単位期間ごとに分類する。入力データ生成部244は、単位期間ごとに分類された1以上のログ情報を、単一の入力データに集約する。これにより、入力データが生成される。
【0202】
例えば、入力データ生成部244は、各期間中に検出された1以上のログ情報の特徴量を算出する。
図4に関連して説明されたとおり、入力データ生成部244は、各期間中に検出された1以上のログ情報に含まれる信号情報により示される無線信号の電波に関する各種の物理量に対して、任意の統計処理を実施することで、上記の特徴量を算出してよい。入力データ生成部244は、複数のログ情報により示される物理量の代表値を、上記の特徴量として決定してもよい。
【0203】
入力データ生成部244は、生成された入力データをデータテーブル1400に格納する。例えば、入力データ生成部244は、入力データの端末ID1422として、当該入力データに集約された1以上のログ情報の端末ID1226を記入する。入力データ生成部244は、データテーブル900を参照して、入力データに集約された1以上のログ情報のAPID1222に対応する店舗ID926を取得する。入力データ生成部244は、入力データの店舗ID1424として、上記の店舗ID926を記入する。入力データ生成部244は、入力データの受信日を示す情報1426として、当該入力データの集約期間となった単位期間を示す情報を記入する。入力データ生成部244は、入力データの特徴量を示す情報1428として、入力データに集約された1以上のログ情報により示される物理量の統計値又は代表値を記入する。
【0204】
次に、データセット生成部252が、入力データ格納部342に格納された入力データの少なくとも一部に、陽性又は陰性のラベルを付与して、学習用データセットを生成する。データセット生成部252は、来店情報格納部334に格納された来店確認情報を参照して、入力データの少なくとも一部に、陽性又は陰性のラベルを付与してよい。データセット生成部252は、来店情報格納部334に格納された来店確認情報、及び、対応情報格納部326に格納された対応関係情報を参照して、入力データの少なくとも一部に、陽性又は陰性のラベルを付与してもよい。
【0205】
データセット生成部252は、陽性のラベルのみを付与する処理を実行して、学習用データセットを生成してよい。データセット生成部252は、陰性のラベルのみを付与する処理を実行して、学習用データセットを生成してよい。データセット生成部252は、陽性又は陰性のラベルを付与する処理を実行して、学習用データセットを生成してよい。データセット生成部252は、生成された学習用データセットを、データセット格納部352に格納する。
【0206】
データセット生成部252は、入力データ格納部342に格納された入力データのうち、陽性又は陰性のラベルが付与されなかった入力データを、判定対象データとして出力してよい。データセット生成部252は、判定対象データを、対象データ格納部354に格納してよい。
【0207】
データセット生成部252は、学習用データセットを、出力データの一部として出力してよい。データセット生成部252は、上記の出力データを、出力データ格納部362に格納してよい。
【0208】
具体的には、データセット生成部252は、例えば、データテーブル1400に含まれる1以上の入力データと、データテーブル1300に含まれる1以上の来店確認情報とを照合して、1以上の入力データの少なくとも一部に陽性ラベルを付与することにより、データテーブル1500に格納された学習用データセットを生成する。本実施形態においては、来店確認情報のユーザID1322が、店舗12の店頭に設置された来店確認機器142と、ユーザ22の通信端末102との通信により取得された通信端末102のMACアドレスであり、来店確認情報のユーザの行動が確認された場所の位置情報1324が、店舗12の店舗名称であり、来店確認情報のユーザの行動が確認された時刻を示す情報1326が、当該MACアドレスが取得された時刻である場合を例として、データセット生成部252が学習用データセットを構成するデータポイントを生成する処理の詳細が説明される。
【0209】
データセット生成部252は、まず、入力データ格納部342に格納されたデータテーブル1400を構成する一の入力データを読み込む。次に、データセット生成部252は、読み込まれた入力データに含まれる端末ID1422をキーとして、来店情報格納部334に格納されたデータテーブル1300を構成する1以上の来店確認情報の中から、ユーザID1322が当該キーに合致する来店確認情報を抽出する。データセット生成部252は、読み込まれた入力データに含まれる受信日を示す情報1426をキーとして、抽出された来店確認情報の中から、当該キーにより示される単位期間中に取得された来店確認情報を抽出する。これにより、入力データと、来店確認情報とが関連付けられる。
【0210】
上記の来店確認情報が抽出された場合、データセット生成部252は、上記の入力データに陽性ラベルを付与して、学習用データセットを構成するデータポイントを生成する。具体的には、データセット生成部252は、読み込まれた入力データに含まれる端末ID1422、店舗ID1424、受信日を示す情報1426、及び、特徴量を示す情報1428と、ラベルの種類を示す情報1532とを対応付けて、データテーブル1500に格納する。なお、ラベルの種類を示す情報1532には、陽性を示すラベルが記入される。
【0211】
この場合において、データセット生成部252は、読み込まれた入力データに含まれる端末ID1422、店舗ID1424、及び、受信日を示す情報1426と、ラベルの種類を示す情報1532とを対応付けて、出力データの一部として、データテーブル1700に格納してもよい。なお、ラベルの種類を示す情報1532には、陽性を示すラベルが記入される。また、判定部260は、ラベルが付与されたデータポイントを判定する必要がないので、判定結果を示す情報1732には、判定処理が不要であることを示す情報が記入されてよい。
【0212】
一方、上記の来店確認情報が抽出されなかった場合、データセット生成部252は、上記の入力データに、判定部260の判定処理により利用される列を付与して、判定対象データを生成する。具体的には、データセット生成部252は、読み込まれた入力データに含まれる端末ID1422、店舗ID1424、受信日を示す情報1426、及び、特徴量を示す情報1428と、判定部260の判定結果を示す情報1732が入力される列と、判定部260の判定処理においてモデルが算出する分類確率又は決定関数の値を示す情報1734が入力される列とを対応付けて、データテーブル1600に格納する。
【0213】
次に、学習部254が、データセット格納部352に格納された学習用データセットと、初期設定格納部656に格納された、分類用の閾値の初期値とを利用して、学習済みの学習モデルを生成する。学習部254は、学習済みの学習モデルに関する情報を、モデル情報格納部372に格納する。
【0214】
次に、閾値調整部256が、分類用の閾値を調整する。閾値調整部256は、調整後の閾値を決定する。閾値調整部256は、調整後の閾値を示す情報を、モデル情報格納部372に格納する。
【0215】
本実施形態によれば、無線信号に関するログ情報と、来店確認情報とが関連付けられて、ラベルの付与された学習用データセットが生成される。これにより、無線信号を発信する無線端末を携帯するユーザが、特定の店舗等の内部に存在するか否かを判定するために用いられる学習モデルを、比較的容易に構築することができる。
【0216】
この点に関し、無線信号に関するログ情報を利用して店舗等への進入又は退出を判定することで、無線信号を発信する無線端末を携帯するユーザが、特定の店舗等の内部に存在するか否かを判定する場合、ルールベースのアプローチと、機械学習を利用したアプローチとが考えられる。店舗等の内部に配されたアクセスポイントにおける電波の受信状況は、(i)店舗等の立地条件、(ii)店舗等の構造、(iii)店舗等の内部におけるアクセスポイントの配置、(iv)アクセスポイントの周囲に配された構造物若しくは障害物又は人の位置、大きさ及び材質などの影響を受ける。
【0217】
そのため、店舗等の状況によっては、ルールベースのアプローチを採用して、店舗等への進入又は退出を判定することが難しくなる場合がある。一方、機械学習を利用したアプローチを採用する場合、機械学習の訓練データ、検証データ及びテストデータの少なくとも1つとして利用される学習用データセットが大量に必要となる。上述のとおり、本実施形態によれば、大量の学習用データセットを準備することができるので、機械学習を利用して、上記の判定処理を実行することが可能になる。
【0218】
図19は、解析部240における情報処理の一例を概略的に示す。
図19は、解析部240における判定処理の一例を概略的に示す。本実施形態によれば、まず、判定部260が、モデル情報格納部372に格納された学習済の学習モデルのプログラムと、調整後の閾値を示す情報とを取得する。
【0219】
次に、判定部260は、対象データ格納部354に格納されたデータテーブル1600から、一の判定対象データを読み込む。判定部260は、読み込まれた判定対象データを学習モデルに入力する。学習モデルは、調整後の閾値を利用して、判定対象データに対応するユーザが店舗の内部に存在したか否かを示す判定結果を出力する。
【0220】
例えば、学習モデルは、読み込まれた判定対象データに対する分類確率の値を算出する。例えば、分類確率の値が調整後の閾値よりも大きい場合、学習モデルは、陽性を示す判定結果を出力する。一方、分類確率の値が調整後の閾値以下である場合、学習モデルは、陰性を示す判定結果を出力する。具体的には、判定部260は、判定対象データに含まれる端末ID1422、店舗ID1424、及び、受信日を示す情報1426と、判定部260の判定結果を示す情報1632とを対応付けて、データテーブル1700に格納する。
【0221】
本実施形態によれば、学習モデルにより利用される分類用の閾値として、学習モデルに応じて定められた初期値ではなく、ROCカーブを利用して決定された調整後の値が用いられる。これにより、分類用の閾値として初期値が利用された場合と比較して、「店舗12の内部に存在するユーザに関するデータポイント」を陽性とし、「店舗12の内部に存在しないユーザに関するデータポイント」を陰性とした場合の真陽性率が大きくなることが期待される。また、分類用の閾値として初期値が利用された場合と比較して、「店舗12の内部に存在するユーザに関するデータポイント」を陽性とし、「店舗12の内部に存在しないユーザに関するデータポイント」を陰性とした場合の偽陽性率が小さくなることが期待される。
【0222】
図20は、判定結果が記録されたデータテーブル1700の一例を概略的に示す。
図20に示されるデータテーブル1700は、判定対象データに関する行が追加されている点で、
図18に示されるデータテーブル1700と相違する。判定対象データに関する行においては、判定結果を示す情報1632の列に、判定部260が出力した判定結果が記入されている。一方、ラベルの種類を示す情報1532には、ラベルが付与されていないことを示す情報が記入されている。
【0223】
図21は、本発明の複数の態様が全体的又は部分的に具現化されてよいコンピュータ3000の一例を示す。例えば、管理サーバ160は、コンピュータ3000により実現される。
【0224】
コンピュータ3000にインストールされたプログラムは、コンピュータ3000に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該装置の1又は複数の「部」として機能させ、又は当該オペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ3000に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ3000に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU3012によって実行されてよい。
【0225】
本実施形態によるコンピュータ3000は、CPU3012、RAM3014、グラフィックコントローラ3016、及びディスプレイデバイス3018を含み、それらはホストコントローラ3010によって相互に接続されている。コンピュータ3000はまた、通信インターフェース3022、ハードディスクドライブ3024、DVD-ROMドライブ3026、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ3020を介してホストコントローラ3010に接続されている。コンピュータはまた、ROM3030及びキーボード3042のようなレガシの入出力ユニットを含み、それらは入出力チップ3040を介して入出力コントローラ3020に接続されている。
【0226】
CPU3012は、ROM3030及びRAM3014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ3016は、RAM3014内に提供されるフレームバッファ等又はそれ自体の中に、CPU3012によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス3018上に表示されるようにする。
【0227】
通信インターフェース3022は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ3024は、コンピュータ3000内のCPU3012によって使用されるプログラム及びデータを格納する。DVD-ROMドライブ3026は、プログラム又はデータをDVD-ROM3001から読み取り、ハードディスクドライブ3024にRAM3014を介してプログラム又はデータを提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0228】
ROM3030はその中に、アクティブ化時にコンピュータ3000によって実行されるブートプログラム等、及び/又はコンピュータ3000のハードウエアに依存するプログラムを格納する。入出力チップ3040はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ3020に接続してよい。
【0229】
プログラムが、DVD-ROM3001又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもあるハードディスクドライブ3024、RAM3014、又はROM3030にインストールされ、CPU3012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ3000に読み取られ、プログラムと、上記様々なタイプのハードウエアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ3000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0230】
例えば、通信がコンピュータ3000及び外部デバイス間で実行される場合、CPU3012は、RAM3014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース3022に対し、通信処理を命令してよい。通信インターフェース3022は、CPU3012の制御の下、RAM3014、ハードディスクドライブ3024、DVD-ROM3001、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0231】
また、CPU3012は、ハードディスクドライブ3024、DVD-ROMドライブ3026(DVD-ROM3001)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM3014に読み取られるようにし、RAM3014上のデータに対し様々なタイプの処理を実行してよい。CPU3012は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0232】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU3012は、RAM3014から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM3014に対しライトバックする。また、CPU3012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU3012は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0233】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ3000上又はコンピュータ3000近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それにより、上記のプログラムを、ネットワークを介してコンピュータ3000に提供する。
【0234】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0235】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0236】
10 通信ネットワーク
12 店舗
14 店舗
22 ユーザ
24 ユーザ
100 データ解析システム
102 通信端末
104 通信端末
108 通信端末
122 アクセスポイント
124 アクセスポイント
142 来店確認機器
144 来店確認機器
160 管理サーバ
220 入出力制御部
230 情報収集部
240 解析部
242 格納部
244 入力データ生成部
250 モデル構築部
252 データセット生成部
254 学習部
256 閾値調整部
260 判定部
270 来店人数推定部
322 AP情報格納部
324 店舗情報格納部
326 対応情報格納部
332 ログ情報格納部
334 来店情報格納部
342 入力データ格納部
352 データセット格納部
354 対象データ格納部
362 出力データ格納部
372 モデル情報格納部
422 グループ
424 グループ
552 ラベル付与部
554 データセット出力部
556 対象データ出力部
652 クラス分類器
654 クラス分類器
656 初期設定格納部
752 ROCカーブ算出部
754 AUCスコア算出部
756 作動ポイント決定部
758 調整値決定部
820 ROCカーブ
832 ポイント
834 ポイント
840 直線
900 データテーブル
922 APID
924 情報
926 店舗ID
1000 データテーブル
1022 店舗ID
1024 店舗名称
1026 店舗タイプ
1028 位置情報
1030 情報
1100 データテーブル
1122 端末ID
1124 ユーザID
1200 データテーブル
1222 APID
1224 情報
1226 端末ID
1228 情報
1300 データテーブル
1322 ユーザID
1324 位置情報
1326 情報
1400 データテーブル
1422 端末ID
1424 店舗ID
1426 情報
1428 情報
1500 データテーブル
1532 情報
1600 データテーブル
1632 情報
1634 情報
1700 データテーブル
1732 情報
1734 情報
1800 データテーブル
3000 コンピュータ
3001 DVD-ROM
3010 ホストコントローラ
3012 CPU
3014 RAM
3016 グラフィックコントローラ
3018 ディスプレイデバイス
3020 入出力コントローラ
3022 通信インターフェース
3024 ハードディスクドライブ
3026 DVD-ROMドライブ
3030 ROM
3040 入出力チップ
3042 キーボード