Recommendation as Language Processing (RLP): A Unified Pretrain, Personalized Prompt & Predict Paradigm (P5)
https://gyazo.com/74f2d87fdfb18b90080a0c443bc4b42c
著者情報
Rutgers University
選んだ理由
推薦タスクを統合的・転移的に解く方法に興味があったため
前知識
T5: 分類、要約、翻訳などの言語処理タスクをtext-to-textで解く
text-to-text: テキスト形式の"タスク:問題"の入力からテキスト形式の"回答"を出力するもの
https://gyazo.com/9f1ade44cda96584ef1603d61201fe01
どんなもの?
既存の推薦タスクはタスク特有のアーキテクチャや目的関数の設計を行い各々個別に解いていた
そのため例えば、系列推薦のモデルを推薦商品のレビュー生成へ転移させることが難しい
そこで、text to textの技術を用いて柔軟に推薦タスクを解く“Pretrain, Personalized Prompt, and Predict Paradigm” (P5)を提案
user-itemインタラクションや商品レビュー情報をテキストの系列情報に押し込んで事前学習する
転移的な学習が行えるので、zero-shotやfew-shotの推論にも強くfine-tuningの必要性が薄くなる
ソースコード
先行研究と比べてどこがすごい? (貢献)
各々個別に解かれていた推薦タスクを統合的に学習する仕組みを提案
text-to-text, パーソナライズされたプロンプトをベースとしている
複数の推薦タスクで良好な結果
zero-shotな推論にも強い
ここでいうzero-shot推論は、例えばプロンプトのインプットにユーザーのIDを明示的に入力せずに、ユーザーに対して何らかの推論を行うことを指す
技術や手法のキモはどこ?
(以下の図は文字が小さく解像度が粗いため必要であれば元論文の画像をご参照ください)
手法のイメージ
https://gyazo.com/9ffd5fd122753fb8a283294171cbcfc9
プロンプトの作り方
https://gyazo.com/3e8b4dfd017fbaab21ac4c74be80ab28
プロンプトは以下の構成要素からなる
input template
output template
metadataからなる(Figure 2 参照)
パーソナライズドプロンプトは上記に加えて、ユーザーやアイテムのフィールドを持つ(例:年齢、性別)
5つの推薦タスクについてプロンプトを生成する(全プロンプトはAppendix参照)
レーティング予測
ユーザーアイテムのペアをもとに直接レーティング(1から5の値)を予測
ユーザーがアイテムにレーティングをつけるか否かを予測
ユーザーがアイテムを好むか否かを予測(4以上のレーティングは好むとする)
系列推薦
アイテム閲覧履歴をもとに、次に接触するアイテムを予測
アイテム閲覧履歴をもとに、特定の候補の中から次にどのアイテムに接触するかを予測
アイテム閲覧履歴をもとに、とあるアイテムが次に接触されるか否かを予測
explanation
ユーザーに対して、とあるアイテムへのテキスト説明を直接生成
ユーザーに対して、単語ヒントをもとにテキスト説明を生成
レビュー
レビュー全文を要約
レビューコメントをもとにレーティングを予測
direct recommendation
ユーザーに対して与えられたアイテムを推薦すべきか否かを決める(ユーザーがアイテムに接触するか否かを予測)
複数のアイテムの中からどのアイテムを推薦すべきか決める
P5のアーキテクチャ
https://gyazo.com/8f698231d53e763eff8d3fe4276cac1c
Position Emb.
系列における位置を保持するため
Whole-word Emb.
もとの単語情報を保持するため
しかし、もとの単語(アイテムIDを含む)をそのまま保持すると単語数が多くなりすぎてうまく学習できない懸念がある点に留意
最終的には、sub word, position, whole-word埋め込みを足してEncodeする
どうやって有効だと検証した?
データセット
https://gyazo.com/d6f491d50f2d27423acf1c4023ad948d
Amazon
Sports & Outdoors
Beauty
Toys & Gam
Yelp
YelpはAmazonと同様の結果だったので主にAmazonの結果を本文中に載せている
split
explanation, review
train:valid:test=8:1:1
seqential, direct recommendation
ユーザーのクリック履歴の最後のアイテムをtest
その前のアイテムをvalid
それ以外をtrain
モデル
P5-small (P5-S)
encoder,decoder: 6層
512次元
8-head attention
P5-base (P5-B)
12 Transformer blocks
768次元
12-head attention
10-epoch学習、1:1の比率でnegative sampling(ベースラインも同様)
結果
表の見方
紫色
seenプロンプト(ユーザーIDなどを明示的に入れる)の結果
オレンジ色
unseenプロンプト(ユーザーIDなどを明示的に入れない)の結果
(1-6)のような数字
プロンプトのID
1-6だったらAppendixにある1-6というプロンプトを指す
このように、一部のプロンプトのみの結果を抽出して載せている
レート予測の結果
既存手法のほうが良かったけど差は小さい
https://gyazo.com/52493bb387ec8e2380cdac4878ea2775
系列推薦と説明生成の結果
提案手法がよく、スモールのモデルも健闘している
https://gyazo.com/78d50e66154db1090df66c029fe9d7b0
レビュー
提案手法がよい
https://gyazo.com/e57fc7908dee8262572e4917346cf3f2
https://gyazo.com/28ec040d1113bdc02e70f26ce8184804
GPT-2とT0はそれぞれ1.5B, 11Bパラメータもってて提案手法よりだいぶ大きいがそれより精度がよい
P5のスモールは60.75M, ラージは223.28M
Sportsは、他のドメインに比べてデータ量が多く、ユーザーアイテムが密
そのため、モデルのキャパシティが大きいラージの精度が高いと考えられる
Direct Recommendation
提案手法がよい
https://gyazo.com/7161bd92f48fbf1c455d4d081a5ac1e3
zero-shotの推論はうまくいっているか
推論タスクと結果の例
https://gyazo.com/72c0e1b09f1fd9ab97a1337059104f46
Toys->Beautyは、Toysドメインのデータのみを学習に使って、Beautyドメインのデータに対して推論したことを表す
精度
https://gyazo.com/e7456c890d965e93ec5918945c2aacfe
特徴語を一切使わないプロンプト (Prompts Z-5 & Z-7)は、結果が悪くうまく転移できていない
それ以外の結果は良好なので、特徴語を活用したプロンプトではうまく転移しているといえるらしい
https://gyazo.com/149c72f39993a102ebdbe2e42c3830b5
Figure 5の見方
P5-SN
各推薦タスクを個別に学習したもの
P5-N
提案手法、各推薦タスクをすべて学習したもの
P5-PS
プロンプトの数を制限したもの
Figure 5の結果
基本的に、提案手法がPS-Nがよい(僅差に見える)
多様なプロンプトをもとに学習すべしとのこと
議論はある?
主要な(産業界で頻繁に使われている)推薦タスクは言語タスクほど各々のタスクに違いはない?
推薦のレビュー生成タスクはよくある推薦タスクと違いはあるけど、主要なタスクではなさそう
P5-SNがP5-Sに比べてそこまで精度悪くないから推薦タスクを統合したありがたみは薄い?
zero-shotに強くなるのが最大の利点?
統合フレームワークをつくりました、という点が強い?
実験周り
アーキテクチャの検証やデータセットの影響の分析はこれで十分か
おそらくT5に全部乗りしているが推薦ドメイン特有のチューニングの余地はないか