IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 楽天株式会社の特許一覧

特許7460703共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法
<>
  • 特許-共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法 図1A
  • 特許-共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法 図1B
  • 特許-共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法 図2
  • 特許-共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法 図3
  • 特許-共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法 図4
  • 特許-共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】共有されたニューラルアイテム表現をコールドスタート推薦に用いる改良型のレコメンダシステム及び方法
(51)【国際特許分類】
   G06N 3/045 20230101AFI20240326BHJP
   G06Q 30/0601 20230101ALI20240326BHJP
【FI】
G06N3/045
G06Q30/0601 330
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2022124085
(22)【出願日】2022-08-03
(65)【公開番号】P2023024950
(43)【公開日】2023-02-21
【審査請求日】2022-12-06
(31)【優先権主張番号】63/230,676
(32)【優先日】2021-08-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/234,651
(32)【優先日】2021-08-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/556,954
(32)【優先日】2021-12-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(72)【発明者】
【氏名】ラミン・ラジパーチコライ
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2021-099791(JP,A)
【文献】中国特許出願公開第111815410(CN,A)
【文献】中国特許出願公開第110288436(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/045
G06Q 30/0601
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムによって実行され、ユーザとアイテムについてのインタラクション値を予測する方法であって、
トレーニングフェーズに関して、
(a)トレーニング用のユーザ及びアイテムのトレーニング用データセットを取得するステップであって、前記トレーニング用データセットは、前記データセット内の各アイテムのアイテムデータと、各トレーニング用ユーザのユーザインタラクションベクトルとを含み、前記ユーザインタラクションベクトルは、前記トレーニング用データセット内のユーザとアイテムの各ペアのインタラクション値を有するインタラクション行列から得られる、ステップと、
(b)アイテムニューラルネットワークエンコーダを用いて、少なくとも1人のトレーニング用ユーザがポジティブなインタラクション値を有する前記トレーニング用データセット内の各アイテムのアイテムベクトル表現を計算するステップと、
(c)前記アイテムベクトル表現を用いて、ユーザニューラルネットワークエンコーダの第1層における重み行列を設定するステップと、
(d)前記トレーニング用データセット内のユーザとアイテムの各ペアにつき、
前記トレーニング用ユーザのユーザインタラクションベクトルに前記ユーザニューラルネットワークエンコーダを適用することによりユーザベクトル表現を計算し、ここで、前記トレーニング用ユーザのユーザベクトル表現の計算において、ユーザニューラルネットワークエンコーダの第1層の出力は、前記トレーニング用ユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数であり、
前記ペアにおける前記アイテムのアイテムデータに前記アイテムニューラルネットワークエンコーダを適用することにより、アイテムベクトル表現を計算し、
前記ペアについて生成された前記ユーザベクトル表現及び前記アイテムベクトル表現に基づいて、前記ユーザとアイテムのペアについての予測インタラクション値を計算するステップと、
(e)前記トレーニング用データセット内の前記ユーザとアイテムのペアについての予測インタラクション値と実際のインタラクション値との間の損失を算出するステップと、
(f)前記アイテムニューラルネットワークエンコーダ及び前記ユーザニューラルネットワークエンコーダのトレーニング可能なパラメータを、前記損失が最小となるように調整するステップと、
(g)複数回の反復にわたりステップ(b)~(f)を繰り返すステップと
を行い、
予測フェーズに関して、
(h)複数のアイテムのアイテムベクトル表現を計算するステップであって、前記アイテムベクトル表現は、前記アイテムのアイテムデータに前記アイテムニューラルネットワークエンコーダを適用することにより生成される、ステップと、
(i)前記アイテムベクトル表現を用いて、前記ユーザニューラルネットワークエンコーダの第1層における前記重み行列を設定するステップと、
(j)テストユーザについて、
前記テストユーザのユーザインタラクションベクトルを取得し、
前記テストユーザとの既知のインタラクション値が存在しないアイテムkのアイテムデータを取得し、
前記ユーザインタラクションベクトルに前記ユーザニューラルネットワークエンコーダを適用することにより、前記テストユーザのユーザベクトル表現を計算し、ここで、前記ユーザニューラルネットワークエンコーダの第1層の出力は、前記テストユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数であり、
アイテムkのアイテムデータに前記アイテムニューラルネットワークエンコーダを適用することにより、アイテムkのアイテムベクトル表現を計算し、
前記テストユーザ及び前記アイテムについて計算された前記ユーザベクトル表現及び前記アイテムベクトル表現に基づいて、前記テストユーザとアイテムkについての予測インタラクション値を計算するステップと
を行う、
方法。
【請求項2】
前記テストユーザについての既知のインタラクション値が存在しない複数のアイテムに関してステップ(j)を繰り返すステップと、
前記テストユーザ及び前記複数のアイテムについて計算された前記予測インタラクション値に基づいて、1つ以上のアイテムを前記テストユーザに推薦するステップと
を更に含む請求項1に記載の方法。
【請求項3】
複数のテストユーザについてステップ(j)を繰り返すステップと、
テストユーザ及びアイテムkについての前記予測インタラクション値に基づいて、前記複数のテストユーザのうちの1人以上にアイテムkを推薦するステップと
を更に含む請求項1に記載の方法。
【請求項4】
前記ユーザニューラルネットワークエンコーダにおける第1層の出力の計算は、
前記ユーザがポジティブなインタラクション値を有する複数のアイテムのアイテムベクトル表現に統合関数を適用して、複数の前記アイテムベクトル表現を単一のベクトルへとマッピングするステップと、
前記単一のベクトルを、前記ユーザニューラルネットワークエンコーダにおける第1層の出力として用いるステップと
を含む、請求項1に記載の方法。
【請求項5】
前記統合関数が、複数の前記アイテムベクトル表現を平均する平均関数である、請求項4に記載の方法。
【請求項6】
前記統合関数が、複数の前記アイテムベクトル表現の加重平均を、複数の前記アイテムベクトル表現と、インタラクション値が予測されているアイテムのアイテムベクトル表現との類似度に基づいて計算する加重平均関数である、請求項4に記載の方法。
【請求項7】
前記ユーザニューラルネットワークエンコーダが複数の層を有し、
各層は重み行列と関連付けられ、
前記トレーニング可能なパラメータは、前記第1層の重み行列以外の重み行列を含み、
前記第1層の重み行列は、固定され、ステップ(b)における前記アイテムベクトル表現が後続の反復にて変化したことに応じてのみ変化する、
請求項1に記載の方法。
【請求項8】
前記トレーニング用データセットは複数のミニバッチに分割され、
前記ユーザニューラルネットワークエンコーダ及び前記アイテムニューラルネットワークエンコーダは、ミニバッチ勾配降下法を用いてトレーニングされ、
各ミニバッチにつき、前記ユーザニューラルネットワークエンコーダの第1層における重み行列は、前記ミニバッチのユーザがインタラクトしたことのあるトレーニング用データセット全体におけるアイテムに基づいて設定され、
ステップ(d)~(g)は、各ミニバッチについて実行される、
請求項1に記載の方法。
【請求項9】
ステップ(h)における前記複数のアイテムは、電子商取引プラットフォームにて販売されるアイテムである、請求項1に記載の方法。
【請求項10】
アイテムkがコールドスタートアイテムである、請求項1に記載の方法。
【請求項11】
ユーザとアイテムのペアについての前記予測インタラクション値は、前記ペアについてのユーザベクトル表現とアイテムベクトル表現とのドット積に基づいたものである、請求項1に記載の方法。
【請求項12】
コンピュータプログラムを有する非一時的なコンピュータ可読媒体であって、
前記コンピュータプログラムは、コンピュータシステムによって実行されると、前記コンピュータシステムが、ユーザとアイテムのインタラクション値を予測できるよう機械学習モデルをトレーニングする方法を実行できるようにするものであり、
前記方法は、
(a)トレーニング用のユーザ及びアイテムのトレーニング用データセットを取得するステップであって、前記トレーニング用データセットは、前記データセット内の各アイテムのアイテムデータと、各トレーニング用ユーザのユーザインタラクションベクトルとを含み、前記ユーザインタラクションベクトルは、前記トレーニング用データセット内のユーザとアイテムの各ペアのインタラクション値を有するインタラクション行列から得られる、ステップと、
(b)アイテムニューラルネットワークエンコーダを用いて、少なくとも1人のトレーニング用ユーザがポジティブなインタラクション値を有する前記トレーニング用データセット内の各アイテムのアイテムベクトル表現を計算するステップと、
(c)前記アイテムベクトル表現を用いて、ユーザニューラルネットワークエンコーダの第1層における重み行列を設定するステップと、
(d)前記トレーニング用データセット内のユーザとアイテムの各ペアにつき、
前記トレーニング用ユーザのユーザインタラクションベクトルに前記ユーザニューラルネットワークエンコーダを適用することによりユーザベクトル表現を計算し、ここで、前記トレーニング用ユーザのユーザベクトル表現の計算において、ユーザニューラルネットワークエンコーダの第1層の出力は、前記トレーニング用ユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数であり、
前記ペアにおける前記アイテムのアイテムデータに前記アイテムニューラルネットワークエンコーダを適用することにより、アイテムベクトル表現を計算し、
前記ペアについて生成された前記ユーザベクトル表現及び前記アイテムベクトル表現に基づいて、前記ユーザとアイテムのペアについての予測インタラクション値を計算するステップと、
(e)前記トレーニング用データセット内の前記ユーザとアイテムのペアについての予測インタラクション値と実際のインタラクション値との間の損失を算出するステップと、
(f)前記アイテムニューラルネットワークエンコーダ及び前記ユーザニューラルネットワークエンコーダのトレーニング可能なパラメータを、前記損失が最小となるように調整するステップと、
(g)複数回の反復にわたりステップ(b)~(f)を繰り返すステップと
を含む、非一時的なコンピュータ可読媒体。
【請求項13】
前記ユーザニューラルネットワークエンコーダにおける第1層の出力の計算は、
前記ユーザがポジティブなインタラクション値を有する複数のアイテムのアイテムベクトル表現に統合関数を適用して、複数の前記アイテムベクトル表現を単一のベクトルへとマッピングするステップと、
前記単一のベクトルを、前記ユーザニューラルネットワークエンコーダにおける第1層の出力として用いるステップと
を含む、請求項12に記載の非一時的なコンピュータ可読媒体。
【請求項14】
前記統合関数が、複数の前記アイテムベクトル表現を平均する平均関数である、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記統合関数が、複数の前記アイテムベクトル表現の加重平均を、複数の前記アイテムベクトル表現と、インタラクション値が予測されているアイテムのアイテムベクトル表現との類似度に基づいて計算する加重平均関数である、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項16】
コンピュータプログラムを有する非一時的なコンピュータ可読媒体であって、
前記コンピュータプログラムは、コンピュータシステムによって実行されると、前記コンピュータシステムが、ユーザとアイテムのインタラクション値を予測する方法を実行できるようにするものであり、
前記方法は、
(a)複数のアイテムのアイテムベクトル表現を計算するステップであって、前記アイテムベクトル表現は、前記アイテムのアイテムデータにアイテムニューラルネットワークエンコーダを適用することにより生成される、ステップと、
(b)前記アイテムベクトル表現を用いて、ユーザニューラルネットワークエンコーダの第1層における重み行列を設定するステップと、
(c)テストユーザについて、
前記テストユーザのユーザインタラクションベクトルを取得し、
前記テストユーザとの既知のインタラクション値が存在しないアイテムkのアイテムデータを取得し、
前記ユーザインタラクションベクトルに前記ユーザニューラルネットワークエンコーダを適用することにより、前記テストユーザのユーザベクトル表現を計算し、ここで、前記ユーザニューラルネットワークエンコーダの第1層の出力は、前記テストユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数であり、
アイテムkのアイテムデータに前記アイテムニューラルネットワークエンコーダを適用することにより、アイテムkのアイテムベクトル表現を計算し、
前記テストユーザ及び前記アイテムについて計算された前記ユーザベクトル表現及び前記アイテムベクトル表現に基づいて、前記テストユーザとアイテムkについての予測インタラクション値を計算するステップと
を含む、非一時的なコンピュータ可読媒体。
【請求項17】
前記テストユーザについての既知のインタラクション値が存在しない複数のアイテムに関してステップ(c)を繰り返すステップと、
前記テストユーザ及び前記複数のアイテムについて計算された前記予測インタラクション値に基づいて、1つ以上のアイテムを前記テストユーザに推薦するステップと
を更に含む、請求項16に記載の非一時的なコンピュータ可読媒体。
【請求項18】
複数のテストユーザについてステップ(c)を繰り返すステップと、
テストユーザ及びアイテムkについての前記予測インタラクション値に基づいて、前記複数のテストユーザのうちの1人以上にアイテムkを推薦するステップと
を更に含む、請求項16に記載の非一時的なコンピュータ可読媒体。
【請求項19】
電子商取引プラットフォームにおけるユーザとアイテムのインタラクション値を予測するためのシステムであって、
一組の機械コードを用いてプログラミングされた命令を実行するプロセッサと、
前記プロセッサに接続された1つ以上のメモリユニットと、
前記システムの前記1つ以上のメモリユニットに記憶され、ユーザの入力及びアイテムの入力を受け付け、前記電子商取引プラットフォームにおけるユーザとアイテムとの予測ユーザインタラクション値を出力する機械学習モデルと
を備え、
前記モデルは、前記出力を生成するために前記機械コードで組まれた計算命令を含み、
前記モデルは或る方法によりトレーニングがなされ、
前記方法は、
(a)トレーニング用のユーザ及びアイテムのトレーニング用データセットを取得するステップであって、前記トレーニング用データセットは、前記データセット内の各アイテムのアイテムデータと、各トレーニング用ユーザのユーザインタラクションベクトルとを含み、前記ユーザインタラクションベクトルは、前記トレーニング用データセット内のユーザとアイテムの各ペアのインタラクション値を有するインタラクション行列から得られる、ステップと、
(b)アイテムニューラルネットワークエンコーダを用いて、少なくとも1人のトレーニング用ユーザがポジティブなインタラクション値を有する前記トレーニング用データセット内の各アイテムのアイテムベクトル表現を計算するステップと、
(c)前記アイテムベクトル表現を用いて、ユーザニューラルネットワークエンコーダの第1層における重み行列を設定するステップと、
(d)前記トレーニング用データセット内のユーザとアイテムの各ペアにつき、
前記トレーニング用ユーザのユーザインタラクションベクトルに前記ユーザニューラルネットワークエンコーダを適用することによりユーザベクトル表現を計算し、ここで、前記トレーニング用ユーザのユーザベクトル表現の計算において、ユーザニューラルネットワークエンコーダの第1層の出力は、前記トレーニング用ユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数であり、
前記ペアにおける前記アイテムのアイテムデータに前記アイテムニューラルネットワークエンコーダを適用することにより、アイテムベクトル表現を計算し、
前記ペアについて生成された前記ユーザベクトル表現及び前記アイテムベクトル表現に基づいて、前記ユーザとアイテムのペアについての予測インタラクション値を計算するステップと、
(e)前記トレーニング用データセット内の前記ユーザとアイテムのペアについての予測インタラクション値と実際のインタラクション値との間の損失を算出するステップと、
(f)前記アイテムニューラルネットワークエンコーダ及び前記ユーザニューラルネットワークエンコーダのトレーニング可能なパラメータを、前記損失が最小となるように調整するステップと、
(g)複数回の反復にわたりステップ(b)~(f)を繰り返すステップと
を含む、
システム。
【請求項20】
前記ユーザニューラルネットワークエンコーダにおける第1層の出力の計算は、
前記ユーザがポジティブなインタラクション値を有する複数のアイテムのアイテムベクトル表現に統合関数を適用して、複数の前記アイテムベクトル表現を単一のベクトルへとマッピングするステップと、
前記単一のベクトルを、前記ユーザニューラルネットワークエンコーダにおける第1層の出力として用いるステップと
を含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は概して、機械学習に基づくレコメンダシステムに関し、より具体的には、共有されたニューラルアイテム表現をコールドスタート推薦に使用するレコメンダシステムに関する。
【0002】
[関連出願]
本出願は、発明の名称が「Shared Neural Item Representations for Completely Cold Start Problem」である2021年8月6日出願の米国仮出願第63/230,676号の利益を主張するものである。この米国仮出願の内容は、引用することにより本明細書に完全に開示されているかの如く本明細書の一部をなすものとする。
【0003】
本出願は、発明の名称が「Shared Neural Item Representations for Completely Cold Start Problem」である2021年8月18日出願の米国仮出願第63/234,651号の利益をも主張するものである。この米国仮出願の内容は、引用することにより本明細書に完全に開示されているかの如く本明細書の一部をなすものとする。
【背景技術】
【0004】
多くのショッピングプラットフォームでレコメンダシステムが用いられている。レコメンダシステムの目標は、或るアイテムに関する既知のユーザのフィードバックを利用し、未知のユーザのフィードバックを予測することである。ユーザとアイテムのインタラクションと呼ばれることの多いこのフィードバックは、暗示的なもの(例えば、購入した、あるいは購入する可能性がある)とすることができ、又は明示的なもの(例えば、1~5のレーティング)とすることができる。予測されたフィードバックは、ショッピングプラットフォームにおいてアイテムをユーザに推薦するために使用することもできるし、ターゲティングされたアイテムの広告を提供するために使用することもできる。
【0005】
多くのレコメンダシステムは、機械学習モデルを使用して予測を行う。例えば、ニューラル協調フィルタリング(NCF:neural collaborative filtering)システムが、ニューラルネットワークエンコーダをユーザデータ及びアイテムデータに適用してユーザデータ及びアイテムデータの表現を生成し、次に、これらのユーザ表現及びアイテム表現を用いてアイテムのユーザフィードバックを予測する。
【0006】
レコメンダシステムは、入力される様々なソースを用いて、当該システムのタスクを実行することができる。1つの重要な情報ソースは、アイテムに関するユーザの過去のフィードバックである。プラットフォーム上で高い売上高を有するアイテムについては、最良の予測結果は大抵、ユーザニューラルネットワークへの入力とアイテムニューラルネットワークへの入力との双方がフィードバックデータを含んでいるときに得られる。しかし、このことは「コールドスタートアイテム」には当てはまらない。コールドスタートアイテムとは、当該アイテムに関連した予測を行うためのフィードバック履歴が存在しないか又は履歴が不十分なアイテムのことである。
【0007】
コールドスタートアイテムのユーザ・アイテムのインタラクションを予測するために、既知の解決策の1つは、ユーザニューラルネットワークエンコーダへの入力にユーザフィードバックを使用し、アイテムニューラルネットワークエンコーダへの入力としてアイテムのサイド情報を使用することである。ニューラルネットワークエンコーダが、既知のポジティブなインタラクションを有するユーザ及びアイテムのペアについては類似のユーザ表現及びアイテム表現を生成し、それ以外については非類似の表現を生成できるように、エンコーダのパラメータがトレーニング時に学習される。
【0008】
ニューラルネットワークのトレーニングは計算量が多い。トレーニングデータが多いほど、予測はより良好なものとなる。しかし、上述したシステムでは、トレーニング時に学習が必要なエンコーダのパラメータ数は、ユーザ及びアイテムの数が増加するにつれてほぼ線形に増加する。エンティティがレコメンダシステムにますます依拠するにつれて、より少ないトレーニング反復数であってもそのようなシステムの性能向上が絶えず続くことが求められている。
【発明の概要】
【0009】
本開示は、電子商取引プラットフォーム上でのコールドスタート予測の改良された機械学習ベースのレコメンダシステム及び方法に関する。この改良されたシステムは、サイド情報しか利用できないコールドスタートアイテムに関してユーザ・アイテムのインタラクションを予測する。既知の解決策と同様に、システムは、ユーザニューラルネットワークエンコーダ及びアイテムニューラルネットワークエンコーダによってそれぞれ生成されたユーザ表現及びアイテム表現に基づいて、ユーザ・アイテムのインタラクション値を予測する。他方、既知の解決策とは異なり、アイテムニューラルネットワークエンコーダによりアイテムのサイド情報から生成されたアイテム表現は、ユーザニューラルネットワークエンコーダと共有される。特に、ユーザニューラルネットワークエンコーダの第1層における重み行列をランダムに生成された埋込みを用いて初期化したのちトレーニング時に最適な重みを学習するのではなく、アイテムニューラルネットワークエンコーダによって生成されユーザニューラルネットワークエンコーダと共有されるアイテムの埋込みを用いて重み行列が固定される。
【0010】
ユーザ表現を生成するために、ユーザニューラルネットワークは、入力されるユーザ・アイテムのインタラクションベクトルに適用される。この入力ベクトルは、ユーザがポジティブなインタラクションを有したことがある各アイテムについては「1」の値を有し、それ以外の全てのアイテムについては「0」の値を有する。ユーザ・アイテムのインタラクションベクトルを入力として使用することと、共有されたアイテム表現をユーザニューラルネットワークエンコーダの第1層における重みとして使用することとを組み合わせることにより、ユーザニューラルネットワークエンコーダの第1層の出力が、ユーザがポジティブなフィードバックを提供したアイテムのアイテム表現に応じたものとなるという効果が得られる。これは、第1層の出力が、トレーニング時に学習されなければならないランダムに初期化された重みに応じて決まる既知のシステムとは異なる。これらの改良の結果、より少ないトレーニング反復数でより良好な性能が得られる。
【0011】
一実施形態において、ユーザとアイテムのインタラクション値を予測する方法は、
トレーニングフェーズに関して、
(a)トレーニング用のユーザ及びアイテムのトレーニング用データセットを取得するステップであって、トレーニング用データセットは、データセット内の各アイテムのアイテムデータと、各トレーニング用ユーザのユーザインタラクションベクトルとを有し、ユーザインタラクションベクトルは、トレーニング用データセット内のユーザとアイテムの各ペアのインタラクション値を有するインタラクション行列から取得される、ステップと、
(b)アイテムニューラルネットワークエンコーダを使用して、少なくとも1人のトレーニング用ユーザがポジティブなインタラクション値を有するトレーニング用データセット内の各アイテムのアイテムベクトル表現を計算するステップと、
(c)上記アイテムベクトル表現を使用して、ユーザニューラルネットワークエンコーダの第1層の重み行列を設定するステップと、
(d)トレーニング用データセット内のユーザとアイテムの各ペアにつき、
トレーニング用ユーザのユーザインタラクションベクトルにユーザニューラルネットワークエンコーダを適用することによって、ユーザベクトル表現を計算し、ここで、トレーニング用ユーザのユーザベクトル表現の計算において、ユーザニューラルネットワークエンコーダの第1層の出力は、トレーニング用ユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数であり、
ペア内のアイテムのアイテムデータにアイテムニューラルネットワークエンコーダを適用することによって、アイテムベクトル表現を計算し、
ペアについて生成されたユーザベクトル表現及びアイテムベクトル表現に基づいて、ユーザとアイテムのペアの予測インタラクション値を計算するステップと、
(e)トレーニング用セット内のユーザとアイテムのペアの予測インタラクション値と実際のインタラクション値との間の損失を算出するステップと、
(f)アイテムニューラルネットワークエンコーダ及びユーザニューラルネットワークエンコーダのトレーニング可能なパラメータを、損失が最小となるように調整するステップと、
(g)複数回の反復にわたってステップ(b)~(f)を繰り返すステップと
を行い、
予測フェーズに関して、
(h)複数のアイテムのアイテムベクトル表現を計算するステップであって、アイテムベクトル表現は、アイテムのアイテムデータにアイテムニューラルネットワークエンコーダを適用することによって生成される、ステップと、
(i)上記アイテムベクトル表現を使用して、ユーザニューラルネットワークエンコーダの第1層の重み行列を設定するステップと、
(j)テストユーザに関して、
テストユーザのユーザインタラクションベクトルを取得し、
テストユーザとの既知のインタラクション値が存在しないアイテムkのアイテムデータを取得し、
ユーザインタラクションベクトルにユーザニューラルネットワークエンコーダを適用することによって、テストユーザのユーザベクトル表現を計算し、ここで、ユーザニューラルネットワークエンコーダの第1層の出力は、テストユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数であり、
アイテムkのアイテムデータにアイテムニューラルネットワークエンコーダを適用することによって、アイテムkのアイテムベクトル表現を計算し、
テストユーザ及びアイテムについて計算されたユーザベクトル表現及びアイテムベクトル表現に基づいて、テストユーザとアイテムkの予測インタラクション値を計算するステップと
を行う。
【図面の簡単な説明】
【0012】
図1A】1つの実施形態による、ユーザ・アイテムのインタラクション値を予測できるように機械学習モデルをトレーニングする方法を示すフローチャートである。
図1B】1つの実施形態による、ユーザ・アイテムのインタラクション値を予測できるように機械学習モデルをトレーニングする方法を示すフローチャートである。
図2】1つの実施形態による、テストユーザ及びアイテムのインタラクション値を予測する方法を示すフローチャートである。
図3】1つの実施形態による、ユーザ・アイテムのインタラクション値を予測する機械学習モデルを示すブロック図である。
図4】1つの実施形態によるユーザニューラルネットワークエンコーダのアーキテクチャを示すブロック図である。
図5】1つの実施形態によるレコメンダシステムアーキテクチャの一例を示すブロック図である。
【発明を実施するための形態】
【0013】
本開示は、電子商取引プラットフォーム上でのコールドスタート予測の改良された機械学習ベースのレコメンダシステム及び方法に関する。この改良されたシステムは、サイド情報しか利用できないコールドスタートアイテムに関してユーザ・アイテムのインタラクションを予測する。改良されたシステムでは、アイテムニューラルネットワークエンコーダによってアイテムのサイド情報から生成されたアイテム表現が、ユーザニューラルネットワークと共有され、ユーザフィードバック履歴とともに使用されてユーザ表現が生成される。その結果、より少ないトレーニング反復数でコールドスタートアイテムのより良好な性能(例えば、より良好な再現率(recall))を達成するレコメンダシステムが得られる。
【0014】
本明細書に説明する方法は、コンピュータシステム(「システム」又は「レコメンダシステム」)によって実行される。このレコメンダシステムのトレーニングフェーズ及び予測フェーズの双方を以下に説明する。トレーニングフェーズにおいて、レコメンダシステムによって使用される機械学習型予測モデルが、ユーザ・アイテムのインタラクションを予測できるようにトレーニングされる。当該モデルが予測フェーズにおいて使用され、コールドスタートアイテムに関するユーザ・アイテムのインタラクションが予測される。
【0015】
1.数学的表記
本明細書における数学的表記に関して、ユーザ・アイテムのインタラクション行列を
【数1】
によって表すことにする。ただし、m及びnはそれぞれユーザ数及びアイテム数である。Rjkは、ユーザjとアイテムkのインタラクション値である。Rjk=1は、ユーザjがアイテムkとインタラクトした(例えば、アイテムkを購入した)ことを意味し、Rjk=0はインタラクションが不明であることを意味する。n個の全てのアイテムのs次元サイド情報は、
【数2】
により示す。行列Hの第i行をHi,:により示し、第j列をH,j:により示す。
【0016】
ユーザのアイテムサポートセットは、ユーザがポジティブなインタラクション値を有するアイテムのセットである。Iは、ユーザjのアイテムサポートセット内のアイテムを示す。ただし、Nはそのセットのサイズである。ユーザjのアイテムサポートセットは、
【数3】
により表される。
【0017】
2.予測用モデル
レコメンダシステムは、機械学習モデル(「モデル」又は「予測用モデル」)を使用して、ユーザ・アイテムのインタラクション値を予測する。図3に、一実施形態によるモデルを示す。このモデルは、ユーザ入力データ305からユーザベクトル表現360を生成するユーザニューラルネットワークエンコーダ340と、入力アイテムデータ315からアイテムベクトル表現350を生成するアイテムニューラルネットワークエンコーダ320とを有する。以下で説明するように、ユーザ表現360は、ユーザがポジティブなインタラクション値を有するアイテム310(例えば、ユーザが過去に購入したアイテム)について、アイテムニューラルネットワークエンコーダ320によって生成されたアイテム表現330a~330bの関数でもある。或る実施形態において、ユーザ及びアイテムの予測されたインタラクション値は、ユーザ表現及びアイテム表現のドット積370である。モデルのトレーニングは、最も正確な予測を提供するユーザニューラルネットワークエンコーダ及びアイテムニューラルネットワークエンコーダのパラメータの学習を含む。
【0018】
3.トレーニングフェーズ
図1に、ユーザとアイテムのインタラクションの予測を行うべく、レコメンダシステムによって使用される予測モデルをトレーニングする方法を示す。
【0019】
2.1 トレーニングデータの取得
システムは、アイテムデータとユーザデータとを有するトレーニング用データセットを取得する(ステップ110)。アイテムデータは、アイテムの特性を記載したデータである「サイドアイテムデータ」である。サイドアイテムデータの例は、商品のカテゴリ及びサブカテゴリである。
【0020】
ユーザデータは、トレーニング用ユーザ毎にユーザ・アイテムのインタラクションベクトルを含む。ユーザ・アイテムのインタラクションベクトルは、ユーザがポジティブなインタラクションを示したことのある各アイテムについては「1」という値を有し、その他の全てのアイテムについては「0」という値を有する。ユーザインタラクションベクトルは、トレーニング用データセット内のユーザとアイテムの各ペアについてのインタラクション値を有するユーザ・アイテムのインタラクション行列から得られる。例として、m人のユーザ及びn個のアイテムに関するユーザ・アイテムのインタラクション行列を以下に挙げる。
【表1】
【0021】
ユーザ・アイテム行列では、「1」は、ポジティブなインタラクション値を意味し、「0」は、インタラクション値が未知であることを意味する。例えば、或る実施形態において、「1」は、ユーザが当該アイテムを購入したことがあるということを意味する。別の実施形態において、「1」は、ユーザが、或る閾値を上回るアイテムの評価(例えば、5つ星評価において星3つ以上の評価)を行ったということを意味する。
【0022】
ユーザmについて入力されるユーザ・アイテムのインタラクションベクトルは、行列における第m行であり、以下のとおりである。
【表2】
【0023】
2.2 ユーザエンコーダと共有されるアイテム表現の生成
システムは、アイテムニューラルネットワークエンコーダ(320)を用いて、少なくとも1人のトレーニング用ユーザがポジティブなインタラクション値を有するトレーニング用データセット内の各アイテムのアイテムベクトル表現を計算する(ステップ120)。ステップ120において生成されたアイテム表現は、後述するように、ユーザニューラルネットワークエンコーダと共有される。
【0024】
2.3 アイテム表現とともに用いるユーザエンコーダ内の重み行列の設定
システムは、ステップ120にて生成されたアイテムベクトル表現を用いて、ユーザニューラルネットワークエンコーダの第1層における重み行列を設定する(ステップ130)。ユーザニューラルネットワークエンコーダの第1層の重み行列内の各重みベクトルは、トレーニング用データセット内のアイテムに対応する。アイテム表現が生成された各アイテムについて(少なくとも1人のユーザが当該アイテムとのポジティブなインタラクションを有するため)、それらのアイテムに対応する重みベクトルが、生成されたアイテム表現である。これによって、以下でより詳細に述べるように、各ユーザについて、ユーザニューラルネットワークエンコーダの第1層の出力が、ユーザがポジティブなインタラクション値を有するアイテムのアイテム表現の関数になるという効果が得られる。
【0025】
2.4 トレーニング用データセット内のユーザとアイテムの各ペアの予測インタラクション値の計算
システムは、トレーニング用データセット内のユーザとアイテムの各ペアの予測インタラクション値を計算する。これを、図1のステップ140~160に示す。ユーザとアイテムの各ペアについて、システムは、そのペア内のアイテムデータにアイテムニューラルネットワークエンコーダを適用することにより、アイテムベクトル表現を計算する(ステップ140)。同様に、システムは、トレーニング用ユーザのユーザ・アイテムのインタラクションベクトルにユーザニューラルネットワークエンコーダを適用することにより、そのペアにおけるトレーニング用ユーザのユーザベクトル表現を計算する(ステップ140)。ユーザニューラルネットワークエンコーダの第1層における重み行列は、トレーニング用データセット内のアイテムベクトル表現から構成されているため、ユーザニューラルネットワークの第1層の出力は、トレーニング用ユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現の関数となる。一実施形態において、ユーザニューラルネットワークエンコーダの第1層の出力を計算することは、ユーザがポジティブなインタラクション値を有するアイテムのアイテムベクトル表現に統合関数(fusion function)を適用することを含む。この統合関数は、複数の入力アイテムベクトル表現に基づいて単一のベクトルを生成する。統合関数により得られたこの単一のベクトルが、ユーザニューラルネットワークエンコーダの第1層の出力である。一例として、統合関数は、アイテムベクトル表現を平均する平均関数とすることができる。さらに、セクション2.7でより詳細に説明するように、統合関数は、上記アイテムベクトル表現と、インタラクション値が予測されているアイテムのアイテムベクトル表現との類似度に基づいて、上記アイテムベクトル表現の加重平均を計算する加重平均関数とすることができる。
【0026】
システムは、ユーザとアイテムのペアの予測インタラクション値を、そのペアのユーザベクトル表現及びアイテムベクトル表現に基づいて計算する(ステップ160)。一実施形態において、予測インタラクション値は、ユーザ表現とアイテム表現とのドット積である。
【0027】
2.5 損失の計算とモデルパラメータの調整
システムは、トレーニング用データセット内のユーザとアイテムのペアの予測インタラクション値と実際のインタラクション値との間の損失を計算する(ステップ170)。システムは、損失が最小となるように、ユーザニューラルネットワークエンコーダ及びアイテムニューラルネットワークエンコーダのトレーニング可能なパラメータを調整する(ステップ180)。1つの実施形態において、ユーザニューラルネットワークエンコーダ及びアイテムニューラルネットワークエンコーダのそれぞれは、複数の層を有し、各層には重み行列が関連付けられている。これらの重み行列は、ユーザニューラルネットワークエンコーダの第1層における重み行列を除いて、調整可能なパラメータである。第1層の重み行列は固定され、トレーニング用データセット内のアイテム表現がその後の反復において変化したことに応じてのみ変化する。システムは、複数の反復にわたってステップ120~180を繰り返す。
【0028】
モデルの目的関数は、数学的に以下のように表される。
【数4】
ここで、
は、第j番目のユーザ表現を示し、
は、第k番目のアイテム表現を示し、
jkは、ユーザとアイテムの実際のインタラクション値を示し、
は、ユーザニューラルネットワークエンコーダであり、
は、アイテムニューラルネットワークエンコーダであり、
σは、活性化関数であり、
Xは、トレーニング用データセット内の全てのアイテムについてのs次元のサイド情報行列(sは正の整数)であり、
は、第k番目のアイテムのサイド情報であり、
は、ユーザニューラルネットワークエンコーダの第L層(Lは正の整数)の重み行列である。
【0029】
上記目的(損失)関数は、アイテムニューラルネットワークエンコーダg及びユーザニューラルネットワークエンコーダgのパラメータにわたって最小化される。ただし、gのパラメータは[W ...,W ]である。W は、ユーザニューラルネットワークエンコーダの調整可能なパラメータではない。その理由は、W がステップ120にて生成されたアイテム表現を用いて定められるためである。
【0030】
2.6 ミニバッチを使用したより高速なトレーニング
一実施形態において、ユーザニューラルネットワークエンコーダ及びアイテムニューラルネットワークエンコーダは、ミニバッチ勾配降下法を用いてトレーニングされる。この実施形態において、トレーニング用データセットは複数のミニバッチに分割される。各ミニバッチについて、ユーザニューラルネットワークエンコーダの第1層における重み行列は、当該ミニバッチのユーザがインタラクトしたことのあるトレーニング用データセット全体におけるアイテムに基づいて設定される。各ミニバッチについて図1のステップ140及び150が実行される。
【0031】
実世界のデータセットにおいて、各ユーザは少数のアイテムに対してポジティブなインタラクション値を有する。したがって、トレーニング用セットを複数のミニバッチに分割することは、システムがそのミニバッチにおいて表現を計算する必要のあるアイテムの数が、トレーニング用データセット内のアイテムの総数に比べて少なくなることを意味する。これにより、モデルの全体的なトレーニングがより高速になる。
【0032】
2.7 表現の学習におけるアテンション機構
前述のとおり、ユーザニューラルネットワークエンコーダの第1層の出力は、ユーザがポジティブなインタラクション値を有するアイテムの表現の関数である。ユーザがポジティブなインタラクションを有するアイテムのセットを、本明細書では、ユーザの「近傍アイテムセット(neighbor set of items)」又は「近傍セット(neighbor set)」と呼ぶ。或る実施形態において、ユーザの近傍アイテムセットのそれぞれの表現は、ユーザニューラルネットワークエンコーダの第1層の出力を算出する際に均等に加重される。他の実施形態では、ユーザj及びアイテムkのインタラクションスコアを算出する際に、第1層の出力は、ユーザjの近傍セットの表現の加重和であり、重みは、ユーザjの近傍セット内のそれぞれとアイテムkとの類似度に基づいて計算される。そのような実施形態において、目的関数を以下のように表すことができる。
【数5】
ただし、αpkは、第p番目のアイテムと第k番目のアイテムとの類似度に基づいて第p番目のアイテムに重みを与える。
【0033】
コサイン、ドット積、又は一般のアテンション機構を使用して、重みを学習することができる。重みαpkは、以下のうちの1つを使用して計算することができる。
【数6】
ここで、Wαは、一般のアテンションにおける学習可能な行列である。最終的な重みは、以下のように、ソフトマックス関数を適用することによって得られる。
【数7】
【0034】
2.8 性能向上を示す実験
関連出願のセクションにおいて引用したことにより本明細書の一部をなすものとなっている上記仮出願は、共有ニューラルアイテム表現を使用する(及び本明細書に説明の方法に従ってトレーニングされた)レコメンダシステムと、共有ニューラルアイテム表現を使用しないレコメンダシステムとの性能を比較した実験の結果を記載している。本明細書に説明されるような共有ニューラルアイテム表現を使用するレコメンダシステムは、コールドスタート推薦に関してより少ない反復数でより良好な再現率を達成している。非共有モデルのトレーニング時に学習しなければならないパラメータの数は、ユーザ及びアイテムの数とともにほぼ線形で増加する。これとは対照的に、本明細書に説明されるモデルにおいて、アイテム表現は、ユーザニューラルネットワークエンコーダにて重みとして共有及び使用されるため、トレーニング時に学習する必要のあるパラメータの数は大幅に少なくなる。これにより、共有モデルは、より大きなデータセットに対してより高速な最適化及びより良好な一般化を有することが可能になる。
【0035】
3.0 予測フェーズ
予測フェーズでは、トレーニングされたモデルを使用して、ターゲティング広告用のコールドスタートアイテムを有するショップにユーザを推薦することもできるし、電子商取引プラットフォームにてコールドスタートアイテムをユーザに推薦することもできる。これらのいずれを行うにも、システムは、電子商取引プラットフォームのユーザとコールドスタートアイテムとのインタラクション値を予測する必要がある。
【0036】
図2に、テストユーザとコールドスタートアイテムとのインタラクション値を予測する方法を示す。システムは、電子商取引プラットフォーム上のアイテムのアイテムベクトル表現を計算する(ステップ210)。一実施形態において、これは、電子商取引プラットフォームにて販売される全てのアイテム又はほぼ全てのアイテムについて行われる。システムは、アイテムベクトル表現を使用してユーザニューラルネットワークエンコーダの第1層に重み行列を設定する(ステップ220)。システムは、テストユーザのユーザ・アイテム・インタラクションベクトルを取得する(ステップ230)。システムは、コールドスタートアイテムkのサイドアイテムデータを取得する(ステップ240)。システムは、テストユーザのユーザ・アイテム・インタラクションベクトルにユーザニューラルネットワークエンコーダを適用することによって、テストユーザのユーザベクトル表現を計算する(ステップ250)。ユーザニューラルネットワークエンコーダの第1層の出力は、テストユーザがポジティブなインタラクションを有したことのあるアイテムのアイテム表現の関数である。システムは、ステップ240において取得されたサイドアイテムデータにアイテムニューラルネットワークエンコーダを適用することによって、コールドスタートアイテムkのアイテムベクトル表現を計算する(ステップ260)。システムは、テストユーザ及びアイテムについて計算されたユーザベクトル表現及びアイテムベクトル表現に基づいて、テストユーザとコールドスタートアイテムkとの予測インタラクション値を計算する(ステップ270)。
【0037】
ショップがコールドスタートアイテムに関する広告のターゲットとすべきユーザを特定できるようにするために、システムは、アイテムと複数のユーザのそれぞれとの予測インタラクション値を計算する。次に、システムは、そのアイテムについてポジティブなインタラクション値を有する確率が高い或る特定の数のユーザ又は或る特定の割合のユーザをショップに推薦する。
【0038】
特定のユーザに推薦する商品を特定すべく、システムは、そのユーザと電子商取引プラットフォームにて販売される複数のアイテムのそれぞれとの予測インタラクション値を計算する。次に、システムは、そのユーザがポジティブなインタラクションを有する可能性の高い或る特定の数のアイテムをそのユーザに推薦する。
【0039】
4.0 ユーザニューラルネットワークアーキテクチャ
図4に、一実施形態によるユーザニューラルネットワークエンコーダのアーキテクチャを示す。ユーザニューラルネットワークエンコーダは、L個の層(410、420、...、430)を有する。ここで、Lは1よりも大きい整数である。各層は、重み行列及び非線形活性化関数を有する。第2層から第L層における重み行列は、調整可能なパラメータである。第1層における重み行列は、アイテムニューラルネットワークエンコーダによって生成されたアイテム表現を使用して設定される。
【0040】
5.0 システムアーキテクチャの例
図5に、レコメンダシステムのシステムアーキテクチャの一例を示す。前述のとおり、レコメンダシステムは、ユーザとアイテムのペアのユーザ・アイテム・インタラクションを予測する予測モデル550を有する。このモデルへの入力は、サイドアイテムデータ520及びユーザインタラクションベクトル510である。モデルの予測は、ユーザ・アイテム・インタラクション・スコア560(例えば、ユーザ表現とアイテム表現との間の類似度スコア)の形態で出力される。モデルは、アイテムニューラルネットワークエンコーダ530及びユーザニューラルネットワークエンコーダ540を有する。或る実施形態において、ユーザニューラルネットワークエンコーダ及びアイテムニューラルネットワークエンコーダは、多層パーセプトロンである。モデルは、ユーザ表現及びアイテム表現のドット積を計算するドット積モジュール555をも有する。
【0041】
推薦モジュール540は、セクション3.0において述べたように、予測モデル550からユーザ・アイテム・インタラクション・スコアを受け付け、それらのスコアを用いて、ユーザをショップに推薦するか又はアイテムをユーザに推薦する。
【0042】
トレーニングモジュール580は、図1A及び図1Bの方法に従って予測モデルのトレーニングを行う。
【0043】
6.0.総論
図1図5に関して説明した方法は、ソフトウェアにより具現化され、ソフトウェアを実行する(1つ以上の計算デバイスを備えた)コンピュータシステムによって実行される。当業者であれば、コンピュータシステムが、ソフトウェア命令を記憶する1つ以上の物理メモリユニット、ディスク、又は他の物理的なコンピュータ可読記憶媒体と、これらのソフトウェア命令を実行する1つ以上のプロセッサとを有することを理解しているであろう。当業者であれば、コンピュータシステムはスタンドアローンコンピュータとすることもできるし、クライアントサーバアーキテクチャ等において協働するコンピュータのネットワークとすることもできることを理解しているであろう。
【0044】
本発明の趣旨又は不可欠な特徴から逸脱することなく、本発明が他の具体的な形態で具現化される場合があることは当業者には理解されよう。したがって、上記の開示は、本発明の範囲を例示したものであり、限定するものではないことが意図される。
図1A
図1B
図2
図3
図4
図5