在那張地圖上,他們相距并不遙遠
在那張地圖上,他們相距并不遙遠
7月25日15時,河南暴雨求助信息網站的頁面截圖。
當地時間7月22日晚上,李天石團隊開第一次會議。
當地時間7月22日7時,團隊成員在刪除“粉絲”“飯圈”相關的條目。
GitHub代碼托管平臺記錄下每位程序員的貢獻圖。坐標軸上顯示了隨著時間變化,代碼的改動數目。
東北女孩李天石在美國卡內基梅隆大學攻讀博士學位。這個夏天,她和男友沈俊睿過著典型的“博六”生活,每天開組會、搞科研;4073公里外的華盛頓大學,博士生張明瑞最近正忙著暑期實習,在科技公司寫代碼。下班回家,他打開攢了好久的日劇劇集,發誓“今晚絕不加班”;11172公里外的北京,北京大學前沿計算研究中心的博士生蔣鴻達正忙著幫實驗室開展保研季的招生工作、推進手頭項目。
在7月里的某一天,這些年輕人并不知道,他們會因一場暴雨展開一次跨國合作。
李天石是在刷微博時,注意到河南的雨。她關注災情實時動態,點開熱搜詞條,看到大量求救信息。
“焦慮、擔心。”她回憶,當時問自己,“我能做些什么?”
河南遭遇強降雨天氣,鄭州是輿論關注的絕對中心。但李天石注意到,當她點開一條鄭州雨情的信息時,就會在評論區看見被“淹沒”的聲音:“看看衛輝吧”“鞏義請求救援”等。到了北京時間7月21日,微博“河南互助救援”話題下已涌入14萬條討論博文。求救信息繁亂、龐雜,熱度稍低的消息一瞬間就被信息的海洋吞沒。
李天石思考,能不能建一個網頁,將求助消息的地理位置提取出來,標注在地圖上,以二維的、扁平的圖像直觀地呈現災情。
太平洋夏令時7月21日22時44分,她和男友在朋友圈發布了這一想法。
看到李天石的朋友圈,身在華盛頓、發誓“今晚絕不寫代碼”的張明瑞食言了。他掏出工作電腦,打開程序語言界面。北京的蔣鴻達則被導師告知:留美學生團隊正在針對河南災情制作救援信息地圖,需要他的幫助。
就這樣,在不同時區,4名初創成員開始搭建第一版救援地圖。
這支小分隊成立后5小時,網頁正式上線。
“這個項目更像一座橋。”張明瑞在解釋程序運行原理時這樣比喻,橋的一端是互聯網中海量的求救信息,另一端則是呈現在用戶面前的地圖。計算機會按程序指令,將網絡發布的求救信息中的地址提取出來,匯總到已有的地圖軟件后臺,地圖軟件會在需要救援的地方打上一個紅色的標記。流經鶴壁的衛河被暴雨灌滿,洪水漫上堤壩,村民發出了求救信息。機器獲取到救援信息,在地圖上標注紅點:“?h陳村北人工堤快要決堤,請求救援!請求救援!”
開發團隊將網頁鏈接發在朋友圈,有朋友幫忙轉到微博,希望能擴大受眾面。
隨著時間推移,信息流不斷匯聚到地圖上,紅色坐標顯示的是求救者位置,經緯度精確到小數點后6位。那條標有河南拼音的網址出現在朋友圈、微博、科技論壇……地圖開始擴散。
李天石和她的團隊起初并沒有想到,這張地圖能引來很多人的關注!爱敵蹙拖胫阉畛鰜,能幫到人就好,傳播不開的話就當作一次練手!笔聦嵣,就在上線的第二天,網頁就涌入了8萬多的瀏覽量。宣傳救援地圖的那條微博,因轉發量過大而被限流。救援地圖上線的當天,張明瑞接到了河南開封藍天救援隊的電話,他們希望能在救援地圖上發布消息,征集雨衣、膠鞋以及手電筒。
“程序已經開始了它的生命!崩钐焓退膱F隊意識到,“在最初制作的時候,程序的走向完全靠開發者的意愿,但當更多的人了解和使用它時,它就不再完全屬于你,用戶的需求、想法決定了它的成長軌跡!痹诰仍貓D的界面中,李天石開出“版本日志”小專欄,用于記錄程序的更新歷程。
優化信息篩選是最為緊要的。最初,計算機通過“河南”“救援”“暴雨”等關鍵詞在微博中提取信息。但四人小分隊很快發現,這種粗篩的方式會讓不少無關信息混入其中。
“誤抓”最多的是明星救災、捐款的內容。張明瑞主要負責文本抓取和處理,程序上線初期,某些明星的名字一直占據他的電腦屏幕。
張明瑞說:“如果真正有需求的用戶在救援地圖中看到一則明星災區救援的消息,他肯定就不想往下看了!彼氖滓蝿站褪菍⑦@些無關信息剔除出去。
好在,明星的宣傳文案“有一套自己的話術”,計算機程序通過學習能夠識別并篩除相關內容。“我理解粉絲的心理,自家愛豆做了好事,肯定希望擴散讓更多人知道,但占用救援信息傳播的通道來增加曝光量確實不妥!睆埫魅鹋c這類無效信息斗爭了小半天:“這是對救援標簽的污染!
地圖程序還在不斷迭代!熬仍畔⑹怯袝r效性的!遍_發團隊意識到這一點。在初代救援地圖中,求助的標識密布整個河南版圖,李天石在想,是否能在二維空間呈現的基礎上,增加時間篩選的維度,“救援隊能根據時間節點更快作出救援判斷,關注災情的網友也能直觀地看到事態發展。”最終,他們通過增加“時間軸”的控件實現了這一需求。拉動時間軸,可以看到從最近2個小時到過去12小時,每一個小時內所發布的信息。
李天石的團隊也更新了。曹禹是清華大學軟件學院的在讀博士生。救援地圖上線第二天,他申請參與到前端的“可視化開發”;博士生徐栩海是張明瑞的同學,他和自然語言處理方向的碩士生孫壬梁一起,共同負責數據標注及文本分類模型的搭建。
參與開發的遠不只團隊名單中的人。李天石將程序發布在論壇中,不少網友開始幫忙調試程序、提建議,還有人直接把寫好的代碼交給團隊,希望能整合進程序。
接受采訪時,李天石將網頁地圖左上角的信息列表圈了出來!霸具@個列表遮住了三分之一的屏幕,后來有網友幫我們加了一個折疊功能。”她指向列表右側一個淺藍色小箭頭,點擊,列表瞬間縮入屏幕左側,“這是一個很小的功能改動,但卻給地圖呈現留出了更多空間。”
還有網友給他們提交了代碼,能將獲取的實時數據自動搬運到文本識別的文件夾。“這是特別好的想法,起初我們需要隔段時間把機器獲取的信息復制、粘貼過去,這會很麻煩!崩钐焓榻B,當時的救援信息量不大,無法與網友提供的代碼進行匹配,但網友的思路給團隊帶來啟發,“我們借用了他的腳本實現了實時的數據更新!
網頁操作的流暢度得到提升,救援信息篩選、提取的精度也不斷提高。彼時,救命文檔刷爆網絡,張明瑞提出用共享文檔“飛書”輔助程序運行。開發團隊開始與其他志愿者團隊對接,將已審核的救援信息整合進入文檔,再供機器處理,在地圖上呈現。
隨著共享文檔的引入,團隊中加入了人工審核員的角色。文檔中,志愿者會根據信息的內容打上“物資”“求助”等標簽,進行人工分類。人工的介入本不在李天石的計劃中,“我一開始是希望它完全自動化,但后來意識到,其實人在里面依然是重要的角色! 機器完成了諸如數據搬運、粗篩以及地圖標志等重復性工作,更為細致的分類工作需要人來完成。
“機器也能做類似的分揀,但準確度不夠。在時間有限且數據雜亂的情況下,求助于人是更好的選擇!睆埫魅鹗恰霸黾尤斯徍藛T”想法的提出者,審核員一欄留下了他的名字,“它還能形成一個回路,人對信息的標識結果會反饋給機器,機器通過學習能進一步優化它們的識別!边@一次,機器和人配合完美。
截至7月30日,第九版救援地圖程序更新完畢。在一周內,地圖共收錄8560條有效信息,3.8萬個獨立賬號接入網頁,28萬次訪問……然而,這遠未到終點。
“我也想出一份力,但我不會寫代碼怎么辦?”救援地圖發布以來,開發團隊的私信框一直收到類似問題!爱敵绦蛎嫦蚋鼜V泛的群體時,你才會發現,那些自己或者身邊人都認為很容易的東西,對別人而言是有門檻的!崩钐焓蠡跊]能將“降低技術門檻”這一條納入程序開發的考量。
“人工審核員”這一崗位,就因為技術門檻將不少熱心人士“卡”了出去。張明瑞曾經和兩個志愿者團隊進行對接,對方希望協助團隊篩選、分類和審核的工作。然而,為了能讓機器讀懂人工分揀的結果,志愿者需要接受培訓,按照嚴格的格式進行信息處理!斑@需要一定的學習周期和成本。”張明瑞說,“但時間緊迫,要優先用最簡單、最易接受的方式。”志愿者團隊沒能真正加入,倒是他計算機系的幾名師弟參與其中。
李天石還想到了一個細節。程序最開始上線時,前端開發還未完善,打開網頁時會出現卡頓的情況。評論區有網友留言,“外地網友盡量不要點開,不要給服務器壓力,保持網頁流暢”!罢娴牟皇且驗檫@個!崩钐焓胧歉袆影胧菬o奈地表示,“大家對技術細節不太了解,以為服務器壓力太大,其實是我們開發太匆忙,還沒優化好!
“用更低門檻、更廣泛易懂的方法,讓大家使用這一程序,感受到程序的價值! 7月31日晚,開發團隊開了個小會,“讓程序更友好,操作更簡單”將是他們之后的調整目標。
李天石的想法不止于此。“我想更多地去了解這種可視化功能在什么場景、對哪些群體是比較有用的!彪m然相隔萬里,她感覺自己也站在那場暴雨中,她的身份是一名關注災情動態的網民,她需要的是直觀、實時的災情動態,“這也是我憑直覺開發程序的動因!钡诰仍倪^程中,還有更多方的力量,求救者、救援隊、志愿者,每一個群體都有他們的訴求。
她正在思考一個計劃,災情結束后,她要去聯系志愿者與救援隊,摸清他們的工作流程,看看“哪些問題能夠讓機器介入并解決”。她還想看志愿者使用程序的過程。講到自己的專業領域,李天石有些興奮,“我會記錄下他們點擊了哪些功能,對哪些信息比較感興趣,包括光標會在哪些地方來回劃過!边@些內容,能幫助她更好地把握程序優化的方向。
救援地圖的開發者們相信,可視化技術會為這類事件帶來更多幫助。比如,中國留學生團隊在“一畝三分地”留學論壇中開發了“世界疫情實時動態”的網頁,以可視化方式實時呈現新冠肺炎疫情的分布與發展,它也成為美國疾控中心(CDC)參考數據的來源之一;國外一款名為CITIZEN的程序,能呈現用戶周邊的突發事件以及新冠肺炎疫情傳播情況,從而幫助用戶規避風險……目前,李天石和她的團隊也已將救援地圖程序“開源”,歡迎網友借用或者協助更新。
隨著河南災情的緩解,網頁的訪問量也開始下降。撲在地圖上快兩周的李天石,需要把手頭上的科研任務趕一趕;張明瑞終于有時間把落下的日劇補上,停更的個人公眾號也恢復更新;蔣鴻達收到了好消息,論文被頂級學術會議收錄,上周四,他和實驗室的朋友聚在一起觀看東京奧運會乒乓球男單半決賽,為馬龍歡呼。
地圖上交疊密布的紅色標簽已變為零星散落的紅點。最近12小時內,唯一一條消息寫著“需要蔬菜、雞蛋2000斤、味精10袋”。李天石想,等到地圖上不再出現新的求助信息,他們這一階段的任務就完成了。
實習生 盧思薇 來源:中國青年報