正文 第二章算法與心跳異常值
加入書簽
章節字數:2958
滾屏速度:
保存設置 開始滾屏
楊臻盯著電腦屏幕上閃爍的光標,手指在鍵盤上懸停了足足十秒。這是他第十七次修改情詩生成器的代碼,而距離他拿到夏予的微信已經過去了四十八小時。
”情感分析模塊...”楊臻嘟囔著,調出前兩天從文學論壇爬取的三千首現代詩數據,”到底要怎麼量化”浪漫”?”
實驗室的掛鍾指向淩晨一點,同門師兄早就回宿舍了,隻剩下通風櫃運轉的嗡嗡聲作伴。楊臻揉了揉發酸的眼睛,點開微信裏那個星空頭像的對話框。上一條消息還停留在夏予發來的幾條機器學習論文鏈接,而他回複的”謝謝”後麵跟著一個尷尬的微笑表情。
楊臻的手指在鍵盤上徘徊了一會兒,終於敲下一行字:
【情詩生成器v2.0改好了,但情感分析還是不太對。你說過可以給你看看?】
發送完他就後悔了——夏予明確說過”別在正常作息時間發消息”,而現在顯然是深夜。楊臻正打算撤回,手機卻突然震動起來。
夏予的回複簡短得令人窒息:【現在?】
楊臻手忙腳亂地打字:【你在熬夜?】
【廢話。數學建模大賽下周截止。】緊接著又發來一條:【你在哪?】
【生物實驗樓307】
【等著。】
楊臻盯著最後兩個字,心跳莫名其妙加快了。他環顧四周——實驗台上散落著培養皿和移液槍,角落裏堆著幾箱實驗用的果蠅,空氣中飄著淡淡的乙醇味道。這顯然不是個適合接待客人的環境。
他手忙腳亂地把幾盒危險試劑鎖進櫃子,用紙巾擦了擦唯一一張還算幹淨的椅子,又對著窗戶玻璃扒拉了兩下自己亂糟糟的頭發。剛做完這些,實驗室的門就被推開了。
夏予穿著寬鬆的灰色衛衣,懷裏抱著筆記本電腦,頭發看起來比白天見麵時更蓬鬆一些,像是剛洗過。他掃了一眼實驗室,目光落在楊臻身上:”你平時就住這兒?”
”啊?不,我隻是...”楊臻突然意識到自己還穿著白大褂,”實驗沒做完。”
夏予不置可否地哼了一聲,徑直走到楊臻旁邊的座位放下電腦。他身上的薄荷香氣混著一絲洗發水的味道,在充滿化學藥劑氣味的實驗室裏格外清晰。
”代碼給我看看。”夏予伸出手。
楊臻趕緊把筆記本轉向他:”我按你說的擴充了語料庫,加入了三百首獲獎現代詩,還嚐試用TF-IDF算法提取關鍵詞...”
夏予快速瀏覽著代碼,眉頭越皺越緊。楊臻緊張地注視著他的表情,像是在等待實驗結果的答辯。
”停。”夏予突然指著屏幕中間的一段,”這裏,你為什麼要用餘弦相似度計算情感值?”
”因為...因為這樣能比較兩首詩的情感接近程度?”楊臻不確定地回答。
夏予歎了口氣,打開自己的電腦:”情感分析不是這麼做的。”他的手指在鍵盤上飛快敲打,調出一個複雜的矩陣,”你看,情感有維度,不僅僅是正向負向那麼簡單。”
楊臻湊過去,不小心碰到了夏予的肩膀,立刻觸電般縮回來:”抱歉。”
夏予似乎沒注意到這個小插曲,繼續指著屏幕:”喜悅、悲傷、憤怒、驚訝...每種情感在文本中的表達方式不同。你的算法隻識別了明顯的形容詞,卻忽略了隱喻和象征。”
楊臻眨了眨眼:”所以你的意思是...”
”意思是你的情詩生成器產出的全是直白的廢話。”夏予直截了當地說,””你的眼睛像星星”——這種連小學生都能寫出來的比喻,林喻會喜歡才怪。”
楊臻的肩膀垮了下來:”那我該怎麼辦?”
夏予瞥了他一眼,突然把電腦往中間推了推:”過來看。”
接下來的兩小時裏,楊臻經曆了他人生中最燒腦也最奇妙的”編程課”。夏予一邊修改代碼一邊解釋,從詞向量空間講到注意力機製,時不時冒出幾句毒舌點評:”你一個搞生物的連基本的自然語言處理都不懂?””這段代碼寫得像大腸杆菌爬出來的。”
但奇怪的是,楊臻並不覺得被冒犯。相反,夏予談論數學時眼中閃爍的光芒,修長手指在鍵盤上敲出的節奏,甚至是他不耐煩時微微上揚的語調,都讓楊臻感到一種奇特的吸引力。
”試試現在。”夏予終於停下敲打,把電腦推回給楊臻。
楊臻運行了修改後的程序。屏幕上緩緩出現幾行詩:
”夜晚是未解的函數方程
我在每個變量裏尋找你的軌跡
愛是唯一的收斂證明”
楊臻屏住呼吸:”這...這比我之前生成的好太多了。”
”廢話。”夏予靠在椅背上,嘴角微微上揚,”至少現在看起來像人類寫的了。”
楊臻反複讀著那幾行詩,突然意識到一個問題:”但這首詩的風格...好像不太適合林喻?他喜歡更古典的...”
夏予的表情突然變得古怪:”所以你還是要用這個去挽回前男友?”
楊臻愣住了。他這幾天沉迷於改進程序,幾乎忘了最初的目的。”我...我隻是...”
”隨便你。”夏予突然合上電腦,”反正代碼已經改好了。”
實驗室陷入一陣沉默。楊臻偷偷觀察夏予的側臉——在電腦屏幕的冷光下,他的睫毛投下一片細密的陰影,鼻梁的線條像數學曲線一樣優美。楊臻發現自己竟然記不起林喻長什麼樣了。
”那個...”楊臻打破沉默,”你剛才說的數學建模大賽,是什麼題目?”
夏予略顯驚訝地看了他一眼:”你感興趣?”
”呃,好奇問問。”楊臻撓撓頭,”畢竟你幫我改了代碼...”
夏予猶豫了一下,打開一個文件:”城市交通流量優化。我們需要建立一個模型預測擁堵點。”
楊臻湊過去看屏幕上的方程,這次刻意保持了一點距離:”這個微分方程是不是可以考慮加入...”
”生物群體行為模型?”夏予接上他的話,眼睛一亮,”你懂這個?”
”略懂一點。”楊臻不好意思地承認,”我本科做過螞蟻路徑規劃的課題。”
夏予的表情第一次出現了明顯的興趣:”真的?數據能給我看看嗎?”
淩晨三點,當實驗室的咖啡機發出最後一聲哀鳴時,楊臻和夏予已經深入討論了半個小時的群體智能算法。楊臻的白大褂上畫滿了潦草的公式,夏予的衛衣袖子沾上了咖啡漬,但兩人都沒注意到。
”所以如果你把這裏改成啟發式搜索...”楊臻指著屏幕,突然打了個大大的哈欠。
夏予看了看時間:”你該回去睡覺了。”
”再等會兒,這個算法馬上就...”楊臻的話被另一個哈欠打斷,眼皮沉重得像灌了鉛。
夏予搖搖頭,保存了文件:”明天再繼續。你們生物狗不需要睡眠,我們數學係的可不行。”
楊臻想反駁,卻發現自己已經困得睜不開眼了。他迷迷糊糊地趴在實驗台上,感覺有人輕輕推了推他的肩膀。
”楊臻?醒醒,回宿舍睡。”
”五分鍾...”楊臻嘟囔著,意識已經飄遠。
朦朧中,他感覺有什麼柔軟的東西蓋在了自己肩上,還有一絲若有若無的薄荷香氣。他想抬頭看看,但睡意像潮水一樣將他淹沒。
當清晨的陽光透過實驗室窗戶照進來時,楊臻猛地抬起頭,發現身上披著一件灰色衛衣——明顯小了一號,袖口有淡淡的咖啡痕跡。
實驗室裏空無一人,隻有他的電腦還開著,屏幕上貼著一張便利貼:
”代碼已優化,螞蟻數據我拷走了。衛衣記得還我。
PS:你的睡相像被麻醉的青蛙。”
楊臻捏著便利貼,突然注意到下麵還有一行小字:”如果你真想學NLP,周三晚上數學樓304有討論班。”
他小心地疊好便利貼,把臉埋進那件衛衣深吸一口氣——全是夏予身上的薄荷味。一種奇怪的感覺在胸口膨脹,像是離心機裏的溶液被加速旋轉。
楊臻摸出手機,點開夏予的對話框,輸入又刪除了好幾遍,最後隻發出一條:
【衛衣在我這,周三討論班幾點?】
幾乎是立刻,回複就來了:【7點。別遲到,我討厭等人。】
楊臻忍不住笑了。他看了看手中《前任複活指南》的草稿,突然覺得那個標題刺眼得厲害。翻開新的一頁,他寫下了一個新標題:
《異常心跳原因分析報告》
可能變量:
1.睡眠不足
2.咖啡因過量
3.與夏予獨處時奇怪的生理反應
楊臻盯著第三條看了一會兒,又匆匆劃掉,改成:”3.對數學能力的敬佩之情”。
但當他再次聞到衛衣上殘留的薄荷香時,離心機裏的溶液似乎旋轉得更快了。