StoryWriter 与 ScriptWriter 论文结构化摘要

生成日期: 2026-06-14 标签: paper-summary, story-generation, script-generation, multi-agent, narrative-guided


PAPER 1: StoryWriter — 多智能体长故事生成框架

problem(核心挑战)

长故事生成面临两大挑战:

  1. 语篇连贯性 (discourse coherence):长文本需要保持情节一致性、逻辑连贯性和完整性,但LLM在生成长文本时容易丢失远距离关键信息(如事件、人物及关系)。
  2. 叙事复杂度 (narrative complexity):人类写作具有交织性和吸引力,但LLM生成的故事往往同质化严重,缺乏多样性和情节发展。现有模型在超过1000词的故事生成上表现显著下降。

solution(解决方案:3个Agent协作)

1. Outline Agent(大纲生成智能体)

  • EventSeed:根据给定前提序贯生成事件,每个事件包含时间、地点、人物、关系等结构化信息,构建事件图谱。
  • EventValidator:持续监控和评估已生成大纲,提供反馈确保事件合理性和叙事连贯性。
  • 与传统描述性句子不同,本方法将大纲结构化为事件元组序列,增强可控性和逻辑一致性。

2. Planning Agent(规划智能体)

  • SubTasker:将高层事件分解为细粒度的子事件。
  • Weaver:采用非线形叙事(NLN)策略,基于Genette叙事顺序理论,将子事件以非时间顺序分配到不同章节,实现倒叙、预叙等技巧,增强叙事多样性和读者参与度。

3. Writing Agent(写作智能体)

  • Coordinator:采用ReIO(Re-write Input and Output)机制。输入端动态压缩写作历史,仅保留与当前事件相关的上下文,解决LLM长上下文处理中的上下文碎片化和注意力衰减问题。输出端评估并重写生成文本以保持结构和风格一致。
  • FinalWriter:负责最终叙事文本合成,侧重风格统一和文本质量。

三者交互流:Outline Agent输出事件大纲 → Planning Agent将事件分解为子事件并跨章节分配 → Writing Agent逐章节生成并迭代优化。

evaluation(评估指标与关键数据)

  • 数据集:MoPS(7.6k前提,1k故事)
  • 评估维度:6维 Likert 1-5分(Relevance, Coherence, Empathy, Surprise, Creativity, Complexity)
  • 评估方式:人工评估(托福≥108分研究生)+ GPT-4o自动评估
  • 基线方法:DOC, Agents’ Room, GPT-4o-mini

主要结果 (Human-Eval Avg):

方法平均分平均长度
StoryWriter4.28,081词
Agents’ Room3.83,134词
DOC3.72,373词
GPT-4o-mini3.61,078词
  • LONGSTORY数据集:用StoryWriter生成5,500篇高质量长故事,平均8,000词
  • 微调模型效果:StoryWriterGLM 综合得分83.7 vs GPT-4o 67.4;StoryWriterLlama 73.4
  • 消融实验:移除事件大纲 → 平均分从4.3降至2.5;移除NLN规划 → 复杂度显著下降

strengths(优势)

  • 结构化事件大纲机制保证长故事的连贯性,远优于简单描述性大纲
  • NLN非线形叙事策略显著提升叙事多样性和内容复杂度
  • ReIO动态压缩机制有效解决了LLM长上下文衰减问题,支持8,000+词输出
  • 生成的数据集LONGSTORY可蒸馏到8B小模型,使其在2,000词以上故事上超越GPT-4o
  • 全开源(代码、模型、数据)

weaknesses(局限)

  • 仅使用GPT-4o-mini作为骨干模型(受限于经济成本),未测试更强模型
  • 仅支持英文,未覆盖多语言
  • 主要针对小说类故事,未探索剧本、诗歌、散文等其他艺术风格
  • 故事越长连贯性仍会下降
  • 多Agent调用的计算和API成本较高

pipeline(流程简述)

前提输入 → 【Outline Agent】EventSeed生成事件图 → EventValidator验证 → 【Planning Agent】SubTasker分解子事件 → Weaver跨章节非线形分配 → 【Writing Agent】Coordinator压缩历史(ReIO-Input) → FinalWriter生成子故事 → Coordinator重写优化(ReIO-Output) → 迭代至完成 → 最终故事


PAPER 2: ScriptWriter — 叙事引导的剧本生成

  • 论文: ScriptWriter: Narrative-Guided Script Generation
  • 机构: 蒙特利尔大学, 微软小冰, 中国人民大学, 北京电影学院
  • 链接: arXiv:2005.10331v2, https://github.com/DaoD/ScriptWriter

problem(核心挑战)

传统对话系统仅使用上下文(前序对话)来驱动对话生成,但叙事(narrative)扮演着不同的角色:叙事覆盖整个故事或对话会话的全部内容,一个好的对话应覆盖叙事中提到的所有方面,而非仅回应当前上下文。此外,缺乏叙事引导的对话/剧本生成数据集。本工作以电影剧本生成为特殊案例,研究如何用叙事引导台词选择。

solution(解决方案)

ScriptWriter模型:基于注意力机制的表示-匹配-聚合框架。

1. 多粒度表示(Representation)

  • 使用堆叠的self-attention和cross-attention块分别编码叙事、上下文台词、候选回复
  • cross-attention捕获叙事-台词、叙事-回复、台词-回复之间的语义依赖

2. 更新机制(Updating Mechanism)

  • 核心创新:持续追踪叙事中哪些信息已被前面的台词表达、哪些尚未表达
  • 通过计算每条台词与叙事的余弦相似度矩阵,用可学习的衰减因子γ(最优值约0.647,即表达后保留约35%信息)降低已表达信息的权重
  • 使模型在后续选择时聚焦于叙事中尚未覆盖的部分

3. 三维匹配与聚合(Matching & Aggregation)

  • 上下文-叙事匹配:隐式追踪叙事覆盖状态
  • 叙事-回复匹配:确保回复与叙事一致
  • 上下文-回复匹配:保证回复适合对话上下文
  • 通过3D/2D CNN + MLP融合三类匹配特征,输出排序分数

GraphMovie数据集

  • 从GraphMovie网站爬取IMDB top100电影的用户叙事描述
  • 标注员观看电影,标注叙事段落对应的台词起止时间,从字幕文件提取
  • 共16,109个会话,平均叙事25词,平均4.7句台词/会话
  • 训练集含2候选(1正1负),验证/测试集含10候选(1正9负),负样本通过Solr检索生成

evaluation(评估指标与关键数据)

  • Turn-level(轮次级): R10@1, R10@5, MRR
  • Session-level(会话级): Pstrict(位置严格匹配), Pweak(位置宽松匹配)
  • 基线方法: MVLSTM, DL2R, SMN, DAM, DUA

主要结果:

方法R10@1PstrictPweak
ScriptWriter0.3650.3730.383
DAM (次优)0.2400.2260.236
DUA0.2370.2230.251
  • 所有改进统计显著(p ≤ 0.01)
  • ScriptWriter在Pweak→Pstrict时性能下降远小于基线,表明其能更准确地在正确位置选择回复
  • 消融实验:移除叙事-回复匹配 → 性能下降最大(R10@1降至0.246);移除更新机制 → Pstrict降至0.338

strengths(优势)

  • 首个将叙事作为独立引导信号(而非简单上下文扩展)用于对话生成的工作
  • 更新机制有效追踪叙事覆盖,γ参数实现了连续衰减而非硬性完全删除
  • 构建了首个叙事引导剧本生成的公开数据集GraphMovie
  • 叙事比上下文更有助于确定”接下来该说什么”(消融实验证明)
  • 跨机构合作(学术+工业+艺术院校),方法论扎实

weaknesses(局限)

  • 仅支持检索式对话(从候选池选择),不支持生成式(直接生成新台词)
  • 仅针对电影剧本场景,泛化到通用对话需额外数据
  • 未考虑叙事描述中的顺序信息,可能对按顺序生成对话有帮助
  • 数据集仅100部电影,规模有限;叙事质量参差不齐(用户自由贡献)
  • 模型仅测试3层注意力堆栈(资源限制)
  • 论文发表较早(2020),未整合预训练语言模型(BERT/GPT等)

pipeline(流程简述)

输入(叙事 + 上下文台词序列 + 候选回复) → 【Representation】多级self-attention + cross-attention编码 → 【Updating】逐台词计算与叙事的匹配度,衰减已表达信息 → 【Matching】三路匹配(上下文-叙事、叙事-回复、上下文-回复) → 【Aggregation】3D CNN聚合context匹配 + 2D CNN聚合narrative-response匹配 → MLP输出匹配分数 → 选择最高分回复


两篇论文对比

维度StoryWriterScriptWriter
任务长故事生成叙事引导剧本台词选择
方法多Agent协作 (生成式)注意力匹配+更新机制 (检索式)
叙事角色大纲/规划作为中间产物叙事作为外部引导信号
核心创新事件图+NLM+ReIO叙事覆盖追踪更新机制
数据MoPS + 自建LONGSTORY自建GraphMovie
输出长度8,000词级别单句台词级别
年份20252020

此文件夹下有0条笔记。