传统NLP指标
非LLM字符串相似度
NonLLMStringSimilarity
指标使用传统的字符串距离度量(如Levenshtein、Hamming和Jaro)来衡量参考文本和响应之间的相似度。该指标在不依赖大型语言模型(LLM)的情况下,用于评估响应与参考文本的相似度。该指标返回一个介于0和1之间的分数,其中1表示响应与参考文本完全匹配。这是一个非LLM的指标。
示例
from ragas.dataset_schema import SingleTurnSample
from ragas.metrics._string import NonLLMStringSimilarity
sample = SingleTurnSample(
response="The Eiffel Tower is located in India.",
reference="The Eiffel Tower is located in Paris."
)
scorer = NonLLMStringSimilarity()
await scorer.single_turn_ascore(sample)
可以从 DistanceMeasure
中选择可用的字符串距离度量。以下是使用Hamming距离的示例。
from ragas.metrics._string import NonLLMStringSimilarity, DistanceMeasure
scorer = NonLLMStringSimilarity(distance_measure=DistanceMeasure.HAMMING)
BLEU分数
BleuScore
分数是一种用于通过与参考文本进行比较来评估响应质量的指标。它基于n-gram精度和简洁惩罚来衡量响应与参考文本之间的相似度。BLEU分数最初设计用于评估机器翻译系统,但也用于其他自然语言处理任务。由于它设计用于评估机器翻译系统,因此期望响应和参考文本包含相同数量的句子。比较是在句子级别进行的。BLEU分数范围从0到1,其中1表示响应与参考文本完全匹配。这是一个非LLM的指标。