随着大语言模型的快速发展,研究者们开始探索如何利用其强大的自然语言生成能力,自动撰写结构清晰、内容丰富的长文章,比如维基百科式的知识总结。这项研究有助于普通用户快速了解感兴趣的主题,对相关领域形成全面认识。然而,高质量的长文章写作往往需要作者在动笔之前做大量的前期准备工作,包括全方位地研究主题、梳理文章脉络等。如何让语言模型具备这种研究和规划能力,是一个亟待解决的问题。
团队背景
这项研究由斯坦福大学的研究者开展,作者包括Yijia Shao、Yucheng Jiang、Theodore A. Kanell、Peter Xu 、Omar Khattab 、Monica S. Lam。
技术解析
针对上述挑战,研究团队提出了一种名为STORM的写作范式,通过自动化地研究主题、生成大纲,来辅助语言模型撰写长文章。STORM的创新之处主要体现在以下三个方面:
发现多元视角。给定一个目标主题,STORM首先让语言模型生成一系列相关主题,并抽取这些主题对应的维基百科文章大纲。通过对大纲内容进行分析归纳,STORM可以发现人们从不同视角了解这个主题的侧重点,比如"活动筹备人员"可能更关注活动的组织策划,"媒体记者"可能更关注现场的精彩瞬间。这些视角为后续问题生成提供了多元化的方向。
模拟对话提问。基于上一步得到的视角,STORM让语言模型模拟一个虚拟的维基百科作者,与一个主题专家进行多轮对话。通过将已有的对话历史作为prompt,语言模型可以动态地根据已获得的信息,生成后续的问题,实现跨轮次的上下文感知。同时,为了保证对话内容的真实可靠,STORM会用搜索引擎检索相关的外部信息,并将其作为知识库提供给语言模型生成答复。
迭代优化大纲。在搜集到足够的主题信息后,STORM先利用语言模型的内在知识生成一个初步的文章大纲,然后将前面获得的对话历史和检索到的外部信息作为额外的prompt,对大纲进行迭代优化。这个过程使大纲涵盖了主题的方方面面,并吸收了权威资料的精华内容。
为了评估这一技术,研究者构建了一个新的维基百科文章数据集FreshWiki,精选了一批近期新创建、质量上乘的文章作为测试集,避免与语言模型的训练数据产生污染。通过自动化指标和人工评判,研究者发现STORM生成的维基百科文章在内容广度和组织结构上都明显优于基线系统。一些经验丰富的维基百科编辑也认为,STORM可以有效地辅助他们完成前期的研究和规划工作,提高文章撰写的效率。
打个比方,假设我们要撰写一篇关于"2022年冬奥会开幕式"的维基百科文章。传统的做法可能是直接提示语言模型生成文章。而STORM会先让模型生成"2018年冬奥会开幕式""2014年冬奥会开幕式"等相关主题,并分析其维基百科文章大纲,从中归纳出"活动策划视角""媒体报道视角"等不同角度。接下来,站在每个视角上,STORM会模拟提问-回答的对话,比如"活动策划人员"可能会问"开幕式的交通组织和预算情况如何?",而"媒体记者"可能会问"开幕式上有哪些精彩瞬间值得关注?"。语言模型会检索权威报道作为参考,给出细致入微的回答。积累了丰富的素材后,STORM会对大纲反复打磨,最终形成一篇视角全面、脉络清晰的长文。
这项研究为语言模型撰写长文章提供了新的思路。未来,研究者还希望进一步完善这一范式,比如减少互联网信息源的偏见,规避不恰当的事实关联等,促进机器写作水平的持续提升。
如何使用STORM
产品体验地址: https://storm.genie.stanford.edu/
github项目地址: https://github.com/stanford-oval/storm