【Chat-REC】LLMをベースとしたレコメンデーションシステムの提案
3つの要点
✔️ 対話性や説明可能性を備えたLLMベースのレコメンデーションシステムChat-RECを提案
✔️ ユーザープロファイルと過去のやり取りをプロンプトに入力した文脈内学習に基づく会話型レコメンデーションシステムを構築
✔️ 実験によって,会話のやり取りからユーザの好みを学習したり,異なる商品ドメイン間での推薦も可能であるということが明らかになった
Chat-REC: Towards Interactive and Explainable LLMs-Augmented Recommender System
written by Yunfan Gao, Tao Sheng, Youlin Xiang, Yun Xiong, Haofen Wang, Jiawei Zhang
(Submitted on 25 Mar 2023 (v1), last revised 4 Apr 2023 (this version, v2))
Comments: Publised on arxiv.
Subjects: Information Retrieval (cs.IR); Computation and Language (cs.CL); Machine Learning (cs.LG)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
導入
ビッグデータ時代である現在,我々が何か商品を検索したり,選択したりするケースにおいて,レコメンデーションシステムが広く利用されています.
無数にある商品群の中から手作業で検索するのは無理があるため,ユーザの好みを自動的に抽出・推論し,それに合わせた高品質な商品推薦をするシステムが求められています.
しかしながら,モデル設計やデータ分布のバイアスにおいて様々な問題が残されています.
例えば,対話性や説明可能性といった,ユーザにとってのわかりやすさの欠如であったり,新規のユーザや新規アイテムに対する推薦の精度が低くなってしまうコールドスタート問題であったり,商品ドメイン間にまたがった推薦が難しいといった問題があります.
昨今,大流行している大規模言語モデル(Large Language Models, LLM)を用いれば,これらの問題が解決できることが期待されます.
LLMは,わかりやすい説明文を記述してくれますし,内部に持つ膨大な情報を駆使して,商品ドメイン間の領域横断的な情報処理が可能だからです.
さらに,LLMはユーザとのインタラクションにも長けており,ユーザ体験を向上させることができるでしょう.
本論文では,学習を必要とせず,文脈内学習を用いて,LLMをレコメンデーションシステムとして拡張する手法について紹介します.
手法
レコメンデーションシステムとLLMの橋渡し
従来のレコメンデーションシステムは,クリック履歴や購入履歴などのユーザデータからユーザの好みを抽出することで推薦を行ってきました.
一方,自然言語処理技術を用いることで,レビューやSNS上への投稿などのテキストベースのコンテンツからユーザの好みを抽出することや,テキストで自然な返答を行うことができるなど,レコメンデーションシステムを拡張できる可能性が明らかになってきました.
本論文では,両者の流れを汲んだ,ChatGPTベースのレコメンデーションシステムであるChat-RECを提案しています.
Chat-RECは,ユーザ-アイテム間のインタラクション履歴(=ユーザがどのアイテムにどう反応したかの履歴.クリック・購入・評価など),ユーザプロファイル(=年齢,性別,場所,興味など),ユーザのクエリ(=要望を記述した入力文)$Q$,対話履歴$H$を入力とし,推薦アイテムの候補を提示するレコメンデーションシステム$R$と接続されています.
これらの入力情報を,プロンプト構築モジュール$C$が要約して,プロンプトを生成します.
クエリ$Q$から指定されたタスクが推薦タスクだと判断した際には,レコメンデーションシステム$R$を呼び出し,推薦アイテムの候補セットを生成して中間回答とし,それをプロンプトに入力して回答テキストを生成する,推薦タスク以外だと判断した際には,ChatGPTが直接回答する,という流れになっています.
候補セットの絞り込み
従来のレコメンデーションシステムだと無数に存在する商品群の中から,推薦の信頼度などでスコアリングした結果を元に並び替えされ,ユーザに提示されるものですが,大量の商品が一度に提示されるとユーザは圧倒されてしまうものです.
本論文では,LLMの文脈内学習能力を利用して,候補の商品群を絞り込む手法を提案します.
まず,ユーザのプロファイルや過去のやり取りをプロンプトに入力し,LLMにユーザの好みを要約させることを求めます.
このようにして商品属性とユーザの好みの関係性に関する知識が得られれば,レコメンデーションシステムによって作成された推薦アイテムの候補セットを受け取って,ユーザの好みに応じてフィルタリングしたり,並び替えたりすることができ,より最適化された候補セットを提示することができます.
新規アイテムに対する対応
LLMが学習に使用したデータセットには時間的な限界があり,最新の情報は含まれていないのが通常です.
したがって,ユーザが最新のアイテムの推薦を求めてきた場合には,上記の手法では対処しきれません.
これに対処する手法として,新規アイテムに関するデータはあらかじめデータベースにためておき,最新のアイテムの推薦が求められた際に参照するという方法が考えられます.
具体的には,推薦アイテムのテキストのエンコーディングを行い,埋め込み表現をデータベースに保存しておき,リクエスト文の埋め込み表現との類似度から,関連性の高いアイテムの情報を持ってきて,プロンプトに入力するという形です.
商品ドメイン間をまたいだ推薦
LLMはインターネット上の膨大なデータで訓練されており,多くの視点を持った知識ベースとしての機能を有していると考えられます.
したがって,以下の例のように,映画の推薦の次に,書籍やテレビ番組など,他のドメインの商品の推薦も続けることが可能です.
実験
データセットと実験設定
MovieLens 100Kという映画レビューのデータセットを使用します.
このデータセットには,943人のユーザが1から5点の5段階で1682本の映画を評価したデータが格納されていて,
各ユーザの統計情報(年齢,性別,職業など)や映画の属性情報(タイトル,公開年,ジャンルなど)が含まれています.
今回の実験では,200人のユーザを無作為に抽出します.
推薦の性能評価には,Precision,Recall,Normalized Discounted Cumulative Gain (NDCG)という指標を,評価予測のタスクに対する性能評価にはRoot Mean Squared Error (RMSE)とMean Absolute Error (MAE)を使用します.
ベースライン
比較対象として,以下の4つの古典的なレコメンデーションシステムモデルを使用します.
LightFM:協調フィルタリング(アイテムとユーザの関係性を元にした推薦手法)とコンテンツベース手法(アイテム情報を元にした推薦手法)を組み合わせた手法
LightGCN:グラフベースの協調フィルタリング手法.ユーザとアイテムの関係性をグラフ畳み込みネットワークで近似する
Item-KNN:KNNベースの協調フィルタリング手法.
Matrix Factorization (MF):ユーザとアイテムの関係性を低次元に圧縮して捉える協調フィルタリング手法.
また,ChatGPTのバックボーンモデルとして,gpt-3.5-turbo, text-davinci-003, text-davinci-002の3種類を使用します.
結果
トップ5推薦
以下のようなプロンプトを使用し,
上位5つを推薦するタスクにおいての精度は,以下のようになりました.
Recallについては従来手法が上回ったものの,PrecisionとNDCGにおいては,提案手法Chat-RECが最良となったことがわかります.
評価値予測
以下のようなプロンプトを使用し,
評価値を予測するタスクにおいては,以下のような結果になりました.
提案手法Chat-RECが最も良い性能を示したことがわかります.
この結果は,LLMが文脈内学習のみからユーザの好みを抽出し,正確に評価値を予測できていることがわかります.
一方で,ChatGPTのバックボーンモデルとしてgpt-3.5-turboを利用した場合の精度が低いこともわかります.
この原因は,gpt-3.5-turboが人間との対話能力を重視し,文脈内学習能力にトレードオフが発生しているためと考えられ,他の研究結果と整合しています.
まとめ
今回紹介した論文では,ユーザ情報やユーザ-アイテム間インタラクションの情報をプロンプトに入力し,LLMとレコメンデーションシステムの橋渡しを行うことで,効果的な推薦を行うモデルChat-RECを提案していました.
LLMは,対話性や説明可能性,商品ドメイン間推薦などの観点において,推薦の性能を向上させるポテンシャルを持っているようです.
今後,レコメンデーションシステムの性能がさらに向上し,私たちが日頃,商品を選ぶ際に,よりスムーズで快適なユーザ体験が得られるようになることが期待されます.
この記事に関するカテゴリー