大语言模型 (LLM) 的快速演进彻底改变了我们处理信息的方式。生成式摘要 (Abstractive summarization) ——即 AI 阅读长文档并用自己的语言写出简洁摘要——是这项技术最实用的应用之一。然而,任何使用过这些工具的人都知道它们存在一个严重的缺陷: 幻觉 (hallucination)

模型生成的摘要往往读起来流畅自然,但却包含了源文本中不存在的事实错误。检测这些不一致性是自然语言处理 (NLP) 中的一项重大挑战。像 ROUGE 这样的传统指标检查的是词汇重叠,这对于核查事实来说是远远不够的。较新的方法使用自然语言推理 (NLI) 来检查逻辑,但它们通常在句子级别上运行。

这种句子级的方法正是漏洞显现的地方。摘要中的一个句子可能 90% 是正确的,但包含一个微小却至关重要的错误 (如错误的日期或名字) 。句子级评估器可能会给这个句子“放行”,因为该句子与源文本大体相似。相反,一个摘要可能会综合来自文档三个不同部分的信息。寻找一对一句子匹配的标准评估器将无法找到证据,并可能错误地将该摘要标记为幻觉,尽管它实际上是真实的。

在这篇文章中,我们将探讨 FIZZ (Factual Inconsistency Detection by Zoom-in Summary and Zoom-out Document,即通过放大摘要和缩小文档进行事实不一致性检测) ,这是由中央大学 (Chung-Ang University) 和 Adobe Research 的研究人员提出的一种新方法。FIZZ 通过“放大”检查原子事实和“缩小”理解更广泛的上下文来解决这些限制。

句子级评估的局限性

要理解为什么我们需要一种新方法,首先需要看看现有方法失败在哪里。大多数现代事实核查系统使用 NLI 模型。这些模型接收一个前提 (文档) 和一个假设 (摘要) ,并确定前提是否蕴含假设。

通常,这些系统会将摘要中的句子与文档中最相似的句子配对。

句子级评估与原子事实级评估的比较。括号中的数字表示通过将每个句子和原子事实与源文档逐句比较获得的最大 NLI 蕴含分数。

图 1 所示,句子级评估可能会查看这个句子: *“the 27-year-old joined spurs from manchester city in 2011.” (这位 27 岁的球员于 2011 年从曼城加盟热刺。) * 系统给出的置信度分数为 0.53——这是一个中等的分数,并不能说明太多问题。它是错的吗?哪部分错了?

然而,当我们放大并将该句子分解为“原子事实 (Atomic Facts) ”时,错误就变得显而易见了。事实 *“Emmanuel Adebayor is 27 years old” (阿德巴约 27 岁) * 得到的分数为 0.09 (可能是幻觉) ,而 *“Emmanuel Adebayor joined Spurs” (阿德巴约加盟热刺) * 得到的分数为 0.97 (已验证) 。

句子级评估聚合了这些错误,掩盖了具体的虚假信息。FIZZ 旨在通过在原子级别上操作,同时处理复杂文档中固有的上下文问题来解决这一问题。

FIZZ 流程: 放大与缩小

FIZZ 的设计既高效又具有可解释性。它不仅仅告诉你一个摘要很糟糕;它能精确定位哪个事实是不正确的。该架构包含四个主要阶段: 指代消解 (Coreference Resolution) 、原子事实分解 (放大) 、评分 (Scoring) 和粒度扩展 (缩小) 。

图 2: FIZZ 的整体流程。该流程首先对摘要和文档应用指代消解。然后使用 LLM 将摘要分解为原子事实。这些原子事实经过过滤,随后与文档进行评分比对。通过粒度扩展对分数进行细化。最终分数定义为其中的最低分。

1. 指代消解: 明确“谁”和“什么”

NLI 模型在处理代词时很吃力。如果文档说“他进了一个球”,而摘要说“梅西进了一个球”,如果没有上下文,模型可能意识不到“他”指的是“梅西”。

在检查事实之前,FIZZ 对源文档和生成的摘要都应用了 指代消解 。 这个过程将代词 (他、她、它、他们) 替换为它们所指代的具体实体。

公式 1 显示了应用于文档 D 和摘要 S 的指代消解函数。

通过显式命名实体,文本变得自包含。这至关重要,因为后续步骤会将文本切成更小的片段;如果没有指代消解,这些片段将失去上下文。

2. 放大: 原子事实分解

一旦代词被解析,FIZZ 就会“放大”。它获取摘要句子并将其分解为 原子事实 。 原子事实被定义为包含不超过两到三个实体的简短、简洁的陈述。

例如,句子 *“Wales defender Chris Gunter says it would be a massive mistake to get complacent” (威尔士后卫克里斯·冈特表示,如果自满将是一个巨大的错误) * 被分解为:

  1. Chris Gunter 是一名足球运动员。
  2. Chris Gunter 司职后卫。
  3. Chris Gunter 来自威尔士。
  4. Chris Gunter 说,自满将是一个“巨大的错误”。

过滤步骤: 这里存在风险。因为 FIZZ 使用 LLM 来生成这些原子事实,LLM 在分解过程中本身可能会产生幻觉 (例如,添加“Chris Gunter 是一个名词”) 。为了防止这种情况,FIZZ 采用了一种过滤机制。它检查生成的原子事实是否实际上被原始摘要句子所蕴含。如果原子事实与它来源的摘要不一致,它就会被丢弃。

3. 原子事实评分

有了干净的原子事实列表后,FIZZ 现在会根据源文档检查它们。它使用 NLI 模型将每个原子事实与文档中的每个句子进行比较。

公式 2 显示了基于最大蕴含分数计算向量 T 的过程。

对于每个原子事实 (\(a_k\)) ,系统在文档中找到提供最高蕴含分数的单个句子 (\(d_i\)) 。这创建了一个分数向量,其中每个分数代表特定原子事实得到文档支持的程度。

4. 缩小: 自适应粒度扩展

这是 FIZZ 区别于许多其他基于分解的方法的地方。生成式摘要通常结合了文档中多个句子的信息。如果一个原子事实依赖于分散在文档三个句子中的信息,将其仅与一个句子进行比较将产生低分,从而导致假阳性 (将真实事实标记为错误) 。

为了解决这个问题,FIZZ 使用 自适应粒度扩展 (Adaptive Granularity Expansion)

如果 NLI 模型对某个原子事实不确信 (即结果不是明显的“蕴含”) ,FIZZ 就会“缩小”视野。它不再只看单个文档句子,而是将窗口扩展到包含周围的句子 (例如,前一句和后一句) 。然后,它在这个更大的上下文块中重新评估该原子事实。

图 3: 在真实 AGGREFACT 数据集中粒度扩展和指代消解的效果。原子事实与文档句子的蕴含分数: (a) 仅指代消解,(b) 仅粒度扩展,(c) 两者皆有。

图 3 展示了结合指代消解和粒度扩展的威力:

  • 情况 (a): 仅使用指代消解,分数很低 (0.02) ,因为上下文是分裂的。
  • 情况 (b): 仅使用粒度扩展,分数仍然很低 (0.09) ,因为像“他”这样的代词是模棱两可的。
  • 情况 (c):两者都应用时,系统理解了“Chris Gunter” (指代消解) 并看到了完整的上下文 (粒度) ,从而得到了 0.83 的高验证分数。

最终评分

在检查所有事实并在必要时扩展上下文后,FIZZ 确定摘要的最终事实一致性分数。它采取保守的方法: 一个摘要的事实一致性取决于它最薄弱的一环。

公式 3 显示最终 FIZZ 分数计算为分数向量的最小值。

最终的 FIZZ 分数是原子事实向量中发现的 最小值 。 哪怕只有一个原子事实是幻觉,整个摘要的分数也会下降,这反映了对事实准确性的严格要求。

实验结果

研究人员在 AGGREFACT 基准上评估了 FIZZ,这是一个聚合了九个不同摘要评估数据集的综合数据集。他们将 FIZZ 与强大的基线模型进行了比较,包括 QuestEval、QAFactEval、AlignScore 以及基于 ChatGPT 和 GPT-4 的方法 (FactScore、FacTool) 。

性能比较

结果表明 FIZZ 达到了最先进的性能 (SOTA) 。

表 1: 在 AGGREFACT-FTSOTA 分割数据集上使用单一阈值的平衡准确率及 95% 置信区间。最高性能以粗体高亮显示,次高性能以此下划线标出。

表 1 中,FIZZ 在综合平均分上展示了最高的平衡准确率 (71.0) ,优于复杂的基于 LLM 的评估器。值得注意的是,“w/o GE” (无粒度扩展) 这一行显示的性能下降 (69.3) ,证明了“缩小”功能对准确性有显著贡献,特别是在 XSUM 数据集上,该数据集以需要多句推理的高度生成式摘要而闻名。

指代消解的影响

研究人员还隔离了指代消解的影响。他们测试了对文档、原子事实、两者都不或两者都应用消解时的性能。

表 6: 在粒度扩展过程之前,文档和原子事实的指代消解对 AGGREFACT-FTSOTA 分割的影响。

表 6 揭示了一个明显的趋势: 解决文档和原子事实中的指代问题能产生最高的性能 (69.2 对比原始文本的 64.8) 。这证实了解决代词问题对于 NLI 模型准确追踪文本中的实体至关重要。

粒度大小

我们应该缩小多少?论文探讨了粒度扩展的不同窗口大小。

表 5: AGGREFACT-FTSOTA 分割上粒度扩展中的粒度选择大小。s/it 表示 NLI 模型推理的每迭代秒数。

表 5 所示,增加窗口大小通常会提高性能,特别是对于 XSUM (需要更多上下文) 。然而,这里存在一个权衡。较大的窗口会增加计算成本 (s/it) 。作者发现,最大三个句子的窗口在准确性和速度之间提供了最佳平衡。

哪个 LLM 最适合放大?

FIZZ 依赖 LLM 将摘要分解为原子事实。LLM 的选择重要吗?

表 3: 使用相同提示但在不同 LLM 生成原子事实的情况下,FIZZ 在 AGGREFACT-FTSOTA 分割上的实验结果。Avg. Token Length 表示每个摘要的原子事实的平均总 token 数量。

令人惊讶的是,像 GPT-3.5-turbo 这样的大型模型并不是这项特定任务的最佳选择。 Orca-2 (一个 7B 参数的模型) 实现了最高的准确率 (71.0) 。作者将此归因于原子事实的简洁性。正如在“Avg. Token Length” (平均 Token 长度) 一列中所见,与 Zephyr 或 GPT-3.5 相比,Orca-2 生成了更短、更清晰的事实 (平均 81.4 个 token) 。更短的事实更容易被 NLI 模型有效地验证。

可解释性与局限性

FIZZ 最有力的论据之一是可解释性。传统评分只给你一个数字。FIZZ 提供了一个原子事实列表,每个事实都有一个验证分数。这允许用户准确地看到为什么摘要被拒绝——例如,“模型对主角的年龄产生了幻觉”。

然而,作者指出了原子事实方法的一个潜在缺点。

图 4: 原子事实级评估与句子级评估的缺点。数字表示通过将每个句子和原子事实与源文档逐句比较获得的最大 NLI 蕴含分数。

图 4 所示,有时过度分解句子会剥离必要的上下文。事实 *“The tweet was about a rocket landing” (这条推文是关于火箭着陆的) * 得到了低分 (0.33) ,因为将推文与着陆联系起来的具体上下文可能隐含在完整的句子中,但在隔离状态下丢失了。这可能导致假阳性,即有效的摘要被惩罚。

结论

FIZZ 代表了自动事实核查领域向前迈出的重要一步。通过结合 原子事实 (放大) 的精确度和 粒度扩展 (缩小) 的上下文意识,它解决了先前系统的两个主要故障模式: 遗漏细粒度错误和无法理解多句子上下文。

该方法优于现有的基线,并为 AI 生成文本的事实一致性提供了透明的视角。随着我们越来越依赖 LLM 来总结新闻、医疗报告和法律文档,像 FIZZ 这样稳健且可解释的指标对于确保我们能够信任所读内容将至关重要。