AI_writing/papers/15_storyline_trees.md

Storyline Trees: Hierarchical Representations for Long-Form Narratives


1. 要解决的问题

长篇叙事(小说、书籍)动辄十几万到二十万 token,远超模型常规上下文窗口。直接塞进长上下文模型、或用"分块 + agent"式检索,都难以保留叙事的层级结构与情节脉络:模型看不到"这一幕在整本书里处于什么位置、属于哪条主线"。作者要解决的是:如何用一种保留叙事骨架的表示,让模型在超长文本上既能把握全局又能精确取证。

2. 方法 / 核心思路

核心是把叙事组织成一棵 storyline tree(故事线树),叶子是场景、内部节点是逐层抽象的故事线摘要、根是全书概览。

(1)场景切分(构树的基本单元) - 用 LLM 逐章提取"场景(scene)"作为基本单元;每个场景以时间、地点、人物配置、动作的一致性变化为边界(这些要素发生切换即划新场景)。 - 每个场景带三件套:标题(title)、梗概(synopsis)、意义陈述(significance)。

(2)两种互补的构树方式 - Top-down(自顶向下、情节优先):先从全部场景集合里归纳出抽象的顶层故事线,再递归细化成更具体的子故事线。产出的树更紧凑、顶层更宽(顶层节点均值约 8–12 个)。 - Bottom-up(自底向上、场景优先):从场景出发,递归聚类 + 摘要成更高层节点,直到无法再有意义聚类为止。技术上用 UMAP 降维 + 高斯混合模型(GMM) 聚类;产出的树节点总数约为前者的 2–4 倍,集中在底层。 - 树深固定为 4 层(top-down 在所有数据集上统一 4 层)。

(3)自适应检索(adaptive retrieval) - 回答问题时,模型可先审视高层叙事结构,再按需下钻到场景级证据,迭代地"看结构→取证据",而不是一次性检索固定块。嵌入用 Qwen3-Embedding-8B。

叙事结构在这里被表示为层级 DAG/树:叶=原始场景文本,中层=聚类后的故事线摘要,根=全书概览;层间关系承载情节推进与主题线索。

3. 数据与实验

4. 主要结果(带数值)

Qwen3-30B 主干下(分数越高越好,三列为三个基准):

方法 DetectiveQA NovelQA LiteraryQA
Top-down 自适应检索 35.91 51.45 59.51
Bottom-up 34.06 50.99 58.64
Zero-shot 30.87 48.78 56.48
Tree of Agents 32.72 45.71 58.25
QwenLong-L1.5 32.21 45.34 57.76
MemAgent 27.35 40.06 52.65

5. 局限

6. 对做产品 / 工程的启发

关联