在那张地图上,他们相距并不遥远

7月25日15时,河南暴雨求助信息 站的页面截图。

当地时间7月22日晚上,李天石团队开第一次会议。

当地时间7月22日7时,团队成员在删除“粉丝”“饭圈”相关的条目。

GitHub代码托管平台记录下每位程序员的贡献图。坐标轴上显示了随着时间变化,代码的改动数目。

东北女孩李天石在美国卡内基梅隆大学攻读博士学位。这个夏天,她和男友沈俊睿过着典型的“博六”生活,每天开组会、搞科研;4073公里外的华盛顿大学,博士生张明瑞最近正忙着暑期实习,在科技公司写代码。下班回家,他打开攒了好久的日剧剧集,发誓“今晚绝不加班”;11172公里外的北京,北京大学前沿计算研究中心的博士生蒋鸿达正忙着帮实验室开展保研季的招生工作、推进手头项目。

在7月里的某一天,这些年轻人并不知道,他们会因一场暴雨展开一次跨国合作。

李天石是在刷微博时,注意到河南的雨。她关注灾情实时动态,点开热搜词条,看到大量求救信息。

“焦虑、担心。”她回忆,当时问自己,“我能做些什么?”

河南遭遇强降雨天气,郑州是舆论关注的绝对中心。但李天石注意到,当她点开一条郑州雨情的信息时,就会在评论区看见被“淹没”的声音:“看看卫辉吧”“巩义请求救援”等。到了北京时间7月21日,微博“河南互助救援”话题下已涌入14万条讨论博文。求救信息繁乱、庞杂,热度稍低的消息一瞬间就被信息的海洋吞没。

李天石思考,能不能建一个 页,将求助消息的地理位置提取出来,标注在地图上,以二维的、扁平的图像直观地呈现灾情。

太平洋夏令时7月21日22时44分,她和男友在朋友圈发布了这一想法。

看到李天石的朋友圈,身在华盛顿、发誓“今晚绝不写代码”的张明瑞食言了。他掏出工作电脑,打开程序语言界面。北京的蒋鸿达则被导师告知:留美学生团队正在针对河南灾情制作救援信息地图,需要他的帮助。

就这样,在不同时区,4名初创成员开始搭建第一版救援地图。

这支小分队成立后5小时, 页正式上线。

“这个项目更像一座桥。”张明瑞在解释程序运行原理时这样比喻,桥的一端是互联 中海量的求救信息,另一端则是呈现在用户面前的地图。计算机会按程序指令,将 络发布的求救信息中的地址提取出来,汇总到已有的地图软件后台,地图软件会在需要救援的地方打上一个红色的标记。流经鹤壁的卫河被暴雨灌满,洪水漫上堤坝,村民发出了求救信息。机器获取到救援信息,在地图上标注红点:“浚县陈村北人工堤快要决堤,请求救援!请求救援!”

开发团队将 页链接发在朋友圈,有朋友帮忙转到微博,希望能扩大受众面。

随着时间推移,信息流不断汇聚到地图上,红色坐标显示的是求救者位置,经纬度精确到小数点后6位。那条标有河南拼音的 址出现在朋友圈、微博、科技论坛……地图开始扩散。

李天石和她的团队起初并没有想到,这张地图能引来很多人的关注。“当初就想着把它搭出来,能帮到人就好,传播不开的话就当作一次练手。”事实上,就在上线的第二天, 页就涌入了8万多的浏览量。宣传救援地图的那条微博,因转发量过大而被限流。救援地图上线的当天,张明瑞接到了河南开封蓝天救援队的电话,他们希望能在救援地图上发布消息,征集雨衣、胶鞋以及手电筒。

“程序已经开始了它的生命。”李天石和她的团队意识到,“在最初制作的时候,程序的走向完全靠开发者的意愿,但当更多的人了解和使用它时,它就不再完全属于你,用户的需求、想法决定了它的成长轨迹。”在救援地图的界面中,李天石开出“版本日志”小专栏,用于记录程序的更新历程。

优化信息筛选是最为紧要的。最初,计算机通过“河南”“救援”“暴雨”等关键词在微博中提取信息。但四人小分队很快发现,这种粗筛的方式会让不少无关信息混入其中。

“误抓”最多的是明星救灾、捐款的内容。张明瑞主要负责文本抓取和处理,程序上线初期,某些明星的名字一直占据他的电脑屏幕。

张明瑞说:“如果真正有需求的用户在救援地图中看到一则明星灾区救援的消息,他肯定就不想往下看了。”他的首要任务就是将这些无关信息剔除出去。

好在,明星的宣传文案“有一套自己的话术”,计算机程序通过学习能够识别并筛除相关内容。“我理解粉丝的心理,自家爱豆做了好事,肯定希望扩散让更多人知道,但占用救援信息传播的通道来增加曝光量确实不妥。”张明瑞与这类无效信息斗争了小半天:“这是对救援标签的污染。”

地图程序还在不断迭代。“救援信息是有时效性的。”开发团队意识到这一点。在初代救援地图中,求助的标识密布整个河南版图,李天石在想,是否能在二维空间呈现的基础上,增加时间筛选的维度,“救援队能根据时间节点更快作出救援判断,关注灾情的 友也能直观地看到事态发展。”最终,他们通过增加“时间轴”的控件实现了这一需求。拉动时间轴,可以看到从最近2个小时到过去12小时,每一个小时内所发布的信息。

李天石的团队也更新了。曹禹是清华大学软件学院的在读博士生。救援地图上线第二天,他申请参与到前端的“可视化开发”;博士生徐栩海是张明瑞的同学,他和自然语言处理方向的硕士生孙壬梁一起,共同负责数据标注及文本分类模型的搭建。

参与开发的远不只团队名单中的人。李天石将程序发布在论坛中,不少 友开始帮忙调试程序、提建议,还有人直接把写好的代码交给团队,希望能整合进程序。

接受采访时,李天石将 页地图左上角的信息列表圈了出来。“原本这个列表遮住了三分之一的屏幕,后来有 友帮我们加了一个折叠功能。”她指向列表右侧一个浅蓝色小箭头,点击,列表瞬间缩入屏幕左侧,“这是一个很小的功能改动,但却给地图呈现留出了更多空间。”

还有 友给他们提交了代码,能将获取的实时数据自动搬运到文本识别的文件夹。“这是特别好的想法,起初我们需要隔段时间把机器获取的信息复制、粘贴过去,这会很麻烦。”李天石介绍,当时的救援信息量不大,无法与 友提供的代码进行匹配,但 友的思路给团队带来启发,“我们借用了他的脚本实现了实时的数据更新。”

截至7月30日,第九版救援地图程序更新完毕。在一周内,地图共收录8560条有效信息,3.8万个独立账 接入 页,28万次访问……然而,这远未到终点。

“我也想出一份力,但我不会写代码怎么办?”救援地图发布以来,开发团队的私信框一直收到类似问题。“当程序面向更广泛的群体时,你才会发现,那些自己或者身边人都认为很容易的东西,对别人而言是有门槛的。”李天石后悔没能将“降低技术门槛”这一条纳入程序开发的考量。

李天石还想到了一个细节。程序最开始上线时,前端开发还未完善,打开 页时会出现卡顿的情况。评论区有 友留言,“外地 友尽量不要点开,不要给服务器压力,保持 页流畅”。“真的不是因为这个。”李天石半是感动半是无奈地表示,“大家对技术细节不太了解,以为服务器压力太大,其实是我们开发太匆忙,还没优化好。”

“用更低门槛、更广泛易懂的方法,让大家使用这一程序,感受到程序的价值。” 7月31日晚,开发团队开了个小会,“让程序更友好,操作更简单”将是他们之后的调整目标。

李天石的想法不止于此。“我想更多地去了解这种可视化功能在什么场景、对哪些群体是比较有用的。”虽然相隔万里,她感觉自己也站在那场暴雨中,她的身份是一名关注灾情动态的 民,她需要的是直观、实时的灾情动态,“这也是我凭直觉开发程序的动因。”但在救援的过程中,还有更多方的力量,求救者、救援队、志愿者,每一个群体都有他们的诉求。

她正在思考一个计划,灾情结束后,她要去联系志愿者与救援队,摸清他们的工作流程,看看“哪些问题能够让机器介入并解决”。她还想看志愿者使用程序的过程。讲到自己的专业领域,李天石有些兴奋,“我会记录下他们点击了哪些功能,对哪些信息比较感兴趣,包括光标会在哪些地方来回划过。”这些内容,能帮助她更好地把握程序优化的方向。

地图上交叠密布的红色标签已变为零星散落的红点。最近12小时内,唯一一条消息写着“需要蔬菜、鸡蛋2000斤、味精10袋”。李天石想,等到地图上不再出现新的求助信息,他们这一阶段的任务就完成了。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月1日
下一篇 2021年7月2日

相关推荐