Closed3
Context Entities Recallをざっくり調査する

Context Entities Recall(コンテキストエンティティのリコール)
雑な初感
参照回答(reference)に含まれている固有表現(エンティティ)のうち、どれだけが検索されたコンテキスト(retrieved_contexts)に含まれているかの指標?
イメージできないので、実際に触ってみる。

実際にやってみる
ドキュメント通りにやってみる。
from ragas import SingleTurnSample
from ragas.metrics import ContextEntityRecall
sample = SingleTurnSample(
reference="The Eiffel Tower is located in Paris.",
retrieved_contexts=["The Eiffel Tower is located in Paris."],
)
scorer = ContextEntityRecall(llm=evaluator_llm)
await scorer.single_turn_ascore(sample)
スコアは0.999999995
と表示された。
retrieved_contextsの固有名詞を削除して、スコアがどのように変化するかを検証する。
コードは以下の通り。
sample = SingleTurnSample(
reference="The Eiffel Tower is located in Paris.",
retrieved_contexts=["The Eiffel Tower is located."], # in Parisを削除した
)
スコアは0.4999999975
と表示され、評価が下がった。
次はreferenceの固有名詞を削除して、スコアがどのように変化するかを検証する。
sample = SingleTurnSample(
reference="The Eiffel Tower is located", # in Parisを削除した
retrieved_contexts=["The Eiffel Tower is located in Paris."],
)
スコアは0.9999999900000002
となり、良い評価が得られた。
したがって、参照回答(reference)に含まれる固有名詞が、検索コンテキスト(retrieved_contexts)にどれだけ含まれているかが重要になってくることがわかった。
考察
2つ目でスコアが下がった理由は、参照回答(reference)に含まれているin Paris
が、retrieved_contextsにないためである。
逆に3つ目のスコアが上がった理由は、参照回答(reference)に含まれているEiffel Tower
がretrieved_contextsにあるからである。retrieved_contextsにin Paris
があっても評価には関係がない。

結論
参照回答(reference)に含まれている固有表現(エンティティ)が検索されたコンテキスト(retrieved_contexts)にどれだけ含まれているかを評価するもの。
このスクラップは2ヶ月前にクローズされました