(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024020147
(43)【公開日】2024-02-14
(54)【発明の名称】ヒンジペアワイズ距離損失及び直交表現を有する1クラス推薦システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240206BHJP
【FI】
G06N20/00
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023108336
(22)【出願日】2023-06-30
(31)【優先権主張番号】63/392,826
(32)【優先日】2022-07-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/975,473
(32)【優先日】2022-10-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【氏名又は名称】池本 理絵
(72)【発明者】
【氏名】ラミン・ラジパーチコライ
(57)【要約】 (修正有)
【課題】破綻した解を回避する推薦システムモデルのトレーニングを、非類似のペアを用いずに可能とする方法及びシステムを提供する。
【解決手段】方法は、類似のユーザ-アイテムペアのみを有し、非類似のユーザ-アイテムペアを有しないトレーニングデータセットを取得するステップと、1クラス推薦モデルをトレーニングデータセット内のユーザ-アイテムペアデータに適用して、類似のユーザ-アイテムペアのそれぞれの予測インタラクション値を取得するステップと、(1)誘引的損失項、(2)ペアワイズ距離損失項及び(3)直交性損失項を含む損失関数を使用してモデルの損失値を算出するステップと、モデルのトレーニング可能なパラメータのセットを調整して損失を削減するステップと、を或る反復回数にわたって繰り返し、1クラス推薦モデルを最適化する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
1クラス推薦モデルを使用してユーザ及びアイテムのインタラクション値を予測する、コンピュータシステムによって実行される方法であって、
1クラス推薦モデルをトレーニングすることであって、
(a)類似のユーザ-アイテムペアのみのユーザデータ及びアイテムデータを含むトレーニングデータセットを取得することであって、
前記トレーニングデータセットは非類似のユーザ-アイテムペアを含まず、
類似のユーザ-アイテムペアは、既知のインタラクションを有するユーザ-アイテムペアであり、
非類似のユーザ-アイテムペアは、既知のインタラクションが存在しないユーザ-アイテムペアであることと、
(b)前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのデータに前記モデルを適用して、前記類似のユーザ-アイテムペアのそれぞれの予測インタラクション値を取得することであって、該予測インタラクション値を取得することは、前記トレーニングデータセット内の前記ユーザ及び前記アイテムのベクトル空間におけるベクトル表現を生成することを含むことと、
(c)以下の損失項、すなわち、
前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離を最小にする誘引的損失項と、
前記トレーニングデータセット内の全てのベクトル表現の間の前記ベクトル空間における平均ペアワイズ距離をマージンよりも大きく維持するペアワイズ距離損失項と、
前記ベクトル空間における次元の間の相関性を削減する直交性損失項と、
を含む損失関数を使用して前記モデルの損失値を算出することと、
(d)前記モデルのトレーニング可能なパラメータのセットを調整して前記損失値を削減することと、
(e)或る反復回数にわたってステップ(b)~(d)を繰り返すことと、
を行うことによってトレーニングすることと、
前記トレーニングをされたモデルを使用して、インタラクション値が不明なユーザ及びアイテムのペアに関するユーザ-アイテムインタラクション値予測を取得することと、
を含む、方法。
【請求項2】
前記誘引的損失項は、前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離に基づく対照損失である、請求項1に記載の方法。
【請求項3】
前記誘引的損失項は、前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれの前記予測インタラクション値と実際のインタラクション値との間の差に基づく平均2乗誤差損失である、請求項1に記載の方法。
【請求項4】
前記ペアワイズ距離損失項はヒンジペアワイズ距離損失である、請求項1に記載の方法。
【請求項5】
前記直交性損失項は、前記ベクトル空間における次元を直交にする、請求項1に記載の方法。
【請求項6】
前記トレーニングをされたモデルは、インタラクション値が不明な電子商取引プラットフォーム上のユーザ-アイテムペアのユーザ-アイテムインタラクションを予測するのに使用され、
前記方法は、
前記プラットフォーム上のショップによって販売されているアイテム及び複数のテストユーザのそれぞれの予測インタラクション値に基づいて、前記電子商取引プラットフォーム上の1人以上のテストユーザを前記ショップに推薦すること、
を更に含む、請求項1に記載の方法。
【請求項7】
前記トレーニングをされたモデルは、インタラクション値が不明な電子商取引プラットフォーム上のユーザ-アイテムペアのユーザ-アイテムインタラクションを予測するのに使用され、
前記方法は、
テストユーザ及び前記電子商取引プラットフォーム上の複数のアイテムのそれぞれの予測インタラクション値に基づいて、前記電子商取引プラットフォーム上において1つ以上のアイテムを前記テストユーザに推薦すること、
を更に含む、請求項1に記載の方法。
【請求項8】
ポジティブインタラクション値を有するユーザ-アイテムペアのみからなるトレーニングデータを使用してユーザ及びアイテムのインタラクション値を予測するように1クラス推薦モデルをトレーニングする、コンピュータシステムによって実行される方法であって、
(a)類似のユーザ-アイテムペアのみのユーザデータ及びアイテムデータを含むトレーニングデータセットを取得することであって、
前記トレーニングデータセットは非類似のユーザ-アイテムペアを含まず、
類似のユーザ-アイテムペアは、既知のインタラクションを有するユーザ-アイテムペアであり、
非類似のユーザ-アイテムペアは、既知のインタラクションが存在しないユーザ-アイテムペアであることと、
(b)前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのデータに前記モデルを適用して、前記類似のユーザ-アイテムペアのそれぞれの予測インタラクション値を取得することであって、該予測インタラクション値を取得することは、前記トレーニングデータセット内の前記ユーザ及び前記アイテムのベクトル空間におけるベクトル表現を生成することを含むことと、
(c)以下の損失項、すなわち、
前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離を最小にする誘引的損失項と、
前記トレーニングデータセット内の全てのベクトル表現の間の前記ベクトル空間における平均ペアワイズ距離をマージンよりも大きく維持するペアワイズ距離損失項と、
前記ベクトル空間における次元の間の相関性を削減する直交性損失項と、
を含む損失関数を使用して前記モデルの損失値を算出することと、
(d)前記モデルのトレーニング可能なパラメータのセットを調整して前記損失値を削減することと、
(e)或る反復回数にわたってステップ(b)~(d)を繰り返すことと、
を含む、方法。
【請求項9】
前記誘引的損失項は、前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離に基づく対照損失である、請求項8に記載の方法。
【請求項10】
前記誘引的損失項は、前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれの前記予測インタラクション値と実際のインタラクション値との間の差に基づく平均2乗誤差損失である、請求項8に記載の方法。
【請求項11】
前記ペアワイズ距離損失項はヒンジペアワイズ距離損失である、請求項8に記載の方法。
【請求項12】
前記直交性損失項は、前記トレーニングデータセット内の全ての前記ベクトル表現を直交にする、請求項8に記載の方法。
【請求項13】
電子商取引プラットフォーム上のユーザ-アイテムインタラクション値を予測するシステムであって、
該システムは、
機械コードのセットを使用してプログラミングされた命令を実行するように構成されるプロセッサと、
前記プロセッサに結合された1つ以上のメモリユニットと、
ユーザ入力及びアイテム入力を取り込み、電子商取引プラットフォーム上のユーザ及びアイテムの予測ユーザ-インタラクション値に対応するユーザインタラクションスコアを出力する、該システムの前記1つ以上のメモリユニットに記憶された1クラス機械学習推薦モデルと、
を備え、
前記モデルは、前記出力を生成する前記機械コードで実施される計算命令を含み、
前記モデルは、以下のこと、すなわち、
(a)類似のユーザ-アイテムペアのみのユーザデータ及びアイテムデータを含むトレーニングデータセットを取得することであって、
前記トレーニングデータセットは非類似のユーザ-アイテムペアを含まず、
類似のユーザ-アイテムペアは、既知のインタラクションを有するユーザ-アイテムペアであり、
非類似のユーザ-アイテムペアは、既知のインタラクションが存在しないユーザ-アイテムペアであることと、
(b)前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのデータに前記モデルを適用して、前記類似のユーザ-アイテムペアのそれぞれの予測インタラクション値を取得することであって、該予測インタラクション値を取得することは、前記トレーニングデータセット内の前記ユーザ及び前記アイテムのベクトル空間におけるベクトル表現を生成することを含むことと、
(c)以下の損失項、すなわち、
前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離を最小にする誘引的損失項と、
前記トレーニングデータセット内の全てのベクトル表現の間の前記ベクトル空間における平均ペアワイズ距離をマージンよりも大きく維持するペアワイズ距離損失項と、
前記ベクトル空間における次元の間の相関性を削減する直交性損失項と、
を含む損失関数を使用して前記モデルの損失値を算出することと、
(d)前記モデルのトレーニング可能なパラメータのセットを調整して前記損失値を削減することと、
或る反復回数にわたってステップ(b)~(d)を繰り返すことと、
を含む方法に従ってトレーニングされる、システム。
【請求項14】
前記誘引的損失項は、前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離に基づく対照損失である、請求項13に記載のシステム。
【請求項15】
前記誘引的損失項は、前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれの前記予測インタラクション値と実際のインタラクション値との間の差に基づく平均2乗誤差損失である、請求項13に記載のシステム。
【請求項16】
前記ペアワイズ距離損失項はヒンジペアワイズ距離損失である、請求項13に記載のシステム。
【請求項17】
前記直交性損失項は、前記トレーニングデータセット内の全ての前記ベクトル表現を直交にする、請求項13に記載のシステム。
【請求項18】
コンピュータシステムによって実行されると、該コンピュータシステムが、異なる販売量を有する種々のショップからの商品を含む電子商取引プラットフォーム上のユーザ-アイテムインタラクション値を予測する以下の方法を実行することを可能にするコンピュータプログラムを含む非一時的コンピュータ可読媒体であって、
前記方法は、
電子商取引プラットフォーム上のユーザデータ及びアイテムデータに1クラス推薦モデルを適用して予測ユーザ-アイテムインタラクション値を取得すること、
を含み、
前記1クラス推薦モデルは、以下の方法、すなわち、
(a)類似のユーザ-アイテムペアのみのユーザデータ及びアイテムデータを含むトレーニングデータセットを取得することであって、
前記トレーニングデータセットは非類似のユーザ-アイテムペアを含まず、
類似のユーザ-アイテムペアは、既知のインタラクションを有するユーザ-アイテムペアであり、
非類似のユーザ-アイテムペアは、既知のインタラクションが存在しないユーザ-アイテムペアであることと、
(b)前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのデータに前記モデルを適用して、前記類似のユーザ-アイテムペアのそれぞれの予測インタラクション値を取得することであって、該予測インタラクション値を取得することは、前記トレーニングデータセット内の前記ユーザ及び前記アイテムのベクトル空間におけるベクトル表現を生成することを含むことと、
(c)以下の損失項、すなわち、
前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離を最小にする誘引的損失項と、
前記トレーニングデータセット内の全てのベクトル表現の間の前記ベクトル空間における平均ペアワイズ距離をマージンよりも大きく維持するペアワイズ距離損失項と、
前記ベクトル空間における次元の間の相関性を削減する直交性損失項と、
を含む損失関数を使用して前記モデルの損失値を算出することと、
(d)前記モデルのトレーニング可能なパラメータのセットを調整して前記損失値を削減することと、
或る反復回数にわたってステップ(b)~(d)を繰り返すことと、
に従ってトレーニングされたものである、非一時的コンピュータ可読媒体。
【請求項19】
前記ペアワイズ距離損失項はヒンジペアワイズ距離損失である、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記直交性損失項は、前記トレーニングデータセット内の全ての前記ベクトル表現を直交にする、請求項18に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には、機械学習ベースの推薦システムに関し、より具体的には、類似のユーザ-アイテムペア並びにペアワイズ距離損失項及び直交損失項を含む目的関数のみを用いてトレーニングされる1クラス推薦システムに関する。
【0002】
[関連出願]
本出願は、2022年7月27日付けで出願された「One Class Recommendation Systems with the Hinge Pairwise Distance Loss and Orthogonal Representations」という発明の名称の米国仮出願第63/392,826号の利益を主張する。この米国仮出願の内容は、引用することによって、本明細書に完全に開示されているかのように本明細書の一部をなすものとする。
【背景技術】
【0003】
推薦(レコメンダ)システム(RS)は、多くのショッピングプラットフォーム上で使用されている。推薦システムの目標は、アイテムに関して既知のユーザフィードバックを利用し、不明なユーザフィードバックを予測することである。このフィードバックは、ユーザアイテムインタラクションと呼ばれることが多く、暗示的なもの(例えば、購入される/クリックされる)又は明示的なもの(例えば、1~5の評価)とすることができる。予測されたフィードバックは、ショッピングプラットフォーム上のアイテムをユーザに推薦するために使用することもできるし、アイテムのターゲティング広告を提供するために使用することもできる。
【0004】
実世界における共通のシナリオである暗黙的フィードバックの場合には、ユーザがアイテムとインタラクト(アイテムをクリック、購入等)したか否かしか分からない。1クラス推薦システムの目標は、暗黙的「1クラス」フィードバック予測問題を解決することである。この問題は、トレーニングセットにおいてユーザとアイテムとの間に「インタラクションがない」ことが、ユーザがそのアイテムを好まないことを必ずしも意味するものではないので、「1クラス(one class)」問題と呼ばれる。これは、まさにユーザのインタラクションについての情報がないことを意味する。その理由は、推薦システムにおけるアイテムのセットが膨大であり、ユーザが全てのアイテムを見ることができないからである。ユーザは、アイテムの小さなサブセットを見て、その後、それらのアイテムの少数とインタラクトすることしかできない。
【0005】
ユーザ-アイテムインタラクションを予測するようにRSモデルをトレーニングすることには、3つの主なステップがある。第1のステップは、ユーザベクトル表現及びアイテムベクトル表現を学習することである。これは、ユーザID及びアイテムIDからユーザ行列及びアイテム行列を学習すること、ユーザ-アイテムインタラクションベクトル及び/又はサイド情報からユーザ多層パーセプトロン(MLP:multi-layer perceptron)及びアイテム多層パーセプトロンを学習すること、又は2部構成ユーザ-アイテムグラフからグラフニューラルネットワークを学習することによって行うことができる。
【0006】
第2のステップは、ユーザベクトル表現及びアイテムベクトル表現からインタラクションスコアをモデル化することである。インタラクションスコアを計算する一般的な方法は、(1)ユーザ表現及びアイテム表現のドット積を取ることと、(2)ユーザ表現及びアイテム表現のコサイン類似度を計算することと、(3)連結されたユーザ表現及びアイテム表現にわたってニューラルネットワークを適用することとである。
【0007】
第3のステップは、RSモデルが、類似のユーザ-アイテムペアについて、非類似のユーザ-アイテムペアと比較してより大きなユーザ-アイテムインタラクションスコアを出力するときに、より小さな値を生成する損失関数を最適化することである。種々のタイプの損失関数が、既知の解決策において使用されてきた。平均2乗誤差(MSE:mean squared error)損失及びバイナリクロスエントロピー(BCE:binary cross-entropy)は、予測スコアと実際のスコアとの間の差を直接最小にする。ベイズ個人ランク(BPR:Bayesian personalized rank)損失は、類似のペアのインタラクションスコアを実際のスコアに直接マッピングするのではなく、それらを非類似のペアのインタラクションスコアよりも大きくすることを試みる。対照学習損失は、類似のユーザ-アイテムペアの表現を互いに接近させるとともに、非類似のユーザ-アイテムペアの表現を遠ざけることを試みる。
【0008】
暗黙的ユーザ-アイテムフィードバックに関してトレーニングされる推薦システムにおいて、「類似のユーザ-アイテムペア」は、ユーザによるアイテムの購買又はアイテムのクリック等の既知のインタラクションを有するユーザ-アイテムペアである。「非類似のユーザ-アイテムペア」は、既知のインタラクションが存在せず、ユーザとアイテムとの間のネガティブな関係がトレーニング目的として仮定されるユーザ-アイテムペアである。
【0009】
全ての上記損失関数は、モデルを学習するのにユーザの類似のペア及び非類似のペアの双方を必要とする。この理由は、
図1Aに示すように、これらの損失関数が、(1)トレーニングデータセット内の各類似のユーザ-アイテムペアについて、ユーザベクトル表現とアイテムベクトル表現との間のベクトル空間における距離を効果的に最小にする誘引的損失(attractive loss)項と、(2)トレーニングデータセット内の各非類似のユーザ-アイテムペアについて、ユーザベクトル表現とアイテムベクトル表現との間のベクトル空間における距離を効果的に最大にする反発的損失(repulsive loss)項と、の双方を有するからである。これらの損失関数が、類似のペアのみを使用してトレーニングされる場合には、誘引的損失項のみが使用される。
図1Bに示すように、結果は、破綻した解(collapsed solution)である。すなわち、全ての表現は、潜在空間における同じ点にマッピングされ、モデルは、全てのペアについて同じインタラクションスコアを予測する。破綻した解の性能は、ユーザ及びアイテムにランダムな表現を割り当てたものと同程度に悪い。破綻した解を回避するには、これらの従来の損失関数のいずれを使用しても、非類似のペアがRSモデルのトレーニングにおいて必須である。
【0010】
1クラス推薦システムには、既知の暗黙的インタラクションへのアクセスしか存在しない。残りのインタラクションは不明である。ユーザ及びアイテムのペアの非類似のセットを作成するために、一般的な手法は、不明なインタラクションを有するユーザ及びアイテムのペアのセットをランダムに選択し、それらのペアを非類似とみなすことである。もう1つのストラテジは、ハードネガティブ(hard-negative)、すなわち、モデルが非類似として分類することに困難を伴う不明なインタラクションを有するペアを見つけ出すことである。
【0011】
不明なインタラクションを有するユーザ-アイテムペアから非類似のペアを作成することは、2つの主な理由から問題がある。第1に、妥当な結果を得るには、多数の非類似のペアが必要となり、これによって、トレーニングは遅くなる。第2に、インタラクションを有しないペアは、ユーザがそのアイテムを好まないことを必ずしも意味するものではない。ペアのうちのいくつかは、ユーザがそのアイテムについて知っていた場合にはユーザがそのアイテムに親近感を持つペアである可能性があるので(「偽非類似ペア(false dissimilar pair)」)、多数の非類似のペアを使用することは性能を損なう。「偽非類似ペア」は、定義上、非類似として分類することが困難であり、誤ってハードネガティブとみなされることから、問題は、ハードネガティブ手法ではより深刻である。
【発明の概要】
【発明が解決しようとする課題】
【0012】
したがって、破綻した解を引き続き回避し且つ現行技術の結果を達成するとともに、非類似のペアを用いずにRSモデルのトレーニングを可能にする解決策が要求されている。
【課題を解決するための手段】
【0013】
本開示は、類似のユーザ-アイテムペアのみを使用し、非類似のユーザ-アイテムペアを用いずにトレーニングされる1クラス推薦システムに関する。上述した破綻した解に加えて、以下で論述する部分的に破綻した解も、ペアワイズ距離損失項及び直交性損失項を含む損失関数を使用することによって推薦システムのトレーニングにおいて回避される。ペアワイズ距離損失は、ベクトル空間における全てのベクトル表現の間の平均ペアワイズ距離をマージンよりも大きく維持することによって破綻した解を回避する。直交性損失項は、ベクトル空間における次元の間の相関性を削減することによって、部分的に破綻した解を回避する。
【0014】
1つの実施の形態において、1クラス推薦モデルをトレーニングし、該モデルを使用してユーザ及びアイテムのインタラクション値を予測する方法が、以下のステップ、すなわち、
(a)類似のユーザ-アイテムペアのみのユーザデータ及びアイテムデータを含むトレーニングデータセットを取得するステップであって、
前記トレーニングデータセットは非類似のユーザ-アイテムペアを含まず、
類似のユーザ-アイテムペアは、既知のインタラクションを有するユーザ-アイテムペアであり、
非類似のユーザ-アイテムペアは、既知のインタラクションが存在しないユーザ-アイテムペアである、
ステップと、
(b)前記トレーニングデータセット内の前記類似のユーザ-アイテムペアデータに前記モデルを適用して、前記類似のユーザ-アイテムペアのそれぞれの予測インタラクション値を取得するステップであって、前記トレーニングデータセット内の前記ユーザ及び前記アイテムのベクトル空間におけるベクトル表現を生成することを含む、予測インタラクション値を取得するステップと、
(c)以下の損失項、すなわち、
前記トレーニングデータセット内の前記類似のユーザ-アイテムペアのそれぞれにおける前記ユーザの前記ベクトル表現と前記アイテムの前記ベクトル表現との間の前記ベクトル空間における距離を最小にする誘引的損失項と、
前記トレーニングデータセット内の全てのベクトル表現の間の前記ベクトル空間における平均ペアワイズ距離をマージンよりも大きく維持するペアワイズ距離損失項と、
前記ベクトル空間における次元の間の相関性を削減する直交性損失項と、
を含む損失関数を使用して前記モデルの損失値を算出するステップと、
(d)前記モデルのトレーニング可能なパラメータのセットを調整して前記損失値を削減するステップと、
或る反復回数にわたってステップ(b)~(d)を繰り返すステップと、
前記トレーニングをされたモデルを使用して、インタラクション値が不明なユーザ及びアイテムのペアに関するユーザ-アイテムインタラクション値予測を取得するステップと、
を含む。
【図面の簡単な説明】
【0015】
【
図1A】従来技術の損失関数を示すブロック図である。
【
図1B】従来技術の損失関数を示すブロック図である。
【
図2】1クラス推薦モデルをトレーニングする、1つの実施形態による方法を示すフローチャートである。
【
図3】1クラス推薦モデルをトレーニングする新規の損失関数を示すブロック図である。
【
図4A-4B】予測フェーズの間に1クラス推薦モデルを使用して推薦を行う方法を示すフローチャートである。
【
図5】1つの実施形態による一例示の推薦システムアーキテクチャのブロック図である。
【
図6】1つの実施形態による一例示の推薦モデルアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【0016】
本開示は、類似のユーザ-アイテムペアのみを使用し、非類似のユーザ-アイテムペアを用いずにトレーニングされる1クラス推薦システムに関する。「類似のユーザ-アイテムペア」は、ユーザのアイテムの購買又はアイテムのクリック等の既知のインタラクションを有するユーザ-アイテムペアである。非類似のユーザ-アイテムペアは、既知のインタラクションが存在せず、ユーザとアイテムとの間のネガティブな関係がトレーニング目的として仮定されるユーザ-アイテムペアである。以下でより詳細に論述するように、上記で論述した破綻した解は、ペアワイズ距離損失項及び直交性損失項を含む損失関数を使用することによって推薦システムのトレーニングにおいて回避される。ペアワイズ距離損失は、ベクトル空間における全てのベクトル表現の間の平均ペアワイズ距離をマージンよりも大きく維持することによって、破綻した解を回避する。直交性損失項は、ベクトル空間における次元の間の相関性を削減することによって、部分的に破綻した解を回避する。
【0017】
本明細書に説明される方法は、コンピュータシステム(「システム」又は「推薦システム」)によって実行される。この推薦システムのトレーニングフェーズ及び予測フェーズの双方を以下に説明する。トレーニングフェーズの間、推薦システムによって使用される機械学習モデルが、ユーザアイテムインタラクションを予測するようにトレーニングされる。予測フェーズの間、このモデルが使用され、不明なインタラクションを有するユーザ及びアイテムのペアに関するユーザアイテムインタラクションが予測される。
【0018】
1.数学的表記
本明細書に使用される数学的表記に関して、ユーザアイテムインタラクション行列を
【数1】
によって示すことにする。ここで、m及びnは、それぞれユーザの数及びアイテムの数である。R
jkは、ユーザj及びアイテムkのインタラクション値である。R
jk=1は、ユーザjがアイテムkとインタラクトした(例えば、アイテムkを購入した)ことを意味し、R
jk=0は、インタラクションが不明であることを意味する。行列Hの第i行はH
i,:によって示され、第j列はH
j,:によって示される。全てのユーザ及び全てのアイテムのd次元表現は、それぞれ
【数2】
及び
【数3】
によって示される。第jのユーザ及び第kのアイテムの表現は、それぞれ
【数4】
及び
【数5】
によって示される。
【0019】
2.1クラス推薦モデル
推薦システムは、機械学習モデルを使用して、ユーザ-アイテムインタラクション値(「モデル」又は「1クラス推薦モデル」)を予測する。
図6は、1つの実施形態による一例示のモデルアーキテクチャを示している。このモデルは、ユーザ入力データ605からユーザベクトル表現660を生成するユーザニューラルネットワークエンコーダ640を含む。このモデルは、入力アイテムデータ615からアイテムベクトル表現650を生成するアイテムニューラルネットワークエンコーダ620も含む。或る特定の実施形態において、ユーザ及びアイテムの予測インタラクション値680は、ユーザ表現及びアイテム表現のドット積670である。他の実施形態において、予測インタラクション値は、ユーザ表現及びアイテム表現のコサイン類似度を取ることによって、又はそれらの表現を連結して、連結された表現にニューラルネットワークを適用することによって取得される。モデルをトレーニングすることは、最も正確な予測を提供するユーザニューラルネットワークエンコーダ及びアイテムニューラルネットワークエンコーダのパラメータを学習することを含む。
【0020】
3.トレーニングフェーズ
図2は、ユーザアイテムインタラクション予測を行うように、推薦システムによって使用される1クラス推薦モデルをトレーニングする方法を示している。
【0021】
3.1 類似のペアのみを有するトレーニングデータへの1クラス推薦モデルの適用
システムは、類似のユーザ-アイテムペアのみを有し、非類似のユーザ-アイテムペアを有しないトレーニングデータセットを取得する(ステップ210)。上述したように、類似のユーザ-アイテムペアは、既知のインタラクション値を有するユーザ-アイテムペアであり、例えば、ユーザがクリック又は購入したユーザ-アイテムペアである。トレーニングデータセットは、各ユーザ-アイテムペアのユーザデータ及びアイテムデータを含む。例えば、ユーザデータは、ユーザID及び/又はユーザ-アイテムインタラクションベクトルを含むことができ、アイテムデータは、アイテム説明、アイテム価格、アイテムカテゴリ、及びアイテム画像等のサイドアイテムデータを含むことができる。このデータは、1クラス推薦モデルの入力である。
【0022】
システムは、1クラス推薦モデルをトレーニングデータセット内のユーザ-アイテムペアデータに適用して、類似のユーザ-アイテムペアのそれぞれの予測インタラクション値を取得する(ステップ220)。
【0023】
3.2 モデルの損失の算出
図3に示すように、システムは、(1)誘引的損失項、(2)ペアワイズ距離損失項、及び(3)直交性損失項を含む損失関数を使用してモデルの損失値を算出する(ステップ230)。
図3に示す2Dマッピングは、説明を容易にするためのものにすぎない。実際は、ユーザ表現及びアイテム表現は、はるかに多くの次元(例えば100次元)を有するベクトル空間にマッピングされる。用語「損失関数」及び「目的関数」は、本明細書において区別なく使用される。
【0024】
3つの損失項が以下でより詳細に論述される。
【0025】
3.2.1 誘引的損失項
トレーニングデータにおける各類似のユーザ-アイテムペアについて、誘引的損失項は、そのペアのユーザベクトル表現とアイテムベクトル表現との間のベクトル空間における距離を最小にする。誘引的損失項は、既知の解決策において使用される損失関数における誘引的損失項とすることができる。例えば、誘引的損失項は、平均2乗誤差損失又は対照損失における誘引的損失項とすることができる。これらは、以下に数学的に定義される。
【0026】
【0027】
【0028】
3.2.2 ペアワイズ距離損失項
ペアワイズ距離損失項は、ベクトル空間における全てのベクトル表現の間の平均ペアワイズ距離をマージンよりも大きく維持する。これによって、破綻した解が防止される。
【0029】
平均ペアワイズ距離は、ベクトル空間における全てのユーザ-ユーザ表現、アイテム-アイテム表現、及びユーザ-アイテム表現の間の距離に基づいている。1つの実施形態において、ペアワイズ距離損失項は、以下で説明するヒンジペアワイズ距離損失である。
【0030】
上述したように、m人の全てのユーザ及びn個の全てのアイテムのd次元表現は、それぞれ
【数8】
及び
【数9】
によって示される。ユーザ表現及びアイテム表現を縦に連結することによってユーザ-アイテム結合表現
【数10】
を得ることができる。そのような場合には、Zにおける全ての表現の間の平均ペアワイズ距離は、以下のように計算される。
【数11】
ここで、lはZにおける第lの表現を示し、sはZにおける第sの表現を示す。
【0031】
d
pは、全てのユーザ-ユーザ表現、アイテム-アイテム表現、及びユーザ-アイテム表現の間の平均距離を計算するものであり、ユーザ及びアイテム類似のペアの間の距離を計算する
【数12】
の誘引的損失項と異なることに留意されたい。破綻した解では、平均ペアワイズ距離d
pは0に等しい。破綻した解を回避するには、平均ペアワイズ距離d
pは0よりも大きくなければならない。ヒンジペアワイズ損失項は、平均ペアワイズ距離d
pをマージンよりも大きく維持する。ヒンジペアワイズ損失項は、数学的に以下のように定義される。
【数13】
ここで、m
pはマージンである。
【0032】
1つの実施形態において、平均ペアワイズ距離dpを計算することは、全てのユーザ-ユーザ表現、アイテム-アイテム表現、及びユーザ-アイテム表現の間の距離を計算することを伴う。dpを計算するより高速な方法は、各次元の分散の合計を計算することである。以下で述べる式は、各次元の分散を2倍したものの合計を計算することが、全てのユーザ-ユーザ表現、アイテム-アイテム表現、及びユーザ-アイテム表現の間の平均ペアワイズ距離を計算することと等価であることを示している。
【0033】
第lの表現の第q次元をz
l,qとして示すとともに、第q次元のペアワイズ距離を
【数14】
として示すことにする。その場合に、d
pは、以下の式のように、d個の次元にわたって分離することができる。
【数15】
【0034】
【数16】
を以下の式のように書き換えることができる。
【数17】
【0035】
したがって、次元の分散を2倍したものは、その次元におけるユーザ-ユーザ表現、アイテム-アイテム表現、及びユーザ-アイテム表現の平均ペアワイズ距離に等しい。破綻したシナリオでは、各次元の分散は0であり、この破綻したシナリオを回避するには、次元の分散の合計は、マージンよりも大きくなければならない。
【0036】
要約すれば、全ての表現の間の平均ペアワイズ距離dpは、各次元の分散を2倍したものの合計を計算することによって算出することができる。ヒンジペアワイズ損失項は、平均ペアワイズ距離dpがマージンよりも大きいことを確保するようにモデルをトレーニングするのに使用される損失(目的)関数に含まれる。
【0037】
3.2.3 直交性損失項
目的関数において誘引項とペアワイズ損失項とを組み合わせることによって、破綻した解が回避されるが、これらの2つの項だけでは、「部分的に破綻した解」が依然として得られる場合がある。部分的に破綻した解は、ユーザの全体セットについて、2つの表現セットのみを返す。換言すれば、全てのユーザ及びアイテムは、本質的に2つの表現のうちの一方にマッピングされる。2つの表現セットが十分遠く離れている場合には、次元の平均分散は、ペアワイズ損失項によって必要とされるマージンmpよりも大きい。平均ペアワイズ距離がマージンよりも大きいことを要件とすることは、いくつかのシナリオでは部分的に破綻した解を防止するのに不十分である。残念ながら、部分的に破綻した解も不十分な予測をもたらす。
【0038】
第3の損失項、すなわち直交性損失項が、部分的に破綻した解を回避するために使用される。部分的に破綻した解には、ベクトル空間Zの次元の間に線形関係が存在し、したがって、ベクトル空間における次元は高度に相関しており、これは、1つの次元が別の次元を予示することを意味する。直交性項は、ベクトル空間における次元を直交にし、したがって、次元の間の相関性を削減する。直交性項は、数学的に以下のように表すことができる。
【数18】
【0039】
ペアワイズ距離損失項と直交性項とを組み合わせることによって、破綻した解及び部分的に破綻した解の双方が、モデルのトレーニングにおいて防止される。
【0040】
3.2.4 数式
3つの全ての損失項、すなわち、誘引的損失項、ペアワイズ距離損失項、及び直交性損失項を有する目的関数は、数学的に以下のように表すことができる。
【数19】
ここで、λ
1、λ
2、及びλ
3は、モデルのハイパーパラメータである。
【0041】
上記式において、誘引的損失項は、対照損失関数の誘引項である。以下の代替の目的関数に示すような平均2乗誤差損失関数の誘引項等の他の誘引的損失項も使用することができる。
【数20】
【0042】
3.3 モデルパラメータの調整及びモデルの最適化
ステップ230において損失を算出した後、システムは、モデルのトレーニング可能なパラメータのセットを調整して損失を削減する(ステップ240)。システムは、或る反復回数にわたってステップ210~240を繰り返し、モデルを最適化する(ステップ250)。これらのステップは、収束に達するまで又は固定された反復回数にわたって繰り返すことができる。
【0043】
4.0 予測フェーズ
予測フェーズでは、トレーニングされたモデルを使用して、ターゲティング広告用のショップにユーザを推薦することもできるし、電子商取引プラットフォーム上でアイテムをユーザに推薦することもできる。
【0044】
図4Aは、予測フェーズにおいてユーザをショップに推薦する方法を示している。システムは、トレーニングされたモデルを使用して、インタラクション値が不明な電子商取引プラットフォーム上のユーザ-アイテムペアに関するユーザ-アイテムインタラクション値予測を取得する(ステップ410)。システムは、電子商取引プラットフォーム上のショップによって販売されているアイテム及び複数のテストユーザのそれぞれの予測インタラクション値に基づいて、1人以上のテストユーザをショップに推薦する(ステップ420)。
【0045】
図4Bは、1つ以上のアイテムをテストユーザに推薦する方法を示している。システムは、トレーニングされたモデルを使用して、インタラクション値が不明な電子商取引プラットフォーム上のユーザ-アイテムペアに関するユーザ-アイテムインタラクション値予測を取得する(ステップ430)。システムは、次に、テストユーザ及び電子商取引プラットフォーム上の複数のアイテムのそれぞれの予測インタラクション値に基づいて、1つ以上のアイテムをテストユーザに推薦する(ステップ440)。
【0046】
5.0 例示のシステムアーキテクチャ
図5は、推薦システムの一例示のシステムアーキテクチャを示している。上述したように、推薦システムは、ユーザアイテムペアのユーザアイテムインタラクションを予測する1クラス推薦モデル530を含む。モデルへの入力は、ユーザID及び/又はユーザ-インタラクションベクトル等のユーザデータ510と、サイドアイテムデータ(例えば、アイテム説明、アイテム価格、アイテムカテゴリ、及びアイテム画像)等のアイテムデータ520とである。モデルの予測は、ユーザ-アイテムインタラクションスコアの形で出力される。推薦モジュール540は、ユーザ-アイテムインタラクションスコアを予測モデル530から受信し、
図4A及び
図4Bに関して上述したように、これらのスコアを使用して、ユーザをショップに推薦するか又はアイテムをユーザに推薦する。トレーニングモジュール550は、
図2の方法に従って1クラス推薦モデル530をトレーニングする。
【0047】
6.0 実験による改善された性能の提示
関連出願のセクションにおいて引用することによって本明細書の一部をなすものとする上記仮出願は、類似のペアのみを使用し、
図2の方法に従ってトレーニングされた推薦システムと、類似のペア及び非類似のペアの双方並びに従来の目的関数を用いてトレーニングされた従来の推薦システムとの性能を比較する実験の結果を記載している。実験の結果は、前者のシステムがより少ないトレーニングデータでより良好な性能(再現率(recall))を有していたことである。
【0048】
7.0 一般原則
図2~
図6に関して説明した方法は、ソフトウェアで具現化され、ソフトウェアを実行するコンピュータシステム(1つ以上の計算デバイスを備える)によって実行される。当業者であれば、コンピュータシステムが、ソフトウェア命令を記憶する1つ以上の物理メモリユニット、ディスク、又は他の物理的なコンピュータ可読記憶媒体と、これらのソフトウェア命令を実行する1つ以上のプロセッサとを有することを理解しているであろう。当業者であれば、コンピュータシステムはスタンドアローンコンピュータとすることもできるし、クライアントサーバアーキテクチャ等において協働するコンピュータのネットワークとすることもできることを理解しているであろう。
【0049】
本発明の趣旨又は不可欠な特徴から逸脱することなく、本発明が他の具体的な形態で具現される場合があることは当業者には理解されよう。したがって、上記の開示は、本発明の範囲を例示するものであり、限定するものではないことが意図される。
【外国語明細書】