【論文紹介】Neural Graph Matching based Collaborative Filtering

文献情報

タイトル:Neural Graph Matching based Collaborative Filtering
著者:Yixin Su, Rui Zhang, Sarah Erfani, Junhao Gan
会議:SIGIR 2021

概要

ユーザの属性(年齢や性別)とアイテムの属性(映画であればジャンルや俳優)を考慮した推薦を行う際に、以下の3パターンの属性の組み合わせを考慮する推薦手法GMCFを提案。

  1. ユーザの属性同士の組み合わせ(「20代」と「男性」)で、ユーザの特徴を表現

  2. アイテムの属性同士の組み合わせ(「アクション」と「トム・クルーズ」)で、アイテムの特徴を表現

  3. ユーザの属性とアイテムの属性の組み合わせ(「20代」と「アクション」)で、ユーザのアイテムに対する好みを表現

著者によるPyTorchでの実装がGitHubで公開されている。

従来研究との差異

ユーザの属性とアイテムの属性を考慮した推薦では、factorization machineに代表されるように、任意の属性の組み合わせを等価に扱っていた。本論文では、上記の1と2を「Inner Interactions」、3を「Cross Interactions」と呼んで区別し、それぞれの役割も明示的に区別している点に違いがある。

手法

提案手法GMCFは下図に示す「Graph Construction」「Node Matching based GNN」「Graph Matching」の3つのコンポーネントから構成される(図は論文より引用)。

Graph Construction

ユーザとアイテムをそれぞれグラフで表現する。グラフはユーザごと、アイテムごとに作られる。ユーザを例にとると、ユーザの各属性(例えば「20代」「男性」「日本」の3属性)がグラフのノードとなり、任意の2ノード間にエッジを張って完全グラフを作る。各属性はベクトルで表現される。

Node Matching based GNN

Inner InteractionsとCross Interactionsの観点から、グラフ上の各ノード(属性値)のベクトルを更新する。以下では「20代」「男性」「日本」という属性を持つユーザのグラフ上で「20代」のノードのベクトルを更新する手順を例に説明する。

Inner Interactionsに基づく更新では、通常のGNN同様、「20代」と隣接する属性のベクトルを踏まえて「20代」のベクトルを更新する。具体的には、「20代」と「日本」の各ベクトルを連結してMLPに入力するすることで新たなベクトルを得る。「20代」と「男性」に対しても同様にベクトルを得る。そうして得られた2つのベクトルの和を「20代」のベクトルとする。(図の「Message Passing」に相当)

Cross Interactionsに基づく更新では、「20代」という属性とアイテムの各属性の相性を計算する。アイテムiが「アクション」「トム・クルーズ」という2つの属性を持つとする。「20代」のベクトルと「アクション」のベクトルのアダマール積により新たなベクトルを得る。同様に「20代」と「トム・クルーズ」からもベクトルを得る。それら2つのベクトルの和で、「20代」のアイテムiに対する相性を表現する。(図の「Node Matching」に相当)

以上の操作で、「20代」という属性に対して3種類のベクトル(元々のベクトル、Inner Interactionsを考慮したベクトル、Cross Interactionsを考慮したベクトル)が得られる。それらを連結してGRUに投入した出力結果を「20代」の最終的なベクトルとする。

Graph Matching

「Node Matching based GNN」によりユーザの属性グラフの各ノードの最終的なベクトルが得られれば、全ノードのベクトルを足し合わせたものを、そのグラフに対応するユーザのベクトルとする。アイテムの属性グラフからも同様にアイテムのベクトルを求める。それら2つのベクトルの内積により推薦スコアを計算する。

実験

3種類のデータセット(MovieLens 1M、Book-crossing、Taobao)を使用。AUC、Logloss、NDCGで評価し、factorization machineベースの手法やGNNベースの手法を上回ることを示した。

定性評価では、ユーザの年代間の類似度(属性に対応するベクトル間の類似度)、アイテムのジャンル間の類似度、ユーザの年代とアイテムのジャンルの相性を下図のように可視化(図は論文より引用)。年代とジャンルは直感的に似たもの同士の類似度が高くなっていて、年代に応じたジャンルの好みも直感に沿った結果となっている。

この記事が気に入ったらサポートをしてみませんか?