零样本忠实事实错误纠正

  • 摘要
  • 1. 介绍
  • 2. 工作
  • 3. 方法
  • 3.1 声明答案生成
  • 3.2 问题生成
  • 3.3 问答
  • 3.4 QA to 声明
  • 3.5 修正评分
  • 3.6 领域适应
  • 4. 实验
  • 5. 结果
  • 8. 限制


事实一致性优化方法 (可以算作事后优化)查看资料 是否可以应用在gc上面

摘要

忠实地纠正事实错误对于维护文本知识库的完整性和防止生成模型中的幻觉至关重要。利用人类识别和纠正事实错误的能力,我们提出了一个零样本框架,该框架提出有关输入声明的问题,在给定证据中寻找正确答案,并根据其与证据的一致性评估每次更正的忠实度。正如在 FEVER 和 SCIFACT 数据集上的实验所证明的那样,我们的零样本框架优于完全监督的方法,其中我们的输出更加忠实。更重要的是,我们框架的可分解性本质上提供了可解释性。此外,为了揭示评估事实错误更正的最合适指标,从可理解性和忠实度的三个不同维度分析了常用指标与人类判断之间的相关性。

1. 介绍

代码地址: https://github.com/khuangaf/ZeroFEC

样本选择偏差 连享会 样本选择纠正_python


强调了忠实性的优点:不忠实输出的主题可能与预期更正的主题有很大偏差。因此,这样的编辑是不可取的,即使它是事实。

ZEROFEC 将事实纠错任务分为五个子任务:

  • 声明答案生成:从输入声明中提取所有信息单元,例如名词短语和动词短语;
  • 问题生成:给定每个权利要求答案和原始权利要求生成问题,使得每个权利要求答案是每个生成问题的答案;
  • 问答:使用证据作为上下文回答每个生成的问题;
  • QA-to Claim:将每对生成的问题和答案转换为声明性陈述;
  • 修正评分:根据修正对证据的忠实度来评估修正,其中忠实度通过证据与每个候选修正之间的蕴含分数来近似。选择得分最高的校正作为最终输出。
    贡献:
  • 提出ZEROFEC,这是一种事实错误纠正框架,通过询问有关输入声明的问题、在证据中寻求答案以及根据忠实度对输出进行评分来有效地解决忠实度问题。
  • 在确保两个事实纠错数据集 FEVER(Thorne 等人,2018)和 SCIFACT(Wadden 等人,2020)的忠实度方面优于所有先前的方法,包括在 58K 实例上训练的完全监督方法。
  • 我们分析了人类判断与自动指标的相关性,为未来评估事实错误更正的忠实性、真实性和可理解性的研究提供直觉。

2. 工作

系统必须忠实于证据来纠正事实错误,能够更公平地评估系统性能。此外,如果原始声明已经与提供的证据事实一致,我们要求模型不要编辑原始声明。
具体来说,任务的输入是一个主张 C 和一条支持或反驳 C 的黄金标准证据 E。事实错误纠正的目标是产生一个修正后的主张 Cˆ,修正 C 中的事实错误,同时忠实于 E如果 C 已经被 E 支持,模型应该输出原始声明(即 ˆC = C)。

3. 方法

样本选择偏差 连享会 样本选择纠正_python_02


模型方法:

首先,给定一个输入声明,我们通过枚举输入声明中的所有信息单元来生成声明答案。

其次,根据每个提取的答案和输入的声明,生成一个问题。

第三,然后将每个问题输入问答模型,以使用给定的证据作为上下文来生成证据答案。

第四,使用序列到序列的方法,将每个证据答案和相应的问题转化为一个陈述,作为候选校正。

最后,通过基于忠实度对候选更正进行评分来产生最终更正。

3.1 声明答案生成

使用 Spacy3 提取所有名词块和命名实体,并使用 Stanza4 提取名词、动词、形容词、副词、名词短语、动词短语。
此外,我们还从输入声明中提取否定术语,例如“not”和“never”。我们将提取的信息单元命名为声明答案,表示为AC = {AC 1 , AC 2 , …, AC n}。

3.2 问题生成

生成答案后,生成问题,之后使用这些问题在证据中寻找正确的信息单元。 使用输入声明作为上下文,根据声明答案生成问题 。我们将问题生成器表示为 G。每个声明答案 ACi 与输入声明 C 连接以生成问题 Qi = G(A C i , C)。我们利用 MixQG (Murakhovs’ka et al, 2022) 作为我们的问题生成器 G ,以涵盖事实错误和提取的候选者的广泛多样性。 MixQG 在九个具有各种答案类型的问题生成数据集上进行了训练,包括布尔答案、多项选择答案、提取答案和抽象答案。

3.3 问答

&nb在这里插入图片描述
sp;   我们的QA模块以给定的证据为上下文,回答来自问题生成步骤的问题。让F表示我们的QA模型。我们将生成的问题和证据输入QA模型,生成证据答案AE i = F(Qi , E)。UnifiedQA-v2(Khashabi等人,2022年)被用作我们的问题解答模型。UnifiedQA-v2是一个基于T5(Raffel等人,2020b)的抽象QA模型,在20个QA数据集上经过训练,可以处理不同的问题类型。

3.4 QA to 声明

生成问题和答案后,我们将每对问题和答案转换为声明性陈述 ,作为下一步评分的候选修正。先前关于将 QA 转换为声明的研究仅关注提取答案类型(Pan 等人,2021)。 为了适应不同类型的问题和答案,我们训练了一个序列到序列模型,该模型根据三个数据集上的问答对生成一个声明 :QA2D(Demszky 等人,2018)用于提取答案,BoolQ(Clark 等人, 2019)用于布尔答案,SciTail(Khot 等人,2018)用于涵盖科学领域的 QA。请注意,BoolQ 中的示例不包含转换后的声明性语句。使用 Stanza 的选区解析器,我们应用启发式方法将所有 QA 转换为其 BoolQ 中的声明形式。我们的 QA-to-claim 模型是基于 T5 的,在这三个数据集上进行了微调。 具体来说,让 M 表示我们的 QA-to-claim 模型。M 将生成的问题 Qi 和证据答案 A E i 作为输入,并输出语句 Si = M(Qi , AE i )。

3.5 修正评分

最终的修正是通过对之前步骤中每个候选修正的忠实度进行评分而产生的。证据。我们使用蕴含分数来近似忠实度。这里,DocNLI(Yin et al, 2021)用于计算这种文档-句子蕴涵关系。 DocNLI 比其他文档句子蕴含模型(例如 FactCC(Kryscinski 等人,2020))更具通用性,因为它是在不同任务和领域的五个数据集上进行训练的。在句子级 NLI 数据集上训练的传统 NLI 模型,例如 MNLI(Williams 等人,2018)并不适用,因为之前的工作发现这些模型不适合测量句子级别之外的蕴涵(Falke 等人,2019) )。此外,为了防止最终的修正与最初的说法偏离太多,我们还考虑了受 Wan 和 Bansal (2022) 启发的 ROUGE-1 分数。用于评分的最终指标是 ROUGE-1 分数 5 和 DocNLI 蕴含分数的总和。其中 C ’ 是我们的框架产生的最终校正。此外,为了处理输入声明已经忠实于证据的情况,我们将输入声明包含在要评分的候选校正列表中。

样本选择偏差 连享会 样本选择纠正_样本选择偏差 连享会_03

3.6 领域适应

在不同领域微调

4. 实验

样本选择偏差 连享会 样本选择纠正_自然语言处理_04

样本选择偏差 连享会 样本选择纠正_自然语言处理_05

5. 结果

最近关于忠诚度指标的努力主要集中在摘要任务上。之前没有研究过这些指标到事实错误纠正任务的可转移性。我们试图通过显示表 1 中使用的自动指标与第 5.3 节中讨论的人工评估结果之间的相关性来弥补这一差距。使用 Kendall 的 Tau(Kendall,1938)作为相关性度量,结果总结在表 4 中。我们有以下观察结果。 (1) SARI 是评估两个数据集的真实性和忠实性的最一致、最可靠的指标。尽管最近开发的其他三个指标显示出与人类对多个摘要数据集中的忠实度判断的高度相关性,但由于它们针对该特定任务的不兼容设计,它们向事实纠错任务的可转移性受到限制。例如,基于 QA 的指标(如 QAFACTEVAL)对于评估此任务的忠实度不太可靠,因为它们无法从单句输入声明中提取足够数量的答案。相比之下,摘要数据集中的摘要通常由多个句子组成,从而能够提取更多数量的答案。为了验证这一点,我们分析了 QAFACTEVAL 的中间输出。我们的分析证实,它在 FEVER 数据集上平均仅提取 1.95 个答案,明显低于通常为摘要提取的 10 多个答案。 (2) 在两个数据集中,所有自动指标与清晰度之间的相关性较低。可理解输出的比例极高可以解释相关性低的原因。 (3) 基于学习的指标(包括 QAFACTEVAL 和 FACTCC)的相关性在应用于 SCIFACT 时显着下降。这可能是由于缺乏生物医学数据的微调或预训练造成的。

8. 限制

虽然我们的方法在产生忠实的事实错误纠正方面表现出了优势,但我们认识到我们的方法无法纠正所有错误,特别是那些需要特定领域知识的错误,如表 3 所示。因此,重要的是要练习在面向用户的设置中应用此框架时要小心。例如,应让最终用户意识到并非所有事实错误都可以得到纠正。

此外,我们的方法假设提供了证据。尽管这个假设对于将我们的方法应用于摘要任务也是正确的,因为源文档被视为证据 ,但它不适用于自动文本知识库更新。在更新这些知识库时,常常需要从外部来源检索相关证据。因此,当将我们的方法应用于此任务时,需要一个可靠的检索系统。