AI・機械学習
Bag of Decisions Reranker
Bag of Decisions Reranker (softwaredoug.com)
要約
この記事では、検索クエリを単なる単語の集まり(bag of terms)としてではなく、「意思決定の集まり」(bag of decisions)として解釈する新しいアプローチを提案しています。大規模言語モデル(LLM)を用いてクエリごとに適合性を判断するための質問リストを生成し、その質問に対する文書の適合確率を合計することで、検索結果のランキングを改善する手法を実験しました。その結果、従来のBM25や単純なLLMによるリランキングと比較して、この「意思決定の集まり」アプローチが検索適合性を向上させることが示されました。
全文翻訳
検索クエリを「単語の集まり」として解釈する代わりに、「意思決定の集まり」として見ることができたらどうでしょうか? Jevがフロンティア品質のリランカーとして機能することはわかっています。楽しい実験として、別のテクニックを試してみたかったのです。Jevに単に「この文書は{クエリ}に関連していますか?」と尋ねるのではなく、LLMにこのクエリに特化した適合性を評価するためのルーブリック、つまりクエリの基準を生成させます。LLMに「肯定が適合性を示すような、はい/いいえの質問を生成してください」とプロンプトを与えます。たとえば、「子供向けのデスク」というクエリの場合、次のような質問が生成されるかもしれません。
1 - この文書は子供向けにデザインされたデスクについてですか?
2 - この文書は子供向けデスクの商品や情報を提供していますか?
3 - 子供用デスクのサイズや人間工学に基づいた寸法について言及していますか?
4 - 子供の宿題、勉強、アクティビティ用のデスクに言及していますか?
5 - 子供用デスクに特有の機能(例:子供向けに高さ調節可能、安全な丸みを帯びたエッジ、学用品用の収納)について議論していますか?
6 - 子供用デスクの購入ガイド、レビュー、または比較が含まれていますか?
7 - 子供向けデスクの価格や入手可能性を提供していますか?
8 - 子供用デスクとして特定の子どもの年齢層(例:幼児、小学生、ティーンエイジャー)に言及していますか?
9 - 子供用デスクのブランドやモデルがリストアップされていますか?
10 - 子供向けデスクの購入場所や選び方について説明していますか?
これらのそれぞれをnoul質問に変換できます。それぞれの「はい」の確率を合計することで、全体的な適合性をスコアリングできます。
文書 = """ この調節可能な学習デスクは、5歳から12歳までの子供に最適です。お子様の成長に合わせて高さを調節できます。 """
応答 = client.decide(
state=document,
questions={
"question_1": Noul(
instructions="Is this document about desks designed for children?"
),
"question_2": Noul(
instructions="Does the document offer products or information on kids’ desks?"
)
...
},
)
クエリが単語の集まりとして表現される代わりに、質問の集まりを持つことになります。Jevは「はい」の確率を与えるので、各質問が真である確率を単純に合計してリランクスコアとすることができます。
合計確率 = 0.0
for question_id, answer in response.answers.items():
probability = answer.noul
print(f"{question_id}: {probability:.2f}")
total_probability += probability
この合計確率がリランカーの最終スコアになります。これをBM25に追加することも、直接使用することもできます。言い換えれば、それはどのように積み重なるでしょうか?
BM25と2つのバリアント(詳細はこちら)を比較する実験を行いました。
Jevリランキング:つまり、「この文書はこのクエリに関連していますか?」
質問の集まりリランキング - 上記で説明したマルチ質問フロー。
次に、2つのeコマースデータセット、Wayfair WANDSとAmazon ESCIで評価しました。
結果はどうでしたか? これは機能しますか? そう思われます。初期の結果は次のとおりです。
データセット | 戦略名 | 平均NDCG | 中央値NDCG
---|---|---|---
WANDS | bm25 | 0.5407 | 0.475
WANDS | jev_reranker | 0.574 | 0.561
WANDS | bag_of_decisions | 0.610 | 0.561
ESCI | bm25 | 0.289 | 0.171
ESCI | jev_reranker | 0.314 | 0.205
ESCI | bag_of_decisions | 0.360 | 0.341
またはグラフで
私たちは本質的に、クエリごとの特徴量作成を行っています。LLMを、このクエリにとって重要な考慮事項のインスピレーションとして使用します。次に、Jevを使用して、その基準をどの程度カバーしているかを測定します。上記の質問(私の意見ではいくつかは繰り返しです)よりも、より鋭く多様な質問を提供するようにLLMの呼び出しをどのように変更できるか疑問に思うかもしれません。
これは楽しいアプローチです。私たちはますます多くの意思決定モデルをトレーニングできるようです。特定のドメインに焦点を当てたモデルさえも可能です。少なくともこのおもちゃの実験では、より深い研究に値する有望なアプローチのようです。楽しんでください!
11月から開始:AI駆動型検索 — 人間とエージェントのためのモダンリトリーバル
AI駆動型検索の著者とともに、最新のAI検索スキルを学びましょう。Doug TurnbullとTrey Graingerが人間とエージェントのためのモダンリトリーバルを探求します。Mavenでコースをご覧ください。
Doug Turnbull
Dougからのその他の記事
Twitter | LinkedIn | ニュースレター | Bsky