以下、本発明の実施形態について、図面を参照しながら説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
図1は、実施形態に係る測位システム1の概略構成を示す図である。測位システム1では、ユーザUが、スマートフォンなどの端末10を所有している。端末10は、たとえばWi−Fiアクセスポイントに設けられた発信器3、4からの発信信号(ビーコン信号等)を受信可能に構成される。なお、発信器の数は図1に示される例に限定されない。端末10は、サーバ20と通信可能である。サーバ20は、端末10(つまりユーザU)が滞在している店舗(滞在店舗)を判定するための判定装置である。判定の例は、店舗の名称等の特定である。サーバ20は、端末10における上述の発信信号の受信結果に基づいて、端末10の滞在店舗を判定する。受信結果の例は、端末10において受信された発信器からの発信信号の受信強度(RSSI:Received Signal Strength Indicator)の組み合わせである。ただし、発信信号が一つの場合であってもよい。図1の例では、端末10の滞在店舗が店舗Aであることが、サーバ20によって判定される。ここで、本実施形態では、サーバ20が、端末10の滞在店舗の判定精度を向上させるための機械学習も行う。
上述のように、端末10において受信された各発信信号の受信強度の組み合わせに基づいて端末10の滞在店舗を判定するので、サーバ20では、さまざまな地点における発信器からの発信信号の受信結果と、それら各地点に対応した店舗とを入力データとする機械学習が行われる。このような機械学習用の入力データは、端末10がユーザUとともに移動している間に、後述の原理を用いてサーバ20によって取得され得る。なお、機械学習には、サーバ30も利用される場合がある。機械学習のさらなる詳細については後述する。
図2は、端末10およびサーバ20の機能ブロックの例を示す図である。まず、端末10について説明する。端末10は、信号受信部11と、実行部12と、履歴取得部13と、記憶部14と、通信部15とを含む。
信号受信部11は、発信器(図1の発信器3、4等)からの発信信号を受信する部分である。発信信号には、発信器を特定するための識別子が含まれる。発信信号がWi−Fi信号である場合、識別子は、BSSID(Basic Service Set Identifier)であってよい。発信器がBLE(Bluetooth(登録商標) Low Energy)のビーコン信号である場合、識別子は、UUID(UniversallyUnique Identifier)、major値およびminor値の組み合わせであってよい。信号受信部11による発信信号の受信は、たとえば周期的に行われる。
実行部12は、店舗(図1の店舗A等)で利用するためのアプリケーションを実行する部分である。アプリケーションの例は、店舗での決済に利用されるアプリケーション、店舗での商品情報の取得に利用されるアプリケーションである。この他にも、ポイントカードを利用するためのアプリケーション、クーポンを利用するためのアプリケーション等がある。実行部12によるアプリケーションの実行は、たとえば、ユーザUによる端末10の操作(ユーザ操作)に応じて開始されてもよいし、端末10がいずれかの店舗に滞在していると判定されたことに応じて開始されてもよい。
履歴取得部13は、信号受信部11によって受信された発信信号の受信履歴を取得する部分である。発信信号の受信履歴は、たとえば、端末10が発信器からの発信信号を受信した時刻(受信時刻)、発信器の識別子、および受信強度(RSSI)を含む。複数の発信器からの発信信号が同じタイミングで受信された場合、受信履歴は、発信器ごとの受信強度を含む。時刻は、タイムスタンプによって特定されてよい。
また、履歴取得部13は、実行部12によって実行されたアプリケーションの履歴(アプリケーションの利用履歴)も取得する。アプリケーションの利用履歴は、ユーザ操作の履歴(操作履歴)を含む。操作履歴は、たとえば、各操作と、対応する操作が行われた時刻とを対応づけた履歴情報である。操作は、アプリケーションを起動または終了するための操作、アプリケーションの起動中の操作を含む。アプリケーションの起動中の操作の例は、店舗で決済を行う際になされる操作、店舗で商品情報を取得する際になされる操作、ポイントカードを利用する際になされる操作、クーポンを利用する際になされる操作等がある。
記憶部14は、端末10が実行する種々の処理に必要な情報を記憶する部分である。たとえば、記憶部14は、履歴取得部13によって取得された上述の受信履歴および利用履歴を一時的に記憶するキャッシュとして用いられてもよい。記憶部14は、実行部12が上述のアプリケーションを実行するために必要なプログラムを格納してもよい。
通信部15は、サーバ20と通信を行う部分である。たとえば、サーバ20の機械学習に供するために、通信部15は、履歴取得部13によって取得された発信信号の受信履歴およびアプリケーションの利用履歴を、サーバ20に送信する。また、サーバ20による端末10の滞在店舗の判定のために、通信部15は、発信信号の受信履歴(あるいはリアルタイムの発信信号の受信結果)をサーバ20に送信する。その場合、通信部15は、サーバ20による端末10の滞在店舗の判定結果をサーバ20から受信する。
次に、サーバ20について説明する。サーバ20は、通信部21と、特定部22と、管理部23と、生成部24と、判定部25と、記憶部26とを含む。
通信部21は、端末10の通信部15と通信する部分である。たとえば上述のように、端末10における発信信号の受信履歴およびアプリケーションの利用履歴が端末10から送信される場合、通信部21は、端末10における発信信号の受信履歴およびアプリケーションの利用履歴を取得する部分(取得手段)となる。
特定部22は、通信部21によって取得されたアプリケーションの利用履歴から、端末10が滞在していた店舗を特定する部分(特定手段)である。たとえば、アプリケーションが、店舗での決済に利用されるアプリケーションである場合には、決済が行われた店舗を、端末10の滞在店舗として特定してよい。アプリケーションが、店舗での商品情報の取得に利用されるアプリケーションである場合には、取得された商品情報に係る商品を提供している店舗を、端末10の滞在店舗として特定してよい。アプリケーションが、ポイントカードを利用するためのアプリケーションである場合には、ポイントが利用された店舗を、端末10の滞在店舗として特定してよい。アプリケーションが、クーポンを利用するアプリケーションである場合には、クーポンが利用された店舗を、端末10の滞在店舗として特定してよい。
ここで、アプリケーションが店舗での決済に利用されるアプリケーションである場合、決済が行われた店舗を直ちには特定できない場合もある。これは、決済を特定するための識別子(決済識別子(たとえば決済番号等の決済データ))と、決済が行われた店舗と、決済金額等とを含む決済履歴が、クレジットカード会社等の金融機関が管理するサーバによって管理されている場合があるからである。このような金融機関が管理するサーバの例が、先に図1を参照して説明したサーバ30である。この場合、アプリケーションの利用履歴には、決済が行われた店舗の情報は含まれず、代わりに上述の決済識別子が含まれることになる。この場合、特定部22は、サーバ30にアクセスし、決済識別子に対応する決済履歴をサーバ30から取得し、利用履歴と取得した決済履歴とを連結することによって、決済が行われた店舗を特定することができる。サーバ30への問い合わせは、通信部21を用いて行われてよい。
さらに、特定部22は、通信部21によって取得されたアプリケーションの利用履歴から、上記のように特定した店舗での端末10の滞在時間帯を特定する。滞在時間帯は、アプリケーションの利用履歴が発生した時刻と、予め設定された滞在時間帯の長さ(滞在時間幅)とに基づいて特定されてよい。具体的に、滞在時間帯にアプリケーションの利用履歴が発生した時刻が含まれるように、滞在時間帯が特定されてよい。また、滞在時間帯の長さが滞在時間幅となるように、滞在時間帯が特定されてよい。たとえば、アプリケーションの利用履歴が発生した時刻を時刻tとすると、その店舗での端末10の滞在時間帯は、時刻tよりも第1の滞在時間幅T1だけ前の時刻(t−T1)から、時刻tよりも第2の滞在時間幅T2だけ後の時刻(t+T2)の間の時間帯に設定される。つまり、第1の滞在時間幅T1および第2の滞在時間幅T2は、滞在時間幅を決定するための閾値であり、滞在時間幅はT1+T2として定められる。
ここで、第1の滞在時間幅T1および第2の滞在時間幅T2は、店舗ごとに異なる値に設定されることが望ましい。この理由について、アプリケーションの利用履歴として、店舗での決済に利用されるアプリケーションの利用履歴が用いられる場合を例に挙げて説明する。たとえば、店舗が映画館等のように料金が前払いされる施設である場合には、アプリケーションの利用履歴が発生した時刻が滞在時間帯中の比較的早い時刻となるように、滞在時間帯を設定するのが良いと考えられる。この場合、上述の第1の滞在時間幅T1と上述の第2の滞在時間幅T2との間には、T2>T1の関係が成立するように第1の滞在時間幅T1および第2の滞在時間幅T2を設定することが望ましい。店舗が飲食店等のように料金が後払いされる施設である場合には、アプリケーションの利用履歴が発生した時刻が滞在時間帯中の比較的遅い時刻となるように、滞在時間帯を設定するのがよいと考えられる。この場合、T1>T2の関係が成立するように第1の滞在時間幅T1および第2の滞在時間幅T2を設定することが望ましい。店舗が雑貨店等のように料金が随時支払われる施設である場合には、アプリケーションの利用履歴が発生した時刻が滞在時間帯中の中心の時刻となるように、滞在時間を設定するのがよいと考えられる。この場合、T1=T2の関係が成立するように第1の滞在時間幅T1および第2の滞在時間幅T2を設定することが望ましい。このような店舗に応じた適切な第1の滞在時間幅T1および第2の滞在時間幅T2は、管理部23によって設定され得る。
管理部23は、店舗ごとの滞在時間幅を管理する部分である。たとえば、後述の記憶部26が、各店舗と、上述の第1の滞在時間幅T1およびを第2の滞在時間幅T2とを対応付けて記述した管理テーブルを記憶する。管理部23は、店舗ごとに、前述のような適切な第1の滞在時間幅T1および第2の滞在時間幅T2を設定し、その設定結果でもって、管理テーブルを更新する。管理部23による第1の滞在時間幅T1および第2の滞在時間幅T2の設定の手法については、後述の生成部24、判定部25および記憶部26の説明の後に改めて説明する。なお、同じ種別の店舗については、同じ大きさの第1の滞在時間幅T1および第2の滞在時間幅T2が割り当てられてよい。たとえば複数の店舗が同じチェーン店同士である場合には、それらの店舗は同じ種別の店舗とみなしてよい。
生成部24は、端末10が滞在している店舗を判定するための判定モデルを生成する部分(生成手段)である。生成部24は、特定部22によって特定された店舗と、特定部22によって特定された滞在時間帯での端末10における発信信号の受信履歴とを用いた機械学習により、判定モデルを生成する。この機械学習では、特定された店舗と、特定された滞在時間帯での端末10における発信信号の受信履歴とが、教師データに用いられる。機械学習には、種々の公知の手法を用いることができる。機械学習のアルゴリズムの例は、Random forestである。
図4は、機械学習において入力されるデータの例を示す図である。機械学習では、上述のように、特定部22によって特定された店舗、および、特定部22によって特定された滞在時間帯での端末10における発信信号の受信履歴が、入力データとして用いられる。図4に示される例では、入力データは、各時刻における、店舗名と、各発信器からの発信信号の受信強度(RSSI)とを対応づけたデータである。受信強度の単位は、たとえばdBmである。ただし、受信強度が「0」の箇所は、発信器からの発信信号が検出されなかったことを意味している。発信器は、BSSIDで示されている。異なる店舗名は、「店舗A」、「店舗B」および「店舗C」と簡略化して図示している。異なるBSSIDも、「BSSID1」、「BSSID2」、「BSSID3」、「BSSID4」と簡略化して図示している。店舗Aでの端末10の滞在時間帯は、時刻「0:00:02」、「0:00:04」および「0:00:07」を含む時間帯として特定されている。店舗Bでの端末10の滞在時間帯は、時刻「0:04:38」、「0:04:40」および「0:04:41」を含む時間帯として特定されている。店舗Cでの端末10の滞在時間帯は、時刻「0:08:03」および「0:08:05」を含む時間帯として特定されている。このような入力データは、たとえば、各時刻と特定部22によって特定された店舗(この例では店舗名)とを対応づけた第1のデータと、各時刻と受信強度とを対応づけた第2のデータとを組み合わせることによって作成されてよい。組み合わせの際は、第1のデータにおける各時刻を基準として、特定部22によって特定された滞在時間帯の範囲での第2のデータが統合される。図4に示されるような入力データを教師データとする機械学習を行うことによって、発信信号の受信強度の組み合わせに基づいて端末10の滞在店舗を特定するための判定モデルを生成することができる。たとえば機械学習のアルゴリズムとしてRandom forestを用いる場合には、図4に示す店舗名を滞在店舗の正解値、BSSID1からBSSID4の電波強度(受信強度)を学習データとして利用し、店舗滞在判定モデルを生成する。このようにして生成された判定モデルを用いることによって、端末10の滞在店舗を判定することができる。
図2に戻り、判定部25は、生成部24によって生成された判定モデルを用いて、端末10の滞在店舗を判定する部分である。判定が行われる際には、端末10における発信信号の受信履歴(あるいはリアルタイムの発信信号の受信結果)が、端末10の通信部15からサーバ20の通信部21に送信される。判定部25は、この受信履歴等を判定モデルの入力データとすることによって、端末10の滞在店舗を判定する。ここで、判定モデルによる判定の具体例について、図5および図6を参照して説明する。
図5は、端末10の滞在店舗を判定する際に判定モデルに入力されるデータの例が示される。図5に示される例では、入力データは、端末10における発信信号の受信履歴であり、発信器からの受信信号を受信した時刻と、各発信器(各BSSID)からの発信信号のRSSIとを対応づけたデータである。
図6は、判定モデルによって出力される判定結果の例を示す。図6に示されるように、発信器からの受信信号を受信した時刻と、端末10の滞在店舗の店舗名とを対応づけたデータが、出力データとされる。このような出力データから、端末10の滞在店舗が判定される。時刻ごとの滞在店舗も判定することができる。
図2に戻り、記憶部26は、サーバ20において実行される処理に必要な種々の情報を記憶する部分である。たとえば、記憶部26は、上述の管理部23によって管理される管理テーブルを記憶する。また、記憶部26は、生成部24によって生成される判定モデルを記憶する。
ここで、先に説明した、管理部23による店舗ごとの第1の滞在時間幅T1および第2の滞在時間幅T2の設定の手法の例を説明する。まず、アプリケーションの利用履歴が発生した時刻の近傍の時刻での端末10における発信器からの発信信号の受信強度の組み合わせを、受信履歴から抽出しておく。たとえば、アプリケーションの利用履歴が発生した時刻の前後数十秒から数分程度の範囲の時刻での受信強度の組み合わせが抽出されてよい。この受信強度の組み合わせは、後述の判定精度の評価に用いられる。次に、第1の滞在時間幅T1および第2の滞在時間幅T2を予め定められた初期値に設定する。初期値は十分に小さい値であってよい。そして、初期値に設定された第1の滞在時間幅T1および第2の滞在時間幅T2によって定められる滞在時間での端末10における発信器からの発信信号の受信履歴を用いた上述の機械学習により、判定モデルを生成する。次に、生成された判定モデルの精度評価を行う。たとえば、上述のアプリケーションの利用履歴が発生した時刻の近傍の時刻での受信強度の組み合わせが判定モデルに入力され、端末10の滞在店舗が正しく判定されるか(精度が良好であるか)否かが評価される。その後、第1の滞在時間幅T1および第2の滞在時間幅T2を初期値から徐々に大きくしていき、同様に、判定モデルの生成、生成された判定モデルの精度評価を行う。これらの処理を繰り返し実行し、判定の精度評価が良好でかつ第1の滞在時間幅T1および第2の滞在時間幅T2ができるだけ大きく(たとえば最大と)なるように、第1の滞在時間幅T1および第2の滞在時間幅T2を設定する。そして、設定した第1の滞在時間幅T1および第2の滞在時間幅T2でもって、管理テーブルを更新する。
ここで、図3を参照して、サーバ20のハードウェア構成の一例について説明する。サーバ20の機能ブロック(構成部)は、ハードウェアおよび/またはソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的および/または論理的に結合した1つの装置により実現されてもよいし、物理的および/または論理的に分離した2つ以上の装置を直接的および/または間接的に(たとえば、有線および/または無線)で接続し、これら複数の装置により実現されてもよい。なお、以下で説明するハードウェア構成例は、サーバ20に限らず、端末10およびサーバ30において採用してもよい。
図3に示される例では、サーバ20は、物理的には、プロセッサ20A、メモリ20B、ストレージ20C、通信モジュール20D、入力装置20E、出力装置20F、バス20Gなどを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。サーバ20のハードウェア構成は、図3に示した各装置を1つまたは複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
サーバ20における各機能は、プロセッサ20A、メモリ20Bなどのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ20Aが演算を行い、通信モジュール20Dによる通信や、メモリ20Bおよびストレージ20Cにおけるデータの読み出しおよび/または書き込みを制御することで実現される。
プロセッサ20Aは、たとえば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ20Aは、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。たとえば、上述の通信部21、特定部22、管理部23、生成部24および判定部25などは、プロセッサ20Aで実現されてもよい。
また、プロセッサ20Aは、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ20Cおよび/または通信モジュール20Dからメモリ20Bに読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。たとえば、特定部22、管理部23、生成部24および判定部25などは、メモリ20Bに格納され、プロセッサ20Aで動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ20Aで実行される旨を説明してきたが、2以上のプロセッサ20Aにより同時または逐次に実行されてもよい。プロセッサ20Aは、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ20Bは、コンピュータ読み取り可能な記録媒体であり、たとえば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ30Bは、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ20Bは、本発明の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ20Cは、コンピュータ読み取り可能な記録媒体であり、たとえば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(たとえば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(たとえば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ20Cは、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、たとえば、メモリ20Bおよび/またはストレージ20Cを含むデータベース、サーバその他の適切な媒体であってもよい。
通信モジュール20Dは、有線および/または無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、たとえばネットワークデバイス、ネットワークコントローラ、ネットワークカードなどともいう。
入力装置20Eは、外部からの入力を受け付ける入力デバイスである。出力装置20Fは、外部への出力を実施する出力デバイス(たとえば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置20Eおよび出力装置20Fは、一体となった構成(たとえば、タッチパネル)であってもよい。
また、プロセッサ20Aやメモリ20Bなどの各装置は、情報を通信するためのバス20Gで接続される。バス20Gは、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、サーバ20は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部または全てが実現されてもよい。たとえば、プロセッサ20Aは、これらのハードウェアの少なくとも1つで実装されてもよい。
図7は、生成部24が判定モデルを生成するために行う機械学習の際に実行される処理の一例を示すフローチャートである。このフローチャートの処理は、所定の周期で(たとえば24時間ごとに)実行されてよい。なお、端末10では、発信器からの発信信号の受信履歴およびアプリケーションの利用履歴が作成されているものとする。
ステップS1〜S3の処理は、端末10において実行される。ステップS1において、履歴取得部13が、発信器からの発信信号の受信履歴を取得し、ステップS2において、履歴取得部13が、アプリケーションの利用履歴を取得する。ステップS3において、通信部15が、それらのデータ(受信履歴および利用履歴)をサーバ20の通信部21に送信する。
ステップS4〜S9の処理は、サーバ20において実行される。ステップS4において、通信部21が、先のステップS3において送信されたデータを受信(取得)する。
次に、特定部22が、利用履歴から端末10が滞在していた店舗を特定する。ここで、利用履歴が、店舗での決済に利用されるアプリケーションの利用履歴であり、先に説明したように、サーバ30にアクセスして利用履歴および決済履歴を連結する必要があるか否かに応じて、処理が分岐する。利用履歴と決済履歴との連結が必要な場合(ステップS5:YES)、特定部22は、通信部21を用いてサーバ30にアクセスし、決済履歴をサーバ30から取得し(ステップS6)、後述のステップS7に処理を進める。利用履歴と決済履歴との連結が必要でない場合(ステップS5:NO)、特定部22は、ステップS7に処理を進める。
ステップS7において、特定部22が、先のステップS4において取得されたアプリケーションの利用履歴から、先に説明したように、端末10が滞在していた店舗および滞在時間帯を特定する。
ステップS8において、生成部24が、判定モデルを生成する。具体的に、先のステップS7において特定された店舗と、滞在時間帯での端末10における発信信号の受信履歴とを用いて、先に説明したように、機械学習が行われ、判定モデルが生成される。
ステップS9において、管理部23が、判定精度の評価結果に応じて、滞在時間の閾値を更新する。具体的に、管理部23が、先に説明したように、判定の精度評価が良好でかつ第1の滞在時間幅T1および第2の滞在時間幅T2ができるだけ大きく(たとえば最大と)なるように第1の滞在時間幅T1および第2の滞在時間幅T2を特定し、特定した第1の滞在時間幅T1および第2の滞在時間幅T2でもって、管理テーブルを更新する。また、更新後の滞在時間幅を用いて、同じ種別の店舗については、同じ大きさの滞在時間幅を割り当てる。その後、図7のフローチャートは終了する。
図8は、生成部24によって生成された判定モデルを用いて端末10の滞在店舗を判定する際に実行される処理の一例を示すフローチャートである。
ステップS11およびS12の処理は、端末10において実行される。具体的に、ステップS11において、信号受信部11が、発信器からの発信信号を受信する。ステップS12において、通信部15が受信データをサーバ20の通信部21に送信する。受信データは、受信強度(RSSI)等を含む。受信時刻も、受信データに含まれてよい。
ステップS13〜S15の処理は、サーバ20において実行される。ステップS13において、通信部21が、先のステップS12において送信された受信データを取得(受信)する。ステップS14において、判定部25が、生成部24によって生成された判定モデルを用いて、端末10の滞在店舗を判定する。具体的に、先のステップS13で取得された受信データが判定モデルに入力されたことに応じて出力される判定モデルの出力結果から、端末10の滞在店舗が判定される。
ステップS16の処理は、端末10において実行される。具体的に、通信部15が、先のステップS15にいて送信された判定結果を受信する。これにより、端末10の滞在している店舗が判定される。その後、図8のフローチャートは終了する。
以上説明した測位システム1によれば、サーバ20では、端末10におけるアプリケーションの利用履歴から、端末10が滞在していた店舗が特定される(ステップS7)。この利用履歴は、店舗で利用するためのアプリケーションの利用履歴であるので、端末10が滞在していた店舗を正確に特定することができる。また、サーバ20では、店舗での端末10の滞在時間帯も特定される(ステップS7)。そして、特定された店舗および特定された滞在時間帯での受信履歴を用いた機械学習により、端末10が滞在している店舗を判定するための判定モデルが生成される(ステップS8)。この判定モデルは、上述のように正確に特定された店舗を教師データとする機械学習によって得られるものである。このような判定モデルにより端末10の滞在店舗を判定すれば、GPSで特定した店舗を含むリファレンスデータを用いて同様の判定を行う場合よりも、判定精度を向上させることができる。
また、機械学習には、特定された滞在時間帯での受信履歴が用いられる。滞在時間帯には複数の時刻における発信器からの発信信号の受信結果が含まれる。したがって、機械学習に用いることができる複数のサンプルデータを、一度に取得することができる。
利用履歴として、アプリケーションの起動履歴および終了履歴の少なくとも一方が取得されてもよい(ステップS4)。アプリケーションの起動時または終了時には、端末10が店舗に滞在していた可能性が高い。そのため、上記のようなアプリケーションの起動履歴および終了履歴の少なくとも一方を含む利用履歴から店舗を特定することによって、端末10が滞在していた店舗を正確に特定することができる。
利用履歴として、店舗での決済に利用されるアプリケーションの利用履歴が取得されてもよい(ステップS4)。決済時も、端末10が店舗に滞在していた可能性が高い。そのため、上記のような店舗での決済に利用されるアプリケーションの利用履歴から店舗を特定することによっても、端末10が滞在していた店舗を正確に特定することができる。
利用履歴として、店舗での商品情報の取得に利用されるアプリケーションの利用履歴が取得されてもよい(ステップS4)。店舗での商品情報の取得時も、端末10が店舗に滞在していた可能性が高い。そのため、上記のような店舗での商品情報の取得に利用されるアプリケーションの利用履歴から店舗を特定することによっても、端末10が滞在していた店舗を正確に特定することができる。
店舗での端末10の滞在時間帯は、利用履歴が発生した時刻と、特定された店舗に応じた滞在時間幅とを用いて、特定されてもよい(ステップS9)。店舗での端末10の滞在時間幅は、店舗によって異なり得る。上記のように店舗に応じた滞在時間幅を用いることによって、店舗での端末の滞在時間帯を正確に特定することもできる。また、上述のように機械学習に用いることができる複数のサンプルデータが一度に取得される場合でも、有効なサンプルデータのみを取得できるようになる。
滞在時間は、店舗の種別(たとえば同じチェーン店)ごとに設定されていてもよい(ステップS9)。これにより、店舗の種別に応じた適切な滞在時間を用いて、その店舗での端末10の滞在時間帯を特定することができる。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨および範囲を逸脱することなく修正および変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE−A(LTE-Advanced)、SUPER 3G、IMT−Advanced、4G、5G、FRA(Future Radio Access)、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステムおよび/またはこれらに基づいて拡張された次世代システムに適用されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。たとえば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
情報等は、上位レイヤ(または下位レイヤ)から下位レイヤ(または上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は特定の場所(たとえば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(たとえば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(たとえば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(たとえば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペアおよびデジタル加入者回線(DSL)などの有線技術および/または赤外線、無線およびマイクロ波などの無線技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、これらの有線技術および/または無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。たとえば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、またはこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語および/または本明細書の理解に必要な用語については、同一のまたは類似する意味を有する用語と置き換えてもよい。
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。たとえば、無線リソースはインデックスで指示されるものであってもよい。
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル(たとえば、PUCCH、PDCCHなど)および情報要素(たとえば、TPCなど)は、あらゆる好適な名称によって識別できるので、これらの様々なチャネルおよび情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
「含む(include)」、「含んでいる(comprising)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。