情報検索の精度(Recall@k、MRRなど)

GraphRAGにおける「評価方法とベンチマーク」の中でも重要な指標の一つが「情報検索の精度」です。これは、Retrieverが生成プロセスに渡す情報の質や関連性を定量的に測るための評価であり、Recall@kや**MRR(Mean Reciprocal Rank)**などの指標がよく用いられます。以下にそれぞれの指標について詳しく説明します。


1. Recall@k(リコール・アット・ケー)

概要

Recall@kは、正解となる文書(もしくはノード)が、Retrieverによって上位k件以内に含まれているかどうかを測定する指標です。

数式定義

Recall@k =

クエリごとに、上位k件内に正解文書が含まれている割合全クエリ数\frac{\text{クエリごとに、上位}k\text{件内に正解文書が含まれている割合}}{\text{全クエリ数}}

具体例

あるクエリに対して、正解文書が1つ存在し、それがRetrieverの出力上位10件の中に含まれていれば、Recall@10 = 1。含まれていなければ0となります。これを全クエリにわたって平均します。

特徴

  • Recall@kは正解の漏れがないかを評価するのに適しています。

  • 特にGraphRAGのようなRetriever-Decoder構造では、「正解候補がRetrieverで脱落していないか」を確認するのに重要です。


2. MRR(Mean Reciprocal Rank)

概要

MRRは、正解となる文書が何番目にランクインしているかを評価する指標であり、ユーザーが上から順に見ていくことを前提にしています。

数式定義

MRR =

1Qi=1Q1ranki\frac{1}{|Q|} \sum_{i=1}^{|Q|} \frac{1}{\text{rank}_i}

ここで ranki\text{rank}_i は、クエリ ii に対して正解文書が初めて現れる位置(順位)です。

具体例

  • クエリAで正解が2位に現れた → 1/2

  • クエリBで正解が1位に現れた → 1/1
    → MRR = (1 + 0.5) / 2 = 0.75

特徴

  • 正解が早い段階で出現するほど高評価となります。

  • 情報検索において「ユーザーの注意が最初の数件に集中する」ことを反映しています。


GraphRAGとの関連

GraphRAGでは、Retrieverはクエリに基づいて関連するノード(文書チャンクやエンティティ)をグラフ構造内から選び出します。このRetrieverの性能を上記のような指標で評価することで、以下が可能になります。

  • ノード選定の精度検証:Recall@kにより、「Decoderが参考にすべき情報がRetrieverで欠落していないか」を確認。

  • 優先順位の妥当性確認:MRRにより、「重要な情報が上位に来ているか」を測定。

特にGraphベースのRetrieverは従来のベクトル検索とは異なるアルゴリズム(例:Personalized PageRankなど)を用いるため、これらの評価指標を用いた比較実験が不可欠です。


まとめ

指標 意味 目的
Recall@k 正解文書が上位k件以内に含まれるか 検索漏れの有無の確認
MRR 正解文書がどれだけ早く見つけられるか 順位の妥当性・ユーザ視点の精度評価

GraphRAGの性能を高めるには、RetrieverのRecall@kとMRRの両方を最大化することが、最終的な生成品質にも直結する重要な観点となります。

ChatGPT4o 生成日:2025/06/11