「我在美国新闻编辑室」爱啃数据硬骨头的ProPublica

分享给朋友:

[zilla_alert]在【我在美国数据新闻编辑室】系列中,身在美国的数据新闻记者们会分享报道数据新闻的亲身经历,揭秘各个新闻编辑室的独家秘笈和个中苦恼。

如果你也在美国新闻编辑室做数据新闻,欢迎给我们投稿(info[at]djchina[dot]org)。

本系列文均为原创,转载请注明出处、网址与文章作者。

更多本系列文章:
【我在美国数据新闻编辑室】爱啃数据硬骨头的ProPublica
【我在美国数据新闻编辑室】尝试用数据做当地新闻的KUSA-TV
[/zilla_alert]

本文与ProPublica共同发表

Losing Ground项目正式上线的一个月前, ProPublica的数据团队和设计团队所有成员挤在会议室中,交互设计师在电话上与用户测试的参与者互动,鼓励他们按照自己的想法使用和探索这个应用。应用的设计者Al ShawBrian Jacobs紧张地盯着会议室的大屏幕,一边观察远程控制鼠标的用户如何使用这款尚未发布的新闻应用,一边记着笔记。这是ProPublica第一次在新闻应用上线前进行正式的用户测试。

landlos_frt

ProPubilca的办公室位于纽约下城,隔着哈德逊河远眺新泽西。这家在业界颇受好评的非盈利调查性新闻网站建立于2007年,曾获得包括普利策奖在内的众多新闻大奖,以医疗、教育、环境、网络安全报道见长。他们的数据新闻应用团队更是在业界享有盛名,代表作有Dollars for Docs, The Opportunity Gap, China’s Memory Hole ,Treatment TrackerLosing Ground Inside the Firewall等等。

今年夏天,我有幸成为ProPublica的Google Journalism Fellow,并与这个团队工作至今。在过去的七个月中,我参与了数据分析、互动图设计和新闻应用设计等多项工作,希望这里的分享可以让大家对这个数据新闻编辑室有更多了解。

1 数据收集和分析

ProPublica的数据新闻作品胜在数据挖掘和分析。ProPublica喜欢啃硬骨头,做别的新闻编辑室没有时间或者资源完成的项目。ProPublica每年至少发表12个数据新闻项目,这些项目大都有着漫长的生产周期。一般来说,数据获取、清理和分析是耗时最长的环节。ProPublica数据获取的主要方式有两种:从网页中提取数据(web scraping)和“政府信息公开”请求(FOIA request).

ProPublica的很多大型数据新闻应用都基于web scraping,Dollars for Docs就是一例。Dollars for Docs是ProPublica投入精力和人力最多,也是受到关注最多的项目之一。用户不仅可以在这个应用中搜索自己的医生从医药公司手中接受了多少美元,还可以获得一个“问题清单”,拿着它去和自己的医生谈谈。这个庞大数据库的建立和更新可谓费尽周折。根据法律规定,医药公司必须在自己的网站上公布他们与医生之间的经济往来,但是每家医药公司的数据格式都不一样:有的是html表格,有的是pdf文件。ProPublica建立了一套完整的流程将数据从这些不友好的格式中解放出来,并进行了数轮随机抽样和数据核查。完成这项工作,一个数据新闻团队的成员需要花半年到一年。费劲周折的数据清理过程,在ProPublica的这篇博客中有详细的讲解。

ProPublica最受关注的新闻应用之一——Dollar for Docs

Dollars for Docs, ProPublica

除了网页数据提取,“政府信息公开”请求(FOIA request) 是ProPublica的另一个重要数据来源。根据美国法律,公民有权向政府获取未被公开的政府信息。很多政府部门都接受网上FOIA请求,还有人开发了 FOIA machine来帮助记者。但是,政府有义务公开数据,并不意味着他们会让这件事变轻松。ProPublica和其他调查性新闻机构一样,对FOIA请求又爱又恨。每个州对于FOIA请求的规定都不尽相同。并非所有州都像路易斯安那州那样,规定所有FOIA请求必须在三天内得到回复。FOIA请求一般耗时几个月甚至几年。经过漫长等待收到的东西也奇形怪状,如果收到了excel文件那必要欢呼雀跃;如果光盘中是pdf文件,也只能无奈笑笑;最绝望的时候,是收到厚厚一摞的纸质文件。有时政府还会用各种理由搪塞:数据库太大了,无法导出;你要的数据导出需要三年,耐心等吧;你的要求太复杂了,你要支付三千美金我们才能雇人帮你……有时记者逼急了会说:我来写一行SQL指令,你只要点”执行“可好?很多时候记者不得不与政府协商甚至斗争来获取数据。

除了上述两种方式,ProPublica还会自己收集数据。《中国的记忆黑洞》(“China’s Memory Hole”)就是典型代表.。ProPublica建立了自己的数据库来收集微博上被删除的图片,以此展现中国社交网络中的敏感话题。

china's memory hole

China’s Memory Hole, ProPublica

ProPublica的数据团队成员认为统计应该在新闻编辑室中发挥更大作用。这里人手一本Sarah Cohen的数据新闻经典《Numbers in the Newsroom》。R是主要的数据分析工具,有时人们也会用到Python或Ruby进行数据清理和分析。如果记者需要对一组数据进行反复重组、分析,或者一个新闻应用需要不断更新数据,记者有时会建立一个小型的Rails应用,在本地建立数据库,以便实时更新。有一些基本的数据处理也会在Excel中进行。但是处理数据的原则是尽量不直接修改数据(例如在Excel中直接删除行、列或者直接手动修改数据都是不推荐的)。这样可以避免在处理数据的时候犯错,方便日后排查,也能够更容易地更新数据。

2 新闻应用和可视化设计

ProPublica的新闻应用开发原则在Nerd Guides中有很好的总结, 强烈推荐。Nerd Guides中提到了很多实用的可视化设计原则,例如:只在显示部分和整体关系的时候才用饼状图,不惜一切代价避免使用3D图表,折线图是用来显示某一变量随另一连续性变量(如时间)的变化,展示两个变量间互相影响的关系应该用散点图等等。Nerd Guides中还包括新闻应用设计指南, 编程规范, 社交媒体分享图标, 和 数据核查指南几个部分。ProPublica欢迎其他新闻机构借鉴这一指南并根据自己机构的情况做出修改.

让每个读者发现自己的故事是贯穿ProPublica所有新闻应用的一个重要理念。新闻应用的目的不单单是帮助读者理解故事的内容,更是将故事内容个人化、具体化,让新闻故事可亲可感。每个新闻应用都有“远景”和“近景“两个部分。”远景”提供解读数据的语境,从最高的视角(例如全国的视角)解释问题的严重性或重要性。“近景”将镜头拉近,读者可以搜索自己的学区、搜索自己的医生、搜索自己的邮编,然后就可以明白这则报道对“我”意味着什么,为什么“我”要关注这个议题。例如,The Opportunity Gap让读者搜索自己学校,并将自己的学校对比,看看哪些学校存在更多的机会不平等,看看自己的学校在学区中是什么水平;Treatment Tracker让读者搜索自己的医生或药剂师,帮助读者理解他们的医疗服务人员在行业中处于什么水平。

Treatment Tracker

Treatment Tracker, ProPublica

然而并不是遵循了这些基本原则就能够设计出优秀的新闻应用。在这里,几乎所有的新闻应用和互动图表都要经过“设计——演示——重新设计”的循环。有时整个团队的成员都会挤在会议室的大屏幕前为一个即将上线的新闻应用出谋划策,提出更好的可视化方式或者页面设计方案。正是从这些“头脑风暴”中,我学到了好的设计与平庸设计间的微妙差别,也目睹了炫目的可视化因为无法清晰地传达信息而被“枪毙”的过程。

当我刚刚开始上手设计互动图和新闻应用时,看到自己千辛万苦写出来的代码成功运行没有报错已经让我足够兴奋了,我从来不想让别人看到我那些丑陋的代码。然而我开始与其他同事一起合作时,我意识到这是不可能的。他们善意地指出我编程的坏习惯并帮助我写出更加清晰的代码。例如:在不同语言中遵从不同语言的命名规范;正确地缩进你的代码,这样不仅其他开发者更容易读懂你的代码,你自己也更容易调试程序;清晰地定义变量的范围,不要到处使用全局变量;当你发现你在不停重复自己时,用函数和类来简化你的代码;尝试在JavaScript中编写基于原型的代码;尽量不要使用z-index,如果必须使用,不要头脑发热让z-index等于10000。诚然,在新闻编辑室中,截止日期的重要性排第一,但养成好的编程习惯显然可以让工作更高效,也让同事之间的合作更轻松。

当一个新闻应用或交互图表设计完成,怎么才能知道读者是不是看懂了,会不会用?为了保证读者在使用信息量巨大的新闻应用时不会错过最重要的内容,在 Losing Ground 的设计后期,ProPublica通过Twitter招募了五个志愿者,与每个人安排了半小时的用户测试,帮助设计者发现了这个应用中使用率很低的部分。对于时效性比较强的项目,数据团队会把办公室另一边的老编辑拉到新设计好的新闻应用或者图表前面,让他们讲讲自己看到了什么,觉得哪里有意思,哪里不清楚。数据团队也会邀请数据可视化领域的专家来办午餐会,顺便给正在设计的项目和过往的项目提提意见,Alberto Cairo, Enrico Bertini 甚至Stephen Few都曾是座上客。然而和大多数新闻机构一样,ProPublica并没有程序化的用户测试。在日常的新闻应用中加入规范的用户测试,同时满足紧迫的新闻时效需求,仍然在ProPublica的心愿清单上。

ProPublica涉及大型数据库的项目一般都使用Ruby on Rails, 轻量级项目使用sinatra。在业界受到追捧的D3.js很晚才进入这个编辑室,ProPublica有自己的苦衷。作为一家调查性新闻网站,影响力是衡量ProPublica表现的重要指标。它面向的读者群中有很重要的一个部分是政府官员。不巧的是他们办公室的Windows系统只装有IE浏览器——有时候还是IE 7或者更早的版本——而这些浏览器并不支持D3。直到微软不再支持XP系统,很多古旧版本的IE浏览器退出历史舞台,D3.js这才得以翻身。

3, 前沿探索

在ProPublica这样的新闻编辑室中工作的另一大福利,是看着周围的同事鼓捣新奇的技术。2013年Sandy飓风后, ProPublica制作了3D的洪水预警地图, 展现Sandy对纽约的洪水预警机制产生了什么影响. 为了使读者能够在地图上探索自己感兴趣的区域, ProPublica并没有使用其他网站制作3D模型时常用的Maya, 而使用了WebGL, 并且为其创造了一种新的文件格式, 将polygon转化为简单的二进制文件.

3d flood map

New Maps and a New Plan for New York,ProPublica

ProPublica最近又打起了卫星图像的主意。本文一开始提到的Losing Ground 是业界利用卫星图像最成功的例子。路易斯安那的海岸侵蚀长时间收到各种媒体的关注,ProPublica利用二十世纪五十年代到2012年的卫星图像,第一次完整直观地展示了海岸受到侵蚀的面积、位置。美国地质调查局(USGS)向公众免费提供包含地理信息的卫星图像。有了这些地理信息,记者可以准确地将卫星图像与实际位置对应。

但是这项工作在操作层面有很大的困难。例如,每一张卫星图像覆盖的范围有限,很多还有云层遮挡;卫星图像的色彩与真实陆地海洋的色彩相去甚远;卫星图像巨大浏览器难以加载;卫星图像使用的投影标准和网页使用的投影标准完全不同等等。ProPublica花了大量时间解决这些技术问题,并使用自己开发的Simple Tiles这一工具制作像素图,还派记者亲自到路易斯安那海岸放飞携带相机的气球,拍摄带有地理位置信息的照片,报道路易斯安那州是如何花重金对抗海岸侵蚀,重建土地的。在这一项目上线之后,ProPublica仍在积极寻找实时卫星图的提供组织。这组新闻应用的其他技术细节在这篇博客中有详细解释。

过去的几个月对我来说紧张刺激又收获颇丰。如果你也对以上这些内容感兴趣,并且跃跃欲试,也许你应该申请今年的ProPublica的Google Journalism Fellowship.

office_propublica

ProPublica办公室 (Photo by Mike Tigas, ProPublica)

 

作者简介

邱悦

数据新闻和视觉记者,关注可视化、财经报道和调查性报道。