(58)【調査した分野】(Int.Cl.,DB名)
ユーザの位置の測位に関する情報として、当該位置が測位された際の測位手段に関する情報である、第1の測位手段、及び、当該第1の測位手段に対して精度の高い第2の測位手段によって当該ユーザの位置が測位された場合の位置情報を所定時間にわたって取得する取得手順と、
前記所定時間にわたって測位された複数の位置情報において、前記第1の測位手段では前記ユーザが移動したことを測位できず、かつ、前記第2の測位手段では前記ユーザが移動したことを測位できた場合には、前記第2の測位手段によって測位された位置を示す位置情報を記憶部に記憶すると判定する判定手順と、
をコンピュータに実行させることを特徴とする判定プログラム。
前記判定手順によって記憶部に記憶すると判定された位置情報を抽出し、抽出された位置情報を、当該記憶部に位置情報を格納する機能を有する外部装置に送信する送信手順、
をさらに前記コンピュータに実行させることを特徴とする請求項2〜6のいずれか一つに記載の判定プログラム。
ユーザの位置の測位に関する情報として、当該位置が測位された際の測位手段に関する情報である、第1の測位手段、及び、当該第1の測位手段に対して精度の高い第2の測位手段によって当該ユーザの位置が測位された場合の位置情報を所定時間にわたって取得する取得部と、
前記所定時間にわたって測位された複数の位置情報において、前記第1の測位手段では前記ユーザが移動したことを測位できず、かつ、前記第2の測位手段では前記ユーザが移動したことを測位できた場合には、前記第2の測位手段によって測位された位置を示す位置情報を記憶部に記憶すると判定する判定部と、
を備えたことを特徴とする判定装置。
前記判定部によって、前記取得部によって取得された位置情報のうち記憶部に記憶すると判定された位置情報を抽出し、抽出された位置情報を、当該記憶部に位置情報を格納する機能を有する外部装置に送信する送信部、
をさらに備えたことを特徴とする請求項8〜10のいずれか一つに記載の判定装置。
【発明を実施するための形態】
【0010】
以下に、本願に係る判定プログラム、判定装置及び判定方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定プログラム、判定装置及び判定方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.判定処理の一例〕
まず、
図1を用いて、実施形態に係る判定処理の一例について説明する。
図1は、実施形態に係る判定処理の一例を示す図である。
図1では、実施形態に係る判定プログラムによって動作するコンピュータの一例である判定装置100によって実行される判定処理の一例について説明する。具体的には、
図1では、判定装置100が、ユーザの位置を示す位置情報、及び、当該位置の抽象度に関する情報を取得し、取得した抽象度に関する情報に対応した複数の判定基準に基づいて、位置情報を抽象化するか否かを判定する処理を行う例を示す。
【0012】
図1に示す判定装置100は、ユーザ端末10から送信される位置情報を取得し、取得した位置情報を記憶部に記憶するサーバ装置である。例えば、判定装置100は、各ユーザを識別する識別情報と各ユーザの位置を示す情報とを対応付けて取得し、取得した情報を位置情報として蓄積する。例えば、判定装置100は、ユーザが利用する端末装置にインストールされたアプリを介して所定のサービスを提供するサーバであり、アプリの利用に伴い、ユーザから定期的に位置情報を取得する。また、判定装置100は、位置情報を利用して、種々のサービスを提供する。実施形態では、判定装置100は、例えば、ユーザの位置情報を利用して交通案内を行うナビアプリに係るサービスや、ログインしたユーザに様々な情報を提供するポータルアプリに係るサービス等を提供するものとする。なお、判定装置100は、取得した位置情報等を、種々のサービスを提供する他の事業者に提供してもよい。
【0013】
図1に示すユーザ端末10は、スマートフォン等の情報処理端末である。実施形態では、ユーザ端末10は、ユーザの一例であるユーザU01によって利用される。以下では、ユーザ端末10をユーザと読み替える場合がある。例えば、「ユーザU01が位置情報を送信する」とは、実際には、「ユーザU01が利用するユーザ端末10が位置情報を送信する」ことを意味する場合がある。
【0014】
ユーザ端末10は、例えばGPS(Global Positioning System)等の位置を測位する測位手段を利用して、自装置が所在する位置(例えば経度や緯度の数値等)を検知し、検知した位置を示す情報である位置情報を取得する。なお、位置情報は、位置を示す情報のみならず、その位置が検知された時間を含んでもよい。そして、ユーザ端末10は、例えば利用するアプリの制御に従い、検知した位置情報を判定装置100に送信する。具体的には、ユーザ端末10は、判定装置100によって管理されるアプリであるナビアプリやポータルアプリの制御(機能)に従い、定期的かつ継続的に位置情報を判定装置100に送信する。ユーザ端末10から送信される位置情報は、判定装置100が有する記憶部に蓄積され、種々の情報処理に利用される。
【0015】
上記のように、ユーザ端末10は、検知した位置を取得し、取得した位置に対応する位置情報を判定装置100に送信する。しかしながら、取得した位置情報の判定装置100への送信は、サービスを利用する全てのユーザ端末10から定期的かつ継続的に行われるため、判定装置100が取得する位置情報は膨大な情報量となる。このため、判定装置100は、無作為に位置情報を記憶部に記憶するのではなく、サービスの提供のために有用な位置情報のみを記憶することが望ましい。言い換えれば、判定装置100は、位置情報を抽象化して保持することが望ましい。なお、実施形態において、位置情報の抽象化とは、例えば、複数の位置情報が特定のユーザの所在する位置を示す場合に、情報処理に影響を与えないように複数の位置情報から所定数を除く(間引く)処理をいう。また、位置情報の抽象化とは、異なる複数の位置情報であっても、情報処理に大きく影響がないと考えられる場合、それら複数の位置情報を丸める(同一の位置を示す情報とみなす)ことによって、全体の情報量を圧縮することともいえる。
【0016】
そこで、実施形態に係る判定装置100は、位置情報とともに、ユーザの位置を示す位置情報における位置の抽象度に関する情報を取得する。そして、判定装置100は、抽象度に関する情報に対応した複数の判定基準に基づいて、位置情報を抽象化するか否かを判定する。より具体的には、判定装置100は、位置情報の抽象化として、抽象度に関する情報に対応した複数の判定基準であって、取得した位置情報を記憶部に記憶するか否かを判定するための判定基準に基づいて、当該位置情報を記憶部に記憶するか否かを判定する。かかる制御により、判定装置100は、有用な位置情報のみを抽出して記憶することができるため、位置情報の蓄積によって記憶容量が枯渇することを防止できる。言い換えれば、判定装置100は、位置情報を効率的に取得することができる。なお、位置の抽象度に関する情報とは、どのくらいの基準で位置情報を記憶部に保持するのか(すなわち、判定装置100が、取得した位置情報を全て保持するのではなく、取得した全ての位置情報の中から、破棄しても情報処理に問題がないと想定される位置情報(抽象化しても問題のない位置情報)をどのように抽出するのか)を示す指針となる情報である。実施形態では、位置の抽象度に関する情報とは、例えば、ユーザ端末10がユーザの位置を測位する際の測位に関する情報である。例えば、位置の測位に関する情報とは、ユーザの位置を示す情報における、ユーザの位置を特定する精度を示すために用いられる情報である。例えば、ユーザの位置を特定する精度は、位置を測位する測位手段や、位置情報を取得する端末装置の情報処理能力等によって変動する。すなわち、測位に関する情報とは、例えば、ユーザ端末10が位置を測位する際に用いる測位手段や、測位された位置の誤差の範囲を示した情報や、位置情報を取得するユーザ端末10の情報処理能力等である。以下、
図1を用いて、実施形態に係る判定処理の流れについて説明する。
【0017】
図1の例において、ユーザ端末10は、ユーザU01によってインストールされた所定のアプリの機能に従い、位置情報を検知するとともに、検知した位置に対応する位置情報を判定装置100に送信する。例えば、ユーザ端末10は、10分毎に所定の測位手段を用いて自装置の位置を検知するとともに、位置情報を判定装置100に送信する。
【0018】
ここで、実施形態に係る判定装置100は、ユーザ端末10から送信される位置情報を記憶部に記憶するか否かの判定処理において、ユーザ端末10によって検知(測位)された位置の精度に応じた判定基準を用いる。
【0019】
例えば、位置の精度は、ユーザ端末10に位置が検知される際に利用される測位手段に応じて異なる。
図1の例では、ユーザ端末10は、GPS衛星による測位手段(以下、単に「GPS」と表記する)を利用しうる。また、ユーザ端末10は、Wi−Fi(登録商標)通信機能を介して各通信会社が有する基地局やアクセスポイントとの距離を測ることにより自装置の位置を特定する測位手段(以下、単に「Wi−Fi」と表記する)を利用しうる。また、ユーザ端末10は、ユーザ端末10のBluetooth(登録商標)機能を利用してビーコン(beacon)発信機等と接続することにより、自装置の位置を特定する測位手段(以下、単に「Bluetooth」や、もしくは「beacon」と表記する)を利用しうる。
【0020】
判定装置100は、上記のような測位手段ごとに異なる判定基準を有する。そして、判定装置100は、ユーザ端末10によって位置情報が取得された際の測位手段に応じて、異なる判定基準を用いて、ユーザ端末10から取得した位置情報を抽象化するか否かを判定する。例えば、判定装置100は、判定基準を用いて、ユーザ端末10から取得した位置情報のうちいずれを間引くか、あるいは、いずれの位置情報を残すかを判定する。より具体的には、判定装置100は、判定基準を用いて、ユーザ端末10から取得した位置情報を記憶部に記憶するか否かを判定する。
【0021】
なお、実施形態では、GPSにより位置が測位された際の精度よりも、Wi−Fiにより位置が測位された際の精度の方が、精度が高いと仮定する。また、Wi−Fiにより位置が測位された際の精度よりも、beaconにより位置が測位された際の精度の方が、精度が高いと仮定する。また、実施形態では、判定装置100は、複数の測位手段を用いて位置情報が取得されていた場合には、より精度の高い測位手段に対応する判定基準を用いるものとする。
【0022】
例えば、
図1では、ユーザ端末10は、ユーザU01が自宅を出発し駅まで徒歩で向かうまでの間は、GPSを測位手段として位置情報を取得するものとする。そして、ユーザ端末10は、所定時間ごとに、取得された位置情報を判定装置100に送信する。
【0023】
この場合、判定装置100は、取得した位置情報のうち、GPSに対応する判定基準である判定基準A01を用いて判定を行う。例えば、判定基準A01には、「(対象(
図1の例ではユーザU01)が)500メートル以上移動したか?」や、「(直近に検知された位置から)1時間以上経過したか?」といった、位置情報を記憶するための条件が含まれる。
【0024】
このような判定基準は、記憶部に記憶する位置の精度と情報量との調和を採るために設けられる。例えば、GPSによって取得される位置情報は精度が低い(すなわち、ユーザU01の所在する位置を特定する際の誤差が大きい)ため、ユーザU01の位置情報の推移を取得したとしても、それら全ての位置情報が有用である可能性が低い。言い換えれば、GPSによって取得される位置情報としては、ユーザU01が自宅を出て、特定の拠点(
図1の例では駅)に着くまでの、比較的大まかなユーザU01の移動情報(例えば、数百メートルごとの移動を示す位置情報)を示せば十分であるといえる。
【0025】
このため、判定装置100は、GPSを利用して検知された位置情報については、比較的大まかな基準が設けられている判定基準A01を用いて、位置情報を記憶するか否かを判定する。
図1の例では、判定装置100は、ユーザU01が自宅から駅に到達するまでの間に取得された位置情報のうち、判定基準A01を満たす位置情報である位置情報B01や位置情報B02や位置情報B03を、保持する情報として抽出する。そして、判定装置100は、抽出した位置情報を記憶部に記憶する。一方、判定装置100は、ユーザU01が自宅から駅に到達するまでの間に取得された位置情報のうち、判定基準A01を満たさない位置情報については、記憶せずに破棄する。
【0026】
続けて、ユーザ端末10は、ユーザU01が駅に到達してから駅構内の特定の店舗に向かうまで、Wi−Fiを測位手段として位置情報を取得するものとする。例えば、駅構内に、ユーザ端末10がWi−Fiを利用可能な環境が整っている場合に、ユーザ端末10は、Wi−Fiを測位手段として位置情報を取得することができる。なお、ユーザ端末10は、可能な場合には、Wi−FiとともにGPSを利用した位置の検知を併用してもよい。そして、ユーザ端末10は、所定時間ごとに、取得された位置情報を判定装置100に送信する。
【0027】
この場合、判定装置100は、取得した位置情報のうち、Wi−Fiに対応する判定基準である判定基準A02を用いて判定を行う。例えば、判定基準A02には、「(対象が)100メートル以上移動したか?」や、「(直近に検知された位置から)直線以外の移動を行ったか?」といった基準が設けられる。
【0028】
例えば、Wi−Fiによって取得される位置情報は、GPSのみによって取得される位置情報と比較して精度が高いため、一定の範囲でユーザU01の位置の推移を取得することが有用である可能性が高い。また、Wi−Fiが利用可能な駅構内等では、管理者が、各ユーザの位置情報を取得してユーザの行動を分析するなど、位置情報を活用する場合がある。すなわち、Wi−Fiによって位置情報が取得可能なときは、GPSと比較して、ユーザの行動に関して詳細な位置情報の取得が求められる場合があるため、判定基準A01と比較して条件が詳細に設けられた判定基準A02が採用される。なお、ユーザの動きが直線であるか否かの判定は、例えば、直近の位置の2点間と、次に取得された位置の2点間とをそれぞれベクトル表記し、双方のベクトルが形成する角度が所定の閾値を超えるか否か等により判定することができる。
【0029】
図1の例では、判定装置100は、ユーザU01が駅から店舗に到達するまでの間に取得された位置情報のうち、判定基準A02を満たす位置情報である位置情報B04や位置情報B05や位置情報B06を抽出して記憶する。そして、判定装置100は、ユーザU01が駅から店舗に到達するまでの間に取得された位置情報のうち、判定基準A02を満たさない位置情報については、記憶せずに破棄する。
【0030】
続けて、ユーザ端末10は、ユーザU01が店舗に入店してからオフィスに向かうまで、beaconを測位手段として位置情報を取得するものとする。例えば、店舗の陳列棚の各々に、来客したユーザの行動を分析するためのbeaconが配置されている場合に、ユーザ端末10は、beaconを測位手段として位置情報を取得することができる。なお、ユーザ端末10は、可能な場合には、beaconとともに、Wi−FiやGPSを利用した位置の検知を併用してもよい。そして、ユーザ端末10は、所定時間ごとに、取得された位置情報を判定装置100に送信する。
【0031】
この場合、判定装置100は、取得した位置情報のうち、beaconに対応する判定基準である判定基準A03を用いて判定を行う。例えば、判定基準A03には、「(対象が)1メートル以上移動したか?」や、「(直近に検知された位置から)別の陳列棚へ移動したか?」といった基準が設けられる。
【0032】
例えば、beaconによって取得される位置情報は、Wi−FiやGPSによって取得される位置情報と比較して精度が高いため、ユーザU01がどのような陳列棚(商品)を見ているかなど、ユーザU01の詳細な位置の推移を分析することが可能である。すなわち、beaconに基づいて位置情報が取得される場合、Wi−FiやGPSと比較して、ユーザの行動に関してより詳細な位置情報を保持する必要があるため、判定基準A02と比較して条件がより詳細に設けられた判定基準A03が採用される。なお、ユーザが別の陳列棚に移動したか否かは、例えば、ユーザ端末10との通信が、陳列棚に設置されたbeaconから別の陳列棚に設置された別のbeaconへ切り替わったこと等を判定することにより行われる。
【0033】
図1の例では、判定装置100は、ユーザU01が店舗内からオフィスに到達するまでの間に取得された位置情報のうち、判定基準A03を満たす位置情報である位置情報B07〜B13を抽出して記憶する。そして、判定装置100は、ユーザU01が店舗からオフィスに到達までの間に取得された位置情報のうち、判定基準A03を満たさない位置情報については、記憶せずに破棄する。
【0034】
図1を用いて説明してきたように、実施形態に係る判定装置100は、ユーザU01の位置を示す位置情報、及び、当該位置の測位に関する情報を取得する。また、判定装置100は、測位に関する情報に対応した判定基準に基づいて、当該位置情報を抽象化するか否かを判定する。
【0035】
これにより、判定装置100は、位置情報を利用するサービス等にとって有用な情報のみを抽象化することができる。具体的には、判定装置100は、有用な情報のみを抽出して記憶部に記憶する、といった取捨選択を適切に行うことができる。仮に、ユーザ端末10から送信された位置情報の抽象化を行うにあたり、全ての位置情報を同じ抽象度に対応する判定基準を用いた場合、判定装置100は、適切に位置情報を保持することができない場合がある。具体的には、測位手段がGPSである場合の精度(抽象度)に基づいて位置情報の抽象化を行うと、判定装置100が、駅構内で取得された位置情報や、店舗内で取得された位置情報について、「駅構内にユーザが所在する」や「店舗内にユーザが所在する」ことを示す位置情報に抽象化してしまうおそれがある。一方、測位手段がbeaconである場合の精度に基づいて位置情報の抽象化を行うと、判定装置100が、ほぼ取得された全ての位置情報を有用な情報と判定し、適切な抽象化が行われないおそれがある。これに対して、実施形態に係る判定装置100は、ユーザ端末10から位置情報を取得する際に、位置の測位に関する情報(例えば、ユーザ端末10が位置を測位した際に用いた測位手段)を取得し、また、測位に応じた一つ又は複数の判定基準に基づいて位置情報の抽象化を行うことにより、適切に位置情報を取捨選択することができる。すなわち、判定装置100は、位置情報の取得を効率よく行うことができる。
【0036】
なお、実施形態に係る位置情報において位置を示す情報には、例えば、緯度や経度の数値や、垂直高度、速度、水平精度、垂直精度、角度、及び誤差に関する情報など種々の種類の情報が含まれてもよい。例えば、判定装置100は、所定の状況においては、緯度や経度を示す数値のみならず、高度を記憶部に保存するなど、種々の情報を選択して記憶してもよい。また、ユーザ端末10は、所定の状況においては、位置情報として、緯度や経度を示す数値のみならず、高度を取得するなど、種々の情報を選択して取得してもよい。例えば、ユーザ端末10は、ユーザがオフィス等の高層物内に所在する場合や、山など標高の高い場所に所在する場合には、適宜、位置情報として高度を取得してもよい。
【0037】
以下、実施形態に係る判定プログラムに従って上述した判定処理を実行する判定装置100等について、詳細に説明する。
【0038】
〔2.判定システムの構成〕
次に、
図2を用いて、実施形態に係る判定システム1の構成について説明する。
図2は、実施形態に係る判定システム1の構成例を示す図である。
図2に例示するように、実施形態に係る判定システム1には、ユーザ端末10と判定装置100とが含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。また、
図2に示す判定システム1に含まれる各装置の数は図示したものに限られない。例えば、判定システム1には、複数台のユーザ端末10が含まれてもよい。
【0039】
ユーザ端末10は、上述のように、スマートフォンを含む携帯電話機や、タブレット端末や、デスクトップ型PC(Personal Computer)や、ノート型PCや、PDA(Personal Digital Assistant)等の情報処理端末である。また、ユーザ端末10には、眼鏡型や時計型の情報処理端末であるウェアラブルデバイス(wearable device)も含まれる。さらに、ユーザ端末10には、位置情報を取得するための情報処理機能を有する種々のスマート機器が含まれてもよい。例えば、ユーザ端末10には、TV(Television)や冷蔵庫、掃除機などのスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、家庭用ロボットなどが含まれてもよい。なお、実施形態に係るアプリは、スマートフォン等のモバイル端末で実行されるアプリに限られず、上記したスマート家電等で実行されるアプリであってもよい。
【0040】
ユーザ端末10は、ユーザによる操作や、ユーザ端末10が有する機能に応じて、自装置の位置情報を取得し、記憶する。例えば、ユーザ端末10は、上述したGPSシステムなどの外部システムと通信を行うことによって位置情報を取得する。そして、ユーザ端末10は、取得した位置情報を判定装置100に送信する。
【0041】
判定装置100は、上述のように、位置の測位に関する情報ごとに設定される判定基準であって、ユーザ端末10から取得した位置情報を記憶部に記憶するか否かを判定するための複数の判定基準に基づいて、位置情報を記憶部に記憶するか否かを判定するサーバ装置である。なお、判定装置100は、取得した位置情報に基づいて所定のサービスを提供するサービスサーバであってもよい。例えば、判定装置100は、ユーザの位置情報に基づいて交通案内等を発信するナビアプリに関するサービスや、ポータルアプリに関するポータルサービス等を提供してもよい。また、判定装置100は、上記サービス以外にも、種々のサービスを提供してもよい。また、判定装置100は、サービスに係るウェブサイトを提供するウェブサーバとしての機能を有していてもよい。例えば、判定装置100は、ポータルサイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関連する各種情報を含むウェブページをユーザ端末10に配信してもよい。
【0042】
〔3.ユーザ端末の構成〕
次に、
図3を用いて、実施形態に係るユーザ端末10の構成について説明する。
図3は、実施形態に係るユーザ端末10の構成例を示す図である。
図3に示すように、ユーザ端末10は、通信部11と、入力部12と、表示部13と、検知部14と、記憶部15と、制御部16とを有する。
【0043】
(通信部11について)
通信部11は、ネットワークNと有線又は無線で接続され、判定装置100等との間で情報の送受信を行う。通信部11は、例えばNIC(Network Interface Card)等によって実現される。
【0044】
(入力部12及び表示部13について)
入力部12は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部12は、ユーザ端末10に備えられた操作キー等によって実現される。表示部13は、各種情報を表示するための表示装置である。例えば、表示部13は、液晶ディスプレイ等によって実現される。なお、ユーザ端末10にタッチパネルが採用される場合には、入力部12の一部と表示部13とは一体化される。
【0045】
(検知部14について)
検知部14は、ユーザ端末10に関する各種情報を検知する。具体的には、検知部14は、ユーザ端末10に対するユーザの操作や、ユーザ端末10の所在する位置情報や、ユーザ端末10と接続されている機器に関する情報や、ユーザ端末10における環境等を検知する。
図3に示す例では、検知部14は、操作検知部141と、位置検知部142と、外部装置検知部143と、環境検知部144とを有する。
【0046】
(操作検知部141について)
操作検知部141は、ユーザ端末10に対するユーザの操作を検知する。例えば、操作検知部141は、入力部12に入力された情報に基づいて、ユーザの操作を検知する。すなわち、操作検知部141は、入力部12に画面をタッチする操作の入力があったことや、音声の入力があったこと等を検知する。また、操作検知部141は、ユーザによって所定のアプリが起動されたことを検知してもよい。かかるアプリがユーザ端末10内の撮像装置を動作させるアプリである場合、操作検知部141は、ユーザによって撮像機能が利用されていることを検知する。また、操作検知部141は、ユーザ端末10内に備えられた加速度センサやジャイロセンサ等で検知されたデータに基づき、ユーザ端末10自体が動かされているといった操作を検知してもよい。
【0047】
(位置検知部142について)
位置検知部142は、ユーザ端末10の現在位置を検知する。例えば、位置検知部142は、ユーザ端末10の位置を測位する種々の測位手段を利用して、ユーザ端末10の現在位置を検知する。
【0048】
具体的には、位置検知部142は、GPS衛星から送出される電波を受信し、受信した電波に基づいてユーザ端末10の現在位置を示す位置(例えば、緯度及び経度)を検知する。また、位置検知部142は、GPS衛星に限らず、ユーザ端末10の様々な通信機能等の測位手段を利用して位置を検知してもよい。
【0049】
例えば、位置検知部142は、ユーザ端末10のWi−Fi通信機能や、各通信会社が備える通信網を利用して、ユーザ端末10の位置を検知する。具体的には、位置検知部142は、Wi−Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、自装置の位置を検知する。
【0050】
また、位置検知部142は、ユーザ端末10のBluetooth機能を利用して位置を検知してもよい。例えば、位置検知部142は、Bluetooth機能によって接続されるbeacon発信機と接続することにより、自装置の位置を検知する。
【0051】
また、位置検知部142は、加速度センサやジャイロセンサ等を利用したPDR(Pedestrian Dead Reckoning)技術を利用して自装置の位置を検知してもよい。また、位置検知部142は、予め測定された構造物の地磁気のパターンと、自装置が備える地磁気センサとに基づいて、自装置の位置を検知してもよい。
【0052】
また、例えば、ユーザ端末10が駅改札や商店等で使用される非接触型ICカードと同等の機能を備えている場合(もしくは、ユーザ端末10が非接触型ICカードの履歴を読み取る機能を備えている場合)、ユーザ端末10によって駅での乗車料金の決済等が行われた情報とともに、使用された位置が記録される。位置検知部142は、かかる情報を取得することで、ユーザ端末10の位置を検知してもよい。また、位置は、ユーザ端末10が備える光学式センサや、赤外線センサ等によって検知されてもよい。
【0053】
位置検知部142は、上述した手法(測位手段)の一つ又は組合せを用いて、自装置の位置を検知する。そして、後述する取得部161は、位置検知部142が検知した位置と、検知した時間との情報に基づいて、ユーザ端末10の位置情報を取得する。
【0054】
(外部装置検知部143について)
外部装置検知部143は、ユーザ端末10に接続される外部装置を検知する。例えば、外部装置検知部143は、外部装置との相互の通信パケットのやり取りなどに基づいて、外部装置を検知する。そして、外部装置検知部143は、検知した外部装置をユーザ端末10と接続される端末として認識する。また、外部装置検知部143は、外部装置との接続の種類を検知してもよい。例えば、外部装置検知部143は、外部装置と有線で接続されているか、無線通信で接続されているかを検知する。また、外部装置検知部143は、無線通信で用いられている通信方式等を検知してもよい。また、外部装置検知部143は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等によって取得される情報に基づいて、外部装置を検知してもよい。
【0055】
(環境検知部144について)
環境検知部144は、ユーザ端末10における環境を検知する。環境検知部144は、ユーザ端末10に備えられた各種センサや機能を利用し、環境に関する情報を検知する。例えば、環境検知部144は、ユーザ端末10の周囲の音を収集するマイクロフォンや、ユーザ端末10の周囲の照度を検知する照度センサや、ユーザ端末10の物理的な動きを検知する加速度センサ(又は、ジャイロセンサなど)や、ユーザ端末10の周囲の湿度を検知する湿度センサや、ユーザ端末10の所在位置における磁場を検知する地磁気センサ等を利用する。そして、環境検知部144は、各種センサを用いて、種々の情報を検知する。例えば、環境検知部144は、ユーザ端末10の周囲における騒音レベルや、ユーザ端末10の周囲が撮像に適する照度であるか等を検知する。さらに、環境検知部144は、カメラで撮影された写真や映像に基づいて周囲の環境情報を検知してもよい。また、環境検知部144は、ユーザ端末10が置かれている高度等を検知してもよい。
【0056】
また、環境検知部144は、ユーザ端末10におけるリソースの状況を検知してもよい。例えば、環境検知部144は、リソースの状況として、ユーザ端末10内部のハードウェアに関するリソースを検知する。例えば、環境検知部144は、リソースの状況として、ユーザ端末10のバッテリー残量を検知する。また、環境検知部144は、各アプリのバッテリー(電力)消費量等を検知してもよい。
【0057】
(記憶部15について)
記憶部15は、各種情報を記憶する。記憶部15は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。例えば、記憶部15は、検知部14によって検知された各種情報を、検知された日時と対応付けて記憶する。具体的には、記憶部15は、位置検知部142によって検知された位置に基づく位置情報を記憶する。
【0058】
(制御部16について)
制御部16は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、ユーザ端末10内部の記憶装置に記憶されている各種プログラム(例えば、実施形態に係る判定プログラム)がRAMを作業領域として実行されることにより実現される。また、制御部16は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0059】
図3に示すように、制御部16は、取得部161と、受信部162と、送信部163とを有し、以下に説明する情報処理の機能や作用を実現または実行する。例えば、制御部16は、RAMを作業領域として上述したプログラムを実行することにより、以下に説明する情報処理の機能や作用を実現する。なお、制御部16の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部16が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0060】
(取得部161について)
取得部161は、各種情報を取得する。例えば、取得部161は、検知部14を制御することにより、検知部14によって検知される各種情報を取得する。例えば、取得部161は、位置検知部142によって検知された情報に基づいて、ユーザ端末10の位置情報を取得する。なお、取得部161は、位置情報に限らず、ユーザ端末10の周囲の環境に関する情報等の各種センサ情報を含む、ユーザ端末10のコンテキストに関する情報を取得してもよい。
【0061】
取得部161は、所定の時間毎に位置情報を取得するようにしてもよい。例えば、取得部161は、定期的(1分毎や、5分毎や、10分毎等)に、上述した検知部14を制御すること等により、位置情報を取得する。なお、取得部161が位置情報を取得するタイミングは、判定装置100によって設定されてもよい。
【0062】
(受信部162について)
受信部162は、各種情報を受信する。例えば、受信部162は、判定装置100から送信される位置情報の要求を受信する。受信部162は、受信した情報を制御部16の各処理部へ送る。
【0063】
(送信部163について)
送信部163は、各種情報を送信する。例えば、送信部163は、受信部162に受信された要求に従い、位置情報を判定装置100に送信する。
【0064】
例えば、送信部163は、ユーザを識別するための識別情報と、取得部161によって取得された位置情報を対応付けて、判定装置100に送信する。このとき、送信部163は、取得部161によって位置情報が取得されるたびに位置情報を送信してもよいし、所定の期間毎に位置情報を送信してもよい。例えば、送信部163は、定期的(1分毎、3分毎、5分毎、1時間毎など)に位置情報が取得部161によって取得された場合であっても、予め設定された時間毎に位置情報を判定装置100等に送信するようにしてもよい。また、送信部163が位置情報を送信するタイミングは、判定装置100等によって設定されてもよい。また、送信部163は、位置情報に対応する位置を示す情報の測位に関する情報(位置を示す情報の測位手段等)を送信してもよい。
【0065】
〔4.判定装置の構成〕
次に、
図4を用いて、実施形態に係る判定装置100の構成について説明する。
図4は、実施形態に係る判定装置100の構成例を示す図である。
図4に示すように、判定装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、判定装置100は、判定装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0066】
(通信部110について)
通信部110は、例えばNIC等によって実現される。通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10等との間で情報の送受信を行う。
【0067】
(記憶部120について)
記憶部120は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、ユーザ情報記憶部121と、判定基準記憶部122と、位置情報記憶部123とを有する。
【0068】
(ユーザ情報記憶部121について)
ユーザ情報記憶部121は、ユーザに関する情報を記憶する。ここで、
図5に、実施形態に係るユーザ情報記憶部121の一例を示す。
図5は、実施形態に係るユーザ情報記憶部121の一例を示す図である。
図5に示すように、ユーザ情報記憶部121は、「ユーザID」、「端末ID」、「属性情報」といった項目を有する。
【0069】
「ユーザID」は、ユーザを識別する識別情報を示す。「端末ID」は、ユーザが利用するユーザ端末10を識別する識別情報を示す。なお、各ユーザは、複数の端末を所有していてもよい。また、実施形態において、識別情報は、説明に用いる参照符号として用いる場合がある。例えば、ユーザID「U01」で識別されるユーザは、「ユーザU01」と表記される場合がある。
【0070】
「属性情報」は、ユーザの属性に関する情報を示す。
図5では、属性情報を「D01」といった概念で表記しているが、実際には、属性情報の項目には、ユーザの年齢や性別や職業や年収や居住地等の種々の具体的な情報が記憶される。
【0071】
すなわち、
図5では、ユーザ情報記憶部121に記憶されるデータの一例として、ユーザID「U01」によって示されるユーザU01が、端末ID「C01」で識別されるユーザ端末10を利用していることを示している。また、ユーザU01の属性情報が「D01」であることを示している。
【0072】
なお、
図5での図示は省略したが、ユーザ情報記憶部121には、サービス(ウェブサイト等)やアプリの利用履歴等に基づいて、ユーザの興味関心情報や、ユーザの行動履歴等が記憶されてもよい。例えば、興味関心情報は、サービスやアプリの利用を介して、判定装置100によってユーザに設定される情報(ユーザの購買履歴や検索履歴から、ユーザが興味関心を抱いていると想定されるカテゴリや情報の内容等)である。また、行動履歴情報は、サービスやアプリにおけるユーザの行動履歴(ナビアプリに基づく移動履歴や目的地の履歴、ウェブページ等の閲覧履歴や、商品の購買履歴や、検索履歴等)である。
【0073】
(判定基準記憶部122について)
判定基準記憶部122は、実施形態に係る判定処理に用いられる判定基準を記憶する。ここで、
図6に、実施形態に係る判定基準記憶部122の一例を示す。
図6は、実施形態に係る判定基準記憶部122の一例を示す図である。
図6に示すように、判定基準記憶部122は、「判定基準ID」、「測位手段」、「条件」といった項目を有する。
【0074】
「判定基準ID」は、判定基準を識別する識別情報を示す。「測位手段」は、ユーザの位置を検知する際に用いられる手段であって、判定基準ごとに対応付けられる測位手段を示す。「条件」は、位置情報を記憶部120内に記憶する条件の具体的な内容を示す。例えば、判定装置100は、取得した位置情報が条件のいずれかを満たす場合に位置情報を記憶部120内に記憶する。
【0075】
すなわち、
図6では、判定基準記憶部122に記憶されるデータの一例として、判定基準ID「A01」によって示される判定基準A01は、測位手段が「GPS」であるときに利用される基準であり、その条件として、例えば「500メートル以上の移動」や「直近の情報から1時間以上が経過」等が設定されていることを示している。
【0076】
(位置情報記憶部123について)
位置情報記憶部123は、ユーザ端末10から送信された位置情報を記憶する。ここで、
図7に、実施形態に係る位置情報記憶部123の一例を示す。
図7は、実施形態に係る位置情報記憶部123の一例を示す図である。
図7に示した例では、位置情報記憶部123は、「端末ID」、「ユーザID」、「位置情報」といった項目を有する。また、「位置情報」の項目は、「取得日時」、「位置」、「精度」、「各種センサ情報」といった小項目を有する。
【0077】
「端末ID」及び「ユーザID」は、
図5に示した同一の項目に対応する。「位置情報」は、ユーザ端末10によって検知されたユーザの位置を含む情報を示す。
【0078】
「取得日時」は、位置がユーザ端末10によって検知(測位)された日時を示す。「位置」は、ユーザ(言い換えればユーザ端末10)の具体的な位置を示す。
図7では、位置を「G01」といった概念で表記しているが、実際には、位置の項目には、ユーザの位置を示す具体的な情報(例えば経度や緯度の数値等)が記憶される。
【0079】
「精度」は、ユーザの位置を示す情報の精度を示す。実施形態では、精度は、例えば「低」、「中」、「高」の三段階で示される。精度は、例えば、ユーザ端末10によって位置が検知された際の測位手段に基づき、ユーザの位置を特定することのできる精度に応じて記憶される。具体的には、ユーザの位置を特定する際に数十メートルから数百メートルの誤差が生じるような測位手段(例えば測位手段がGPSのみであった場合等)の場合、取得された位置情報の精度は「低」となる。また、精度が「低」である位置情報と比較して精度の高い測位手段(例えば、測位手段がWi−FiやGPS等を組み合わせたものであった場合等)の場合、当該取得手段によって取得された位置情報の精度は「中」となる。また、精度が「中」である位置情報と比較して精度の高い測位手段(例えば、測位手段がBluetooth(ビーコン)を利用したものであった場合等)の場合、当該取得手段によって取得された位置情報の精度は「高」となる。なお、上記した精度の判定は一例であり、判定装置100は、位置情報の測位技術に応じて柔軟に精度の判定基準を変更してもよい。また、実施形態に係る精度は、測位手段と読み替えてもよい。
【0080】
「各種センサ情報」は、位置が検知された際に、各種センサによって検知された情報を示す。
図7では、各種センサ情報を「X01」といった概念で表記しているが、実際には、各種センサ情報の項目には、ユーザ端末10の加速度や高度、気温や湿度、周辺の音声情報等の各種センサによって取得された具体的な情報が記憶される。
【0081】
すなわち、
図7では、位置情報記憶部123に記憶されるデータの一例として、端末ID「C01」で識別されるユーザU01から取得した位置情報が記憶されていることを示している。また、ユーザU01の位置情報の一例は、取得日時「T01」において位置「G01」にユーザU01が所在し、その位置の精度は「低」であり、各種センサ情報が「X01」であることを示している。また、当該位置情報の次に位置情報記憶部123に保持されたユーザU01の位置情報は、取得日時「T06」において位置「G06」にユーザU01が所在し、その位置の精度は「低」であり、各種センサ情報が「X06」であることを示している。このことは、判定装置100が、取得日時「T02」から取得日時「T05」において取得された位置情報については位置情報記憶部123に保持せず、破棄していることを示している。
【0082】
なお、実施形態に係るユーザIDは、例えば、判定装置100が提供する各サービスにおいてユーザに共通して付与されるサービス用ID(ユーザアカウント)等である。判定装置100は、ユーザを一意に識別する識別情報を利用することで、ユーザ端末10から取得した位置情報とユーザとを対応付ける。かかるIDは、判定装置100のみならず、判定装置100と提携した事業者(所定のサービス提供者)によって発行されてもよい。これにより、判定装置100は、一人のユーザが複数のユーザ端末10を利用していたり、異なる環境でサービスにログインしていたりする場合でも、当該ユーザを一意に特定して位置情報を取得することができる。なお、判定装置100は、ユーザの識別情報として、サービスを利用した際のクッキー(Cookie)情報や、端末固有の端末ID等を利用してもよい。
【0083】
(制御部130について)
制御部130は、例えば、コントローラであり、CPUやMPU等によって、判定装置100内部の記憶装置に記憶されている各種プログラム(判定プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
【0084】
図4に示すように、制御部130は、取得部131と、判定部132と、格納部133とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図4に示した接続関係に限られず、他の接続関係であってもよい。
【0085】
上述のように、制御部130に係る各処理部は、制御情報(例えば、実施形態に係る判定プログラム)がRAMを作業領域として実行されることにより実現される。すなわち、取得部131が実行する処理は、制御情報が実行させる取得手順により実現され、判定部132が実行する処理は、制御情報が実行させる判定手順により実現され、格納部133が実行する処理は、制御情報が実行させる格納手順により実現される。
【0086】
(取得部131について)
取得部131は、ユーザ端末10から位置情報を取得する。例えば、取得部131は、ユーザ端末10にインストールされたアプリの制御に従ってユーザ端末10によって取得された位置情報であって、ユーザ端末10から送信される位置情報を取得する。
【0087】
なお、取得部131は、位置情報とともに、当該位置情報に対応する位置の測位に関する情報を取得する。位置の測位に関する情報とは、例えば、ユーザの位置を示す情報が、どのくらいの誤差の範囲でユーザの所在を特定することができるかといった精度を特定するために用いられる情報である。上述のように、ユーザ端末10は、種々の機能や測位手段を用いて位置を検知する。そして、一般に、ユーザの位置を示す情報は、検知に用いられる手段によって精度が異なる。例えば、GPSでユーザの位置を検知する場合と、Wi−Fiによる通信機能を用いてユーザの位置を検知する場合と、ビーコンによる通信機能を用いてユーザの位置を検知する場合とでは、ユーザの位置を特定する精度が異なる。例えば、ビーコンによる通信機能を用いてユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった、数メートル範囲の精度でユーザの位置を特定可能である。一方で、GPSでユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった数メートル範囲の精度でユーザの位置を特定することは難しい。一般に、精度の高い位置情報を利用した方が、よりユーザが移動した地形や経路等を正確に特定できるため、ユーザビリティの高いサービスの提供を行うことができる。このため、判定装置100は、例えば精度の高い位置情報を価値が高いと想定し、精度の低い位置情報とは異なる判定基準で記憶部120内に記憶するか否かを判定する。
【0088】
上記のように、取得部131は、位置の精度に関する情報として、位置が検知された際の測位手段に関する情報を取得してもよい。そして、取得部131は、位置情報として、位置と測位手段(言い換えれば、精度)とを対応付けた情報を取得する。この場合、取得部131は、測位手段と精度との関係性を定義した定義情報等を予め取得していてもよい。具体的には、取得部131は、判定装置100の管理者等から、ビーコン機能を利用して検知された位置情報の精度が「高」である、といった定義情報を取得しておく。そして、取得部131は、位置に関する情報と測位手段とをユーザ端末10から取得した場合に、当該測位手段に応じた精度の情報を位置と対応付け、対応付けた情報を位置情報として取得してもよい。
【0089】
また、上記のように、位置情報は、複数の測位手段が併用されて取得される場合もある。そして、ユーザ端末10の仕様によっては、一つの位置情報を判定装置100に送信するのではなく、測位手段ごとに異なる位置情報として判定装置100に送信する場合がある。この場合、取得部131は、第1の測位手段、及び、当該第1の測位手段に対して精度の高い第2の測位手段によってユーザの位置が測位された場合の位置情報を所定時間にわたって取得するようにしてもよい。
【0090】
図1等で示した例では、第1の測位手段がGPSに相当し、第2の測位手段がWi−Fiに相当する。そして、後述する判定部132は、第1の測位手段ではユーザが移動したことを測位できず、かつ、第2の測位手段ではユーザが移動したことを測位できた場合には、第2の測位手段によって測位された位置を示す位置情報を記憶部120に記憶すると判定するようにしてもよい。例えば、第1の測位手段では、ユーザの位置を特定する精度が劣るため、ユーザが数メートル移動しただけではその移動したことを測位できないとする。そして、第2の測位手段は、同様のユーザの移動を測位できたものとする。具体的には、第2の測位手段によれば、ある連続した位置を示す情報が各々異なる(ユーザが異なる位置に所在していることを示す)のに対して、第1の測位手段によれば、ある連続した位置を示す情報が略同一である(ユーザがほぼ同じ位置に所在していることを示す)ものとする。このような場合、判定部132は、第1の測位手段によって取得された位置情報は破棄し、第2の測位手段によって取得された位置情報を保持する。これにより、判定部132は、より有用な位置情報を優先的に保持することができる。
【0091】
なお、取得部131は、位置情報とともに、位置情報に対応するセンサ情報を取得してもよい。センサ情報とは、ユーザ端末10の検知部14によって検知される各種情報である。例えば、ユーザ端末10は、ユーザの位置を検知するとともに、周囲の音声情報や加速度、温度や湿度等を検知する。取得部131は、このように位置とともに検知されたセンサ情報をユーザ端末10から取得する。
【0092】
また、取得部131は、位置情報とともに、ユーザに関する各種情報を取得してもよい。例えば、取得部131は、利用するアプリを介してユーザが各サービスに登録した情報に基づいて、ユーザの属性情報を取得する。また、取得部131は、アプリにおけるユーザの興味関心情報や、ユーザの行動履歴情報を取得してもよい。取得部131は、種々の既存の技術(例えば、ユーザの興味関心や行動に基づいて広告を配信するための広告配信技術等)を利用して、種々の情報を取得してもよい。また、取得部131は、曜日情報を含めた日時情報とともに位置情報を取得するようにしてもよい。
【0093】
また、取得部131は、位置情報として、ユーザ端末10と他の装置における通信の状況を取得してもよい。具体的には、取得部131は、ユーザ端末10がアクセスポイントを介してインターネットなどにアクセスしている通信状況を取得する。この場合、取得部131は、アクセスポイントとの通信状況から検出される情報を位置情報として取得する。具体的には、取得部131は、ユーザ端末10と通信中のアクセスポイントの設置位置を割り出し、割り出したアクセスポイントの設置位置に基づいて、当該ユーザ端末10の位置情報として取得するようにしてもよい。また、取得部131は、駅改札の装置とユーザ端末10との通信を検出することでユーザ端末10の位置を取得したり、ユーザ端末10のIPアドレスに基づいて位置を取得したりしてもよい。
【0094】
(判定部132について)
判定部132は、取得部131によって取得された測位に関する情報に対応した判定基準に基づいて、当該位置情報を抽象化するか否かを判定する。位置情報の抽象化とは、例えば、取得された位置情報の一部を間引いたり、取得された位置情報の一部を抽出して残したりする処理をいう。すなわち、判定部132は、位置情報の抽象化として、測位に関する情報に対応した複数の判定基準であって、取得部131によって取得された位置情報を記憶部120に記憶するか否かを判定するための判定基準に基づいて、当該位置情報を記憶部120に記憶するか否かを判定する。
【0095】
例えば、判定部132は、測位に関する情報に応じて異なる条件を有する複数の判定基準を用いて、位置情報を記憶部120に記憶するか否かを段階的に判定する。具体的には、判定部132は、位置情報を記憶するか否かの判定において、位置情報が取得された際の測位手段に対応した複数の判定基準に基づいて、位置情報を記憶部120に記憶するか否かを判定する。例えば、
図1に示したように、判定部132は、取得された位置情報ごとに異なる判定基準A01〜A03を用いることによって、一律に位置情報を保持したり破棄したりするのではなく、測位手段やユーザの所在場所に応じた、段階的な判定処理を行う。
【0096】
また、判定部132は、取得部131によって、第1の測位手段、及び、当該第1の測位手段に対して精度の高い第2の測位手段を併用して測位された位置に対応するユーザの位置情報が取得された場合には、第2の測位手段に対応した判定基準に基づいて、位置情報を記憶部120に記憶するか否かを判定してもよい。すなわち、判定部132は、より精度の高い測位手段として定義されている測位手段に対応する判定基準を優先的に用いて、位置情報を記憶するか否かを判定する。
【0097】
また、判定部132は、上述したように、所定時間にわたって測位された複数の位置情報において、第1の測位手段ではユーザが移動したことを測位できず、かつ、第2の測位手段ではユーザが移動したことを測位できた場合には、第2の測位手段によって測位された位置を示す位置情報を記憶部120に記憶すると判定してもよい。このように、判定部132は、記憶部120に記憶する情報を複数の判定基準で判定することで、有用な位置情報を優先的に保持し、また、必要のない位置情報を的確に破棄することができる。
【0098】
また、判定部132は、測位手段に応じた基準距離を設定し、所定時間内にユーザが当該基準距離を超えて移動した場合に、当該所定時間内における当該ユーザの位置情報を記憶部120に記憶すると判定してもよい。
図1や
図6に示したように、判定部132は、測位手段ごとに異なる基準距離(500メートルや100メートルや1メートル等)を設けることによって、測位手段ごとの適切な間隔で、保持すべき位置情報を判定することができる。具体的には、精度の低い測位手段で取得された位置情報は、数メートル範囲でユーザが移動した際に位置を測位したとしても、その移動距離は誤差の範囲内と想定されるため、記憶部120内に保持する必要性が低いといえる。一方、精度の高い測位手段で取得された位置情報は、数メートル範囲でユーザが移動したことを正確に把握することができる。精度の高い測位手段で取得された位置情報によれば、例えば、店舗内でユーザが足を止める要因となった商品を特定するなどの行動解析を行うことができる。このため、判定部132は、精度の高い測位手段で取得された位置情報について、記憶部120内に保持する必要性が高いと判定する。
【0099】
(格納部133について)
格納部133は、判定部132によって記憶部120に記憶すると判定された位置情報を記憶部120に格納する。例えば、格納部133は、判定基準を満たすと判定された位置情報を位置情報記憶部123に格納する。一方、格納部133は、判定基準を満たさないと判定された位置情報を破棄する。
【0100】
〔5.処理手順〕
次に、
図8を用いて、実施形態に係る判定装置100による処理の手順について説明する。
図8は、実施形態に係る処理手順を示すフローチャートである。
【0101】
図8に示すように、判定装置100は、ユーザ端末10から位置情報を取得したか否かを判定する(ステップS101)。位置情報を取得していない場合(ステップS101;No)、判定装置100は、取得するまで待機する。
【0102】
一方、位置情報を取得した場合(ステップS101;Yes)、判定装置100は、位置情報が検知された際の測位手段を特定する(ステップS102)。そして、判定装置100は、取得した位置情報が測位手段に応じた判定基準を満たすか否かを判定する(ステップS103)。
【0103】
取得した位置情報が判定基準を満たすと判定した場合(ステップS103;Yes)、判定装置100は、取得した位置情報を記憶部120に格納する(ステップS104)。一方、取得した位置情報が判定基準を満たさないと判定した場合(ステップS103;No)、判定装置100は、取得した位置情報を記憶部120に格納せず、破棄する(ステップS105)。
【0104】
〔6.変形例〕
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。以下では、判定システム1の他の実施形態について説明する。
【0105】
〔6−1.ユーザ端末による判定プログラムの実行〕
上記実施形態では、判定装置100が、実施形態に係る判定プログラムによる制御に従い、実施形態に係る判定処理を行う例を示した。ここで、実施形態に係る判定プログラムは、ユーザ端末10で実行されてもよい。すなわち、実施形態に係る判定処理は、ユーザ端末10によって行われてもよい。
【0106】
この点について、
図9を用いて説明する。
図9は、変形例に係るユーザ端末10Aの構成例を示す図である。
図9に示すように、ユーザ端末10Aは、判定部164を有する。また、
図9での図示は省略するが、記憶部15は、実施形態に係る判定基準記憶部122に記憶される情報を記憶するものとする。
【0107】
また、変形例では、制御部16に係る各処理部は、制御情報(例えば、実施形態に係る判定プログラム)がRAMを作業領域として実行されることにより実現される。すなわち、取得部161が実行する処理は、制御情報が実行させる取得手順により実現され、受信部162が実行する処理は、制御情報が実行させる受信手順により実現され、送信部163が実行する処理は、制御情報が実行させる送信手順により実現され、判定部164が実行する処理は、制御情報が実行させる判定手順により実現される。
【0108】
変形例に係る判定部164は、実施形態に係る判定部132と同様の処理を行う。具体的には、判定部164は、取得部161によって取得された測位に関する情報に対応した判定基準であって、取得部161によって取得された位置情報を記憶部に記憶するか否かを判定するための判定基準に基づいて、当該位置情報を記憶部に記憶するか否かを判定する。なお、変形例に係る記憶部は、判定装置100に係る記憶部120であってもよいし、ユーザ端末10Aに係る記憶部15であってもよい。すなわち、ユーザ端末10Aは、位置情報を取得するとともに、取得した位置情報を保持するか否かを自装置で判定する。
【0109】
また、送信部163は、判定部164によって記憶部に記憶すると判定された位置情報を抽出し、抽出された位置情報を、当該記憶部に位置情報を格納する機能を有する外部装置に送信してもよい。記憶部に位置情報を格納する機能を有する外部装置とは、例えば、判定装置100である。すなわち、ユーザ端末10Aは、判定処理を行うとともに、記憶部に記憶すると判定した位置情報のみを判定装置100に送信するようにしてもよい。これにより、ユーザ端末10Aは、破棄される位置情報を送信するような、無駄な送信処理を実行せずに済むため、情報処理の負荷を軽減することができる。
【0110】
次に、
図10を用いて、変形例に係るユーザ端末10Aによる処理の手順について説明する。
図10は、変形例に係る処理手順を示すフローチャートである。
【0111】
図10に示すように、ユーザ端末10Aは、自装置の位置を検知したか否かを判定する(ステップS201)。位置を検知していない場合(ステップS201;No)、ユーザ端末10Aは、位置を検知するまで待機する。
【0112】
一方、位置を検知した場合(ステップS201;Yes)、ユーザ端末10Aは、位置を検知した際の測位手段を特定する(ステップS202)。そして、ユーザ端末10Aは、取得した位置情報が測位手段に応じた判定基準を満たすか否かを判定する(ステップS203)。
【0113】
取得した位置情報が判定基準を満たすと判定した場合(ステップS203;Yes)、ユーザ端末10Aは、取得した位置情報を記憶部に記憶させることを判定する(ステップS204)。そして、ユーザ端末10Aは、当該位置情報をサーバ(例えば判定装置100)に送信する(ステップS205)。
【0114】
一方、取得した位置情報が判定基準を満たさないと判定した場合(ステップS203;No)、ユーザ端末10Aは、取得した位置情報を記憶部に記憶させないと判定する(ステップS206)。この場合、ユーザ端末10Aは、当該位置情報をサーバに送信せず、破棄する(ステップS207)。
【0115】
なお、ユーザ端末10Aは、上述した処理を任意の手法で実現することができる。例えば、ユーザ端末10Aは、予め上記のような判定処理等を実行するための制御情報(スクリプト)が含まれたアプリ(ユーザ端末10Aにインストールされた複数のアプリの挙動を一括で制御する制御アプリ)を実行することにより、上記の判定処理を実現してもよい。あるいは、ユーザ端末10Aは、SDK(Software Development Kit)やOS(Operating System)に組み込まれる制御情報(スクリプト)の一つとして、上記のような判定処理を実行してもよい。なお、このような制御情報は、実施形態に係る判定プログラムに対応するものであり、例えば、CSS(Cascading Style Sheets)、JavaScript(登録商標)、HTML、あるいは、上述した判定処理を記述可能な任意の言語あるいは任意のプログラムによって実現される。
【0116】
〔6−2.ユーザ端末の構成〕
上記実施形態では、ユーザ端末10(又はユーザ端末10A)の構成例について
図3を用いて説明した。しかし、ユーザ端末10は、
図3で例示した全ての処理部を備えることを必ずしも要しない。例えば、ユーザ端末10は、入力部12や表示部13を必ずしも備えていなくてもよい。また、ユーザ端末10は、2以上の機器に分離されて
図3を示す構成が実現されてもよい。例えば、ユーザ端末10は、少なくとも検知部14と取得部161とを有する検知装置と、少なくとも通信部11を有する通信装置とが分離された構成を有する、2台以上の機器により実現されてもよい。
【0117】
〔6−3.制御情報〕
上記変形例では、ユーザ端末10Aが、実施形態に係る判定プログラムが記載された制御情報に従って判定処理を実行する例を示した。ここで、制御情報は、ユーザ端末10Aが実行するアプリに含まれてもよいし、ウェブブラウザソフトウェアの一機能として含まれていてもよいし、ユーザ端末10Aで表示しようとするアプリに含まれていてもよい。すなわち、制御情報の取得元や配信元は、ユーザ端末10Aの行う判定処理の結果には影響しない。
【0118】
〔6−4.測位に関する情報〕
上記実施形態では、位置の測位に関する情報として、位置の測位手段を例に挙げた。また、各々の測位手段は、位置を示す情報の精度(抽象度)が異なることを説明した。ここで、測位手段の精度は、上記実施形態で示した例に限らない。例えば、ユーザ端末10が利用する測位手段によっては、Wi−Fiやbeaconを利用した測位よりも、GPSを利用した測位の方が、位置の精度が高い場合もありうる。すなわち、上記で示した測位手段や、測位手段同士の精度の高低は一例であり、実施形態に係る判定プログラムは、判定対象となるユーザ端末10や測位手段に応じて、様々に異なる判定基準の条件を設けるようにしてもよい。
【0119】
〔6−5.判定基準〕
上記実施形態では、判定基準には、ユーザが移動した距離や角度等が条件として設定される例を示した。ここで、判定基準は、上記のような具体的な数値等ではなく、ユーザにおける移動判定モデルのようなものであってもよい。例えば、判定プログラムは、ユーザのコンテキストに基づき、ユーザが現在自宅に所在しているか、あるいは勤務先に所在しているか等を判定するためのモデルを学習する。そして、判定プログラムは、学習の結果として生成されたモデルを判定基準として利用してもよい。
【0120】
例えば、判定プログラムは、位置がGPSによって測位される場合、コンテキストの切り替わるタイミングを位置情報の取得タイミングと判定する。具体的には、判定プログラムは、取得したコンテキストに基づいてユーザが自宅に所在すると判定された場合に位置情報を取得する。その後、判定プログラムは、ユーザが自宅に所在すると判定され続ける間は、位置情報を取得しない。そして、判定プログラムは、取得したコンテキストに基づいてユーザが自宅とは異なる位置に移動を開始したと判定された場合に、新たに位置情報を取得する。すなわち、判定プログラムは、このようなコンテキストの変遷を、ユーザが移動した距離や留まっている時間ではなく、学習したモデルに基づいて判定してもよい。これにより、判定プログラムは、時間や距離等の具体的な数値を予め設定しなくても、ユーザの日常的な位置情報を取得して学習を行うことにより、実施形態に係る判定処理を実現することができる。
【0121】
また、上記実施形態では、測位に関する情報に応じた判定基準が設けられる例を示したが、判定基準は、必ずしも測位に関する情報に応じたものでなくてもよい。例えば、判定プログラムは、上記のようなユーザのコンテキストに応じた判定基準を用いて、位置情報の抽象化の判定を行ってもよい。すなわち、判定プログラムに係る取得手順は、ユーザの位置を示す位置情報を取得する。そして、判定プログラムに係る判定手順は、位置情報から特定されるユーザのコンテキストに基づいて、当該ユーザの位置情報を抽象化するか否かを判定してもよい。
【0122】
具体的には、判定プログラムは、上記のような学習モデルを利用して、ユーザのコンテキストを特定する。具体的には、判定プログラムは、ユーザの所在する場所がユーザの自宅であるとか、駅であるとか、勤務先であるといったコンテキストを特定する。なお、判定プログラムは、緯度経度情報と建物を対応付けるデータテーブルや、緯度経度情報と対応付いた地図情報を利用して、ユーザのコンテキスト(この例では、所在地)を特定してもよい。そして、判定プログラムは、コンテキストに応じた判定基準(例えば、ユーザの自宅であれば判定基準A01、駅であれば判定基準A02など)を用いて、位置情報を抽象化するか否かの判定を行う。これにより、判定プログラムは、測位に関する情報(例えば、測位手段)によらずとも、適切な判定処理を行うことができる。
【0123】
〔6−6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0124】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、
図4に示した判定部132と格納部133とは統合されてもよい。
【0125】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0126】
〔7.ハードウェア構成〕
また、上述してきた実施形態に係るユーザ端末10や判定装置100は、例えば
図11に示すような構成のコンピュータ1000によって実現される。以下、判定装置100を例に挙げて説明する。
図11は、判定装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0127】
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
【0128】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(
図2に示したネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
【0129】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0130】
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0131】
例えば、コンピュータ1000が実施形態に係る判定装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0132】
〔8.効果〕
上述したように、実施形態に係る判定プログラムは、コンピュータ(実施形態では、判定装置100もしくはユーザ端末10)に、取得手順と、判定手順とを実行させる。取得手順は、ユーザの位置を示す位置情報、及び、当該位置の測位に関する情報を取得する。判定手順は、測位に関する情報に対応した判定基準に基づいて、当該位置情報を抽象化するか否かを判定する。
【0133】
このように、実施形態に係る判定プログラムは、ユーザから収集される膨大な位置情報について、位置情報の抽象度(実施形態では、位置を示す情報の精度等を示す情報となりうる、測位に関する情報)に応じた判定基準を設けることにより、有用な位置情報のみを残す、あるいは抽出するといった抽象化を適切に行うことができる。結果として、判定プログラムによれば、位置情報の取得を効率よく行うことができる。
【0134】
また、判定手順は、位置情報の抽象化として、複数の判定基準であって、取得手順によって取得された位置情報を記憶部に記憶するか否かを判定するための判定基準に基づいて、当該位置情報を記憶部に記憶するか否かを判定する。
【0135】
このように、実施形態に係る判定プログラムは、測位に関する情報に応じた複数の判定基準を設けることにより、有用な位置情報のみを記憶するといった取捨選択を行う。これにより、判定プログラムは、位置情報の取得を効率よく行うことができる。
【0136】
また、判定手順は、測位に関する情報に応じて異なる条件を有する複数の判定基準を用いて、位置情報を記憶部に記憶するか否かを段階的に判定する。
【0137】
このように、実施形態に係る判定プログラムは、測位に関する情報(抽象度)に応じた異なる条件を有することによって、有用な位置情報か否かを適切に判定することができる。
【0138】
また、取得手順は、測位に関する情報として、当該位置が測位された際の測位手段に関する情報を取得する。判定手順は、測位手段に対応した複数の判定基準に基づいて、位置情報を記憶部に記憶するか否かを判定する。
【0139】
このように、実施形態に係る判定プログラムは、ユーザの位置が測位される際の測位手段ごとに異なる判定基準を設けることによって、有用な位置情報か否かを適切に判定することができる。
【0140】
また、判定手順は、取得手順によって、第1の測位手段、及び、当該第1の測位手段に対して精度の高い第2の測位手段を併用して測位された位置に対応するユーザの位置情報が取得された場合には、当該第2の測位手段に対応した判定基準に基づいて、当該位置情報を記憶部に記憶するか否かを判定する。
【0141】
このように、実施形態に係る判定プログラムは、複数の測位手段によって取得された位置情報については、より精度の高い測位手段に対応した判定基準を用いて判定を行う。これにより、判定プログラムは、優先的に保持する位置情報を適切に判定することができる。
【0142】
また、取得手順は、第1の測位手段、及び、当該第1の測位手段に対して精度の高い第2の測位手段によってユーザの位置が測位された場合の位置情報を所定時間にわたって取得する。判定手順は、所定時間にわたって測位された複数の位置情報において、第1の測位手段ではユーザが移動したことを測位できず、かつ、第2の測位手段ではユーザが移動したことを測位できた場合には、第2の測位手段によって測位された位置を示す位置情報を記憶部に記憶すると判定する。
【0143】
このように、実施形態に係る判定プログラムは、ユーザが移動したことを測位できないような、誤差の範囲におさまる第1の測位手段に基づく位置情報については保持せず、ユーザが移動したことを測位できた第2の測位手段に基づく位置情報を優先的に保持すると判定する。これにより、判定プログラムは、優先的に保持する位置情報を適切に判定することができる。
【0144】
また、判定手順は、測位手段に応じた基準距離を設定し、所定時間内にユーザが当該基準距離を超えて移動したか否かに基づいて、当該所定時間内における当該ユーザの位置情報を記憶部に記憶するか否かを判定する。
【0145】
このように、実施形態に係る判定プログラムは、測位手段ごとに基準距離を設けることにより、所定の測位手段において誤差の範囲におさまる位置情報については保持せず、的確にユーザの移動を把握することができると想定される位置情報について保持することができる。これにより、判定プログラムは、優先的に保持する位置情報を適切に判定することができる。
【0146】
また、実施形態に係る判定プログラムは、判定手順によって記憶部に記憶すると判定された位置情報を抽出し、抽出された位置情報を、当該記憶部に位置情報を格納する機能を有する外部装置(例えば判定装置100)に送信する送信手順をさらにコンピュータに実行させてもよい。
【0147】
このように、実施形態に係る判定プログラムは、保持すると判定した位置情報のみを送信する処理を実行してもよい。これにより、判定プログラムを実行するコンピュータ(ユーザ端末10等)は、位置情報の送信処理を行う回数を低減することができるため、リソースの消費を抑えることができる。
【0148】
また、実施形態に係る判定プログラムは、ユーザの位置を示す位置情報を取得する取得手順と、取得手順によって取得された位置情報から特定されるユーザのコンテキストに基づいて、ユーザの位置情報を抽象化するか否かを判定する判定手順と、をコンピュータに実行させてもよい。
【0149】
このように、実施形態に係る判定プログラムは、位置の測位に関する情報によらずとも、ユーザのコンテキストを特定し、特定したコンテキストに応じた判定処理を行ってもよい。これにより、判定プログラムは、ユーザ端末10が位置を測位した際の測位手段等の情報が取得できない場合であっても、位置情報の抽象化に関する判定処理を行うことができる。
【0150】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0151】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。