RAGAS评估及指标解析

Ragas评估及指标解析

前言

现如今,LLM(大型语言模型)已跃升为前沿的AI技术,但在实际应用中仍面临着诸多挑战。其中,LLM的幻觉问题尤为棘手,极大地制约了其应用效果的发挥。为此,我们提出了运用RAG(检索增强型生成模型)进行上下文提示,以期有效解决这一幻觉问题。那么,RAG的应用效果究竟如何呢?为此,开源的Ragas包为我们提供了针对RAG的评估方法与指标,帮助我们全面评估其性能,从而更好地优化和拓展LLM的应用领域。

RAGAS官方文档地址

RAGAS具体的使用方法在文档中不做展示,文档仅讨论RAGAS评估指标

RAGAS评估特性

Faithfulness–忠诚

基本概念

这衡量了生成的答案与给定上下文的事实一致性。它是根据答案和检索到的上下文计算得出的。答案被缩放到 (0,1) 范围。值越高越好。

如果答案中的所有声明都可以从给定的上下文中推断出来,则生成的答案被视为可信的。为了计算这一点,首先要确定生成的答案中的一组声明。然后将这些声明中的每一个与给定的上下文进行交叉检查,以确定是否可以从给定的上下文中推断出来

query:爱因斯坦出生于何时何地?

context:阿尔伯特·爱因斯坦(1879 年 3 月 14 日出生)是一位德国出生的理论物理学家,被广泛认为是有史以来最伟大、最具影响力的科学家之一

高度忠诚的回answer:爱因斯坦于 1879 年 3 月 14 日出生于德国。

低忠诚度answer:爱因斯坦于 1879 年 3 月 20 日出生于德国。
计算
  • step1:将生成的答案分解为单独的语句
陈述 1:“爱因斯坦出生于德国。”

陈述 2:“爱因斯坦出生于 1879 年 3 月 20 日。”
  • step2:对于每个生成的语句,验证是否可以从给定的上下文中推断出来。
陈述 1:是的

声明 2:否(假设为否,其实为正确的)
  • step3:计算答案的忠诚度–计算忠诚的陈述数与总陈述数的比率

answer relevancy–答案相关性

基本概念

评估指标“答案相关性”侧重于评估生成的答案与给定提示的相关性。不完整或包含冗余信息的答案得分较低,得分较高则表示相关性较好。该指标使用question、answer和计算得出答案相关性,答案相关性被定义为原始答案question与若干人工问题的平均余弦相似度

当答案直接且恰当地解决了原始问题时,该答案即被视为相关。重要的是,我们对答案相关性的评估不考虑事实性,而是惩罚答案不完整或包含冗余细节的情况。为了计算此分数,LLM 需要多次为生成的答案生成适当的问题,并测量这些生成的问题与原始问题之间的平均余弦相似度。基本思想是,如果生成的答案准确地解决了初始问题,LLM 应该能够根据答案生成与原始问题一致的问题。

在这里插入图片描述

请注意,尽管在实践中分数大部分时间都在 0 到 1 之间,但由于余弦相似度的性质是从 -1 到 1,因此这在数学上并不能保证。

计算

请注意,尽管在实践中分数大部分时间都在 0 到 1 之间,但由于余弦相似度的性质是从 -1 到 1,因此这在数学上并不能保证。

  • step1:使用大型语言模型 (LLM) 从生成的答案中逆向设计问题的“n”个变体。例如,对于第一个答案,LLM 可能会生成以下可能的问题

    • 问题 1: “法国位于欧洲哪个地方?”

    • 问题 2: “法国在欧洲的地理位置是什么?”

    • 问题 3: “你能指出法国位于欧洲哪个地区吗?”

  • step2:计算生成的问题与实际问题之间的平均余弦相似度。

其基本概念是,如果答案正确地回答了问题,那么很有可能仅根据答案就能重建原始问题。

context precision–上下文准确性

基本概念

上下文精度是一种指标,用于评估 中存在的所有真实相关项是否contexts排名较高。理想情况下,所有相关块都必须出现在最高排名中。此指标使用 和 计算,值介于 0 和 1 之间,question分数越高表示精度越高。

问题:法国在哪里?它的首都是哪里?事实:法国位于西欧,首都是巴黎。

语境精准度高:[“法国位于西欧,拥有中世纪城市、阿尔卑斯山村庄和地中海海滩。首都巴黎以其时装店、卢浮宫等古典艺术博物馆和埃菲尔铁塔等纪念碑而闻名”,“法国还以其葡萄酒和精致美食而闻名。拉斯科的古老洞穴壁画、里昂的罗马剧院和宏伟的凡尔赛宫都证明了法国悠久的历史。”]

语境精确度低:[“法国还因其葡萄酒和精致美食而闻名。拉斯科的古代洞穴壁画、里昂的罗马剧院和”,“法国位于西欧,包括中世纪城市、阿尔卑斯山村庄和地中海海滩。法国首都巴黎以其时装店、包括卢浮宫在内的古典艺术博物馆和埃菲尔铁塔等纪念碑而闻名”,]

语境精准度高则得1分,语境精准度低则得0分。

计算
  • step1:对于检索到的上下文中的每个块,检查它是否与给定问题的基本事实相关

  • stpe2:将上下文语段进行分块,计算每个块的上下文精度分数

  • step3:计算平均上下文精度分数

context relevancy–上下文相关性

基本概念

该指标衡量检索到的上下文的相关性,根据和计算得出question。contexts值在 (0, 1) 范围内,值越高,相关性越高。

理想情况下,检索到的上下文应该只包含解决所提供查询的必要信息。为了计算这一点,我们首先估计
通过识别检索到的上下文中与回答给定问题相关的句子来计算最终分数。最终分数由以下公式确定:

在这里插入图片描述

示例

问题:法国的首都是哪里?

语境相关性高:法国位于西欧,拥有中世纪城市、阿尔卑斯山村庄和地中海海滩。法国首都巴黎以其时装店、卢浮宫等古典艺术博物馆和埃菲尔铁塔等纪念碑而闻名。

低语境相关性:法国位于西欧,拥有中世纪城市、阿尔卑斯山村庄和地中海海滩。其首都巴黎以其时装店、卢浮宫等古典艺术博物馆和埃菲尔铁塔等纪念碑而闻名。该国还以其葡萄酒和精致美食而闻名。拉斯科的古老洞穴壁画、里昂的罗马剧院和宏伟的凡尔赛宫证明了其悠久的历史。

context recall–上下文召回率

基本概念

上下文召回率衡量检索到的上下文与带注释的答案(被视为基本事实)的一致程度。它根据和计算,值介于 0 和 1 之间,值越高,表示性能越好。ground truthretrieved context

为了根据真实答案估计上下文召回率,需要分析真实答案中的每个句子,以确定其是否可以归因于检索到的上下文。理想情况下,真实答案中的所有句子都应该可以归因于检索到的上下文。

上下文召回率的计算公式如下:

在这里插入图片描述

计算
  • step1:将基本事实答案分解为单独的陈述。

陈述 1:“法国位于西欧。”

陈述 2:“它的首都是巴黎。”

  • step2:对于每个基本事实陈述,验证它是否可以归因于检索到的上下文。

陈述 1:是的

声明 2:否

  • step3:计算上下文召回率–计算召回的陈述数与总陈述数的比率

Context entities recal–上下文实体召回率

基本概念

该指标基于基本事实和上下文中存在的实体数量相对于基本事实中存在的实体数量,给出了检索到的上下文的召回率。简而言之,它是从基本事实中召回的实体比例的度量。该指标在基于事实的用例中很有用,例如旅游帮助台、历史 QA 等。该指标可以帮助评估实体的检索机制,基于与 基本事实中存在的实体的比较,因为在实体很重要的情况下,我们需要上下文来覆盖它们。

为了计算这个指标,我们使用两个集合,GE和CE,分别表示为基本事实中存在的实体集和上下文中存在的实体集。然后,我们取这些集合交集的元素数,并将其除以GE中存在的元素数,由公式给出:

在这里插入图片描述

计算
  • step1:查找基本事实中存在的实体。

基本事实中的实体 (GE) - [‘Taj Mahal’, ‘Yamuna’, ‘Agra’, ‘1631’, ‘Shah Jahan’, ‘Mumtaz Mahal’]

  • step2:查找上下文中存在的实体。

上下文中的实体 (CE1) - [‘泰姬陵’, ‘阿格拉’, ‘沙贾汗’, ‘泰姬陵’, ‘印度’]

上下文中的实体 (CE2) - [‘泰姬陵’, ‘联合国教科文组织’, ‘印度’]

  • step3:计算上下文实体召回率–计算CE1和CE2的交集元素数与GE中存在的元素数的比率

我们可以看到,第一个上下文具有较高的实体召回率,因为它在给定基本事实的情况下具有更好的实体覆盖率。如果这两个上下文由两种检索机制在同一组文档上获取,我们可以说,在实体很重要的用例中,第一种机制比另一种机制更好。

Answer semantic similarity–答案语义相似性

基本概念

答案语义相似度的概念是评估生成的答案与基本事实之间的语义相似性。此评估基于基本事实和答案,值在 0 到 1 的范围内。分数越高,表示生成的答案与基本事实之间的匹配程度越高。

测量答案之间的语义相似度可以对生成的响应的质量提供有价值的见解。此评估利用跨编码器模型来计算语义相似度得分。

例子:

基本事实:阿尔伯特·爱因斯坦的相对论彻底改变了我们对宇宙的理解。”

相似度高的答案:爱因斯坦的突破性的相对论改变了我们对宇宙的理解。

相似度低的答案:艾萨克·牛顿的运动定律极大地影响了古典物理学。

计算
  • step1:使用指定的嵌入模型对基本事实答案进行矢量化。

  • step2:使用相同的嵌入模型对生成的答案进行矢量化。

  • step3:计算两个向量之间的余弦相似度。

Answer Correctness–答案正确性

基本概念

答案正确性的评估包括衡量生成的答案与基本事实相比的准确性。此评估依赖于基本事实和答案,分数范围从 0 到 1。分数越高,表示生成的答案与基本事实之间的一致性越高,正确性越高。

答案正确性包含两个关键方面:生成的答案与基本事实之间的语义相似性以及事实相似性。这些方面使用加权方案组合起来,以制定答案正确性分数。如果需要,用户还可以选择使用“阈值”值将结果分数四舍五入为二进制。

例子

事实:爱因斯坦 1879 年出生于德国。

答案正确率高:1879年,爱因斯坦出生于德国。

答案正确率低:爱因斯坦于 1879 年出生于西班牙。

计算

使用指定的嵌入模型对基本事实答案进行矢量化。事实正确性量化了生成的答案与基本事实答案之间的事实重叠。这是使用以下概念来实现的:

  • TP(真正例):在基本事实和生成的答案中都存在的事实或陈述。

  • FP(假阳性):在生成的答案中存在但在基本事实中不存在的事实或陈述。

  • FN(假阴性):存在于基本事实中但在生成的答案中不存在的事实或陈述。

答案:[Einstein was born in 1879]

FP:[Einstein was born in Spain]

FN:[Einstein was born in Germany]

现在,我们可以使用 F1 分数公式根据每个列表中的语句数量来量化正确性:

在这里插入图片描述

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值