【論文紹介】Package Recommendation with Intra- and Inter-Package Attention Networks

文献情報

タイトル:Package Recommendation with Intra- and Inter-Package Attention Networks
著者:Chen Li, Yuanfu Lu, Wei Wang, C. Shi, Ruobing Xie, Haili Yang, Cheng Yang, Xu Zhang, Leyu Lin
会議:SIGIR 2021

概要

ユーザに対するパッケージの推薦手法IPRecを提案。パッケージとは、複数種類のオブジェクトの組み合わせ。本論文で扱うパッケージは「ニュース記事」「記事の発行メディア」「記事を読んだ友人」の3種類のオブジェクト
から構成され、ユーザにはそれらの情報がまとめて推薦される。
提案手法をTensorflowで実装したコードがGitHubで公開されている。

従来研究との差異

同一種類のアイテム集合の推薦を目的とした研究や、友人関係を補助情報として使ったアイテム推薦を目的とした研究は取り組まれてきたが、複数種類のオブジェクトから構成されるパッケージの推薦を扱った研究は本論文が初。

提案手法

提案手法では、ユーザuとパッケージpをそれぞれベクトルで表現する。そのうえで、uとpのベクトルを連結してMLPに通すことでuに対するpの推薦スコアを計算する。以下では、下図で表現される、ユーザとパッケージのベクトルでの表現方法を説明する(図は論文より引用)。

パッケージのベクトル表現(図の左半分)

パッケージpのベクトルを求める際は、以下の2つの観点を考慮する。

  1. pを構成する各オブジェクト(記事、メディア、友人)のベクトル(図のIntra-package Attention)

  2. pと共通のオブジェクトを持つパッケージのベクトル(図のInter-package Attention)

1.では、pを閲覧したuの友人は複数人いるため、各友人のベクトルの重み付き和で友人集合を一つのベクトルで表現する。その際、uが政治に興味があり、かつ政治に関する記事であれば、政治が得意な友人の影響でuが記事を読む可能性が高くなるような現象を表現するために、各友人の各トピックに対する得意度合いや、uの各トピックに関する興味の度合いをattentionによる重みで表現する。
さらに、uが記事、メディア、友人やその組み合わせ(「記事と友人」など)のそれぞれから影響を受けやすい度合いもattentionによる重みで表現し、記事、メディア、友人やその組み合わせの各ベクトルの重み付き和により、パッケージpのベクトルを求める。つまり、pのベクトルは推薦対象となるユーザによって異なる。

2.では、p単体ではベクトル化の精度が不十分なので、pと共通点のあるパッケージのベクトルを考慮することでpのベクトル化の精度を高めることを目的としている。具体的には、pとメディアが共通のパッケージ集合や、pを見た友人が他に見たパッケージ集合などを集める。そのうえで、そうした各パッケージのベクトルの重み付き和に1.で求めたベクトルを足すことでpの最終的なベクトルとしている。

ユーザのベクトル表現(図の右半分)

ユーザuのベクトルを求める際は、uがこれまでに閲覧してきたパッケージ集合を利用する。まずは、uを各オブジェクトの観点からベクトルで表現する。例えば「記事」というオブジェクトであれば、各記事のベクトルの重み付き和でuを表現する。その際の重みは、uの各記事に対する興味をattentionで表現して求める。「記事」「メディア」「友人」の3つのオブジェクトに対応するuのベクトルを求めたら、uの各オブジェクトに対する興味の度合いをattentionによる重みとして足し合わせ、uのベクトルとする。(図のFine-grained Aggregation)
これだけではユーザのベクトル化の精度が不十分なので、ユーザがこれまでに閲覧した各パッケージのベクトル(「パッケージのベクトル表現」で求めたもの)の重み付き和のベクトルをuのベクトルに足し合わせて、uの最終的なベクトルとしている。(図のCoarse-Grained Aggregation)

実験

WeChatの「Top Stories」という機能のログを独自に収集してデータセットを構築。このデータセットは、上の説明と同じく、一つのパッケージが「記事」「メディア」「友人」から構成される。
既存のアイテム集合の推薦手法や、補助情報を使う推薦手法よりも提案手法の方が高いAUCを示した。ユーザごとに各オブジェクトに対するattentionを可視化することで、「このユーザはどの友人が記事を閲覧したかを重視して、記事を閲覧するかを決めている」といった定性的な評価も行っている。

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