(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】情報処理装置、制御方法及びプログラム
(51)【国際特許分類】
G06F 16/906 20190101AFI20241008BHJP
【FI】
G06F16/906
(21)【出願番号】P 2022576934
(86)(22)【出願日】2021-01-25
(86)【国際出願番号】 JP2021002432
(87)【国際公開番号】W WO2022157969
(87)【国際公開日】2022-07-28
【審査請求日】2023-07-21
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】草野 元紀
(72)【発明者】
【氏名】小山田 昌史
(72)【発明者】
【氏名】董 于洋
(72)【発明者】
【氏名】野澤 拓磨
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2010-191564(JP,A)
【文献】米国特許出願公開第2013/0328880(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
第1データセットに特化したユーザの特徴量である第1データセット特化特徴量と、第2データセットに特化したユーザの特徴量である第2データセット特化特徴量とを取得する特徴量取得手段と、
前記第1データセット特化特徴量及び前記第2データセット特化特徴量を、夫々、前記第1データセット及び前記第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換する普遍特徴量変換手段と、
前記第1データセットに対する前記普遍特徴量と前記第2データセットに対する前記普遍特徴量とに基づいて、前記第1データセットと前記第2データセットとで関連するユーザを特定する関連ユーザ特定手段と、
を備える情報処理装置。
【請求項2】
前記普遍特徴量変換手段は、前記第1データセット及び前記第2データセット間において普遍の前記ユーザのパラメータである第1ユーザパラメータを表す行列と、前記第1データセット又は前記第2データセットに特化した前記ユーザのパラメータである第2ユーザパラメータを表す行列とを含む形式に前記第1データセット特化特徴量の行列及び前記第2データセット特化特徴量の行列を夫々行列分解することで得られる前記第1ユーザパラメータを、前記普遍特徴量として算出する、請求項1に記載の情報処理装置。
【請求項3】
前記普遍特徴量変換手段は、前記第1ユーザパラメータ及び前記第2ユーザパラメータを含む目的関数の最適化により得られる前記第1ユーザパラメータを、前記普遍特徴量として算出する、請求項2に記載の情報処理装置。
【請求項4】
前記普遍特徴量変換手段は、
前記第1データセットの前記第1ユーザパラメータをP
s
1、前記第1データセットの前記第2ユーザパラメータをP
s
2、前記第2データセットの前記第1ユーザパラメータをP
t
1、前記第2データセットの前記第2ユーザパラメータをP
t
2とした場合、
前記第1データセット特化特徴量の行列X
sと、前記第2データセット特化特徴量の行列X
tとを夫々行列分解した以下の式が成立する場合に最小となる前記目的関数を最小化する前記最適化を実行する、請求項3に記載の情報処理装置。
【請求項5】
前記普遍特徴量変換手段は、前記第1データセット特化特徴量と、前記第2データセット特化特徴量とを、同一の特徴空間に変換した前記普遍特徴量を夫々算出する、請求項1~4のいずれか一項に記載の情報処理装置。
【請求項6】
前記第1データセットと、前記第2データセットとには、前記ユーザの共通する属性の情報が含まれていない、請求項1~5のいずれか一項に記載の情報処理装置。
【請求項7】
前記普遍特徴量に基づき、前記第1データセットのユーザと前記第2データセットに対するユーザとの間の類似度を算出する類似度算出手段をさらに有し、
前記関連ユーザ特定手段は、前記類似度に基づき、前記第1データセットと前記第2データセットとで関連するユーザを特定する、請求項1~6のいずれか一項に記載の情報処理装置。
【請求項8】
前記関連ユーザ特定手段は、前記第1データセットのユーザと前記第2データセットのユーザとを、前記第1データセットのユーザと前記第2データセットのユーザとの間の前記類似度に応じた確率により、関連するユーザとして特定する、請求項7に記載の情報処理装置。
【請求項9】
コンピュータが、
第1データセットに特化したユーザの特徴量である第1データセット特化特徴量と、第2データセットに特化したユーザの特徴量である第2データセット特化特徴量を取得し、
前記第1データセット特化特徴量及び前記第2データセット特化特徴量を、夫々、前記第1データセット及び前記第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換し、
前記第1データセットに対する前記普遍特徴量と前記第2データセットに対する前記普遍特徴量とに基づいて、前記第1データセットと前記第2データセットとで関連するユーザを特定する、
制御方法。
【請求項10】
第1データセットに特化したユーザの特徴量である第1データセット特化特徴量と、第2データセットに特化したユーザの特徴量である第2データセット特化特徴量を取得し、
前記第1データセット特化特徴量及び前記第2データセット特化特徴量を、夫々、前記第1データセット及び前記第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換し、
前記第1データセットに対する前記普遍特徴量と前記第2データセットに対する前記普遍特徴量とに基づいて、前記第1データセットと前記第2データセットとで関連するユーザを特定する処理をコンピュータに実行させるプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データの処理に関する情報処理装置、制御方法及び記憶媒体の技術分野に関する。
【背景技術】
【0002】
複数のユーザに関するデータから関連するユーザのデータを特定する方法の一例が特許文献1に開示されている。特許文献1には、複数の評価対象についての評価データを、ネットワークを介して受信し、複数のユーザの中の第1ユーザと、この第1ユーザの評価データと類似する評価傾向を有する第2ユーザとを関連付けて管理する方法が開示されている。また、非特許文献1には、行列分解を最適化により実行する手法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】Li, B.; Yang, Q.; and Xue, X. 2009a. Can movies and books collaborate? cross-domain collaborative filtering for sparsity reduction. In IJCAI, 2052‐2057.
【発明の概要】
【発明が解決しようとする課題】
【0005】
個人情報保護の観点から、氏名などの個人情報やCookieを用いた従来のユーザ連携手法が利用できない場合がある。一方、特許文献1では、人手でのルールベースで趣味嗜好等に関するユーザ属性を抽出している。しかし、データが大量である場合には人手の作業が膨大となり作業コストが過多となるという問題があった。
【0006】
本開示の目的は、上述した課題を鑑み、異なるデータセット間において関連するユーザを好適に特定することが可能な情報処理装置、制御方法及び記憶媒体を提供することである。
【課題を解決するための手段】
【0007】
情報処理装置の一の態様は、
第1データセットに特化したユーザの特徴量である第1データセット特化特徴量と、第2データセットに特化したユーザの特徴量である第2データセット特化特徴量とを取得する特徴量取得手段と、
前記第1データセット特化特徴量及び前記第2データセット特化特徴量を、夫々、前記第1データセット及び前記第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換する普遍特徴量変換手段と、
前記第1データセットに対する前記普遍特徴量と前記第2データセットに対する前記普遍特徴量とに基づいて、前記第1データセットと前記第2データセットとで関連するユーザを特定する関連ユーザ特定手段と、
を備える情報処理装置である。
【0008】
制御方法の一の態様は、
コンピュータが、
第1データセットに特化したユーザの特徴量である第1データセット特化特徴量と、第2データセットに特化したユーザの特徴量である第2データセット特化特徴量を取得し、
前記第1データセット特化特徴量及び前記第2データセット特化特徴量を、夫々、前記第1データセット及び前記第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換し、
前記第1データセットに対する前記普遍特徴量と前記第2データセットに対する前記普遍特徴量とに基づいて、前記第1データセットと前記第2データセットとで関連するユーザを特定する、
制御方法である。
【0009】
プログラムの一の態様は、
第1データセットに特化したユーザの特徴量である第1データセット特化特徴量と、第2データセットに特化したユーザの特徴量である第2データセット特化特徴量を取得し、
前記第1データセット特化特徴量及び前記第2データセット特化特徴量を、夫々、前記第1データセット及び前記第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換し、
前記第1データセットに対する前記普遍特徴量と前記第2データセットに対する前記普遍特徴量とに基づいて、前記第1データセットと前記第2データセットとで関連するユーザを特定する処理をコンピュータに実行させるプログラムである。
【発明の効果】
【0010】
異なるデータセット間において関連するユーザを好適に特定することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態におけるユーザ連携システムの概略構成を示す。
【
図2】情報処理装置のハードウェア構成の一例を示す。
【
図3】第1実施形態における情報処理装置に関する機能ブロック図の一例である。
【
図5】写像φ
s及び写像φ
tの概要を表す図である。
【
図6】写像sim及び写像Syncの概要を表す図である。
【
図7】(A)スーパーマーケットでの購入履歴を表す第1データセットのデータ構造の一例である。(B)インターネットでの閲覧履歴を表す第2データセットのデータ構造の一例である。(C)サイト毎に紐付けられたタグを表すテーブル情報の一例である。
【
図8】(A)
図7(A)に示す第1データセットから算出したデータセット特化特徴量の一例を示す。(B)
図7(B)に示す第2データセット及び
図7(C)に示すテーブル情報から算出したデータセット特化特徴量の一例を示す。
【
図9】
図8(A)に示されるデータセット特化特徴量と
図8(B)に示されるデータセット特化特徴量とを普遍特徴量に変換する処理の概要を表す図である。
【
図10】(A)関連付けられるユーザの購入履歴データを示す。(B)関連付けられるユーザの閲覧履歴データを示す。
【
図11】ユーザ連携処理の手順を示すフローチャートの一例である。
【
図12】第2実施形態における情報処理装置のブロック構成図である。
【
図13】第2実施形態におけるフローチャートの一例である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら、情報処理装置、制御方法及び記憶媒体の実施形態について説明する。
【0013】
<第1実施形態>
(1)
全体構成
図1は、第1実施形態におけるユーザ連携システム100の概略構成を示す。ユーザ連携システム100は、複数のデータセットにおいて関連するユーザの連携(関連するユーザの特定及び関連付け)を行う。ユーザ連携システム100は、情報処理装置1と、記憶装置2と、を備える。
【0014】
情報処理装置1は、記憶装置2に記憶された第1データセット「Ds」と第2データセット「Dt」とにおいて関連するユーザ(「関連ユーザ」とも呼ぶ。)の特定を行い、特定した関連ユーザに関する情報を関連ユーザ情報「Iu」として記憶装置2に記憶する。なお、情報処理装置1は、複数の装置から構成されてもよい。この場合、複数の装置は、クラウドコンピューティング技術などを用いて、割り当てられた処理を実行し、割り当てられた処理に必要な情報の授受を行ってもよい。
【0015】
記憶装置2は、情報処理装置1が実行する処理に必要な各種情報を記憶するメモリである。記憶装置2は、情報処理装置1に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶装置2は、情報処理装置1とデータ通信を行う1又は複数のサーバ装置であってもよい。記憶装置2は、第1データセットDsと、第2データセットDtと、関連ユーザ情報Iuとを記憶する。記憶装置2は、複数の装置から構成される場合、これらの情報を分散して記憶してもよい。
【0016】
第1データセットDs及び第2データセットDtは、ユーザ毎のデータの集合であり、データセット間においてユーザが関連付けられていないデータとなる。例えば、第1データセットDs及び第2データセットDtには、夫々のデータセット内においてのみユーザを一意に識別可能なユーザIDが含まれている。第1データセットDs及び第2データセットDtは、例えば、ユーザ毎の行動履歴(例えば、購入履歴、ウェブ検索履歴等)のデータベースであってもよく、ユーザ毎のアンケート結果、SNS(Social Networking Service)において公開されているユーザ毎のコメント(文章)情報、画像データ等であってもよい。また、第1データセットDs及び第2データセットDtは、異なる主体(会社、個人、自治体等)が生成したデータであってもよく、同一の主体であって異なる部門(例えば営業部門とマーケティング部門等)が夫々生成したデータであってもよい。
【0017】
また、第1データセットDsと第2データセットDtには、データセット間で共通するユーザの属性(即ちデータセット間のユーザを結び付ける属性)の情報が含まれていない。上記の属性は、例えば、性別、年齢、居住地域、所得、職業、家族構成などの人口統計学的な属性(デモグラフィック属性)及びその他の個人情報などが該当する。この場合であっても、情報処理装置1は、後述する方法により、第1データセットDsと第2データセットDtとで関連するユーザを好適に特定する。
【0018】
関連ユーザ情報Iuは、第1データセットDsと第2データセットDtとで関連するユーザを関連付けた情報である。関連ユーザ情報Iuは、例えば、関連ユーザとして特定された第1データセットDsのユーザIDと第2データセットDtのユーザIDとを対応付けたテーブル情報である。関連ユーザ情報Iuは、後述するユーザ連携処理を情報処理装置1が実行することで生成される。なお、関連ユーザとして関連付けられるユーザは、夫々のデータセットにおいて異なるユーザIDで登録された同一人物に限らず、属性が類似する別人物であってもよい。
【0019】
(2)
ハードウェア構成
図2は、情報処理装置1のハードウェア構成の一例を示す。情報処理装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス10を介して接続されている。
【0020】
プロセッサ11は、メモリ12に記憶されているプログラム等を実行することにより、所定の処理を実行する。プロセッサ11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などのプロセッサである。プロセッサ11は、複数のプロセッサから構成されてもよい。プロセッサ11は、コンピュータの一例である。
【0021】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)などの、作業メモリとして使用される各種の揮発性メモリ及び情報処理装置1の処理に必要な情報を記憶する不揮発性メモリにより構成される。なお、メモリ12は、情報処理装置1に接続又は内蔵されたハードディスクなどの外部記憶装置を含んでもよく、着脱自在なフラッシュメモリなどの記憶媒体を含んでもよい。メモリ12には、情報処理装置1が本実施形態における各処理を実行するためのプログラムが記憶される。なお、メモリ12は、記憶装置2又は記憶装置2の一部として機能し、第1データセットDs、第2データセットDt、関連ユーザ情報Iuの少なくともいずれかを記憶してもよい。
【0022】
インターフェース13は、情報処理装置1と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
【0023】
なお、情報処理装置1のハードウェア構成は、
図2に示す構成に限定されない。例えば、情報処理装置1は、ユーザ入力を受け付けるための入力部、ディスプレイやスピーカなどの出力部などをさらに備えてもよい。
【0024】
(3)ユーザ連携処理
情報処理装置1が実行するユーザ連携処理について説明する。概略的には、情報処理装置1は、第1データセットDsと第2データセットDtとに夫々特化したユーザの特徴量を共通の特徴空間の特徴量に変換し、変換後の特徴量の類似度に基づいてユーザ連携を行う。これにより、情報処理装置1は、異なるデータセット間のユーザ連携を好適に実行する。
【0025】
(3-1)
機能ブロック
図3は、第1実施形態におけるユーザ連携処理に関する情報処理装置1の機能ブロック図の一例である。
図3に示すように、情報処理装置1のプロセッサ11は、機能的には、特徴量算出部15と、普遍特徴量変換部16と、類似度算出部17と、関連ユーザ特定部18とを有する。なお、
図3では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは
図3に限定されない。後述する他の機能ブロックの図においても同様である。
【0026】
特徴量算出部15は、各データセットから、各データセットにおいてユーザを表現した数値ベクトルである特徴量を算出する。この特徴量の算出方法は任意であり、具体例については後述する。特徴量算出部15が算出する特徴量は、データセットごとに特化した特徴量であり、以後では「データセット特化特徴量」とも呼ぶ。特徴量算出部15は、第1データセットDsに対するデータセット特化特徴量と、第2データセットDtに対するデータセット特化特徴量とを夫々算出し、算出結果を普遍特徴量変換部16に供給する。
【0027】
普遍特徴量変換部16は、特徴量算出部15が算出した第1データセットDsのデータセット特化特徴量と、第2データセットDtのデータセット特化特徴量とを、共通の特徴空間において普遍的に表現した特徴量(「普遍特徴量」とも呼ぶ。)に変換する。普遍特徴量変換部16によるデータセット特化特徴量から普遍特徴量への変換処理は任意であり、普遍特徴量変換部16の処理の具体例については後述する。
【0028】
類似度算出部17は、普遍特徴量変換部16が出力した第1データセットDsの普遍特徴量と第2データセットDtの普遍特徴量との類似度を、第1データセットDsのユーザと第2データセットDtのユーザとの間の全ての組み合わせにおいて算出する。この類似度の算出方法は任意であり、具体例については後述する。
【0029】
関連ユーザ特定部18は、類似度算出部17が算出した第1データセットDsのユーザと第2データセットDtのユーザとの類似度に基づき関連ユーザを特定し、特定結果に基づき関連ユーザ情報Iuを生成する。上述の類似度から関連ユーザを特定する方法は任意であり、具体例については後述する。
【0030】
ここで、特徴量算出部15、普遍特徴量変換部16、類似度算出部17及び関連ユーザ特定部18の各構成要素は、例えば、プロセッサ11がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子プロセッサ(量子コンピュータ制御チップ)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は、例えば、クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
【0031】
(3-2)
特徴量算出部の処理
特徴量算出部15によるデータセット特化特徴量の具体的な算出方法について説明する。特徴量算出部15は、例えば、第1データセットDsに対し、次の式(1)に示す写像「h
s」を実現する処理を行う。
【数1】
ここで、「D
s」は、第1データセットDsの(即ち生データの)空間を表し、「d
s
i」は、ユーザi(i∈U
s、U
sは第1データセットDsに登録されたユーザ集合)に関するデータを表す。また、「x
s
i」は、データd
s
iから算出される、第1データセットDsに特化したデータセット特化特徴量、「M
s」は、第1データセットDsに特化したデータセット特化特徴量の特徴空間の次元を夫々表す。この場合、第1データセットDsに特化したデータセット特化特徴量の集合である「X
s」は、以下の式(2)のように表される。
【0032】
【数2】
第1データセットDsのデータセット特化特徴量X
sは、「第1データセット特化特徴量」の一例である。
【0033】
図4は、写像h
sの概要を表す図である。
図4では、生データである第1データセットDs(={d
s
1,d
s
2,…,d
s
m})が、特徴量算出部15により、データセット特化特徴量(X
s={x
s
1,x
s
2,…,x
s
m})に変換されている。
【0034】
また、特徴量算出部15は、第2データセットDtについても同様に、次の式(3)に示す写像「ht」を実現する処理を行う。
【0035】
【数3】
ここで、「D
t」は、第2データセットDtの空間を表し、「d
t
j」は、ユーザj(j∈U
t、U
tは第2データセットDtに登録されたユーザ集合)に関するデータを表す。また、「x
t
j」は、データd
t
jから算出される、第2データセットDtに特化したデータセット特化特徴量を表し、「M
t」は、第2データセットDtに特化したデータセット特化特徴量の特徴空間の次元を夫々表す。この場合、第2データセットDtに特化したデータセット特化特徴量の集合である「X
t」は、以下の式(4)のように表される。
【0036】
【数4】
第2データセットDtのデータセット特化特徴量X
tは、「第2データセット特化特徴量」の一例である。
【0037】
次に、データセット特化特徴量の算出方法の具体例について説明する。
【0038】
例えば、特徴量算出部15は、データセット特化特徴量の算出対象となるデータセットが商品の購入、サイトの閲覧、音楽の視聴などの行動履歴(即ち、ユーザがアクションしたアイテムの系列)である場合、BoW(Bag of Words)、TF-IDF、Okapi BM25などを適用することで、データセット特化特徴量を算出する。他の例では、特徴量算出部15は、データセット特化特徴量の算出対象となるデータセットが文章(コメント)の集合である場合、Doc2Vec、SCDV(Sparse Composite Document Vectors)、BoW、TF-IDF、Okapi BM25などを適用することで、データセット特化特徴量を算出する。
【0039】
また、特徴量算出部15は、データセット特化特徴量の算出対象となるデータセットが画像を含む場合には、深層学習などにより学習済みの特徴抽出器に上述の画像を入力することで得られる特徴抽出結果を、データセット特化特徴量として取得してもよい。また、特徴量算出部15は、SNSにおける投稿(文章・画像)をデータセットとする場合、投稿と一緒に付けられたタグに対し、上述のBoW、TF-IDF、Okapi BM25などを適用することで、データセット特化特徴量を算出してもよい。このように、特徴量算出部15は、アイテムそのものに限らず、アイテムに付随する属性を用いてデータセット特化特徴量を算出してもよい。この具体例については、「(4)具体例」のセクションにおいて説明する。
【0040】
なお、特徴量算出部15は、データセットが選択式アンケート結果などの数値データである場合、当該数値データをデータセット特化特徴量として扱ってもよい。この場合、特徴量算出部15は、データセットに対して恒等写像を行ったデータセット特化特徴量を取得している。
【0041】
(3-3)普遍特徴量変換部の処理
次に、第1データセットDs及び第2データセットDtの各データセット特化特徴量を普遍特徴量に変換する普遍特徴量変換部16の処理について説明する。普遍特徴量変換部16は、特徴量算出部15が算出した第1データセットDsのデータセット特化特徴量Xsに対し、以下の式(5)に示される写像「φs」を実現する処理を行う。
【0042】
【数5】
ここで、「p
s
i」は、第1データセットDsのユーザiのデータセット特化特徴量x
s
iから算出される普遍特徴量を表し、「M」は、普遍特徴量の特徴空間の次元を表す。
【0043】
同様に、普遍特徴量変換部16は、特徴量算出部15が算出した第2データセットDtのデータセット特化特徴量Xtに対し、以下の式(6)に示される写像「φt」を実現する処理を行う。
【0044】
【数6】
ここで、「p
t
j」は、第2データセットDtのユーザjのデータセット特化特徴量x
t
jから算出される普遍特徴量を表す。
【0045】
図5は、写像φ
s及び写像φ
tの概要を表す図である。
図5では、第1データセットDsの特徴空間で表されたデータセット特化特徴量(X
s={x
s
1,x
s
2,…,x
s
m})が写像φ
sにより普遍特徴量{p
s
1,p
s
2,p
s
3,…}に変換され、第2データセットDtの特徴空間で表されたデータセット特化特徴量(X
t={x
t
1,x
t
2,…,x
t
n})が写像φ
sにより普遍特徴量{p
t
1,p
t
2,…}に変換されている。ここで、第1データセットDsの普遍特徴量{p
s
1,p
s
2,p
s
3,…}及び第2データセットDtの普遍特徴量{p
t
1,p
t
2,…}は、いずれも共通する特徴空間(即ちデータセットに普遍な特徴空間)において表されている。
【0046】
次に、普遍特徴量の具体的な算出方法について説明する。以下の具体例では、データセットに普遍のユーザのパラメータ(「第1ユーザパラメータ」とも呼ぶ。)とデータセットに特化したユーザのパラメータ(「第2ユーザパラメータ」とも呼ぶ。)とを含む目的関数の最適化を行うことで求めた第1ユーザパラメータを、普遍特徴量として求める。この第1ユーザパラメータは、第1データセットDsの普遍特徴量を表す行列と第2データセットDtの普遍特徴量を表す行列とを、第1ユーザパラメータのブロック及び第2ユーザパラメータのブロックを有する区分行列を含む形式に行列分解した場合の第1ユーザパラメータの近似解に相当する。
【0047】
普遍特徴量変換部16は、データセット特化特徴量を表す行列を、ユーザの特徴量行列「P」とアイテムの特徴量行列「Q」と次元を揃える行列「Σ」を用いて「PΣQT」の形式に行列分解する。具体的には、普遍特徴量変換部16は、データセット特化特徴量Xs及びデータセット特化特徴量Xtについて、以下の式(7)及び式(8)に示す行列分解を行う。
【0048】
【0049】
ここで、ユーザの特徴量行列Pは、式(7)では、「Ps
1」、「Ps
2」をブロック(小行列)とする区分行列として表され、式(8)では、「Pt
1」、「Pt
2」をブロックとする区分行列として表される。また、行列Σは、式(7)では、「Σ11」、「Σs
12」、「Σs
21」、「Σs
22」をブロック(小行列)とする区分行列として表され、式(8)では、「Σ11」、「Σt
12」、「Σt
21」、「Σt
22」をブロックとする区分行列として表されている。また、アイテムの特徴量行列Qは、式(7)では、「Qs
1」、「Qs
2」をブロック(小行列)とする区分行列として表され、式(8)では、「Qt
1」、「Qt
2」をブロックとする区分行列として表される。
【0050】
この場合、式(7)及び式(8)において、ユーザの特徴量行列の小行列Ps
1及びPt
1は、共通する行列Σの小行列Σ11の演算対象となっており、データセットに普遍な第1ユーザパラメータを要素とする行列となる。なお、小行列Σ11のサイズ(行数及び列数)は、例えば、メモリ12等に予め記憶された適合値に設定される。一方、ユーザの特徴量行列の小行列Ps
2及びPt
2は、データセットごとに固有の行列Σの小行列(Σs
21、Σs
22、Σt
21、Σt
22)の演算対象となっており、データセットに特化した第2ユーザパラメータを要素とする行列となる。
【0051】
従って、この場合、写像φsは、以下の式(9)に示すように、第1データセットDsのユーザiのデータセット特化特徴量xs
iを第1ユーザパラメータPs
1に変換する写像として表される。同様に、写像φtは、以下の式(10)に示すように、第2データセットDtのユーザjのデータセット特化特徴量xt
jを第1ユーザパラメータPt
1に変換する写像として表される。
【0052】
【0053】
従って、普遍特徴量変換部16は、式(7)、式(8)に示す形式に第1データセットDsのデータセット特化特徴量Xs及び第2データセットDtのデータセット特化特徴量Xtを行列分解することで得られる第1ユーザパラメータPs
1及びPt
1を、普遍特徴量として算出する。ここでは、一例として、普遍特徴量変換部16は、式(7)及び式(8)が成立する場合に最小となる目的関数を設定し、当該目的関数を最小化する最適化問題を解く。具体的には、普遍特徴量変換部16は、以下の式(11)の最適化問題を解く。
【0054】
【0055】
式(11)では、普遍特徴量変換部16は、式(7)の右辺と左辺の差のノルムと、式(8)の右辺と左辺の差のノルムとの和を目的関数として、当該目的関数を最小化するような第2ユーザパラメータ(即ちPs
1及びPt
1)を算出している。これにより、普遍特徴量変換部16は、第1データセットDs及び第2データセットDtに対する普遍特徴量を好適に算出することができる。
【0056】
なお、普遍特徴量変換部16は、式(11)に示される最適化により、式(7)及び式(8)の第1ユーザパラメータPs
1及びPt
1を求めたが、第1ユーザパラメータPs
1及びPt
1の算出方法はこれに限定されない。これに代えて、普遍特徴量変換部16は、勾配法などの任意の近似解法を用いて式(7)及び式(8)の行列分解の近似解を求めることで、第1ユーザパラメータPs
1及びPt
1を求めてもよい。この場合であっても、普遍特徴量変換部16は、普遍特徴量となる第1ユーザパラメータPs
1及びPt
1を好適に求めることができる。また、一般的に、任意の形式の行列分解の最適化問題をニューラルネットワークとみなし、行列分解の最適値をPyTorchなどの任意の深層学習ライブラリにより解くことが可能である。よって、普遍特徴量変換部16は、任意の深層学習ライブラリにより、式(7)、式(8)に示す行列分解の解を求めることで、普遍特徴量となる第1ユーザパラメータPs
1及びPt
1を取得してもよい。
【0057】
次に、関連ユーザとなる第1データセットDsのユーザと第2データセットDtのユーザの組み合わせの一部が既に事前知識により判明している場合について説明する。この場合、普遍特徴量変換部16は、式(11)に示す目的関数において、事前知識により関連ユーザであると判明しているユーザ同士の第1ユーザパラメータ(即ち普遍特徴量)が一致する場合に最小値0となる項を設ける。具体的には、関連ユーザであると判明している一方の第1データセットDsのユーザの第1ユーザパラメータを表す行列を「Ps
1[tr]」とし、他方の第2データセットDtのユーザの普遍特徴量を表す行列を「Pt
1[tr]」とすると、普遍特徴量変換部16は、以下の式(12)の最適化問題を解く。
【0058】
【数10】
ここで、「λ」は正則化パラメータであり「λ>0」に設定される。式(12)に示すように目的関数を設定することで、既に判明している関連ユーザの組に関する事前知識を好適に活用し、第1ユーザパラメータP
s
1及びP
t
1を的確に算出することができる。
【0059】
また、普遍特徴量変換部16は、上記目的関数において、事前知識により関連ユーザであると判明しているユーザu(∈Utr)と、第1データセットDsにおいてユーザuと類似している第1データセットDsのユーザu’(∈Us)に対し、類似ユーザへの疑似的な連携を許容した第1ユーザパラメータ(即ち普遍特徴量)を求める項を設けてもよい。具体的には、第1データセットDs内でのユーザuとユーザu’の類似度を「Ss
uu’」とし、関連ユーザであると判明している一方の第1データセットDsのユーザuと第1データセットDs内で類似度がSs
uu’となるユーザu’の第1ユーザパラメータを「Ps
1[u’]」とし、他方の第2データセットDtのユーザuの普遍特徴量を「Pt
1[u]」とすると、普遍特徴量変換部16は、以下の式(13)の最適化問題を解く。
【0060】
【数11】
ここで、「λ」は正則化パラメータであり「λ>0」に設定される。「S
s
uu’」は第1データセットDs内でのユーザuとu’の類似度であり、同一データセット内における類似度計算は容易に可能である。式(13)に示すように目的関数を設定することで、既に判明している関連ユーザとそのユーザと類似するユーザの組に関する事前知識を好適に活用し、第1ユーザパラメータP
s
1及びP
t
1を的確に算出することができる。
【0061】
(3-4)類似度算出部の処理
類似度算出部17は、第1データセットDsのユーザと第2データセットDtのユーザとの全ての組み合わせに対する普遍特徴量の組(ps
i,pt
j)の類似度を算出する。この場合、類似度算出部17は、以下の写像「sim」を実現する処理を行う。
【0062】
【数12】
例えば、類似度算出部17は、コサイン類似度(<p
s
i,p
t
j>/|p
s
i||p
t
j|)により、普遍特徴量の組(p
s
i,p
t
j)に対する類似度を算出する。他の例では、類似度算出部17は、ガウス類似度(exp(-α|p
s
i-p
t
j|
2)(α>0))により、普遍特徴量の組(p
s
i,p
t
j)に対する類似度を算出する。さらに別の例では、類似度算出部17は、以下に例示されるように、普遍特徴量の組(p
s
i,p
t
j)間の距離「d(p
s
i,p
t
j)」から定まる類似度により、普遍特徴量の組(p
s
i,p
t
j)に対する類似度を算出する。
sim(p
s
i,p
t
j)=1-d(p
s
i,p
t
j)
sim(p
s
i,p
t
j)={1+d(p
s
i,p
t
j)}
-1
【0063】
なお、距離d(ps
i,pt
j)は、L2距離であってもよく、ジェンセン・シャノン情報量であってもよい。また、類似度算出部17は、相加平均、幾何平均、調和平均、複比ユニノルムなどの集約関数を用いて、上述した任意の方法で算出する複数の類似度の算出結果を集約した1つの類似度を算出してもよい。
【0064】
(3-5)関連ユーザ特定部の処理
次に、関連ユーザ特定部18による関連ユーザの特定及び関連付けについて説明する。関連ユーザ特定部18は、以下の写像「Sync」を実現する処理を行う。
【0065】
【0066】
図6は、写像sim及び写像Syncの概要を表す図である。
図6では、まず、第1データセットDsの各データ{d
s
1,d
s
2,…,d
s
m}と第2データセットDtの各データ{d
t
1,…,d
t
n}との全ての組み合わせに対する普遍特徴量の類似度「S
ij」(=sim(p
s
i,p
t
j))が算出される。そして、関連ユーザ特定部18は、第1データセットDsの各データ{d
s
1,d
s
2,…,d
s
m}と第2データセットDtの各データ{d
t
1,…,d
t
n}との全ての組み合わせに対する類似度S
ijに基づき、第1データセットDsのユーザiに関連するユーザ{j
1,…,j
k}を特定する。
図6の右図では、関連ユーザとして特定されたユーザの組に対応するデータ同士を線により結んでいる。ここで、第1データセットDsのユーザと第2データセットDtのユーザとの対応関係は、1対1に限られず、複数対1、又は、1対複数であってもよい。また、いずれのユーザとも対応付けられないユーザが存在してもよい。
【0067】
次に、関連ユーザの特定方法の具体例について説明する。例えば、関連ユーザ特定部18は、第1データセットDsのユーザi(∈Us)に対し、類似度が一番大きい第2データセットDtのユーザが関連ユーザであると判定する。この場合、第1データセットDsの各ユーザに対して1人の第2データセットDtのユーザが関連ユーザとして特定される。他の例では、関連ユーザ特定部18は、第1データセットDsのユーザi(∈Us)に対し、予め定めた閾値以上の類似度となる第2データセットDtのユーザが関連ユーザであると判定する。この場合、第1データセットDsの各ユーザに対して誰も関連ユーザが特定されない場合や複数人が関連ユーザとして特定される場合がある。さらに別の例では、関連ユーザ特定部18は、第1データセットDsの各ユーザに対し、類似度が高い上位所定人数(1人以上)の第2データセットDtのユーザを、関連ユーザとして特定する。さらに別の例では、関連ユーザ特定部18は、Gale-Shapleyアルゴリズムなどの二部グラフに対するマッチングアルゴリズムに基づき、第1データセットDsのユーザに関連する第2データセットDtのユーザを特定してもよい。
【0068】
また、関連ユーザ特定部18は、確率的手法に基づき、上述の類似度から関連ユーザの特定を行ってもよい。この場合、関連ユーザとして特定される第2データセットDtのユーザの分布を「μu」とすると、写像Syncは、以下の式により表される。
【0069】
【数14】
ここで、分布μ
uは、一様分布であってもよく、類似度に応じた分布であってもよい。例えば、soft-max関数を用いた場合、類似度に応じた分布μ
uは、以下の式により表される。
【0070】
【数15】
この場合、例えば、関連ユーザ特定部18は、第1データセットDsのユーザAに対し、上述の式に基づき「0.9」となる第2データセットDtのユーザBが存在する場合、90%の確率でユーザAとユーザBとを関連ユーザとして特定する。一方、関連ユーザ特定部18は、第1データセットDsのユーザAに対し、上述の式に基づき「0.1」となる第2データセットDtのユーザCが存在する場合、10%の確率でユーザAとユーザCとを関連ユーザとして特定する。このように、関連ユーザ特定部18は、第1データセットDsのユーザと第2データセットDtのユーザとを、これらのユーザ間の類似度に応じた確率により、関連ユーザとして特定してもよい。
【0071】
以上の例によれば、関連ユーザ特定部18は、類似度算出部17が算出した類似度に基づき、関連ユーザを好適に特定し、これらのユーザを関連付けた関連ユーザ情報Iuを好適に生成することができる。
【0072】
(4)具体例
次に、上述したユーザ連携処理の具体例について図面を参照して説明する。
【0073】
図7(A)は、あるスーパーマーケットでの購入履歴を表す第1データセットDsのデータ構造の一例であり、
図7(B)は、インターネットでの閲覧履歴を表す第2データセットDtのデータ構造の一例である。
図7(C)は、サイト(Webサイト、広告を含む)毎に紐付けられたタグを表すテーブル情報の一例である。
【0074】
以後では、「d
s
i=(a
s
1,…,a
s
m)∈D
s」は、ユーザiの購入履歴データを表し、「a
s
l」はスーパーマーケットで売られている商品を表す。また、「d
t
i=(a
t
1,…,a
t
m)∈D
t」は、ユーザjの閲覧履歴データを表し、「a
t
l」はインターネットで閲覧できるサイトを表す。
図7(C)に示すように、各サイトには、タグが紐付けられている。
【0075】
図8(A)は、
図7(A)に示す第1データセットDsから算出したデータセット特化特徴量の一例を示し、
図8(B)は、
図7(B)に示す第2データセットDt及び
図7(C)に示すテーブル情報から算出したデータセット特化特徴量の一例を示す。
【0076】
図8(A)の例では、特徴量算出部15は、
図7(A)に示す第1データセットDsの各ユーザiの購入履歴データd
s
iに対し、式(1)に示される写像h
sの一例としてTF-IDFを適用することで、各ユーザiに対するデータセット特化特徴量x
s
i(∈R
Ms)を算出している。そして、
図8(A)に示すテーブル全体は、データセット特化特徴量X
s(式(2)参照)に相当する。
【0077】
また、
図8(B)の例では、特徴量算出部15は、
図7(B)に示す第2データセットDtの各ユーザjの閲覧履歴データd
t
jに対応するタグの集合に対し、式(3)に示される写像h
tの一例であるTF-IDFを適用することで、各ユーザjに対するデータセット特化特徴量x
t
j(∈R
Mt)を算出している。そして、
図8(B)に示すテーブル全体は、データセット特化特徴量行列X
t(式(4)参照)に相当する。
【0078】
図9は、
図8(A)に示すテーブルに相当するデータセット特化特徴量X
sと
図8(B)に示すテーブルに相当するデータセット特化特徴量X
tとを普遍特徴量に変換する処理の概要を表す図である。
図9では、普遍特徴量変換部16は、
図8(A)に示すテーブルに相当するデータセット特化特徴量X
sを、式(5)に示される写像φ
sを用い、普遍特徴量p
s
i(p
s
1、p
s
2、p
s
3、…)に変換している。また、普遍特徴量変換部16は、
図8(B)に示すテーブルに相当するデータセット特化特徴量X
tを、式(6)に示される写像φ
tを用い、普遍特徴量p
t
i(p
t
1、p
t
2、p
t
3、…)に変換している。この場合、普遍特徴量変換部16は、例えば、
図8(A)に示すテーブルに相当するデータセット特化特徴量X
sと
図8(B)に示すテーブルに相当するデータセット特化特徴量X
tとを夫々行列とみなし、これらの行列を行列分解するための式(11)に示される最適化問題を解くことで、上述の普遍特徴量p
s
i、p
t
iを算出する。
【0079】
その後、類似度算出部17は、例えば、コサイン類似度等を用いて第1データセットDsのユーザiと第2データセットDtのユーザjとの全ての組み合わせに対する類似度を算出し、関連ユーザ特定部18は、当該類似度が閾値(例えば0.95)以上となるユーザの組み合わせを関連ユーザとして特定する。
【0080】
図10(A)及び
図10(B)は、関連ユーザ特定部18が関連するユーザとして特定したユーザのデータの組み合わせを示す。
図10(A)は、ユーザID「s01」の購入履歴データを示し、
図10(B)は、ユーザID「t08」、「t12」、「t33」の閲覧履歴データを示す。ここでは、関連ユーザ特定部18は、ユーザID「s01」の普遍特徴量と閾値(ここでは0.95)以上の類似度となる普遍特徴量を有する第2データセットDtのユーザID「t08」、「t12」、「t33」を関連ユーザとして特定している。よって、この場合、関連ユーザ特定部18は、ユーザID「s01」と、ユーザID「t08」、「t12」、「t33」とを関連付けた関連ユーザ情報Iuを生成する。
【0081】
このように、本具体例では、情報処理装置1は、スーパーマーケットのデータセットとインターネットの閲覧履歴のデータセットとの間において関連するユーザを的確に特定し、関連ユーザ情報Iuを生成することができる。そして、購入履歴とウェブ閲覧履歴とのユーザ連携を行うことで、推薦精度向上やマーケティング施策などに役立てることができる。
【0082】
なお、ユーザ連携を行うデータセットの組み合わせはこの具体例に限定されない。例えば、自社と競合他社との同種のデータセットを対象とした場合には、競合分析などに好適に役立てることができる。また、広告配信側のデータセットと広告提供側のデータセットを対象とした場合には、広告の測定効果に好適に役立てることができる。
【0083】
(5)
処理フロー
図11は、情報処理装置1が実行するユーザ連携処理の手順を示すフローチャートの一例である。
【0084】
まず、情報処理装置1の特徴量算出部15は、インターフェース13を介し、記憶装置2から第1データセットDs及び第2データセットDtを取得する(ステップS11)。そして、特徴量算出部15は、第1データセットDsに特化したデータセット特化特徴量、及び、第2データセットDtに特化したデータセット特化特徴量を夫々算出する(ステップS12)。この場合、特徴量算出部15は、第1データセットDsに対して式(1)に示す写像hsを実現する処理を行い、第2データセットDtに対して式(3)に示す写像htを実現する処理を行う。
【0085】
次に、普遍特徴量変換部16は、第1データセットDsに特化したデータセット特化特徴量及び第2データセットDtに特化したデータセット特化特徴量を、夫々、普遍特徴量に変換する(ステップS13)。この場合、普遍特徴量変換部16は、第1データセットDsのデータセット特化特徴量に対して式(5)に示す写像φsを実現する処理を行い、第2データセットDtのデータセット特化特徴量に対して式(6)に示す写像φtを実現する処理を行う。
【0086】
次に、類似度算出部17は、第1データセットDsのユーザと第2データセットDtのユーザとの間の類似度を算出する(ステップS14)。この場合、類似度算出部17は、第1データセットDsのユーザと第2データセットDtのユーザとの全ての組み合わせに対し、対応する普遍特徴量に基づく類似度を算出する。
【0087】
そして、関連ユーザ特定部18は、ステップS14で算出された類似度に基づき、関連ユーザ情報Iuを生成する(ステップS15)。この場合、関連ユーザ特定部18は、ステップS14で算出された類似度に基づき、第1データセットDsのユーザと関連する第2データセットDtのユーザを特定し、その特定結果を表す関連ユーザ情報Iuを生成する。
【0088】
以上説明したように、本実施形態によれば、情報処理装置1は、ユーザIDの管理が異なるデータセット間のユーザ連携を好適に実行することができる。この場合、情報処理装置1は、データが大量かつ煩雑で人手では対応できないデータセットのユーザ連携についても自動で実行することができる。また、情報処理装置1は、ユーザの氏名やデモグラフィック属性などの個人情報及びCookieなどが諸々の規制で入手できない場合であっても、これらの情報を必要とすることなく、データセット間のユーザ連携を好適に実行することができる。
【0089】
<第2実施形態>
図12は、第2実施形態における情報処理装置1Xのブロック構成図である。
図12に示すように、情報処理装置1Xは、主に、特徴量取得手段15Xと、普遍特徴量変換手段16Xと、関連ユーザ特定手段18Xとを有する。情報処理装置1Xは、複数の装置から構成されてもよい。
【0090】
特徴量取得手段15Xは、第1データセットに特化したユーザの特徴量である第1データセット特化特徴量と、第2データセットに特化したユーザの特徴量である第2データセット特化特徴量を取得する。この場合、特徴量取得手段15Xは、第1及び第2データセットから夫々第1及び第2データセット特化特徴量を算出してもよく、データセット毎に予め算出された第1及び第2データセット特化特徴量をメモリ又は外部装置から取得(受信)してもよい。前者の特徴量取得手段15Xは、例えば、第1実施形態における特徴量算出部15とすることができる。
【0091】
普遍特徴量変換手段16Xは、第1データセット特化特徴量及び第2データセット特化特徴量を、夫々、第1データセット及び第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換する。普遍特徴量変換手段16Xは、例えば、第1実施形態における普遍特徴量変換部16とすることができる。
【0092】
関連ユーザ特定手段18Xは、第1データセットに対する普遍特徴量と第2データセットに対する普遍特徴量とに基づいて、第1データセットと第2データセットとで関連するユーザを特定する。関連ユーザ特定手段18Xは、例えば、類似度算出部17及び関連ユーザ特定部18とすることができる。
【0093】
なお、関連ユーザ特定手段18Xは、例えば、第1データセットのユーザ毎の普遍特徴量と、第2データセットのユーザ毎の普遍特徴量とが入力された場合に、データセット間で関連すると推定されるユーザの組み合わせを出力する推論器を用いて、第1データセットと第2データセットとで関連するユーザを特定してもよい。この場合、関連ユーザ特定手段18Xは、機械学習等に基づき予め学習された上述の推論器のパラメータが記憶されたメモリ等を参照して上述の推論器を構成することで、上述のユーザの特定を行う。
【0094】
図13は、第2実施形態において情報処理装置1Xが実行するフローチャートの一例である。まず、特徴量取得手段15Xは、第1データセット及び第2データセットの各々に特化したユーザの特徴量であるデータセット特化特徴量を取得する(ステップS21)。普遍特徴量変換手段16Xは、データセット特化特徴量を、第1データセット及び第2データセット間において普遍な特徴空間における特徴量である普遍特徴量に変換する(ステップS22)。関連ユーザ特定手段18Xは、第1データセットに対する普遍特徴量と第2データセットに対する普遍特徴量とに基づいて、第1データセットと第2データセットとで関連するユーザを特定する(ステップS23)。
【0095】
第2実施形態によれば、情報処理装置1Xは、異なるデータセット間で関連するユーザを個人情報等を必要とすることなく好適に特定することができる。
【0096】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【符号の説明】
【0097】
1、1X 情報処理装置
2 記憶装置
11 プロセッサ
12 メモリ
13 インターフェース
100 ユーザ連携システム