Closed nogawanogawa closed 1 year ago
embeddingを推薦に組み込むことが効果的であることは、多くの先行研究で示唆されている。 しかし、先行研究の多くはuser-item間の関連を使用して"特定の"タスクを解くことにフォーカスしている。 (例: PinSageでは、Pin もしくは Repinの行動を使用しているが、一般的なembeddingを獲得するにはfollowなどの行動も使用できるかもしれない) こうしたタスクによらない普遍的なEmbeddingを考えることは、使用できるデータ量が増える・タスクごとにembeddingを考慮しなくて良いなど、利点がある。
Twitterでは、複数種類のインタラクションをして普遍的なナレッジグラフ埋め込みを獲得することを考える。 この分野の多くの研究は、実アプリケーションに適用されない段階か、少ない種類のインタラクションしか使用しない場合など、限定的なものになっている。
nodeは4種類(‘User’, ‘Tweet’, ‘Advertiser’, and ‘Ad’), edgeは7種類(‘Follows’, ‘Authors’, ‘Favorites’, ‘Replies’, ‘Retweets’, ‘Promotes’, and ‘Clicks’)ある
embeddingを用いて、特定のscoreを計算するとき、下記のようなfを考える。
今やりたいことは、このscoreの対数尤度を最大にするパラメータθ(embedding)を見つけることになる。
これを解くために、tripletで学習することを考える。
目的関数としては、下記の様になる。
左側がrealのエッジ、右側がfakeのエッジを表している。 このfakeについては, realのsource もしくはtargetのエンティティを同種の別のentityと入れ替えることで作成する。
このときのサンプリングは先行研究に従っている模様。[1]
Twitterでは10^9のノード(e.g. user, tweet)が発生する。 この規模に対応するためにPytorch Biggraphを使用する。(中身ではいい感じにノードとエッジをクラスタに分離して、計算規模を小さくして分散させている)
マルチモーダルなエンティティを集約するために後処理を加える
あるノードに対して関与したクラスタの関与量の割合を計算する。
各クラスタごとに、クラスタのembを計算されており、これらを関与量で重み付けして足し合わせることで複数種類のentityをまとめる。
twitterではTwHINを大きく2種類の方法で使用している
who to followに使用した結果が下記。
マルチモーダルにしたほうがrecallが高いことが分かる。
予測広告ランキングに関して、3種類の広告に対してテストを行った。(指標: RCE)
Userのembeddingが最も効くものの、複数のembeddingを活用した場合には更に性能が上がることがわかった。
検索ランキングをパーソナライズしたときの結果が下記。
follow base , engagement base, auther のembeddingをおいたとき、すべてつけたときが最もスコアが高かった。
攻撃的なコンテンツの検知に関する結果は下記の様になっている。
一般のモデルと比較したとき、collection 1ではもっとも高くcollection2は2番目に良いという結果になった。
論文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では、複数種類のインタラクションをして普遍的なナレッジグラフ埋め込みを獲得することを考える。 この分野の多くの研究は、実アプリケーションに適用されない段階か、少ない種類のインタラクションしか使用しない場合など、限定的なものになっている。
目的
アプローチ
ひとことメモ
Twitterのコードが公開されたので.