(57)【特許請求の範囲】
【請求項１】
第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を生成する学習装置と、
前記第一のドメインと前記第二のドメインで一致するユーザを推定する推定装置とを備え、
前記学習装置は、
前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、
生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを含み、
前記推定装置は、
前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力手段と、
前記スコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出手段と、
算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定するマッチング手段とを含む
ことを特徴とするデータ連携システム。
【請求項２】
類似度関数生成手段は、同一ユーザの異なるドメイン間の行動履歴の対応を表わす回帰式に基づいて変換された第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する関数を、類似度関数として生成する
請求項１記載のデータ連携システム。
【請求項３】
類似度関数生成手段は、結合データに含まれる各ドメインの行動履歴が同一ユーザの行動履歴である場合に１を返し、異なるユーザの行動履歴である場合に０を返す二値分類を学習し、第一のドメインベクトルと第二のドメインベクトルとのペアに対する当該二値分類の分類スコアを類似度とする類似度関数を生成する
請求項１記載のデータ連携システム。
【請求項４】
スコア関数定義手段は、第一のドメインにおけるユーザの行動履歴を変換した第一ドメインベクトルおよび第二のドメインにおけるユーザの行動履歴を変換した第二ドメインベクトルを、類似度関数の引数とする関数としてスコア関数を定義する
請求項１から請求項３のうちのいずれか１項に記載のデータ連携システム。
【請求項５】
マッチング手段は、第一のドメインのユーザとのペアにより算出されるスコア関数のスコアがより大きい第二のドメインのユーザを、当該第一のドメインと同一のユーザとして推定する
請求項１から請求項４のうちのいずれか１項に記載のデータ連携システム。
【請求項６】
変換器生成手段は、行動履歴が示す行動実績を単語とみなして当該行動履歴を文章化し、文章化された行動履歴を数値ベクトルに変換する変換器を生成する
請求項１から請求項５のうちのいずれか１項に記載のデータ連携システム。
【請求項７】
第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、
生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義するスコア関数定義手段とを備えた
ことを特徴とする学習装置。
【請求項８】
第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力手段と、
前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出手段と、
算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定するマッチング手段とを備え、
前記スコア関数は学習装置によって生成され、
前記学習装置は、
前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、
生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを備えた
ことを特徴とする推定装置。
【請求項９】
第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付け、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成し、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成し、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換し、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成し、
生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義し、
前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付け、
前記スコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出し、
算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定する
ことを特徴とするデータ連携方法。
【請求項１０】
第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付け、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成し、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成し、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換し、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成し、
生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義する
ことを特徴とするスコア関数生成方法。
【請求項１１】
第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付け、
前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出し、
算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定し、
前記スコア関数は学習装置によって生成され、
前記学習装置は、
前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、
生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを備えた
ことを特徴とする推定方法。
【請求項１２】
コンピュータに、
第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力処理、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合処理、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成処理、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換処理、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成処理、および、
生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義するスコア関数定義処理
を実行させるための学習プログラム。
【請求項１３】
第一のコンピュータに、
第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力処理、
前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出処理、および、
算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定するマッチング処理を実行させ、
前記スコア関数は第二のコンピュータによって生成され、
前記第二のコンピュータは、
前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、
前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、
前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、
生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、
前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、
生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを備えた
ことを特徴とする推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに関連付けられた異なるドメイン間のデータの連携を行うためのデータ連携システム、学習装置、推定装置、データ連携方法、スコア関数生成方法、推定方法、学習プログラムおよび推定プログラムに関する。
【背景技術】
【０００２】
各企業が保有する顧客データには、それぞれ異なる顧客ＩＤ（Identification）が設定されることが通常である。また、個人情報保護の観点から、氏名などの個人情報は開示できない。そのため、異なるドメイン間での同一ユーザのデータの連携（以下、ＩＤ連携（ID-Synchronization）と記す。）を行う方法が各種提案されている。例えば、ｗｅｂ広告と通信販売サイトとのＩＤ連携を行う方法として、Ｃｏｏｋｉｅを用いる方法が実用化されている。【０００３】
他にも、非特許文献１には、ソーシャルタグシステム全体でユーザを識別する方法が記載されている。具体的には、非特許文献１に記載された方法では、二つのＳＮＳ（Social Networking Service ）のユーザが情報を投稿する際に付与したタグをもとに、ＩＤ連携が行われる。【０００４】
また、非特許文献２には、ディープニューラルネットワークを用いて異なる種類のモビリティデータのユーザＩＤを紐づける方法が記載されている。具体的には、非特許文献２に記載された方法では、二つのＳＮＳで投稿された位置情報をもとに、ＩＤ連携が行われる。【０００５】
なお、非特許文献３には、非匿名化（De-anonymization）について記載されている。具体的には、非特許文献３には、匿名化処理された実験用データと映画評価の公開データベース情報を照合することで、ユーザを特定可能であることが記載されている。【０００６】
また、特許文献１には、行動履歴を用いた本人認証方法が記載されている。特許文献１に記載された方法では、個人を特定するための行動情報として携帯端末のＧＰＳ（Global Positioning System ）情報を利用し、過去の行動と現在の行動とから本人確率を計算する。また、特許文献２には、電子チケットの不正転売を低減または防止する方法が記載されている。【０００７】
なお、非特許文献４には、安定マッチングに利用されるＧａｌｅ−Ｓｈａｐｌｅｙアルゴリズムについて記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１９−１０９５５６号公報
【特許文献２】国際公開第２０１９／２０２８５７号公報
【非特許文献】
【０００９】
【非特許文献１】Iofciu. T, Fankhauser. P, Abel. F, Bischoff. K, "Identifying users across social tagging systems", Proceedings of the fifth international conference on weblogs and social media, 2011.
【非特許文献２】Feng. J, Zhang. M, Wang. H, Yang. Z, Zhang. C, Li. Y, Jin .D, "DPLink: User identity linkage via deep neural network from heterogeneous mobility data", WWW 2019, pp. 459-469.
【非特許文献３】Narayanan. A, Shmatikov. V, "Robust De-anonymization of large sparse datasets", In 2008 IEEE symposium on security andprivacy (S&P 2008), pp. 111-125, 2008.
【非特許文献４】D. Gale, L. S. Shapley, "College Admissions and the Stability of Marriage", The American Mathematical Monthly, Vol. 69, No. 1, pp. 9-15, 1962.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
一方、Ｃｏｏｋｉｅの使用に規制の動きがあることから、Ｃｏｏｋｉｅを用いたＩＤ連携ができない場合もある。また、実店舗のデータはオフラインで用いられるため、そもそもＣｏｏｋｉｅが存在しない。【００１１】
また、上述する各特許文献および非特許文献に記載された方法では、連携させる二つのデータセットの性質に制約がある。例えば、各非特許文献に記載された方法では、連携させる二つのデータセットが、同じドメインの（すなわち、行動に共通性がある）データで構成される状況を想定している。例えば、２つのＳＮＳにおいて、一方のＳＮＳでユーザがタグ付けした場所と、他方のＳＮＳでタグ付けされた場所とを利用してＩＤ連携が行われる。【００１２】
さらに、上述する各非特許文献に記載された方法では、連携させる二つのデータセットの特性として、同一のユーザが似た行動を行ったデータで構成される状況を想定している。例えば、一方のＳＮＳにおいて、あるユーザがある場所で投稿を行った場合に、他方のＳＮＳにおいて、同時刻に上記場所と近い場所で投稿を行うような状況である。【００１３】
例えば、スーパーマーケットにおける広告の効果を測定する状況を考える。この場合、広告会社では、広告を行った履歴を有する。一方、スーパーマーケットでは、販売した商品の履歴を有する。すなわち、広告会社とスーパーマーケットは、それぞれ異なるドメインのデータセットを有していると言える。さらに、スーパーマーケットは、広告を行った履歴を有しておらず、逆に、広告会社は、商品の販売履歴を有していない。そこで、広告の効果を測定するためには、これら二つの異なるドメインのデータセットについてＩＤ連携させる必要がある。【００１４】
しかし、このような状況において、仮に広告と商品を同一視したとしても、ある広告を参照したユーザが必ずしもその広告で宣伝された商品を購入するとは限らない。このように、同一のユーザであっても、別々の行動を行うことが想定される。そのため、異なるドメイン間のデータであっても、同一ユーザを適切に特定して、データ連携できることが好ましい。【００１５】
そこで、本発明は、ユーザに関連付けられた異なるドメイン間のデータを連携させることができるデータ連携システム、学習装置、推定装置、データ連携方法、スコア関数生成方法、推定方法、学習プログラムおよび推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明によるデータ連携システムは、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を生成する学習装置と、第一のドメインと第二のドメインで一致するユーザを推定する推定装置とを備え、学習装置が、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された類似度関数を用いて、スコア関数を定義するスコア関数定義手段とを含み、推定装置が、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない第一のドメインのユーザの行動履歴と、第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力手段と、スコア関数を用いて、受け付けた第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出手段と、算出されたスコアの大きさに基づいて、第一のドメインのユーザと同一のユーザを、第二のドメインのユーザの中から推定するマッチング手段とを含むことを特徴とする。【００１７】
本発明による学習装置は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された類似度関数を用いて、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義するスコア関数定義手段とを備えたことを特徴とする。【００１８】
本発明による推定装置は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない第一のドメインのユーザの行動履歴と、第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力手段と、第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出手段と、算出されたスコアの大きさに基づいて、第一のドメインのユーザと同一のユーザを、第二のドメインのユーザの中から推定するマッチング手段とを備え、スコア関数は学習装置によって生成され、学習装置は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された類似度関数を用いて、スコア関数を定義するスコア関数定義手段とを備えたことを特徴とする。【００１９】
本発明によるデータ連携方法は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付け、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成し、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成し、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換し、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成し、生成された類似度関数を用いて、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義し、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない第一のドメインのユーザの行動履歴と、第二のドメインのユーザの行動履歴との入力を受け付け、スコア関数を用いて、受け付けた第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出し、算出されたスコアの大きさに基づいて、第一のドメインのユーザと同一のユーザを、第二のドメインのユーザの中から推定することを特徴とする。【００２０】
本発明によるスコア関数生成方法は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付け、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成し、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成し、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換し、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成し、生成された類似度関数を用いて、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義することを特徴とする。【００２１】
本発明による推定方法は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない第一のドメインのユーザの行動履歴と、第二のドメインのユーザの行動履歴との入力を受け付け、第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出し、算出されたスコアの大きさに基づいて、第一のドメインのユーザと同一のユーザを、第二のドメインのユーザの中から推定し、スコア関数は学習装置によって生成され、学習装置は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された類似度関数を用いて、スコア関数を定義するスコア関数定義手段とを備えたことを特徴とする。【００２２】
本発明による学習プログラムは、コンピュータに、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付ける行動履歴入力処理、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合処理、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成処理、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換する変換処理、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成処理、および、生成された類似度関数を用いて、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義するスコア関数定義処理を実行させることを特徴とする。【００２３】
本発明による推定プログラムは、第一のコンピュータに、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない第一のドメインのユーザの行動履歴と、第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力処理、第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出処理、および、算出されたスコアの大きさに基づいて、第一のドメインのユーザと同一のユーザを、第二のドメインのユーザの中から推定するマッチング処理を実行させ、スコア関数は第二のコンピュータによって生成され、第二のコンピュータは、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの第一のドメインの行動履歴と、第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された類似度関数を用いて、スコア関数を定義するスコア関数定義手段とを備えたことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ユーザに関連付けられた異なるドメイン間のデータを連携させることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明によるデータ連携システムの一実施形態の構成例を示すブロック図である。
【図２】ユーザの行動履歴の例を示す説明図である。
【図３】データ連携システムの動作例を示すフローチャートである。
【図４】学習装置の動作例を示すフローチャートである。
【図５】推定装置の動作例を示すフローチャートである。
【図６】本発明によるデータ連携システムの概要を示すブロック図である。
【図７】本発明による学習装置の概要を示すブロック図である。
【図８】本発明による推定装置の概要を示すブロック図である。
【図９】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を図面を参照して説明する。
【００２７】
図１は、本発明によるデータ連携システムの一実施形態の構成例を示すブロック図である。本実施形態のデータ連携システムは、ユーザに関連付けられた二つのドメインのデータセットから、同一のユーザを特定するシステムである。以下の説明では、上述するように、ドメイン間での同一ユーザの特定処理をＩＤ連携と記すこともある。
【００２８】
特に、本実施形態では、異なる二つのドメインにおけるＩＤ連携を中心に説明する。具体的には、広告の効果（購買への影響）を測定する場面を想定し、第一のドメインとして広告会社によるユーザへの広告履歴を例示し、第二のドメインとして、スーパーマーケットにおけるユーザの購買履歴を例示する。ただし、以下の例示は、本実施形態のデータ連携システム１００による類似ドメインのＩＤ連携を排除する趣旨ではなく、任意の性質を有する二つのドメインのデータセットを用いることが可能である。
【００２９】
本実施形態において、ユーザに関連付けられたデータは、各ドメインにおける行動履歴である。行動履歴は、一人のユーザに関わる行動実績と、その行動を行った日時のペアの集合で表わされる。例えば、第一のドメインにおける行動履歴は、広告会社がユーザへ広告を行ったという行動実績の履歴であり、第二のドメインにおける行動履歴は、スーパーマーケットにおいてユーザが商品を購入したという行動実績の履歴である。
【００３０】
以下の説明では、各ドメインにおける行動実績をアイテムと記すこともある。すなわち、行動履歴は、アイテムの時系列と言うことができる。また、アイテムをａｉとし、時刻をｔｉとすると、ユーザの行動履歴ｕは、ｕ＝｛（ａ１，ｔ１），…，（ａｎ，ｔｎ）｝と表わされる。
【００３１】
本実施形態のデータ連携システム１００は、学習装置１０と、推定装置２０とを備えている。
【００３２】
学習装置１０は、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数（以下、スコア関数と記す。）を生成する装置である。学習装置１０は、記憶部１１と、行動履歴入力部１２と、行動履歴結合部１３と、変換器生成部１４と、変換部１５と、類似度関数生成部１６と、スコア関数定義部１７とを含む。
【００３３】
記憶部１１は、学習装置１０が処理に用いる各種情報を記憶する。具体的には、記憶部１１は、二つのドメインにおけるユーザの行動履歴を記憶してもよい。なお、通信回線を介して接続されたストレージ（図示せず）に二つのドメインにおけるユーザの行動履歴が記憶されている場合、記憶部１１は、この行動履歴を記憶していなくてもよい。記憶部１１は、例えば、磁気ディスク等により実現される。
【００３４】
図２は、ユーザの行動履歴の例を示す説明図である。図２に示す例では、第一のドメインｓのユーザの行動履歴Ｄ１として、ユーザｓ００１，ｓ００２，ｓ００３，ｓ１０１およびｓ１０２の行動履歴が含まれ、第二のドメインｔのユーザの行動履歴Ｄ２として、ユーザｔ００１，ｔ００２，ｔ００３，ｔ１０１およびｔ１０２の行動履歴が含まれていることを示す。
【００３５】
また、図２に示す例では、ユーザｓ００１の行動履歴として、Ｒ１／５／５（２０１９／５／５）に広告ａ１を参照し、Ｒ１／８／１（２０１９／８／１）に広告ｃ３を参照し、Ｒ２／６／１０（２０２０／６／１０）に広告ｄ２を参照したことを示す。同様に、ユーザｔ００２の行動履歴として、Ｒ１／１０／１（２０１９／１０／１）に商品ｚ２を購入し、Ｒ２／７／１（２０２０／７／１）に商品ｘ３を購入したことを示す。その他の行動履歴についても同様である。
【００３６】
行動履歴入力部１２は、二つのドメインにおけるユーザの行動履歴（具体的には、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴）の入力を受け付ける。受け付けた各ドメインにおけるユーザの行動履歴の集合のことを、データセットと記すこともある。本実施形態では、行動履歴入力部１２は、各ドメインにおけるユーザの行動履歴のうち、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されているユーザの行動履歴の入力を受け付ける。
【００３７】
なお、以下の説明では、各ドメイン間で同一のユーザによる行動履歴であると特定されているユーザの集合を、ＩＤ連携が判明しているユーザ集合Ｐｔｒａｉｎと記すこともある。図２に示す例において、ｓ００１〜ｓ００３およびｔ００１〜ｔ００３が、それぞれＩＤ連携が判明しているユーザであるとする。具体的には、第一のドメインのユーザｓ００１と第二のドメインのユーザｔ００２が同一のユーザＡであり、第一のドメインのユーザｓ００２と第二のドメインのユーザｔ００３が同一のユーザＢであるとする。このとき、Ｐｔｒａｉｎ＝｛ユーザＡ（＝ｓ００１＝ｔ００２），ユーザＢ（＝ｓ００２＝ｔ００３）｝である。
【００３８】
図２に示す例では、行動履歴入力部１２は、ＩＤ連携が判明しているユーザの第一のドメインの行動履歴（ユーザｓ００１〜ｓ００３の行動履歴）と、第二のドメインの行動履歴（ユーザｔ００１〜ｔ００３の行動履歴）の入力を受け付ける。
【００３９】
以下の説明では、行動履歴入力部１２が受け付けた第一のドメインの個々のユーザの行動履歴をｕｉｓと記し、その行動履歴の集合をＤｓ，ｔｒａｉｎと記す。同様に、行動履歴入力部１２が受け付けた第二のドメインの個々のユーザの行動履歴をｕｊｔと記し、その行動履歴の集合をＤｔ，ｔｒａｉｎと記す。すなわち、
【数１】
0006885525.tif 000002
である。
【００４０】
行動履歴結合部１３は、入力を受け付けた第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させたデータ（以下、結合データ）の集合を生成する。各ドメインにおける行動履歴を結合することで、異なるドメイン（二つのデータセット）でのアイテムの共起関係を表わすことが可能になる。結合データの集合をＤｆｕｓｉｏｎ，ｔｒａｉｎとすると、
【数２】
0006885525.tif 000003
である。
【００４１】
なお、行動履歴結合部１３がユーザの行動履歴を結合する方法は任意である。行動履歴結合部１３は、例えば、両方のデータセットを跨いだ行動履歴を捉えられるように、同一ユーザの二つドメインの行動履歴の和集合を結合データとして生成してもよい。すなわち、
【数３】
0006885525.tif 000004
である。他にも、行動履歴結合部１３は、ドメインごとの行動履歴を纏めて取り扱うことができるように、単にデータセットの和集合を結合データとして生成してもよい。すなわち、
【数４】
0006885525.tif 000005
である。さらに、行動履歴結合部１３は、これらの効果を同時に得られるように、上記のデータセットの和集合を結合データとして生成してもよい。すなわち、
【数５】
0006885525.tif 000006
である。
【００４２】
言い換えると、行動履歴結合部１３は、同一のユーザの行動履歴のみを結合させて結合データの集合を生成してもよく、ＩＤ連携が判明しているユーザ集合に含まれる同一のまたは異なるユーザの行動履歴をそれぞれ結合させて結合データの集合を生成してもよい。いずれの方法においても、異なるドメインのアイテムを一つの結合データとして表わすことが可能になる。
【００４３】
例えば、Ｐｔｒａｉｎ＝｛（ユーザ）Ａ，（ユーザ）Ｂ｝の場合、行動履歴結合部１３は、結合データの集合として、Ｄｆｕｓｉｏｎ，ｔｒａｉｎ＝｛（ｕＡｓ，ｕＡｔ），（ｕＢｓ，ｕＢｔ）｝を生成してもよく、Ｄｆｕｓｉｏｎ，ｔｒａｉｎ＝｛（ｕＡｓ，ｕＡｔ），（ｕＡｓ，ｕＢｔ），（ｕＢｓ，ｕＡｔ），（ｕＢｓ，ｕＢｔ）｝を生成してもよい。異なるユーザの行動履歴を結合した結合データの集合を生成することで、後述する変換器生成部１４が学習を行う際に用いるデータ量を増やすことが可能になる。
【００４４】
変換器生成部１４は、行動履歴結合部１３によって生成された結合データの集合を用いて、行動履歴をベクトルに変換する対応ｖを学習する。つまり、行動履歴ｕに対して、ｖ（ｕ）がそのベクトルである。具体的には、変換器生成部１４は、行動履歴結合部１３によって生成された結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器ｖ（ベクトル変換器）を生成する。
【００４５】
ここで、本発明者は、アイテムを単語とみなすことで、行動履歴を文章として扱うことができるとの着想を得た。すなわち、アイテムを単語とみなすことで、行動履歴を文章として扱うことが可能になる。そこで、変換器生成部１４は、行動履歴のアイテムを時間順に並び替え、アイテムを単語とみなして、行動履歴を文章化する。そして、変換器生成部１４は、ユーザの潜在的な行動履歴を分析しやすい数値ベクトルに変換する変換器を生成する。
【００４６】
変換器生成部１４が、行動履歴（具体的には、文章化された行動履歴）をベクトルに変換する変換器を生成する方法は任意である。変換器生成部１４は、例えば、Ｄｏｃ２Ｖｅｃや、ＢＭ２５、ＴＦ−ＩＤＦ（Term Frequency - Inverse Document Frequency）、Ｂａｇ−ｏｆ−Ｗｏｒｄｓ、ＬＤＡ（Latent Dirichlet Allocation ）、Ｗｏｒｄ２ｖｅｃの平均、などの手法を用いて変換器を生成してもよい。
【００４７】
変換部１５は、変換器生成部１４によって生成された変換器を用いて、各ドメインの行動履歴をベクトルに変換する。以下、第一のドメインの行動履歴から変換されたベクトルを第一のドメインベクトルｖｉｓと記し、第二のドメインの行動履歴から変換されたベクトルを第二のドメインベクトルｖｊｔと記す。すなわち、変換部１５は、変換器生成部１４によって生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトルに変換し、第二のドメインの行動履歴を第二のドメインベクトルに変換する。
【００４８】
ここで、第一のドメインベクトルｖｉｓの集合をＶｓ，ｔｒａｉｎと記し、第二のドメインベクトルｖｊｔの集合をＶｔ，ｔｒａｉｎと記すと、
【数６】
0006885525.tif 000007
である。なお、ｖ（）は、生成された変換器による変換である。
【００４９】
類似度関数生成部１６は、ベクトル同士の類似度を導出する関数（以下、類似度関数）を生成する。具体的には、類似度関数生成部１６は、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数ｓｉｍ（ｖｉｓ，ｖｊｔ）を生成する。
【００５０】
類似度関数生成部１６が類似度関数を生成する方法は任意である。例えば、同一ユーザの異なるドメイン間の行動履歴（データセット）の対応ｆを回帰と捉えることができる。そこで、類似度関数生成部１６は、この回帰式に基づいて変換された第一のドメインベクトルｆ（ｖｉｓ）と、第二のドメインベクトルｖｊｔとの類似度（例えば、コサイン類似度やガウス関数、誤差の符号反転など）を導出する関数を、類似度関数として生成してもよい。
【００５１】
なお、ここで用いられる回帰式の内容も任意である。類似度関数生成部１６は、ルールベースで任意に定めた写像を回帰式として用いてもよい。また、類似度関数生成部１６は、単純に恒等写像を回帰式とみなして、第一のドメインベクトルそのものと、第二のドメインベクトルとの類似度（コサイン類似度やガウス関数など）を導出する関数を、類似度関数として生成してもよい。また、類似度関数生成部１６は、線形回帰やカーネル回帰、ニューラルネットワークなどの教師あり学習を行うことで、回帰式を生成してもよい。
【００５２】
他にも、類似度関数生成部１６は、行動履歴のペアが同一ユーザの場合に、より大きい類似度を返し、行動履歴のペアが異なるユーザの場合に、より小さい類似度を返すような類似度関数を学習してもよい。この場合、例えば学習データとして、同一ユーザの行動履歴のペアには、より高い値を目的変数に設定したデータを使用し、異なるユーザの行動履歴のペアには、より低い値を目的変数に設定したデータを使用すればよい。
【００５３】
他にも、類似度関数生成部１６は、結合データに含まれる各ドメインの行動履歴が同一ユーザの行動履歴である場合に１を返し、異なるユーザの行動履歴である場合に０を返す二値分類（ｆ（（ｖｉｓ，ｖｉｔ）)＝１，ｆ（（ｖｉｓ，ｖｊｔ））＝０ （ｉとｊは異なる））を学習してもよい。そして、類似度関数生成部１６は、第一のドメインベクトルと第二のドメインベクトルとのペアに対する二値分類の分類スコア（例えば、クラス所属確率など）を類似度とする類似度関数を生成してもよい。
【００５４】
スコア関数定義部１７は、生成された類似度関数を用いて、上述するスコア関数ｓｃｏｒｅ（ｕｉｓ，ｕｊｔ）（すなわち、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数）を定義する。具体的には、スコア関数定義部１７は、第一のドメインにおけるユーザの行動履歴を変換した第一ドメインベクトルおよび第二のドメインにおけるユーザの行動履歴を変換した第二ドメインベクトルを、類似度関数の引数とする関数としてスコア関数を定義する。すなわち、
【数７】
0006885525.tif 000008
である。
【００５５】
なお、スコア関数定義部１７は、定義したスコア関数を推定装置２０に出力してもよい。
【００５６】
行動履歴入力部１２と、行動履歴結合部１３と、変換器生成部１４と、変換部１５と、類似度関数生成部１６と、スコア関数定義部１７とは、プログラム（学習プログラム）に従って動作するコンピュータのプロセッサ（例えば、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit））によって実現される。
【００５７】
例えば、プログラムは、学習装置１０の記憶部１１に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、行動履歴入力部１２、行動履歴結合部１３、変換器生成部１４、変換部１５、類似度関数生成部１６およびスコア関数定義部１７として動作してもよい。また、行動履歴入力部１２、行動履歴結合部１３、変換器生成部１４、変換部１５、類似度関数生成部１６およびスコア関数定義部１７の各機能がＳａａＳ（Software as a Service ）形式で提供されてもよい。
【００５８】
また、行動履歴入力部１２と、行動履歴結合部１３と、変換器生成部１４と、変換部１５と、類似度関数生成部１６と、スコア関数定義部１７とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【００５９】
また、行動履歴入力部１２、行動履歴結合部１３、変換器生成部１４、変換部１５、類似度関数生成部１６およびスコア関数定義部１７の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００６０】
図１に戻り、推定装置２０は、記憶部２１と、ユーザ集合入力部２２と、スコア算出部２３と、マッチング部２４と、出力部２５とを含む。
【００６１】
記憶部２１は、推定装置２０が処理に用いる各種情報を記憶する。具体的には、記憶部２１は、スコア関数定義部１７によって生成されたスコア関数を記憶してもよい。また、記憶部２１は、記憶部１１と同様、二つのドメインにおけるユーザの行動履歴を記憶してもよい。なお、通信回線を介して接続されたストレージ（図示せず）に二つのドメインにおけるユーザの行動履歴が記憶されている場合、記憶部２１は、この行動履歴を記憶していなくてもよい。記憶部２１は、例えば、磁気ディスク等により実現される。
【００６２】
ユーザ集合入力部２２は、各ドメインにおけるユーザの行動履歴のうち、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていないユーザ（すなわち、ＩＤ連携が判明していないユーザ）の行動履歴の入力を受け付ける。以下の説明では、各ドメイン間で同一のユーザによる行動履歴であると特定されていないユーザの集合のうち、一方のドメインのユーザの集合をＰｔｅｓｔと記し、他方のドメインのユーザの集合をＰｃａｎｄｉと記す。
【００６３】
なお、二つのドメインのうち、どちらのドメインのユーザの集合をＰｔｅｓｔとするか、Ｐｃａｎｄｉとするかは任意である。以下の説明では、Ｐｔｅｓｔに含まれるユーザの集合を、それぞれ、Ｐｃａｎｄｉに含まれる各ユーザと連携させることを想定する。ここで、Ｐｔｅｓｔに含まれるユーザの全てをＰｃａｎｄｉに含まれる各ユーザと連携させると想定した場合、Ｐｃａｎｄｉ⊃Ｐｔｅｓｔである。なお、一部のユーザのみ連携させればよい場合、ＰｃａｎｄｉとＰｔｅｓｔの包含関係は任意である。以下、第一のドメインのユーザをＰｃａｎｄｉとし、第二のドメインのユーザをＰｔｅｓｔとして説明する。
【００６４】
例えば、図２に示す例において、ｓ１０１〜ｓ１０２およびｔ１０１〜ｔ１０２が、それぞれＩＤ連携が判明していないユーザであるとする。この場合、ユーザ集合入力部２２は、ＩＤ連携が判明していないユーザの第一のドメインの行動履歴（ユーザｓ１０１〜ｓ１０２の行動履歴）と、第二のドメインの行動履歴（ユーザｔ１０１〜ｔ１０２の行動履歴）の入力を受け付ける。
【００６５】
以下の説明では、ユーザ集合入力部２２が受け付けた第一のドメインの個々のユーザの行動履歴をｕｉｓと記し、その行動履歴の集合をＤｓ，ｔｅｓｔと記す。同様に、ユーザ集合入力部２２が受け付けた第二のドメインの個々のユーザの行動履歴をｕｊｔと記し、その行動履歴の集合をＤｔ，ｃａｎｄｉと記す。すなわち、
【数８】
0006885525.tif 000009
である。
【００６６】
スコア算出部２３は、スコア関数定義部１７により定義されたスコア関数を用いて、受け付けた第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出する。具体的には、スコア算出部２３は、受け付けた第一のドメインのユーザと第二のドメインのユーザの全てのペアに対するスコアの集合Ｓを算出する。すなわち、
【数９】
0006885525.tif 000010
である。
【００６７】
マッチング部２４は、スコア算出部２３によって算出されたスコアの大きさに基づいて、両ドメインで一致するユーザを推定する。具体的には、マッチング部２４は、第一のドメインのユーザＰｔｅｓｔと同一のユーザを、第二のドメインのユーザＰｃａｎｄｉから推定する。マッチング部２４は、例えば、第一のドメインのユーザとのペアにより算出されるスコア関数のスコアがより大きい第二のドメインのユーザを、第一のドメインと同一のユーザとして推定してもよい。ここで、「より大きい」とは、「最も大きい」、または、「重複しないユーザの中で最も大きい」ことを意味する。
【００６８】
マッチング部２４は、例えば、連携させる対象のユーザｐ∈Ｐｔｅｓｔに対応する他のドメインのユーザのスコアが一番大きいユーザｐ＾（ｐの上付きハット）を同一のユーザと推定してもよい。すなわち、マッチング部２４は、以下に例示する式１に基づいて、第一のドメインのユーザとのペアにより算出されるスコア関数のスコアが最も大きい第二のドメインのユーザを、その第一のドメインと同一のユーザとして推定してもよい。
【００６９】
【数１０】
0006885525.tif 000011
【００７０】
また、マッチング部２４は、連携させるユーザが重複しないように同一のユーザを推定してもよい。マッチング部２４は、例えば、安定マッチング問題と同様の方法で同一のユーザを推定してもよい。具体的には、マッチング部２４は、第一のドメインのユーザをＰｔｅｓｔとし、第二のドメインのユーザをＰｃａｎｄｉとして算出されるスコアを第一の希望順とし、逆に、第二のドメインのユーザをＰｔｅｓｔとし、第一のドメインのユーザをＰｃａｎｄｉとして算出されるスコアを第二の希望順とする。そして、マッチング部２４は、第一の希望順および第二の希望順を用いて、非特許文献４に記載されているＧａｌｅ−Ｓｈａｐｌｅｙアルゴリズムにより、ドメイン間でユーザが重複しないようにドメイン間で同一のユーザを推定してもよい。
【００７１】
出力部２５は、同一と推定されたユーザを出力する。出力部２５は、例えば、同一と推定された第一のドメインのユーザと、第二のドメインのユーザとを対応付けて出力してもよい。
【００７２】
なお、ユーザ集合入力部２２と、スコア算出部２３と、マッチング部２４と、出力部２５とは、プログラム（推定プログラム）に従って動作するコンピュータのプロセッサによって実現される。
【００７３】
次に、本実施形態のデータ連携システムの動作を説明する。図３は、本実施形態のデータ連携システム１００の動作例を示すフローチャートである。
【００７４】
行動履歴入力部１２は、ＩＤ連携が判明しているユーザの各ドメインの行動履歴の入力を受け付ける（ステップＳ１１）。行動履歴結合部１３は、各ドメインのユーザの行動履歴を結合させた結合データの集合を生成する（ステップＳ１２）。変換器生成部１４は、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する（ステップＳ１３）。変換部１５は、生成された変換器を用いて、各ドメインの行動履歴をベクトルに変換する（ステップＳ１４）。類似度関数生成部１６は、類似度関数を生成し（ステップＳ１５）、スコア関数定義部１７は、生成された類似度関数を用いてスコア関数を定義する（ステップＳ１６）。
【００７５】
推定装置２０のユーザ集合入力部２２は、ＩＤ連携が判明していないユーザの各ドメインの行動履歴の入力を受け付ける（ステップＳ１７）。スコア算出部２３は、スコア関数を用いて、各ドメインのユーザのペアに対するスコアを算出する（ステップＳ１８）。マッチング部２４は、算出されたスコアの大きさに基づいて、一方のドメインのユーザと同一のユーザを、他のドメインのユーザの中から推定する（ステップＳ１９）。
【００７６】
図４は、本実施形態の学習装置１０の動作例を示すフローチャートである。行動履歴入力部１２は、ＩＤ連携済みの二つのデータセット（各ドメインの行動履歴）を教師データとして入力する（ステップＳ２１）。行動履歴結合部１３は、二つのデータセットを一つの結合データに結合する（ステップＳ２２）。変換器生成部１４は、行動履歴のベクトル変換器を生成する（ステップＳ２３）。変換部１５は、データセット内の行動履歴をベクトルに変換する（ステップＳ２４）。類似度関数生成部１６およびスコア関数定義部１７は、二つのベクトル化された行動履歴のスコアを返すスコア関数を作成し（ステップＳ２５）、作成したスコア関数を記憶部１１に保存する（ステップＳ２６）。
【００７７】
図５は、本実施形態の推定装置２０の動作例を示すフローチャートである。ユーザ集合入力部２２は、テストユーザの集合Ｐｔｅｓｔを入力する（ステップＳ３１）。また、ユーザ集合入力部２２は、テストユーザとＩＤ連携する対象の候補ユーザの集合Ｐｃａｎｄｉを入力し、その範囲を定める（ステップＳ３２）。スコア算出部２３は、テストユーザとＩＤ連携候補ユーザの全てのペアのスコアを算出する（ステップＳ３３）。そして、マッチング部２４は、テストユーザに対応するユーザをＩＤ連携候補のユーザから推定し、選択する（ステップＳ３４）。
【００７８】
以上のように、本実施形態では、学習装置１０の行動履歴入力部１２が、ＩＤ連携が判明しているユーザの各ドメインの行動履歴の入力を受け付け、行動履歴結合部１３が各ドメインのユーザの行動履歴を結合させた結合データの集合を生成する。そして、変換器生成部１４が結合データの集合を用いた学習により行動履歴をベクトルに変換する変換器を生成し、変換部１５が、生成された変換器を用いて各ドメインの行動履歴をベクトルに変換する。その後、類似度関数生成部１６が類似度関数を生成し、スコア関数定義部１７が生成された類似度関数を用いてスコア関数を定義する。
【００７９】
一方、推定装置２０のユーザ集合入力部２２が、ＩＤ連携が判明していないユーザの各ドメインの行動履歴の入力を受け付け、スコア算出部２３が、スコア関数を用いて各ドメインのユーザのペアに対するスコアを算出する。そして、マッチング部２４が、算出されたスコアの大きさに基づいて、一方のドメインのユーザと同一のユーザを、他のドメインのユーザの中から推定する。よって、ユーザに関連付けられた異なるドメイン間のデータを連携させることができる。
【００８０】
また、このように連携させたデータを用いることで、新たな価値を見出すことができる。例えば、一つのデータセットだけでは得られなかった知見を、二つのデータセットを俯瞰することで得ることができる。また、片方のデータセットにしか現れないユーザのもう一方のデータセットでの振る舞いを予測することも可能になる。
【００８１】
次に、本実施形態のデータ連携システム１００を用いてオフラインで広告の効果測定を実施する具体例を、上述する実施形態の変数に対応させて説明する。具体的には、Ｄｓは、広告会社が保有する顧客の広告閲覧履歴データに対応し、Ｄｔは、スーパーマーケットが保有する顧客の商品購入データに対応する。また、Ｐｔｒａｉｎは、ＩＤ連携されたユーザの集合であり、例えば、何の広告を見て何の商品を買ったかを伝えてくれるモニターなどに対応する。
【００８２】
そして、Ｐｔｅｓｔが広告を閲覧したことがあるユーザの集合に対応し、Ｐｃａｎｄｉがスーパーマーケットで商品を購入したことがあるユーザの集合に対応する。なお、Ｐｃａｎｄｉの範囲は、全ユーザであってもよく、所定の基準を満たすユーザのみであってもよい。また、ユーザの行動履歴ｕ＝｛（ａ１，ｔ１），…，（ａｎ，ｔｎ）｝について、ｕ∈Ｄｓの場合、ａｉは行われた広告であり、ｕ∈Ｄｔの場合、ａｉは購入された商品である。
【００８３】
行動履歴結合部１３は、モニターの行動履歴を結合した結合データのセットを作成する。結合データｕは、例えば、ｕ＝｛（広告ａ１，Ｒ２／３／５），（商品ｘ３，Ｒ２／４／１３），（広告ｃ３，Ｒ１／８／１），…｝∈Ｄｆｕｓｉｏｎ，ｔｒａｉｎである。次に、変換器生成部１４は、行動履歴を時間順に並び替え、アイテムを単語とみなし、Ｄｆｕｓｉｏｎ，ｔｒａｉｎを基にＤｏｃ２Ｖｅｃを学習する。ここで学習されたベクトル変換をｖと記す。
【００８４】
変換部１５は、モニターの二つの（ドメインの）行動履歴を、それぞれベクトルに変換する。類似度関数生成部１６は、例えば、ニューラルネットワークで回帰ｆを学習する。スコア関数定義部１７は、スコア関数を以下のように定義する。類似度関数ｓｉｍは、例えば、コサイン類似度である。
【数１１】
0006885525.tif 000012
【００８５】
スコア算出部２３は、スコア関数を用いて、広告のユーザ（Ｐｔｅｓｔ）とスーパーマーケットのユーザ（Ｐｃａｎｄｉ）とのペアのスコアを算出する。マッチング部２４は、算出されたスコアを用いて、Ｇａｌｅ−Ｓｈａｐｌｅｙアルゴリズムに基づき、テストユーザに対するユーザのペアを推定する。出力部２５は、推定されたユーザのペアの集合
【数１２】
0006885525.tif 000013
を出力する。
【００８６】
このように、本実施形態のデータ連携システムを、広告の効果測定に応用できる。他にも、本実施形態のデータ連携システムを、因果分析や推薦などの分析に活用できる。例えば、広告の影響度合いの因果分析や、ネットショップにおける商品の推薦などに応用できる。
【００８７】
次に、本発明の概要を説明する。図６は、本発明によるデータ連携システムの概要を示すブロック図である。本発明によるデータ連携システム９０（例えば、データ連携システム１００）は、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数（例えば、ｓｃｏｒｅ（ｕｉｓ，ｕｊｔ））を生成する学習装置７０（例えば、学習装置１０）と、第一のドメインと第二のドメインで一致するユーザを推定する推定装置８０（例えば、推定装置２０）とを備えている。
【００８８】
学習装置７０は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている（すなわち、ユーザ連携が判明している）ユーザ（例えば、Ｐｔｒａｉｎ）の第一のドメインの行動履歴（例えば、Ｄｓ，ｔｒａｉｎ）と、第二のドメインの行動履歴（例えば、Ｄｔ，ｔｒａｉｎ）との入力を受け付ける行動履歴入力手段７１（例えば、行動履歴入力部１２）と、第一のドメインにおけるユーザの行動履歴と、第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合（例えば、Ｄｆｕｓｉｏｎ，ｔｒａｉｎ）を生成する行動履歴結合手段７２（例えば、行動履歴結合部１３）と、結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段７３（例えば、変換器生成部１４）と、生成された変換器を用いて、第一のドメインの行動履歴を第一のドメインベクトル（例えば、Ｖｓ，ｔｒａｉｎ）に変換し、第二のドメインの行動履歴を第二のドメインベクトル（例えば、Ｖｔ，ｔｒａｉｎ）に変換する変換手段７４（例えば、変換部１５）と、第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する類似度関数（例えば、ｓｉｍ（ｖｉｓ，ｖｊｔ））を生成する類似度関数生成手段７５（例えば、類似度関数生成部１６）と、生成された類似度関数を用いて、スコア関数を定義するスコア関数定義手段７６（例えば、スコア関数定義部１７）とを含む。
【００８９】
推定装置８０は、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない（すなわち、ユーザ連携が判明していない）第一のドメインのユーザ（例えば、Ｐｔｅｓｔ）の行動履歴と、第二のドメインのユーザ（例えば、Ｐｃａｎｄｉ）の行動履歴との入力を受け付けるユーザ集合入力手段８１（例えば、ユーザ集合入力部２２）と、スコア関数を用いて、受け付けた第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコア（例えば、Ｓ）を算出するスコア算出手段８２（例えば、スコア算出部２３）と、算出されたスコアの大きさに基づいて、第一のドメインのユーザと同一のユーザを、第二のドメインのユーザの中から推定するマッチング手段８３（例えば、マッチング部２４）とを含む。
【００９０】
そのような構成により、ユーザに関連付けられた異なるドメイン間のデータを連携させることができる。
【００９１】
また、類似度関数生成手段７５は、同一ユーザの異なるドメイン間の行動履歴の対応を表わす回帰式に基づいて変換された第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する関数を、類似度関数として生成してもよい。
【００９２】
他にも、類似度関数生成手段７５は、結合データに含まれる各ドメインの行動履歴が同一ユーザの行動履歴である場合に１を返し、異なるユーザの行動履歴である場合に０を返す二値分類を学習し、第一のドメインベクトルと第二のドメインベクトルとのペアに対する二値分類の分類スコアを類似度とする類似度関数を生成してもよい。
【００９３】
また、スコア関数定義手段７６は、第一のドメインにおけるユーザの行動履歴を変換した第一ドメインベクトルおよび第二のドメインにおけるユーザの行動履歴を変換した第二ドメインベクトルを、類似度関数の引数とする関数としてスコア関数を定義してもよい。
【００９４】
また、マッチング手段８３は、第一のドメインのユーザとのペアにより算出されるスコア関数のスコアがより大きい第二のドメインのユーザを、第一のドメインと同一のユーザとして推定してもよい。
【００９５】
また、変換器生成手段７３は、行動履歴が示す行動実績を単語とみなしてその行動履歴を文章化し、文章化された行動履歴を数値ベクトルに変換する変換器を生成してもよい。
【００９６】
図７は、本発明による学習装置の概要を示すブロック図である。本発明による学習装置７０は、行動履歴入力手段７１と、行動履歴結合手段７２と、変換器生成手段７３と、変換手段７４と、類似度関数生成手段７５と、スコア関数定義手段７６とを備えている。なお、学習装置７０が備える各構成の内容は、図６に例示する学習装置７０が備える構成と同様である。
【００９７】
また、図８は、本発明による推定装置の概要を示すブロック図である。本発明による推定装置８０は、ユーザ集合入力手段８１と、スコア算出手段８２と、マッチング手段８３とを備えている。なお、推定装置８０が備える各構成の内容は、図６に例示する推定装置８０が備える構成と同様である。
【００９８】
図９は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ１０００は、プロセッサ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備える。
【００９９】
上述の学習装置７０および推定装置８０は、それぞれコンピュータ１０００に実装される。そして、上述した各処理部の動作は、プログラム（学習プログラム、推定プログラム）の形式で補助記憶装置１００３に記憶されている。プロセッサ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、当該プログラムに従って上記処理を実行する。
【０１００】
なお、少なくとも１つの実施形態において、補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read-only memory ）、ＤＶＤ−ＲＯＭ（Read-only memory）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００が当該プログラムを主記憶装置１００２に展開し、上記処理を実行してもよい。
【０１０１】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１０２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１０３】
（付記１）第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を生成する学習装置と、前記第一のドメインと前記第二のドメインで一致するユーザを推定する推定装置とを備え、前記学習装置は、前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを含み、前記推定装置は、前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力手段と、前記スコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出手段と、算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定するマッチング手段とを含むことを特徴とするデータ連携システム。
【０１０４】
（付記２）類似度関数生成手段は、同一ユーザの異なるドメイン間の行動履歴の対応を表わす回帰式に基づいて変換された第一のドメインベクトルと、第二のドメインベクトルとの類似度を導出する関数を、類似度関数として生成する付記１記載のデータ連携システム。
【０１０５】
（付記３）類似度関数生成手段は、結合データに含まれる各ドメインの行動履歴が同一ユーザの行動履歴である場合に１を返し、異なるユーザの行動履歴である場合に０を返す二値分類を学習し、第一のドメインベクトルと第二のドメインベクトルとのペアに対する当該二値分類の分類スコアを類似度とする類似度関数を生成する付記１記載のデータ連携システム。
【０１０６】
（付記４）スコア関数定義手段は、第一のドメインにおけるユーザの行動履歴を変換した第一ドメインベクトルおよび第二のドメインにおけるユーザの行動履歴を変換した第二ドメインベクトルを、類似度関数の引数とする関数としてスコア関数を定義する付記１から付記３のうちのいずれか１つに記載のデータ連携システム。
【０１０７】
（付記５）マッチング手段は、第一のドメインのユーザとのペアにより算出されるスコア関数のスコアがより大きい第二のドメインのユーザを、当該第一のドメインと同一のユーザとして推定する付記１から付記４のうちのいずれか１つに記載のデータ連携システム。
【０１０８】
（付記６）変換器生成手段は、行動履歴が示す行動実績を単語とみなして当該行動履歴を文章化し、文章化された行動履歴を数値ベクトルに変換する変換器を生成する付記１から付記５のうちのいずれか１つに記載のデータ連携システム。
【０１０９】
（付記７）第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義するスコア関数定義手段とを備えたことを特徴とする学習装置。
【０１１０】
（付記８）第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力手段と、前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出手段と、算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定するマッチング手段とを備え、前記スコア関数は学習装置によって生成され、前記学習装置は、前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを備えたことを特徴とする推定装置。
【０１１１】
（付記９）第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付け、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成し、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成し、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換し、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成し、生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義し、前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付け、前記スコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出し、算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定することを特徴とするデータ連携方法。
【０１１２】
（付記１０）第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付け、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成し、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成し、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換し、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成し、生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義することを特徴とするスコア関数生成方法。
【０１１３】
（付記１１）第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付け、前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出し、算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定し、前記スコア関数は学習装置によって生成され、前記学習装置は、前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを備えたことを特徴とする推定方法。
【０１１４】
（付記１２）コンピュータに、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力処理、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合処理、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成処理、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換処理、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成処理、および、生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義するスコア関数定義処理を実行させるための学習プログラムを記憶するプログラム記憶媒体。
【０１１５】
（付記１３）第一のコンピュータに、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力処理、前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出処理、および、算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定するマッチング処理を実行させ、前記スコア関数は第二のコンピュータによって生成され、前記第二のコンピュータは、前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを備えたことを特徴とする推定プログラムを記憶するプログラム記憶媒体。
【０１１６】
（付記１４）コンピュータに、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力処理、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合処理、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成処理、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換処理、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成処理、および、生成された前記類似度関数を用いて、前記第一のドメインに行動履歴を有するユーザと、前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を定義するスコア関数定義処理を実行させるための学習プログラム。
【０１１７】
（付記１５）第一のコンピュータに、第一のドメインと第二のドメインとの間で同一のユーザによる行動履歴であると特定されていない当該第一のドメインのユーザの行動履歴と、当該第二のドメインのユーザの行動履歴との入力を受け付けるユーザ集合入力処理、前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を用いて、受け付けた前記第一のドメインに行動履歴を有するユーザと前記第二のドメインに行動履歴を有するユーザのペアに対するスコアを算出するスコア算出処理、および、算出された前記スコアの大きさに基づいて、前記第一のドメインのユーザと同一のユーザを、前記第二のドメインのユーザの中から推定するマッチング処理を実行させ、前記スコア関数は第二のコンピュータによって生成され、前記第二のコンピュータは、前記第一のドメインと前記第二のドメインとの間で同一のユーザによる行動履歴であると特定されている当該ユーザの前記第一のドメインの行動履歴と、前記第二のドメインの行動履歴との入力を受け付ける行動履歴入力手段と、前記第一のドメインにおけるユーザの行動履歴と、前記第二のドメインにおけるユーザの行動履歴とを結合させた結合データの集合を生成する行動履歴結合手段と、前記結合データの集合を用いた学習により、行動履歴をベクトルに変換する変換器を生成する変換器生成手段と、生成された前記変換器を用いて、前記第一のドメインの行動履歴を第一のドメインベクトルに変換し、前記第二のドメインの行動履歴を第二のドメインベクトルに変換する変換手段と、前記第一のドメインベクトルと、前記第二のドメインベクトルとの類似度を導出する類似度関数を生成する類似度関数生成手段と、生成された前記類似度関数を用いて、前記スコア関数を定義するスコア関数定義手段とを備えたことを特徴とする推定プログラム。
【０１１８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１１９】
１０  学習装置
１１  記憶部
１２  行動履歴入力部
１３  行動履歴結合部
１４  変換器生成部
１５  変換部
１６  類似度関数生成部
１７  スコア関数定義部
２０  推定装置
２１  記憶部
２２  ユーザ集合入力部
２３  スコア算出部
２４  マッチング部
２５  出力部
１００  データ連携システム
【要約】
データ連携システム９０は、第一のドメインに行動履歴を有するユーザと、第二のドメインに行動履歴を有するユーザとの近さをスコアで表わす関数であるスコア関数を生成する学習装置７０と、第一のドメインと第二のドメインで一致するユーザを推定する推定装置８０とを備えている。スコア算出手段８２は、第一のドメインに行動履歴を有するユーザと第二のドメインに行動履歴を有するユーザのペアに対するスコアをスコア関数を用いて算出する。マッチング手段８３は、算出されたスコアの大きさに基づいて、第一のドメインのユーザと同一のユーザを、第二のドメインのユーザの中から推定する。【図１】
0006885525.tif 000014
【図２】
0006885525.tif 000015
【図３】
0006885525.tif 000016
【図４】
0006885525.tif 000017
【図５】
0006885525.tif 000018
【図６】
0006885525.tif 000019
【図７】
0006885525.tif 000020
【図８】
0006885525.tif 000021
【図９】
0006885525.tif 000022