以下に、本願に係る抽出装置、抽出方法、及び抽出プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る抽出装置、抽出方法、及び抽出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.抽出処理〕
まず、図1及び図2を用いて、実施形態に係る抽出処理の一例について説明する。図1及び図2は、実施形態に係る抽出処理の一例を示す図である。なお、以下の例では、第1アプリがカーナビケーションに関するアプリ(以下、「カーナビ」とする場合がある)であり、第2アプリがユーザの歩行に関するアプリ(以下、「歩行アプリ」とする場合がある)である場合を例に説明する。なお、第1アプリや第2アプリは、上記に限らず、抽出処理が適用可能であればどのようなアプリであってもよい。
以下では、まず、図1を用いて抽出装置100が行う抽出処理の概要を示す。その次に、図2を用いて抽出装置100が行う具体的な抽出処理を示す。具体的には、図2では、抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出する場合を示す。また、図1や図2に示す抽出処理においては、第1アプリ情報と第2アプリ情報との組み合わせの特定までを含む場合を示す。
図1や図2の例では、第1アプリであるカーナビが収集した位置情報と、第2アプリである歩行アプリが収集した位置情報とを紐付ける場合を示す。例えば、端末装置10の位置情報には、GPS(Global Positioning System)センサ等により検知された位置情報が用いられてもよい。また、例えば、端末装置10の位置情報は、Wi−Fi(登録商標)(Wireless Fidelity)等の所定の無線LAN(Local Area Network)による通信に関する情報から抽出される位置情報であってもよい。また、例えば、端末装置10の位置情報は、第3世代移動通信システムや第4世代移動通信システム等の端末装置10の通信規格による通信に関する情報から抽出される位置情報であってもよい。
また、以下の例では、抽出装置100により第1アプリ情報と第2アプリ情報との組み合わせが特定されるまでは、第1アプリIDと第2アプリIDとの紐付けはされていないものとする。また、図1や図2の例では、抽出装置100が各端末装置10から取得可能な識別情報は、アプリを識別する情報のみであるものとし、端末装置10を識別する情報は取得されないものとする。
なお、図1及び図2に示す例においては、各端末装置の符号「10」に続く「()」内の記号は、端末装置の識別情報を示す。例えば、図1中に「10(TM1)」の符号が付された端末装置10は、端末ID「TM1」により識別される端末装置10であることを示す。なお、以下では、端末ID「TM1」により識別される端末装置10を端末装置10(TM1)と記載する場合がある。他の端末装置10についても同様に、端末IDにより識別される端末装置10を端末装置10(“端末ID”)と記載する場合がある。なお、端末装置10(TM1)〜端末装置10(TMn)等を区別せずに説明する場合、端末装置10と総称する。
したがって、図1及び図2の例では、端末装置10から第1アプリ情報を取得する際に「TM1」等の端末IDは取得できず、端末装置10にインストールされた第1アプリを識別する情報である第1アプリIDのみが取得可能である。なお、第1アプリIDは、端末装置10にインストールされた他のアプリとの間で第1アプリを識別可能にするとともに、他の端末装置10にインストールされた第1アプリとの間においても端末装置10にインストールされた第1アプリを識別可能にするものとする。言い換えると、図1及び図2の例では、抽出装置100は、第1アプリIDが付された第1アプリ情報を取得した場合、他の第1アプリIDが付された第1アプリ情報とは判別可能であるが、どの端末装置10から取得された第1アプリ情報であるかは判別できないものとする。
また、図1及び図2の例では、端末装置10から第2アプリ情報を取得する際に「TM1」等の端末IDは取得できず、端末装置10にインストールされた第2アプリを識別する情報である第2アプリIDのみが取得可能である。なお、第2アプリIDは、端末装置10にインストールされた他のアプリとの間で第2アプリを識別可能にするとともに、他の端末装置10にインストールされた第2アプリとの間においても端末装置10にインストールされた第2アプリを識別可能にするものとする。言い換えると、抽出装置100は、第2アプリIDが付された第2アプリ情報を取得した場合、他の第2アプリIDが付された第2アプリ情報とは判別可能であるが、どの端末装置10から取得された第2アプリ情報であるかは判別できないものとする。すなわち、図1及び図2の例では説明のために、端末IDを図示しているため各端末装置10と第1アプリ情報や第2アプリ情報との対応付けが視認可能であるが、抽出装置100は、各端末装置10と第1アプリ情報や第2アプリ情報との対応付けは不明であるものとする。
図1及び図2では、各端末装置10(TM1)〜端末装置10(TMn)から第1アプリ情報や第2アプリ情報を取得する場合を示す。すなわち、図1及び図2では、「n」が100万である場合、抽出装置100は、100万台の端末装置10を対象に第1アプリ情報と第2アプリ情報との紐付けを行う。
図1及び図2に示すように、抽出システム1には、複数台(例えばn台)の端末装置10と、抽出装置100とが含まれる。端末装置10と、抽出装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1及び図2に示した抽出システム1には、複数台の抽出装置100が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1及び図2は、端末装置10がスマートフォンである場合を示す。なお、端末装置10は、ユーザが持ち運んだり身に着けたりすることにより、ユーザとともに移動するがことでき、抽出装置100と通信可能であれば、例えばウェアラブルデバイス等どのような機器であってもよい。例えば、端末装置10は、ナビアプリがインストールされたスマートフォンであってもよい。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出する情報処理装置である。また、抽出装置100は、第1アプリ情報と、一の第2アプリ情報とに基づいて、一の第2アプリ情報と同一の端末装置において収集された第1アプリ情報を特定する。図1及び図2の例では、抽出装置100は、端末装置10(TM1)〜端末装置10(TMn)のn台の端末装置10から取得した第1アプリ情報のデータ量を削減した後、第1アプリ情報と第2アプリ情報との比較を行うことにより、第2アプリ情報と同一の端末装置において収集された第1アプリ情報を特定する。
ここから、図1を用いて抽出装置100が行う抽出処理の概要を説明する。
まず、抽出装置100は、端末装置10(TM1)から第1アプリ情報を取得する(ステップS11−1)。図1に示すように、抽出装置100は、端末装置10(TM1)から第1アプリID「IDA1」に対応付けられた第1アプリ情報を取得する。例えば、抽出装置100は、端末装置10(TM1)から第1アプリ情報として位置情報を取得する。
また、抽出装置100は、端末装置10(TM2)から第1アプリ情報を取得する(ステップS11−2)。図1に示すように、抽出装置100は、端末装置10(TM2)から第1アプリID「IDA2」に対応付けられた第1アプリ情報を取得する。例えば、抽出装置100は、端末装置10(TM2)から第1アプリ情報として位置情報を取得する。
また、抽出装置100は、端末装置10(TM3)から第1アプリ情報を取得する(ステップS11−3)。図1に示すように、抽出装置100は、端末装置10(TM3)から第1アプリID「IDA3」に対応付けられた第1アプリ情報を取得する。例えば、抽出装置100は、端末装置10(TM3)から第1アプリ情報として位置情報を取得する。
また、抽出装置100は、端末装置10(TMn)から第1アプリ報を取得する(ステップS11−n)。図1に示すように、抽出装置100は、端末装置10(TMn)から第1アプリID「IDAx」に対応付けられた第1アプリ情報を取得する。例えば、抽出装置100は、端末装置10(TMn)から第1アプリ情報として位置情報を取得する。
なお、ステップS11−1〜S11−nは、処理を説明するためのものであり、ステップS11−1〜S11−nのいずれが先に行われてもよく、各ステップS11−1〜S11−nは、複数回行われてもよい。以下、ステップS11−1〜S11−nを区別せずに説明する場合、ステップS11と総称する。
また、抽出装置100は、端末装置10(TM1)から第2アプリ情報を取得する(ステップS12−1)。図1に示すように、抽出装置100は、端末装置10(TM1)から第2アプリID「IDB3」に対応付けられた第2アプリ情報を取得する。例えば、抽出装置100は、端末装置10(TM1)から第2アプリ情報として位置情報を取得する。
ここで、図1の例では、端末装置10(TM2)には第2アプリがインストールされていないため、抽出装置100は、端末装置10(TM2)から第2アプリ情報を取得しない。このように、抽出装置100は、各端末装置10におけるアプリのインストール状況に応じて、第1アプリ情報と第2アプリ情報との両方を取得したり、第1アプリ情報か第2アプリ情報かのいずれか一方のみを取得したりする。なお、抽出装置100は、端末装置10(TM2)に第2アプリがインストールされた場合、ステップS12−2(図示省略)において、端末装置10(TM2)から第2アプリ情報を取得する。
また、抽出装置100は、端末装置10(TM3)から第2アプリ情報を取得する(ステップS12−3)。図1に示すように、抽出装置100は、端末装置10(TM3)から第2アプリID「IDB512」に対応付けられた第2アプリ情報を取得する。例えば、抽出装置100は、端末装置10(TM3)から第2アプリ情報として位置情報を取得する。
また、抽出装置100は、端末装置10(TMn)から第2アプリ報を取得する(ステップS12−n)。図1に示すように、抽出装置100は、端末装置10(TMn)から第2アプリID「IDBy」に対応付けられた第2アプリ情報を取得する。例えば、抽出装置100は、端末装置10(TMn)から第2アプリ情報として位置情報を取得する。
なお、ステップS12−1〜S12−nは、処理を説明するためのものであり、ステップS12−1〜S12−nのいずれが先に行われてもよく、各ステップS12−1〜S12−nは、複数回行われてもよい。以下、ステップS12−1〜S12−nを区別せずに説明する場合、ステップS12と総称する。
ステップS11とステップS12との順序は逆であってもよいし、交互に行われてもよい。すなわち、ステップS11−1〜S11−nやステップS12−1〜S12−nは、処理を説明するためのものであり、ステップS11−1〜S11−nやステップS12−1〜S12−nのいずれが先に行われてもよく、各ステップS11−1〜S11−nやステップS12−1〜S12−nは、複数回行われてもよい。なお、図1に示す例において、ナビアプリである第1アプリから位置情報を含む第1アプリ情報が収集される収集頻度は、歩行アプリである第2アプリから位置情報を含む第2アプリ情報が収集される収集頻度よりも高いものとする。
ここで、図1の例では、抽出装置100は、第1アプリ群FG11に示すように、各第1アプリIDにより識別される第1アプリから第1アプリ情報を取得する。第1アプリ群FG11には、ステップS11で第1アプリ情報を取得した第1アプリを識別する第1アプリID「IDA1」〜「IDAx」が含まれる。図1中の第1アプリ群FG11は、第1アプリIDと、その第1アプリIDに対応付けられた第1アプリ情報のデータ量とを示す。
また、図1の例では、抽出装置100は、第2アプリ群SG11に示すように、各第2アプリIDにより識別される第2アプリから第2アプリ情報を取得する。第2アプリ群SG11には、ステップS12で第2アプリ情報を取得した第2アプリを識別する第2アプリID「IDB1」〜「IDBy」が含まれる。図1中の第2アプリ群SG11は、第2アプリIDと、その第2アプリIDに対応付けられた第2アプリ情報のデータ量とを示す。
なお、図1の例において、データ量「dt*」中の「dt」に続く「*(*は任意の数値)」は、対応するIDにより識別されるアプリにおいて取得されたデータ量を抽象的に示す。すなわち、データ量「dt*」は、「*」の値が大きい程、データ量が多いことを示す。例えば、データ量「dt1000」は、データ量「dt10」に比べて、「dt」に続く数値が大きいため、データ量が多いことを示す。すなわち、図1に示すように、歩行アプリである第2アプリに比べて、カーナビアプリである第1アプリの方が取得されるデータ量が多いものとする。また、抽出装置100による第1アプリ情報と第2アプリ情報との組み合わせを特定する処理は、対象となる数が多くなるほど負荷が増大する。
そのため、抽出装置100は、第2アプリ情報との組み合わせを特定する前に、組み合わせの特定の対象となる第1アプリ情報を抽出する(ステップS13)。これにより、抽出装置100は、第2アプリ情報に比べてデータ量が多い第1アプリ情報のうち、組み合わせの特定の対象となる第1アプリ情報を絞り込む。図1の例では、抽出装置100は、第1アプリ群FG12に示すように、第1アプリID「IDA1」や「IDA3」等に対応付けられた第1アプリ情報を組み合わせの特定の対象となる第1アプリ情報として抽出する。言い換えると、抽出装置100は、第1アプリ群FG12に示すように、第1アプリID「IDA2」等に対応付けられた第1アプリ情報を組み合わせの特定の対象となる第1アプリ情報から除外する。なお、第1アプリ情報の抽出の具体例については図2で詳述する。なお、抽出装置100は、第1アプリに対応する速度に基づく条件を満たさない第2アプリ情報を除外してもよい。例えば、抽出装置100は、カーナビアプリである第1アプリに対応する速度が20(km/s)である場合、20(km/s)に移動速度である第2アプリ情報を除外してもよい。例えば、抽出装置100は、歩行アプリである第2アプリにより収集された第2アプリ情報の移動速度が4(km/s)である第2アプリ情報を除外してもよい。
そして、抽出装置100は、第1アプリ群FG12と第2アプリ群SG11とに基づいて、同一の端末装置10から取得されたと推定される第1アプリ情報と第2アプリ情報との組み合わせを特定する(ステップS14)。例えば、抽出装置100は、ある端末装置10から取得されたと推定される第1アプリ情報に対応付けられた第1アプリIDと、その端末装置10から取得されたと推定される第2アプリ情報に対応付けられた第2アプリIDとの組み合わせを特定する。なお、抽出装置100は、第1アプリ情報と第2アプリ情報との類似性に基づいて、第1アプリ情報と第2アプリ情報との組み合わせを特定してもよい。例えば、抽出装置100は、所定の日時における第1アプリ情報の位置情報と第2アプリ情報の位置情報との一致度に基づいて、第1アプリ情報と第2アプリ情報との組み合わせを特定してもよい。例えば、抽出装置100は、第1アプリ群FG12の各第1アプリ情報の特徴点と第2アプリ群SG11の各第2アプリ情報の特徴点とを比較結果に基づいて、第1アプリ情報と第2アプリ情報との組み合わせを特定してもよい。例えば、抽出装置100は、ある第1アプリ情報の特徴点とある第2アプリ情報の特徴点とのマッチング度合いの閾値以上である場合、その第1アプリ情報とその第2アプリ情報との組み合わせを特定してもよい。なお、上記は一例であり、抽出装置100は、第1アプリ情報と第2アプリ情報に基づけば、種々の閾値や条件等を適宜用いて、第1アプリ情報と第2アプリ情報との組み合わせを特定してもよい。
例えば、図1に示す例において、抽出装置100は、組み合わせ情報記憶部123に示すように、第1アプリID(カーナビ)のID「IDA1」と、第2アプリID(歩行)のID「IDB3」とを同一の端末装置10にインストールされたアプリの組み合わせであることを特定する。すなわち、抽出装置100は、第1アプリID「IDA1」に対応付けられた第1アプリ情報と、第2アプリID「IDB3」に対応付けられた第2アプリ情報とは、同一の端末装置10から取得された情報であることを特定する。
例えば、図1に示す例において、抽出装置100は、組み合わせ情報記憶部123に示すように、第1アプリID「IDA3」と、第2アプリID「IDB512」とを同一の端末装置10にインストールされたアプリの組み合わせであることを特定する。すなわち、抽出装置100は、第1アプリID「IDA3」に対応付けられた第1アプリ情報と、第2アプリID「IDB512」に対応付けられた第2アプリ情報とは、同一の端末装置10から取得された情報であることを特定する。
このように、抽出装置100は、データ量の多い第1アプリ情報を組み合わせの特定の前に予め抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
次に、図2を用いて抽出装置100が行う具体的な抽出処理を示す。図2の例では、第2アプリ情報を基に、その第2アプリ情報に対応する第1アプリ情報を特定する処理を示す。なお、図2に示すステップS11−1〜S11−nやステップS12−1〜S12−nは、図1中のステップS11−1〜S11−nやステップS12−1〜S12−nと同様であるため説明を省略する。
まず、抽出装置100は、紐付けられる第1アプリ情報の特定の対象となる一の第2アプリ情報を抽出する(ステップS21)。例えば、抽出装置100は、第2アプリ群SG11から一の第2アプリIDを抽出する。図2の例では、抽出装置100は、第2アプリ群SG11から第2アプリID「IDB3」を抽出する。なお、抽出装置100は、第2アプリ群SG11からどの第2アプリIDを抽出してもよいし、第2アプリ群SG11中の全ての第2アプリIDが抽出されるまで、第2アプリ群SG11から繰り返し第2アプリIDを抽出してもよい。すなわち、抽出装置100は、以下の処理を第2アプリ群SG11に含まれる全第2アプリIDに対して繰り返し処理してもよい。以下では、抽出装置100が第2アプリID「IDB3」を抽出した場合を例に説明する。
抽出装置100により抽出された第2アプリID「IDB3」に対応付けられた第2アプリ情報には、第2アプリ群SG21に示すように、日時DBに位置情報LC12に位置することや、日時DCに位置情報LC13に位置することを示す情報が含まれる。
なお、図2の例では、日時DBに位置情報LC12に位置することや、日時DCに位置情報LC13に位置することを示す情報が、第2アプリID「IDB3」に対応付けられた第2アプリ情報の特徴を示す情報であるものとする。例えば、抽出装置100が第2アプリID「IDB3」に対応するユーザの自宅やオフィスに関する情報を取得可能である場合、上記の特徴は、第2アプリID「IDB3」に対応するユーザの自宅やオフィスであってもよい。
そこで、抽出装置100は、第1アプリ群FG11中の各第1アプリIDに対応付けられた第1アプリ情報の各々からデータを抽出する(ステップS22)。例えば、抽出装置100は、第1アプリ群FG11中の各第1アプリIDに対応付けられた第1アプリ情報の各々から、第2アプリ情報との特定に用いるデータ量を削減する。図2の例では、抽出装置100は、第1アプリ情報の各々について、第2アプリID「IDB3」に対応付けられた第2アプリ情報の特徴を示す情報が取得された日時DBや日時DC等に取得された第1アプリ情報を抽出することにより、第1アプリ情報のデータ量を削減する。なお、図2では、各日時の対応を示すために、「日時DB」から所定の範囲内の日時も「日時DB」と図示する。例えば、「日時DB」から前後5分も「日時DB」と図示する。また、図2では、各位置情報の対応を示すために、「位置情報LC12」から所定の範囲内の位置情報も「位置情報LC12」と図示する。例えば、「位置情報LC12」から10m以内も「位置情報LC12」と図示する。
抽出装置100は、第1アプリ群FG21に示すように、第1アプリ情報の各々について、日時DBに対応する位置情報や、日時DCに対応する位置情報を抽出する。これにより、抽出装置100は、各第1アプリIDに対応付けられた第1アプリ情報について、第2アプリID「IDB3」に対応付けられた第2アプリ情報との特定に用いるデータ量を削減する。
例えば、抽出装置100は、日時DBに対応する位置情報や、日時DCに対応する位置情報を抽出することにより、第1アプリID「IDA1」に対応付けられた第1アプリ情報のデータ量を「dt1000」から「dt50」に削減する。また、例えば、抽出装置100は、日時DBに対応する位置情報や、日時DCに対応する位置情報を抽出することにより、第1アプリID「IDA2」に対応付けられた第1アプリ情報のデータ量を「dt1500」から「dt50」に削減する。
なお、図2の例では、説明を簡単にするために、日時DBや日時DC等の位置情報のみに絞ることにより第1アプリ情報のデータ量を削減する場合を示したが、第1アプリ情報のデータ量の削減については、上記に限らず種々の方法により行われてもよい。
その後、抽出装置100は、第1アプリ群FG21に含まれる第1アプリ情報から第1アプリ情報を抽出する(ステップS23)。例えば、抽出装置100は、第1アプリ情報中の日時DBや日時DC等の位置情報のうち少なくとも1つが、第2アプリID「IDB3」に対応付けられた第2アプリ情報の同日時の位置情報と類似する場合、その第1アプリ情報を抽出する。
例えば、抽出装置100は、第1アプリID「IDA1」に対応付けられた第1アプリ情報の日時DBでの位置情報「LC12」は、第2アプリID「IDB3」に対応付けられた第2アプリ情報の日時DBでの位置情報「LC12」に類似するため、第1アプリID「IDA1」に対応付けられた第1アプリ情報を抽出する。また、例えば、抽出装置100は、第1アプリID「IDA3」に対応付けられた第1アプリ情報の日時DCでの位置情報「LC13」は、第2アプリID「IDB3」に対応付けられた第2アプリ情報の日時DCでの位置情報「LC13」に類似するため、第1アプリID「IDA3」に対応付けられた第1アプリ情報を抽出する。
一方で、例えば、抽出装置100は、第1アプリID「IDA2」に対応付けられた第1アプリ情報の日時DBや日時DCでの位置情報は、第2アプリID「IDB3」に対応付けられた第2アプリ情報の同日時での位置情報と類似しないため、第1アプリID「IDA2」に対応付けられた第1アプリ情報を抽出しない。これにより、抽出装置100は、第2アプリID「IDB3」に対応付けられた第2アプリ情報との組み合わせを特定する候補となる第1アプリ情報を削減する。
ステップS23における第1アプリ情報の抽出により、抽出装置100は、第1アプリ群FG22に示すように、第1アプリID「IDA1」、「IDA3」、「IDA152」等の各々に対応付けられた第1アプリ情報を抽出する。なお、図2の例では、第1アプリID「IDA1」の第1アプリ情報(位置情報)と第2アプリID「IDB3」の第2アプリ情報(位置情報)とは、日時DBや日時DC以外にも位置情報一致する日時が複数含まれるものとする。また、図2の例では、第1アプリID「IDA3」、「IDA152」等の第1アプリ情報(位置情報)と第2アプリID「IDB3」の第2アプリ情報(位置情報)とは、日時DBや日時DC以外には位置情報一致する日時が含まれないものとする。
そして、抽出装置100は、第1アプリ群FG22と第2アプリ群SG21とに基づいて、同一の端末装置10から取得されたと推定される第1アプリ情報と第2アプリ情報との組み合わせを特定する(ステップS24)。例えば、抽出装置100は、第2アプリID「IDB3」に対応付けられた第2アプリ情報と同一の端末装置10から取得されたと推定される第1アプリ情報を特定する。なお、抽出装置100は、第1アプリ群FG22に示すように、ステップS24における第2アプリ情報との組み合わせ特定の処理においては、データ量削減前の第1アプリID「IDA1」等に対応付けられた第1アプリ情報を用いる。
例えば、図2に示す例において、抽出装置100は、組み合わせ情CL11に示すように、第1アプリID(カーナビ)のID「IDA1」と、第2アプリID(歩行)のID「IDB3」とを同一の端末装置10にインストールされたアプリの組み合わせであることを特定する。すなわち、抽出装置100は、第1アプリID「IDA1」に対応付けられた第1アプリ情報と、第2アプリID「IDB3」に対応付けられた第2アプリ情報とは、同一の端末装置10から取得された情報であることを特定する。図2の例では、抽出装置100は、上述した特定において、第2アプリID「IDB3」の第2アプリ情報(位置情報)が、第1アプリID「IDA1」の第1アプリ情報(位置情報)との一致度が、他の第1アプリIDの第1アプリ情報(位置情報)との一致度よりも大きいため、第1アプリID「IDA1」と、第2アプリID「IDB3」とを同一の端末装置10にインストールされたアプリの組み合わせであることを特定する。
このように、抽出装置100は、第2アプリ情報との組み合わせ候補を抽出する前に、第1アプリ情報のデータ量を削減する。そして、抽出装置100は、データ量を削減した第1アプリ情報を用いて、第2アプリ情報との組み合わせ候補を抽出する。その後、抽出装置100は、抽出した第1アプリ情報と第2アプリ情報との組み合わせを特定する。したがって、抽出装置100は、母集団の多い段階での比較においてはデータ量を削減して比較を行うことにより、処理負荷を軽減する。また、抽出装置100は、候補の抽出により母集団を削減した段階での組み合わせの特定においては、データ量を削減する前の情報を用いて比較を行うことにより、特定の精度を保つことができる。そのため、抽出装置100は、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、抽出装置100は、上述した特定によるアプリ間の組み合わせ情報に基づくことにより、ユーザの行動解析等における解析の精度を高めることができる。また、抽出装置100は、上述した特定によるアプリ間の組み合わせ情報に基づくことにより、一のアプリでデータが消えてしまった時などのデータ補完などを行うことができる。
上述した例では、第1アプリ情報や第2アプリ情報が位置情報である場合を示したが、抽出装置100は、どのような第1アプリ情報や第2アプリ情報を対象に上記の処理を行ってもよい。また、抽出装置100は、第1アプリ情報や第2アプリ情報とともに取得されるセンサ情報の類似性に基づいて、第1アプリ情報と第2アプリ情報との組み合わせを特定してもよい。例えば、抽出装置100は、第1アプリ情報や第2アプリ情報とともに取得される音声情報、加速度情報、振動に関する情報、気温に関する情報、気圧に関する情報、湿度に関する情報、照度に関する情報を含む位置情報に基づいて、第1アプリ情報と第2アプリ情報との組み合わせを特定してもよい。
また、上述した例では、日時DBに位置情報LC12に位置することや、日時DCに位置情報LC13に位置することを示す情報が、第2アプリID「IDB3」に対応付けられた第2アプリ情報の特徴を示す情報であるものとし、その日時における位置情報に基づいて第1アプリ情報を抽出したが、第1アプリ情報の抽出には種々の情報が用いられてもよい。例えば、抽出装置100は、各第1アプリ情報からレアな道、レアな立ち寄りスポット、レアな位置情報、すなわち希少度の高い位置情報を抽出することにより、各第1アプリ情報のデータ量を削減してもよい。このように、抽出装置100は、希少度に関する評価が所定の条件を満たさない情報を除外することにより、各第1アプリ情報のデータ量を削減してもよい。なお、ここでいう希少度が高いとは、例えば、少数のアプリ情報にのみ含まれ、他との識別力が高いことを意味する。この場合、抽出装置100は、各第2アプリ情報からレアな道、レアな立ち寄りスポット、レアな位置情報、すなわち希少度の高い位置情報を抽出することにより、各第2アプリ情報のデータ量を削減してもよい。そして、抽出装置100は、上述したデータ量の削減を行った各第1アプリ情報と、上述したデータ量の削減を行った各第2アプリ情報とに基づいて、の第1アプリ情報と第2アプリ情報との組み合わせを特定してもよい。また、抽出装置100は、第1アプリ情報の位置情報や第2アプリ情報の位置情報を自宅やオフィス等の種々の特徴に置き換えて上述した処置を行ってもよい。
なお、上述した例では、第1アプリをカーナビとし、第2アプリを歩行アプリとした例を示したが、上述した抽出処理が適用可能であれば、抽出装置100は、どのようなアプリに関する情報を対象に処理を行ってもよい。例えば、第2アプリは、ショッピングに関するアプリであってもよい。例えば、第2アプリは、所定のポイントサービスに関するアプリであってもよい。この場合、抽出装置100は、所定のポイントサービスが利用された店舗等の位置情報を用いて、上述した抽出処理を行ってもよい。例えば、抽出装置100は、所定のポイントサービスが複数の店舗で利用された場合、各店舗での利用タイミングや利用時間から推定されるユーザの移動経路等に基づいて、上述した抽出処理を行ってもよい。また、上述した例では、抽出装置100は、第1アプリと第2アプリとを入れ替えて処理を行ってもよい。例えば、抽出装置100は、第1アプリを歩行アプリとし、第2アプリをカーナビとして、上述した抽出処理を行ってもよい。すなわち、ここでいう第1アプリ及び第2アプリは、上記の抽出処理を説明するための相対的な概念であって、一のアプリが第1アプリである場合、他のアプリが第2アプリとなり得、他のアプリが第1アプリである場合、一のアプリが第2アプリとなり得る。また、例えば、抽出装置100は、第2アプリ情報に基づく第1アプリ情報の抽出と、第1アプリ情報に基づく第2アプリ情報の抽出とを行うことにより、抽出の処理を双方向に行ってもよい。例えば、抽出装置100は、図1中のステップS13に示す第1アプリ情報を抽出する処理と同様の処理を第2アプリ情報に対して行ってもよい。例えば、抽出装置100は、第1アプリ情報との組み合わせを特定する前に、組み合わせの特定の対象となる第2アプリ情報を抽出してもよい。例えば、抽出装置100は、組み合わせの特定の対象となる第1アプリ情報と第2アプリ情報との両方を抽出により絞り込んだ後、組み合わせの特定を行ってもよい。このように、抽出装置100は、上述した種々の処理を適宜組み合わせて行うことにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。なお、上記例では、説明を簡単にするために、第1アプリIDと第2アプリIDとの組み合わせの例として、1つの第1アプリIDと1つの第2アプリIDが紐付けられる例を示したが、抽出装置100は、1対1の紐付けに限らず、1対多の紐付けであってもよい。例えば、抽出装置100は、1つの第1アプリIDに複数の第2アプリIDを紐付けてもよい。この場合、抽出装置100は、1つの第1アプリIDと複数の第2アプリIDとの組み合わせを特定してもよい。また、例えば、抽出装置100は、1つの第2アプリIDに複数の第1アプリIDを紐付けてもよい。この場合、抽出装置100は、1つの第2アプリIDと複数の第1アプリIDとの組み合わせを特定してもよい。このように、抽出装置100は、アプリ情報に関して1対多の紐付けを行うことにより、例えば、時限制(1日や10日等)のIDを用いるアプリが対象となる場合であっても、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。また、第1アプリと第2アプリの両方が時限性IDを用いる場合、抽出装置100は、定期的に第1アプリIDと第2アプリIDとの組み合わせを特定し、時限性IDの紐付けを行うことにより、既に特定された組み合わせに新たに発行されたIDを追加すること等により、多対多の紐付けを行ってもよい。なお、上記は一例であり、抽出装置100は、同一の端末装置10から取得した情報を紐付け可能であれば、組合せは1対1、1対多、多対多等、どのような紐付け態様で情報を紐付けてもよい。
〔2.抽出装置の構成〕
次に、図3を用いて、実施形態に係る抽出装置100の構成について説明する。図3は、実施形態に係る抽出装置100の構成例を示す図である。図3に示すように、抽出装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、抽出装置100は、抽出装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、第1アプリ情報記憶部121と、第2アプリ情報記憶部122と、組み合わせ情報記憶部123とを有する。
(第1アプリ情報記憶部121)
実施形態に係る第1アプリ情報記憶部121は、第1アプリに関する各種情報を記憶する。図4は、実施形態に係る第1アプリ情報記憶部の一例を示す図である。例えば、第1アプリ情報記憶部121は、各ユーザの端末装置10から取得した位置情報を記憶する。図4に示す第1アプリ情報記憶部121には、「第1アプリID」、「日時」、「位置情報」といった項目が含まれる。
「第1アプリID」は、各端末装置にインストールされた第1アプリを識別する情報を示す。「日時」は、各位置情報が取得された日時を示す。「位置情報」は、対応する日時における対応するユーザの位置情報を示す。
例えば、図4に示す例において、第1アプリID「IDA1」により識別される第1アプリがインストールされた端末装置10の位置情報「LC11−1」が、日時「日時DA−1」に取得されたことを示す。すなわち、第1アプリID「IDA1」により識別される第1アプリがインストールされた端末装置10を利用するユーザの位置情報「LC11−1」が、日時「日時DA−1」に取得されたことを示す。
図4に示す例では、ハイフン(“-”)が付された日時「日時DA−1」等は、日時DAから所定の範囲内(例えば5秒以内等)の日時を意味する。また、例えば、日時DB−1は、日時DBから所定の範囲内の位置情報を意味する。
また、図4に示す例では、ハイフン(“-”)が付された位置情報LC11−1等は、位置情報LC11から所定の範囲内(例えば10m以内等)の位置情報を意味する。また、例えば、位置情報LC12−1は、位置情報LC12から所定の範囲内の位置情報を意味する。
なお、第1アプリ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図4では、第1アプリIDごとに位置情報が第1アプリ情報記憶部121に記憶される場合を示したが、位置情報は、第1アプリIDごとに限らず、例えば取得された日時順に記憶されてもよい。
(第2アプリ情報記憶部122)
実施形態に係る第2アプリ情報記憶部122は、第2アプリに関する各種情報を記憶する。図5は、実施形態に係る第2アプリ情報記憶部の一例を示す図である。例えば、第2アプリ情報記憶部122は、各ユーザの端末装置10から取得した位置情報を記憶する。図5に示す第2アプリ情報記憶部122には、「第2アプリID」、「日時」、「位置情報」といった項目が含まれる。
「第2アプリID」は、各端末装置にインストールされた第2アプリを識別する情報を示す。「日時」は、各位置情報が取得された日時を示す。「位置情報」は、対応する日時における対応するユーザの位置情報を示す。
例えば、図5に示す例において、第2アプリID「IDB1」により識別される第2アプリがインストールされた端末装置10の位置情報「LC13−1」が、日時「日時DJ−1」に取得されたことを示す。すなわち、第2アプリID「IDB1」により識別される第2アプリがインストールされた端末装置10を利用するユーザの位置情報「LC13−1」が、日時「日時DJ−1」に取得されたことを示す。
図5に示す例では、ハイフン(“-”)が付された日時「日時DJ−1」等は、日時DJから所定の範囲内(例えば5秒以内等)の日時を意味する。また、例えば、日時DB−2は、日時DBから所定の範囲内の位置情報を意味する。
また、図5に示す例では、ハイフン(“-”)が付された位置情報LC13−1等は、位置情報LC13から所定の範囲内(例えば10m以内等)の位置情報を意味する。また、例えば、位置情報LC22−1は、位置情報LC22から所定の範囲内の位置情報を意味する。
なお、第2アプリ情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図5では、第2アプリIDごとに位置情報が第2アプリ情報記憶部122に記憶される場合を示したが、位置情報は、第2アプリIDごとに限らず、例えば取得された日時順に記憶されてもよい。
(組み合わせ情報記憶部123)
実施形態に係る組み合わせ情報記憶部123は、第1アプリ情報と第2アプリ情報との紐付けに関する情報を記憶する。図6の例では、組み合わせ情報記憶部123は、第1アプリIDと第2アプリIDとの組み合わせに関する情報を記憶する。図6は、実施形態に係る組み合わせ情報記憶部の一例を示す図である。図6に示す組み合わせ情報記憶部123には、「組み合わせID」、「第1アプリID(カーナビ)」、「第2アプリID(歩行)」といった項目を有する。
「組み合わせID」は、紐付けられた第1アプリIDと第2アプリIDとの組み合わせを識別するための識別情報を示す。すなわち、「組み合わせID」は、紐付けられた第1アプリ情報と第2アプリ情報との組み合わせを識別するための識別情報を示す。また、「第1アプリID(カーナビ)」は、対応する組み合わせIDにより識別される組み合わせにより紐付けられた第1アプリ情報を識別するための情報を示す。また、「第2アプリID(歩行)」は、対応する組み合わせIDにより識別される組み合わせにより紐付けられた第2アプリ情報を識別するための情報を示す。
例えば、図5に示す例において、組み合わせID「CN11」により識別される組み合わせは、第1アプリID(カーナビ)のID「IDA1」と、第2アプリID(歩行)のID「IDB3」との組み合わせであることを示す。また、例えば、図5に示す例において、組み合わせID「CN12」により識別される組み合わせは、第1アプリID(カーナビ)のID「IDA3」と、第2アプリID(歩行)のID「IDB512」との組み合わせであることを示す。
なお、組み合わせ情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、組み合わせ情報記憶部123には、第1アプリIDに対応付けられた第1アプリ情報や第2アプリIDに対応付けられた第2アプリ情報が記憶されてもよい。
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、抽出装置100内部の記憶装置に記憶されている各種プログラム(抽出プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図3に示すように、制御部130は、取得部131と、抽出部132と、特定部133と、送信部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、第1アプリ情報記憶部121や、第2アプリ情報記憶部122や、組み合わせ情報記憶部123から各種情報を取得する。例えば、取得部131は、ユーザが利用する端末装置10から各種情報を取得する。例えば、取得部131は、各ユーザが利用する各端末装置10から第1アプリ情報や第2アプリ情報を取得する。
例えば、取得部131は、複数の端末装置10の各々にインストールされる各第1のアプリケーションにおいて収集される複数の第1アプリ情報と、複数の端末装置10の各々にインストールされる各第2のアプリケーションにおいて収集される複数の第2アプリ情報とを取得する。例えば、取得部131は、ユーザを識別する識別情報の各々に対応する複数の第1アプリ情報と、ユーザを識別する他の識別情報の各々に対応する複数の第2アプリ情報とを取得する。例えば、取得部131は、識別情報と対応付けられていない他の識別情報の各々に対応する複数の第2アプリ情報を取得する。
例えば、取得部131は、複数の第1アプリ情報と、第1のアプリケーションにおける収集頻度よりも収集頻度が低い第2のアプリケーションにおいて収集される複数の第2アプリ情報とを取得する。例えば、取得部131は、複数の第1アプリ情報の各々に対応付けられたセンサ情報と、複数の第2アプリ情報の各々に対応付けられた他のセンサ情報とを取得する。
例えば、取得部131は、カーナビゲーションに関するアプリケーションである各第1のアプリケーションにおいて収集される複数の位置情報である複数の第1アプリ情報と、カーナビゲーション以外に関するアプリケーションであって、位置情報を収集可能なアプリケーションである各第2のアプリケーションにおいて収集される複数の位置情報である複数の第2アプリ情報とを取得する。例えば、取得部131は、複数の端末装置10の各々を利用するユーザの歩行に関するアプリケーションである各第2のアプリケーションにおいて収集される複数の第2アプリ情報を取得する。
図1の例では、取得部131は、各端末装置10(TM1〜TMn)から第1アプリ情報を取得する。例えば、取得部131は、端末装置10(TM1)から第1アプリID「IDA1」に対応付けられた第1アプリ情報を取得する。例えば、取得部131は、端末装置10(TM1)から第1アプリ情報として位置情報を取得する。
また、図1の例では、取得部131は、各端末装置10(TM1〜TMn)から第2アプリ情報を取得する。例えば、取得部131は、端末装置10(TM1)から第2アプリID「IDB3」に対応付けられた第2アプリ情報を取得する。例えば、取得部131は、端末装置10(TM1)から第2アプリ情報として位置情報を取得する。
また、図1の例では、取得部131は、端末装置10(TM1)〜端末装置10(TMn)のn台の端末装置10から第1アプリ情報や第2アプリ情報を取得する。例えば、取得部131は、第1アプリ情報として、位置情報、音声情報、加速度情報、振動に関する情報、気温に関する情報、気圧に関する情報、湿度に関する情報、照度に関する情報等を端末装置10から取得してもよい。また、例えば、取得部131は、第2アプリ情報として、位置情報、音声情報、加速度情報、振動に関する情報、気温に関する情報、気圧に関する情報、湿度に関する情報、照度に関する情報等を端末装置10から取得してもよい。
(抽出部132)
抽出部132は、種々の情報を抽出する。例えば、抽出部132は、取得部131により取得された複数の第1アプリ情報から、取得部131により取得された複数の第2アプリ情報のうち、一の第2アプリ情報に基づいて、当該一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出する。例えば、抽出部132は、複数の第1アプリ情報の各々から所定量の情報を除外した複数の第1アプリ情報から、一の第2アプリ情報に基づいて、候補となる第1アプリ情報を抽出する。例えば、抽出部132は、第1アプリ情報の各々から、希少度に関する評価が所定の条件を満たさない情報を除外した複数の第1アプリ情報から、一の第2アプリ情報に基づいて、候補となる第1アプリ情報を抽出する。
例えば、抽出部132は、複数の第1アプリ情報の各々から、所定の特徴に関する第1アプリ情報を抽出する。例えば、抽出部132は、第1アプリ情報の各々から、センサ情報と他のセンサ情報の類似性に基づいて、第1アプリ情報を抽出する。例えば、抽出部132は、一の第2アプリ情報から、第1のアプリケーションに対応する速度に基づく条件を満たさない情報を除外する。
図1の例では、抽出部132は、第2アプリ情報との組み合わせを特定する前に、組み合わせの特定の対象となる第1アプリ情報を抽出する。例えば、抽出部132は、第1アプリ群FG12に示すように、第1アプリID「IDA1」や「IDA3」等に対応付けられた第1アプリ情報を組み合わせの特定の対象となる第1アプリ情報として抽出する。例えば、抽出部132は、第1アプリ群FG12に示すように、第1アプリID「IDA2」等に対応付けられた第1アプリ情報を組み合わせの特定の対象となる第1アプリ情報から除外する。
図2の例では、抽出部132は、紐付けられる第1アプリ情報の特定の対象となる一の第2アプリ情報を抽出する。例えば、抽出部132は、第2アプリ群SG11から一の第2アプリIDを抽出する。例えば、抽出部132は、第2アプリ群SG11から第2アプリID「IDB3」を抽出する。
図2の例では、抽出部132は、第1アプリ群FG11中の各第1アプリIDに対応付けられた第1アプリ情報の各々からデータを抽出する。例えば、抽出部132は、第1アプリ群FG11中の各第1アプリIDに対応付けられた第1アプリ情報の各々から、第2アプリ情報との特定に用いるデータ量を削減する。例えば、抽出部132は、第1アプリ群FG21に示すように、第1アプリ情報の各々について、日時DBに対応する位置情報や、日時DCに対応する位置情報を抽出する。
例えば、抽出部132は、日時DBに対応する位置情報や、日時DCに対応する位置情報を抽出することにより、第1アプリID「IDA1」に対応付けられた第1アプリ情報のデータ量を「dt1000」から「dt50」に削減する。また、例えば、抽出部132は、日時DBに対応する位置情報や、日時DCに対応する位置情報を抽出することにより、第1アプリID「IDA2」に対応付けられた第1アプリ情報のデータ量を「dt1500」から「dt50」に削減する。
例えば、抽出部132は、第1アプリ群FG21に含まれる第1アプリ情報から第1アプリ情報を抽出する。例えば、抽出部132は、第1アプリ情報中の日時DBや日時DC等の位置情報のうち少なくとも1つが、第2アプリID「IDB3」に対応付けられた第2アプリ情報の同日時の位置情報と類似する場合、その第1アプリ情報を抽出する。
例えば、抽出部132は、第1アプリID「IDA1」に対応付けられた第1アプリ情報の日時DBでの位置情報「LC12」は、第2アプリID「IDB3」に対応付けられた第2アプリ情報の日時DBでの位置情報「LC12」に類似するため、第1アプリID「IDA1」に対応付けられた第1アプリ情報を抽出する。また、例えば、抽出部132は、第1アプリID「IDA3」に対応付けられた第1アプリ情報の日時DCでの位置情報「LC13」は、第2アプリID「IDB3」に対応付けられた第2アプリ情報の日時DCでの位置情報「LC13」に類似するため、第1アプリID「IDA3」に対応付けられた第1アプリ情報を抽出する。
例えば、抽出部132は、第1アプリ群FG22に示すように、第1アプリID「IDA1」、「IDA3」、「IDA152」等の各々に対応付けられた第1アプリ情報を抽出する。
(特定部133)
特定部133は、種々の情報を特定する。例えば、特定部133は、抽出部132により抽出された第1アプリ情報と、一の第2アプリ情報とに基づいて、一の第2アプリ情報と同一の端末装置10において収集された第1アプリ情報を特定する。
図1の例では、特定部133は、第1アプリ群FG12と第2アプリ群SG11とに基づいて、同一の端末装置10から取得されたと推定される第1アプリ情報と第2アプリ情報との組み合わせを特定する。例えば、特定部133は、ある端末装置10から取得されたと推定される第1アプリ情報に対応付けられた第1アプリIDと、その端末装置10から取得されたと推定される第2アプリ情報に対応付けられた第2アプリIDとの組み合わせを特定する。
図1に示す例において、特定部133は、組み合わせ情報記憶部123に示すように、第1アプリID(カーナビ)のID「IDA1」と、第2アプリID(歩行)のID「IDB3」とを同一の端末装置10にインストールされたアプリの組み合わせであることを特定する。すなわち、特定部133は、第1アプリID「IDA1」に対応付けられた第1アプリ情報と、第2アプリID「IDB3」に対応付けられた第2アプリ情報とは、同一の端末装置10から取得された情報であることを特定する。
例えば、図1に示す例において、特定部133は、組み合わせ情報記憶部123に示すように、第1アプリID「IDA3」と、第2アプリID「IDB512」とを同一の端末装置10にインストールされたアプリの組み合わせであることを特定する。すなわち、特定部133は、第1アプリID「IDA3」に対応付けられた第1アプリ情報と、第2アプリID「IDB512」に対応付けられた第2アプリ情報とは、同一の端末装置10から取得された情報であることを特定する。
図2に示す例において、特定部133は、第1アプリ群FG22と第2アプリ群SG21とに基づいて、同一の端末装置10から取得されたと推定される第1アプリ情報と第2アプリ情報との組み合わせを特定する。例えば、特定部133は、第2アプリID「IDB3」に対応付けられた第2アプリ情報と同一の端末装置10から取得されたと推定される第1アプリ情報を特定する。なお、特定部133は、第1アプリ群FG22に示すように、ステップS24における第2アプリ情報との組み合わせ特定の処理においては、データ量削減前の第1アプリID「IDA1」等に対応付けられた第1アプリ情報を用いる。
例えば、図2に示す例において、特定部133は、組み合わせ情CL11に示すように、第1アプリID(カーナビ)のID「IDA1」と、第2アプリID(歩行)のID「IDB3」とを同一の端末装置10にインストールされたアプリの組み合わせであることを特定する。例えば、特定部133は、第1アプリID「IDA1」に対応付けられた第1アプリ情報と、第2アプリID「IDB3」に対応付けられた第2アプリ情報とは、同一の端末装置10から取得された情報であることを特定する。
(送信部134)
送信部134は、外部の情報処理装置に各種情報を送信する。例えば、送信部134は、端末装置10に各種情報を送信する。また、送信部134は、外部の情報処理装置に第1アプリIDと第2アプリIDとの対応に関する情報を送信してもよい。
〔3.抽出処理のフロー〕
次に、図7を用いて、実施形態に係る抽出システム1による抽出処理の手順について説明する。図7は、実施形態に係る抽出処理の一例を示すフローチャートである。
図7に示すように、抽出装置100は、各第1アプリIDの第1アプリ情報を取得する(ステップS101)。例えば、抽出装置100は、各ユーザが利用する端末装置10の各々から各第1アプリIDの第1アプリ情報を取得する。図1の例では、取得部131は、端末装置10(TM1)〜端末装置10(TMn)のn台の端末装置10から各第1アプリIDの第1アプリ情報を取得する。
また、抽出装置100は、各第2アプリIDの第2アプリ情報を取得する(ステップS102)。例えば、抽出装置100は、各ユーザが利用する端末装置10の各々から各第2アプリIDの第2アプリ情報を取得する。図1の例では、取得部131は、端末装置10(TM1)〜端末装置10(TMn)のn台の端末装置10から各第2アプリIDの第2アプリ情報を取得する。
その後、抽出装置100は、第2アプリ情報に基づいて、各第1アプリIDの第1アプリ情報のデータ量を削減する(ステップS103)。そして、抽出装置100は、第2アプリ情報に基づいて、第1アプリ情報を抽出する(ステップS104)。
その後、抽出装置100は、抽出した第1アプリ情報と第2アプリ情報のうち、同じユーザの情報と推定される第1アプリ情報と第2アプリ情報との組み合わせを特定する(ステップS105)。
〔4.情報の紐付け〕
次に、図8を用いて、実施形態に係る抽出システム1による抽出処理の手順について説明する。図8は、実施形態に係る情報の紐付けの一例を示す概念図である。具体的には、図8は、図2に示す例における抽出処理により紐付けられた第1アプリID「IDA1」に対応付けられた第1アプリ情報と、第2アプリID「IDB3」に対応付けられた第2アプリ情報との紐付け後の位置情報のイメージを図示する。
図8中の地図情報MP1は、第1アプリID「IDA1」に対応付けられた第1アプリ情報に基づく位置の変遷を模式的に示す。図8中の地図情報MP1は、第1アプリID「IDA1」により識別される第1アプリがインストールされた端末装置10の位置の変遷を示す。例えば、地図情報MP1には、位置変遷情報DT1のような端末装置10の位置の変遷を示す情報が含まれる。例えば、地図情報MP1の位置変遷情報DT1は、第1アプリID「IDA1」により識別される第1アプリがインストールされた端末装置10を利用するユーザが、カーナビアプリである第1アプリを利用して車等で移動した際の位置の変遷を示す。
また、図8中の地図情報MP2は、第2アプリID「IDB3」に対応付けられた第2アプリ情報に基づく位置の変遷を模式的に示す。図8中の地図情報MP2は、第2アプリID「IDB3」により識別される第2アプリがインストールされた端末装置10の位置の変遷を示す。例えば、地図情報MP2には、位置変遷情報DT2−1、DT2−2、DT2−3のような端末装置10の位置の変遷を示す情報が含まれる。以下、位置変遷情報DT2−1、DT2−2、DT2−3を総称して位置変遷情報DT2とする場合がある。例えば、地図情報MP2の位置変遷情報DT2は、第2アプリID「IDB3」により識別される第2アプリから間欠的に取得されるユーザの歩行に関する情報に含まれる位置の変遷を示す。
ここで、抽出装置100は、第1アプリIDと第2アプリIDとの組み合わせを特定し、第1アプリと第2アプリとの間の情報の紐付けを行う(ステップS31)。図2の例に示すように、抽出装置100は、第1アプリID「IDA1」により識別される第1アプリと第2アプリID「IDB3」により識別される第2アプリとが同一の端末装置にインストールされていると特定しているため、それらの情報を紐付ける。図8の例では、抽出装置100は、地図情報MP11に示すように、第1アプリにおいて収集された位置変遷情報DT1と第2アプリにおいて収集された位置変遷情報DT2とを紐付ける。
例えば、図8の例では、抽出装置100は、上記の情報の紐付けの対象となったユーザが位置変遷情報DT2−1の近傍に位置する自宅HMや位置変遷情報DT2−2の近傍に位置するオフィスWPや位置変遷情報DT2−3の近傍に位置する公園PKの間を自動車で移動していると推定可能な地図情報MP11を抽出できる。なお、抽出装置100は、上記の情報の紐付けの対象となったユーザの自宅HMやオフィスWPに関する情報等のユーザ情報を外部の情報処理装置等から取得してもよい。
〔5.効果〕
上述してきたように、実施形態に係る抽出装置100は、取得部131と、抽出部132とを有する。取得部131は、複数の端末装置の各々にインストールされる各第1のアプリケーション(実施形態では「第1アプリ」。以下同じ)において収集される複数の第1アプリ情報と、複数の端末装置の各々にインストールされる各第2のアプリケーション(実施形態では「第2アプリ」。以下同じ)において収集される複数の第2アプリ情報とを取得する。また、抽出部132は、取得部131により取得された複数の第1アプリ情報から、取得部131により取得された複数の第2アプリ情報のうち、一の第2アプリ情報に基づいて、当該一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、取得部131は、ユーザを識別する識別情報の各々に対応する複数の第1アプリ情報と、ユーザを識別する他の識別情報の各々に対応する複数の第2アプリ情報とを取得する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、取得部131は、識別情報と対応付けられていない他の識別情報の各々に対応する複数の第2アプリ情報を取得する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、取得部131は、複数の第1アプリ情報と、第1のアプリケーションにおける収集頻度よりも収集頻度が低い第2のアプリケーションにおいて収集される複数の第2アプリ情報とを取得する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、抽出部132は、複数の第1アプリ情報の各々から所定量の情報を除外した複数の第1アプリ情報から、一の第2アプリ情報に基づいて、候補となる第1アプリ情報を抽出する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、抽出部132は、第1アプリ情報の各々から、希少度に関する評価が所定の条件を満たさない情報を除外した複数の第1アプリ情報から、一の第2アプリ情報に基づいて、候補となる第1アプリ情報を抽出する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、抽出部132は、複数の第1アプリ情報の各々から、所定の特徴に関する第1アプリ情報を抽出する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、取得部131は、複数の第1アプリ情報の各々に対応付けられたセンサ情報と、複数の第2アプリ情報の各々に対応付けられた他のセンサ情報とを取得する。抽出部132は、第1アプリ情報の各々から、センサ情報と他のセンサ情報の類似性に基づいて、第1アプリ情報を抽出する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、取得部131は、カーナビゲーションに関するアプリケーションである各第1のアプリケーションにおいて収集される複数の位置情報である複数の第1アプリ情報と、カーナビゲーション以外に関するアプリケーションであって、位置情報を収集可能なアプリケーションである各第2のアプリケーションにおいて収集される複数の位置情報である複数の第2アプリ情報とを取得する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、取得部131は、複数の端末装置の各々を利用するユーザの歩行に関するアプリケーションである各第2のアプリケーションにおいて収集される複数の第2アプリ情報を取得する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100において、抽出部132は、一の第2アプリ情報から、第1のアプリケーションに対応する速度に基づく条件を満たさない情報を除外する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
また、実施形態に係る抽出装置100は、特定部133を有する。特定部133は、抽出部132により抽出された第1アプリ情報と、一の第2アプリ情報とに基づいて、一の第2アプリ情報と同一の端末装置において収集された第1アプリ情報を特定する。
これにより、実施形態に係る抽出装置100は、複数の第1アプリ情報から、一の第2アプリ情報に基づいて、その一の第2アプリ情報と紐付けられる第1アプリ情報の候補となる第1アプリ情報を抽出することにより、複数のアプリケーションから取得される情報を紐付けるための処理を可能にしつつ、処理負荷の増大を抑制することができる。
〔6.ハードウェア構成〕
上述してきた実施形態に係る抽出装置100は、例えば図9に示すような構成のコンピュータ1000によって実現される。図9は、抽出装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ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は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が抽出したデータをネットワークNを介して他の機器へ送信する。
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の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。