RAG评估方法-四种方法、两个自动化评估工具,中文/英文RAG评估数据集

avatar
作者
猴君
阅读量:1

现有RAG模型的评估主要强调三个主要质量分数和四个基本能力,它们共同决定了RAG模型的两个主要目标的评估:检索和生成。

质量分数:上下文相关性(Context Relevance)、答案真实性(Answer Faithfulness)和答案相关性(Answer Relevance)。

四种能力:噪声鲁棒性(Noise Robustness)、负面拒绝(Negative Rejection)、信息集成(Information Integration)和反事实鲁棒性(Counterfactual Robustness)。

一、Retrieval-Augmented Generation Benchmark

论文名称:Benchmarking Large Language Models in Retrieval-Augmented Generation

论文地址:https://arxiv.org/pdf/2309.01431.pdf

code和数据集:GitHub - chen700564/RGB

(一)评估方法

提出四种需要被评估的能力:

1、噪声鲁棒性(Noise Robustness)

噪声鲁棒性评价模型处理与问题相关但缺乏实质性信息的噪声文件的能力。噪声文档定义为与问题相关但不包含任何相关信息的文档。例如,"问题相关的噪声文档包括有关2021年诺贝尔文学奖的报道。

采用accurary来评估该指标的好坏:如果生成的文本包含与答案完全匹配的文本,则将其视为正确答案。

2、否定拒绝(Negative Rejection)

当检索到的文档不包含回答问题所需的知识时,模型应拒绝回答问题。否定拒绝的测试文档只有噪声实例。LLM预计会发出"信息不足"或其他拒绝信号。

采用rejection rate评估该指标的好坏,当只提供嘈杂的文档时,LLM 应该输出具体内容——“由于文档中的信息不足,我无法回答问题”。(使用prompt来通知模型。如果模型生成此内容,则表示拒绝成功。

3、信息整合(information integration)

评估模型能否回答需要整合多个文档信息的复杂问题。例如,对于"ChatGPTiOS应用程序和ChatGPTapi是什么时候推出的?"这个问题,LLMs应提供iOS上ChatGPT应用程序和ChatGPTAPI的推出日期信息。

采用accurary来评估该指标的好坏:如果生成的文本包含与答案完全匹配的文本,则将其视为正确答案。

4、反事实鲁棒性(CounterfactualRobustness)

该测试评估当通过指令向LLMs发出关于检索信息中潜在风险的警告时,模型能否识别检索文档中已知事实错误的风险。

采用两个率来衡量该指标:Error detection rate和Error correction rate

  1. Error detection rate:衡量模型是否能够检测文档中的事实错误,以实现反事实的稳健性。当提供的文档包含事实错误时,模型应输出具体内容——“提供的文档中存在事实错误”。如果模型生成此内容,则表示模型在文档中检测到错误信息。
  2. Error correction rate:纠错率衡量模型在识别错误后是否能够提供正确的答案,以实现反事实的鲁棒性。模型被要求在识别事实错误后生成正确答案。如果模型生成正确答案,则表明模型能够纠正文档中的错误。

(二)评估数据集

包含中文数据集和英文数据集。

1.数据生成过程:

(1)首先收集最新的新闻文章,并使用提示让 ChatGPT 为每篇文章生成事件、问题和答案。例如,如,对于一篇关于“2022 年诺贝尔奖”的报道,ChatGPT 会生成相应的事件、问题,并提供回答的关键信息。通过生成事件,该模型能够初步过滤掉不包含任何事件的新闻文章。生成后,手动检查答案并过滤掉难以通过搜索引擎检索的数据。

(2)使用搜索引擎检索。对于每个问题,使用 Google 的 API 获取 10 个相关网页,并从中提取相应的文本片段。同时们读取这些网页并将其文本内容转换为最大长度为 300 个token的文本块。使用现有的检索模型,选择最有效地匹配查询的前 30 个文本块。这些将用作我们的外部文档。这些文件将根据它们是否包含答案分为正面文件和反文件。

(3)基于外部文档,分别构建评估4种能力所需的测试集,如从负样本中采样数据作为噪声等。

2.数据分布:

中文/英文 噪声:300条

中文/英文 否定:300条

中文/英文 集合:100条

中文/英文 反事实:100条

二、RAGAS-评价工具

论文名称:RAGAS: Automated Evaluation of Retrieval Augmented Generation

论文地址:https://arxiv.org/pdf/2309.15217.pdf

数据集:1.WikiEval(英文):https://huggingface.co/datasets/explodinggradients/WikiEval;2.amnesty_qa(英文):https://huggingface.co/datasets/explodinggradients/amnesty_qa

工具使用方法:

GitHub - explodinggradients/ragas: Evaluation framework for your Retrieval Augmented Generation (RAG) pipelines

(一)评估方法:

提出三个评估指标:答案真实性(Answer Faithfulness)、答案相关性(Answer Relevance)和上下文相关性(Context Relevance)。

1.答案真实性:评估生成的答案与检索的上下文的一致性,即答案应基于给定的上下文。

计算步骤:

  1. 给定问题和生成的答案,用LLM将答案分成较短且重点更突出的句子;
  2. 给定上下文和第一个部分输出的短句子,依次判断短句子是否出自上下文,输出yes/no;
  3. 计算真实性得分:F=|V|/|S|,其中|V|是第二个步骤输出为“yes”的短句数量,而|S|是语句总数。

2.答案相关性:评估生成的答案与提出的问题是否直接相关。

计算步骤:

  1. 给定生成的 答案,基于该答案内容,用LLM生成n个潜在问题;
  2. 用文本转向量模型(text-embedding-ada-002 model)将问题和潜在问题文本转为向量,计算它们的相似性:

    其中q为问题,qi为潜在问题。

3.上下文相关性:评估检索上下文的准确性,检索的上下文应重点突出,尽可能少地包含无关信息。

计算步骤:

  1. 给定问题和上下文文本,用LLM从上下文文本中提取有助于回答问题的句子。
  2. 计算得分:

(二)评估数据集

1.已有数据集

仅包含英文数据集。

WikiEval(该文创建的一个新数据集),共50条:

  1. 选择了 50 个维基百科页面,涵盖了自 2022 年初以来发生的事件;
  2. 使用chatgpt从每个页面中生成问题和回答;
  3. 有两位人工注释者,为生成的数据标注三个指标。

ragas-wikiqa :232条

amnesty_qa:20条

2.创建自己的数据集

三、RECALL

论文名称:RECALL: A Benchmark for LLMs Robustness against External Counterfactual Knowledge

论文地址:https://arxiv.org/pdf/2311.08147.pdf

code和数据集:暂未公开

(一)评估方法

主要是评估反事实知识的鲁棒性,以及它们在没有这些错误的情况下产生正确答案的能力;

涉及到两个任务:

1.Question Answering:每个样本都由一个问题和一个与问题相关的段落组成。对于每个问题,我们将为模型提供两个答案选项。其中一个是正确答案,另一个是在编辑答案文本过程中产生的错误答案。模型被要求从两个选项中选择正确的答案。

采用accuracy指标来评估。

2.Text Generation:在EventKG(数据集)的文本生成中,要求模型用自然语言为结构化格式的样本生成段落。当涉及到UJ(数据集)时,我们要求模型根据简短的描述段落,用一句话返回每个科学术语的定义。

采用BLEU和ROUGE-L指标来评估。BLEU:比较答案文本的n-gram词与参考文本的n-gram词,然后计算匹配的数量,匹配越多,分数越高。ROUGE-L和BLEU类似,使用最长公共子序列。

在评估过程中,会提供以下数据:

1.上下文中和答案相关的文本被替换成错误文本;

2.上下文中和答案不相关的文本被替换成错误文本;

3.不提供上下文。

四、ARES-评价工具

论文名称:ARES: An Automated Evaluation Framework for Retrieval-Augmented Generation Systems

论文地址:https://arxiv.org/pdf/2311.09476.pdf

数据集地址:GitHub - stanford-futuredata/ARES

工具使用方法:https://github.com/stanford-futuredata/ARES

(一)评估方法

评价指标和RAGAS相同:上下文相关性,答案真实性和答案相关性。

计算步骤(注意:在正式使用时,步骤(1)和(2)可跳过):

  1. 数据集准备:i.用于评估标准(例如上下文相关性、答案忠实度和/或答案相关性)的带注释的查询、文档和答案三元组的人类偏好验证集。应该有至少50个例子,建议几百个。ii.一组简短的示例,用于在系统中对上下文相关性、答案忠实度和/或答案相关性进行评分。ii.未标记查询-文档-答案三元组,即需要评估的rag数据。
  2. 3个评估模型的微调:针对三个评估指标分别用数据微调LLM模型,使用二元分类训练目标对正面和负面示例进行分类。
  3. 使用 prediction-powered inference对不同的 RAG system 进行排名(其他论文提出的方法,是一个框架。通过利用对更大的一组未注释数据点的预测来收紧对一小组注释数据点(即人类偏好验证集)的预测的置信区间)。PPI 可以利用标记数据点和 ARES 对未注释数据点的判断预测,为 RAG 系统的性能构建更严格的置信区间。

(二)评估数据集

仅包含英文数据集。

Natural Questions (NQ):7条

HotpotQA:5条

FEVER:6条

Wizards of Wikipedia(WoW):6条

MultiRC:4条

ReCoRD::9条

gold_label_path.tsv:206

Rag评估方法:

(一)、数据集:

(1)RGB中的中文数据集,约500条;

(2)RAGAS(约300条)和ARES中的英文数据集(约243条),可使用chatgpt/gpt4进行机翻;

(3)nlp阅读理解数据集,例如DRCD、cmrc2018、chinese-squad、中医数据集、法研杯2019、莱斯杯机器阅读理解、疫情QA、WebQA、Dureader。需要二次梳理。

(二)评估方法:

评估检索的质量和生成的质量:三个质量分数和四个基本能力。上下文相关性和噪声鲁棒性对于评估检索质量很重要,而答案忠实性、答案相关性、负面拒绝、信息整合和反事实鲁棒性对于评估生成质量很重要。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!