以下に、本願に係る判定装置、判定方法及び判定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定装置、判定方法及び判定プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.実施形態に係る判定処理の一例〕
まず、図1及び図2を用いて、実施形態に係る判定処理の一例について説明する。図1は、実施形態に係る判定処理の一例を示す図(1)である。具体的には、図1では、実施形態に係る判定装置100が、互いに異なる端末から各々の位置情報を取得し、取得した位置情報に基づいて、当該異なる端末を利用するユーザの同一性を判定する処理を行う例を示す。
図1に示す判定装置100は、ユーザが利用する端末から送信される位置情報を取得し、取得した位置情報を管理するサーバ装置である。
図1に示すスマートフォン10a及びタブレット10bは、各種情報処理を実行する端末の一例である。図1の例では、スマートフォン10a及びタブレット10bは、ユーザの一例であるユーザU01によって利用される。以下では、ユーザU01等を区別する必要のないときは、「ユーザ」と総称する。また、以下では、スマートフォン10aやタブレット10b、図2に示す時計型端末10c等、ユーザによって利用される各端末を区別する必要のないときは、「ユーザ端末10」と総称する。また、以下では、ユーザ端末10をユーザと読み替える場合がある。例えば、「ユーザU01が位置情報を送信する」とは、実際には、「ユーザU01が利用するユーザ端末10が位置情報を送信する」ことを意味する場合がある。
ユーザ端末10は、例えばGPS(Global Positioning System)等を利用して、自装置が所在する位置(例えば経度や緯度の数値等)を検知し、検知した位置を示す情報である位置情報を取得する機能を有する。位置情報は、位置を示す情報、及び、その位置が検知された日時に関する情報を含む。そして、ユーザ端末10は、例えば判定装置100の要求に従い、検知した位置情報を判定装置100に送信する。具体的には、ユーザ端末10は、判定装置100から提供されたポータルサイトにアクセスしている場合や、判定装置100が提供するサービスにログインしている場合に、定期的かつ継続的に位置情報を判定装置100に送信する。ユーザ端末10から送信される位置情報は、判定装置100が有する記憶部に蓄積され、種々の情報処理に利用される。
上記のように、図1に示す例では、ユーザU01は、スマートフォン10a及びタブレット10bを所有する。この場合、ユーザU01は、スマートフォン10a及びタブレット10bを利用する場合には、自身のクレデンシャル情報(パスワードや指紋等)を各端末に入力して本人認証を行い、各端末にログインすることを要する。あるいは、ユーザU01は、スマートフォン10a及びタブレット10bを介して所定のサービスを利用する場合、サービスアカウント等の情報をスマートフォン10a及びタブレット10bの各々に入力して認証を行う。このように、ユーザU01は、各端末でサービスを利用するためには、各端末で手続きを行うことを要する。このため、ユーザU01が利用する端末の数が増えるほど、認証処理のユーザビリティが低下するおそれがある。
そこで、実施形態に係る判定装置100は、以下に説明する処理によって、認証におけるユーザの手間を軽減させる。具体的には、判定装置100は、ユーザが利用する一の端末(以下、「第1端末」と表記する場合がある)の位置を示す第1位置情報と、一の端末以外の端末(以下、「第2端末」と表記する場合がある)の位置を示す第2位置情報とを取得する。そして、判定装置100は、第1位置情報から、第1端末のユーザの行動を示す第1行動情報を抽出する。
ユーザの行動を示す情報とは、例えば、位置情報によって推定されるユーザの移動推移であり、言い換えれば、所定時間内における位置情報の推移である。判定装置100は、第1位置情報のうち、判定に用いる時間帯や曜日に対応する位置情報を抽出することにより、第1端末のユーザの行動を示す第1行動情報を抽出する。同様に、判定装置100は、第2位置情報から、第2端末のユーザの行動を示す第2行動情報を抽出する。そして、判定装置100は、第1行動情報と第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。具体的には、判定装置100は、第1行動情報と第2行動情報との一致が所定の閾値を超えている場合には、第1端末と第2端末とを利用するユーザが同一のユーザであると判定する。そして、判定装置100は、例えば、第1端末においてユーザが既にログインを行っている場合(すなわち、第1端末によってユーザが認証されている場合)、同一のユーザによって利用されていると判定した第2端末へのログイン処理をスキップさせるよう、第2端末の認証処理を制御する。これにより、判定装置100は、ユーザが特段の手続きを行わずとも、自動的に第2端末へのログイン処理等を行わせることができるので、複数端末を利用するユーザの認証処理の手間を軽減させることができる。以下、実施形態に係る判定処理について、図1を用いて流れに沿って説明する。
図1に示す例において、ユーザU01は、スマートフォン10a(上記の「第1端末」に相当する)とタブレット10b(上記の「第2端末」に相当する)を所有する。なお、スマートフォン10aとタブレット10bとは、例えば、過去に同じアクセスポイントを利用していたり、相互にbluetooth(登録商標)通信等を行ったりしたことにより、互いを関連する端末であると認識済みであるものとする。また、判定装置100も、スマートフォン10aとタブレット10bとが関連する端末であると認識済みであるものとする。なお、上記のように第1端末と第2端末とを関連付ける処理は、ユーザU01からの要求により行われてもよい。すなわち、ユーザU01は、実施形態に係る判定処理に先立ち、スマートフォン10aとタブレット10bとが互いに関連する端末である旨を判定装置100に登録していてもよい。
まず、ユーザU01は、第1端末であるスマートフォン10aにログインする(ステップS01)。その後、スマートフォン10aは、定期的かつ継続的に、判定装置100に位置情報(第1位置情報)を送信する(ステップS02)。例えば、スマートフォン10aは、自装置にインストールされたアプリケーション(以下、単に「アプリ」と表記する)の機能に従い、バックグラウンド処理として、第1位置情報を判定装置100に定期的に送信する。スマートフォン10aは、所定時間ごと(例えば5分や10分ごと)に第1位置情報を判定装置100に送信する。
また、第2端末であるタブレット10bも、定期的かつ継続的に、判定装置100に位置情報(第2位置情報)を送信する(ステップS03)。例えば、タブレット10bは、自装置にインストールされたアプリの機能に従い、バックグラウンド処理として、第2位置情報を定期的に判定装置100に送信する。タブレット10bは、所定時間ごと(例えば5分や10分ごと)に第2位置情報を判定装置100に送信する。なお、スマートフォン10aとタブレット10bが位置情報を送信するタイミングは、互いに異なっていてもよい。
判定装置100は、スマートフォン10aから送信された第1位置情報、及び、タブレット10bから送信された第2位置情報を取得する。そして、判定装置100は、第1位置情報から、第1位置情報に対応する行動情報である第1行動情報を抽出する。また、判定装置100は、第2位置情報から、第2位置情報に対応する行動情報である第2行動情報を抽出する(ステップS04)。行動情報の詳細は後述するが、例えば行動情報は一連の位置情報の推移であり、第1端末及び第2端末が、いつ、どの位置に所在していたかを連続的に示す情報である。
続けて、判定装置100は、第1行動情報と第2行動情報とを照合する(ステップS05)。言い換えれば、判定装置100は、第1行動情報と第2行動情報とがどのくらい相関しているかを示す相関性(あるいは類似性)を判定する。
例えば、判定装置100は、第1行動情報を参照し、所定時間の所定位置に第1端末が所在しており、また、その5分後、その10分後、その15分後の各々に第1端末が所在していた位置を知得する。同様に、判定装置100は、第2行動情報を参照し、所定時間の所定位置に第2端末が所在しており、また、その5分後、その10分後、その15分後の各々に第2端末が所在していた位置を知得する。そして、判定装置100は、第1端末及び第2端末の行動情報を照合し、両者が一致する度合いを算出する。
なお、行動情報の照合は、必ずしも同一時刻、同一位置を示す情報が保持されていることに限らず、所定の範囲で、抽象化された情報に基づいて判定されてもよい。例えば、判定装置100は、「前後5分」や「前後10分」の幅を設定し、また、誤差「数10メートル」を設定し、かかる範囲で行動情報が一致するか否かを判定してもよい。また、照合は、任意の時間長に渡って取得された位置情報に基づく行動情報が利用されてもよい。例えば、判定装置100は、1時間に渡って取得された位置情報に基づく行動情報同士や、1日に渡って取得された位置情報に基づく行動情報同士を照合してもよい。
また、判定装置100は、第1行動情報及び第2行動情報における位置の推移を地図情報上にプロットし、かかる図形の類似度に基づいて、行動情報の類似性を判定してもよい。この場合も、判定装置100は、図形が必ずしも一致することを要さず、所定の閾値を設定し、閾値に収まる範囲での一致が確認できれば、両者は一致すると判定してもよい。なお、上記した行動情報の判定処理については、種々の既知の技術が利用されてもよい。
上記の処理によって、判定装置100は、第1端末を利用するユーザと、第2端末を利用するユーザとの同一性を判定する(ステップS06)。具体的には、判定装置100は、第1行動情報と第2行動情報が所定の閾値内で一致する(すなわち、閾値を超える類似性を有する)と判定した場合、第1端末を利用するユーザと第2端末を利用するユーザとが同一ユーザであると判定する。一方、判定装置100は、第1行動情報と第2行動情報が所定の閾値内で一致しない(すなわち、閾値を超える類似性を有さない)と判定した場合、第1端末を利用するユーザと第2端末を利用するユーザとが別々のユーザであると判定する。
図1の例では、判定装置100は、第1行動情報と第2行動情報に基づいて、第1端末のユーザと第2端末のユーザとが同一であると判定したものとする。この場合、判定装置100は、第2端末であるタブレット10bにアクセスし、タブレット10bにおける認証処理を制御する(ステップS07)。例えば、判定装置100は、タブレット10bにログインを試みるユーザと、既に第1端末であるスマートフォン10aにログインしているユーザU01とが同一であると判定した旨を示す情報(トークンやスクリプト等)をタブレット10bに送信する。そして、判定装置100は、かかる情報に基づいて、タブレット10bにおいてログイン処理が試みられた場合、ログイン処理をスキップするようタブレット10bを制御する。あるいは、判定装置100は、認証処理を行うか否かの判定を要求する旨の情報を第2端末から受信し、受信した情報に応答するかたちで、ログイン処理をスキップする旨の指令を第2端末に送信してもよい。ユーザU01は、判定装置100によって第2端末の認証処理の制御が行われた場合、パスワード等の入力を必要とせず、第2端末にログインすることができる(ステップS08)。
なお、図1で説明した判定処理は、様々な処理を契機として行われてもよい。例えば、判定処理は、スマートフォン10aとタブレット10bとがbluetooth等によって互いに通信を行っている状態で、ユーザU01がスマートフォン10aにログインしたことを契機として行われてもよい。この場合、ユーザU01がスマートフォン10aへのログインに成功した場合、上記の判定処理が判定装置100によって実行されることにより、ユーザU01は、何らの操作も必要とせずタブレット10bにログインすることができる(すなわち、ユーザU01は、スマートフォン10aにのみログイン操作を行うことで、自動的にタブレット10bにもログインしている状態となる)。すなわち、図1で示したステップS01は、ステップS02やステップS03の後に行われてもよい。また、ステップS02やステップS03で示した処理は、ユーザU01のログイン処理等にかかわらず、継続的に行われていてもよい。そして、判定装置100は、上記のような契機が生じた場合に、第1行動情報と第2行動情報との照合を行い、ユーザの同一性を判定してもよい。
上記のように、図1では、判定装置100が第1行動情報と第2行動情報とを照合することによりユーザの同一性を判定する処理を示した。ここで、判定装置100は、ユーザごとの行動の特徴を示したユーザ行動モデル(以下、単に「モデル」と表記する場合がある)を予め生成しておき、当該モデルとの照合に基づいて、ユーザの同一性を判定してもよい。かかる判定処理について、図2を用いて説明する。
図2は、実施形態に係る判定処理の一例を示す図(2)である。図2では、ユーザU01が第1端末であるスマートフォン10aを所定期間利用したあと、新規に第2端末である時計型端末10cを購入した状況について説明する。
図2に示す例において、スマートフォン10aは、定期的かつ継続的に第1位置情報を判定装置100に送信する(ステップS11)。ステップS11の処理は、図1に示したステップS02と同様である。例えば、スマートフォン10aは、上述したアプリに設定されたタイミング(例えば、5分ごとや10分ごと等)で、継続的に第1位置情報を判定装置100に送信する。なお、スマートフォン10aは、判定装置100がモデルを生成するために充分な期間(例えば1か月間など)に渡り、定期的に第1位置情報を送信するものとする。
判定装置100は、取得した第1位置情報に基づいて、スマートフォン10aのユーザであるユーザU01に対応するユーザ行動モデルを生成する(ステップS12)。詳細は後述するが、かかるモデルには、ユーザU01の日常的な行動に基づき、ユーザU01(すなわちスマートフォン10a)が所在する位置と、所在した時間とを対応付けた一連の位置情報が記憶される。具体的には、モデルには、当該モデルに対応するユーザU01が、平日の朝7時には自宅に所在し、平日の昼12時には勤務先に所在する、といったユーザU01の日常的な位置の推移を示す情報が記憶される。すなわち、実施形態に係るモデルとは、第1端末を所有するユーザの日常の行動パターンと読み替えてもよい。例えば、判定装置100は、時間帯ごと、あるいは曜日ごとにスマートフォン10aに対応するモデルを生成してもよい。判定装置100は、例えば既知の統計処理に従い、平日の朝11時にはスマートフォン10aが所定領域(例えばユーザU01の勤務先近辺)に所在し、休日の朝11時にはスマートフォン10aが別の領域(例えばユーザU01の自宅近辺)に所在する、といったことを示した、スマートフォン10aごとに対応したモデルを生成する。そして、判定装置100は、生成したユーザ行動モデルを記憶する(ステップS13)。
その後、ユーザU01は、時計型端末10c(第2端末に相当する)を新規に購入する(ステップS14)。なお、ユーザU01は、時計型端末10cにも、上述したような判定装置100との通信を制御するアプリ等がインストールするものとする。その後、ユーザU01は、所定期間(例えば数日間など)、時計型端末10cを利用する。このとき、時計型端末10cは、判定装置100に第2位置情報を定期的かつ継続的に送信する(ステップS15)。
その後、ユーザU01は、時計型端末10cにおいて所定の認証処理を要求する(ステップS16)。例えば、ユーザU01は、スマートフォン10aでも利用していたサービスに対して、自身がスマートフォン10aを利用するユーザと同一ユーザであり、時計型端末10cを介しても同様のサービスを利用することができるような登録を行うための本人認証を行うものとする。
ステップS16の要求を行った場合、時計型端末10cは、要求を判定装置100に送信する(ステップS17)。なお、かかる要求は、時計型端末10cから要求を受信した所定のサービス提供サーバを介して判定装置100に送信されてもよい。また、かかる要求には、スマートフォン10aと時計型端末10cとが関連する端末であることを示す紐づけ情報が含まれてもよい。
判定装置100は、要求を受信した場合、時計型端末10cに対応する第2位置情報から第2行動情報を抽出する。そして、判定装置100は、第2行動情報と、スマートフォン10aに対応するユーザ行動モデルとを照合する(ステップS18)。そして、判定装置100は、照合の結果に基づいて、スマートフォン10aと時計型端末10cのユーザとの同一性を判定する(ステップS19)。
例えば、判定装置100は、判定日時ごとに生成したモデルと、判定日時に対応する第2位置情報から抽出される第2行動情報とを照合する。具体的には、判定装置100は、平日の朝の時間帯に対応するスマートフォン10aのモデルと、平日の朝の時間帯に対応する第2位置情報から抽出された第2行動情報とを照合する。また、判定装置100は、平日の昼の時間帯に対応するスマートフォン10aのモデルと、平日の昼の時間帯に対応する第2位置情報から抽出された第2行動情報とを照合したり、休日の朝の時間帯に対応するスマートフォン10aのモデルと、休日の朝の時間帯に対応する第2位置情報から抽出された第2行動情報とを照合したりしてもよい。そして、判定装置100は、これらのモデルと、第2行動情報とが所定の閾値を超えて一致すると判定した場合、スマートフォン10aのユーザU01と、時計型端末10cを利用するユーザとが同一のユーザであると判定する。一方、判定装置100は、これらのモデルと、第2行動情報とが所定の閾値を超えて一致しないと判定した場合、スマートフォン10aと時計型端末10cとを利用するユーザが同一のユーザでないと判定する。
図2の例では、判定装置100は、スマートフォン10aのモデルと、新たに時計型端末10cから取得された第2行動情報に基づいて、第1端末のユーザと第2端末のユーザとが同一であると判定したものとする。この場合、判定装置100は、第2端末である時計型端末10cにアクセスし、時計型端末10cにおける認証処理を制御する(ステップS20)。かかる処理は、図1に示したステップS07の処理と同様である。そして、時計型端末10cは、判定装置100の制御に従い、自装置である第2端末の認証を完了させる(ステップS21)。例えば、時計型端末10cは、サービスに対して、自装置を利用するユーザと、スマートフォン10aを利用するユーザとが一致することを認証した旨を送信する。これにより、ユーザU01は、新規購入した時計型端末10cにおいても、スマートフォン10aと同様のサービスを利用することができる。
なお、図2で説明した判定処理は、図1で示した判定処理と同様、スマートフォン10aや時計型端末10cに対して実行された種々の処理を契機として実行されてもよい。すなわち、図2で示した処理の順序は一例であり、判定装置100は、継続的に取得された第2位置情報に基づいて、サービスに対して認証が試みられたタイミングや、ログインが試みられたタイミングを契機として、上記の判定処理を実行してもよい。
図1及び図2を用いて説明してきたように、実施形態に係る判定装置100は、第1端末の位置を示す第1位置情報、及び、第2端末の位置を示す第2位置情報を取得する。そして、判定装置100は、取得した第1位置情報から抽出される第1行動情報と、第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。
このように、判定装置100は、ユーザの本人認証処理において、ユーザにパスワード等の入力を行わせずとも、行動情報(一連の位置情報の推移)の類似性に基づいてユーザの同一性を判定することで、認証におけるユーザの手間を軽減させることができる。また、判定装置100によれば、ユーザの同一性の判定がパスワード等のクレデンシャル情報に基づいて行われないため、例えば、漏洩したパスワード等の不正な利用によって不正ログイン等が行われることを防止できる。また、かかる処理によれば、パスワード等の入力に向かない端末(眼鏡型端末や、いわゆるIoT機器など)であっても、ユーザは簡単にログインなどの認証処理を実行させることができる。
なお、図2では、判定装置100が、時計型端末10cに関する判定処理において、予め紐づけされたスマートフォン10aのモデルと第2行動情報との一致を判定する例を示した。しかし、判定装置100は、何らかのモデルを紐づけるする情報を必ずしも取得することを要しない。すなわち、判定装置100は、時計型端末10cのような第2端末から第2行動情報を取得した場合、保持している複数のモデルの全てと照合処理を行い、類似度の高いモデルを特定することによって、時計型端末10cのユーザと同一と推定されるユーザを抽出してもよい。
また、図1及び図2の例において、判定装置100は、第1端末及び第2端末が検知した位置情報を第1端末及び第2端末から取得することを示した。しかし、判定装置100は、第1端末及び第2端末からの送信によらず、所定時間おきに第1端末及び第2端末をクロール(crawl)することにより、位置情報を取得するようにしてもよい。また、判定装置100は、必ずしも第1端末及び第2端末自身が検知した位置情報を取得するのではなく、判定装置100が第1端末及び第2端末から検出した情報に基づいて第1端末及び第2端末の位置を推定し、推定した情報を第1端末及び第2端末の位置情報として取り扱ってもよい。以下、上記のような実施形態に係る判定処理を実行する判定装置100、及び判定装置100を含む判定システム1について、詳細に説明する。
〔2.判定システムの構成〕
次に、図3を用いて、実施形態に係る判定装置100が含まれる判定システム1の構成について説明する。図3は、実施形態に係る判定システム1の構成例を示す図である。図3に例示するように、実施形態に係る判定システム1には、ユーザ端末10と、判定装置100とが含まれる。また、ユーザ端末10には、例えば、スマートフォン10aや、タブレット10bや、時計型端末10c等が含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。また、図3に示す判定システム1に含まれる各装置の数は図示したものに限られない。
ユーザ端末10は、上述のように、スマートフォンを含む携帯電話機や、タブレット端末や、デスクトップ型PC(Personal Computer)や、ノート型PCや、PDA(Personal Digital Assistant)等の情報処理端末である。また、ユーザ端末10には、眼鏡型や時計型の情報処理端末であるウェアラブルデバイス(wearable device)も含まれる。さらに、ユーザ端末10には、位置情報を取得するための情報処理機能を有する種々のスマート機器が含まれてもよい。例えば、ユーザ端末10には、TV(Television)や冷蔵庫、掃除機などのスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、家庭用ロボットなどが含まれてもよい。
ユーザ端末10は、ユーザによる操作や、ユーザ端末10が有する機能に応じて、自装置の位置情報を取得し、記憶する。例えば、ユーザ端末10は、上述したGPSシステムなどの外部システムと通信を行うことによって位置情報を取得する。そして、ユーザ端末10は、取得した位置情報を判定装置100に送信する。
判定装置100は、上述のように、第1端末の位置を示す第1位置情報、及び、第2端末の位置を示す第2位置情報を取得し、取得した第1位置情報から抽出される第1行動情報と、第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定するサーバ装置である。
〔3.ユーザ端末の構成〕
次に、図4を用いて、実施形態に係るユーザ端末10の構成について説明する。図4は、実施形態に係るユーザ端末10の構成例を示す図である。図4に示すように、ユーザ端末10は、通信部11と、入力部12と、表示部13と、検知部14と、記憶部15と、制御部16とを有する。
(通信部11について)
通信部11は、ネットワークNと有線又は無線で接続され、判定装置100等との間で情報の送受信を行う。通信部11は、例えばNIC(Network Interface Card)等によって実現される。
(入力部12及び表示部13について)
入力部12は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部12は、ユーザ端末10に備えられた操作キー等によって実現される。表示部13は、各種情報を表示するための表示装置である。例えば、表示部13は、液晶ディスプレイ等によって実現される。なお、ユーザ端末10にタッチパネルが採用される場合には、入力部12の一部と表示部13とは一体化される。
(検知部14について)
検知部14は、ユーザ端末10に関する各種情報を検知する。具体的には、検知部14は、ユーザ端末10に対するユーザの操作や、ユーザ端末10の所在する位置情報や、ユーザ端末10と接続されている機器に関する情報や、ユーザ端末10における環境等を検知する。図4に示す例では、検知部14は、操作検知部141と、位置検知部142と、外部装置検知部143と、環境検知部144とを有する。
(操作検知部141について)
操作検知部141は、ユーザ端末10に対するユーザの操作を検知する。例えば、操作検知部141は、入力部12に入力された情報に基づいて、ユーザの操作を検知する。すなわち、操作検知部141は、入力部12に画面をタッチする操作の入力があったことや、音声の入力があったこと等を検知する。また、操作検知部141は、ユーザによって所定のアプリが起動されたことを検知してもよい。かかるアプリがユーザ端末10内の撮像装置を動作させるアプリである場合、操作検知部141は、ユーザによって撮像機能が利用されていることを検知する。また、操作検知部141は、ユーザ端末10内に備えられた加速度センサやジャイロセンサ等で検知されたデータに基づき、ユーザ端末10自体が動かされているといった操作を検知してもよい。
(位置検知部142について)
位置検知部142は、ユーザ端末10の現在位置を検知する。具体的には、位置検知部142は、GPS衛星から送出される電波を受信し、受信した電波に基づいてユーザ端末10の現在位置を示す位置(例えば、緯度及び経度)を検知する。
位置検知部142は、種々の手法により位置を検知することができる。例えば、位置検知部142は、GPS衛星に限らず、ユーザ端末10の様々な通信機能を利用して位置を検知してもよい。
例えば、位置検知部142は、ユーザ端末10のWi−Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、ユーザ端末10の位置を検知する。具体的には、位置検知部142は、Wi−Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、自装置の位置を検知する。
また、位置検知部142は、ユーザ端末10のbluetooth機能を利用して位置を検知してもよい。例えば、位置検知部142は、bluetooth機能によって接続されるビーコン(beacon)発信機と接続することにより、自装置の位置を検知する。
また、位置検知部142は、加速度センサやジャイロセンサ等を利用したPDR(Pedestrian Dead Reckoning)技術を利用して自装置の位置を検知してもよい。また、位置検知部142は、予め測定された構造物の地磁気のパターンと、自装置が備える地磁気センサとに基づいて、自装置の位置を検知してもよい。
また、例えば、ユーザ端末10が駅改札や商店等で使用される非接触型IC(Integrated circuit)カードと同等の機能を備えている場合(もしくは、ユーザ端末10が非接触型ICカードの履歴を読み取る機能を備えている場合)、ユーザ端末10によって駅での乗車料金の決済等が行われた情報とともに、使用された位置が記録される。位置検知部142は、かかる情報を取得することで、ユーザ端末10の位置を検知してもよい。また、位置は、ユーザ端末10が備える光学式センサや、赤外線センサ等によって検知されてもよい。
位置検知部142は、上述した手法の一つ又は組合せを用いて、自装置の位置を検知する。そして、後述する取得部161は、位置検知部142が検知した位置と、検知した時間との情報に基づいて、ユーザ端末10の位置情報を取得する。
(外部装置検知部143について)
外部装置検知部143は、ユーザ端末10に接続される外部装置を検知する。例えば、外部装置検知部143は、外部装置との相互の通信パケットのやり取りなどに基づいて、外部装置を検知する。そして、外部装置検知部143は、検知した外部装置をユーザ端末10と接続される端末として認識する。また、外部装置検知部143は、外部装置との接続の種類を検知してもよい。例えば、外部装置検知部143は、外部装置と有線で接続されているか、無線通信で接続されているかを検知する。また、外部装置検知部143は、無線通信で用いられている通信方式等を検知してもよい。また、外部装置検知部143は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等によって取得される情報に基づいて、外部装置を検知してもよい。
(環境検知部144について)
環境検知部144は、ユーザ端末10における環境を検知する。環境検知部144は、ユーザ端末10に備えられた各種センサや機能を利用し、環境に関する情報を検知する。例えば、環境検知部144は、ユーザ端末10の周囲の音を収集するマイクロフォンや、ユーザ端末10の周囲の照度を検知する照度センサや、ユーザ端末10の物理的な動きを検知する加速度センサ(又は、ジャイロセンサなど)や、ユーザ端末10の周囲の湿度を検知する湿度センサや、ユーザ端末10の所在位置における磁場を検知する地磁気センサ等を利用する。そして、環境検知部144は、各種センサを用いて、種々の情報を検知する。例えば、環境検知部144は、ユーザ端末10の周囲における騒音レベルや、ユーザ端末10の周囲が撮像に適する照度であるか等を検知する。さらに、環境検知部144は、カメラで撮影された写真や映像に基づいて周囲の環境情報を検知してもよい。
なお、環境検知部144は、ユーザ端末10におけるリソースの状況を検知してもよい。例えば、環境検知部144は、リソースの状況として、ユーザ端末10内部のハードウェアに関するリソースを検知する。例えば、環境検知部144は、リソースの状況として、ユーザ端末10のバッテリー残量を検知する。また、環境検知部144は、各アプリのバッテリー(電力)消費量等を検知してもよい。
(記憶部15について)
記憶部15は、各種情報を記憶する。記憶部15は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図4に示すように、記憶部15は、データテーブルとして、位置情報テーブル151を有する。
(位置情報テーブル151について)
位置情報テーブル151は、位置情報を記憶する。ここで、図5に、実施形態に係る位置情報テーブル151の一例を示す。図5は、実施形態に係る位置情報テーブル151の一例を示す図である。図5に示した例では、位置情報テーブル151は、「位置情報ID(Identification)」、「位置情報」といった項目を有する。また、「位置情報」の項目は、「取得日時」、「位置」、「精度」、「各種センサ情報」といった小項目を有する。
「位置情報ID」は、位置情報を識別する識別情報を示す。なお、実施形態において、識別情報は、説明に用いる参照符号として用いる場合がある。例えば、位置情報ID「B01」で識別される位置情報は、「位置情報B01」と表記される場合がある。
「位置情報」は、検知部14によって検知されたユーザの位置を含む情報を示す。「取得日時」は、位置がユーザ端末10によって検知(取得)された日時を示す。図5では、取得日時を「T01」といった概念で表記しているが、実際には、取得日時の項目には、ユーザの位置が測位された日時を示す情報や、曜日を示す情報等が記憶される。「位置」は、ユーザ(言い換えればユーザ端末10)の具体的な位置を示す。図5では、位置を「G01」といった概念で表記しているが、実際には、位置の項目には、ユーザの位置を示す具体的な情報(例えば経度や緯度の座標を示す数値等)が記憶される。なお、位置G01とは、具体的な1点のみの位置を示すものではなく、所定範囲(例えば、ある座標から半径数十メートルなど)の範囲を示す情報であってもよい。
「精度」は、ユーザの位置を示す情報の精度を示す。実施形態では、精度は、例えば「低」、「中」、「高」の三段階で示される。精度は、例えば、ユーザ端末10によって位置が検知された際の検知手段に基づき、ユーザの位置を特定することのできる精度に応じて記憶される。具体的には、ユーザの位置を特定する際に数十メートルから数百メートルの誤差が生じるような検知手段(例えば検知手段がGPSのみであった場合等)の場合、取得された位置情報の精度は「低」となる。また、精度が「低」である位置情報と比較して精度の高い検知手段(例えば、検知手段がWi−FiやGPS等を組み合わせたものであった場合等)の場合、当該検知手段によって取得された位置情報の精度は「中」となる。また、精度が「中」である位置情報と比較して精度の高い検知手段(例えば、検知手段がbluetooth(ビーコン)を利用したものであった場合等)の場合、当該検知手段によって取得された位置情報の精度は「高」となる。なお、上記した精度の判定は一例であり、判定装置100は、位置情報の検知の技術に応じて柔軟に精度の判定基準を変更してもよい。
「各種センサ情報」は、位置が検知された際に、各種センサによって検知された情報を示す。図5では、各種センサ情報を「X01」といった概念で表記しているが、実際には、各種センサ情報の項目には、ユーザ端末10の加速度や気温や湿度、周辺の音声情報等の各種センサによって取得された具体的な情報が記憶される。
すなわち、図5では、位置情報テーブル151に記憶されるデータの一例として、位置情報ID「B01」で識別される位置情報B01は、取得日時「T01」において位置「G01」にユーザU01が所在し、その位置の精度は「中」であり、各種センサ情報が「X01」であることを示している。
なお、図5での図示は省略したが、位置情報テーブル151には、位置情報とともに、ユーザを識別するための識別情報や属性情報等が記憶されてもよい。
ユーザの識別情報は、例えば、判定装置100が提供する各サービスにおいてユーザに共通して付与されるサービス用ID(ユーザアカウント)等である。判定装置100は、ユーザを一意に識別する識別情報を利用することで、ユーザ端末10から取得した位置情報とユーザとを対応付ける。かかるIDは、判定装置100のみならず、判定装置100と提携した事業者(所定のサービス提供者)によって発行されてもよい。これにより、判定装置100は、一人のユーザが複数のユーザ端末10を利用していたり、異なる環境でサービスにログインしていたりする場合でも、当該ユーザを一意に特定して位置情報を取得することができる。なお、判定装置100は、ユーザの識別情報として、サービスを利用した際のクッキー(Cookie)情報や、端末固有の端末ID等を利用してもよい。
また、ユーザの属性情報は、ユーザの年齢や性別や職業や年収や居住地等の種々のユーザの属性を示す情報である。また、位置情報テーブル151には、各アプリにおけるユーザの利用履歴等が記憶されてもよい。
(制御部16について)
制御部16は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、ユーザ端末10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部16は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図4に示すように、制御部16は、取得部161と、送信部162と、認証部163とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部16の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部16が有する各処理部の接続関係は、図4に示した接続関係に限られず、他の接続関係であってもよい。
(取得部161について)
取得部161は、各種情報を取得する。例えば、取得部161は、検知部14を制御することにより、検知部14によって検知される各種情報を取得する。例えば、取得部161は、位置検知部142によって検知された情報に基づいて、ユーザ端末10の位置情報を取得する。なお、取得部161は、位置情報に限らず、ユーザ端末10の周囲の環境に関する情報等の各種センサ情報を含む、ユーザ端末10のコンテキストに関する情報を取得してもよい。取得部161は、取得した位置情報を位置情報テーブル151に格納する。
(送信部162について)
送信部162は、各種情報を送信する。例えば、送信部162は、取得部161によって取得された位置情報を判定装置100に送信する。具体的には、送信部162は、検知部14によって検知されたユーザの位置と、検知した日時と、ユーザ(及びユーザ端末10)を識別するための識別情報とを対応付けた位置情報を判定装置100に送信する。
なお、送信部162が位置情報を送信するタイミングは、判定装置100によって制御されてもよい。また、送信部162は、定期的に位置情報を送信し続けるのではなく、所定時間(例えば1時間など)の位置情報を位置情報テーブル151に蓄積し、蓄積した位置情報をまとめて判定装置100に送信してもよい。
(認証部163について)
認証部163は、各種認証処理を制御する。例えば、認証部163は、予めユーザの本人性を認証するためのクレデンシャル情報(パスワードや指紋等の生体情報など)の登録を受け付ける。その後、ユーザから、入力部12を介してログイン要求等を受け付けた場合、認証部163は、クレデンシャル情報の入力をユーザに要求する。そして、認証部163は、入力された情報と、予め登録されていたクレデンシャル情報とが一致する場合に、ユーザの本人性が確認されたと判定し、ユーザを認証する。
また、認証部163は、判定装置100によって認証処理の制御を受けてもよい。例えば、認証部163は、判定装置100からユーザの本人性を検証した旨の情報(判定装置100が発行した認証トークンなど)を受信した場合、かかる情報に基づいて、ユーザを認証してもよい。この場合、ユーザは、パスワード等のクレデンシャル情報を入力することなく、ユーザ端末10からの認証を受けることができる。
〔4.判定装置の構成〕
次に、図6を用いて、実施形態に係る判定装置100の構成について説明する。図6は、実施形態に係る判定装置100の構成例を示す図である。図6に示すように、判定装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、判定装置100は、判定装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110について)
通信部110は、例えばNIC等によって実現される。通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10等との間で情報の送受信を行う。
(記憶部120について)
記憶部120は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、位置情報記憶部121と、モデル記憶部122と、判定結果記憶部123とを有する。
(位置情報記憶部121について)
位置情報記憶部121は、ユーザ端末10から送信された位置情報を記憶する。ここで、図7に、実施形態に係る位置情報記憶部121の一例を示す。図7は、実施形態に係る位置情報記憶部121の一例を示す図である。図7に示した例では、位置情報記憶部121は、「端末ID」、「位置情報」といった項目を有する。また、「位置情報」の項目は、「取得日時」、「位置」、「精度」、「各種センサ情報」といった小項目を有する。
「端末ID」は、位置情報の送信元であるユーザ端末10を識別する識別情報である。なお、端末IDは、説明で用いる参照符号と一致するものとする。例えば、端末IDが「10a」であるユーザ端末10は、「スマートフォン10a」を示す。「取得日時」、「位置」、「精度」及び「各種センサ情報」は、図5に示した同一の項目に対応する。
すなわち、図7では、位置情報記憶部121に記憶されるデータの一例として、端末「10a」によって識別される端末(スマートフォン10a)から送信された位置情報の一例として、取得日時「T01」において位置「G01」にスマートフォン10aが所在し、その位置の精度は「中」であり、各種センサ情報が「X01」であることを示している。
(モデル記憶部122について)
モデル記憶部122は、ユーザ端末10を利用するユーザの日常的な行動の推移に関する情報を示したユーザ行動モデルを記憶する。ここで、図8に、実施形態に係るモデル記憶部122の一例を示す。図8は、実施形態に係るモデル記憶部122の一例を示す図である。図8に示すように、モデル記憶部122は、「端末ID」、「モデルID」、「対応日時」、「利用データ群」、「行動情報」といった項目を有する。また、行動情報は、「判定時刻」、「所在範囲」といった小項目を有する。
「端末ID」は、図7に示した同一の項目に対応する。「対応日時」は、モデルが生成される際に利用された位置情報の時間帯や曜日(例えば、平日であるか、あるいは土日や祭日等の休日であるか等)に関する情報を示す。例えば、ユーザ端末10から位置情報が送信され、かかる位置情報に対応する時間が「6時〜10時、平日」であれば、かかる位置情報と比較されるモデルとして、モデルM01が選択される。
「利用データ群」は、モデルの生成において用いられた位置情報の群を示す。図8では、利用データ群を「P01」といった概念で表記しているが、実際には、利用データ群の項目には、判定日時に対応する複数の位置情報(判定日時が「6時〜10時、平日」であれば、所定期間に渡って「6時〜10時、平日」の時間帯及び曜日において取得された複数の位置情報)が含まれる。利用データ群は、モデル生成のための学習データと読み替えてもよい。
「行動情報」は、モデルによって推定されるユーザの行動情報を示す。「判定時刻」は、モデルが判定処理に用いられる場合に、比較する位置情報の取得日時と対応させる時刻を示す。「所在範囲」は、モデルによって、ユーザが所在すると推定される範囲を示す。図8では、所在範囲を「H01」といった概念で表記しているが、実際には、所在範囲の項目には、ユーザが所在すると推定される位置を示す情報が具体的に記載される。例えば、所在範囲は、位置を示す経度及び緯度の数値であって、例えば数十メートルや数百メートルの範囲を含む情報によって示される。
すなわち、図8では、モデル記憶部122に記憶される情報の一例として、端末ID「10a」で識別されるスマートフォン10aに対応するモデルとしては、モデルID「M01」で識別されるモデルM01等が生成されていることを示している。また、モデルM01は、対応日時が「6時〜10時、平日」であり、利用データ群が「P01」であることを示している。また、モデルM01において、判定時刻が「6:00〜6:10」の場合には、スマートフォン10aは所在範囲「H01」に所在する、と推定されることを示している。
なお、所在範囲は、確率とともに示されてもよい。例えば、モデルM01の「6:00〜6:10」において、スマートフォン10aが所在する範囲は、所在範囲「H01」で示される範囲に「80%」であり、所在範囲「H02」で示される範囲に「20%」である、といった情報によって示されてもよい。
(判定結果記憶部123について)
判定結果記憶部123は、判定処理の結果に関する情報を記憶する。ここで、図9に、実施形態に係る判定結果記憶部123の一例を示す。図9は、実施形態に係る判定結果記憶部123の一例を示す図である。図9に示すように、判定結果記憶部123は、「判定結果ID」、「同一ユーザと判定された端末ID」、「利用データ群」といった項目を有する。
「判定結果ID」は、判定結果を識別する識別情報を示す。「同一ユーザと判定された端末ID」は、判定処理の結果として、同一のユーザが利用するユーザ端末10であると判定された各ユーザ端末10の識別情報を示す。「利用データ群」は、判定処理に用いられた複数の位置情報を示す。
すなわち、図9では、判定結果記憶部123に記憶されるデータの一例として、判定結果ID「R01」によって示される判定結果は、端末ID「10a」と「10b」によって示されるスマートフォン10aとタブレット10bとを利用するユーザは同一ユーザであると判定されたことを示している。また、判定に用いられた利用データ群は、スマートフォン10aが「P21」であり、タブレット10bが「P22」であったことを示している。
(制御部130について)
制御部130は、例えば、コントローラであり、CPUやMPU等によって、判定装置100内部の記憶装置に記憶されている各種プログラム(判定プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
図6に示すように、制御部130は、取得部131と、生成部132と、判定部133と、認証制御部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図6に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図6に示した接続関係に限られず、他の接続関係であってもよい。
(取得部131について)
取得部131は、各種情報を取得する。例えば、取得部131は、ユーザ端末10から位置情報を取得する。具体的には、取得部131は、位置情報として、ユーザ端末10によって検知されたり、取得されたりした各種情報を取得する。取得部131は、所定の時間間隔でユーザ端末10から位置情報を取得し、取得した位置情報を位置情報記憶部121に格納する。なお、取得部131は、後述する判定部133が第1端末と第2端末の位置情報を利用する場合、第1端末の位置を示す第1位置情報、及び、第2端末の位置を示す第2位置情報を取得する。
また、取得部131は、取得した位置情報において、位置が検知された精度を取得してもよい。上述のように、ユーザ端末10は、種々の機能(検知手段)を用いて位置を検知する。そして、一般に、ユーザの位置を示す情報は、検知に用いられる機能によって精度が異なる。例えば、GPSでユーザの位置を検知する場合と、Wi−Fiによる通信機能を用いてユーザの位置を検知する場合と、ビーコンによる通信機能を用いてユーザの位置を検知する場合とでは、ユーザの位置を特定する精度が異なる。例えば、ビーコンによる通信機能を用いてユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった、数メートル範囲の精度でユーザの位置を特定可能である。一方で、GPSでユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった数メートル範囲の精度でユーザの位置を特定することは難しい。一般に、精度の高い位置情報を取得した方が各種情報処理にとって有用であるため、取得部131は、精度の高い位置情報を優先的に取得するようにしてもよい。
例えば、取得部131は、ユーザ端末10から位置に関する情報を取得する際に、上記のようにユーザ端末10が位置を検知した場合の検知手段について取得する。そして、取得部131は、位置情報として、位置と検知手段(言い換えれば、精度)とを対応付けた情報を取得する。この場合、取得部131は、検知手段と精度との関係性を定義した定義情報等を予め取得していてもよい。具体的には、取得部131は、判定装置100の管理者等から、ビーコン機能を利用して検知された位置情報の精度が「高」である、といった定義情報を取得しておく。そして、取得部131は、位置に関する情報と検知手段とをユーザ端末10から取得した場合に、当該検知手段に応じた精度の情報を位置と対応付け、対応付けた情報を位置情報として取得する。なお、取得部131は、検知手段に限らず、取得した位置情報の精度を示す数値(例えば、緯度や経度の座標を示す数値)の小数点以下の桁数に応じて、精度の高低を判定してもよい。
また、取得部131は、位置情報とともに、ユーザに関する各種情報を取得してもよい。例えば、取得部131は、利用するサービスにおいてユーザが登録した情報に基づいて、ユーザの属性情報を取得する。また、取得部131は、サービスにおけるユーザの興味関心情報や、ユーザの行動履歴情報を取得してもよい。取得部131は、種々の既存の技術(例えば、ユーザの興味関心や行動に基づいて広告を配信するための広告配信技術等)を利用して、種々の情報を取得してもよい。また、取得部131は、曜日情報を含めた日時情報とともに位置情報を取得するようにしてもよい。
また、取得部131は、位置が検知された際に同時に検知された各種センサ情報(例えば温度や湿度等)をユーザ端末10から取得してもよい。
また、取得部131は、位置情報として、ユーザ端末10と他の装置における通信の状況を取得してもよい。具体的には、取得部131は、ユーザ端末10がアクセスポイントを介してインターネットなどにアクセスしている通信状況を取得する。この場合、取得部131は、アクセスポイントとの通信状況から検出される情報を位置情報として取得する。具体的には、取得部131は、ユーザ端末10と通信中のアクセスポイントの設置位置を割り出し、割り出したアクセスポイントの設置位置に基づいて、当該ユーザ端末10の位置情報として取得するようにしてもよい。なお、取得部131は、ユーザ端末10とアクセスポイントとの電波強度等の情報をさらに取得してもよい。例えば、取得部131は、かかる電波強度が強いほど、取得された位置情報の精度を高く判定してもよい。また、取得部131は、駅改札の装置とユーザ端末10との通信を検出することでユーザ端末10の位置を取得したり、ユーザ端末10のIPアドレスに基づいて位置を取得したりしてもよい。
また、取得部131は、必ずしもユーザ端末10が位置を検知した時間と同じ時間に位置情報を取得しなくてもよい。すなわち、取得部131は、リアルタイムに位置情報を取得するのではなく、後述する各種処理に利用する際に、ユーザ端末10の記憶部15に記憶されている位置情報をまとめて位置情報として取得してもよい。
(生成部132について)
生成部132は、取得部131によって取得された第1位置情報に基づいて、第1端末を利用するユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する。例えば、生成部132は、モデル生成に充分な第1位置情報が蓄積されたこと(例えば、一週間や一か月間に渡って第1位置情報が取得されたこと)を契機として、第1端末に対応するモデルを生成する。
生成部132は、例えば所定期間の第1端末の第1位置情報を利用データ群として取得し、取得した情報に基づいて、ユーザ端末10が所定のタイミングにおいてどのような位置に所在するか(より正確には、どのような位置に所在する可能性が高いか)を示すユーザ端末10ごとの行動モデルを生成する。
生成部132は、種々の既知の手法に基づいてモデルを生成してもよい。例えば、生成部132は、位置情報を統計的に解析することによりモデルを生成する。具体的には、生成部132は、特定の時間と当該時間においてユーザが所在していた位置を示す情報とを集積し、ユーザが当該時間において、どの位置に属する確率が高いかを示したモデルを生成する。
例えば、図8の例では、生成部132は、利用データ群P01(ユーザU01から所定期間に渡り取得した位置情報)に基づいて、平日の6時から6時10分までの間にスマートフォン10aが所在した位置を参照する。そして、生成部132は、平日の「6:00〜6:10」におけるスマートフォン10aの所在する位置の範囲が所在範囲「H01」に含まれる、と推定するモデルM01を生成する。
なお、生成部132は、推定する位置が複数存在するモデルを生成してもよい。例えば、生成部132は、位置情報の統計に基づいて、平日の「6:00〜6:10」におけるスマートフォン10aの所在する位置は、「80%」の確率で所在範囲H01であり、「20%」の確率で所在範囲H02である、と推定するモデルを生成してもよい。また、例えば、生成部132がスマートフォン10aから取得された利用データ群を参照した場合に、平日の6時から6時10分までの間にはスマートフォン10aが所在する位置が、2つの異なる範囲において略同数で観測されたとする。この場合、生成部132は、平日の「6:00〜6:10」におけるスマートフォン10aの所在範囲は、「50%」の確率で所在範囲H01であり、「50%」の確率で所在範囲H02である、と推定するモデルを生成してもよい。また、生成部132は、ユーザ端末10から新たな位置情報を取得するたびに、生成したモデルを更新する処理を行ってもよい。
なお、上述したモデルの生成処理は一例であり、生成部132は、ユーザの行動や位置の推移を推定する様々な既知の生成(学習)処理を用いてモデルを生成してもよい。例えば、生成部132は、ユーザの行動(位置情報)の特徴を学習することにより、ユーザの位置の推移を予測するモデルを生成してもよい。
例えば、生成部132は、所定の時間帯ごとにユーザ行動モデルを生成する。具体的には、生成部132は、午前中の時間帯や午後の時間帯の各々に対応するユーザ行動モデルを生成したり、数時間ごとの各々に対応するユーザ行動モデルを生成したりする。
また、生成部132は、所定の曜日ごとにユーザ行動モデルを生成してもよい。具体的には、生成部132は、平日と休日(土曜日及び日曜日)の各々に対応するユーザ行動モデルを生成する。また、生成部132は、所定の時間帯と曜日とを組み合わせて、各々の組合せに対応するユーザ行動モデルを生成してもよい。
そして、生成部132は、ユーザ端末10ごと、また、時間帯や曜日ごとに生成したモデルをモデル記憶部122に格納する。
なお、生成部132は、上記のようにユーザの所在位置のみからモデルを生成するのではなく、ユーザの所在位置と経路とが組み合わされたモデルを生成してもよい。例えば、生成部132は、所定のユーザの移動開始時刻と、ある地点までの移動完了時刻と、その経路情報とを組み合わせた情報を取得する。具体的には、生成部132は、あるユーザ(ユーザ端末10)が所在範囲H01に所在し、その3時間後に所在範囲H02に所在するという情報を取得する。また、生成部132は、当該ユーザが所在範囲H01から所在範囲H02に移動した経路情報(移動の平均速度や、位置情報の推移から推定可能な経路等)を取得する。そして、生成部132は、かかる移動と滞在に関する情報を集積した情報を、当該ユーザに対応したユーザ行動モデルとして生成する。かかるモデルは、例えばjson(JavaScript(登録商標) Object Notation)形式のようなテキストデータフォーマットで記述されてもよい。また、生成されたモデルは、Hadoop(登録商標)等の分散環境で保持され、適宜、後述する判定部133等によって利用されてもよい。
なお、生成部132は、時期ごと(春夏秋冬ごと等)や、気温ごと(外気温が0度から10度まで、あるいは10度から20度まで等)にモデルを生成してもよい。また、生成部132は、これらの情報を組み合わせてモデルを生成してもよい。これにより、生成部132は、一つの端末について、多様な状況に即したモデルを生成することができる。
(判定部133について)
判定部133は、取得部131によって取得された第1位置情報から抽出される第1行動情報と、第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。
例えば、判定部133は、第1端末から取得した第1位置情報の一連の位置の推移及び時間の推移を第1行動情報として抽出する。そして、判定部133は、同様に抽出された第2行動情報との類似度を判定する。
第1端末と第2端末とは、備える構成やOS(Operating System)等の機能も異なるため、取得する第1位置情報と第2位置情報も異なる情報であると想定される。例えば、第1位置情報と第2位置情報では、位置が検知された時刻や、位置を示す情報の精度等が異なる場合がある。
このため、判定部133は、第1位置情報や第2位置情報を抽象化し、ユーザの行動を抽象的に示すことのできる行動情報に基づいて、ユーザの同一性を判定する。例えば、判定部133は、第1端末に係る第1行動情報として、「6時00分」に位置「G01」に所在し、「6時10分」に位置「G02」に所在した、という情報を参照する。また、判定部133は、第2端末に係る第2行動情報として、「6時05分」に位置「G11」に所在し、「6時15分」に位置「G12」に所在した、という情報を参照する。この場合、判定部133は、所定閾値を設定し、両者を抽象化して、行動情報の類似性を判定する。例えば、判定部133は、判定時刻の閾値を「10分」と設定する。この場合、判定部133は、「6時00分」に取得された位置情報と、「6時05分」に取得された位置情報は、「10分」の範囲内であることから、両者が比較対象になりうると判定する。また、位置「G01」と位置「G11」は、例えば、判定部133が規定する範囲(例えば、両位置のユークリッド距離が数メートルや数十メートル以内等)に属するものとする。この場合、判定部133は、第1位置情報と第2位置情報は所定の閾値内の情報である(すなわち、第1端末と第2端末とがほぼ同じ位置に所在する)と判定する。
そして、判定部133は、上記のような類似性の判定処理を一連の位置情報(すなわち、行動情報)に対して実行する。そして、判定部133は、第1行動情報と第2行動情報において、所定の閾値を超える一致があると判定した場合、第1端末と第2端末のユーザが同一であると判定する。例えば、判定部133は、「30分間の位置情報同士で3点以上の位置情報の一致」があると判定した場合や、「2時間以内の位置情報同士で10点以上の位置情報の一致」があると判定した場合等に、第1端末と第2端末のユーザが同一であると判定する。
また、判定部133は、第1行動情報と第2行動情報との照合に限らず、予め生成部132によって生成されているユーザ行動モデルとの照合に基づいて、第1端末と第2端末のユーザの同一性を判定してもよい。
例えば、判定部133は、第1端末から取得した第1位置情報に基づいて生成されたモデルと、第2端末から取得した第2位置情報から抽出された第2行動情報とを照合することにより、第1端末と第2端末のユーザの同一性を判定してもよい。
例えば、判定部133は、所定の時間帯ごとに生成されたモデルと、当該所定の時間帯に対応する第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。すなわち、判定部133は、「朝6時〜朝10時」の第2位置情報が取得された場合には、かかる第2位置情報から抽出された第2行動情報と、第1端末のモデルのうち「朝6時〜朝10時」に対応するモデルとを照合する。
また、判定部133は、所定の曜日ごとに生成されたモデルと、当該所定の曜日に対応する第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定してもよい。すなわち、判定部133は、「平日」の第2位置情報が取得された場合には、かかる第2位置情報から抽出された第2行動情報と、第1端末のモデルのうち平日に対応するモデルとを照合する。
なお、生成部132によってモデルが生成されている場合、判定部133は、第1端末と第2端末とが同一の端末であっても上記の判定処理を行うことができる。例えば、判定部133は、第1端末から生成されたモデルと、モデルが生成されたのちに所定の情報を失った(例えば初期化された)第1端末から取得した位置情報とを照合する。これらの情報が照合された場合、判定部133は、モデルに対応する端末のユーザと、初期化された第1端末のユーザとが同一であると判定する。すなわち、ユーザは、例えば第1端末内からパスワードやクレデンシャル情報が失われていたとしても、初期化された第1端末を数日間使用することで自身の行動パターンを示す位置情報が蓄積されることにより、かかる情報に基づいて、自身の同一性を判定させることができる。言い換えれば、現時点の第1端末の持ち主であるユーザは、クレデンシャル情報等が失われる前の第1端末の持ち主と同一であると証明することができる。また、上記の処理によれば、例えばユーザが第1端末を買い替えた場合や紛失し、利用する端末を第1端末から第2端末に切り替えた場合であっても、買い替え前後の端末のユーザの同一性を判定すること等が可能である。
また、判定部133は、判定処理の結果を判定結果記憶部123に格納してもよい。これにより、判定部133は、次回以降、判定結果記憶部123に格納された識別情報を有するユーザ端末10の照合を行う場合には、前回の結果に基づいて、照合する確率の高いモデルを優先的に選択することができる。
また、判定部133は、位置情報の一致のみならず、位置情報と同時に取得された精度や、センサ情報等に基づいて、ユーザの同一性の判定を行ってもよい。すなわち、判定部133は、第1行動情報と第2行動情報とを照合するとともに、当該第1行動情報に対応するセンサ情報と、当該第2行動情報に対応するセンサ情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定してもよい。具体的には、判定部133は、位置情報と同時に取得された温度や湿度、あるいは高度等の情報の類似性(例えば、第1端末によって検知された温度と、第2端末によって同時刻に検知された温度とが所定の閾値以内であるか否か等)に基づいて、ユーザの同一性の判定を行ってもよい。
また、判定部133は、上記に挙げた手法以外の任意の手法によって、ユーザの同一性を判定してもよい。例えば、判定部133は、判定対象となる第1行動情報と第2行動情報との移動軌跡同士の近さを定量化し、定量化した値を比較する手法に基づいて、ユーザの同一性を判定してもよい。例えば、判定部133は、判定対象となる第1行動情報と第2行動情報とについてDTW(Dynamic Time Warping)スコア(DTW距離)を算出し、算出したDTWスコアに基づいて判定を行ってもよい。また、判定部133は、判定対象となる第1行動情報と第2行動情報との各々に含まれる位置情報をクラスタリングし、その類似度を判定してもよい。また、判定部133は、判定対象となる第1行動情報と第2行動情報との各々をベクトル化し、当該ベクトルの類似度を判定してもよい。この場合、判定部133は、ベクトルにおける特徴情報をディープラーニング等で学習し、学習結果を利用してベクトル同士の類似度を判定してもよい。
(認証制御部134について)
認証制御部134は、判定部133によって第1端末と第2端末とを利用するユーザが同一であると判定された場合に、第1端末又は第2端末におけるユーザの本人認証処理を制御する。
例えば、認証制御部134は、第1端末がユーザに関する本人認証処理を完了しており、かつ、判定部133によって第1端末と第2端末とを利用するユーザが同一であると判定された場合には、第2端末のユーザに関する本人認証処理をスキップさせるよう第2端末を制御する。
より具体的には、認証制御部134は、第1端末がユーザに関するログイン処理を完了しており、かつ、判定部133によって第1端末と第2端末とを利用するユーザが同一であると判定された場合には、第2端末のユーザに関するログイン処理をスキップさせるよう第2端末を制御する。ユーザに関するログイン処理のスキップとは、例えば、ユーザからユーザアカウントやパスワード等の情報の入力を受け付ける処理をスキップし、ログイン処理がユーザから試みられた場合に、受付処理を省略して第2端末がログインを認証することをいう。
なお、認証制御部134は、ログイン処理に限らず、例えば、所定のネットワークサービスの利用におけるユーザ確認(ユーザアカウントとパスワードの入力など)をスキップさせるよう、第2端末を制御してもよい。例えば、認証制御部134は、判定部133によってユーザが同一であると判定された場合、本人認証が確認したことを示す認証トークン等を発行し、発行したトークンを第2端末に送信する。第2端末は、かかるトークンに基づいて、認証処理をスキップする。
〔5.処理手順〕
次に、図10及び図11を用いて、実施形態に係る判定装置100による処理の手順について説明する。まず図10を用いて、実施形態に係る生成処理の手順について説明する。図10は、実施形態に係る処理手順を示すフローチャート(1)である。
図10に示すように、判定装置100は、第1端末から第1位置情報を取得する(ステップS101)。そして、判定装置100は、モデル生成に充分な第1位置情報が蓄積されたか否かを判定する(ステップS102)。充分な第1位置情報が蓄積されていない場合(ステップS102;No)、判定装置100は、第1位置情報の取得を継続する。
一方、充分な第1位置情報が蓄積された場合(ステップS102;Yes)、判定装置100は、端末ごとのユーザ行動モデルを生成する(ステップS103)。そして、判定装置100は、モデルと第1端末とを対応付けて、生成したモデルをモデル記憶部122に格納する(ステップS104)。
続いて、図11を用いて、実施形態に係る認証制御処理の手順について説明する。図11は、実施形態に係る処理手順を示すフローチャート(2)である。
図11に示すように、判定装置100は、第2端末から第2位置情報を取得する(ステップS201)。そして、判定装置100は、取得した第2位置情報の取得日時に基づいて、判定日時に応じたモデルを選択する(ステップS202)。
続いて、判定装置100は、第2位置情報とモデルにおける情報との一致が所定の閾値以上であるか否かを判定する(ステップS203)。第2位置情報とモデルにおける情報との一致が所定の閾値以上である場合(ステップS203;Yes)、判定装置100は、モデルに対応する第1端末と第2端末とが同一のユーザであると判定する(ステップS204)。そして、判定装置100は、第2端末における認証を許可するための処理(認証処理を制御して、ユーザの認証をスキップさせるなど)を行う(ステップS205)。
一方、第2位置情報とモデルにおける情報との一致が所定の閾値以上でない場合(ステップS203;No)、判定装置100は、モデルに対応する第1端末と第2端末とが同一のユーザでないと判定する(ステップS206)。この場合、判定装置100は、第2端末における認証を許可しない(例えば、ユーザの認証をスキップさせずに、ユーザにパスワードや生体情報の入力を求めさせる)(ステップS207)。
〔6.変形例〕
上述した判定装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
〔6−1.システム構成〕
上述した実施形態では、判定装置100が、第1端末と第2端末のユーザの同一性を判定する例を説明した。ここで、上記判定処理は、第1端末によって行われてもよい。すなわち、本願に係る判定装置とは、第1端末であってもよい。かかる点について、図12及び図13を用いて説明する。
図12は、変形例に係る判定処理の一例を示す図である。図12に示す例では、実施形態に係る判定処理を、第1端末であるユーザ端末20が実行する例を示す。図12に示すように、ユーザU01は、第1端末にログインする(ステップS31)。
このとき、第1端末であるユーザ端末20は、自装置の位置情報(第1位置情報)を取得するとともに、第2端末であるタブレット10bから第2位置情報を取得するものとする。例えば、ユーザ端末20は、タブレット10bとbluetooth等との近距離通信を介して、第2位置情報を取得するよう制御する。かかる制御に基づき、タブレット10bは、第2位置情報をユーザ端末20に送信する(ステップS32)。
ユーザ端末20は、第1位置情報から第1行動情報を抽出するとともに、取得した第2位置情報から第2行動情報を抽出する(ステップS33)。そして、ユーザ端末20は、第1行動情報と第2行動情報を照合する。これにより、ユーザ端末20は、ユーザ端末20とタブレット10bのユーザとの同一性を判定する。すなわち、ステップS33の処理は図1に示したステップS04の処理に対応し、ステップS34の処理は図1に示したステップS05の処理に対応し、ステップS35の処理は図1に示したステップS06の処理に対応する。
そして、ユーザ端末20は、ユーザの同一性を判定したのち、第2端末の認証処理を制御する(ステップS36)。すなわち、ユーザU01が第2端末にログインを要求した場合(ステップS37)、タブレット10bは、ユーザU01の認証をスキップして、ユーザU01のログインを許可する(ステップS38)。
このように、実施形態に係る判定処理は、判定装置100等のサーバを介さず実行されてもよい。かかる構成によっても、ユーザ端末20(判定装置)は、認証におけるユーザの手間を軽減させることができる。
次に、図13を用いて、変形例に係るユーザ端末20の構成について説明する。図13は、変形例に係るユーザ端末の構成例を示す図である。
図13に示すように、ユーザ端末20は、図4で示した構成に加えて、生成部164と、判定部165と、認証制御部166と、モデルテーブル152と、判定結果テーブル153とを有する。生成部164は、図6に示した判定装置100に係る生成部132と同様の処理を実行する。判定部165は、図6に示した判定装置100に係る判定部133と同様の処理を実行する。認証制御部166は、図6に示した判定装置100に係る認証制御部134と同様の処理を実行する。また、モデルテーブル152は、図8に示したモデル記憶部122と同様の情報を記憶する。また、判定結果テーブル153は、図9に示した判定結果記憶部123と同様の情報を記憶する。
〔6−2.位置情報〕
上記実施形態では、位置情報は、ユーザ端末10が取得するGPS情報や、アクセスポイント等から取得することを説明した。しかし、判定装置100は、異なる情報からユーザ端末10の位置情報を取得してもよい。
例えば、判定装置100は、ユーザが各種サービスを利用した履歴に基づいて、ユーザ端末10の位置情報を取得してもよい。具体的には、判定装置100は、路線検索サービスにおいて頻繁にユーザ端末10から入力される駅を、ユーザの最寄り駅と推定する。そして、判定装置100は、最寄り駅を含む所定範囲をユーザ端末10が所在する地域として取得してもよい。かかる処理によれば、判定装置100は、ユーザ端末10が位置情報を取得する機能を有していない場合であっても、ユーザ端末10の位置情報を取得することができる。
また、判定装置100は、ユーザの各種サービスの利用状況に基づいて、ユーザの位置を推定してもよい。例えば、判定装置100は、ユーザが検索を行った際の検索クエリや、SNS(Social Networking Service)の投稿情報等を取得し、取得した情報に基づいて、ユーザの位置を推定してもよい。例えば、判定装置100は、日常的に同じ地域のランチに関する検索を行っているユーザは、当該地域を勤務先とするユーザであり、少なくとも昼の時間帯は当該地域に所在すると推定してもよい。また、判定装置100は、日常的に同じ地域のニュースを閲覧しているユーザは、当該地域に所在する可能性が高いユーザであると推定してもよい。また、判定装置100は、特定の地域に関するSNSへの投稿が多いユーザは、当該特定の地域に所在する可能性が高いユーザであると推定してもよい。このように、判定装置100は、ユーザの各種サービスに関する様々な情報を利用して、ユーザの位置情報を取得したり、ユーザの位置を推定したりしてもよい。
また、判定装置100は、ユーザ端末10からではなく、ユーザ端末10と連携した外部機器からユーザ端末10の位置情報を取得してもよい。例えば、判定装置100は、街中に設置されたBeacon端末や、上記した駅改札や、ユーザ端末10をかざして支払が行われたレジ等、その設置位置の近傍にユーザ端末10が所在したことを示す情報を取得可能な各種情報機器から、ユーザ端末10の位置情報を取得してもよい。すなわち、判定装置100は、ユーザ端末10以外の情報機器から取得した情報であっても、ユーザ端末10を識別する識別情報とともに位置情報を取得していれば、実施形態に係る判定処理を実行することができる。
〔6−3.ユーザ端末の構成〕
上記実施形態では、ユーザ端末10の構成例について図4を用いて説明した。しかし、ユーザ端末10は、図4で例示した全ての処理部を備えることを必ずしも要しない。例えば、ユーザ端末10は、表示部13や検知部14を必ずしも備えていなくてもよい。また、ユーザ端末10は、2以上の機器に分離されて図4に示す構成が実現されてもよい。例えば、ユーザ端末10は、少なくとも検知部14と取得部161とを有する検知装置と、少なくとも通信部11を有する通信装置とが分離された構成を有する、2台以上の機器により実現されてもよい。
〔6−4.位置情報の精度〕
上記実施形態において、ユーザ端末10が検知する位置情報の精度は、種々の検知(測位)手段によって精度が異なることを説明した。ここで、検知手段の精度は、上記実施形態で示した例に限らない。例えば、ユーザ端末10が利用する検知手段によっては、Wi−Fiやビーコンを利用した測位よりも、GPSを利用した測位の方が、位置の精度が高い場合もありうる。すなわち、上記で示した検知手段や、検知手段同士の精度の高低は一例であり、実施形態に係る判定装置100は、各々の検知手段に応じて適切な精度を適宜選択可能なよう、定義情報を適宜更新するようにしてもよい。
また、判定装置100は、位置情報を送信するユーザ端末10に応じて各種処理を行ってもよい。上述のように、ユーザ端末10には、スマートフォンや時計型端末やタブレット端末など種々の種類の端末が含まれる。このため、端末間で、位置情報を取得する頻度や、取得した位置情報の精度が異なることが想定される。
ここで、判定装置100は、端末の種類に合わせて、異なる生成処理や判定処理を行うようにしてもよい。例えば、時計型端末は、スマートフォンと比べて位置情報を送信する頻度が少ないものとする。この場合、時計型端末から得られた位置情報と、スマートフォンから得られた位置情報とを、同じように抽象化してユーザ行動モデルを生成しても、異なるモデルが生成される可能性がある。このため、判定装置100は、予め位置情報を取得するユーザ端末10の種別を参照し、種別ごとに異なる処理を行ってもよい。例えば、判定装置100は、時計型端末から取得した位置情報については、スマートフォンから取得した位置情報と比較して、低い精度(甘い閾値)であってもユーザの同一性を判定するなど、種々の端末別に判定のレベルを変えるようにしてもよい。あるいは、判定装置100は、時計型端末から取得した位置情報については、スマートフォンから取得した位置情報と比較して、より多くの位置情報が蓄積されるまでユーザの同一性を判定する処理を待機するなど、種々の端末別に判定のタイミングを変えるようにしてもよい。
〔7.ハードウェア構成〕
上述してきた実施形態に係る判定装置100やユーザ端末10は、例えば図14に示すような構成のコンピュータ1000によって実現される。以下、判定装置100を例に挙げて説明する。図14は、判定装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(図3に示したネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る判定装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
〔8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図6に示した判定部133と認証制御部134とは統合されてもよい。また、例えば、記憶部120に記憶される情報は、ネットワークNを介して、外部に備えられた記憶装置に記憶されてもよい。
また、例えば、上記実施形態では、判定装置100が、ユーザ端末10の位置情報を取得する取得処理と、第1端末と第2端末のユーザが同一であるかを判定する判定処理とを行う例を示した。しかし、上述した判定装置100は、取得処理を行う取得装置と、判定処理を行う判定装置とに分離されてもよい。この場合、取得装置は、取得部131を少なくとも有する。判定装置は、判定部133を少なくとも有する。また、実施形態に係る判定装置100による処理は、取得装置と、判定装置といった各装置を含む判定システム1によって実現される。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔9.効果〕
上述してきたように、実施形態に係る判定装置100は、取得部131と、判定部133とを有する。取得部131は、第1端末の位置を示す第1位置情報、及び、第2端末の位置を示す第2位置情報を取得する。判定部133は、取得部131によって取得された第1位置情報から抽出される第1行動情報と、第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。
このように、実施形態に係る判定装置100は、ユーザからパスワード等のクレデンシャル情報等を取得することなく、行動情報(一連の位置情報の推移)の類似性に基づいてユーザの同一性を判定する。これにより、判定装置100は、本人認証処理等をユーザが行う手間を省かせることができるので、認証におけるユーザの手間を軽減させることができる。
また、実施形態に係る判定装置100は、判定部133によって第1端末と第2端末とを利用するユーザが同一であると判定された場合に、当該第1端末又は当該第2端末における当該ユーザの本人認証処理を制御する認証制御部134をさらに有する。
このように、実施形態に係る判定装置100は、判定部133による判定結果に基づいて認証処理を制御することで、認証におけるユーザの手間を軽減させることができる。
また、認証制御部134は、第1端末がユーザに関する本人認証処理を完了しており、かつ、判定部133によって当該第1端末と第2端末とを利用するユーザが同一であると判定された場合には、当該第2端末の当該ユーザに関する本人認証処理をスキップさせるよう当該第2端末を制御する。
このように、実施形態に係る判定装置100は、第1端末と第2端末とを利用するユーザが同一であると判定された場合に、第2端末における認証処理をスキップさせるよう制御してもよい。これにより、ユーザは、第1端末で行った認証処理を第2端末でも行うといった、重複する作業を行う必要がなくなるため、認証における手間を軽減することができる。
また、認証制御部134は、第1端末がユーザに関するログイン処理を完了しており、かつ、判定部133によって当該第1端末と第2端末とを利用するユーザが同一であると判定された場合には、当該第2端末の当該ユーザに関するログイン処理をスキップさせるよう当該第2端末を制御する。
このように、実施形態に係る判定装置100は、第2端末へのログイン処理をスキップさせるよう第2端末を制御してもよい。これにより、判定装置100は、例えばパスワード等の入力に向かない端末(眼鏡型端末やIoT機器など)であっても、簡易にログイン処理を完了させることできるため、上記のような種々の端末を利用するユーザの負担を軽減させることができる。
また、実施形態に係る判定装置100は、第1位置情報に基づいて、第1端末を利用するユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成部132をさらに有する。判定部133は、生成部132によって生成されたユーザ行動モデルと、第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。
このように、実施形態に係る判定装置100は、予めユーザ行動モデルを生成し、生成したモデルと行動情報を照合してもよい。これにより、判定装置100は、例えばユーザが端末を買い替えたり紛失したりしたときに、それまで第1端末を利用していたユーザと、新たに利用を開始した第2端末のユーザとの同一性を判定することができる。すなわち、判定装置100によれば、判定時点において、照合対象となる第1端末が存在していない場合であっても、ユーザの同一性の判定を行うことができる。
また、生成部132は、所定の時間帯ごとにユーザ行動モデルを生成する。判定部133は、所定の時間帯ごとに生成されたユーザ行動モデルと、当該所定の時間帯に対応する第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。
このように、実施形態に係る判定装置100は、時間帯ごとに異なるモデルを生成することで、より正確にユーザの行動を判定できるため、判定処理の精度を向上させることができる。
また、生成部132は、所定の曜日ごとにユーザ行動モデルを生成する。判定部133は、所定の曜日ごとに生成されたユーザ行動モデルと、当該所定の曜日に対応する第2位置情報から抽出される第2行動情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。
このように、実施形態に係る判定装置100は、曜日(平日や休日など)ごとに異なるモデルを生成することで、より正確にユーザの行動を判定できるため、判定処理の精度を向上させることができる。
また、取得部131は、第1位置情報とともに第1端末によって検知されたセンサ情報、及び、第2位置情報とともに第2端末によって検知されたセンサ情報とを取得する。判定部133は、第1行動情報と第2行動情報とを照合するとともに、当該第1行動情報に対応するセンサ情報と、当該第2行動情報に対応するセンサ情報とを照合することにより、第1端末と第2端末とを利用するユーザの同一性を判定する。
このように、実施形態に係る判定装置100は、位置情報とともに取得されるセンサ情報(温度や湿度、加速度、周囲の音声情報もしくは高度など)を照合して判定処理を行うことにより、判定処理の精度を向上させることができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。