nogawanogawa / paper_memo

4 stars 0 forks source link

TwHIN: Embedding the Twitter Heterogeneous Information Network for Personalized Recommendation #80

Closed nogawanogawa closed 1 year ago

nogawanogawa commented 1 year ago

論文URL

https://arxiv.org/abs/2202.05387

著者

Ahmed El-Kishky, Thomas Markovich, Serim Park, Chetan Verma, Baekjin Kim, Ramy Eskander, Yury Malkov, Frank Portman, Sofía Samaniego, Ying Xiao, Aria Haghighi

会議

SIGKDD' 22

背景

embeddingを推薦に組み込むことが効果的であることは、多くの先行研究で示唆されている。 しかし、先行研究の多くはuser-item間の関連を使用して"特定の"タスクを解くことにフォーカスしている。

Twitterでは、複数種類のインタラクションをして普遍的なナレッジグラフ埋め込みを獲得することを考える。 この分野の多くの研究は、実アプリケーションに適用されない段階か、少ない種類のインタラクションしか使用しない場合など、限定的なものになっている。

目的

アプローチ

image

ひとことメモ

Twitterのコードが公開されたので.

nogawanogawa commented 1 year ago

背景

embeddingを推薦に組み込むことが効果的であることは、多くの先行研究で示唆されている。 しかし、先行研究の多くはuser-item間の関連を使用して"特定の"タスクを解くことにフォーカスしている。 (例: PinSageでは、Pin もしくは Repinの行動を使用しているが、一般的なembeddingを獲得するにはfollowなどの行動も使用できるかもしれない) こうしたタスクによらない普遍的なEmbeddingを考えることは、使用できるデータ量が増える・タスクごとにembeddingを考慮しなくて良いなど、利点がある。

Twitterでは、複数種類のインタラクションをして普遍的なナレッジグラフ埋め込みを獲得することを考える。 この分野の多くの研究は、実アプリケーションに適用されない段階か、少ない種類のインタラクションしか使用しない場合など、限定的なものになっている。

nogawanogawa commented 1 year ago

目的

アプローチ

nogawanogawa commented 1 year ago

TwitterのHINの例

image

nodeは4種類(‘User’, ‘Tweet’, ‘Advertiser’, and ‘Ad’), edgeは7種類(‘Follows’, ‘Authors’, ‘Favorites’, ‘Replies’, ‘Retweets’, ‘Promotes’, and ‘Clicks’)ある

nogawanogawa commented 1 year ago

TWHIN EMBEDDINGS

学習

embeddingを用いて、特定のscoreを計算するとき、下記のようなfを考える。

image

今やりたいことは、このscoreの対数尤度を最大にするパラメータθ(embedding)を見つけることになる。

これを解くために、tripletで学習することを考える。

目的関数としては、下記の様になる。

image

左側がrealのエッジ、右側がfakeのエッジを表している。 このfakeについては, realのsource もしくはtargetのエンティティを同種の別のentityと入れ替えることで作成する。

このときのサンプリングは先行研究に従っている模様。[1]

計算リソースの考慮

Twitterでは10^9のノード(e.g. user, tweet)が発生する。 この規模に対応するためにPytorch Biggraphを使用する。(中身ではいい感じにノードとエッジをクラスタに分離して、計算規模を小さくして分散させている)

マルチモーダル化

マルチモーダルなエンティティを集約するために後処理を加える

  1. 既存の単埋め込みをクラスタリングする
    • これはエンティティには複数種類あるので、それぞれでクラスタリングする
  2. ノードに最も関与したクラスタを集約して、ノードに対する複数の埋め込みを計算する。
    • userであればそのuserに対して、follow, engagement, ...についてそれぞれどのクラスタがどれくらい関与しているかを計算
    • クラスタごとにもembeddingが計算でき、注目しているnodeに対するクラスタの関与量で重み付けされたembeddingが、複数エンティティを考慮したときのembeddingとなる

あるノードに対して関与したクラスタの関与量の割合を計算する。

image

各クラスタごとに、クラスタのembを計算されており、これらを関与量で重み付けして足し合わせることで複数種類のentityをまとめる。

nogawanogawa commented 1 year ago

推薦への適用

image

twitterではTwHINを大きく2種類の方法で使用している

  1. candidate generation
    • 推薦候補の作成
      • ANNによって取得している
  2. ranking and prediction
    • ランキング作成
    • カテゴリ分類タスク
nogawanogawa commented 1 year ago

評価

candidate generation

who to followに使用した結果が下記。

image

マルチモーダルにしたほうがrecallが高いことが分かる。

Recommendation and prediction

予測広告ランキング

予測広告ランキングに関して、3種類の広告に対してテストを行った。(指標: RCE)

image

Userのembeddingが最も効くものの、複数のembeddingを活用した場合には更に性能が上がることがわかった。

検索ランキングのパーソナライズ

検索ランキングをパーソナライズしたときの結果が下記。

image

follow base , engagement base, auther のembeddingをおいたとき、すべてつけたときが最もスコアが高かった。

攻撃的コンテンツの検知

攻撃的なコンテンツの検知に関する結果は下記の様になっている。

image

一般のモデルと比較したとき、collection 1ではもっとも高くcollection2は2番目に良いという結果になった。