在 GIJN 的“我最喜爱的工具”系列中,我们采访了彭博社数据记者莱昂纳多·尼科莱蒂(Leonardo Nicoletti)。他近期的项目深入探讨了社交媒体上的极端主义、生成式 AI 中的种族和性别刻板印象,以及美国的阿片类药物危机。
尼科莱蒂进入新闻业的道路颇为曲折——他曾在学术界工作多年。但即使在学生时代,他就对视觉表达有着敏锐的洞察力。
“我在学生时期热衷于摄影,主要是街头摄影,这份热情至今未减,”他说。“那时我意识到自己对讲故事、尤其是人文故事非常感兴趣。”
毕业后,他继续在学术界深耕,利用开源技术衡量城市中的不平等,并量化与环境脆弱性相关的挑战。“那段时间,我对数据可视化以及如何用它向更广泛的受众传达复杂理念产生了浓厚兴趣,并开始在网络上构建应用程序。”
在与他人合作为《The Pudding》撰写的一篇关于新闻中女性代表性的视觉文章后,尼科莱蒂开始全职进入新闻领域,并于同年晚些时候加入彭博社。此后,他的工作获得了全球认可,特别是他对生成式 AI 和文本到图像模型在放大种族和性别刻板印象方面的影响的研究。他与同事合作撰写的文章《人类有偏见,但生成式 AI 更甚》(Humans Are Biased. Generative AI Is Even Worse)获得了 2024 年 Sigma 奖。
“这是新闻领域首个数据驱动的调查,关注图像生成器,并大规模量化其中存在的性别和种族偏见,”他解释道。
尼科莱蒂的工作还获得了其他许多荣誉,如新闻设计学会的认可。他的研究,特别是关于生成式 AI 风险的研究,被联合国和国际货币基金组织引用。
他在彭博社的工作让他深入研究了技术问责的问题,将技术对人的影响放在首位。
“彭博社报道不一定都是金融故事,但总有商业视角或某种金融角度,”尼科莱蒂指出。“这看似有局限性,但我发现并非如此,几乎任何故事都能与某家公司、经济趋势或资金流动关联起来。”
近期,他制作了各种各样的报道,从探讨 OpenAI 的 GPT 如何导致招聘中的种族偏见,到 AI 如何“扰乱”全球电力系统的调查,再到深入研究隐藏的芬太尼如何将美国阿片类药物死亡推向新阶段。以下是他最喜欢的一些工具。
Python
“由于我的工作融合了分析、数据调查、数据可视化和交互式图形,我使用了许多与数据科学相关的编程语言和工具,主要是 Python 和 R——我大部分时间使用 Python,”尼科莱蒂说。
“我使用 Jupyter 笔记本和代码,运用常用的 Python 库,如 pandas 和 geopandas,”他补充道。Pandas 通过构建、操作和转换数据来分析大型数据集;geopandas 则简化了在 Python 中处理地理空间数据的过程。
他说他还使用了 spaCy,这是一个开源的 Python 库,旨在处理大量文本并构建自然语言处理应用,例如根据情感分析对演讲等文本进行分类,可用于判断表达的语气或观点。
“有时我们会进行自然语言处理,所以我会使用 spaCy 等工具,以及项目需要的任何工具,但主要是在 Python 中进行数据分析,有时网页抓取也非常有用,”他说。
D3.js and Svelte
D3.js 是一个用于在网络上创建自定义图形的 JavaScript 库,允许对可视化进行全面定制。
“在网络上构建数据可视化和交互式图形都是用网络语言完成的,所以都是 JavaScript、HTML、CSS,还有像 D3 这样非常有用的 JavaScript 库,”尼科莱蒂指出。
Svelte 是一个开源的 JavaScript 框架,用于构建具有交互设计的网络应用程序,当底层数据发生变化时,它会自动更新用户界面。
“它让你能够创建响应迅速的网页,以非常简洁的方式构建大量交互,而无需处理繁琐的网络基础问题。它会为你处理这些,”尼科莱蒂说。
“它使过渡效果更容易实现。例如,如果你有一个散点图,每个点代表一个国家,然后你想将所有这些点移动到实际的国家位置,再将它们转换成条形图。对于关于 Stable Diffusion 的文章——或者你可以看看我参与的大多数故事,都有大量动画和过渡效果。这些基本上都是通过结合 D3 来计算位置,然后使用 Svelte 平滑过渡这些数据点,例如当用户滚动到页面上的特定位置时。”
QGIS
QGIS 是一款开源软件,对于希望在不购买专有软件的情况下进行制图的人来说,是一款热门工具。
“我的理念是尽可能使用开源,这样你可以重复使用,不必担心服务的 API 是否会改变。你减少了依赖性,也获得了更多自由,”尼科莱蒂解释道。
QGIS 可用于使用矢量和栅格数据来分析和编辑几乎所有形式的地图和空间数据。
尼科莱蒂的一个个人项目使用 QGIS 绘制了全球范围内的城市,这些城市为居民提供了在 15 分钟步行范围内可达的服务。City Access Map 使用了 Mapbox,但尼科莱蒂的大部分数据探索都是在 QGIS 中完成的。“我写了一个 Python 脚本,利用了 QGIS 的功能,因为它有许多非常强大的地理空间功能,这些功能并不总是在 Python 中实现。我处理了全球约 11,000 个城市,数据量巨大,而 QGIS 的效率最高,”尼科莱蒂说。
“我经常使用 QGIS 来探索数据,有时我只是想把数据放在地图上,看看它的样子并进行放大,所以这非常有用,”他补充道。“QGIS 中也有很多插件,有时在 QGIS 脚本中做一些事情比在 Python 中更容易。”
HTML Canvas
HTML 的 <canvas> 功能使在网络上生成动态交互式图形成为可能。由于它基于栅格,通常用于更复杂的可视化和动画。使用 JavaScript 可以直接将图形绘制到网站上。
“大多数可视化使用 SVG(可缩放矢量图形),但它无法很好地处理大量数据点,”尼科莱蒂说。“对于我参与的许多故事,我一直在使用另一种网络技术,称为 canvas,它不是矢量的,而是像素的。所以它实际上绘制形状,但可以处理更多的数据点。它在编程上有点难以使用和理解,但非常强大。”
跨学科的思维方式
除了尼科莱蒂使用的传统数据分析和可视化工具外,他还提倡在构思和制作故事时采用跨学科的方法。
“我认为拥有社会科学背景非常有帮助。我觉得学习一些数据科学和编程对于你使用的工具来说非常重要,”他说。“但作为曾学习过其他学科的人,比如城市规划和城市中的社会技术挑战,我认为这非常有益,因为你会接触到许多非常复杂的问题,这在想出创意和更深入地了解世界方面是一个优势。”
Hanna Duggal 是 @AJLabs 的数据记者,AJLabs 是半岛电视台的数据、视觉讲故事和实验团队。她曾使用数据报道警务、监控和抗议等问题。