以下に、本願に係る情報処理装置、情報処理方法、および情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、および情報処理プログラムが限定されるものではない。
〔1.第1の実施形態〕
〔1.1.情報処理〕
図1を用いて、第1の実施形態に係る情報処理について説明する。図1は、実施形態に係る情報処理の説明図であり、第1の実施形態においては、情報処理装置1によって情報処理が実行される。
図1に示す例では、情報処理装置1は、複数の事業者C1,C2(以下、事業者Cと総称する場合がある)がそれぞれサービス提供業者としてサービスを提供し、かかるサービスを利用するユーザに関する情報であるユーザ情報を含むユーザ情報群D1,D2(以下、ユーザ情報群Dと総称する場合がある)を保有している。
事業者Cが提供するサービスは、ユーザに対してオンラインでサービスを提供するオンラインサービスであり、例えば、ショッピングサービス、オークションサービス、オンラインバンキングサービス、動画配信サービス、音楽配信サービス、ニュース配信サービス、ホームページ提供サービス、または、ブログ提供サービス等である。なお、事業者Cが提供するサービスは、事業者Cが提供する商品の販売や紹介を行うウェブページを提供するサービスを含む。また、事業者Cが提供するサービスは、オフラインのサービスを含んでいても良い。
ユーザ情報群Dは、複数のユーザ情報を含むデータセットであり、事業者Cが管理するデータベースなどの記憶部に記憶される。サービスの利用者であるユーザの情報は、例えば、ユーザのデモグラフィック属性やユーザのスマートデバイスの情報やアクセス履歴などが含まれる。
図1に示す例では、事業者C1は、事業者C1によるサービスの提供対象であるユーザに関する情報であるユーザ情報(以下、第1ユーザ情報と記載する場合がある)を含む第1ユーザ情報群D1の情報を保有している。事業者C2は、事業者C2によるサービスの提供対象であるユーザに関する情報であるユーザ情報(以下、第2ユーザ情報と記載する場合がある)を含む第2ユーザ情報群D2の情報を保有している。以下、第1ユーザ情報群D1の情報および第2ユーザ情報群D2の情報のそれぞれを単にユーザ情報群Dと記載する場合がある。
第1ユーザ情報群D1と第2ユーザ情報群D2とは、それぞれ異なる事業者C1,C2によって管理される情報である。第1ユーザ情報群D1に含まれる第1ユーザ情報は、複数の要素の情報から構成され、同様に、第2ユーザ情報群D2に含まれる第2ユーザ情報は、複数の要素の情報から構成される。例えば、第1ユーザ情報および第2ユーザ情報は、それぞれユーザを識別するためのユーザID、ユーザの属性を示す情報(以下、属性情報と記載する)、ユーザの行動履歴を示す情報(以下、行動履歴情報と記載する)などについての複数の要素を含む。
第1ユーザ情報および第2ユーザ情報は、事業者Cが提供するオンラインサービスでユーザの入力から得られる情報(例えば、氏名、年齢、性別、住所など)や、事業者Cが提供するオンラインサービスでユーザがアクセスしたウェブページやアクセス回数などから得られるユーザの嗜好などを示す情報を含む。また、第1ユーザ情報および第2ユーザ情報は、事業者Cが提供するオンラインサービスで購入したサービスや商品から得られるユーザの嗜好を示す情報を含む。このように、第1ユーザ情報および第2ユーザ情報は、事業者Cが提供するオンラインサービスで直接または間接的に得られる情報を含む。
第1ユーザ情報群D1と第2ユーザ情報群D2とは、それぞれ異なる事業者C1,C2が提供するサービスから得られるユーザ情報を含んでおり、同一のユーザであってもユーザ情報が異なる。そのため、第1ユーザ情報群D1と第2ユーザ情報群D2との間で同一ユーザのユーザ情報を紐付けすることができれば、複数の事業者C間に跨ってサービスの提供を受けるユーザについてのユーザ情報の情報量を多くすることができる。ユーザ情報の情報量が多いほど、ユーザ情報に基づく情報(例えば、ユーザに応じた広告情報やユーザに応じたページの提供)の提供を精度よく行うことができる。
そこで、第1の実施形態に係る情報処理装置1は、第1ユーザ情報群D1の第1ユーザ情報と第2ユーザ情報群D2の第2ユーザ情報とを紐付ける紐付処理を含む情報処理を実行する。かかる紐付けは、名寄せとも呼ばれる。
まず、情報処理装置1は、事業者C1の装置から第1ユーザ情報群D1の情報を取得し、事業者C2の装置から第2ユーザ情報群D2の情報を取得する(ステップS1)。図1に示す例では、第1ユーザ情報群D1には、ユーザID「U1000」〜「U1999」までの第1ユーザ情報が含まれ、第2ユーザ情報群D2には、ユーザID「U2000」〜「U2999」までの第2ユーザ情報が含まれる。
なお、図1に示す例では、説明の便宜上、第1ユーザ情報および第2ユーザ情報がそれぞれ1000個あるものとして説明するが、第1ユーザ情報の数および第2ユーザ情報の数は図1に示す例に限定されない。また、第1ユーザ情報を構成する複数の要素がp個の要素(pは2以上の整数)であり、第2ユーザ情報を構成する複数の要素がp個の要素であるものとするが、ユーザ情報を構成する要素の数は、p個に限定されない。
次に、情報処理装置1は、第1ユーザ情報群D1に含まれる複数の第1ユーザ情報のうち一部(例えば、200個)の第1ユーザ情報と、第2ユーザ情報群D2に含まれる複数の第2ユーザ情報のうち一部(例えば、500個)の第2ユーザ情報とを判定候補として、同一ユーザのユーザ情報であるか否かの判定処理を行う(ステップS2)。
かかる判定処理において、情報処理装置1は、一部の第1ユーザ情報のそれぞれを、一部の第2ユーザ情報と比較する。具体的には、情報処理装置1は、第1ユーザ情報に含まれるp個の要素と、第2ユーザ情報に含まれるp個の要素とを要素同士で比較し、第1ユーザ情報と第2ユーザ情報との類似度を判定する。
そして、情報処理装置1は、類似度が閾値Th1以上である第1ユーザ情報と第2ユーザ情報とを同一ユーザのユーザ情報であると判定する。情報処理装置1は、同一ユーザのユーザ情報であると判定した第1ユーザ情報と第2ユーザ情報とのペア(以下、仮紐付ペアと記載する)の数をカウントする。
次に、情報処理装置1は、第1ユーザ情報および第2ユーザ情報にそれぞれに含まれるp個の要素のうち、後述する紐付処理で比較に用いる要素である比較候補を決定する(ステップS3)。具体的には、情報処理装置1は、同一ユーザのユーザ情報であるか否かの指標である上述した類似度に影響が少ない要素を判定し、p個の要素から類似度に影響が少ない1以上の要素を除外して得られる複数の要素を比較候補として決定する。比較候補は、紐付処理における紐付条件であり、紐付処理に用いる要素である。
情報処理装置1は、第1ユーザ情報群D1に含まれる複数の第1ユーザ情報と、第2ユーザ情報群D2に含まれる複数の第2ユーザ情報とを紐付候補として、p個の要素のうち比較候補の1以上の要素を用いて、紐付処理を行う(ステップS4)。
例えば、要素1、要素2、および要素3が比較候補であるとする。この場合、情報処理装置1は、第1ユーザ情報を構成する要素1〜3と、第2ユーザ情報を構成する要素1〜3とを要素同士(例えば、要素1同士、要素2同士、要素3同士)で比較し、第1ユーザ情報毎に、第2ユーザ情報との類似度を判定する。
そして、情報処理装置1は、第1ユーザ情報との類似度が閾値以上である第2ユーザ情報を第1ユーザ情報と紐付ける。情報処理装置1は、第1ユーザ情報との類似度が閾値以上である第2ユーザ情報が複数ある場合、最も類似度が高い第1ユーザ情報と第2ユーザ情報とを紐付ける。
このように、情報処理装置1は、ユーザ情報を構成する複数の要素のうち一部の要素のみを紐付処理に用いることから、情報処理装置1における処理負荷を軽減することができる。
また、情報処理装置1が事業者C1に管理されている場合、事業者C2は、一部の第2ユーザ情報に限り、第2ユーザ情報を構成する全ての要素を開示するだけでよく、一旦、比較候補の要素が決定された後は、比較候補の要素のみ開示することができる。したがって、事業者C2は、比較候補の要素が決定された後は、事業者C1に対して、第2ユーザ情報を構成する全ての要素を開示しなくてもよく、セキュリティを向上させ、第2ユーザ情報の送信処理などにかかるコストを抑制することができる。
〔1.2.情報処理システム〕
図2は、第1の実施形態に係る情報処理システムの構成例を示す図である。図2に示すように、第1の実施形態に係る情報処理システム100は、情報処理装置1と、複数のサーバ装置21〜2m(mは3以上の整数)と、複数の端末装置31〜3n(nは2以上の整数)を備える。情報処理装置1は、上述したように事業者C1によって管理される。また、サーバ装置21〜2m−1は、それぞれ事業者C2〜Cmによって管理される。
これら情報処理装置1、複数のサーバ装置21〜2m−1(以下、サーバ装置2と総称する場合がある)および複数の端末装置31〜3n(以下、端末装置3と総称する場合がある)は、ネットワーク4を介して有線または無線により互いに通信可能に接続される。ネットワーク4は、例えば、LAN(Local Area Network)や、インターネットなどのWAN(Wide Area Network)である。端末装置31〜3nは、ユーザU1〜Un(以下、ユーザUと総称する場合がある)によって操作される。
端末装置3は、例えば、スマートフォン、タブレット型端末、PDA(Personal Digital Assistant)、パーソナルコンピュータなどのスマートデバイス(通信端末)であり、ブラウザなどのアプリケーションが実行可能である。端末装置3は、ブラウザや専用のアプリケーションから、情報処理装置1やサーバ装置2にネットワーク4を介してアクセスすることができる。端末装置3のユーザUは、情報処理装置1やサーバ装置2から提供される種々のオンラインサービスを利用することができる。
情報処理装置1およびサーバ装置2はそれぞれオンラインサービスを提供する各ユーザUの端末装置3からユーザ情報を取得して記憶することができる。サーバ装置2は、各ユーザUの端末装置3から取得されるユーザ情報を含むユーザ情報群Dをデータベース(以下、DBと記載する)に記憶する。
情報処理装置1およびサーバ装置2は、ユーザ情報に応じた情報をユーザUの端末装置3へ提供することができる。例えば、情報処理装置1およびサーバ装置2は、保持しているユーザ情報に基づいて、ユーザU専用のページの情報をユーザUの端末装置3へ提供したり、ユーザUが興味を示す度合いが高い広告情報をユーザUの端末装置3へ提供したりすることができる。これにより、ユーザU毎に適切な情報をユーザUに提供することができる。
情報処理装置1は、各サーバ装置2が保有するユーザ情報群Dを各サーバ装置2からネットワーク4を介して取得し、記憶する。そして、情報処理装置1は、ユーザ情報群D間のユーザ情報を紐付けることができる。以下、情報処理装置1の構成および動作について具体的に説明する。
〔1.3.情報処理装置1〕
図3は、第1の実施形態に係る情報処理装置1の構成例を示す図である。図3に示すように、情報処理装置1は、通信部10と、記憶部11と、制御部12(コントローラ)とを備え、端末装置3のユーザUにオンラインサービスを提供する。以下、通信部10、記憶部11および制御部12の順に具体的に説明する。
〔1.3.1.通信部10〕
通信部10は、ネットワーク4との間で情報の送受信を行う通信インターフェイスであり、ネットワーク4との接続を有線または無線で行う。制御部12は、通信部10およびネットワーク4を介して、複数のサーバ装置2および端末装置3との間で各種の情報を送受信することができる。
〔1.3.2.記憶部11〕
記憶部11は、サービス情報DB20と、ユーザ情報群テーブル21,22と、比較候補テーブル23、紐付情報テーブル24とを備える。サービス情報DB20、ユーザ情報群テーブル21,22、比較候補テーブル23、および紐付情報テーブル24は、例えば、フラッシュメモリ等の半導体メモリ素子、または、HDD(Hard Disk Drive)、光ディスク等の記憶装置である。
サービス情報DB20は、情報処理装置1が端末装置3のユーザUに提供するサービスに用いる情報を記憶する記憶部である。例えば、サービス情報DB20には、ショッピングサービスやオークションサービスに用いる商品などの情報や、動画配信サービスに用いる動画コンテンツなどが記憶される。
ユーザ情報群テーブル21は、情報処理装置1が提供するサービスを利用するユーザUの情報であるユーザ情報が設定される。ユーザ情報群テーブル21に記憶されるユーザ情報は、上述した第1ユーザ情報である。図4は、ユーザ情報群テーブル21に記憶されるユーザ情報群Dの一例を示す図である。
図4に示すように、ユーザ情報群テーブル21は、「ユーザID」、「サイコグラフィック属性」、「デモグラフィック属性」、および「アクセス履歴」などの情報が関連付けられた情報である。
「ユーザID」は、ユーザUの識別情報であり、図4に示す例では、ユーザU1、U2、U3、U4のユーザIDとして「U1001」、「U1002」、「U1003」、「U1004」が設定される。かかるユーザIDは、情報処理装置1を利用するサービスに対するユーザのアカウントである。なお、ユーザIDは、ユーザUを識別する情報であればよく、ユーザUが使用する端末装置3の識別情報をユーザIDとしてもよい。例えば、ユーザIDは、端末装置3と情報処理装置1との間で送受信されるHTTP(Hypertext Transfer Protocol)クッキーで特定される識別情報であってもよい。
「サイコグラフィック属性」は、ユーザUの価値観、ライフスタイル、性格、嗜好などを示す情報である。かかる「サイコグラフィック属性」は、例えば、「車」、「旅行」などの属性要素に分類される。図4に示す例では、属性要素毎に、ユーザUの嗜好が相対的に高い場合に「1」が記憶され、それ以外の場合には「0」が記憶される。また、「サイコグラフィック属性」は、図4に示した属性要素の例に限られず、経済、政治、野球、サッカー、その他スポーツ、スイーツ、パソコン、白物家電、家具など様々な属性要素が含まれてもよい。なお、属性要素の情報は、0と1の2段階に限定されず、3段階以上の値であってもよい。
「デモグラフィック属性」は、人口統計学的なユーザUの属性情報を示す。かかる「デモグラフィック属性」は、例えば、ユーザUの「性別」、「年齢」などの属性要素に分類される。「性別」には、ユーザUが女性である場合には「1」が記憶され、ユーザUが男性である場合には「2」が記憶される。また、「年齢」には、ユーザUの年齢が記憶される。なお、「デモグラフィック属性」は、図4に示した属性要素の例に限られず、ユーザUの職業、家族構成、年収、住所、出身地、学歴など様々な属性要素が含まれてもよい。
「アクセス履歴」は、端末装置3のユーザが情報処理装置1から提供されるサービスを利用する際に情報処理装置1が端末装置3から取得するアクセス情報や行動履歴情報を含む。アクセス情報には、「日時」、および「ブラウザ」などの情報を含む。「日時」は、端末装置3からアクセスされた日時を示す。言い換えれば、「日時」は、情報処理装置1によって提供されるサービスが端末装置3に利用された日時を示す。「ブラウザ」は、端末装置3が使用しているブラウザの情報であり、「BR01(8.1)」など、ブラウザの名称である「BR01」と、バージョン情報である「8.1」との組合せにより表される。
また、アクセス情報には、「時差情報」、「ルート情報」、「OS」、「プラグイン」、「IPアドレス」なども含まれる。「時差情報」は、端末装置3から送信された情報と、情報処理装置1が受信した情報との時差に関する情報を示す。「ルート情報」は、端末装置3から送信された情報が情報処理装置1に到達するまでのルートに関する情報を示す。「ルート情報」は、情報処理装置1と端末装置3との間の通信に使用されたルータやプロキシサーバを識別する情報などを含む。
「OS」は、端末装置3が使用しているOS(Operating System)の情報であり、OSの名称およびバージョン名を含む。「プラグイン」は、ブラウザに組み込まれているプラグインの情報(例えば、プラグインの名称等の識別情報)を示す。 「IPアドレス」は、端末装置3のIP(Internet Protocol)アドレスを示す。
また、行動履歴情報には、端末装置3のユーザUが情報処理装置1に対して行った行動の履歴を含む。例えば、行動履歴情報には、端末装置3からアクセスされたページのURLやユーザUが購入した商品やサービスの履歴を含む。
ユーザ情報群テーブル22には、複数のサーバ装置2から取得された複数のユーザ情報群Dの情報が設定される。複数のユーザ情報群Dの情報は、例えば、ユーザ情報群テーブル22に設定される。図5は、第1の実施形態に係るユーザ情報群テーブル22の一例を示す図である。図5に示すように、ユーザ情報群テーブル22は、「事業者ID」、「ユーザID」、「属性」、および「アクセス履歴」などの複数のアクセス要素が関連付けられた情報である。
「事業者ID」は、事業者Cを識別するための情報であり、図5に示す例では、事業者ID「C102」は、事業者C2の事業者IDであり、事業者ID「C103」は、事業者C3の事業者IDである。なお、事業者C1の事業者IDは、「C101」である。
「属性」は、ユーザUの属性を示す情報であり、例えば、図4に示す例と同様に、サイコグラフィック属性やデモグラフィック属性などが含まれる。また、「アクセス履歴」は、図4に示す例と同様に端末装置3のユーザUがサーバ装置2から提供されるサービスを利用する際にサーバ装置2が端末装置3から取得するアクセス情報や行動履歴情報を含む。
「ユーザID」、「属性」、および「アクセス履歴」は、サーバ装置2で管理され生成される情報であり、各事業者Cのユーザ情報群Dは事業者C間で異なる。例えば、「ユーザID」は事業者C間で異なる識別情報が割り当てられ、「属性」に含まれる属性要素は、事業者Cで同じであってもよい。
なお、ユーザ情報群テーブル22は、事業者Cのユーザ情報毎に設けてもよい。また、ユーザ情報群テーブル22に含まれるユーザ情報群Dは、制御部12による後述の紐付け処理に用いられた後に制御部12によってユーザ情報群テーブル22から削除されてもよい。
比較候補テーブル23は、制御部12によって決定された比較候補を示す情報を含む。図6は、第1の実施形態に係る比較候補テーブル23の一例を示す図である。図6に示すように、比較候補テーブル23には、「事業者ID」、「事業種別」、および「比較候補」などの情報が関連付けられた情報が含まれる。
「事業者ID」は、事業者Cの事業者IDであり、「事業種別」は、事業者Cの事業種別を示す情報であり、「比較候補」は、複数の第2要素のうち紐付処理で用いる第2要素である比較候補を示す情報である。
紐付情報テーブル24は、制御部12による事業者C間のユーザ情報の紐付け結果を示す紐付情報を含む。図7は、第1の実施形態に係る紐付情報テーブル24の一例を示す図である。図7に示すように、紐付情報テーブル24は、「第1事業者ID」、「第2事業者ID」、「第1事業者のユーザID」、および「第2事業者のユーザID」などの情報が関連付けられた情報である。
「第1事業者ID」および「第2事業者ID」は、ユーザ情報が紐付けされる2つの事業者Cの事業者IDである。「第1事業者のユーザID」は、ユーザ情報が紐付けされる2つの事業者Cの一方の事業者Cのユーザ情報に含まれるユーザIDであり、「第2事業者のユーザID」は、ユーザ情報が紐付けされる2つの事業者Cの他方の事業者Cのユーザ情報に含まれるユーザIDである。
図7に示す紐付情報テーブル24では、事業者ID「C101」を有する事業者C1と事業者ID「C102」を有する事業者C2とのユーザ情報の紐付け結果が含まれている。紐付け結果は、ユーザIDの紐付けで行われる。すなわち、事業者C1のユーザ情報に含まれるユーザIDと、事業者C2のユーザ情報に含まれるユーザIDとが関連付けられて紐付けられる。
例えば、図7に示す例では、ユーザID「U1001」とユーザID「U2002」とが紐付けられ、ユーザID「U1002」とユーザID「U2032」とが紐付けられ、ユーザID「U1003」とユーザID「U2028」とが紐付けられる。したがって、図7に示す例では、ユーザID「U1001」のユーザ情報がユーザID「U2002」のユーザ情報に紐付けられており、ユーザID「U1002」のユーザ情報がユーザID「U2032」のユーザ情報に紐付けられている。また、ユーザID「U1003」のユーザ情報がユーザID「U2028」のユーザ情報に紐付けられている。
〔1.3.3.制御部12〕
制御部12は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。制御部12は、例えば、CPU、ROM、RAM、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。制御部12は、サービス提供部30と、情報取得部31と、決定部32と、紐付部33と、情報出力部34とを備える。かかるサービス提供部30、情報取得部31、決定部32、紐付部33、および情報出力部34の機能は、例えば、制御部12のCPUが制御部12のROMに記憶されているプログラムを読み出して実行することにより実現される。
なお、サービス提供部30、情報取得部31、決定部32、紐付部33、および情報出力部34は、それぞれ一部または全部がASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。
〔1.3.3.1.サービス提供部30〕
サービス提供部30は、端末装置3のユーザUにサービスを提供する。サービス提供部30は、端末装置3からの要求に応じてサービス情報DB20から情報を取得して、端末装置3へ送信することで、端末装置3のユーザUにサービスを提供することができる。
例えば、サービス提供部30は、サービスに用いる商品の情報などをサービス情報DB20から取得して端末装置3へ送信したり、動画コンテンツや音楽コンテンツなどをサービス情報DB20から取得して端末装置3へ送信したりすることができる。
また、サービス提供部30は、端末装置3へのサービスの提供に際して端末装置3から取得される上述したユーザ情報をユーザ情報群テーブル21に記憶する。例えば、サービス提供部30は、端末装置3から送信される情報に基づいて、アクセス履歴をユーザ情報群テーブル21に記憶することができる。
また、サービス提供部30は、情報処理装置1が提供するサービスをユーザUが利用するために入力したアンケートの結果に基づいて、サイコグラフィック属性を判定し、ユーザ情報群テーブル21に設定することができる。また、サービス提供部30は、上述した行動履歴情報に基づき、サイコグラフィック属性を判定し、ユーザ情報群テーブル21に設定することもできる。また、サービス提供部30は、情報処理装置1が提供するサービスをユーザUが利用するために入力したユーザ情報(例えば、氏名、年齢、住所)などを端末装置3から取得し、ユーザ情報群テーブル21に設定することができる。
〔1.3.3.2.情報取得部31〕
情報取得部31は、サーバ装置2からユーザ情報を取得してユーザ情報群テーブル22に設定する。例えば、情報取得部31は、サーバ装置21から第2ユーザ情報群D2の情報を取得し、第2ユーザ情報群D2の情報をユーザ情報群テーブル22に設定することができる。また、情報取得部31は、サーバ装置22からユーザ情報群D3の情報を取得し、ユーザ情報群D3の情報をユーザ情報群テーブル22に設定することができる。
サーバ装置21は、サービスの提供によって第2ユーザ情報群D2のユーザ情報を更新した場合、第2ユーザ情報群D2に含まれるユーザ情報の更新内容を示す更新情報を情報処理装置1へ送信する。情報取得部31は、サーバ装置21から取得した更新情報に基づき、第2ユーザ情報群D2を更新することができる。
同様に、サーバ装置22は、サービスの提供によってユーザ情報群D3のユーザ情報を更新した場合、ユーザ情報群D3に含まれるユーザ情報の更新内容を示す更新情報を情報処理装置1へ送信する。情報取得部31は、サーバ装置22から取得した更新情報に基づき、ユーザ情報群D3を更新することができる。
情報取得部31は、サーバ装置2からユーザ情報の紐付けを要求する紐付要求を示す情報を取得する。例えば、サーバ装置21は、事業者C1のユーザ情報と事業者C2のユーザ情報との紐付けを要求する紐付要求を行い、サーバ装置22は、事業者C1のユーザ情報と事業者C3のユーザ情報との紐付けを要求する紐付要求を行うことができる。
サーバ装置21は、第2ユーザ情報群D2に含まれる複数のユーザ情報のうち、決定部32による比較要素の決定のために必要な数(以下、初期ユーザ数)分のユーザ情報を情報処理装置1へ送信する。その後、サーバ装置21は、情報処理装置1から比較要素を示す情報を取得した後、第2ユーザ情報群D2に含まれるユーザ情報を構成する複数の要素のうち比較要素以外の要素を除外したユーザ情報を情報処理装置1へ送信する。
同様に、サーバ装置22は、ユーザ情報群D3に含まれる複数のユーザ情報のうち、初期ユーザ数分のユーザ情報を情報処理装置1へ送信する。その後、サーバ装置22は、情報処理装置1から比較要素を示す情報を取得した後、ユーザ情報群D3に含まれるユーザ情報を構成する複数の要素のうち比較要素以外の要素を除外したユーザ情報を情報処理装置1へ送信する。
なお、サーバ装置2は、情報処理装置1で比較要素が決定されるか否かにかかわらず、ユーザ情報群D3に含まれるユーザ情報を構成する全ての要素を含むユーザ情報を情報処理装置1へ送信することもできる。
〔1.3.3.3.決定部32〕
決定部32は、事業者C1の第1ユーザ情報群D1に含まれる複数の第1ユーザ情報の一部または全部と、事業者C1以外の事業者Cのユーザ情報群Dに含まれるユーザ情報(以下、第2ユーザ情報と記載する)の一部とに基づいて、紐付部33で比較に用いる比較候補を決定する。
具体的には、決定部32は、第1ユーザ情報を構成する複数の要素(以下、第1要素と記載する場合がある)と、第2ユーザ情報を構成する複数の要素(以下、第2要素と記載する場合がある)とを比較する比較処理を行う。
そして、決定部32は、かかる比較処理の結果に基づき、複数の第1要素のうち比較候補の1以上の第1要素と、複数の第2要素のうち比較候補の1以上の第2要素とをそれぞれ決定する。決定部32は、決定した比較候補の情報を比較候補テーブル23に設定する。
ここでは、第1ユーザ情報群D1のユーザ情報を構成する複数の第1要素と第2ユーザ情報群D2のユーザ情報を構成する複数の第2要素とは、一対一で対応するものであるとし、第1要素の数および第2要素の数は共にp個であるとする。すなわち、第1要素と第2要素とのペア(以下、要素ペアと記載する)がp個あるものとする。決定部32は、各要素ペアに含まれる第1要素と第2要素とを比較する。
第1要素と第2要素とが対応するとは、第1要素と第2要素とが比較できることを意味し、例えば、第1要素と第2要素とが同一または類似することを意味する。決定部32は、第1要素と第2要素とを対応させるために、複数の第2要素を一つの第2要素として扱うことができ、複数の第1要素を一つの第1要素として扱うことができる。
なお、第1要素の数と第2要素の数は、p個に限られず、また、第1要素の数と第2要素の数とは互いに異なる数であってもよい。決定部32は、第1要素の数と第2要素の数とは互いに異なる数である場合、互いに対応する第1要素と第2要素とのペアのみを用い、残りの要素は用いないことができる。
決定部32は、複数の第1要素を一つの第1要素として第2要素と対応させることができ、複数の第2要素を一つの第2要素として第1要素と対応させることができる。例えば、決定部32は、2つの第2要素である「海外旅行」および「国内旅行」を、1つの第2要素である「旅行」として扱うことができる。
決定部32は、各要素ペアに含まれる第1要素と第2要素とを比較して、ユーザ情報間の類似度Rdを判定することができる。例えば、決定部32は、下記式(1)の演算によって、ユーザ情報間の類似度Rdを判定することができる。下記式(1)において、x1
iは、i番目(例えば、1≦i≦p)の要素ペアの第1要素の情報であり、x2
iは、i番目の要素ペアの第2要素の情報である。下記式(1)において、(x1
i−x2
i)
2は、非類似性のスコアと呼ぶこともできる。
例えば、事業者C1が管理するユーザ情報と事業者C2が管理するユーザ情報とに同一の属性要素「旅行」があり、共に「1」が設定されており、属性要素「旅行」が比較する1番目の属性要素であるとする。この場合、x11=x21=1であり、(x11−x21)2=0である。また、事業者C1が管理するユーザ情報の属性要素「旅行」が「1」であり、事業者C2が管理するユーザ情報の属性要素「旅行」が「0」であるとする。この場合、x11=1、およびx21=0であり、(x11−x21)2=1である。
また、事業者C1が管理するユーザ情報に属性要素「旅行」があり、事業者C2が管理するユーザ情報に属性要素「国内旅行」および「海外旅行」があり、属性要素「旅行」が「1」であり、属性要素「国内旅行」および「海外旅行」の少なくとも一方が「1」であるとする。この場合、決定部32は、x11=x21=1とすることができる。
なお、属性要素の情報が2段階の値(1と0)でなく、3段階以上の値である場合も同様の演算を行って非類似性のスコアを求めることができる。また、住所、年齢、および氏名などの属性要素の情報は、予め設定された基準に基づいて比較され、(x1i−x2i)2に対応する値が決定部32によって演算される。例えば、属性要素が住所である場合、住所が近いほど非類似性のスコアが0に近づくように決定部32によって演算される。
なお、類似度Rdの判定方法は上述した例に限定されない。例えば、決定部32は、上記式(1)の右辺を比較される要素(以下、比較要素と記載する場合がある)の数で除算することで、類似度Rdを算出することもできる。また、決定部32は、要素毎に非類似性のスコアに重み付けを行って合計した値の平方根を演算し、かかる平方根の逆数を類似度Rdとすることができる。
また、決定部32は、比較要素毎の類似性のスコアの合計値を算出し、かかる合計値に基づいて、類似度Rdを算出することもできる。決定部32は、比較要素毎の類似性のスコアを、要素ペアの第1要素と第2要素とが類似するほど大きくする。決定部32は、例えば、比較要素毎の類似性のスコアの合計値を算出し、かかる合計値の平方根を比較要素の数で除算することで、ユーザ情報間の類似度Rdを算出することができる。
また、決定部32は、比較要素の類似性のスコアに重み付けをして積算することで合計値を算出し、かかる合計値の平方根を、比較要素の数に応じた係数を比較要素の数に乗算した値によって、除算することで、ユーザ情報間の類似度を算出することもできる。
決定部32は、ユーザ情報間の類似度Rdが閾値Th1以上であるか否かを判定し、類似度Rdが閾値Th1以上であるユーザ情報のペアである仮紐付ペアの数をカウントするカウント処理を行う。かかる仮紐付ペアは、紐付部33で比較要素の全てを用いた場合に紐付されるユーザ情報のペアである。以下、互いに対応する第1要素と第2要素との全てを用いて求められる仮紐付ペアの数を基準仮紐付ペア数と記載する。
次に、決定部32は、比較要素の数を1つ減らして、上述した比較処理、判定処理、およびカウント処理を行い、仮紐付ペアの数を求める。以下、比較要素の数を1つ以上減らして求められる仮紐付ペアの数を比較ペア数と記載する。そして、決定部32は、比較ペア数の基準仮紐付ペア数に対する比率Rpを演算する。決定部32は、例えば、基準仮紐付ペア数がq個(q≦p)であり、比較ペア数がq−2個である場合、Rc=q/(q−2)である。
基準仮紐付ペア数は、互いに対応する第1要素の数と第2要素の全てを用いた場合の仮紐付ペアの数であり、比較ペア数の基準仮紐付ペア数に対する比率Rcは、基準仮紐付ペア数に対する成功確率Rsということができる。
決定部32は、比較要素のp個の要素のうち比較処理に用いない要素を変更していきながら、上述した比較処理、判定処理、およびカウント処理を行い、比較要素の組み合わせまたは比較要素毎の成功確率Rsを求める。そして、決定部32は、成功確率Rsが小さい要素を類似度Rdに影響が少ない要素として判定し、p個の要素から類似度Rdに影響が少ない1以上の要素を除外して得られる複数の要素を比較候補として決定することができる。
また、決定部32は、成功確率Rsが所定範囲Rth1(例えば、85%〜90%の範囲)になるまで、比較処理に用いる要素を増加させることで、p個の要素から複数の要素を比較候補として決定することができる。例えば、決定部32は、要素を追加する度に成功確率Rsを判定し、成功確率Rsが所定範囲Rth1になった場合の比較に用いた1以上の要素を比較候補として決定することができる。この場合、決定部32は、成功確率Rsが高い要素から順に比較処理に用いる要素として追加することができる。
また、決定部32は、比較ペア数の基準仮紐付ペア数に対する減少率Rrを演算することもできる。決定部32は、例えば、基準仮紐付ペア数がq個であり、比較ペア数がq−2個である場合、Rr={1−q/(q−2)}である。
決定部32は、q個の要素ペアのうち比較処理に用いない要素ペアを変更していきながら、各要素ペアについて減少率Rrを判定することができる。決定部32は、減少率Rrが所定範囲Rth2(例えば、10%〜15%の範囲)以下である場合に、比較処理に用いていない要素を成功確率Rsに対して影響が少ない要素ペアとして判定することができる。
また、決定部32は、仮紐付ペアの減少率Rrが所定範囲Rth2内になるまで、減少率Rrが少ない要素から順に比較処理の対象から除外していきながら、比較処理および判定処理を行う。情報処理装置1は、仮紐付ペアの減少率Rrが所定範囲Rth2内になった場合に比較に用いた1以上の要素を比較候補として決定することができる。なお、決定部32は、仮紐付ペアの減少率Rrが閾値Th2以下である1以上の要素以外を比較候補として判定することもできる。
このように、決定部32は、第1要素および第2要素をそれぞれ増加または減少させながら繰り返し比較した結果に基づいて、比較候補を決定することができる。
また、決定部32は、比較候補テーブル23に基づき、他の事業者Cに設定された比較候補を示す情報に基づいて、上述した比較処理および判定処理を行うことなく、比較候補を決定することもできる。例えば、決定部32は比較候補テーブル23に基づき、同一または類似の事業種別を有する事業者Cのユーザ情報群Dに対して同一の比較候補を設定することができる。
例えば、図6に示すように、比較候補テーブル23が設定され、かかる比較候補テーブル23において、事業者ID「C103」の事業者C2に比較候補が設定されているとする。この場合、事業者ID「C102」の事業者C2の事業種別と、事業者ID「C103」の事業者C3の事業種別とが共に、自動車製造である。したがって、決定部32は、事業者ID「C103」に関連付けられた比較候補を、事業者ID「C102」の事業者C2の比較候補として決定することができる。
また、決定部32は、同一または類似の事業種別を有する事業者Cに対して同一の比較候補を設定することに代えて、同一または類似の種別のサービスのユーザ情報群Dに対して同一の比較候補を設定することができる。すなわち、決定部32は、事業者Cの事業種別ではなく、独立にユーザ情報群Dが管理されるサービスの種別毎に同様の比較候補を設定することができる。
なお、決定部32は、同一または類似の事業種別を有する事業者Cのユーザ情報群D間で同一の比較候補を設定できない場合、一方のユーザ情報群Dに設定された複数の比較候補のうち共通の要素のみを他方のユーザ情報群の比較候補とすることもできる。このことは、同一または類似の種別のサービスについても同様である。
また、決定部32は、過去に決定した比較候補を優先して増加していきながら、成功確率Rsが所定範囲Rth1になった場合の比較に用いた1以上の要素を比較候補として決定することができる。また、決定部32は、過去に決定した比較候補を優先して増加していきながら仮紐付ペアの減少率Rrが所定範囲Rth2内になった場合に比較に用いた1以上の要素を比較候補として決定することができる。
なお、比較処理および判定処理は、紐付部33で行うこともでき、この場合、決定部32は、紐付部33で判定された類似度Rdに基づいて、比較候補を決定することができる。
〔1.3.3.4.紐付部33〕
紐付部33は、第1ユーザ情報群D1の複数の第1ユーザ情報をユーザ情報群テーブル21から取得し、第2ユーザ情報群D2の複数の第2ユーザ情報をユーザ情報群テーブル22から取得する。また、紐付部33は、比較候補テーブル23から事業者C1,C2に関連付けられた比較候補の情報を取得する。
そして、紐付部33は、事業者C1の第1ユーザ情報群D1の複数の第1ユーザ情報と、事業者C1以外の事業者Cのユーザ情報群Dに含まれる第2ユーザ情報との類似度Rdを、比較候補テーブル23に設定された比較候補を用いて判定し、かかる判定結果に基づいて、第1ユーザ情報と第2ユーザ情報との紐付けを行う紐付処理を行う。
具体的には、紐付部33は、第1ユーザ情報を構成する複数の第1要素のうち比較候補の1以上の第1要素の情報と第2ユーザ情報を構成する複数の第2要素のうち比較候補の1以上の第2要素の情報との比較に基づき、第1ユーザ情報と第2ユーザ情報とを紐付ける紐付処理を行う。以下、互いに対応する第1要素の比較候補と第2要素の比較候補との要素ペアを比較候補ペアとする。
紐付部33は、決定部32における比較処理と同様に、比較候補ペア毎に、比較候補ペアに含まれる第1要素と第2要素とを比較し、比較候補ペア毎の類似性のスコアを判定する。そして、紐付部33は、決定部32における判定処理と同様に、比較候補ペアの類似性のスコアの合計値に基づいて、第1ユーザ情報と第2ユーザ情報との間の類似度Rdを判定する。
紐付部33は、上述した式(1)の演算によって、ユーザ情報間の類似度Rdを算出することができる。また、紐付部33は、式(1)の演算以外の上述した演算などによって、ユーザ情報間の類似度Rdを算出することもできる。
紐付部33は、第1ユーザ情報と第2ユーザ情報との類似度Rdが閾値Th1以上であるか否かを判定し、類似度Rdが閾値Th1以上である第1ユーザ情報と第2ユーザ情報とを紐付ける。かかる紐付けは、ユーザ情報に含まれるユーザID同士を関連付ける紐付情報を生成することによって行われる。紐付部33は、生成した紐付情報を紐付情報テーブル24に設定する。紐付情報には、紐付けられる第1ユーザ情報のユーザIDと第2ユーザ情報のユーザIDとが含まれる。
また、紐付部33は、決定処理で決定された複数の比較候補のうち、成功確率Rsが相対的に高い1以上の比較候補を用いて上述した比較処理を行い、第1ユーザ情報と第2ユーザ情報との類似度Rdが閾値Th3(<Th1)以上であるか否かを判定することができる。紐付部33は、類似度Rdが閾値Th3未満である第1ユーザ情報と第2ユーザ情報とを紐付候補のユーザ情報から除外する除外処理を行うことができる。
次に、紐付部33は、決定処理で決定された全ての比較候補を用いて、上述した除外処理を行った後の第1ユーザ情報と第2ユーザ情報との紐付け処理を行う。これにより、成功確率Rsが相対的に高い比較候補によって紐付候補のユーザ情報を絞った上で紐付処理を行うことができるため、紐付処理の処理負荷を軽減することができる。
また、紐付部33は、成功確率Rsが高いものから順に1つ以上の比較候補を繰り返し追加していき、紐付候補のユーザ情報を段階的に絞り込むこともできる。紐付部33は、紐付候補のユーザ情報を絞り込む毎に閾値Th3を大きくしていく。紐付部33は、2段階または3段階以上の絞り込みを行った後、紐付け処理を行うことができる。
例えば、第2段階の絞り込みを行う場合、紐付部33は、閾値Th3として、閾値Th31,Th32(Th31<Th32<Th3)を用いる。紐付部33は、成功確率Rsが最も高い1以上の比較候補を用いて比較処理を行い、類似度Rdが閾値Th31未満である第1ユーザ情報と第2ユーザ情報を紐付候補のユーザ情報から除外する。
次に、紐付部33は、類似度Rdが次に高い1以上の比較候補を追加し、成功確率Rsが最も高い1以上の比較候補と次に高い1以上の比較候補とを用いて、紐付候補から除外されていない第1ユーザ情報と第2ユーザ情報との比較処理を行う。そして、紐付部33は、類似度Rdが閾値Th32未満である第1ユーザ情報と第2ユーザ情報を紐付候補のユーザ情報から除外する。紐付部33は、このように2段階で絞り込んだ紐付候補の第1ユーザ情報と第2ユーザ情報とに対して紐付け処理を行うことができる。
このように、紐付部33は、ユーザ情報を構成する複数の要素のうち一部の要素のみを紐付処理に用いることから、紐付処理の負荷を軽減することができる。また、事業者C2は、一部の第2ユーザ情報に限り、第2ユーザ情報を構成する全ての要素を開示するだけでよく、一旦、比較候補の要素が決定された後は、比較候補の要素のみ開示することができる。したがって、事業者C1以外の事業者Cが情報処理装置1へ送信するユーザ情報には一部が含まれていないため、セキュリティを向上させ、第2ユーザ情報の送信処理などにかかるコストを抑制することができる。
〔1.3.3.5.情報出力部34〕
情報出力部34は、サーバ装置2からの紐付要求に応じた紐付情報およびユーザ情報群Dの情報を記憶部11から取得し、要求元のサーバ装置2へ送信することができる。
例えば、サーバ装置21からの紐付要求が事業者C1のユーザ情報と事業者C2のユーザ情報との紐付けを要求する紐付要求であるとする。この場合、情報出力部34は、事業者C1のユーザ情報と事業者C2のユーザ情報とを紐付ける紐付情報と、ユーザ情報群D1の情報とをサーバ装置21へ送信することができる。
また、情報出力部34は、紐付けした事業者C1のユーザ情報と事業者C2のユーザ情報とを統合したユーザ情報である統合ユーザ情報を生成し、統合ユーザ情報をサーバ装置21へ送信することができる。統合ユーザ情報は、例えば、属性要素のみを含むものであってもよく、属性要素とアクセス要素とを共に含むものであってもよい。
また、情報出力部34は、紐付要求を行ったサーバ装置2からユーザIDを含むユーザ情報送信要求が情報取得部31により受信された場合に、ユーザIDおよびユーザ情報を送信することができる。情報出力部34は、ユーザ情報送信要求に応じたユーザ情報を記憶部11から取得し、取得したユーザ情報をサーバ装置2へ送信することができる。
例えば、サーバ装置21からユーザID「U2002」に対応するユーザ情報を保有する事業者C1のユーザ情報の送信を要求する情報送信要求が情報取得部31により受信されたとする。この場合、情報出力部34は、紐付情報テーブル24に基づき、ユーザID「U2002」に対応するユーザ情報を保有する事業者C1のユーザ情報のユーザIDが「U1001」であると判定する。
そして、情報出力部34は、ユーザ情報群テーブル22からユーザID「U1001」のユーザ情報を取得し、取得したユーザID「U1001」のユーザ情報をサーバ装置21へ送信する。なお、情報出力部34は、ユーザID「U1001」のユーザ情報とユーザID「U2002」のユーザ情報とを統合した統合ユーザ情報をサーバ装置21へ送信することもできる。
また、情報出力部34は、紐付情報が追加される毎に、紐付情報に含まれるユーザIDを含むユーザ情報をサーバ装置2へ送信することもできる。また、情報出力部34は、紐付情報に含まれるユーザIDを含むユーザ情報が更新される度に、更新されたユーザ情報をサーバ装置2へ送信することもできる。
なお、情報出力部34は、事業者C1の第1ユーザ情報のうち比較候補の要素のみをサーバ装置2へ送信することができる。これにより、事業者C1は、比較候補の要素の情報のみ開示することができるため、したがって、事業者C1は、事業者C2に対して、第1ユーザ情報を構成する全ての要素を開示しなくてもよく、セキュリティを向上させ、第1ユーザ情報の送信処理などにかかるコストを抑制することができる。
〔1.4.情報処理装置1の処理フロー〕
図8を用いて、情報処理装置1における情報処理の手順の一例について説明する。図8は、情報処理装置1における情報処理の流れの一例を示すフローチャートである。かかる情報処理は、繰り返し実行される処理である。
図8に示すように、制御部12は、端末装置3からサービス要求があるか否かを判定する(ステップS10)。制御部12は、サービス要求があると判定した場合(ステップS10:Yes)、サービス要求に応じた情報や処理を行ってサービスの提供を行う(ステップS11)。
ステップS11の処理が終了した場合、またはサービス要求がないと判定した場合(ステップS10:No)、制御部12は、端末装置3からユーザ情報を取得したか否かを判定する(ステップS12)。ユーザ情報を取得したと判定した場合(ステップS12:Yes)、制御部12は、記憶部11に記憶されたユーザ情報群テーブル21を更新する(ステップS13)。
ステップS13の処理が終了した場合、またはユーザ情報を取得していないと判定した場合(ステップS12:No)、制御部12は、サーバ装置2から紐付要求があるか否かを判定する(ステップS14)。紐付要求があると判定した場合(ステップS14:Yes)、制御部12は、比較候補の決定処理を行う(ステップS15)。かかるステップS15の処理は、図9に示すステップS20〜S23の処理であり、後述する。
制御部12は、ステップS15において決定した1以上の比較候補を用いて、第1ユーザ情報と第2ユーザ情報との紐付けを行う紐付処理を行う(ステップS16)。かかるステップS16の処理は、図10に示すステップS30,S31の処理であり、後述する。
制御部12は、紐付要求がないと判定した場合(ステップS14:No)、またはステップS16の処理が終了した場合、サーバ装置2から情報送信要求があるか否かを判定する(ステップS17)。制御部12は、情報送信要求があると判定した場合(ステップS17:Yes)、情報送信要求に応じた情報をサーバ装置2へ送信する(ステップS18)。ステップS18の処理が終了した場合、または情報送信要求がないと判定した場合(ステップS17:No)、制御部12は、図8に示す処理を終了する。
図9は、図8に示すステップS15の比較候補の決定処理の流れを示すフローチャートである。図9に示すように、制御部12は、比較候補を決定するユーザ情報群Dを管理する事業者Cの事業種別と同一または類似の事業種別の事業者Cに関連付けられた比較候補の情報が、比較候補テーブル23に含まれているか否かを判定する(ステップS20)。制御部12は、同一または類似の事業種別の比較候補の情報が比較候補テーブル23に含まれていないと判定した場合(ステップS20:No)、各要素の成功確率Rsを判定する(ステップS21)。
次に、制御部12は、比較候補を決定する(ステップS22)。具体的には、制御部12は、ステップS21で判定した成功確率Rsに基づいて比較候補を決定する。ステップS22の処理が終了した場合、制御部12は、比較候補の情報を比較候補テーブル23に設定して比較候補テーブル23を更新し(ステップS23)、図9に示す処理を終了する。
例えば、制御部12は、ステップS22で決定した比較候補の情報を比較候補テーブル23に設定する。また、制御部12は、同一または類似の事業種別の比較候補の情報が比較候補テーブル23に含まれていると判定した場合(ステップS20:Yes)、比較候補テーブル23に設定されている同一または類似の事業種別の比較候補を、比較候補として比較候補テーブル23に設定する。
図10は、図8に示すステップS16の紐付処理の流れを示すフローチャートである。図10に示すように、制御部12は、比較候補を順次増加させながら紐付候補を絞り込む(ステップS30)。そして、制御部12は、全ての比較候補を用いて、ステップS30で絞り込んだユーザ情報の紐付けを行い(ステップS31)、図10に示す処理を終了する。
〔2.第2の実施形態〕
〔2.1.情報処理〕
第1の実施形態では、絞り込んだ第2要素を紐付条件として決定して絞り込んだ第2要素で紐付処理を行うのに対して、第2の実施形態では、絞り込んだ第2ユーザ情報を紐付条件として決定して絞り込んだ第2ユーザ情報で紐付処理を行う点で異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1と異なる点を中心に説明する。
図11を用いて、第2の実施形態に係る情報処理について説明する。図11は、実施形態に係る情報処理の説明図であり、第2の実施形態においては、情報処理装置1Aによって情報処理が実行される。
まず、情報処理装置1Aは、事業者C1の装置から第1ユーザ情報群D1の情報を取得し、事業者C2の装置から第2ユーザ情報群D2の情報を取得する(ステップS1)。
次に、情報処理装置1Aは、第1ユーザ情報群D1に含まれる複数の第1ユーザ情報のうち一部(例えば、200個)の第1ユーザ情報と、第2ユーザ情報群D2に含まれる複数の第2ユーザ情報のうち一部(例えば、500個)の第2ユーザ情報とを判定候補として、同一ユーザのユーザ情報であるか否かの判定処理を行う(ステップS2)。
かかる判定処理において、情報処理装置1Aは、情報処理装置1の処理と同様に、一部の第1ユーザ情報のそれぞれを、一部の第2ユーザ情報と比較する。具体的には、情報処理装置1Aは、第1ユーザ情報に含まれる複数の第1要素と、第2ユーザ情報に含まれる複数の第2要素とを要素同士で比較し、第1ユーザ情報と第2ユーザ情報との類似度Rdを判定する。そして、情報処理装置1Aは、類似度Rdが閾値Th1以上である第1ユーザ情報と第2ユーザ情報とを同一ユーザのユーザ情報であると判定する。
次に、情報処理装置1Aは、類似度Rdを正解ラベルとして、第1ユーザ情報を構成する複数の第1要素を素性とした紐付可能性モデルを生成する。そして、情報処理装置1Aは、紐付可能性モデルに基づいて、後述する紐付処理で比較に用いる第1ユーザ情報である紐付処理の候補(以下、紐付候補と記載する場合がある)を決定する(ステップS3A)。紐付可能性モデルは、例えば、線形回帰モデルやサポートベクターマシンなどの機械学習モデルであり、紐付可能性の度合いを演算することができる。
情報処理装置1Aは、第1ユーザ情報群D1に含まれる複数の第1ユーザ情報のうち紐付可能性の度合いが上位の所定割合(例えば、20%)の第1ユーザ情報を紐付候補として決定することができる。紐付候補は、紐付処理に用いる第1ユーザ情報を規定する紐付条件である。
情報処理装置1Aは、ステップS3Aで決定した紐付処理の候補である第1ユーザ情報と、第2ユーザ情報群D2に含まれる複数の第2ユーザ情報との紐付処理を行う(ステップS4)。
このように、情報処理装置1Aは、紐付可能性の度合いが高い第1ユーザ情報の一部のみを紐付処理に用いることから、情報処理装置1Aにおける処理負荷を軽減することができる。また、紐付可能性モデルによって複数の第1要素のうち紐付けに有効な第1要素の情報量が多い第1ユーザ情報を優先的に選択して紐付候補とすることができるため、第1ユーザ情報を構成する複数の第1要素のうち紐付けに不要な第1要素に情報量が偏っている第1ユーザ情報を事業者C2へ開示しなくてもよく、セキュリティを向上させ、第1ユーザ情報の送信処理などにかかるコストを抑制することができる。
〔2.2.情報処理装置1A〕
図12は、第2の実施形態に係る情報処理装置1Aの構成例を示す図である。図12に示すように、情報処理装置1Aは、通信部10と、記憶部11と、制御部12A(コントローラ)とを備え、端末装置3のユーザUにオンラインサービスを提供する。通信部10および記憶部11は、第1の実施形態と同様であるため、以下、制御部12Aについて具体的に説明する。
〔2.2.1.制御部12A〕
制御部12Aは、例えば、CPU、ROM、RAM、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。制御部12Aは、例えば、CPU、ROM、RAM、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。制御部12Aは、サービス提供部30と、情報取得部31と、決定部32Aと、紐付部33Aと、情報出力部34とを備える。かかるサービス提供部30、情報取得部31、決定部32A、紐付部33A、および情報出力部34の機能は、例えば、制御部12AのCPUが制御部12AのROMに記憶されているプログラムを読み出して実行することにより実現される。
なお、サービス提供部30、情報取得部31、決定部32A、紐付部33A、および情報出力部34は、それぞれ一部または全部がASICやFPGA等のハードウェアで構成されてもよい。サービス提供部30、情報取得部31、および情報出力部34は、第1の実施形態と同様であるため、以下、決定部32Aおよび紐付部33Aについて具体的に説明する。
〔2.2.1.1.決定部32A〕
決定部32Aは、事業者C1の第1ユーザ情報群D1に含まれる複数の第1ユーザ情報の一部と、事業者C1以外の事業者Cのユーザ情報群Dに含まれるユーザ情報(以下、第2ユーザ情報と記載する)の一部または全部とに基づいて、紐付部33Aで比較に用いる紐付候補を決定する。
具体的には、決定部32Aは、決定部32と同様の処理によって、第1ユーザ情報を構成する複数の第1要素と、第2ユーザ情報を構成する複数の第2要素とを比較する比較処理を行う。そして、決定部32Aは、かる比較処理の結果に基づき、決定部32と同様の処理によって、ユーザ情報間の類似度Rdを判定する。
決定部32Aは、例えば、類似度Rdを正解ラベルとし、第1ユーザ情報を構成する各第1要素を素性として、線形回帰モデルなどの機械学習モデルによる学習を行う。かかる線形回帰モデルなどの学習モデルは、成功可能性モデルとも呼ぶことができる。決定部32Aは、事業者C1のユーザ情報群D1に含まれる各第1ユーザ情報について機械学習モデルを用いた演算を行い、かかる演算結果の上位(例えば、第1ユーザ情報の総数に対して所定割合の数)の第1ユーザ情報を紐付候補として決定することができる。
なお、決定部32Aは、決定部32と同様の処理によって、複数の第1要素のうち比較候補の1以上の第1要素と、複数の第2要素のうち比較候補の1以上の第2要素とをそれぞれ決定することもできる。この場合、決定部32Aは、第1ユーザ情報を構成する複数の第1要素のうち比較候補のみを用いて、機械学習モデルを用いた演算を行うこともできる。これにより、機械学習モデルの演算負荷を軽減することができる。
また、決定部32Aは、1以上の比較候補の情報量に基づいて、1以上の比較候補を決定することができる。例えば、決定部32Aは、事業者C1のユーザ情報群D1に含まれる複数の第1ユーザ情報のうち、各比較候補の情報量が閾値以上である第1ユーザ情報を紐付候補として決定することができる。また、決定部32Aは、ユーザ情報群D1に含まれる複数の第1ユーザ情報のうち、1以上の比較候補の情報量の合計値が閾値以上である第1ユーザ情報を紐付候補として決定することができる。
また、決定部32Aは、比較候補の情報量の合計値が閾値以上である第1ユーザ情報を紐付候補として決定する処理を、比較候補を増加させながら行い、ユーザ情報群D1に含まれる第1ユーザ情報の総数に対して所定割合の数になるまで行うことができる。
〔2.2.1.2.紐付部33A〕
紐付部33Aは、第1ユーザ情報群D1の複数の第1ユーザ情報をユーザ情報群テーブル21から取得する。また、紐付部33Aは、決定部32Aによって決定された複数の紐付候補を決定部32Aから取得する。
そして、紐付部33Aは、紐付部33と同様の処理で、事業者C1の第1ユーザ情報群D1の複数の第1ユーザ情報と、決定部32Aによって決定された複数の紐付候補との類似度Rdを判定し、かかる判定結果に基づいて、第1ユーザ情報と第2ユーザ情報との紐付けを行う紐付処理を行う。
〔2.3.情報処理装置1Aの処理フロー〕
図13および図14を用いて、情報処理装置1Aにおける情報処理の手順の一例について説明する。なお、図8に示すステップS15の処理および図8に示すステップS16の紐付処理以外は第1の実施形態と同様であるため、以下、ステップS15,S16について具体的に説明する。
図13は、第2の実施形態に係る比較候補の決定処理の流れを示すフローチャートである。図13に示すように、制御部12Aは、一部の第1ユーザ情報に基づいて、第1ユーザ情報と第2ユーザ情報との紐付け可能性の度合いを演算するための紐付可能性モデルを生成する(ステップS41)。そして、制御部12Aは、紐付可能性モデルを用いて、複数の第1ユーザ情報のうち紐付可能性の度合いが上位の所定割合(例えば、20%)の第1ユーザ情報を紐付候補として決定する(ステップS42)。
なお、制御部12Aは、ステップS41において、紐付可能性モデルを生成する際に、類似度Rdが閾値Th1以上である第1ユーザ情報と第2ユーザ情報とを同一ユーザのユーザ情報として紐付けることができる。この場合、制御部12Aは、ステップS41で類似度Rdを演算していない残りの第1ユーザ情報について、紐付可能性モデルを用いて紐付可能性の度合いを決定することができる。
図14は、第2の実施形態に係る紐付処理の流れを示すフローチャートである。図14に示すように、制御部12Aは、ステップS41で決定した紐付候補と各第2ユーザ情報とを比較して、類似度Rdを求める(ステップS50)。そして、制御部12Aは、類似度Rdが閾値Th1以上である第1ユーザ情報と第2ユーザ情報とを同一ユーザのユーザ情報であるとして紐付け(ステップS51)、図14に示す処理を終了する。
〔3.変形例〕
上述した実施形態では、情報処理装置1,1Aの制御部12,12Aは、サーバ装置2からの紐付要求があった場合に、紐付処理を行うが、サーバ装置2からの紐付要求がない事業者C間のユーザ情報の紐付処理を行うこともできる。
また、紐付部33,33Aは、情報処理装置1,1Aの処理負荷が所定値以下である場合に、上述した紐付処理を実行することができる。これにより、情報処理装置1の処理負荷が高くなりすぎることを抑制することができる。
また、上述した実施形態では、情報処理装置1,1Aが提供する複数のサービスに対して一つのユーザ情報群Dが用いられる例を示したが、複数のサービスを別々に管理することもできる。この場合、例えば、サービス毎にユーザ情報群Dが管理される。情報処理装置1,1Aの制御部12,12Aは、情報処理装置1におけるサービス毎のユーザ情報群D間において上述した紐付処理を行うこともできる。
また、事業者C1以外の事業者Cは、情報処理装置1へ送信するユーザ情報に含める要素を決定し、決定した要素のみを含むユーザ情報をサーバ装置2から情報処理装置1へ送信することができる。例えば、事業者C2は、デモグラフィック属性の要素を除外した第2ユーザ情報を情報処理装置1へ送信することができる。これにより、事業者C2が事業者C1に開示したくない要素が情報処理装置1へ送信されることを防止できる。
なお、制御部12は、制御部12Aと同様の処理により第2ユーザ情報を絞り込むことができる。すなわち、制御部12は、第2要素を絞り込んで比較要素として決定し、祖母第2ユーザ情報を絞り込んで比較候補として決定することができる。制御部12は、比較候補と第2ユーザ情報との比較を比較要素について行うことができる。
また、制御部12の決定部32は、類似度Rdが閾値Th1以上であると判定した第1ユーザ情報と第2ユーザ情報とを同一ユーザのユーザ情報として判定することができる。この場合、紐付部33は、決定部32で扱われていない残りの第2ユーザ情報を紐付候補して扱うこともできる。
〔4.ハードウェア構成〕
上述した実施形態における情報処理装置1,1Aは、それぞれ例えば図15に示すような構成のコンピュータ200がプログラムを実行することによって実現される。
図15は、プログラムを実行するコンピュータのハードウェア構成の一例を示す図である。コンピュータ200は、CPU201、RAM202、ROM203、HDD(Hard Disk Drive)204、通信インターフェイス(I/F)205、入出力インターフェイス(I/F)206、およびメディアインターフェイス(I/F)207を備える。
CPU201は、ROM203またはHDD204に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM203は、コンピュータ200の起動時にCPU201によって実行されるブートプログラムや、コンピュータ200のハードウェアに依存するプログラム等を格納する。
HDD204は、CPU201によって実行されるプログラムによって使用されるデータ等を格納する。通信インターフェイス205は、通信部10に対応し、ネットワーク4を介して他の機器からデータを受信してCPU201へ送り、CPU201が生成したデータを、ネットワーク4を介して他の機器へ送信する。
CPU201は、入出力インターフェイス206を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU201は、入出力インターフェイス206を介して、入力装置からデータを取得する。また、CPU201は、生成したデータを、入出力インターフェイス206を介して出力装置へ出力する。
メディアインターフェイス207は、記録媒体208に格納されたプログラムまたはデータを読み取り、RAM202を介してCPU201に提供する。CPU201は、当該プログラムを、メディアインターフェイス207を介して記録媒体208からRAM202上にロードし、ロードしたプログラムを実行する。記録媒体208は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
コンピュータ200のCPU201は、RAM202上にロードされたプログラムを実行することにより、上述した制御部12,12Aの各機能を実現する。また、かかる制御部12,12Aは、それぞれ一部または全部がハードウェアのみで構成されてもよい。
コンピュータ200のCPU201は、プログラムを、記録媒体208から読み取って実行するが、他の例として、他の装置から、ネットワーク4を介してこれらのプログラムを取得してもよい。
なお、HDD204は、記憶部11に対応し、記憶部11と同様のデータを記憶する。また、HDD204に代えて、RAM、フラッシュメモリ等の半導体メモリ素子、または、光ディスク等の記憶装置を用いてもよい。
〔5.効果〕
実施形態に係る情報処理装置1,1Aは、記憶部11と、制御部12,12Aとを備える。記憶部11は、複数の第1ユーザ情報を含む第1ユーザ情報群D1の少なくとも一部の情報と、複数の第2ユーザ情報を含む第2ユーザ情報群D2の少なくとも一部の情報とを記憶する。制御部12,12Aは、第1ユーザ情報を構成する複数の第1要素と、第2ユーザ情報を構成する複数の第2要素との比較の結果に基づき、第1ユーザ情報と第2ユーザ情報とを紐付ける紐付条件を決定し、紐付条件に基づいて、第1ユーザ情報と第2ユーザ情報とを紐付ける紐付処理を行う。これにより、情報処理装置1は、例えば、紐付処理を効率的に行うことができる。
また、制御部12は、決定部32と、紐付部33とを備える。決定部32は、第1ユーザ情報を構成する複数の第1要素と、第2ユーザ情報を構成する複数の第2要素との比較の結果に基づき、複数の第1要素のうち比較候補の1以上の第1要素と、複数の第2要素のうち比較候補の1以上の第2要素とをそれぞれ決定する。紐付部33は、複数の第1要素のうち比較候補の1以上の第1要素の情報と複数の第2要素のうち比較候補の1以上の第2要素の情報との比較に基づき、第1ユーザ情報と第2ユーザ情報とを紐付ける紐付処理を行う。このように、情報処理装置1は、ユーザ情報を構成する複数の要素のうち一部の要素のみを紐付処理に用いることから紐付処理を効率的に行うことができる。例えば、情報処理装置1における処理負荷を軽減することができる。また、第2ユーザ情報の送信処理などにかかるコストを抑制することができる。
また、決定部32は、第1ユーザ情報と第2ユーザ情報との紐付けの成功確率を判定し、判定した成功確率に基づいて、比較候補を決定する。これにより、紐付処理をより効率的に行うことができる。
また、紐付部33は、比較候補を成功確率が高い順に段階的に増やしながら、紐付処理を行う。これにより、例えば、紐付対象のユーザ情報を絞り込んだ後に、紐付処理を行うことができることから、紐付処理にかかる負荷を低減することができる。
また、決定部32は、第1要素および第2要素をそれぞれ増加または減少させながら繰り返し比較した結果に基づいて、比較候補を決定する。これにより、比較候補の決定を適切に行うことができる。
また、決定部32は、複数の第2ユーザ情報のうち一部の第2ユーザ情報に対する紐付部33の紐付結果に基づいて、紐付処理で比較に用いる1以上の第1要素と1以上の第2要素とを決定する。紐付部33は、決定部32によって決定された1以上の第1要素と1以上の第2要素とを比較することで、紐付処理を行う。これにより、紐付処理の精度を向上させることができる。
また、決定部32は、過去に決定した比較候補に基づき、比較候補の1以上の第2要素を決定する。これにより、紐付処理にかかる負荷を低減することができる。
また、制御部12Aは、決定部32Aと、紐付部33Aとを備える。決定部32Aとは、複数の第1要素と複数の第2要素との比較の結果に基づき、複数の第1ユーザ情報から紐付処理の候補となる第1ユーザ情報を選択するための紐付条件を決定する。紐付部33Aは、複数の第1ユーザ情報のうち紐付処理の候補として決定した第1ユーザ情報と複数の第2ユーザ情報との比較に基づき、紐付処理を行う。第1ユーザ情報の一部のみを紐付処理に用いることから、情報処理装置1Aにおける処理負荷を軽減することができる。
また、上述した情報処理装置1は、それぞれ複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、情報取得部は、情報取得手段や情報取得回路に読み替えることができる。
以上、上記実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。