当前位置: 首页 > news >正文

【论文笔记】DOC: Improving Long Story Coherence With Detailed Outline Control

论文信息

论文标题: DOC: Improving Long Story Coherence With Detailed Outline Control - ACL 23
论文作者: Kevin Yang (UC Berkeley), Dan Klein (UC Berkeley), Nanyun Peng (UCLA), Yuandong Tian (Meta AI)
论文链接: https://arxiv.org/abs/2212.10077
代码链接: https://github.com/yangkevin2/doc-story-generation
文章领域: Long Story Generation, Long-form text generation, nlp


研究背景

长篇文本生成,尤其是长篇故事生成,面临着巨大的挑战 。尽管现代语言模型能够生成流畅的短文本,但在生成数千字的长篇故事时,往往会出现以下问题:

  • 局部流畅但全局不连贯: 段落内部语法正确,但整体情节逻辑断裂
  • 偏离初始规划: 即使有初始提纲,生成过程也会逐渐偏离
  • 角色与设定不一致: 角色性格、背景或世界观在故事中发生突变

先前的长篇文本生成的 SOTA 模型,也是本篇论文的重点参考及对比对象 Re3Re^3Re3 (Yang et al., 2022),虽然在分解写作流程方面有所创新,但仍存在几个常见失败模式 :

  • 缺乏足够的高层抽象规划,导致局部流畅但全局不连贯 。
  • 即使存在规划,也可能在生成过程中偏离大纲 。

本篇论文提出的 DOC 框架正是在 Re3Re^3Re3 的基础上针对这些不足而提出的。


DOC 框架

DOC框架复用了 Re3Re^3Re3 的 Planning - Drafting - Revision 高层写作结构,将创作负担从起草阶段转移到规划阶段,通过更详细的规划和更精细的控制来解决长篇故事连贯性问题。DOC 包含两个组件:

  1. 详细大纲生成器 (Detailed Outliner)
  2. 详细控制器 (Detailed Controller)

在这里插入图片描述

特征Re3Re^3Re3DOC
提纲详细程度三点式简略提纲层次化详细提纲(深度可达3)
提纲生成方式一次性生成广度优先递归扩展
控制机制基本无控制详细控制器(基于FUDGE)
人机协作潜力逐段交互高层次规划阶段交互(人为修改 Outline)
平均故事长度~2000字~3500字

在这里插入图片描述


详细大纲生成器 (Detailed Outliner)

  • 目的: 模仿人类作者在撰写长篇文档前迭代细化和扩展大纲的过程 。
  • 工作原理:
    • 它采用结构化提示程序,以广度优先的方式递归生成一个分层、可任意精细化的大纲树。
    • 为了创建大纲中的新条目,它会生成多个候选事件,并通过过滤和重新排序来选择最佳的事件。
    • 它还会为每个大纲条目明确表示故事的 场景 (setting)角色 (characters)

可以这么理解,原来 Re3Re^3Re3 的 Outline 是我们认知里面的极度精简的 Outline,这样的 Outline 只能够以一种高度的模糊的方法把故事呈现出来,那生成模型基于这样的模糊的,缺少足够限制条件的 Outline 去生成的故事自由度会很高,不容易受控制,会导致生成的剧情连贯性、前后设定错误等问题。那作者的解决方法为给模糊的 Outline 加上足够的限制,也就是给 Outline 加上细节的描述,而这一过程是与人类作者在撰写长篇文档前迭代细化和扩展大纲的过程高度相似。

广度优先扩展机制 Breadth-First Expansion

  • 树状结构视角: 将提纲视为树T,从根节点r开始进行广度优先扩展
  • 递归生成: 先生成所有深度1节点的子节点(深度2),再生成所有深度2节点的子节点(深度3)
  • 实验设置: 提纲深度设为3,分支因子限制在2-5之间,生成平均3500字的故事

在这里插入图片描述

事件候选生成流程

  1. 事件候选生成:

    • 为每个新节点生成可能的事件描述
    • 使用结构化提示,整合该节点所有祖先节点及其子节点的上下文
    • 通过InstructGPT-175B生成候选事件
  2. 过滤与重排序:

    • 筛选与上下文相关且连贯的事件
    • 使用重排序器选择最佳候选
    • 避免重复和不合逻辑的事件(如附录中所示,关闭过滤和重排序会导致问题)
  3. 设定与角色检测:

    • 为每个提纲项自动检测相关设定
    • 识别并追踪相关角色
    • 避免 Re3Re^3Re3 中因未显式跟踪导致的设定突变问题
# 详细提纲示例
1. Sarah learns to control her powersa. Sarah learns to cast spellsi. Sarah learns to cast healing spellsii. Sarah learns to cast offensive spellsb. Sarah learns to control her emotions
2. Sarah confronts the villaina. Sarah tracks down the villainb. Sarah battles the villaini. Sarah uses healing spells to save othersii. Sarah uses offensive spells against the villain
3. Sarah saves her father

这种层次化结构提供了比Re3的三点式提纲(“Sarah learns powers → confronts villain → saves father”)更详细的指引。


详细控制器 (Detailed Controller)

目的: 在故事生成过程中,确保对详细大纲的忠实度 。

控制机制设计

  • 基于FUDGE的实现: 采用OPT-350m作为控制器,根据FUDGE (Yang and Klein, 2021) 的FUDGE方法
  • 对比训练程序: 将摘要与段落前缀对齐,确保内容相关性
  • 流畅的困难负样本: 鼓励长输出不仅在开始时切题,而且在整个过程中保持相关性

动态控制强度调整

  • 0控制强度起步:对每个提纲项开始时使用0控制强度
  • 逐步增加强度:随着后续起草步骤逐步增加控制强度
  • 早期停止机制:通过重排序器检测当前提纲项的起草是否完成
  • 平衡创造性与约束:避免控制过强导致内容狭窄重复,控制过弱导致偏离提纲

结构化提示的改进

在这里插入图片描述

DOC的提示相比 Re3Re^3Re3 增加了四个关键元素(图2所示):

  • 角色发展随时间变化(红色): 追踪角色在故事中的成长变化
  • 基于提纲叶节点的更详细事件(橙色): 提供具体的情节指导
  • 未来上下文(绿色): 提供后续情节的暗示,但受控避免提前剧透
  • 改进的设定和角色信息(紫色): 显式列出当前场景的设定和角色

实验部分

主要实验

评估方法

  • 作者进行了全面的人工评估,比较了DOC与先前最先进方法Re3的性能,评估维度包括:
    • 情节连贯性(Coherence):故事整体是否连贯合理
    • 提纲相关性(Relevance):故事是否忠实于给定提纲
    • 有趣性(Interestingness):故事是否引人入胜

在这里插入图片描述

实验结果

  • 相比 Re3Re^3Re3,DOC在所有评估维度上均有显著提升:
    • 情节连贯性:提高22.5%(绝对增益)
    • 提纲相关性:提高28.2%
    • 有趣性:提高20.7%
  • 消融实验表明两个组件都至关重要:
    • 移除详细提纲生成器(DOC-NOOUTLINE)导致连贯性从73.5%降至61.8%,相关性从64.7%降至41.2%
    • 移除详细控制器(DOC-NOCONTROL)导致相关性从64.7%降至52.0%
  • 详细相关性评估显示,详细控制器显著提高了对提纲叶节点的忠实度:
    • DOC:58.5%的段落忠实于相应提纲叶节点
    • DOC-NOCONTROL:仅37.8%

在这里插入图片描述


消融实验

各组件重要性

  • 详细提纲生成器:对提纲相关性贡献最大(+23.5%)
  • 详细控制器:同样对提纲相关性贡献显著(+21.5%),但可能略微降低有趣性
  • 协同效应:两个组件共同作用时效果最佳

在这里插入图片描述

详细相关性分析

  • 低层次提纲遵循问题:DOC有时无法遵循详细提纲的低层次部分
  • 提纲质量问题:提纲叶节点在细节层次上常常不一致

人机协作实验

实验设计

  • 人类作者:提供初始故事前提
  • 编辑过程:
    • 人类编辑初始提纲(5分钟)
    • DOC:进一步扩展为深度2和深度3提纲,每步后允许5分钟编辑
    • Re3Re^3Re3:额外10分钟编辑初始提纲
    • 总编辑时间均为15分钟

评估结果

  • 四项人机交互指标:至少四分之三的评估者认为DOC优于Re3
  • 提纲忠实度:DOC的故事被认为更忠实于情节提纲
  • 作者意图符合度:DOC更符合作者的原始创作意图

在这里插入图片描述

总结

DOC框架通过详细提纲生成器和详细控制器的双重机制,显著改善了长篇故事生成的连贯性。其核心贡献在于:

  1. 将创作负担从生成阶段转移到规划阶段:通过层次化详细提纲提供更可靠的全局指引
  2. 实现精细的生成控制:确保生成内容忠实于详细提纲,同时保持创造性
  3. 建立高效的人机协作模式:在高层次规划阶段与人类互动,而非逐段干预

该论文方法存在下面的问题:

  • 低层次提纲遵循:无法始终严格遵循提纲的所有细节
  • 事实一致性:角色名称、性别等基本事实可能出现不一致
  • 提纲质量波动:提纲叶节点在细节层次上不一致
  • 风格问题:重复使用角色全名等小问题
  • 非事实一致性方面:未解决故事节奏一致性或文学手法(如预示)等

值得思考的是:

  • 能力强的llm 经过层次化的设计后,可以增强长文本生成能力。
  • DOC 框架的设计表明,光靠提示词实现的端到端长文本生成存在局限性,结构化的规划系统对长文本生成有很大的帮助。
  • DOC 框架的能力可以通过更换更强大的 LLM 来实现能力的提升。
  • DOC 的实验结果还是说明,依靠 Planning 来进行的文本生成存在其局限性,仍然会出现连贯性的问题,无法避免。
  • 文本生成的人机交互协作模式或许可以在更高的层次进行,但 DOC 的协作方法可能还是太初级可以进一步探讨。
  • DOC 框架是基于 Re3Re^3Re3 的工作,连贯性的、阶段性的工作思路值得借鉴。

论文的附录中提供了许多的完整案例,可以自行查看。
值得一提的是 本篇论文的开源代码提升空间很大。很难直接使用。

http://www.xdnf.cn/news/1292167.html

相关文章:

  • Excel多级数据结构导入导出工具
  • 2025 环法战车科技对决!维乐 Angel Glide定义舒适新标
  • [AI React Web] E2B沙箱 | WebGPU | 组件树 | 智能重构 | 架构异味检测
  • 面试实战 问题二十九 Java 值传递与引用传递的区别详解
  • 汽车免拆诊断案例 | 2017 款丰田皇冠车行驶中加速时车身偶尔抖动
  • 【国内电子数据取证厂商龙信科技】RAID存储技术
  • 浅谈TLS 混合密钥交换:后量子迁移过渡方案
  • 汽车高位制动灯难达 CIE 标准?OAS 光学软件高效优化破局
  • 【分布式 ID】一文详解美团 Leaf
  • 服务器通过生成公钥和私钥安全登录
  • Spring cloud集成ElastictJob分布式定时任务完整攻略(含snakeyaml报错处理方法)
  • 华为悦盒EC6108V9-1+4G版-盒子有【蓝色USB接口】的特殊刷机说明
  • 机器翻译:学习率调度详解
  • 2025 电赛 C 题完整通关攻略:从单目标定到 2 cm 测距精度的全流程实战
  • 图论理论部分
  • 云计算-OpenStack 实战运维:从组件配置到故障排查(含 RAID、模板、存储管理,网络、存储、镜像、容器等)
  • Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
  • amis表单较验
  • 数据结构:用数组实现队列(Implementing Queue Using Array)
  • Go 语言函数详解:从基础到高阶的行为逻辑构建
  • 洛谷 小 Y 拼木棒 贪心
  • 长篇音频制作(小说自动配音)完整教程
  • 15.卷积神经网络
  • 硬件工程师八月实战项目分享
  • 笔趣阁追书小说
  • Unity、C#常用的时间处理类
  • esp32s3 驱动pcm5102a 的 wav播放器,mqtt控制
  • Flutter网络请求实战:Retrofit+Dio完美解决方案
  • 微服务单元测试组件
  • 在CentOS 7上配置Android USB网络共享方式的方法