这篇论文非常有意思,也非常有用,讲述了如何利用LLM撰写高质量的长篇文章。
https://arxiv.org/html/2402.14207v2
项目:github.com/stanford-oval/storm
Demo:storm.genie.stanford.edu

摘要:
我们研究了如何应用大型语言模型来从头开始撰写有根据的、有组织的长篇文章,其广度和深度可与 Wikipedia 页面相媲美。这个尚未被充分探索的问题在写作前阶段提出了新的挑战,包括如何研究主题以及在写作前准备大纲。
我们提出了 STORM,一个写作系统,用于通过检索和多角度提问来合成主题大纲。STORM 通过以下方式模拟写作前阶段:(1) 在研究给定主题时发现不同的视角,(2) 模拟对话,其中带有不同视角的写作者向基于互联网可信来源的主题专家提出问题,(3) 策划收集到的信息以创建大纲。
为了评估,我们策划了 FreshWiki,一个包含最近高质量 Wikipedia 文章的数据集,并制定了大纲评估标准来评估写作前阶段。我们还收集了经验丰富的 Wikipedia 编辑的反馈。与由大纲驱动的检索增强型基线生成的文章相比,STORM 的文章在组织性方面被认为更有序(绝对增加了 25%),在覆盖范围方面更广泛(增加了 10%)。
专家反馈还帮助我们识别了生成有根据的长篇文章方面的新挑战,例如来源偏见转移和无关事实的过度关联。
背景
作者设定了研究的背景,介绍了 STORM 系统,以及如何通过模拟人类写作过程的前期阶段来提高自动生成 Wikipedia 类文章的质量。主要讨论了以下几个方面:
-
写作挑战: 作者指出,使用大型语言模型(LLMs)从头开始撰写类似于 Wikipedia 的长篇文章存在挑战,尤其是在写作前的准备阶段,这包括如何对主题进行研究以及如何准备文章大纲。
-
现有方法的局限性: 作者讨论了直接提示(Direct Prompting)等简单方法在规划能力上的局限性,并指出大型语言模型(LLMs)在生成详细大纲或整篇文章方面的潜力。
-
写作过程的模拟: 作者强调了写作过程的模拟,特别是研究和规划阶段的重要性,这是人类写作过程中不可或缺的一部分。
-
STORM 系统的介绍: 作者提出了 STORM(Synthesis of Topic Outlines through
Retrieval and Multi-perspective Question Asking),这是一个自动化写作前阶段的系统,它通过检索和多角度提问来合成主题大纲。 -
研究方法: STORM 通过模拟多轮对话来发现不同视角,并基于互联网上可信的来源提出问题,以此来进行深入的研究。
-
数据集和评估: 为了评估 STORM 的效果,作者创建了 FreshWiki 数据集,该数据集包含最新的高质量 Wikipedia 文章,并制定了评估大纲质量的指标。
-
编辑反馈: 文章还提到了从经验丰富的 Wikipedia 编辑那里收集反馈,以帮助识别生成有根据的长篇文章时面临的新挑战。

图1(Figure 1)用来说明如何从头开始探索撰写类似 Wikipedia 的文章。图1 展示了写作前的阶段,这是在实际撰写文章之前的一个重要步骤。以下是图1所传达的关键信息:
-
写作前的阶段(Pre-writing Stage):
在这个阶段,作者需要进行主题研究和规划,以准备文章的大纲。这是写作过程的一个关键部分,但在以往的研究中往往被忽视或简化。 -
直接提示(Direct Prompting)与 STORM 对比: 图1 可能展示了直接提示方法与 STORM 方法的对比。直接提示是一种简单的方法,它可能在规划能力上有所限制。而 STORM 方法则通过模拟对话和多角度提问来进行更深入的主题研究。
-
视角引导的问题提问(Perspective-Guided Question Asking): STORM 方法通过视角引导的问题提问来探索主题。这意味着系统会从不同的角度出发,提出与主题相关的问题,以促进更全面的研究。
-
模拟对话(Simulated Conversations): STORM 通过模拟写作者与主题专家之间的对话来生成问题和答案。这种模拟对话有助于深入挖掘主题的各个方面。
-
大纲创建(Outline Creation): 在进行了充分的研究和模拟对话之后,STORM 会利用收集到的信息来创建一个文章大纲,这个大纲将指导全文的撰写。
图1 表示可能包括流程图或示意图,用以展示上述步骤的顺序和它们之间的关系。
主要方法
文章第三章介绍了主要方法。
文章通过有效的提问(§ 3.1, § 3.2)和创建大纲(§ 3.3)来自动化写作前阶段的研究给定主题的过程。大纲将基于收集的参考资料(§ 3.4)扩展成一篇全长文章。图 2 给出了 STORM 的概览。
3.1 Perspective-Guided Question Asking
Rohman (1965) 将写作前的阶段定义为写作过程中的发现阶段。与商业中的利益相关者理论(Freeman et al., 2010)类似,不同利益相关者会优先考虑公司的不同方面,拥有不同视角的个体在研究同一主题时可能会集中于不同的方面,并发现多方面的信息。此外,特定的视角可以作为先验知识,引导个体提出更深入的问题。例如,一个活动策划者可能会询问关于“2022年冬季奥运会开幕式”的“交通安排”和“预算”,而普通人可能会询问关于该事件基本信息的更一般性问题(图 1 (A))。
给定输入主题 t,STORM 通过调查类似主题的现有文章来发现不同的视角,并使用这些视角来控制提问过程。具体来说,STORM 提示一个大型语言模型(LLM)生成一个相关主题列表,然后提取它们对应的 Wikipedia 文章的目录(如果可以通过 Wikipedia API 获取这些文章),这些目录被串联起来创建一个上下文,以提示 LLM 识别 N 个视角 P = {p1, …, pN},这些视角可以共同为关于主题 t 的全面文章做出贡献(图 2 Circled2)。为了确保也涵盖关于 t 的基本信息,我们将 p0 作为“专注于广泛涵盖有关主题基本事实的基本事实作家”加入到 P 中。每个视角 p ∈ P 都将被用来在并行过程中指导 LLM 提问。
3.2 Simulating Conversations
问题和提问理论(Ram, 1991)强调,现有问题的答案有助于更全面地理解主题,但它们通常同时引发新问题。为了启动这一动态过程,STORM 模拟了一个 Wikipedia 作家和一个主题专家之间的对话。在对话的第 i 轮中,由 LLM 驱动的 Wikipedia 作家基于主题 t、其分配的视角 p ∈ P 和对话历史 {q1, a1, …, qi-1, ai-1} 生成一个单一问题 qi,其中 aj 表示模拟专家的回答。对话历史使 LLM 能够更新对主题的理解并提出后续问题。在实践中,我们将对话限制在最多 M 轮。
为了确保对话历史提供事实信息,我们使用互联网上可信的来源来确定对每个查询 qi 的答案 ai。由于 qi 可能很复杂,我们首先提示 LLM 将 qi 分解为一组搜索查询(图 2 Circled4),然后根据 Wikipedia 指南使用基于规则的过滤器评估搜索结果以排除不可信的来源(图 2 Circled5)。最后,LLM 综合可信来源生成答案 ai,这些来源也将被添加到 R 中,用于全文生成(§ 3.4)。
3.3 Creating the Article Outline
在通过 N+1 轮模拟对话(表示为 {C0, C1, …, CN})全面研究了主题之后,STORM 在实际写作开始之前创建了一个大纲。为了充分利用 LLM 的内部知识,我们首先提示模型仅给定主题 t 生成一个草稿大纲 OD(图 2 Circled7)。OD 通常提供一个通用但有组织的框架。随后,LLM 被提示使用主题 t、草稿大纲 OD 和模拟对话 {C0, C1, …, CN} 来完善大纲(图 2 Circled8)。这产生了一个改进的大纲 O,将用于制作完整文章。
3.4 Writing the Full-Length Article
基于在写作前阶段收集的参考资料 R 和开发的大纲 O,可以逐节撰写完整文章。由于通常不可能将整个 R 放入 LLM 的上下文窗口中,我们使用节标题及其所有级别子标题检索基于从 Sentence-BERT 嵌入计算的语义相似性的相关文档。掌握相关资料后,LLM会被提示生成带有引文的章节。一旦所有节都生成了,它们就被连接起来形成完整文章。由于节是并行生成的,我们提示 LLM 与连接的文章一起删除重复信息以提高连贯性。此外,为了符合 Wikipedia 的风格规范,LLM 也被用来综合整篇文章的摘要,形成文章开头的引言部分。
关键要点提炼:
- STORM 方法: 自动化写作前阶段,通过有效的提问和创建大纲来研究给定主题。
- 视角引导的问题提问: 使用大型语言模型(LLM)基于不同视角生成问题,以促进更全面的主题研究。
- 模拟对话: 通过模拟 Wikipedia 作家和主题专家之间的对话来提出和回答关于主题的问题。
- 创建文章大纲: 利用 LLM 的内部知识和通过对话收集的信息来创建一个组织良好的文章大纲。
- 撰写全长文章: 使用收集的参考资料和大纲逐节撰写文章,并使用 LLM 来提高文章的连贯性和风格一致性。
- 参考资料 R 和大纲 O: 在写作前阶段收集的资料和创建的大纲将用于生成全文。
- 语义相似性检索: 使用 Sentence-BERT 嵌入来检索与节标题和子标题语义相似的参考资料。
- 连贯性和风格: 通过并行生成节并在最后合成全文,以及使用 LLM 来生成引言部分,以符合 Wikipedia 的风格规范。

图2: STORM 的概览,自动化了写作前阶段。从给定主题开始,STORM 通过调查相关 Wikipedia 文章来识别涵盖主题的不同视角(1-2)。然后,它模拟了一个 Wikipedia 作者与基于可信赖在线来源的专家之间的对话,作者根据给定的视角提出问题(3-6)。最终大纲是基于 LLM(大型语言模型)的内在知识和从不同视角收集的对话来策划的(7-8)
159

被折叠的 条评论
为什么被折叠?



