見出し画像

大規模言語モデルを用いた「おすすめ機能」の実現

大規模言語モデルを使って、ユーザーの好みを予測するという試みを行った論文が公開されました。

Google Researchの研究グループが、「大規模言語モデル(LLM)はユーザの好みを理解できるか?ユーザ評価予測における大規模言語モデルの評価」(Do LLMs Understand User Preferences? Evaluating LLMs On User Rating Prediction)という新たな論文を公開しました。この論文では、大規模言語モデルがユーザの好みを予測する能力について研究しています。

私が以前にnoteで紹介した論文では、大規模言語モデルがまるで本物の人間のように行動や会話をするエージェントを生成できることが示されていました。その論文を読んだときにも、ユーザの好みを予測する能力も大規模言語モデルが持っているのではないかと思っていましたが、まさにそれが示されている論文で、非常に興味深く読みました。

この論文でのタスクは、ユーザの行動履歴から新しいアイテムの行動履歴を予測するということです。具体的な例として、あるユーザがNetflixでさまざまなドラマを視聴し、評価してきた行動履歴から、まだ見ていない新作ドラマに対する好みを大規模言語モデルが予測することができるのか、という問いがこの主題です。

ユーザの好みを予測するこの手の技術は、ユーザがまだ視聴や購入をしていないアイテムに対する好みを予測し、その情報を商品やコンテンツの推薦に利用するのに非常に有用です。AmazonなどのECサイトで「閲覧履歴に基づくおすすめ商品」や「よく一緒に購入されている商品」といった提示が、その一例です。

ユーザ履歴に基づいた好みの予測に関する研究は、もちろんこれまでにたくさん提案されてきました。これは「協調フィルタリング」と呼ばれる技術で、わたしの研究室でも、学生さんたちの卒論研究として取り上げてきました。多くのウェブサイトが「おすすめ」機能を利用していることからもわかるように、この技術は非常に幅広い応用範囲を持っています。しかし、その一方で大きな課題も存在します。

それは、精度の高い予測を得るために大量のデータが必要になるということです。ユーザの好みや行動傾向は非常に多様で、それらを適切に理解し予測するためです。

けれど、データが少ない場合や新しいユーザや新しいアイテムに対する予測精度は大きく低下します。これは、「コールドスタート問題」と呼ばれ、推薦システムの大きな課題となっています。

そこで、大規模言語モデルを用いることで、この課題を解決できないかというわけです。つまり、そんなにたくさんのデータを使わなくても、少量のユーザ行動履歴や好みをデータとして与えるだけで、新しいアイテムに対するその人の好みを精度高く推測できるとしたら、コールドスタート問題が解決される可能性があります。これが可能になれば、サービスを立ち上げたばかりでデータが少ない場合でも、精度高く搭載することが可能となり、非常に嬉しいというわけです。

たとえば、わたしが好きな韓国ドラマについて詳しい人がいたとすると、その人にわたしの好みを少し伝えるだけで、かなり良いおすすめをしてくれることが考えられます。このようなことが、大量のデータで学習した大規模言語モデルを使えばできるのではないか、というわけです。

そこで、この論文の実験では、ユーザの行動履歴に対していくつかのサンプルを与えるだけで、どのくらいユーザの好みを予測できるかを検証しています。

実験には、以下のようなプロンプトを用いて、大規模言語モデルにユーザの好みを予測させています。

You're required to predict user ratings for movie recommendations. The rating ranges from 1.0 to 5.0. You're given the user's past rating history, in the format: Title, Genres, Rating.
Example:
Q: The user history is:
Jerry Maguire (1996), Drama|Romance, 2.0
Fight Club (1999), Action|Crime|Drama|Thriller, 4.0

Ghostbusters (a.k.a. Ghost Busters) (1984), Action|Comedy|Sci-Fim, 4.0
The user now watched (Fifth Element, Sci-fi|Action), given a single number as rating without saying anything else. Do not give reasoning.
A: 4.0
Q: The user history is:
Babe (1995), Children's|Comedy|Drama, 4
There's Something About Mary (1998), Comedy, 4

Misery (1990), Horror, 4
South Park: Bigger, Longer and Uncut (1999), Animation|Comedy, 4
The user now watched (Player, The (1992), Comedy|Drama), give a single number as rating without saying anything else. Do not give reasoning.
A:

論文のFig.2 Few-Shot LLM prompt for rating predictionより抜粋

このプロンプトをChatGPT(GPT-4)に入力すると、「4.0」のような予測結果が返ってきます。

こうした方法で、いくつかのユーザの好みを提示するだけで、大規模言語モデルでどのくらいの精度で予測できるかを評価しています。実験に使われているのは、映画の評価に関するデータセット(Movielens dataset)と、Amazonの本への評価に関するデータセット(Amazon-Books)です。

実験には、ChatGPT(GPT-3.5)、text-davinci-003(GPT-3)に加えて、Flan-U-PaLMやFlan-T5といったオープンな言語モデルを使っています。

これらの大規模言語モデルを用いた場合と、既存の協調フィルタリングを用いた最先端(state-of-the-art)の機械学習手法との比較では、チューニングされていない大規模言語モデルの予測精度は、既存手法と比べて残念ながら低いという結果になりました。これは、大規模言語モデルがこうしたユーザーの履歴を直接学習データとして用いていないことが要因と考察されています。

そこで、データを用いて大規模言語モデルをチューニング(fine-tuning)してから予測を行ったところ、既存の手法に匹敵する精度を達成できることが分かりました。さらに嬉しいことに、チューニングに必要なデータは比較的少なくても良いことが示されました。

これはかなり朗報だと思います。これまでユーザーの好みを予測するためには、協調性フィルタリングにおける技術だと、大量のデータを使って特徴抽出やモデリングを行うことが必要でした。ですが、大規模言語モデルの技術だと、チューニングは必要になるものの、プロンプトを用いるだけでユーザーの好みを予測させることが可能になったからです。これは、さまざまなサービスがこの機能を手軽に取り入れられることを示しています。今後、さらに性能が向上した大規模言語モデルを使うことで、予測精度が向上される可能性もあります。

この研究は、多くの推薦アルゴリズムだけでなく、アプリケーションやサービスで使われている他のマーケティングに関する技術も、大規模言語モデルによって置き換えられていく可能性を示していると思います。

今日も最後まで読んでいただきありがとうございました。
それでは、また!ciao.

この記事が気に入ったらサポートをしてみませんか?