ResSys 2024 流し読みメモ(Session 1: Large Language Models 1)

RecSysの論文を読み始めている。いうほど数があるわけではない?気がするのと、概観を掴みたいので、AIに要約してもらいながらとりあえず全部流し読みしてみることにする。
(原文はちょこちょこしか見ていないから変なことを書いていたらごめんなさい)
たぶん全部で200本届かないくらいな気がするから、毎日5本ずつ見れば二ヶ月くらいで終わる。

RecSys 2024 — Session 1: Large Language Models 1 - RecSys – RecSys

SeCor: Aligning Semantic and Collaborative Representations by Large Language Models for Next-Point-of-Interest Recommendations

https://dl.acm.org/doi/10.1145/3640457.3688124

  • 最初はこれ。Next Point of Interest(ユーザーが次に向かうとよさそうな位置)の推薦らしい。そんなのあるんだ......
  • 普通は協調フィルタリングだけでやるけど、場所の説明文をLLMで解析して得られる情報も考慮してお互いの方法のいいとこ取りをするって話らしい
  • アイテムの特徴量も考慮するCFの派生みたいなのってたくさんあると思うから、さらにその派生ってかんじか

40min

Towards Open-World Recommendation with Knowledge Augmentation from Large Language Models

https://dl.acm.org/doi/10.1145/3640457.3688104

  • Knowledge Augmentationって書いてあるとおりで、LLMを使って訓練データに含まれない情報も推薦に使えるようにしようという話らしい
  • 適用先ドメインは何でもいいらしいけど、実験はクリック予測のAUC / LogLossと、ランキングのMAP / NDCG。データセットはMovieLens-1M / Amazon Books
  • LLMの欠点としてInference latency と Compositional gapの二点が挙げられている。後者はピンとこなかったけど、「個々の要素や部分的な問題は理解・処理できても、それらを組み合わせて全体的な問題を解決することが難しい」て話で、要は推薦はLLMにはまだ難しい的なことらしい
  • この文献ではいい感じに問題を細かく分けたり、LLMから得られたテキストをベクトルにすることでこれらの問題に対応している?ぽい

30min

LARR: Large Language Model Aided Real-time Scene Recommendation with Semantic Understanding

https://dl.acm.org/doi/pdf/10.1145/3640457.3688135

  • Real-time Sceneってことで、時々の状況を推薦に反映しようって話。適用対象のドメインがフードデリバリーのサービスらしくておもしろい
  • ここでもLLMの課題としてレイテンシが挙げられている。シチュエーションは多岐にわたるので、工夫しないと都度LLMに突っ込まないといけなくて遅い。レストランのベクトル、ユーザー嗜好のベクトル、状況のベクトル(朝だとか夜だとか)など、個別に分解して事前にLLMに入れてベクトルを作っておいて、推論のときはそれらを使うだけという感じらしい。要は一個上のやつと同じってことか? なんでもあらかじめベクトルにすればいいのだ

20min

Playlist Search Reinvented: LLMs Behind the Curtain

https://dl.acm.org/doi/pdf/10.1145/3640457.3688047

  • PDF二枚のショートペーパー。こういうのもあるのか......
  • Amazon Music プレイリスト検索の改善。以前はBug of Wordsで関連度順にスコアリングしていたけどいまはANN検索に切り替えている
  • (1) もともとは字句マッチで検索していたからデータが足りない (2) メタデータが足りない (3) 評価が人力でつらい の3つの課題があり、これをLLMで解決
  • 具体的には「LLMでメタデータを補完」「データをLLMで生成」「評価をLLMで省力化」で解決
  • データの生成方法がちょっと面白い。まず、プレイリストに対応するそれらしいクエリをLLMで生成する。ここでの対応関係はたぶんあんまり関係がなくて、単にゼロマッチしないクエリがほしいだけだと思う。次にこれらのクエリと、実際に出してみてクリックに至らなかったイマイチなクエリ(要はこういうのをなんとかしたいってケース)を混ぜ合わせて実際に検索をやってみて、クエリとプレイリストの対を作る。最後に、LLMを使ってどのくらいよいかを判定して、正例負例のラベル付を行う。要は広くクエリを作りながらも、ここを直したいってところはちゃんと避けるようにするわけだ
A Hybrid Multi-Agent Conversational Recommender System with LLM and Search Engine in E-commerce

https://dl.acm.org/doi/10.1145/3640457.3688061

  • Eコマースの対話型推薦システム(Conversational Recommender System)が対象。JD.comって初めて聞いた。ジンドン、テンセントグループの企業で、Tmallに次いで中国のECシェア第二位らしい(対話型推薦システムって実際どのくらい使われるんだろうか..... 昔はポンコツだったからその印象が強いけど、最近はこういうのも便利そうだ)
  • CRSは最近複数のLLMエージェントとプランナーエージェントを組み合わせて作るマルチエージェント構成がトレンドとのこと(MACRS)
  • 推薦はエージェントがクエリ解釈 => 検索エンジンで候補を作成 => 応答を作成 みたいな流れで(多分間をプランナーエージェントがつなぐ)、レイテンシが長いし何回もLLMを叩くし検索もするしでコストが重いのが課題らしい
  • クエリ解釈から検索エンジンへのリクエスト、応答の作成まで全部できるエージェントを作る + 推薦を出す場合はUIがクリックできる商品のリストみたいにならないといけなから、それはLLMに「推薦する場合は特殊なトークンを出力する」みたいな感じで 学習させることで作っているらしい(細かい工夫の話?)
  • あと、ハルシネーションなどでゼロマッチになるのも課題としてあったらしく、それはあらかじめ代替コンテンツを作っておくことで対応している。代替コンテンツは、クエリをクラスタリングしてその検索結果をオフライン作成することで準備しておく(要は典型例題みたいなかんじか)

19min

Large Language Models as Evaluators for Recommendation Explanations

https://dl.acm.org/doi/10.1145/3640457.3688075

  • 推薦システムの「説明文」の評価方法に関する検討。「説明文」ってのは、おすすめに添えて出される「80%のユーザーが、あなたと同じように映画『xxx』を視聴した後に、この映画を高く評価しています」みたいなやつ。推薦に理由を添えると納得感が出てクリックが増えたりするので、それの話だ(ユーザーからみるとなぜ勧められたのかわからないと押さない。記事の見出しを推薦に使うとかだとピンと来そうなものだけど、たしかに映画とかはタイトルみてもよくわからないので、そういう場合はとても重要だ)
  • これが何らかの方法で作成されたとして、どのくらい良い説明になっているか評価したいというのがモチベーション。人に評価してもらうのはコストがかかるし、なんとかして機械的に評価しても人間の感覚はいまいち反映されなかったりする
  • 提案ではLLMで評価するのだけど、その際に3つの方法が検討されている。「ゼロショット学習」プロンプト一発。「ワンショット学習」人間の評価結果を1例だけ与える。「LLMアンサンブル」複数のLLMを組み合わせる。結果は人間による評価と相関をみて評価している
  • データセットは結構面白そうで、映画推薦とそれに対する複数種類の説明文に対してのユーザーの4軸5段階評価のものらしい。著者らの以前の研究で使われたもので非公開っぽい

21min

感想

こういうのもあるのか~~という感じで見ていておもしろい。特に驚きはないんだけど、なんというか常識が補完されている気がする。具体のそれぞれがどのくらい役に立つかわからないけど、この程度でも頭に入れておくといざというときにだいぶ役に立つのを最近は割と感じるのでまあいいのではないか(ヒット率1%くらいなんだけどそれが大事な気がしている)。

生成AIによる要約をみて、わからないところを質問して、みたいにしていると、学生時代に交代交代で行われる論文紹介を聞いていたときのことを思い出す。当時はさすがにもう少しちゃんと読んでいたと思うけど、徹夜で酒を飲んで、朝方にエイヤと作った発表資料だったら(まあそういうときもなくはなかったと思う)、生成AIとドッコイドッコイなのではないか。時間としても、ざっくり読んで質疑をして、ちょっとメモを書いて、でだいたい1本20分くらいなのでやはり論文紹介をやったり聞いたりしていたときの感覚に近い。
ただ、このペースだと1日3本くらいしか読みたくない..... 慣れたら早くなるかもしれんので、もう少しやってみて様子を見る。