マルチモーダルLLMを活用したZOZOTOWN検索の関連性評価手法

マルチモーダルLLMを活用したZOZOTOWN検索の関連性評価手法

こんにちは。検索基盤部の橘です。検索基盤部では、ZOZOTOWN検索の品質向上を目指し、検索結果の改善に取り組んでいます。

ZOZOTOWN検索の並び順の精度改善の取り組みについては以下の記事をご参照ください。

techblog.zozo.com

検索基盤部では新しい改善や機能を導入する前にA/Bテストを行い効果を評価しています。A/Bテストの事前評価として、オフラインの定量評価と定性評価を実施しています。これらの評価によりA/Bテストの実施判断をしています。

過去のフィルタリング処理の効果検証として導入したオフライン定量評価の方法については以下の記事をご参照ください。

techblog.zozo.com

techblog.zozo.com

本記事では、検索基盤部が最近実践したLLMを用いた新しいオフライン定量評価の手法についてご紹介します。

目次

オフライン定量評価の課題

ZOZOTOWN検索の精度評価への取り組みでは、検索結果ログを用いた定量評価の手法を紹介しました。ZOZOTOWN検索のオフライン定量評価は、『フィルタリング(絞り込み)ロジック』と『ランキング(並び順)ロジック』を対象としています。

検索結果ログを用いた評価は、ランキングロジックでは有効ですが、フィルタリングロジックでは課題があります。検索結果ログは既存のcontrolロジックの結果にバイアスがかかっているため、treatmentロジックには不利な評価になる傾向があります。上記のテックブログで紹介した手法でも、treatmentロジックがcontrolロジックと同等である可能性は評価できますが、優れているとまでは判断できませんでした。

課題解決のアプローチ

検索クエリとヒットした商品の関連性を判定するアプローチとして、一般的に以下が存在します。

  1. 検索結果ログによる判定:検索クエリとヒットした商品のコンバージョンにより判定
  2. 人手による判定:人間が目視で関連性を評価
  3. LLMによる判定:大規模言語モデルが関連性を自動判定

近年、eコマースや情報検索の分野では、従来は人手で行っていた関連性判定をLLMに代替させる取り組みが進んでいます。

LLMを利用して関連性を判定するメリットは他の手法に比べて以下があります。

  • 大量データの処理が可能:人手による判定と比較して、数千から数万件のデータを短時間で処理できる
  • 一貫性のある判定基準:人によるばらつきを抑え、定義された基準に基づいて一貫した判定が可能である
  • コスト効率の良さ:人手によるアノテーション作業と比較して、コストと時間を大幅に削減できる
  • 柔軟な基準適用:プロンプトの調整により、複雑な判定基準を容易に適用・変更できる
  • バイアスの軽減:検索結果ログに含まれる既存ロジックへのバイアスを避けられる

ただし、以下のような懸念点も想定されます。

  • 判定精度の不確実性:人間による判定と同様、LLMの判定精度も100%には達しておらず、誤判定を含む可能性がある
  • ドメイン知識の限界:ファッションECサイト特有の用語や文脈について、正確に理解できない可能性がある
  • プロンプト依存性:プロンプトの書き方次第で判定結果は大きく変動する可能性がある

これらの懸念点に適切に対処するため、既存の研究事例から得られた知見を参考にしました。

LLMによる関連性判定の研究事例とTips

LLMを用いた検索システムの関連性評価は、近年のeコマースや情報検索の分野で活発に研究されています。本取り組みでは、特に以下の研究事例から得られた知見を参考にしました。

これらの研究から、LLMによる関連性判定を実用化する上で重要となるTipsを以下にいくつか共有します。

プロンプト設計の重要性

LLMによる判定精度は、プロンプトの設計に大きく依存します。Microsoftの研究では、プロンプトを以下の5つのパートに分けて構成することが効果的であると示されています。

  1. Role(役割):「あなたは検索結果の評価者です」と役割を明示し、判定基準の定義を提示する
  2. Description(クエリの要約):クエリの意図を簡潔に要約する
  3. Narrative(判定基準の詳細):関連あり/なしの境界条件や、迷った時の優先順位を明示する
  4. Aspects(評価観点):判定を複数の観点に分解して段階的に評価させる。例えば、topicality(クエリとの話題一致度)とtrust(情報の信頼性・整合性)を個別に評価させた上で、overall(最終判定)を出力させる
  5. Output(出力形式):JSONなど構造化された形式で出力させ、自動処理を容易にする

特に、Aspects(評価観点)を明示的に設計することで精度向上に大きく寄与します。例えば、topicality(クエリとの話題一致度)とtrust(情報の信頼性・整合性)を個別に評価させた上で、overall(最終判定)を出力させます。この構成により、判断の安定性と精度の向上を実現できると示されています。

同研究では、プロンプト要素の組み合わせを評価した結果、Description + Narrative + Aspects(DNA)の構成が最も高い精度を示しました。また、プロンプトの表現によっても精度が変動するため、少量のゴールドラベルに基づいてプロンプトを最適化することが推奨されています。

マルチモーダル情報の活用

ファッションECサイトにおいては、商品の視覚的特徴(色、形状、デザインなど)に関連性判定で重要な役割を果たします。Zalandoの研究では、商品のテキスト情報と画像を同時に入力できるマルチモーダルLLMを使用することで、テキストのみの場合と比較して判定精度の向上を示しています。

品質保証とモニタリング

LLMによる判定の精度は100%でありません。そのため、人間による品質保証とモニタリングの重要性の推奨がなされています。具体的に、以下のような運用方法の効果が示されています。

  • 難例や微妙なケースは人間が判定:LLMと人手で判定が大きく食い違うケース、主観的で曖昧なクエリなどは、人間が優先的に確認する
  • 継続的なモニタリング:定期的にLLMのラベリング結果をサンプリングし、人手で再ラベリングして精度を監視する
  • ゴールドセットによる検証:少量の高品質なゴールドセット(人手で慎重にラベリングしたデータ)を作成し、LLMの判定精度を定量的に評価する

LLMと人間の判定傾向の違い

関連性判定におけるLLMと人間の判定傾向には特徴的な違いのあることが知られています。LLMのアノテーションの判断は厳しめに寄りやすく、人間の判定は甘めによる傾向があると示されています。

具体的には、人間にブランド名やカテゴリの誤判定が多く見られる一方で、LLMには翻訳ミスや視覚的な誤認識の発生があります。この違いを理解した上で、アノテーションのラベル設計を比較的粗めにする(3段階など)ことが一般的です。粗めのラベル設計には以下のような利点があります。

  • 認知負荷の軽減:判定者がラベルを選択する際の迷いを減らし、判定作業を効率化できる
  • 曖昧な境界の削減:細かすぎるラベル分類では判定基準が曖昧になりやすく、一貫性を保つことが困難になる
  • デバッグの容易性:誤判定が発生した際に、原因を特定しやすく、プロンプトの改善につなげやすい

以上の知見を踏まえ、本取り組みではマルチモーダルLLM(MLLM)を採用し、以下のアプローチを実施しました。

  • ラベル設計:MLLMと人間の判定傾向の違いを考慮し、3段階のラベル(Highly relevant / Acceptable substitute / Irrelevant)を設定(詳細は後述)。認知負荷を軽減し、曖昧な境界を減らして一貫性を確保。
  • マルチモーダル情報の活用:商品のテキスト情報だけでなく画像も判定に利用。ファッションECサイト特有の視覚的要素を反映し、より人間に近い精度の関連性評価を実現。
  • 判定基準の明確化:関連あり/なしの境界条件や季節性、複数基準の優先順位、曖昧なクエリの扱いなど、難しいケースへの対応方針をプロンプトに具体的に記述。
  • 評価と検証のプロセス:検索基盤部チーム作成のゴールドセットでMLLMの判定精度を検証し、最適なプロンプトとモデルを選定。大量データ処理でも判定品質を担保し、チームの判定と同等の精度を目指す。

その上で、選定したMLLMを用いて大量の評価用データを作成し、検索ロジックの定量評価を実施することにしました。

MLLMを用いて定量評価を実施するまでのフロー

MLLMによる関連性判定には「判定精度の不確実性」という課題があります。MLLMの判定が100%正確ではないため、まず信頼できるラベリングMLLMを構築することが重要です。そのためには、MLLM自体の性能を評価し、検索基盤部チームの判定基準に沿った判定ができるかを検証する必要があります。

本取り組みでは、以下の3段階のアプローチで進めました。

定量評価までのフロー

ステップ1:関連性の判定基準の改善とゴールドセット作成

まず、チーム内で暗黙知となっていた判定基準を明確化し、言語化します。ペアラベリング→不一致分析→基準改善を実施することで、判定基準を体系的に整理すると同時に、高品質なゴールドセット(正解データ)を作成します。

このゴールドセットは、次のステップでMLLMの性能を評価するための基準となります。

ステップ2:ゴールドセットによるラベリングMLLMの評価と最適化

作成したゴールドセットを用いて、複数のMLLMモデルとプロンプトの組み合わせを評価します。ゴールドセットに最も近い判定結果を出せる最適な組み合わせを選定することで、検索基盤部チームの判定基準を再現できる信頼性の高いラベリングMLLMを構築します。

この検証により、大量データ処理においても判定品質を担保できることを確認します。

ステップ3:ラベリングMLLMを用いた検索ロジックの定量評価

選定したラベリングMLLMを用いて、数千から数万件のクエリ商品ペアを自動ラベリングし、検索ロジックの定量評価を実施します。従来の検索結果ログに依存した評価と異なり、既存ロジックへのバイアスを排除した公平な評価が可能になります。

以下、各ステップの詳細を説明します。

関連性の判定基準の改善とゴールドセット作成

MLLMに検索クエリと商品の関連性を判定させるためには、明確な判定基準をプロンプトに盛り込むことが重要です。しかし、当初は「関連性の判定基準」がチーム内で完全に言語化・網羅されているわけではなく、曖昧な部分も多く存在していました。

そこで本取り組みでは、段階的な基準策定プロセスを採用しました。ペアラベリング→不一致分析→基準改善をすることで、判定基準とゴールドセットの品質を同時に高めていきました。

ルールの作成

実施した改善詳細

以下に実施した改善の具体的な詳細を示します。

手順1:既存基準の整理
チーム内で共有されていた関連性の判定基準を洗い出し、明文化しました。

手順2:ペアラベリング
既存基準を元に2人1組で同じ検索クエリと商品ペアを独立にラベリング。

手順3:不一致分析
1,000件中293件(29.3%)で判定が不一致。不一致データから不一致原因を特定しました。

手順4:基準追加・修正
不一致原因から11個の新しい基準をチームで相談の上に作成しました。その新基準を既存基準に結合します。

その後不一致データに対して修正された基準を元にラベリングを行い、不一致を解消していきました。

策定された判定基準の例

この改善プロセスを通じて策定された基準の一例として、以下のような「デザイン・感性・審美的要素」に関する判定基準があります。

デザイン・感性・審美的要素の「程度」の主観的判断に関する基準

「デザイン性」「雰囲気」など、数値化できない主観的な要素が、どのレベルなら適合とみなすか。

Highly relevant

以下のいずれかに該当する場合、Highly relevantと判定する。

1. テキストに明示的に含まれる

  • 商品情報のテキスト(商品名・説明文・タグ等)において、該当キーワードが明示的に含まれている
  • 例:デザインデザインニット
  • 例:シアーシアーシャツ

2. 同義語が含まれる

  • 商品情報のテキストに、該当キーワードの同義語が含まれている
  • 例:デザインPatterned knit(patternedということはデザインがあるということ)

3. 画像から明確に読み取れる

  • 商品情報の画像から、該当キーワードの要素が明確かつ視覚的に読み取れる
  • 例:シティボーイ(シティボーイが着てそうなアイテムの画像)
Acceptable Substitute

以下のいずれかに該当する場合、Acceptable Substituteと判定する。

1. 画像から関連要素が読み取れる

  • テキストには明示されていないが、商品情報の画像から該当キーワードに関連する要素が読み取れる
  • 例:シティボーイ(シティボーイ好きな人が着そうなアイテムの画像だが、テキストには記載なし)

2. 関連語や関連カテゴリ

  • 該当キーワードそのものではないが、商品情報のテキストに関連語や関連カテゴリの特性が記載されている
  • 例:(ワンポイントやラインのみのアイテム)(柄とは言わないが関連するカテゴリ)

3. 周辺カテゴリに属する

  • テキストや画像に明確な該当要素はないものの、該当キーワードの文脈で許容できる周辺カテゴリに属する
  • 例:シアー(透け感はないが薄手の軽やかな素材のアイテム)
Irrelevant

以下の場合、Irrelevantと判定する。

  • 上記のHighly relevantおよびAcceptable Substituteのいずれの条件にも該当しない
  • 商品情報のテキストや画像において、該当キーワードとの関連性が見出せない
  • 例:(無地のTシャツ)
  • 例:デザイン(シンプルな無地のTシャツで特にデザイン性がないもの)

判定基準例

このアプローチにより、検索基盤部チームの知見を体系的な基準として言語化し、MLLMのプロンプトへの反映ができるようになりました。

また、上記の過程で得られた不一致が解消され人間によってラベリングされたデータは『ゴールドセット』としてこの後のラベリングMLLMの評価で利用しました。

※ただし、すべての不一致を完全に解消することは難しく、一部のデータは判定が分かれたままとなりました。ゴールドセットでは、こうしたケースについては複数のラベルを付与した状態で管理しています。

ゴールドセットによるラベリングMLLMの評価

ゴールドセットを作成した後、次のステップとしてMLLMによる関連性判定の精度を評価しました。この評価の目的は、最適なMLLMモデルとプロンプトの組み合わせを選定することです。

評価方法と指標

MLLMによる判定結果と、ゴールドセットのラベルを比較し、精度を算出しました。具体的には、MLLMによる判定がゴールドセットのラベルにマッチしていれば正解、そうでなければ不正解としました。

評価データ

評価には、前述の方法で作成したゴールドセットを使用しました。ゴールドセットには検索クエリと商品の組み合わせに対して、ラベルが付与されています。

評価対象

以下のMLLMモデルとプロンプトの組み合わせを評価しました。

評価対象MLLMモデル

  • Gemini 2.5 Flash
  • Gemini 2.5 Flash Lite
  • Gemini 2.0 Flash Lite

評価対象プロンプト

  • 改善前プロンプト:初期に作成したラベリング基準のみを含むプロンプト
  • 改善後プロンプト:改善プロセスで追加されたラベリング基準を統合したプロンプト

評価結果

以下に各設定における精度評価の結果を示します。

判定基準例

MLLMモデル プロンプト 精度
Gemini 2.5 Flash 改善後 74.1% (+18.7%)
Gemini 2.5 Flash Lite 改善後 66.4% (+11.0%)
Gemini 2.0 Flash Lite 改善後 61.7% (+6.3%)
Gemini 2.5 Flash 改善前 73.0% (+17.6%)
Gemini 2.5 Flash Lite 改善前 66.2% (+10.8%)
Gemini 2.0 Flash Lite 改善前(ベースライン) 55.4%

括弧内の数値はGemini 2.0 Flash Liteの改善前プロンプトをベースラインとした際の向上率を示しています。

結果の考察

評価結果から以下の知見が得られました。

MLLMモデルの性能と精度

より高性能なMLLMモデルほど関連性判定の精度が向上する傾向を確認できました。特にGemini 2.5 Flashは74.1%と最高精度を記録し、実用的なラベリング精度に到達していると判断できました。

プロンプト改善の効果

改善プロセスによってプロンプトを改善した結果、全モデルで精度の向上が見られました。特にGemini 2.0 Flash Liteでは6.3ポイントの改善があり、基準の明確化が効果的であることを確認できました。

ただし、Gemini 2.5 Flash間では1.1ポイントと、改善幅は限定的でした。この結果については、以下のような要因が考えられます。

  • プロンプトに基準を追加したことで内容が複雑化し、MLLMによる意図通りの判定ができなくなったケースも存在する
  • ゴールドセット自体のラベリングの一貫性や正確性に課題があり、MLLMの判定と正解データの必ずしも一致しない場合も存在する

ラベリングMLLMを用いた検索ロジックの定量評価

前節で選定したラベリングMLLMを用いることで、検索ロジックの定量評価ができます。具体的には以下のような評価が可能です。

  • 全文検索のロジックAとロジックBの検索結果の比較
  • ベクトル検索のロジックAとロジックBの検索結果の比較

本セクションでは、このラベリングMLLMをどのように活用して検索ロジックを評価するかについて説明します。

評価フロー

ラベリングMLLMを用いた検索ロジック評価は、以下の流れで実施します。

定量評価

この流れにより、複数の検索ロジック(例:既存の全文検索と新規のベクトル検索)を公平に比較評価できます。

評価対象クエリの選定

評価に使用するクエリセットを選定します。弊社では実際のユーザー検索ログから代表的なクエリを抽出し、評価対象とするケースが多いです。

検索ロジックの実行

評価対象となる各検索ロジックで検索し、基本的には上位N件の検索結果を取得します。複数のロジックを比較する場合、同じクエリセットで公平に評価することが重要になります。

ラベリングMLLMによる関連性判定

取得した検索結果(クエリと商品のペア)に対して、ラベリングMLLMで関連性ラベルを自動付与します。

  • 入力:検索クエリ、商品情報(テキスト・画像)
  • 出力:Highly relevant / Acceptable substitute / Irrelevant
  • 処理方式:バッチ処理により大量のクエリと商品のペアを効率的にラベリング

なお、検索結果の上位N件をラベリングする際の「N」の値は、評価の信頼性・網羅性、MLLMの処理時間・コストに大きく影響するので、よく検討しておくことが必要です。

評価指標の算出

ラベリング結果に基づいて、以下のような評価指標を算出できます。

nDCG@K(normalized Discounted Cumulative Gain)

検索結果の上位K件における関連性の質を評価する指標です。関連性ラベルに応じてスコアを付与します。例えば、Highly relevantは3点、Acceptable substituteは1点、Irrelevantは0点とします。上位の結果ほど重要とみなして順位による割引を適用し、さらにその値を理想的な順位の場合のスコアで割って正規化します。

この指標により、「関連性の高い商品が上位に表示されているか」を定量的に測定できます。

Precision@K

Precision@Kは、検索結果の上位K件のうち、関連性があると判定された商品の割合を示す指標です。検索結果の「精度」を定量的に評価できます。

関連商品の定義については、Highly relevantのみを関連商品とする場合と、Highly relevantおよびAcceptable substituteの両方を関連商品とする場合があります。どちらを採用するかは、評価の目的や運用方針に応じて検討が必要です。

ロジック間の性能比較

上記の評価指標を用いて、複数の検索ロジックを比較評価します。例として、このMLLMによる検索ロジック候補群の評価を実施した結果を示します。

ロジック Precision@5 Precision@10 Precision@20 nDCG@5 nDCG@10 nDCG@20
ロジックA 0.8623 0.8507 0.8322 0.9318 0.9322 0.9313
ロジックB 0.8510 0.8389 0.8230 0.9214 0.9222 0.9227
ロジックC 0.8798 0.8696 0.8578 0.9424 0.9416 0.9413
ロジックD 0.8928 0.8846 0.8722 0.9419 0.9431 0.9421

この結果から、ロジックDが最も高いPrecision@Kを示しており、検索精度の向上が確認できます。

ラベリングMLLMを用いた評価手法の利点

バイアスの排除

従来の検索結果ログベースの評価では、既存ロジックの結果にバイアスがかかっていました。ラベリングMLLMを用いることで、ログに依存せず、クエリと商品の本質的な関連性に基づいて評価できるようになりました。

スケーラビリティ

人手によるラベリングと比較して、数千から数万件のクエリと商品のペアを短時間で評価できます。これにより、継続的な評価や複数ロジックの比較が現実的になります。

関連性の判定基準を改善する際に実施したペアラベリングでは、100個の検索クエリと商品のペアを人手でラベリングするのに2時間ぐらいの時間が掛かります。一方、MLLMであれば1分以内でラベリング可能になりました。

まとめ

本記事では、マルチモーダルLLMを用いたZOZOTOWN検索のオフライン定量評価の手法について紹介しました。

このラベリングMLLMを活用することで、検索結果ログに依存せず、クエリと商品の本質的な関連性に基づいた公平な評価が可能になりました。今後は継続的な評価体制の構築を進め、より精度の高い検索システムの開発を推進していきます。

ZOZOでは、一緒にサービスを作り上げてくれる方を募集中です。ご興味のある方は、以下のリンクからぜひご応募ください。

corp.zozo.com

カテゴリー