用AI重塑新闻网站后,我总结了十个AI使用心得

Posted by 活水智能 on April 03, 2024 · 1 min read

作者:Matthew Conlen

编译:Gavin

摘要

记者的工作方法不断进化,以便更好地帮助人们理解这个日益复杂的世界。

传统的实地报道,已经得到了量化研究和社会科学方法的补充——比如分析数据集、进行调查研究和创建预测模型。

但是,随着数据量激增和更新速度加快,数据记者面临挑战:如何从海量数据中提炼出有价值的信息?

为了应对这一挑战,我们开发了Realtime平台,旨在扩大对那些随时间变化的重要数据集更新的报道范围(比如经济指标、政治民意调查和预测、环境数据、体育赔率等,详见图1)。

图1:通过生成式人工智能(GenAI) 技术处理的新闻数据

我们的系统通过使用统计软件和大模型(LLM)自动化数据展示和分析。这种技术手段不仅提高了报道的效率,也让数据的解读更加精准和直观。

图2. 利用数据分析技术将原始数据可视化,通过大模型生成的文本描述数据

利用这项技术,我们能够提升读者和记者的体验。读者可以获取他们所关心话题的最新资讯,记者可以减少重复性工作,专注深入报道可自动化呈现的趋势和模式。

我将在本文详细介绍Realtime运作原理,并分享我们学到的十个教训。

但我想明确指出,大模型仍然不完美,并且还处于初级阶段。我们在提示工程和数据准备方面,投入了大量精力以减少错误,但错误仍然可能发生。

技术原理

在任何数据项目中,寻找合适的数据并进行格式化往往占据了项目的大部分工作量。而当你需要这些数据能够随时间更新时,这项任务就更加复杂了。

获取数据

理想情况下,数据提供者会在每次更新新数据时通知我们,但目前还没有这样的基础设施。

因此,我们建立了一个持续查询数据源的管道:“你有新数据吗?”——本质上是将我们已知的数据与发布者提供的最新数据进行差异比较。

这个系统具有可扩展性(它运行在一个分布式的云平台上,并且可以针对每个数据源进行配置,以避免不必要的更新),并且它是通用的(它允许我们将所有处理的数据转换为单一格式)。该系统还连接到新闻专线,用于检索任何主题的最新文章。

生成故事

一旦我们接收到更新的数据,并获取了相关的新闻,我们就使用大模型(目前使用的是OpenAI的GPT-4 Turbo)生成新闻摘要——这是我们网站上看到的标题、副标题和描述性文本的基础(见图2)。

为了生成这段文本,我们动态地根据三个输入构建了一个提示词:数据集元数据(标题、描述、需要了解的其它写作相关信息)、最新数据特征(相关更新的定量摘要)以及任何最近的相关新闻。

为了撰写这篇文章,我们根据三个要素动态构建了一个写作指令:包括标题、描述等数据集元数据(这些信息帮助语言模型理解其将要写作的内容)、最新的数据特点(即相关更新的数据摘要)以及任何最近的相关新闻。

这个写作指令引导大语言模型像新闻记者那样概述更新的内容,并避免假设最新新闻与数据更新之间存在因果关系。

然后,我们利用大语言模型(见图3)用一种简单的标记语言,对生成的文本进行标注。这使我们能够突出显示文中提到的特定数据或引用,便于读者根据需要查询更多信息。

最后,我们将这段文本再次提交给大语言模型,让它根据我们的指南对之前生成的内容进行编辑,特别注意排查与我们提供的信息不符或者与我们的风格指南不一致的表述。

图3. 由大模型生成的注释示例,以及呈现在网站上的样式

接下来,我们将收集到的文本和数据制作成可视化图表,并展示在我们的网站上。我们通过综合考虑最新数据的相对重要性、时效性以及新闻标题的发布量,计算不同时间点热门新闻故事的排名。

头条新闻会展示在网站首页,配有由大模型生成的新闻标题和由Vega及Vega-Lite支持的可视化图形。

读者可以点击任一新闻,查看更多细节,包括最新更新的完整摘要和涉及相关数据集的报道。

十个心得

在构建Realtime的过程中,我们学到了很多东西,希望我们的一些摸索可以帮助其他人在这个领域更有效地运作。

以下是十个心得体会。

1. 尊重读者。

不要隐藏你正在使用AI工具的事实。读者关注的是获取有用的信息,不管这些信息是不是由AI生成的。但是,使用AI需要注意一些问题,我们确保这些问题对读者是透明的,让读者自行判断。

为此,我们会明确标出哪些内容是由AI生成的,并为读者提供校验信息准确性的方法。例如,将数据可视化内容与生成的文本并列展示,并直接链接到原始新闻文章。

我们让大模型仅引用我们提供的新闻文章中的信息,并添加标记。这样在浏览器中显示时,这些内容就能变成可点击的链接(见上图3)。

2. 输入决定输出。

一个简单却不容忽视的事实是,Realtime的实用性来自高质量、持续更新的数据集和新闻。虽然大模型的世界可能看起来奇怪且可怕,但在这方面几乎没有什么变化——输出质量仅取决于输入的质量。

3. 分步处理。

我们发现,多次调用大模型分步处理,而不是一次性让它完成多个任务,可以显著提高性能。这种方法的缺点是每次调用都会产生一定成本(我们会在后面解释),但现在有了像DSPy这样的开源工具,可以更容易、更高效地建立这种分阶段的处理流程。

4. 目前,成本依然是个问题。

目前最先进的模型由OpenAI开发。虽然单次调用OpenAI API的成本相对较低,但当大规模使用时,总成本会显著增加。这影响了我们的系统设计,我们必须确保网站的访问量增加不会导致成本增加。好消息是,大模型领域竞争激烈,预计将来成本将显著降低。尽管开源模型提供了成本更低的方案,但至少到目前为止,它们的准确性还达不到商业模型的水平。

5. 人类更容易理解的信息,大模型也更易处理。

在优化提示词的过程中,我们发现,如果以人类容易理解的方式向大模型提供信息,往往效果更好。这一点可以通过我们提供数据的方式看出。例如,JSON与YAML这两种数据格式在语法字符使用上存在差异,JSON对象示例如下:

{ "changes": { "year": 0.24, "month": 0.12, "week": -0.03, "day": 0.01 } }

而同样的内容用YAML表示则更加易读,看起来像这样:  

changes: year: 0.24 month: 0.12 week: -0.03 day: 0.01

额外的字符(如大括号、引号等)帮助编译器理解所描述的数据,但对大模型来说,这些只是无关紧要的噪音。  

6. 限制大模型输出的内容。

在我们的实践中,一个反复出现的问题是,大模型特别喜欢生成带有明确因果关系、耸人听闻的标题。在设计提示词时要格外小心,防止大模型生成像“由于Y新闻报道,数据上升了X%”这样的标题,特别是在没有证据支持这种因果关系时。

为此,我们可以通过增加大模型使用频率来防范这些常见错误,例如错误的因果归因、混淆百分比变动与百分点变动,以及在描述政治人物支持率降低与反对率升高时出现的语义不清。

7. 赋予其个性化风格。

GPT-4等大模型默认的写作风格可能较为平淡。可以通过创意指令激发大模型采用符合你期望的写作风格。

8. 利用LLM生成结构化数据。

大模型还有一个未被充分利用的能力——按照设定的格式输出结构化数据。例如,在创建标题时,我们会指定大模型以JSON格式返回数据对象:

```
{  "headline": "<The headline>",   "subhead": "<The subheadline>",   "featured_dataset": "<dataset_id>",   "timespan": "<The relevant timespan>",   "summary": "<Annotated summary text>"}
```

我们使用这种结构化数据来整理并展示特定时间段内的数据集,并在创建首页故事时将其可视化。此外,我们还借助LLM为生成的文本添加注释,从而构建超链接,使读者能深入了解相关新闻和数据的原始出处。

9. 我们都在学习的路上。

这是一个新兴领域,真正的专家很少。

虽然人们对生成式AI产生的影响议论纷纷,但这并没有改变记者的职责:向公众提供信息。这些强大的工具能帮助我们实现这一目标,我们应该互相分享知识,推动AI在新闻业的运用。

10. 勇于尝试。

入门其实非常简单。你甚至不需要写任何代码:只需在像OpenAI等公司提供的网页界面中与AI对话。没有什么比亲自动手更能促进学习的了。

结论

在使用Realtime时,我们利用GenAI自动化创建和展示新闻数据。

但这项技术还处于起步阶段,我们还在探索如何更有效地使用这些工具。未来,大模型将变得更便宜、推理速度将更快、错误将更少。

我们期待看到下一代技术推动新闻业的发展。

原文: https://generative-ai-newsroom.com/we-built-a-news-site-powered-by- llms-and-public-data-heres-what-we-learned-aba6c52a7ee4

  • 本文由活水智能编译,转载请注明出处