以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.第1の実施形態
1−1.システム構成
1−2.サーバの機能構成
1−3.処理フロー
1−4.データの例
1−5.相関性の判定の具体的な例
2.第2の実施形態
3.第3の実施形態
4.ハードウェア構成
5.補足
(1.第1の実施形態)
(1−1.システム構成)
図1は、本開示の第1の実施形態に係るシステムの概略的な構成を示す図である。図1を参照すると、本実施形態に係るシステム10は、デバイス100と、サーバ200とを含む。デバイス100として、図1には、スマートフォン100a、タブレット100b、ノートPC(Personal Computer)100c、ウェアラブルデバイス100d、車載デバイス100e、テレビ100f、ゲーム機100g、エアコン100h、照明器具100i、および調理器具100jが例示されている。
なお、デバイス100はこれらの例には限られず、他にもさまざまなデバイスがデバイス100に含まれうる。例えば、デバイス100は、スマートフォンやタブレット、ノートPC以外のモバイルデバイスを含んでもよい。デバイス100は、図示されたアイウェア以外にも、コンタクトレンズ型端末、腕時計型端末、腕輪型端末、指輪型端末、ヘッドセット、衣服取付型または衣服一体型端末、靴取付型もしくは靴一体型端末、またはネックレス型端末などのウェアラブルデバイスを含んでもよい。車載デバイス100eは、具体的にはカーナビゲーションシステムまたはリアシートエンターテインメントシステムなどでありうる。また、デバイス100は、テレビやゲーム機、エアコン、照明器具に限らず、通信機能および情報処理機能を有するあらゆる種類のCE(Consumer Electronics)デバイスを含んでもよい。
さらに、デバイス100は、不特定多数のユーザによって共用されるデバイスを含んでもよい。例えば、デバイス100は、パブリックディスプレイ、飲食店などのオーダーシステムに使用される端末装置、または自動販売機などを含んでもよい。また、上記のモバイルデバイスや車載デバイスも、それ自体が貸し出されたり、レンタカーに搭載されたりして、不特定多数のユーザによって共用されうる。
上記のような様々な種類のデバイス100が存在する環境では、ユーザが2つ以上のデバイス100を使用することも多くある。例えば、ユーザは、テレビ100fで映画を見ながら、スマートフォン100aでその映画に関する情報を検索していることがありうる。また、ユーザは、タブレット100bを携帯したまま、車載デバイス100eを搭載した車両に乗車していることがありうる。また、ユーザは、ウェアラブルデバイス100dを装着した状態で、エアコン100hをON/OFFしたり、照明器具100iを点灯/消灯したり、調理器具100jで調理したりすることがありうる。また、ユーザは、ゲーム機100gでゲームをプレイしながら、ノートPC100cでゲームの攻略情報を調べたりすることがありうる。
そのような場合に、当該2つ以上のデバイス100を、同じユーザによって使用されているデバイス100として関連付けることができれば、例えばユーザについて多様かつ長期間のログを取得したり、ユーザへの情報提供にあたって最適な出力デバイスを選択したりするために有用である。しかしながら、そのようなデバイス100の関連付けは、限られた場合に可能であるにすぎず、多くの場合には容易ではない。
例えば、2つ以上のデバイス100で同じユーザアカウントによるサービスへのログインが実行されていれば、これらのデバイス100を関連付けることは可能である。しかし、それぞれのデバイス100で同じユーザアカウントが使用されるとは限らない。また、専らログインを必要としないサービスを利用するためのデバイス100や、ログイン操作を実行するための機能を有さないデバイス100では、ログイン自体が実行されない。
また、例えば、2つ以上のデバイス100がカメラで取得した画像をそれぞれ解析することなどによってユーザを識別し、識別されたユーザが共通する場合に、これらのデバイス100を関連付けることは可能である。しかし、デバイス100は必ずしもカメラを備えているとは限らず、ユーザの画像がいつも取得されるとは限らない。また、画像解析によるユーザの識別は、処理負荷が高いうえに、精度を向上させることが容易ではない。
また、例えば、2つ以上のデバイス100での通信に用いられているIPアドレスなどのネットワークアドレスを取得し、ネットワークアドレスが共通する場合に、これらのデバイス100を関連付けることは可能である。例えば家庭内でWi−Fiなどによって相互に接続されたデバイス100についてはこのような方法で関連付けた可能である。しかし、家庭内でも携帯電話網などのモバイルネットワークを経由して通信するモバイルデバイスと、LAN(Local Area Network)とルータからの固定回線とを経由して通信するCEデバイスとでは、ネットワークアドレスが異なりうるため、関連付けは容易ではない。
以下で説明する本開示の第1の実施形態では、上記のような例とは異なった手法でデバイス100同士を関連付けることによって、例えば同じユーザに使用されているといったようなデバイス100間の関連性を容易に評価することが可能になる。
(1−2.サーバの機能構成)
図2は、本開示の一実施形態に係るサーバの機能構成を示す概略的なブロック図である。図2を参照すると、サーバ200は、デバイスログ取得部210と、デバイスログDB220と、相関性判定部230と、相関条件DB240と、相関スコアDB250とを含む。
サーバ200は、ネットワーク上の1または複数のサーバ装置によって実現される。それぞれのサーバ装置は、後述する情報処理装置のハードウェア構成によって実現される。例えば、デバイスログ取得部210は通信装置によって、デバイスログDB220、相関条件DB240、および相関スコアDB250はメモリまたはストレージによって、相関性判定部230はCPUなどのプロセッサによって、それぞれ実現される。サーバ200が複数のサーバ装置によって実現される場合、それぞれのサーバ装置は、図示された機能構成のうちのいずれかを実現する。あるいは、1つの機能構成が、複数のサーバ装置に分散して実現されてもよい。
デバイスログ取得部210は、図1に示したデバイス100から提供されるデバイスログを取得する。デバイスログは、例えば、各デバイスに関連するユーザの行動によって発生した状態を示す情報と、各デバイスの位置を示す情報とを含む時系列のログでありうる。例えば、デバイスログ取得部210は、デバイスから定期的に、または何らかのイベントが発生した時に送信される。本実施形態では、それぞれのデバイス、およびデバイスを使用する個々のユーザには一意なID(デバイスIDおよびユーザID)が与えられ、互いを識別することが可能であるものとする。デバイスログ取得部210によって取得されたログは、デバイスログDB220に格納される。なお、デバイスログDB220に格納されるデータのより具体的な例については後述する。
相関性判定部230は、デバイスログを提供する少なくとも2つのデバイスについて、デバイス同士の相関性を判定する。相関性判定部230は、相関条件DB240に登録された、デバイスの状態に関する予め設定された条件に基づいてデバイス同士の相関性を判定し、結果を相関スコアDB250に格納する。本実施形態において、相関条件DB240には、主にそれぞれのデバイスが同じユーザによって使用されているか否かという観点での相関性の条件が定義されている。本実施形態では、同じユーザに使用されている可能性が高いデバイスの組み合わせについてプラスのスコアが、そうではない可能性が高いデバイスの組み合わせについてマイナスのスコアが、それぞれ算出される。なお、相関条件DB240および相関スコアDB250のデータのより具体的な例については後述する。
(1−3.処理フロー)
図3は、本開示の第1の実施形態における相関性判定部の処理の例を示すフローチャートである。図3を参照すると、まず、相関性判定部230は、デバイスログDB220に格納されているログデータについて、デバイスの組み合わせごとのループ処理を実行する(S101)。ここで、相関性判定部230は、組み合わせに含まれるそれぞれのデバイスのログを取得する(S103)。取得されるログは、それぞれのデバイスについて時系列で取得された一連のログを含みうる。ログには、少なくとも時刻および位置の情報が含まれるものとする。
次に、相関性判定部230は、それぞれのログにおいて、いずれかの時刻で位置が近接するか否かを判定し(S105)、いずれかの時刻で位置が近接するデバイスの組み合わせについてのみ、後続するS107〜S109の処理によって相関スコアを算出する。逆にいえば、図示された例では、どの時刻でも位置が近接しないデバイスの組み合わせについては、相関スコアが算出されない。このようなデバイスの組み合わせは、例えば、相関しているか否か(同じユーザによって使用されているか否か)がわからない組み合わせとして扱われうる。また、この判定では、少なくとも1つの時刻において位置が近接していればよく、他の時刻では位置が異なってもよい。
上記のS105の判定において、いずれかの時刻で位置が近接すると判定された場合、さらに、相関性判定部230は、それぞれのデバイスのログによって示される条件が、相関条件DB240に登録されているか否かを判定する(S107)。なお、この判定処理のより具体的な例については、相関条件DB240の具体的な例とともに後述する。ここで、条件が登録されていないと判定された場合、上記の位置が近接しない場合と同様に相関スコアが算出されず、デバイスの組み合わせは、例えば、相関しているか否か(同じユーザによって使用されているか否か)がわからない組み合わせとして扱われうる。
上記のS107の判定において、それぞれのデバイスのログによって示される条件が相関条件DB240に登録されていると判定された場合、相関性判定部230は、登録されている条件に関連付けられている情報に基づいて、相関スコアDB250に記録されたデバイスの相関スコアを更新する(S109)。ここで、後述するように、本実施形態において、相関スコアは、デバイス同士の相関性が高いことを示す正のスコアと、逆にデバイス同士の相関性が低いことを示す負のスコアとを含む。従って、図示された例において、相関性判定部230は、少なくともいずれかの時刻で位置が近接するデバイスの組み合わせについて、相関条件DB240に登録された条件に従って、相関性が高いか低いかを判定する。それ以外のデバイス、つまりいずれの時刻にも位置が近接しない、または相関条件DB240に登録された条件に合致しないデバイスについて、相関性判定部230は積極的に相関性を判定することはない。
(1−4.データの例)
図4A〜図4Cは、本開示の第1の実施形態におけるデバイスログDBの例を示す図である。図4A〜図4Cを参照すると、デバイスログDB220のレコードは、時刻220a、デバイスID220b、デバイス種類220c、状態220d、状態詳細220e、および位置220fのフィールドを含みうる。なお、図4A〜図4Cは、後述する相関条件DB240の例による相関性の判定の説明のために再び参照される。
時刻220aは、ログが取得された時刻を示すタイムスタンプである。デバイスID220bは、ログを提供したデバイスを識別するためのIDである。デバイス種類220cは、ログを提供したデバイスの種類である(デバイスIDに関連付けて別途定義されてもよい)。
状態220dは、時刻220aにおける、デバイスID220bで示されるデバイスの状態である。状態220dは、図示された例のように、「動画再生」や「Webブラウズ」といったようなデバイスが提供している機能を示してもよい。あるいは、状態220dは、デバイスのスイッチのON/OFFや、単にデバイスが動作したことや移動したことなどを示してもよい。
状態詳細220eは、状態220dによって示される状態の詳細を示す。例えば、図示された例のように、状態220dが「動画再生」である場合には動画のタイトルが示されてもよい。また、状態220dが「Webブラウズ」である場合にはWebページのタイトルが示されてもよい。
位置220fは、時刻220aにおける、デバイスID220bで示されるデバイスの位置である。位置220fは、例えばそれぞれのデバイスがGPSなどのGNSS(Global Navigation Satellite System)による測位などを用いて取得した位置情報であってもよい。あるいは、位置220fは、デバイスが固定して設置されている位置として、ユーザが予め入力した位置であってもよい(この場合、それぞれのデバイスから提供される位置情報は固定値である)。
図5は、本開示の第1の実施形態における相関条件DBの例を示す図である。図5を参照すると、相関条件DB240のレコードは、状態(1)240a、状態詳細(1)240b、状態(2)240c、状態詳細(2)240d、時間的関係240e、詳細条件240f、および相関性240gのフィールドを含みうる。
状態240a,240cは、相関性を判定するデバイスの組み合わせのそれぞれの状態を指定する。例えば2つのデバイスについて、いずれかの時刻にそれらの位置が近接し、かつ、一方のデバイスで状態240aが、他方のデバイスで状態240cが発生している場合、これらのデバイスの相関性が判定可能である可能性がある。
状態詳細240b,240dは、それぞれのデバイスにおいて発生した状態240a,240cについて、後述する詳細条件240fによる判定に使用される情報を指定する。従って、詳細条件240fによっては、状態詳細240b,240dの少なくともいずれかが設定されないことがありうる。また、状態詳細240b,240dは、デバイスログDB220における状態詳細220eとは必ずしも近接しない。
時間的関係240eは、それぞれのデバイスにおいて発生する状態240a,240cの時間的関係を示す。図示された例では、「同期」と「切り替え」の2つの時間的関係が例示されている。「同期」は、状態240a,240cが、それぞれのデバイスにおいて同じ時間に並行して発生することを示す。「切り替え」は、状態240a,240cが、それぞれのデバイスにおいて入れ替わりで発生することを示す。なお、これらの時間的関係の具体的な例については後述する。
詳細条件240fは、デバイスの組み合わせにおいて状態240a,240cが発生し、さらに時間的関係240eが満たされている場合の、追加的な判定条件を示す。例えば、レコード240−1では、デバイスの一方で「動画再生」(状態240a)、他方で「Webブラウズ」(状態240c)が発生している場合に、「動画再生」で再生されている動画タイトル(状態詳細240b)と、「Webブラウズ」でブラウズされているWebページタイトル(状態詳細240d)とが対応することが、詳細条件240fとして定義されている。
相関性240gは、各レコードにおいて示される条件が満たされる場合に、デバイスの組み合わせについて推定される相関性を示す。図示された例では、「YES」と「NO」の2つの相関性が例示されている。「YES」は、それぞれのデバイスが同じユーザによって使用されている可能性が高く、従ってデバイス同士の相関性が高いことを示す。「NO」は、それぞれのデバイスが異なるユーザによって使用されている可能性が高く、従ってデバイス同士の相関性が低いことを示す。
上述の通り、本実施形態において、相関性判定部230は、デバイスの組み合わせについて、相関条件DB240に定義された条件が満たされる場合には相関性240gによって示される相関性を推定し、条件が満たされない場合には相関性を推定しない(上記の例でいえば、YESでもNOでもないと判定する)。
図6は、本開示の第1の実施形態における相関スコアDBの例を示す図である。図6を参照すると、相関スコアDB250のレコードは、デバイスID(1)250a、デバイスID(2)250b、および相関スコア250cのフィールドを含みうる。
本実施形態において、相関性判定部230は、上述したような処理によって判定されるデバイス同士の相関性を、相関スコアとして表現する。例えば、相関性判定部230は、あるデバイスの組み合わせについて、相関条件DB240のあるレコードに定義された条件が満たされ、当該レコードの相関性240gによってこれらのデバイスの相関性が高いこと(図5の例における「YES」)が示される場合、このデバイスの組み合わせについて所定の相関スコアを加算してもよい。逆に、相関性240gによってこれらのデバイスの相関性が低いこと(図5の例における「NO」)が示される場合、相関性判定部230は、このデバイスの組み合わせについて所定の相関スコアを減算してもよい。
図示された例の相関スコアDB250において、デバイスID250a,250bは、相関スコアが算出されたデバイスの組み合わせを示す。相関スコア250cは、デバイスの組み合わせについて算出された相関スコアを示す。例えば、レコード250−1では、ID「000001」のデバイスとID「000002」の組み合わせについて、相関スコア「+0.75」が算出されたことが示されている。このスコアは、レコード250−2と同様に正の相関スコアであるものの、レコード250−2よりも高い。
例えば、あるデバイスの組み合わせが、相関条件DB240に定義された複数の条件を満たし、これらの条件がいずれもデバイス同士の相関性が高いことを示す場合、相関性判定部230は、これらのデバイスについて、それぞれの条件に対応する相関スコアを積算してもよい。この場合、より多くの(デバイス同士の相関性が高いことを示す)条件を満たすデバイスの組み合わせほど相関スコア250cは高くなる。あるいは、相関条件DB240に定義される条件には、図5に示したような二値的(YES,NO)な相関性ではなく、推定される相関性の強さに応じた段階的な相関性が対応づけられていてもよい。このような構成によって、本実施形態では、それぞれのデバイスの組み合わせの相関性を段階的に表現することができる。
一方、図示された例の相関スコアDB250において、レコード250−3では、ID「000001」のデバイスとID「000004」の組み合わせについて、相関スコア「−0.50」が算出されたことが示されている。上述の通り、負の相関スコアは、それぞれのデバイスが異なるユーザによって使用されている可能性が高く、デバイス同士の相関性が低いことが推定される場合に算出される。
(1−5.相関性の判定の具体的な例)
続いて、図4A〜図4Cに示したデバイスログDBの例と、図5に示した相関条件DBの例とを参照しながら、本実施形態における相関性の判定)のより具体的な例について、さらに説明する。
第1の例として、図4Aに示した2つのデバイス、TVとスマートフォンの例について説明する。図4Aに示されたデバイスログDB220のレコード220−1,220−2によって、TVとスマートフォンは、同じ時刻(2014/3/24 21:00:00)に同じ位置(自宅)にあったことが示されている。従って、レコード220−1,220−2によって示されるTVとスマートフォンとの組み合わせは、図3におけるS105の判定を経て、相関条件DB240において定義された条件による判定に進む。
ここで、上記の時刻において、TVの状態は「動画再生」であり、スマートフォンの状態は「Webブラウズ」である。従って、これらのデバイスの状態は、図5に示された相関条件DB240のレコード240−1における状態240a「動画再生」および状態240c「Webブラウズ」に合致する。また、これらのデバイスの状態は、上記の時刻に同時並行的に発生しているため、レコード240−1における時間的関係240e「同期」をも満たしている。
さらに、相関性判定部230は、レコード240−1における詳細条件240f「タイトルが対応する」に基づく判定を実施するために、レコード220−1,220−2で状態詳細220eに記録された情報を取得する。図示された例において、レコード220−1の状態詳細220eでは、再生されている動画のタイトルが「XXXXX」であることが示されている。また、レコード220−2の状態詳細220eでは、ブラウズされているWebページのタイトルが「XXXXX fan page」であることが示されている。相関性判定部230は、例えばそれぞれのタイトルの文字列のマッチングを実行することによって、これらのタイトルが対応しており、レコード240−1における詳細条件240fも満たされることを判定する。
以上のような判定の結果、相関性判定部230は、レコード240−1の相関性240gによって示されるように、レコード220−1,220−2によって示されるTVとスマートフォンが、同じユーザによって使用されている可能性が高く、デバイス同士の相関性が高いことを推定する。相関条件DB240のレコード240−1は、例えば、ユーザが第1のデバイス(ここではTV)で動画を再生しながら、第2のデバイス(ここではスマートフォン)で動画に関連する情報をブラウズしている状態に対応する。
このように、相関性判定部230は、第1のデバイスが第1の種類のコンテンツを提供し、これと並行して第2のデバイスが第1の種類とは異なる第2の種類のコンテンツを提供し、かつ、それぞれのデバイスによって提供されるコンテンツが共通性を有する場合に、第1のデバイスと第2のデバイスとの相関性が高いと判定することができる。なお、コンテンツの種類の組み合わせは、上記の例における動画とWebページとの組み合わせには限られず、音楽コンテンツや、テレビ番組、電子書籍など、あらゆる種類のコンテンツの組み合わせが可能でありうる。
第2の例として、図4Bに示した2つのデバイス、TVとタブレットの例について説明する。図4Bに示されたデバイスログDB220のレコード220−3,220−5は、TVとタブレットが、同じ時刻(2014/3/24 21:00:00)に同じ位置(自宅)にあったことを示している。従って、レコード220−3〜220−6によって示されるTVとタブレットとの組み合わせは、図3におけるS105の判定を経て、相関条件DB240において定義された条件による判定に進む。
なお、レコード220−4,220−6は、これらのデバイスが、別の時刻(2014/3/24 21:30:00)には異なる位置にあったことを示しているが、既に述べたように、S105の判定ではいずれかの時刻に位置が近接していればよく、他の時刻では位置が異なっていてもよい。従って、上記のように、図4Bに示されたTVとタブレットとの組み合わせは、S105の判定を経て後続の判定に進む。
ここで、レコード220−3〜220−6のうち、TVの状態を示しているのはレコード220−3である。レコード220−3によれば、TVは、時刻21:00の時点で動画を再生している。レコード220−4に示されるように、時刻21:30の時点では、TVについて状態が検出されていない(TVの電源がOFFにされた可能性がある)。一方、タブレットの状態を示しているのはレコード220−6である。レコード220−6によれば、タブレットは、時刻21:30の時点で動画を再生している。レコード220−5に示されるように、時刻21:00の時点では、タブレットについて状態が検出されていない(タブレットが何も機能を提供していなかった可能性がある)。
この場合、レコード220−3〜220−6によって示されるTVとタブレットとの組み合わせは、TVの状態が「動画再生」、タブレットの状態も「動画再生」であることから、図5に示された相関条件DB240のレコード240−2またはレコード240−3によって示される条件に合致する可能性がある。ここで、レコード240−2では、時間的関係240eが「切り替え」である。上記のように、「切り替え」は、状態240a,240cが、それぞれのデバイスにおいて入れ替わりで発生することを示す。一方、レコード240−3では、時間的関係240eが「同期」である。レコード220−3,220−6によって示される共通の状態「動画再生」は、時刻21:00の時点ではTVで、時刻21:30の時点ではタブレットで発生しているため、レコード240−2で定義される「切り替え」の時間的関係240eに合致する。
さらに、相関性判定部230は、レコード240−2における詳細条件240f「タイトルが対応する」に基づく判定を実施するために、レコード220−3,220−6で状態詳細220eに記録された情報を取得する。図示された例において、レコード220−3の状態詳細220eでは、再生されている動画のタイトルが「XXXXX」であることが示されている。また、レコード220−6の状態詳細220eでは、再生されている動画のタイトルが「XXXXX」であることが示されている。相関性判定部230は、例えばそれぞれのタイトルの文字列のマッチングを実行することによって、これらのタイトルが対応しており、レコード240−2における詳細条件240fも満たされることを判定する。
以上のような判定の結果、相関性判定部230は、レコード240−2の相関性240gによって示されるように、レコード220−3〜220−6によって示されるTVとタブレットが、同じユーザによって使用されている可能性が高く、デバイス同士の相関性が高いことを推定する。相関条件DB240のレコード240−2は、例えば、第1のデバイス(ここではTV)で動画を再生していたユーザが、部屋を移動するなどの理由で、第2のデバイス(ここではタブレット)に切り替えてさらに動画を再生している状態に対応する。
このように、相関性判定部230は、第1のデバイスが第1の種類のコンテンツを提供し、第2のデバイスが第1のデバイスと入れ替わりで第1の種類のコンテンツを提供し、かつ、それぞれのデバイスによって提供されるコンテンツが共通性を有する場合に、第1のデバイスと第2のデバイスとの相関性が高いと判定することができる。なお、コンテンツの種類は、上記の例における動画には限られず、音楽コンテンツや、Webページ、テレビ番組、電子書籍など、あらゆる種類のコンテンツでありうる。
第3の例として、図4Cに示した2つのデバイス、TVとスマートフォンの例について説明する。図4Cに示されたデバイスログDB220のレコード220−7,220−8は、TVとスマートフォンが、同じ時刻(2014/3/24 21:00:00)に同じ位置(自宅)にあったことを示している。従って、レコード220−7,220−8によって示されるTVとスマートフォンとの組み合わせは、図3におけるS105の判定を経て、相関条件DB240において定義された条件による判定に進む。
ここで、上記の時刻において、TVの状態は「動画再生」であり、スマートフォンの状態も「動画再生」である。従って、これらのデバイスの状態は、図5に示された相関条件DB240のレコード240−2またはレコード240−3によって示される条件に合致する可能性がある。さらに、これらのデバイスの状態は、上記の時刻に同時並行的に発生しているため、時間的関係240eでは、レコード240−2の「切り替え」ではなくレコード240−3の「同期」を満たす。
ここで、レコード240−3では、詳細条件240fが設定されていない。つまり、上記の2つの例とは異なり、レコード240−3によって定義される条件は、2つのデバイス(TVとスマートフォン)が、同じ時刻に同じ位置にあり、いずれも動画を再生していることによって満たされる(動画のタイトルなどには関係しない)。この場合、相関性判定部230は、レコード240−3の相関性240gによって示されるように、レコード220−7,220−8によって示されるTVとスマートフォンが、異なるユーザによって使用されている可能性が高く、デバイス同士の相関性が低いことを推定する。相関条件DB240のレコード240−3は、例えば、第1のデバイス(ここではTV)と第2のデバイス(ここではスマートフォン)が、近接して位置する(例えば同じ家に住んでいる)異なるユーザによってそれぞれ動画の再生のために使用されている状態に対応する。
このように、相関性判定部230は、第1のデバイスが第1の種類のコンテンツを提供し、これと並行して第2のデバイスも第1の種類のコンテンツを提供している場合に、第1のデバイスと第2のデバイスとの相関性が低いと判定することができる。なお、コンテンツの種類の組み合わせは、上記の例における動画とWebページとの組み合わせには限られず、音楽コンテンツや、テレビ番組、電子書籍など、あらゆる種類のコンテンツの組み合わせが可能でありうる。
さらに、図5に示した相関条件DBの残りの例を参照しながら、相関性の推定のより具体的な例を説明する。
相関条件DB240のレコード240−4は、上記の第3の例におけるレコード240−3と同様に、2つのデバイスが同期して音楽再生をしている場合に、これらのデバイスが異なるユーザによって使用されている可能性が高く、デバイス同士の相関性が低いことを推定する。レコード240−3は、例えば、第1のデバイスと第2のデバイスとが、近接して位置する異なるユーザによってそれぞれ音楽の再生のために使用されている状態に対応する。レコード240−3,240−4と同様に、動画や音楽には限らず他のコンテンツについても、2つのデバイスで同期してコンテンツが再生されている場合にはそれらのデバイスの相関性が低いと推定されることを定義する条件が設定されてもよい。
相関条件DB240のレコード240−5は、2つのデバイスが、例えば位置情報を継続的に取得することによって、同じ時間にユーザの移動を検出している場合に、それぞれのデバイスによって検出された移動の軌跡が異なれば、デバイス同士の相関性が低いと推定されることを定義する条件である。同じ時間に異なる移動軌跡で移動しているデバイスは、異なるユーザによって使用されている可能性が高い。
相関条件DB240のレコード240−6は、第1のデバイスがゲームプレイの機能を提供しており、第2のデバイスがWebブラウズの機能を提供している場合に、これらの状態が同期して発生しており、第1のデバイスでプレイされているゲームのタイトルと、第2のデバイスでブラウズされているWebページのタイトルとが対応していれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。この場合、例えば、ユーザは、第1のデバイス(例えばゲーム機など)でゲームをプレイしながら、第2のデバイス(例えばタブレットなど)でゲームの攻略情報を参照していると推定される。
相関条件DB240のレコード240−7は、第1のデバイスがユーザの状態(行動)を検出しており、さらにその状態として睡眠を検出している場合に、第2のデバイス(状態は何でもよい)が何らかのユーザ操作を検出していれば、デバイス同士の相関性が低いと推定されることを定義する条件である。デバイスが同じユーザに使用されているのであれば、あるデバイスで睡眠が検出されている間に他のデバイスでユーザ操作が検出されることはないと考えられる。
相関条件DB240のレコード240−8は、固定設置された第1のデバイスがONにスイッチされた場合に、第2のデバイス(ユーザによって携帯され、ユーザとともに移動する)が移動を終了し、かつ第2のデバイスの移動の終点が第1のデバイスの設置場所に近接していれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。例えば、照明器具やエアコンなどがONにされた時に、それらのデバイスの設置場所まで移動してきているデバイスは、その設置場所(家または職場など)に到着したユーザによって携帯または装着されている可能性が高い。
相関条件DB240のレコード240−9は、固定設置された第1のデバイスがOFFにスイッチされた場合に、第2のデバイス(ユーザによって携帯され、ユーザとともに移動する)が移動を開始し、かつ第2のデバイスの移動の始点が第1のデバイスの設置場所に近接していれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。例えば、照明器具やエアコンなどがOFFにされた時に、それらのデバイスの設置場所から移動を開始したデバイスは、その設置場所(家または職場など)から出発したユーザによって携帯または装着されている可能性が高い。
相関条件DB240のレコード240−10は、第1のデバイスがONにスイッチされた場合に、ユーザの状態(行動)を検出する第2のデバイスがユーザの起床を検出していれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。例えば、照明器具やエアコンがONにされた時に起床したユーザは、起床後の動作として自宅の照明器具やエアコンなどをONにした可能性が高い。
相関条件DB240のレコード240−11は、第1のデバイスがONにスイッチされた場合に、ユーザの状態(行動)を検出する第2のデバイスがユーザの就寝を検出していれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。例えば、照明器具やエアコンがOFFにされた時に就寝したユーザは、就寝前の動作として自宅の照明器具やエアコンなどをOFFにした可能性が高い。
相関条件DB240のレコード240−12は、調理器具(第1のデバイス)の動作が検出された場合に、他のデバイス(第2のデバイス)でWebブラウズの機能が提供されており、Webページに含まれるレシピと調理器具の動作の種類が対応していれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。この条件は、第1のデバイスに対する所定のパターンのユーザ操作が検出された場合に、第2のデバイスが当該所定のパターンのユーザ操作のインストラクション(レシピ)を提供していることともいえる。例えば、スマートフォンで「電子レンジで3分加熱」を含むレシピのWebページが表示されている時に、電子レンジで3分間の加熱が実行されれば、スマートフォンと電子レンジとは同じユーザによって使用されている可能性が高い。
相関条件DB240のレコード240−13は、第1のデバイスが乗り物の移動を検出する場合に、第2のデバイスによって提供されるナビゲーションの目的地が移動軌跡の終点に近接していれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。例えば、第1のデバイスが車載デバイス、第2のデバイスがスマートフォンであって、ユーザが車載デバイスを搭載した自動車に乗車してスマートフォンでナビゲーションを利用する場合、上記の条件が満たされる。
相関条件DB240のレコード240−14は、第1のデバイスが乗り物の移動を検出する場合に、第2のデバイスによって検出されるユーザの状態が座っている状態であり、座っていた時間が移動時間に対応すれば、これらのデバイスの相関性が高いと推定されることを定義する条件である。ここで、座っている姿勢は、ユーザが乗り物に乗っているときの姿勢である。乗り物の種類や状況によっては、立っている姿勢やその他の姿勢が検出されてもよい。例えば、第1のデバイスが車載デバイス、第2のデバイスがモバイルデバイスであって、ユーザが車載デバイスを搭載した自動車に乗車して移動している間、モバイルデバイスはユーザが座っている状態を検出する。
なお、上述の通り、本実施形態において、相関条件DB240には、デバイス同士の相関性が高い、または低いと推定される条件が定義されている。従って、相関条件DB240に定義された条件に合致しないデバイス同士の相関性は、高いとも低いともいえない。このようなデバイスについて、相関性判定部230は、相関性を推定せずにそのままにしておく。例えば、第1のデバイスがユーザの状態(行動)を検出しており、さらにその状態として運動を検出している場合に、第2のデバイス(状態は何でもよい)がユーザ操作を検出している場合、相関性は高いとも低いともいえない。ユーザは、運動しながらデバイスを操作することもありうるためである。本実施形態では、このような場合について相関性を不明のまま扱うことによって、誤った推定を防ぎ、結果として推定結果の信頼度を向上させることができる。
また、上記の例の他にも、デバイス同士の相関性を推定するための条件には、さまざまな例がありうる。例えば、パブリックディスプレイとモバイルデバイスとの相関性を推定する場合、温度、湿度、明るさ、音声などの環境条件が対応し、さらにモバイルデバイスによってユーザが立ち止まった状態であることが検出された場合に、これらのデバイスの相関性が高いと推定することができる。なお、温度、湿度、明るさ、音声などの環境条件を示す情報も、環境条件はユーザが特定の場所に行くことによって変化するものであるため、各デバイスに関連するユーザの行動によって発生した状態を示す情報であるといえる。
また、例えば、飲食店などのオーダーシステムに使用される端末装置とモバイルデバイスとの相関性を推定する場合、端末装置でオーダーされたメニューの写真が、モバイルデバイスを介してソーシャルメディアに投稿されたことによって、これらのデバイスの相関性が高いと推定することができる。
(2.第2の実施形態)
次に、本開示の第2の実施形態について説明する。なお、本実施形態に係るシステムの概略的な構成は、上記で図1を参照して説明したシステム10と同様であるため、重複した説明は省略する。
図7は、本開示の第2の実施形態に係るサーバの機能構成を示す概略的なブロック図である。図7を参照すると、サーバ400は、デバイスログ取得部210と、デバイスログDB220と、相関性判定部230と、相関条件DB240と、相関スコアDB250と、グルーピング部410と、領域DB420と、グループDB430とを含む。
サーバ400は、上記の第1の実施形態におけるサーバ200と同様に、ネットワーク上の1または複数のサーバ装置によって実現される。それぞれのサーバ装置は、後述する情報処理装置のハードウェア構成によって実現される。例えば、デバイスログ取得部210は通信装置によって、デバイスログDB220、相関条件DB240、相関スコアDB250、領域DB420、およびグループDB430はメモリまたはストレージによって、相関性判定部230およびグルーピング部410はCPUなどのプロセッサによって、それぞれ実現される。サーバ400が複数のサーバ装置によって実現される場合、それぞれのサーバ装置は、図示された機能構成のうちのいずれかを実現する。あるいは、1つの機能構成が、複数のサーバ装置に分散して実現されてもよい。
以下、サーバ400の機能構成について説明する。なお、デバイスログ取得部210、デバイスログDB220、相関性判定部230、相関条件DB240、および相関スコアDB250について、上記の第1の実施形態と共通する部分については重複した説明を省略する。
グルーピング部410は、デバイスログDB220に格納されたデータに基づいて、図1に示したデバイス100をグルーピングする。より具体的には、グルーピング部410は、デバイスログDB220に格納されたログによって示される各デバイス100の位置と、領域DB420において定義される地理的領域との関係(位置に関する予め設定された条件)に基づいて、デバイス100をグルーピングする。領域DB420には、例えば、住所領域に対応する領域が定義される。この場合、グルーピング部410は、ログによって示されるデバイス100の位置を、外部サービスなどを使用して住所に変換し、住所に基づいてデバイス100をグルーピングする。なお、位置情報から住所への変換には、例えば特開2008−89815号公報や特開2011−43626号公報などに記載された公知の技術を適宜利用することもできる。グルーピング部410は、グルーピングの結果をグループDB430に格納する。
上記のように、予め定義された領域に基づいてデバイス100をグルーピングする場合、グルーピング部410は、各デバイスの位置が少なくともいずれかの時刻において共通の領域に含まれることを条件としてデバイス100をグルーピングする。少なくともいずれかの時刻において共通の領域に含まれたデバイス100は、同じグループに分類されうる。このようにして、グルーピング部410は、デバイス100を領域ごとのグループに分類する。
本実施形態において、相関性判定部230は、上記の第1の実施形態と同様に、デバイスログを提供する少なくとも2つのデバイスについて、デバイス同士の相関性を判定する。ただし、本実施形態に係るサーバ400では、相関性判定部230がグループDB430を参照し、グループ内のデバイス同士の相関性を判定する。上記のように、デバイスが分類されるグループは、領域DB420において定義される地理的領域、例えば住所領域に対応する。相関性判定部230は、このような地理的領域に含まれるデバイスに解析対象を絞り込むことによって、デバイスの全体を解析対象にする場合に比べて演算量を削減することができる。
例えば、解析対象のデバイスの数がNの場合、デバイス同士の関連性の判定を個々のデバイスの組み合わせごとに実施すると、すべての組み合わせについて演算するのにN2回の演算が必要である。演算回数は、Nが大きいほど二次関数的に増加するため、上記のように解析対象を同じ地理的領域内のデバイスに限定することは、演算量の削減の点で効果が大きい。
図8は、本開示の第2の実施形態におけるデバイス全体に対するグルーピング処理の例を示すフローチャートである。図8を参照すると、グルーピング部410は、領域DB420に定義された領域ごとにループ処理を実行し(S201)、各領域について、領域ベースでデバイスをグループ化する(S203)。より具体的には、例えば、グルーピング部410は、デバイスログDB220に格納された各デバイスの位置情報から変換された住所領域と、領域DB420に定義された住所領域とをマッチングすることによって、デバイスをグループ化する。
なお、モバイルデバイスなどのように、時間によって位置が異なるデバイスは、複数の領域についてデバイスのグループに含まれうる。このとき、デバイスのグループ化に使用される位置情報は、所定の時間以上の滞在が検出された位置情報に限定されてもよい。
グルーピング部410は、上記のようなデバイス全体に対するグルーピング処理を、初期処理として、また定期的に実行されるバッチ処理として実行しうる。
図9は、本開示の第2の実施形態における追加されたデバイスに対するグルーピング処理の例を示すフローチャートである。図9を参照すると、グルーピング部410は、新たに追加されたデバイス、例えばデバイスログ取得部210が新たにログを取得したデバイスごとにループ処理を実施する(S205)。ここで、グルーピング部410は、新たなデバイスが既存グループの領域に含まれるか否かを判定する(S207)。より具体的には、例えば、グルーピング部410は、新たなデバイスの位置情報から変換された住所領域と、グループDB430に記録されたグループに対応する住所領域とをマッチングする。
上記のS207の判定において、新たなデバイスが既存グループの領域に含まれていれば(YES)、グルーピング部410は、既存グループに新たなデバイスを追加する(S209)。一方、新たなデバイスが既存グループの領域に含まれなかった場合(NO)、図示された例では新たなデバイスがどのグループにも属さない。他の例において、グルーピング部410は、新たなデバイスが既存のグループの領域に含まれなかった場合に、当該新たなデバイスを含むグループを追加作成してもよい。
グルーピング部410は、上記のような追加されたデバイスに対するグルーピング処理を、図9に示したデバイス全体に対するグルーピング処理が少なくとも1回実行された後に、定期的に、またはデバイスが追加される度に実行しうる。
図10は、本開示の第2の実施形態におけるグループDBの例を示す図である。図10を参照すると、グループDB430のレコードは、グループID430a、グループ詳細430b、およびデバイスID430cのフィールドを含みうる。
グループID430aは、グループを識別するためのIDである。グループID430aは、領域DB420で領域を定義するIDと関連付けられていてもよい。グループ詳細430bには、グループについての詳細情報が記述される。図示された例では、グループに対応する住所領域の住所表示が記述されている。他にグループIDと領域DB420で定義された領域とを関連付ける情報があるような場合、グループ詳細430bはなくてもよい。住所表示を記述したグループ詳細430bは、例えば、デバイスが属するグループをユーザに通知する場合に利用することができる。デバイスID430cは、グループに属するデバイスを示す。
なお、各デバイスが属するグループを記録する方法は、上記の例におけるグループDB430には限られない。例えば、デバイスログDB220に、ログの取得時点で各デバイスが属しているグループが記録されてもよい。また、例えば、領域DB420に、それぞれの領域に対応するグループに属するデバイスが記録されてもよい。あるいは、デバイスログDB220とは別にデバイスDBが設けられ、各デバイスが属するグループが記録されてもよい。
(3.第3の実施形態)
次に、本開示の第3の実施形態について説明する。この第3の実施形態では、上記の第2の実施形態におけるグルーピング処理に加えて、モバイルデバイスについての追加のグルーピングが実施される。それ以外の本実施形態の構成は第2の実施形態と同様であるため、重複した説明は省略する。
図11は、本開示の第3の実施形態におけるグルーピング処理の例を示すフローチャートである。図11を参照すると、グルーピング部410は、上記の第2の実施形態と同様の、デバイス全体に対するグルーピング処理が少なくとも1回実行された後、グルーピング処理によって生成された領域ベースのグループごとのループ処理を実行する(S301)。ここで、グルーピング部410は、各グループについて、グループ内のモバイルデバイスを抽出し、モバイルデバイスごとのループ処理を実行する(S303)。さらに、グルーピング部410は、各モバイルデバイスについて、グループ内の他のデバイスとのループ処理を実行する(S305)。
上記のループ処理の中で、グルーピング部410は、モバイルデバイスに他のデバイスが近接したことが検出された時に、当該他のデバイスが操作されたか否かを判定する(S307)。より具体的には、例えば、グルーピング部410は、デバイスログに基づいてモバイルデバイスと他のデバイスとが近接した時間を特定するとともに、その時間に他のデバイスに対するユーザ操作がデバイスログに記録されているか否かを判定する。ここで、モバイルデバイスの近接時に他のデバイスが操作されていた場合(YES)、グルーピング部410は、モバイルデバイスと当該他のデバイスとを操作履歴ベースのグループに追加する(S309)。グルーピング部410は、操作履歴ベースのグループの情報を、グループDB430に格納する。
本実施形態において、操作履歴ベースのグループは、上記の第2の実施形態における領域ベースのグループと同様に扱われうる。つまり、相関性判定部230は、デバイス同士の相関性を判定するにあたり、グループDB430を参照、操作履歴ベースのグループ内のデバイス同士の相関性を判定する。操作履歴ベースのグループは、領域ベースのグループを共存しうる。本実施形態では、領域ベースのグループに含まれるデバイスが、グループ内の各モバイルデバイスとの関係に基づく操作履歴ベースのサブグループに細分化される(同じデバイスが、操作履歴ベースの複数のグループに属することもありうる)。なお、本実施形態でも、例えばモバイルデバイスではないデバイス同士の相関性の判定は、領域ベースのグループ内のデバイスを対象として実行されうる。
モバイルデバイスと他のデバイスとの間で、同じユーザに使用されているか否かという観点での相関性を判定する場合、ユーザによって携帯されると推定されるモバイルデバイスが近接していた時に操作されなかったデバイスについて、モバイルデバイスとの相関性が高くなる可能性は低い。従って、モバイルデバイスとの間の相関性を判定するにあたり、操作履歴ベースのグループ内に解析の範囲を限定することは合理的である。本実施形態では、領域ベースのグループ内のデバイスを、操作履歴ベースでさらにグループに分類することによって、グループを細分化し、判定の精度を維持しつつ演算量をさらに削減することができる。
図12は、本開示の第3の実施形態におけるデバイスログDBの例を示す図である。図12を参照すると、デバイスログDB220には、スマートフォンのレコード220−9、TVのレコード220−10、およびエアコンのレコード220−11が含まれる。
レコード220−9およびレコード220−10は、スマートフォンとTVが、ある時点(2014/1/1 10:00)において近接しており(いずれも自宅にある)、またこの時間にTVが操作された(ONになった)ことを示している。この場合、上記のような本実施形態におけるグルーピング部410の処理によって、レコード220−9によって示されるスマートフォン(モバイルデバイス)と、レコード220−10によって示されるTV(他のデバイス)とは、操作履歴ベースで共通するグループに分類されうる。
一方、レコード220−9およびレコード220−11は、スマートフォンとエアコンが近接していたが(エアコンは固定設置されているので、2014/1/1 10:00の時点でも自宅にあったと推定される)、この時点ではエアコンが操作されず、スマートフォンがエアコンと近接しなくなってから(2014/1/1 20:00)エアコンが操作された(ONになった)ことを示している。この場合、上記のような本実施形態におけるグルーピング部410の処理によって、レコード220−9によって示されるスマートフォン(モバイルデバイス)と、レコード220−11によって示されるエアコン(他のデバイス)とは、操作履歴ベースで共通するグループには分類されない。
(変形例)
上記の本実施形態の説明では、領域ベースのグループに分類されたデバイスについて、さらに操作履歴ベースのグルーピングが実施された。しかし、他の例では、領域ベースのグループに分類される前の、デバイス全体について、操作履歴ベースのグルーピングが実施されてもよい。この場合、デバイスは、各モバイルデバイスとの関係において先にグルーピングされることになる。例えば、自宅にあるTVと、職場にあるPCとが、共通のモバイルデバイスが近接している時にそれぞれ操作されたことに基づいて、同じグループに分類されうる。さらに、必要に応じて、操作履歴ベースのグループを領域ベースでサブグループに細分化してもよい。
以上で説明した本開示の第1〜第3の実施形態では、モバイルデバイスやウェアラブルデバイス、車載デバイス、CEデバイスなどの多種多様なデバイスについて相関性を推定することができ、相関性に応じてこれらのデバイスを組織化して利用することによって、ユーザの嗜好や行動パターンについてもより詳細なプロファイルを取得することができたり、ユーザへの情報提示にあたって最適なデバイスを選択したりすることができる。
また、パブリックディスプレイなど不特定多数のユーザによって共用されるデバイスと、モバイルデバイスのような個々のユーザに占用されるデバイスとの相関性が推定されることによって、例えば、共用のデバイスによって提供された情報(例えば広告など)がユーザの行動に及ぼした影響を個別に追跡することができる。また、例えば、共用のデバイスが一時的にあるユーザによって占用されている場合や、共用のデバイスを使用しているユーザにおいて特定の属性を有するユーザの割合が高いことが推定される場合に、共用のデバイスを介して出力される情報をユーザに応じて変化させることができる。
なお、上記の第1〜第3の実施形態では、デバイス同士が同じユーザに使用されているか否かという観点での相関性が推定されたが、本開示の実施形態はこの例には限られない。例えば、デバイス同士の相関性は、年齢、職業、性別など、共通の属性を有するユーザに使用されているか否かという観点で推定されてもよい。また、第2および第3の実施形態におけるグルーピングの処理は、デバイス同士の相関性を判定する場合に限らず、デバイス群の中での任意のデバイスの組み合わせ関係性を解析する場合であればどのような場合でも、演算量の削減のために有用でありうる。このような観点において、上記の実施形態における相関性判定部230は、デバイスログに基づいてデバイス同士の関係性を解析する関係性解析部であるともいえる。
(4.ハードウェア構成)
次に、図13を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図13は、本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。図示された情報処理装置900は、例えば、上記の実施形態におけるサーバ装置を実現しうる。
情報処理装置900は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理装置900は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などの処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚や聴覚、触覚などの感覚を用いて通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカまたはヘッドフォンなどの音声出力装置、もしくはバイブレータなどでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストもしくは画像などの映像、音声もしくは音響などの音声、またはバイブレーションなどとして出力する。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。ストレージ装置919は、例えばCPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理装置900に接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS−232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置900と外部接続機器929との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、LAN(Local Area Network)、Bluetooth(登録商標)、Wi−Fi、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などを含みうる。
撮像装置933は、例えば、CMOS(Complementary Metal Oxide Semiconductor)またはCCD(Charge Coupled Device)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、加速度センサ、角速度センサ、地磁気センサ、照度センサ、温度センサ、気圧センサ、または音センサ(マイクロフォン)などの各種のセンサである。センサ935は、例えば情報処理装置900の筐体の姿勢など、情報処理装置900自体の状態に関する情報や、情報処理装置900の周辺の明るさや騒音など、情報処理装置900の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPS受信機を含んでもよい。
以上、情報処理装置900のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
(5.補足)
本開示の実施形態は、例えば、上記で説明したような情報処理装置(例えばサーバ)、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)複数のデバイスから、各デバイスの位置を示す情報を含む時系列のデバイスログを取得するデバイスログ取得部、
前記デバイスログと、前記位置に関する予め設定された条件とに基づいて、前記複数のデバイスをグループに分類するグルーピング部、および
前記デバイスログに基づいて、前記グループ内のデバイス同士の関係性を解析する関係性解析部
を備える情報処理装置。
(2)前記条件は、前記各デバイスの位置が少なくともいずれかの時刻において共通の領域に含まれることを規定する第1の条件を含み、
前記グルーピング部は、前記第1の条件に従って、前記各デバイスを前記領域ごとのグループに分類する、前記(1)に記載の情報処理装置。
(3)前記領域は、住所領域に対応する、前記(2)に記載の情報処理装置。
(4)前記複数のデバイスは、モバイルデバイスと他のデバイスとを含み、
前記条件は、前記モバイルデバイスと前記他のデバイスとが近接した時に前記他のデバイスが操作されることを規定する第2の条件を含み、
前記グルーピング部は、前記第2の条件が満たされる場合に前記モバイルデバイスと前記他のデバイスとを同じグループに分類する、前記(1)に記載の情報処理装置。
(5)前記複数のデバイスは、モバイルデバイスと他のデバイスとを含み、
前記条件は、前記各デバイスの位置が少なくともいずれかの時刻において共通の領域に含まれることを規定する第1の条件と、前記モバイルデバイスと前記他のデバイスとが近接した時に前記他のデバイスが操作されることを規定する第2の条件とを含み、
前記グルーピング部は、前記第1の条件に従って前記各デバイスを前記領域ごとの第1のグループに分類し、さらに、前記第1のグループ内の前記モバイルデバイスと前記他のデバイスを前記第2の条件に従ってサブグループに分類する、前記(1)に記載の情報処理装置。
(6)前記複数のデバイスは、モバイルデバイスと他のデバイスとを含み、
前記条件は、前記各デバイスの位置が少なくともいずれかの時刻において共通の領域に含まれることを規定する第1の条件と、前記モバイルデバイスと前記他のデバイスとが近接した時に前記他のデバイスが操作されることを規定する第2の条件とを含み、
前記グルーピング部は、前記モバイルデバイスと前記他のデバイスを前記第2の条件に従って第1のグループに分類し、さらに、前記第1のグループ内のデバイスを前記第1の条件に従って前記領域ごとのサブグループに分類する、前記(1)に記載の情報処理装置。
(7)前記デバイスログは、さらに、前記各デバイスに関連するユーザの行動によって発生した状態を示す情報を含み、
前記関係性解析部は、前記デバイスログと、前記状態に関する予め設定された条件とに基づいて、前記グループ内のデバイス同士の相関性を判定する、前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)複数のデバイスから、各デバイスの位置を示す情報を含む時系列のデバイスログを取得すること、
プロセッサが、前記デバイスログと、前記位置に関する予め設定された条件とに基づいて、前記複数のデバイスをグループに分類すること、および
前記デバイスログに基づいて、前記グループ内のデバイス同士の関係性を解析すること
を含む情報処理方法。
(9)複数のデバイスから取得され各デバイスの位置を示す情報を含む時系列のデバイスログと、前記位置に関する予め設定された条件とに基づいて、前記複数のデバイスをグループに分類する機能、および
前記デバイスログに基づいて、前記グループ内のデバイス同士の関係性を解析する機能
をコンピュータに実現させるためのプログラム。