跳转至

Finding Flawed Fictions:通过情节漏洞检测评估语言模型的复杂推理

跳转:原文 EN · 译文 ZH · 原文 PDF

笔记时间:2026-07-28 评分:4 领域:narrative 子领域:evaluation 方法:benchmark, synthetic-data, plot-hole-detection 类型:benchmark

元信息

  • arXiv:2504.11900v3
  • 日期:2025-12-18
  • 会议:COLM 2025
  • 作者:Kabir Ahuja、Melanie Sclar、Yulia Tsvetkov
  • 机构:University of Washington,Paul G. Allen School of Computer Science & Engineering
  • 本地 PDF:paper.pdf(70 页)
  • 英文全文:main_en.md
  • 中文译文:main_zh.md
  • 可追溯源码:source/colm2025_conference.tex

定位

这篇论文用“寻找故事中的情节漏洞”评估语言模型的复杂推理。任务要求模型不只判断故事有没有 continuity error,还要同时找出后文的错误句和前文中被它矛盾的事实。由于两处证据可能相距很远,模型必须维护故事状态、检索相关事实并完成双向定位。

作者构建两个配对数据集:FlawedFictions 含 207 个注入漏洞的故事及 207 个对应无漏洞故事,共 414 条,平均 731 词;FlawedFictionsLong 含 97 个有漏洞和 103 个无漏洞故事,共 200 条,平均 2,703 词。

从原故事构造可控情节漏洞并进行评估

图 1(论文方法总览)。 FlawedFictionsMaker 先识别故事前段的重要事实,再构造与之相反的反事实,并据此重写后续情节。这样,数据生成过程天然知道“哪条旧事实被哪句新文本矛盾”,可以评估模型是否真的找对证据,而不只是猜中 Yes/No。

动机

现有长上下文 benchmark 常把检索到一个事实等同于理解,或者依赖短小、局部的逻辑题。真实故事中的 continuity error 更难:

  1. 相关事实可能隔着大量无关叙事内容。
  2. 矛盾通常不是词面重复,而是事件、人物状态和世界知识之间的语义冲突。
  3. 只看二元准确率可能掩盖侥幸猜测;模型必须指出矛盾两端才算形成完整证据链。

直接收集自然情节漏洞又很难获得可靠、细粒度的标注。因此作者选择从高质量人类故事出发,以受控方式注入已知漏洞,再由人工审核保留自然且确实矛盾的样本。

方法

1. FlawedFictionsMaker

数据构造流程为:

  1. 把原故事划分为三幕。
  2. 从第一幕抽取候选重要事实 \(\phi\),并按其对后续情节的重要性评分。
  3. 为选中的事实构造反事实 \(\neg\phi\)
  4. \(\neg\phi\) 为条件重写第二、三幕,再与未改动的第一幕拼接,制造跨段 continuity error。
  5. 用自动检查过滤明显失败、表述不自然或没有形成矛盾的候选。
  6. 交给至少三名 Prolific 标注员审核,只保留多数标注者确认存在漏洞的故事。

与任意生成一个“坏故事”相比,这种三幕拼接保留了原故事的开端和整体文风,也使漏洞的两个端点可追踪。

2. 分类与双向定位

模型首先完成二元分类:故事是否包含 continuity error。若有,还要输出两个句子集合:

  • \(S_{\mathrm{Error}}\):包含新错误、蕴含 \(\neg\phi\) 的句子。
  • \(S_{\mathrm{Contr}}\):前文中被矛盾、蕴含 \(\phi\) 的句子。

严格指标 CEEval-Full 要求三件事同时满足:分类正确;\(S_{\mathrm{Error}}\) 至少命中一个标注错误句;\(S_{\mathrm{Contr}}\) 至少命中一个标注冲突句。它比 Accuracy 更能区分真正定位矛盾与只猜标签的模型。

实验

1. 短故事已接近人类,长故事仍明显困难

论文 Table 1 的代表结果如下:

模型 FlawedFictions Accuracy FlawedFictions CEEval-Full Long Accuracy Long CEEval-Full
Claude 3.5 Sonnet 0.76 0.67 0.56 0.35
Claude 3.5 Sonnet + verifier 0.74 0.68 0.60 0.50
Human 0.76 0.68
o1 medium 0.70 0.65 0.61 0.53
GPT-4o CoT 0.64 0.58 0.56 0.42

在平均 731 词的 FlawedFictions 上,Claude 3.5 Sonnet 的表现已接近论文的人类基线;长度增加到平均 2,703 词后,最佳 Long CEEval-Full 只有 0.53。简单 entailment baseline 的 CEEval-Full 仅 0.04,说明任务不能被压缩成孤立的句对矛盾识别。

2. 更多推理 token 没有稳定换来更好定位

推理 token 数与 CEEval-Full 的关系

图 2(test-time compute)。 横轴是模型使用的 token 数,纵轴是完整矛盾定位分数。不同设置没有呈现稳定的“想得越久越好”;o1 和 o3-mini 提高 reasoning effort 时甚至可能退化。

这项结果应解读为:当前模型的瓶颈不只是计算预算,还包括能否在长叙事中选择正确事实、保持状态并形成闭合证据链。盲目延长 CoT 可能产生更多无关搜索,而不是更准确的定位。

3. 模型生成文本更容易出现 continuity error

不同来源故事的 continuity error 检出率

图 3(自然生成质量分析)。 在原作故事上,摘要与现代改编的错误检出率分别为 0.31 和 0.14;GPT-4o-mini 为 0.59 / 0.53,GPT-4o 为 0.45 / 0.48,Claude 3.5 Haiku 为 0.56 / 0.27,Claude 3.5 Sonnet 为 0.49 / 0.36。不同模型和改写任务存在差异,但总体上 LLM 文本比人类原作更容易被检测出连续性错误。

这个附加实验把 benchmark 的意义从“模型会不会找漏洞”延伸到“模型自己写故事时是否容易制造漏洞”:检测能力和生成可靠性是相关但不同的两个问题。

局限

  • Long split 仍少于 4,000 词,远短于电影剧本、长篇小说和系列作品,不能代表真正超长叙事中的全部困难。
  • 合成流程依赖 GPT-4o / GPT-4-turbo,并且仍需昂贵的人工审核;自动生成并没有消除标注成本。
  • Benchmark 只关注 continuity error,不覆盖巧合、情节便利等其他“廉价情节技巧”。
  • 数据主要来自英语文学叙事,跨语言和跨文化泛化尚未验证。
  • 注入流程还不能精细控制漏洞的类型与难度,数据分布可能带有生成模型和过滤器的偏差。
  • 人类基线仅使用 50 条样本和 9 名英语专业本科生,不能视为稳定的人类能力上限。

关系

  • Finding Flawed Fictions 通过受控注入得到明确的矛盾两端,重点测试模型能否检测一个已知漏洞并给出证据。
  • Lost in Stories 让 LLM 生成完整长篇故事,再检测自然出现的五类一致性错误,重点分析生成可靠性和错误增长规律。
  • LiteReason 使用 Flawed Fictions 的二元判断作为 RLVR 训练任务,回答“专项 RL 与 latent reasoning 能否学会并压缩推理”。它没有按 CEEval-Full 同时评估双向定位,因此分数不能直接和原 benchmark leaderboard 横向比较。

结论

这篇论文的关键设计是把情节漏洞检测从一个 Yes/No 题升级成可核验的双向证据任务。结果表明,短故事上的高准确率并不意味着模型掌握了长叙事推理:文本变长后,完整定位显著下降,增加推理 token 也没有稳定修复问题。它因此既是长上下文推理 benchmark,也是一种检查故事生成系统是否真正维护人物和世界状态的方法。