Back to Headlines

RAGの検索品質を評価する:Precision@k、Recall@k、F1@kの実践ガイド

4日前

Retrieval-Augmented Generation(RAG)パイプラインの品質を評価するには、検索結果の正確性と包括性を測る指標が不可欠です。特に、大規模言語モデル(LLM)に回答を生成させる前に、関連する文書を適切に抽出できているかを確認する必要があります。本稿では、RAGにおける検索品質評価に使われる代表的な指標、すなわちPrecision@k、Recall@k、F1@kについて解説します。 まず、評価には「バイナリ関連性」と「グレード関連性」の2種類のアプローチがあります。バイナリ関連性は、各文書が「関連するか/関連しないか」の2値で判断するのに対し、グレード関連性は「どの程度関連しているか」をスケールで評価します。ここでは、最も基本的で直感的なバイナリ・オーダー無視型指標に焦点を当てます。 HitRate@kは、上位k件の検索結果の中に少なくとも1件の関連文書が含まれているかを判定するシンプルな指標です。1(含まれる)または0(含まれない)の値を取り、基本的な成功判定に役立ちます。 Precision@kは、上位k件の結果のうち、実際に関連している文書の割合を示します。つまり、「検索結果のどれくらいが正しいか」を評価します。高精度は不要な文書の混入を抑えることを意味します。 Recall@kは、すべての関連文書のうち、上位k件にどれだけ含まれているかを示します。「関連文書をどれだけ見つけられたか」を測る指標です。高いリコールは、重要な情報を見逃さないことを意味します。 これらの指標を統合したのがF1@kです。PrecisionとRecallの調和平均で、両方のバランスが取れているかを評価します。F1@kが1に近いほど、検索結果は正確かつ包括的であると判断できます。 実際の例として、『戦争と平和』のテキストから「アーナ・パヴロヴナとは誰か?」という質問に対して評価を実施。関連する3つの文書を正解(ground truth)として設定し、k=10で評価。結果として、HitRate@10=1、Precision@10=0.7、Recall@10=0.67、F1@10=0.68という数値が得られました。これは、検索結果に正解文書が含まれており、ある程度の精度と包括性があることを示しています。 評価は、単一のクエリだけでなく、多数のクエリ(テストセット)に対して平均化して行うのが一般的です。これにより、RAGパイプライン全体の検索性能を客観的に把握できます。 結論として、Precision@k、Recall@k、F1@kは、RAGの検索フェーズの品質を測るための基本的かつ強力なツールです。これらの指標を活用することで、AIの回答品質を高めるための最適な検索機構の設計・改善が可能になります。

Related Links