原標題:程序員分析唐詩朋友圈:白居易最“大V”李白的確“負心”
漫畫:張建輝
航天工程師跨界研究玩出有趣結(jié)果,編程分析數(shù)據(jù)展示初唐、盛唐、中唐、晚唐各時期詩壇社交網(wǎng)絡。
唐朝社交網(wǎng)絡
2017年初綜藝節(jié)目《中國詩詞大會》的走紅不僅讓幾位優(yōu)秀選手家喻戶曉,還間接催生民間朗誦、學習、研究古詩詞的熱潮。在這個背景下,一個本職工作是做數(shù)據(jù)分析的程序員也閑不住了,他用自己擅長的編程語言為工具,向我們展示了計算機對全唐詩的分析成果:唐朝詩人最喜歡的季節(jié)是春天,最鐘意的動物是龍、馬,最喜歡提及的地名是江南……
這不夠,他還要告訴你全唐詩中排名第一的“好基友”是哪兩位;初唐、盛唐、中唐、晚唐各時期詩壇社交網(wǎng)絡如何,分別產(chǎn)生了以誰為中心的“朋友圈”……程序員的文章發(fā)表后,引發(fā)不凡的閱讀量與回應,同時有人文領(lǐng)域的研究者指出其不足之處。高呼“代碼改變世界”操之過急,技術(shù)的進步帶給人文社科領(lǐng)域巨大的推力卻是不爭的事實:跨界研究有益亦有趣。
全唐詩作數(shù)量“無名氏”排第四
漫畫:張建輝
2017年2月26日,“前進四先生”終于在自己的微信公眾號“前進日志”上貼出了《當我們在讀唐詩時,我們在讀什么》。說起他的職業(yè)“航天工程師”,似乎和唐詩沒有任何關(guān)聯(lián),日常工作圍著數(shù)據(jù)分析、寫程序轉(zhuǎn),是標準的“程序員”。用“前進四先生”(以下簡稱“前進四”)的話來說:“這是一個非常嚴謹?shù)男袠I(yè),容不得半點差錯。”
能寫出這篇文章,和他另一個身份定位有關(guān):古典詩詞愛好者。平日對詩詞抱有濃厚興趣,讀過不少相關(guān)書籍,在心情不好時喜歡讀詩的他和千千萬萬觀眾一樣,在春節(jié)期間關(guān)注到一檔綜藝節(jié)目《中國詩詞大會》。節(jié)目的熱度刺激了他的職業(yè)習慣:用數(shù)據(jù)分析遇到的各類問題,唐詩也包括在內(nèi)?!扒斑M四”對記者表示,用科技手段來分析文藝作品在學術(shù)界并不新鮮,其之前也讀過相關(guān)論文,如浙江大學徐永明《中國古典文學研究的幾種可視化途徑——— 以湯顯祖研究為例》。只不過這些文章多流傳在學術(shù)圈中,并沒有流傳開來。
“程序員”開始行動了。為分析唐朝詩歌,他先從網(wǎng)上找來一份全唐詩,其使用的版本共2609位作者,收錄42974首詩。通過Python(一種計算機程序設計語言)這種工具,他決定小試牛刀,分析唐詩中出現(xiàn)的字、詞,找找有哪些好玩的點。
第一個問題,唐朝詩人誰的作品數(shù)量最多?程序統(tǒng)計的結(jié)果前三名是:白居易(2643首)、杜甫(1151首)、李白(897首)。而位居第四的是N A (843首),即“無名氏”?!扒斑M四”后來告訴南都記者,這個統(tǒng)計只局限在全唐詩里,存在的不足是各個作者流傳至今的詩詞數(shù)量不一,提醒讀者其中可能存在誤差:“比如全唐詩中白居易的詩最多,這是因為白居易生前自己編纂過文集,李杜則沒有,所以白的文章流傳到后世的就比李杜的多一些”。
“難道唐朝詩人也講龍馬精神”
漫畫:張建輝
接著,他用計算機統(tǒng)計全唐詩中常見的字、詞,例如出現(xiàn)最多的字、季節(jié)、顏色、植物、動物等詞匯分別是哪些?!扒斑M四”稱,這些檢索十分簡單,只需要幾行代碼就可以實現(xiàn);而檢索的關(guān)鍵詞是他本著對于詩歌常見意象的閱讀經(jīng)驗想出來的。讓我們看看他得出的結(jié)論:唐詩中出現(xiàn)最多的字是“不”字;四季出現(xiàn)的頻率中,“春”和“秋”呈現(xiàn)出壓倒性的場面;顏色中,詩人用的最多的是“白”色;植物中,“松”“竹”最受詩人喜愛;動物中,“龍”“馬”出場次數(shù)高于其他種類,對此“前進四”開玩笑———“難道唐朝也講龍馬精神”?
至于以詞為單位的分析,他告訴記者,實際與字的分析原理相同,但借助了T H U LA C這個分詞工具?!扒斑M四”解釋,T H U LA C在分詞之后,還能同時得到詞的詞性(同時他提到,此分詞工具有缺陷。計算機之所以能分詞,是因為它從大量的人工分詞結(jié)果中學習了規(guī)律。TH U LAC是用現(xiàn)代語文分詞的材料訓練出來的,相應的,T H U LA C也就在現(xiàn)代語文材料分詞中表現(xiàn)良好,針對古代文獻沒那么理想)。比如這個詞到底是形容詞,動詞還是名詞?T H U LA C的詞性劃分得非常細致,其中就有地名詞性、時間詞性、處所詞性等,因此統(tǒng)計唐詩中出現(xiàn)的地名、時間、場景等也較為簡單。
根據(jù)“前進四”的統(tǒng)計,唐詩中最常出現(xiàn)的地名是“江南”和“長安”,他在文中如是說———“畢竟一個地方環(huán)境好,一個地方是首都,想必這兩個地方的房價一定也很貴?!蹦敲?,什么具體場景能引發(fā)詩人們的興致呢?門前、海上、江邊、樓上,“這就跟我們現(xiàn)在到景區(qū)門前要合影留念,到海邊、河邊、高樓上都要拍照發(fā)朋友圈是一個意思吧”。
更進一步, 通過w ord2vec這個工具,實現(xiàn)詞到向量的轉(zhuǎn)換,即所有詞可轉(zhuǎn)換成一長串數(shù)字。由此,計算機以數(shù)字之間的相似度可以簡單分析詩句中詞與詞之間的關(guān)聯(lián)?!扒斑M四”向記者解釋,這個轉(zhuǎn)化過程非三言兩語能說清楚。粗略來講,不同詞的上下文是不一樣的,但是又有一定的相關(guān)性。比方說“蘋果”和“梨”,這兩個詞出現(xiàn)的語境應該會很相似,比如:“我們?nèi)ニ曩I蘋果/梨吧”,“午飯后再吃個蘋果/梨”。在這兩個句子中,蘋果和梨都是可以互換的詞。而“蘋果”和“貓”就基本不可能出現(xiàn)在相同的上下文語境中。計算機通過分析每個詞上下文出現(xiàn)的詞,最后可以每個詞轉(zhuǎn)換為一串數(shù)字。上下文比較接近的詞,這串數(shù)字就比較接近。
以此手段,“前進四”找出了與“寂寞”關(guān)聯(lián)密切的10個詞:唯有、今夜、搖落、悵望、故國、伴、惆悵、深春、明日、旅。他在文中這樣寫道:“能看出來,詩人們往往在春日的深夜里,在樹葉搖落的季節(jié)里,在旅途中,懷念故國的時候,最容易寂寞。這也難怪,我寫完上個句子,都感覺有點寂寞了呢。”
最熱烈“基友”:陸龜蒙和皮日休
漫畫:張建輝
3月12日,“前進四”又貼出另一篇分析成果《計算機告訴你,唐朝詩人之間的關(guān)系到底是什么樣的》,超高的閱讀量讓他感到驚訝:“最初只是為了好玩,沒想到有這么多人喜歡?!彼嬖V記者,這篇文章寫的時候其實很隨意,遠沒有之前寫數(shù)學類文章那么認真。如果能知道有這么大的傳播度,就會更加認真些。
這篇文章,他把關(guān)注焦點放在詩人身上,試圖理清兩個詩人以至于多個詩人間的關(guān)系。如何解決呢?借助全唐詩,他把“關(guān)系”簡化為“引用關(guān)系”,即詩的標題和正文中只要提到過對方,那么兩者之間的引用關(guān)系加1。一首詩如果提到多次對方,只算一次引
用?!扒斑M四”對記者說,“這種引用關(guān)系的分析只是大體上的分析。如果要認真分析兩位詩人之間的關(guān)系,勢必要按年代順序來分析兩者之間的唱和作品,這工作量有點大,并且不是我擅長的內(nèi)容”。計算機無法對引用的詩做細微的情感分析,因此文中的詩壇“社交網(wǎng)絡”“朋友圈”都只是以“引用關(guān)系”為依托。
全唐詩共2000多名作者,詩人的別稱又很多,比如杜甫字子美,按排行稱為杜二,按官職稱為杜工部。為了讓他們對號入座、不重復、不遺漏,“前進四”使用C B D B(中國歷代人物傳記資料庫,系統(tǒng)性收錄中國歷代名人傳記資料)查詢詩人的主要信息及別名,排除年代不符的重名,手動補充遺漏部分。由于把全唐詩所有詩人關(guān)系都理出來會很亂,借助CBD B來的篩選,“前進四”將762位詩人納入社交網(wǎng)絡的關(guān)心范圍。
范圍既定,程序運行。首先,看一下著名的李白與杜甫。全唐詩中,杜甫寫了12首與李白有關(guān)的詩,李白則只有3首與杜甫有關(guān)的詩。雖然“前進四”也調(diào)侃“李白這種朋友確實差勁了一點”,但對于近來網(wǎng)上流傳的李杜二人的段子,他覺得“看看笑笑就好”?!扒斑M四”表示,杜甫寫李白的詩多,一方面因為李白是長輩,比杜甫大了十來歲,成名時間也早得多,更多的是因為杜甫和李白的性格不同:李白飄逸,杜甫深情。
那么,唐代詩人間的唱和互動以哪兩人最為頻繁呢?排名第一的是晚唐時期陸龜蒙和皮日休,堪稱“絕對的好基友”。兩人互相提到對方的次數(shù)均達百次以上,常年酬唱的成果被集成唱和詩集《松陵集》,文學史上也留下“皮陸”的美名。
并列排名第二的則是白居易和劉禹錫、白居易和元稹。白居易與元稹是文學史上聞名的“元白”二人組,關(guān)系之親密自不待言;白居易和劉禹錫同年(772年)出生,從政道路都是“各種被貶謫”。白居易得知劉禹錫去世的消息后,還寫下了悼亡的千古名詩:四海齊名白與劉,百年交分兩綢繆。同貧同病退閑日,一死一生臨老頭。
白居易是“大V中的大V”
另外,從排名前三十的引用關(guān)系來看,白居易還與李逢吉、崔玄亮、李建、李紳等名字相連次數(shù)很多。“前進四”稱,白居易絕對是唐朝詩人朋友圈中的明星,是“大V中的大V”。
兩人間關(guān)系有了排名,“前進四”利用E C harts將前一百名引用關(guān)系圖示化,得到詩人們的社交網(wǎng)絡圈。依據(jù)引用度的強弱,關(guān)系圖顯示出了唐朝詩人的兩個大型朋友圈:盛唐杜甫-李白朋友圈、中唐白居易朋友圈。
對于白居易這個“社交核心”,“前進四”向南都記者解釋,社交網(wǎng)絡圈的核心人物,就是與其他文人發(fā)生聯(lián)系比較多,并且在文壇上有一定名望的人。白居易是其中典型,白與其同時代的其他文人都有聯(lián)系,并且是當時的詩壇領(lǐng)袖。
除此之外,從初唐、盛唐、中唐、晚唐分階段看,初唐詩人中關(guān)系最好的是宋之問和沈銓期,兩位正是宮廷詩人的代表,確定了近體詩的格律,史稱“沈宋”;晚唐詩人的社交網(wǎng)絡比較散亂,沒有明顯的核心。其中最重要的就是李商隱和杜牧,文學史也以“小李杜”認證。
跨界回響
“這個數(shù)據(jù)統(tǒng)計很有趣但還流于簡單”
以“前進四”這個程序員的思維,計算機不僅可以分析唐詩,還可以解剖其他時代的文獻,梳理時代人物關(guān)系。當然前提是這種分析需要“對當時的時代有一定的了解”。伴隨著計算機技術(shù)的發(fā)展和古典文獻的數(shù)字化進程,他對做出中國歷史人物關(guān)系圖的愿景抱有期待。
就程序員的思路,南都記者請教了一位人文領(lǐng)域研究者劉銳。劉銳現(xiàn)在香港教育大學中國語言學系做詞匯語義學、語料庫語言學方面的研究。他評價兩篇文章稱:這種文理之間、文科和工程科學之間的跨界,在大眾看來還比較新奇,想必這和教育體制的文理分科在大眾中形成的觀念有關(guān)。這樣的文章雖然算不上學術(shù)研究(其實很多是程序員的“練筆之作”),但是對于向大眾普及文理合流、文理相通的觀念很有幫助。由此可以看到跨界和學術(shù)走入生活的趨勢。通過一些計算機技術(shù),從宏觀的方面揭示詩詞歌曲的特點,并通過現(xiàn)代人熟知的一些概念表達出來,比如“社交網(wǎng)絡”、朋友圈等,能夠引發(fā)大眾對現(xiàn)象的思考,和對學術(shù)的興趣。
劉銳告訴南都記者,之前他看過另一篇很火的文章《我分析了42萬字的歌詞,為了搞清楚民謠歌手們在唱些什么》,是用計算機方法分析歌詞。相比之下,“前進四”的文章所用材料數(shù)量更大,分析較為嚴謹。不過,就學術(shù)研究而言,失之簡單。做詩歌研究繞不過文學史。詩人社交網(wǎng)絡、詩壇核心,考量的維度很多,“除了詩歌的互引,還比如各種史料記載的詩人交游的情況,詩人對文學風格的影響,貢獻等。如果文章根據(jù)制圖得出結(jié)論后再查查文學史,若能互相印證,會更有說服力”。
同時他認為,基于字詞統(tǒng)計的方法是語言學中常用的方法,比如漢語中哪些是常用詞,就用統(tǒng)計方法加一些語言學原理來確定。但是“前進四”的字詞統(tǒng)計還是流于簡單?!霸姼杈毜囊饬x不說,單說這個字詞統(tǒng)計沒有考慮到多義詞、多義字的情況,這就不是很可靠了。而且他用的分詞軟件是不是適用于古漢語呢?古今漢語的分詞是非常不同的”。
劉銳表示,整體而言他很樂見這種“跨界研究”。據(jù)他介紹,學術(shù)領(lǐng)域有一門計算語言學,專門用計算機研究語言。由此能驗證出不少有趣的結(jié)論,最著名的便是“齊普夫定律”。此定律有點像所謂的“二八定律”,是最省力法則在語言中的體現(xiàn)。
他山之石
“數(shù)據(jù)挖掘”
在歷史研究中大有可為
實際上,程序員的這次“跨界”也得到不少人文領(lǐng)域讀者的關(guān)注?!坝行┎粫懘a的朋友,他們想知道有沒有現(xiàn)成的工具可以對其他文獻進行分析”;還有一些讀者和“前進四”交流對話,由此他聽說了數(shù)字史學(digital history)這一概念,才明白自己的文章用計算機分析、展示歷史,可以算作“數(shù)字史學”的范疇。
“前進四”口中的數(shù)字史學,據(jù)南京大學歷史系王濤的論文《挑戰(zhàn)與機遇:“數(shù)字史學”與歷史研究》介紹,早在上個世紀90年代就有了這一概念。信息技術(shù)革命與“大數(shù)據(jù)”時代的到來,為史學研究史料整理、分析思路造成了不小的沖擊。論文認為,計算機“數(shù)據(jù)挖掘”的特長在歷史研究中大有可為。王濤提到,2007年開始,哈佛大學由谷歌公司支持,借助電腦“閱讀”百萬計電子書,利用n-grams分析書籍中出現(xiàn)的重要詞匯,獲悉不少有趣的結(jié)果。例如,對著名歷史人物的成名過程有了定量的描述,而且發(fā)現(xiàn)成名的準備期從20世紀中期開始變得越來越短;對歷史上出現(xiàn)的瘟疫流行路線有了清晰的描繪;主流文化對技術(shù)進步的接納,在19世紀初平均需要66年,而在1880—1920年間,則只需27年。
無論是“計算語言學”還是“數(shù)字史學”,離普通人還是有些距離。不過,善用搜索工具、用程序處理人文,總能帶給你意想不到的結(jié)論。畢竟,依照計算機分析,現(xiàn)代民謠歌手在歌詞中最喜歡春天,最愛念叨“南方”,和全唐詩中詩人的偏愛有那么一絲接近呢。
責任編輯:海凡
- 文章當導演幕后照片曝光,他給馬云、吳京講戲,網(wǎng)友:看著挺專業(yè)2017-11-14
- 《功守道》請來李連杰!干兒子文章當導演編劇,徒弟向佐負責打2017-11-07
- 文章找了不會功夫的他來參演《功守道》電影,其實是為了報恩2017-11-06
- 馬云的《功守道》那么多大咖導演不用,憑啥選文章,原來關(guān)鍵在這2017-11-06
- 《演員的誕生》劉燁出師不利!不僅被翟天臨KO,還被黃渤吊打2017-11-06
- 馬云《功守道》最憋屈的是導演文章!這陣容誰都不敢得罪!2017-11-04
- 文章鄧超李晨王寶強的電影處女座,票房最低的竟然拿了最大獎2017-11-02
- 李連杰力捧干兒子文章,請來馬云當主角?陣容強大數(shù)位巨星加盟2017-10-30
- 《蒙面唱將猜猜猜2》文藝青年高冷范兒的“詩人”到底是誰?2017-10-27
- 姚笛與富二代男友低調(diào)現(xiàn)身機場,這次終于不關(guān)文章什么事了!2017-10-17
- 最新科技數(shù)碼 頻道推薦
-
被國產(chǎn)手機打趴!三星手機在國內(nèi)市場份額狂降2017-11-14
- 進入圖片頻道最新圖文
- 進入視頻頻道最新視頻
- 一周熱點新聞
已有0人發(fā)表了評論