大模型幻觉评估方法——忠实性(Faithfulness)与事实性(Factuality)

大模型幻觉评估方法——忠实性(Faithfulness)与事实性(Factuality)

  评价摘要的忠实度和真实度的主要参考是人工评估 [2, 5, 16],即使设计指标来自动评估,也需要通过计算和人的相关性进行检验。自动评估的工作主要分成如下几个流派:

  • 关键信息抽取式:先把摘要/正确答案/原文中的信息转化为特定的格式,然后进行对比 [10]。
  • 自然语言推理式:训练模型预测摘要中的信息是否被原文蕴含 [8]。
  • 自动问答评估式:通过QA模型来评估原文和摘要的信息是否一致 [12, 13]。
  • 特定模型打分式:设计更加统一的打分模型 [14, 15, 17]。

  对于每一种流派,我们选取一篇有代表性的文章介绍主要方法。

方法名称 指标名称 方法介绍 是否需要新训练模型 是否需要评测基准 参考原文 是否推荐使用
启发式 ROUGH、KF1 ROUGH、BLEU、Knowledge-F1 不需要 需要评测基准验证该评估方法的可行性,并与人类对齐 https://aclanthology.org/2021.findings-emnlp.320.pdf 推荐 ✅
方法非常简单,但与人类相关度并不高。
NLI(FactCC) BERT-NLI-Acc 将input和output视为蕴含问题,使用二分类器进行。默认采用BERT-large模型实现。 需要一个NLI模型 需要评测基准验证该评估方法的可行性,并与人类对齐 https://aclanthology.org/2020.emnlp-main.750.pdf 推荐 ✅
多个工作证明与更接近人类。但需要训练一个NLI模型,需要保证NLI模型准确可靠。
信息抽取式 IE-F1 给定输入和大模型的输出,分别对其进行信息抽取,得到两个知识子图,最后计算两个子图之间的重叠性,可采用F1指标。
信息抽取模型可直接使用大模型本身来抽取,也可以使用现有的信息抽取模型 需要一个信息抽取模型 需要评测基准验证该评估方法的可行性,并与人类对齐 https://arxiv.org/pdf/1905.13322 待定⌛️
效果一般,且需要依赖较为复杂且可靠的信息抽取模型。
HalEval HalEval-Acc 根据已构造好的存在幻觉的数据集,设计指令让大模型去判断这个数据集中每个样本是否存在幻觉,反馈判断幻觉的准确率作为当前大模型事实性的评价指标 可有可无 需要评测基准验证该评估方法的可行性,并与人类对齐 https://arxiv.org/pdf/2305.11747 推荐 ✅
方法简单且评估有效。
QA QA-ROUGH 给定输入和大模型的输出,分别对这两部分进行Question Generation,然后再使用一个问答模型生成答案,最终对这两个答案计算ROUGH。 需要QG和QA两个模型。 需要评测基准验证该评估方法的可行性,并与人类对齐 https://aclanthology.org/2020.acl-main.450.pdf 不推荐 ❌
需要依赖于两个模型,预人类误差大、不可控,评测耗时较长。

Assessing The Factual Accuracy of Generated Text [10]

  本篇是设计真实度的自动指标的工作中最早的尝试之一。思路很有开创性,但是在方法的设计和通用性上有一定的局限性。
主要方法
  本篇中,作者主要关注的是模型生成的摘要是否事实正确。主要的方法是训练一个模型把模型的预测和正确答案分别解析成事实关系的元组(主语, 关系, 宾语),然后进行匹配,将准确度作为模型生成摘要的真实性。作者进行了一些简化,如果模型生成了无法根据正确答案来判断的事实关系,这些事实关系会被直接过滤掉,不在考虑范围之内。这个框架主要的难点在于如何从摘要中抽取出事实。为了解决这个问题,本篇通过维基百科构建了一个数据集,对于每篇文章,找到一个主要实体,然后在数据库中搜索文章中其他实体和主要实体的关系,如果有关系则构建一个正例,否则构建一个负例。然后,作者尝试在这个数据集上训练了三种不同模型:

  • 命名实体抽取+关系检测(只判断两个实体之间是否存在关系,不对关系进行分类)
  • 命名实体抽取+关系分类
  • 端到端地生成所有事实关系

结果
  作者选取了一个摘要模型的30条输出,让人基于正确答案判断输出是否事实正确,去除掉无法判断的部分,然后和不同的指标计算相关系数。OpenIE是一个自动关系提取的工具,作者意在比较OpenIE和本文新训练的模型。可以看到本文设计的指标和人的标注相关性最高。但是我们从表格中也可以看到,Rouge-2这种和事实性完全无关的指标都有一定的相关性,说明本篇设计的方法和用户研究比较有局限性。
在这里插入图片描述

一些本篇没有解决的问题

  • 本篇的方法只能处理预先定义好的一个关系集合
  • 忽略了原文中存在但是正确答案中没有的事实关系
  • 本篇只处理了事实正确性,没有考虑忠实度

Evaluating the Factual Consistency of Abstractive Text Summarization [5]

  本篇和[1]来自同一组作者。[1]是一篇议论文,主要点明了摘要的自动评估中缺乏了对于consistency的关注,即很少评估摘要和输入是否在事实信息上保持一致。[5]可以看成[1]的后续,目的是想办法来解决[1]点出的问题。这里的"factual consistency"虽然里面有"fact",但是含义应该和忠实度更为吻合,因为主要关注的都是摘要的信息是否都能被输入所支持,而不是摘要的信息是否都是正确的。
主要方法
  本篇中,作者通过半监督的方式来训练一个事实一致性的模型。这个模型给定一对(文章,摘要),预测摘要是否和文章事实一致。训练集的构建方式是选定文章,从中抽取出一个句子,然后基于这个句子生成正例(忠实摘要)和负例(不忠实摘要)。正例主要通过同义改写的方式获得,作者把这些句子翻译成法语/德语/中文/西班牙语/俄语,然后再翻译回英语。对于负例,作者设计了一些规则如取反/改掉代词/改掉句中实体/改数字/加噪音的方式。从[4]的角度来看,前两种方法(取反/改掉代词)属于引入intrinsic hallucination,最后两种(/改数字/加噪音)属于extrinsic hallucination,改掉实体可以是intrinsic或者extrinsic,取决于如何实现。作者也提到这种数据增强的方式对2018-19年抽象程度比较低的摘要模型是足够的,站在2023年来看,我们在过去的半年中看到了很强很可控的ChatGPT和GPT-4,想要评估它们生成的摘要,本篇的设计就不一定足够了。
  接下来,作者用这些增强的数据微调BERT来作为打分模型。具体的训练目标有两种:

  • (1)只训练一个二分类模型,称为FactCC;
  • (2)在此基础之上,同时预测错误出现的开始和结束位置,称为FactCCX。根据原文的报告,训练开销还是很大的,需要8张V100上训练一天。考虑到每换一个新的领域都需要重新训练模型,本文的方法算不上很高效。

实验
  本文主要的实验场景是[8]提出的数据集,这个数据集包含了CNN-DM验证集的200篇文章,目标是每篇文章的五个摘要按照正确性重新排序,评估的主要指标是正确性最高的摘要是否被排在首位。比较的方法也来自于[8],主要是一些其他的NLI模型。另外比较的两个基线是在MNLI或者FEVER上微调BERT。可以看到FactCC在这个数据集上识别最正确的摘要的性能强于其他模型。
在这里插入图片描述

  FactCCX的另一个好处是可以对标注证据,用来对不正确的信息进行解释。作者进一步做了两种标注实验:(1)问标注者FactCCX标注的证据是否有用;(2)让人来判断正确性并且标注证据,评估人标注的证据和FactCCX给出的证据是否吻合。结果见下图,可以看到效果还是比较好的。
在这里插入图片描述

一些本篇没有解决的问题

  • 作者发现对抽象程度比较高的摘要经常会被识别为不正确。换句话说,模型很难分辨改动很大的同义改写和extrinsic hallucination。不过,这两者之间可能本身就有很多交集 [4]。

Asking and Answering Questions to Evaluate the Factual Consistency of Summaries [12]

  一条很直接的思路:如果摘要引入新的信息或者修改了原文信息,如果对这些信息提问,回答的模型分别参考原文和摘要时就会找到不同的答案。本篇和[13]思路非常相近,一起上了ACL 2020的主会,到现在引用数也比较接近。也不知道这两组作者之间是否有一些其他的恩怨,就选取靠前的一篇总结一下了: )
主要方法
  本篇设计的指标QAGS主要分成三个步骤:

  1. 根据文本摘要生成若干问题。本文使用了一个在NewsQA上训练的BART模型来根据答案(命名实体)生成问题。在摘要文本中随机选取若干个命名实体,然后用beam search的方式解码出若干个问题
  2. 基于输入或者摘要生成这些问题的答案。本文使用一个在SQuAD2.0上微调过的BERT模型来抽取式地生成答案。
  3. 比较两个版本答案的吻合率,吻合率越高则忠实度越高。本文使用token-level F1进行评估。

-402903972.jpg

实验结果
  作者首先比较了一下QAGS和之前的指标相比和人评估faithfulness分数的相关系数,发现QAGS最高。这里作者baseline的选取并不是很全面,感觉至少应该比较一下基于NLI的方法。

在这里插入图片描述

  之后,作者重复了FactCC的实验场景,展示出来QAGS能进一步提高rerank的准确度。
在这里插入图片描述

一些本篇没有解决的问题

  • 对于高度抽象的summary,抽取式的QA加上exact match的F1很难评估忠实度。
  • 用某一个具体的数据集来训练问题生成和问答模型可能会很难泛化。作者提的框架是很好的,只是在2023年回看,或许QG和QA的模型都可以换成LLM来实现

SummEval: Re-evaluating Summarization Evaluation [16]

  在介绍接下来的方法之前,我们先介绍一个人工评估的数据集:SummEval。本文承接[1][5],同样来自Salesforce。通过看之前的几篇文章,不难发现在当时自动指标设计研究中的主要问题是评估指标性能(即meta-evaluation)的实验规模有点太小。为了解决这个问题,[16]的作者对23个模型在CNN/Dailymail上的100篇文章上的数据进行了标注。标注的内容就是相关性(relevance),一致性(consistency),流畅性(fluency),连贯性(coherence)四个指标。然后对比了当时较为常见的指标和人工标注的一致性。SummEval是第一个比较大的文本摘要的元评估数据集,后续设计新指标的研究如[14][15]等都在SummEval上进行了测试。

Compression, Transduction, and Creation: A Unified Framework for Evaluating Natural Language Generation [14]

在本文之前,大部分的自然语言生成评估的工作局限于特定某个任务的特定某个维度。本文提出了一个更加统一的框架,将自然语言生成的任务分成三类:

  • 压缩(compression,如文本摘要);
  • 转导(transduction,如翻译);
  • 创造(creation,如故事生成)。

  作者引入了一个中心的概念叫“信息对齐”(information alignment)。将a到b对齐的过程记作align(a->b),这是一个和a中token的数量相同的向量,计算的是a的每个token在多大程度上和b一致。在这个框架下评估这三种任务,主要需要解决两个问题:
(1)如何把三种任务的目标用对齐来表达?

  • 对于文本压缩类任务,作者认为主要的目标是“一致性”(consistency)和“相关性”(relevance)。一致性表达为align(输出->输入),即输出的每个token都应该能在输入中找到一定的对应。相关性表达为两项,分别是align(正确答案->输出)和align(输出->输入),最终的分数是两项分别求平均再乘起来。这里会有一点点奇怪,(1) 看起来两个目标没有完全分开,作者的说法是相关性也需要模型的输出和输入文本有一定的一致性; (2)似乎这个指标只有recall,没有考虑precision(比如align(输出->正确答案))。
  • 对于文本转导类任务,作者设计的是一个类似F1的指标,称作信息留存(preservation),用align(输入->输出)和align(输入->输出)进行计算。
  • 对于文本创造类任务,作者设计了“吸引力“(engagingness)和“接地性”(groundedness)。这里主要用了对话生成作为例子。engagingness用align(输出,[对话历史,背景知识])来评估,groundedness用align(输出,背景知识)来评估

(2)如何实现align函数?
作者考虑了三种实现方式:用嵌入逐个token进行匹配(E),用序列标注的方式打分(D),直接估计(R)。大意如下图所示。具体的实现就略过了,可以参考原文附录。主要的实现方法是给定输入先用无监督的方法生成输出,然后进行同义改写,之后再进行掩码用BART重新预测,重新预测的部分就视为负例,其他部分视为正例。
在这里插入图片描述

实验
  作者分别在文本摘要、风格转换、对话的三类任务上进行了评估。由于文本的侧重点原因,我们只看一下文本摘要上一致性的结果,对应的就是忠实度。主要就在[16][12]的数据上进行了实验,baseline就是FactCC和QAGS。可以看到D在众多评估指标中表现最好,E在XSUM上的表现非常差,作者认为主要是因为XSUM的摘要抽象程度很高,不好匹配。
在这里插入图片描述

Towards a Unified Multi-Dimensional Evaluator for Text Generation [15]

  本篇发表在[14]一年之后,主要的动机是[14]很难评估一些维度,比如文本摘要上的naturalness和coherence。和[14]的EDR不同,本篇把打分转化成使用T5做Boolean QA的形式。给定模型输出x,正确答案y,输入/背景c,以及维度d_i对应的问题q_i(一个Yes/No的问题),模型的打分可以写成如下形式:
在这里插入图片描述

举个例子,下图就展示了评估coherence和relevance的模板。
在这里插入图片描述

训练
  UniEval的训练主要分成两步:

  • 首先,先将T5在四类中间任务上进行微调:(1)NLI,(2)开头句预测,(3)CoLA,(4)QA。作者把这四类任务都转化成了答案为Yes/No的Boolean QA形式,总数据量大约186k。训练之后的中间模型即为MingZhong/unieval-intermediate · Hugging Face
  • 然后,根据实际要评估任务的不同,设计一系列维度。对于每个维度,通过进行各种基于规则的扰动构造Boolean QA格式的训练数据。比如对于文本摘要,作者就设计了coherence, consistency, fluency, relevance四个维度。在训练时作者发现同时训练这些任务会导致一些冲突,更好的训练方法是逐个任务微调,在微调后面任务时重放(replay)20%左右之前的数据。

实验
  作者在三类任务上进行实验:summarization, data-to-text, dialogue。这里我们只看一下SummEval的结果:
在这里插入图片描述

  之后,作者也进行了一些其他分析,指出UniEval的范式的一大好处就是可以很容易泛化到新的维度上。作者在“可理解度”的新维度和data-to-text的新任务上进行了实验,展示出来了很好的泛化效果。不过个人认为在UniEval的框架下,想要在目标任务的评估上做到最好,还是需要对模型进行一定程度的微调,这一点在[17]上有所改进。另外作者也进行了一些ablation studies,展示出对忠实度/一致性来说NLI的中间任务是很重要的。把所有维度放在一起考虑,QA的中间任务是最重要的。

在这里插入图片描述

GPTEval: NLG Evaluation using GPT-4 with Better Human Alignment [17]

  本篇是非常新的一篇文章,在笔者写作本篇综述时刚刚放出来。本文的出发点是很明显的:大语言模型(LLM)的能力似乎在GPT-3和GPT-4上产生了质的飞跃,那么将其作为评估指标,“大模型评价小模型”就听起来越来越有可行性了。本文提出了一种利用chain-of-thought(CoT)来提升LLM打分模型的机制,主要工作流程如下:将任务的定义和评估维度的定义输入LLM,先生成评估的步骤,然后把这些文本再加上需要评估的输入和输出,用一种填表的方式再次输入LLM得到分数。最后,用1~5的分数乘上对应概率得到一个更细粒度的分数。

  本文的实验设定直接采用了UniEval的主要设定,发现如下:(1)本文的方法基本可以在UniEval的benchmark上做到sota,在评估比较开放性的对话生成任务上尤为有效;(2)本文的方法对输入模板比较敏感,CoT可以提升性能;(3)分数乘上概率让最终的打分变得更细粒度;(4)本文的方法相比人类会更偏好LLM的输出。另外,本文也发现GPT-4比GPT-3.5在大多数情况下有显著的提升。总的来说,本文更像是一篇分析部分还没有完全完成的早期版本的“占位”文章,同时在方法上的novelty也不是很高。所以本文也不过多分析,对实验结果感兴趣的读者可以直接查看原文。

总结

  在本篇文章中,我们首先通过一篇早期工作讨论了忠实度和真实度的含义是什么。然后,我们综述了评估文本摘要忠实度/真实度/一致性的各种方法。可以看到不管是对于不同任务还是不同评价维度,较为普遍的趋势是趋向于大而统一:更大的元评估实验设定、更多的预训练、更大的模型、更统一的视角,等等等等。当下,GPT-4的出色表现引起热议,但是似乎构建更可控、可解释、鲁棒的文本生成指标仍然是一个开放问题,还有很长的路要走。
下篇文章中,我们会探讨一下提升近期文本摘要的忠实性的相关工作。

原文:https://zhuanlan.zhihu.com/p/609794864

References

[1] Neural Text Summarization: A Critical Evaluation (Kryscinski et al., EMNLP-IJCNLP 2019)
[2] SummEval: Re-evaluating Summarization Evaluation (Fabbri et al., TACL 2021)
[3] News Summarization and Evaluation in the Era of GPT-3 (Goyal et al., arXiv 2022)
[4] On Faithfulness and Factuality in Abstractive Summarization (Maynez et al., ACL 2020)
[5] Evaluating the Factual Consistency of Abstractive Text Summarization (Kryscinski et al., EMNLP 2020)
[6] Object Hallucination in Image Captioning (Rohrbach et al., EMNLP 2018)
[7] Hallucinations in Neural Machine Translation (Lee et al., NIPS IRASL 2020)
[8] Ranking Generated Summaries by Correctness: An Interesting but Challenging Application for Natural Language Inference (Falke et al., ACL 2019)
[9] Faithful to the Original: Fact Aware Neural Abstractive Summarization (Cao et al., AAAI 2018)
[10] Assessing The Factual Accuracy of Generated Text (Goodrich et al., KDD 2019)
[11] Ensure the Correctness of the Summary: Incorporate Entailment Knowledge into Abstractive Sentence Summarization (Falke et al., ACL 2019)
[12] Asking and Answering Questions to Evaluate the Factual Consistency of Summaries (Wang et al., ACL 2020)
[13] FEQA: A Question Answering Evaluation Framework for Faithfulness Assessment in Abstractive Summarization (Durmus et al., ACL 2020)
[14] Compression, Transduction, and Creation: A Unified Framework for Evaluating Natural Language Generation (Deng et al., EMNLP 2021)
[15] Towards a Unified Multi-Dimensional Evaluator for Text Generation (Zhong et al., EMNLP 2022)
[16] SummEval: Re-evaluating Summarization Evaluation (Fabbri et al., TACL 2021)
[17] GPTEval: NLG Evaluation using GPT-4 with Better Human Alignment (Yang et al., arXiv 2023)

猜你喜欢

转载自blog.csdn.net/qq_36426650/article/details/131826453