使用大型语言模型协助从头开始编写类似维基百科的文章
这篇文档是一篇关于如何利用大型语言模型(LLMs)来撰写长篇、有根据且组织良好的文章的研究论文,这些文章在广度和深度上与维基百科页面相当。这个问题尚未被充分探索,在写作前的阶段提出了新的挑战,包括如何在写作前研究主题并准备概要。我们提出了一个名为STORM的写作系统,全称为“**通过检索和多视角提问合成主题概要**”(Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking)。
STORM通过以下方式模拟写作前阶段:
(1)在研究给定主题时发现多样化的视角;
(2)模拟对话,其中携带不同视角的作家向基于互联网信任来源的主题专家提问;
(3)策划收集到的信息以创建概要。
为了评估,我们策划了一个名为FreshWiki的数据集,该数据集包含最近的高质量维基百科文章,并制定了概要评估标准来评估写作前阶段。我们还从经验丰富的维基百科编辑那里收集反馈。与基于概要的检索增强型基线生成的文章相比,STORM的文章在组织性(绝对增加了25%)和覆盖广度(增加了10%)方面更受认可。专家反馈还帮助识别了生成有根据的长篇文章的新挑战,例如来源偏见转移和无关事实的过度关联。
1 引言
大型语言模型(LLMs)已经展示了令人印象深刻的写作能力,但我们如何利用它们来撰写有根据的长篇文章,如完整的维基百科页面,尚不清楚。这种说明性写作旨在以有组织的方式向读者传达有关特定主题的信息,需要在写作前阶段进行彻底的研究和规划。然而,关于生成维基百科文章的先前工作通常绕过了写作前阶段:例如,Liu等人假设参考文档是提前提供的,而Fan和Gardent假设文章概要是可用的,并专注于扩展每个部分。这些假设在一般情况下并不成立,因为收集参考资料和制作概要需要高级的信息素养技能,这对经验丰富的作家来说也是一个挑战。自动化这个过程可以促进个人深入了解特定主题,并大大减少他们的说明性写作所需的昂贵专家时间。我们通过专注于如何从头开始生成类似维基百科的文章来探索这些挑战。我们将这个问题分解为两个任务。第一个任务是进行研究以生成概要,即多级部分列表,并收集一组参考文档。第二个任务使用概要和参考资料来生成全长文章。这样的任务分解反映了人类写作过程,通常包括写作前、起草和修订阶段。由于预训练的语言模型本质上具有丰富的知识,直接方法依赖于它们的参数知识来生成概要甚至整篇文章。然而,这种方法受到细节缺乏和幻觉的限制,特别是在处理长尾主题时。这强调了利用外部来源的重要性,当前的策略通常涉及检索增强生成(RAG),这又回到了写作前阶段研究主题的问题,因为很多信息不能通过简单的主题搜索浮现出来。人类学习理论强调在信息获取中提出有效问题的重要性。尽管指令调整的模型可以直接提示生成问题,但我们发现它们通常产生基本的“什么”,“何时”和“在哪里”问题,这些问题通常只涉及主题的表面级事实。为了赋予LLMs进行更好研究的能力,我们提出了STORM范式,用于通过检索和多视角提问合成主题概要。
STORM的设计基于两个假设:
(1)多样化的视角导致不同的问题;
(2)制定深入的问题需要迭代研究。基于这些假设,STORM采用了一种新颖的多阶段方法。它首先通过检索和分析类似主题的维基百科文章来发现多样化的视角,然后将LLM拟人化,用特定的视角提问(图1(B))。
接下来,为了引出用于迭代研究的后续问题(图1(C)),STORM模拟了多轮对话,其中生成问题的答案基于互联网。最后,基于LLM的内在知识和收集的信息,STORM创建了一个可以逐节扩展以发展成为全长类似维基百科文章的概要。我们使用我们的FreshWiki数据集(§2.1)评估STORM,该数据集策划了最近的高质量维基百科文章,以避免预训练期间的数据泄露。为了便于研究写作前阶段,我们定义了评估概要质量的指标,并邀请了一组经验丰富的维基百科编辑进行专家评估。编辑发现STORM在文章的广度和组织方面优于基于概要的RAG基线。他们还确定了未来研究的挑战,包括处理以下情况:(1)互联网上的偏见影响生成的文章;(2)LLMs在无关事实之间制造联系。这些挑战为有根据的写作系统提出了新的前沿。我们的主要贡献包括:
• 为了评估LLM系统从头开始生成长篇文章的能力,特别是写作前阶段的挑战,我们策划了FreshWiki数据集,并建立了评估概要和最终文章质量的标准。
• 我们提出了STORM,这是一个新颖的系统,通过使用LLMs提出深入的问题并从互联网检索可信信息来自动化写作前阶段。
• 自动和人类评估都证明了我们方法的有效性。专家反馈进一步揭示了生成有根据的长篇文章的新挑战。
2 FreshWiki
我们研究从头开始生成类似维基百科的文章,重点关注写作前阶段,这涉及到收集和策划相关信息(“研究”)的艰巨子任务。这模拟了人类的写作方法,已经促使一些教育工作者将维基百科文章写作视为学术培训的教育练习。表1将我们的工作与现有的维基百科生成基准进行了比较。现有的工作通常专注于评估较短片段(例如,一段)的生成,范围较窄(例如,特定领域或两个),或者在提供明确的概要或参考文档时。一个显著的例子是WikiSum,它将生成维基百科文章视为多文档摘要问题,关于参考文档。我们的设置强调了长篇有根据写作系统研究和策划内容的能力。具体来说,给定主题t,任务是找到一组参考文档R,并生成全长文章S = s1s2...sn,其中每个句子si引用了R中的文档列表。
2.1 FreshWiki数据集
创建新的维基百科式文章不仅需要流畅的写作,还需要良好的研究技能。由于现代LLMs通常是在维基百科文本上训练的,我们通过明确寻找在我们测试的LLMs训练截止日期之后创建(或重大编辑)的最近的维基百科文章来减轻数据泄露。我们的流程可以在未来的日期重复,当新的LLMs出现时。为了应用我们的日期标准,我们专注于基于编辑次数的每月前100个最多编辑的页面,从2022年2月到2023年9月。为了确保高质量的参考,我们过滤这些文章,只保留那些被ORES评估为B级或更高质量的文章。我们还排除了列表文章和没有子部分的文章。虽然高质量的维基百科文章通常包含结构化数据(例如,表格)并且是多模态的,我们只考虑纯文本部分来构建数据集,以简化我们的任务。数据集的更多细节在附录A中。
2.2 概要创建和评估
全长文章很难生成或评估。当人类教育工作者教授学生学术写作时,他们有时会在概要阶段监督学生,因为广泛的概要表明对主题有全面的了解,并为撰写全长文章提供了坚实的基础。受此启发,我们将S的生成分解为两个阶段。在写作前阶段,我们要求系统创建一个概要O,定义为多级部分标题的列表。在写作阶段,系统使用主题t、参考R和概要O来生成全长文章S。为了评估概要覆盖范围,我们引入了两个指标:标题软召回和标题实体召回。这些指标比较人类编写文章的多级部分标题(视为真实情况)和O中的标题。认识到这两组标题元素之间的精确匹配是不必要的,我们使用Sentence-BERT嵌入的余弦相似度计算标题软召回(Fränti和MariescuIstodor,2023)(详细信息在附录C.1中)。我们还计算标题实体召回,它量化为人类编写文章标题中的命名实体被O覆盖的百分比。我们使用FLAIR命名实体识别(NER)(Akbik等,2019)提取实体。
3 方法
我们提出了STORM,通过有效的问题提问(§3.1,§3.2)研究给定主题并创建概要(§3.3)。概要将扩展到基于收集的参考资料的全长文章(§3.4)。图2给出了STORM的概述,我们在附录B中包括了伪代码。
3.1 视角引导的问题提问
Rohman(1965)将写作前阶段定义为写作过程中的发现阶段。与商业中的股东理论(Freeman等,2010)类似,不同的股东会优先考虑公司的各个方面,具有不同视角的个体在研究同一主题时可能会集中关注不同的方面,并发现多方面的信息。此外,特定的视角可以作为先验知识,引导个体提出更深入的问题。例如,活动策划者可能会询问“2022年冬奥会开幕式”的“交通安排”和“预算”,而普通人可能会提出关于活动基本信息的更一般的问题(图1(A))。给定输入主题t,STORM通过调查类似主题的现有文章来发现不同的视角,并使用这些视角来控制问题提问过程。具体来说,STORM提示LLM生成相关主题列表,然后提取其对应维基百科文章的目录(如果这些文章可以通过维基百科API获得)(图2 1)。这些目录被连接起来创建一个上下文,以提示LLM识别N个视角P = {p1, ..., pN},这些视角可以共同为t上的文章做出全面的贡献(图2)。为了确保关于t的基本信息也被覆盖,我们将“专注于广泛涵盖主题基本信息的基本事实作家”p0添加到P中。每个视角p ∈ P将被用来引导LLM在并行过程中提问。
3.2 模拟对话
问题和提问理论(Ram,1991)强调,虽然现有问题的答案有助于更全面地理解主题,但它们通常同时引发新问题。为了启动这个动态过程,STORM模拟了一个维基百科作家和主题专家之间的对话。在第i轮对话中,由LLM驱动的维基百科作家基于主题t、分配的视角p ∈ P和对话历史{q1, a1, ..., qi−1, ai−1}(其中aj表示模拟专家的回答)生成一个单一的问题qi。对话历史使LLM能够更新对主题的理解并提出后续问题。在实践中,我们将对话限制为最多M轮。为了确保对话历史提供事实信息,我们使用互联网上的信任来源来支持每个查询qi的答案ai。由于qi可能很复杂,我们首先提示LLM将qi分解为一组搜索查询(图2 4),然后根据维基百科指南使用基于规则的过滤器评估搜索结果,以排除不可信的来源(图2 5)。最后,LLM综合可信来源生成答案ai,并将这些来源添加到R中,用于全文文章生成(§3.4)。
3.3 创建文章概要
通过N + 1次模拟对话(表示为{C0, C1, ..., CN})彻底研究主题后,STORM在实际写作开始之前创建一个概要。为了充分利用LLM的内在知识,我们首先提示模型仅根据主题t生成一个草稿概要OD(图2 7)。OD通常提供一个一般但有组织的框架。随后,LLM被提示使用主题t、草稿概要OD和模拟对话{C0, C1, ..., CN}来完善概要(图2 8)。这产生了一个改进的概要O,将用于生成全长文章。
3.4 撰写全长文章
基于在写作前阶段收集的参考资料R和开发的概要O,可以逐节撰写全长文章。由于通常不可能将整个R放入LLM的上下文窗口中,我们使用LLM的节标题和所有级别子节的标题来根据从Sentence-BERT嵌入计算出的语义相似度从R中检索相关文档。有了相关信息,LLM被提示生成带有引用的节。一旦所有节都生成完毕,它们就被连接起来形成全长文章。由于节是并行生成的,我们提示LLM删除重复的信息以提高连贯性。此外,根据维基百科的风格规范,LLM还被用于合成整篇文章的摘要,形成开头的引言部分。
4 实验
4.1 文章选择
STORM能够研究复杂的主题,并根据详细概要撰写长篇文章。然而,在这个受控实验中,我们将最终输出限制在最多4000个标记(大约3000个单词)。为了进行有意义的比较,我们从FreshWiki数据集中随机选择100个样本(见§2.1),这些样本的人类编写文章不超过3000个单词。
4.2 自动指标
如§2.2所讨论的,我们通过计算标题软召回和标题实体召回来评估概要质量,以评估写作前阶段。更高的召回分数表示与人类编写文章相比更全面的概要。为了评估全长文章的质量,我们采用ROUGE分数(Lin,2004),并在文章级别上计算基于FLAIR NER结果的实体召回。此外,根据维基百科标准,我们从(1)兴趣水平,(2)连贯性和组织,(3)相关性和聚焦,(4)覆盖范围和(5)可验证性方面评估文章。对于方面(1)-(4),我们使用Prometheus(Kim等,2023),一个13B评估器LLM,根据与两位经验丰富的维基百科编辑共同开发的5分评分标准对文章进行评分(见附录C.2)。对于可验证性,我们根据Gao等人(2023)的定义计算引用召回和引用精度。我们使用Mistral 7BInstruct(Jiang等,2023a)检查引用段落是否蕴含生成的句子。
4.3 基线
由于先前的工作使用不同的设置并且不使用LLMs,因此很难直接比较。相反,我们使用以下三个基于LLM的基线。
直接生成,一个基线,直接提示LLM生成概要,然后用于生成全长文章。
RAG,一个检索增强生成基线,使用主题进行搜索,并使用搜索结果与主题t一起生成概要或整篇文章。
概要驱动的RAG(oRAG),在概要创建方面与RAG相同,但进一步使用节标题搜索额外信息以逐节生成文章。
4.4 STORM实现
我们使用DSPy框架(Khattab等,2023)进行零次提示构建STORM。附录B包括伪代码和相应的提示。STORM中的超参数N和M都设置为5。我们使用聊天模型gpt-3.5-turbo进行问题提问,并使用gpt-3.5-turbo-instruct进行STORM的其他部分。我们还尝试使用gpt-4来起草和完善概要(图2 7-8)。对于报告的结果,STORM中的模拟主题专家基于You.com搜索API,尽管所提出的管道与其他搜索引擎兼容。从搜索结果中排除了真实的维基百科文章。对于最终文章生成,我们只报告使用gpt-4的结果,因为gpt-3.5在生成带有引用的文本时对来源不忠实(Gao等,2023)。我们为所有实验设置温度为1.0,top_p为0.9。
5 结果与分析
5.1 主要结果
我们使用概要覆盖作为评估写作前阶段的代理(见§2.2)。表3显示了标题软召回和实体召回。直接由LLMs生成的概要(直接生成)已经展示了高标题软召回,表明LLMs通过其丰富的参数知识能够把握主题的高级方面。然而,通过提出有效问题来研究主题的STORM可以创建更高召回的概要,涵盖更多特定于主题的方面。值得注意的是,尽管RAG利用了额外的信息,但在上下文窗口中呈现未组织的信息使得较弱的模型(即,GPT-3.5)更难生成概要。为了测试RAG基线的极限,我们进一步扩展了检索到的来源,从RAG生成的概要开始,使用其节标题作为搜索查询收集更多来源,并将新收集的来源与初始概要一起输入LLM以生成一个打磨过的概要。这种修改后的方法在表3中称为“RAG-expand”。实验结果表明,尽管额外的搜索和改进轮次可以提高RAG生成的概要,但我们提出的STORM仍然超过了它的性能。
我们进一步评估了全长文章的质量。如表2所示,oRAG显著优于RAG,突出了使用概要结构化全长文章生成的有效性。尽管这种方法在利用检索和概要方面具有优势,但我们的方法仍然优于它。有效的问题提问机制通过更高的实体召回增强了文章。评估LLM还对这些文章的“兴趣水平”,“相关性和聚焦”以及“覆盖范围”方面给出了显着更高的评分。尽管如此,我们承认评估LLM可能过高评价机器生成的文本。我们仔细的人类评估(§6)揭示了STORM仍然有很大的改进空间。
尽管这项工作主要关注写作前阶段,并没有优化生成带有引用的文本,我们仍然检查了我们方法生成的文章的引用质量。如表4所示,Mistral 7B-Instruct判断84.83%的句子得到了引用的支持。附录C.3研究了不支持的句子,揭示了主要问题源于不当的推理和不准确的释义,而不是幻想不存在的内容。
5.2 消融研究
如§3所介绍,STORM通过发现特定视角和模拟多轮对话来提示LLMs提出有效问题。我们通过比较STORM与两个变体进行消融研究:(1)“没有视角的STORM”,省略了问题生成提示中的视角;(2)“没有对话的STORM”,一次性提示LLMs生成一定数量的问题。为了确保公平比较,我们控制所有变体生成的总问题数量相等。表3显示了消融结果,完整的STORM管道产生了具有最高召回的概要。此外,“没有对话的STORM”给出了更差的结果,表明阅读相关信息对于生成有效问题是至关重要的。我们进一步检查了通过不同变体收集到的R中独特来源的平均数量。如表5所示,完整的管道发现了更多的不同来源,趋势与自动指标的概要质量相符。我们还验证了在STORM中是否有一个概要阶段是必要的。在表2中,“没有概要阶段的STORM”表示在给定主题和模拟对话的情况下生成整篇文章的结果。去除概要阶段显著恶化了所有指标的性能。
6 人类评估
为了更好地理解STORM的优势和劣势,我们与10位经验丰富的维基百科编辑合作进行了人类评估,这些编辑在维基百科上至少进行了500次编辑,并且拥有超过1年的经验。我们从我们的数据集中随机抽取20个主题,并评估我们的方法和根据自动评估最好的基线oRAG生成的文章。每对文章分配给2位编辑。我们要求编辑从§4.2定义的五个方面对每篇文章进行评判,但使用1到7的评分标准进行更细致的评估。虽然我们的自动评估使用引用质量作为评估可验证性的代理,但我们在人类评估中坚持维基百科的“可验证,无原始研究”标准。除了对文章进行评分外,编辑还被要求提供开放式反馈和成对偏好。在评估结束后,他们被进一步要求将我们方法生成的文章与他们刚刚审查的人类编写的文章进行比较,并使用1-5的Likert量表报告他们对STORM的感知有用性。更多人类评估细节包含在附录D中。表6呈现了评分和成对比较结果。
STORM生成的文章在广度和深度上都优于oRAG输出。与§5.1中的发现一致,编辑们认为STORM生成的文章比oRAG输出更有趣、更有组织,并且覆盖范围更广。具体来说,25%的STORM生成的文章被认为是有组织的(组织评分≥4),10%的被认为是良好覆盖(覆盖评分≥4)。即使与人类编写的文章相比,一位编辑称赞我们的结果提供了“稍微更多的背景信息”,另一位指出“我发现AI文章与维基百科文章相比,深度更大”。STORM还在成对比较中胜过最佳基线。更多信息在|R|中提出了挑战,超出了事实性幻觉。我们检查了14个成对比较响应,其中编辑更喜欢oRAG输出而不是STORM。排除3个成对偏好与评分不一致的情况,编辑在超过50%的案例中为我们的方法生成的文章分配了较低的可验证性分数。通过分析文章和编辑的自由形式反馈,我们发现低可验证性分数源于红鲱鱼谬误或过度推测问题。当生成的文章在|R|中引入不可验证的连接,或者在信息与主题之间引入不可验证的连接时,就会出现这些问题(示例包含在表11中)。与广泛讨论的事实性幻觉相比,解决这种可验证性问题更为微妙,超越了基本的事实核查。生成的文章落后于经过良好修订的人类作品。尽管STORM胜过oRAG基线,但编辑们评论说,生成的文章比实际的维基百科页面信息量少。另一个主要问题是,从互联网来源到生成文章的偏见和语气转移,有7位编辑提到STORM生成的文章听起来“情绪化”或“不中立”。更多的分析在附录E中讨论。这个反馈表明,减少写作前阶段的检索偏见是未来工作的一个值得考虑的方向。生成的文章是一个很好的起点。如图3所示,编辑们一致认为STORM可以协助他们进行写作前阶段。很高兴知道这个工具对经验丰富的编辑有帮助。80%的编辑认为STORM可以帮助他们编辑一个新主题的维基百科文章。对于STORM对整个维基百科社区的有用性表达了更多的保留意见;尽管如此,70%的编辑认为它是有用的,只有10%的人不同意。
7 相关工作
检索增强生成(RAG)在推理时通过检索来增强语言模型(LMs)是一种典型的方式来利用外部知识库。一些工作使用检索来构建示范,用于上下文学习(Li等,2023;Liu等,2022;Agrawal等,2023;Poesia等,2022;Shi等,2022;Khattab等,2022),另一系列工作使用检索为LMs提供额外信息以供依据。Lewis等(2020)研究了知识密集型NLP任务上的RAG,并发现它提高了多样性和事实性。Semnani等(2023)设计了一个基于RAG的聊天机器人,基于英文维基百科,以阻止LLM聊天机器人产生幻觉。此外,RAG可用于生成带有引用的文本(Menick等,2022;Gao等,2023)和构建带属性的问答系统(Bohnet等,2023)。虽然RAG在问答中被广泛研究,但如何将其用于长篇文章生成则较少被探讨。作为一个通用框架,RAG在检索来源和时间上都具有灵活性。检索来源可以从领域数据库(Zakka等,2023)、代码文档(Zhou等,2023)到整个互联网(Nakano等,2022;Komeili等,2022)。关于时间,除了在生成前一次性检索,系统可以设计为在生成过程中自我决定何时检索(Jiang等,2023b;Parisi等,2022;Shuster等,2022;Yao等,2023)。自动说明性写作与其他类型的长篇文章生成(Yang等,2022;Feng等,2018)不同,自动说明性写作需要依据外部文档,并利用阅读和写作之间的相互作用。Balepur等(2023)提出了ImitateRetrieve-Paraphrase框架,用于段落级别的说明性写作,以解决从多个来源合成信息的挑战。Shen等(2023)强调,说明性写作需要作者对源文档的意义构建过程和良好的概要规划。我们通过专注于写作前阶段来解决这些挑战。
NLP中的问题提问问题提问能力在NLP系统中已经扩展到几个方面,包括生成澄清问题以理解用户意图(Aliannejadi等,2019;Rahmani等,2023),并将大问题分解为更小的问题以提高组合推理(Press等,2023)。虽然人类通常提问以学习新知识(Tawfik等,2020;Booth等,2003),但在信息寻求对话中如何优化问题的信息量和特异性仍然是一个较少探讨的问题。最接近的工作是Qi等(2020),它使用单字精度函数定义问题的信息量,并使用强化学习来提高问题的信息量。
8 结论
我们提出了STORM,一个基于LLM的写作系统,自动化了从头开始创建类似维基百科文章的写作前阶段。我们策划了FreshWiki数据集,并建立了评估标准,以研究生成长篇文章的能力。实验结果表明,STORM中的问题提问机制提高了概要和文章的质量。通过改进的广度和深度,STORM通过专家评估揭示了有根据写作系统的新挑战。我们研究中的经验丰富的维基百科编辑一致认为STORM对他们的写作前阶段有帮助。
限制
在这项工作中,我们探索了从头开始生成类似维基百科的文章,以此推动自动说明性写作和长篇文章生成的前沿。虽然我们的方法在自动和人类评估中显著优于基线方法,但机器编写的文章质量仍然落后于经过良好修订的人类撰写的文章,特别是在中立性和可验证性方面。尽管STORM在研究给定主题时发现了不同的视角,但收集的信息可能仍然偏向于互联网上的主要来源,并可能包含宣传内容。此外,这项工作中识别的可验证性问题超越了事实性幻觉,这突显了有根据写作系统的新挑战。这项工作的另一个限制是,尽管我们专注于从头开始生成类似维基百科的文章,但我们的任务设置仍然简化,只考虑了自由形式文本的生成。人类撰写的高质量维基百科文章通常包含结构化数据和多模态信息。我们将探索生成多模态有根据文章的任务留给未来的工作。
致谢
我们感谢You.com慷慨地提供了支持我们实验的搜索API。我们还感谢Sina J. Semnani、Shicheng Liu、Eric Zelikman提供有用的反馈,以及ACL ARR审稿人提供宝贵的评论。这项工作部分得到了Verdant Foundation和Microsoft Azure AI学分的支持。Yijia Shao得到了斯坦福大学工程学院奖学金的支持。
伦理声明
与创造性生成不同,有根据的文章生成可能会影响人们了解主题或消费源信息的方式。这项工作中的所有研究和评估都旨在通过不在线发布生成的内容和实施严格的准确性检查来防止错误信息的传播。我们避免对维基百科或相关社区造成任何干扰,因为我们的系统不与活页互动。此外,虽然我们试图生成有根据的文章,但我们相信这项工作与隐私问题无关,因为我们只使用互联网上公开可用的信息。我们工作的主要风险是,我们的系统基于互联网上的信息生成维基百科文章,而互联网上的信息本身可能包含一些偏见或歧视内容。目前,我们的系统依赖于搜索引擎来检索信息,但没有包含任何后处理模块。我们认为,改进检索模块以覆盖不同观点的广泛范围,并向当前系统添加内容筛选模块,将是实现生成文章中更好的中立性和平衡的关键下一步。从伦理角度来看,我们认为这项工作的另一个限制是,我们目前只考虑编写英文维基百科文章。将当前系统扩展到多语言设置是未来工作的一个有意义的方向,因为更多的主题在非英语语言中没有维基百科页面。