唐朝詩人最大的兩個朋友圈是杜甫-李白朋友圈、白居易朋友圈。他們分別是盛唐和中唐兩個時期的核心詩人
我還在念中學的時候,每當心情不好,就靠讀詩詞來排遣,慢慢讀得多了,就發現唐朝詩人之間存在微妙的關系。比如杜甫非常喜歡李白,到了做夢都想見李白的地步:三夜頻夢君,情親見君意(《夢李白》)。而李白向孟浩然也表白過:吾愛孟夫子,風流天下聞(《贈孟浩然》)。孟浩然的好基友則是王昌齡:數年同筆硯,茲夕間衾裯(《送王昌齡之嶺南》)。
出于好奇心,我一度想理清楚他們之間的關系。但是全唐詩一共四萬多首,再加上詩人之間經常稱呼對方的別稱,整理起來非常麻煩,慢慢地就絕了這個念頭。前不久,又想起來這段15年前的心事。事不宜遲,拖了這么多年的愿望,不能再拖了。這次,我將用編程的方式完成這件事。
要完成這件事需要解決的主要問題有兩點:全唐詩數量太多,一共四萬多首。詩人的別稱太多,比如杜甫,按字稱為子美,按排行稱為杜二,按官職稱為杜工部。
至于第一點,我們現在用計算機來做,再多也無所謂。第二點解決起來則稍微費事些,我們使用哈佛大學編纂的《中國歷代人物傳記資料庫》(CBDB),CBDB記錄了中國歷代名人的傳記資料,并保存在關系型數據庫中。
利用CBDB查找詩人的別名
由于CBDB收羅的歷史人物太多,重名現象非常嚴重。經過一番探索,我們最終設置了如下的排除重名策略。
第一,如果人物生卒年俱全,那么只要生卒區間和唐朝持續時間有交集即可。如果存在這樣的詩人,那么直接把這個人作為全唐詩中的作者。第二,如果人物只有生年或者卒年,那么生年或卒年必須在唐朝的持續時間內。將這樣的人加入候選人列表。第三,如果人物生卒年都不詳,那么舍棄之。
經過這三條判斷之后,如果候選人列表為空,那么說明CBDB中沒有目標人選,就舍棄這位詩人。如果候選人多于一個,則說明排除重名失敗,舍棄這位詩人。這種策略并不完美,可能存在部分著名詩人被舍棄的情況。對此,我就手動添加了他們。還有部分詩人的別稱比較尷尬,屬于唐詩中的常用詞,需要手動去除。
經過這一番篩選,全唐詩中原本的2609位作者,就只剩下了762位。其實這就夠了,著名的詩人都在這個列表當中,接下來我們只關心這762位詩人之間的關系。
從引用關系排名看詩人間的互動
利用上面提到的詩人及別稱列表,我們在全唐詩中搜索詩人之間的引用關系,規則是:詩的標題和正文中只要提到過對方,那么兩者之間的引用關系就加1分。一首詩如果多次提到對方,只算一次引用就可以。經過計算機的一番運轉,最終得到了引用關系表。
比如,李白和杜甫之間的引用關系是:杜甫寫了12首與李白有關的詩,很多都成為傳世名句,比如,杜甫的《飲中八仙歌》描述的李白極具魅力:
李白斗酒詩百篇,長安市上酒家眠。
天子呼來不上船,自稱臣是酒中仙。
李白則只有3首與杜甫有關的詩。李白這種朋友,確實差勁了一點啊……
我們的程序能夠識別出詩人的別名,比如杜甫的《寄李十二白二十韻》和李白的《魯郡東石門送杜二甫》都沒有直接提到對方的名字,但在系統中也可以檢索出來。
我給詩人之間的引用關系排了下座次,排出了前30位的引用關系。全唐詩中排名第一的好基友絕對是陸龜蒙和皮日休。這兩位詩人互相提到對方的次數都在百次以上,這是因為陸龜蒙和皮日休特別喜歡唱和,你寫一首送我,我再回一首贈你,跟現在微博大V之間的互動差不多。這兩位常年唱和,最后用往來的唱和詩作編寫了中國文學史上的第一本唱和詩集:《松陵集》。為了不辜負他們的友誼,文學史上通常將兩位合稱為“皮陸”。
并列第二的則是白居易和劉禹錫、白居易和元稹。白居易和劉禹錫同年(772年)出生,從政道路都是各種被貶謫和挫折。兩人都很長壽,劉禹錫71歲時去世,白居易則活了75歲。白居易在得知劉禹錫去世的消息后,寫下了千古名句:
四海齊名白與劉,百年交分兩綢繆。
同貧同病退閑日,一死一生臨老頭。
白居易和元稹的關系則不必多說,大家只要知道二人在文學史上被合稱為“元白”,就可以想見二人的親密關系了。從排名前30的引用關系來看,白居易絕對是唐朝詩人朋友圈中的明星,是大V中的大V。
引用關系的可視化
在進行這項工作中,我想,如果只做出一個引用關系列表,豈不是有些太干巴巴了。于是,我使用ECharts來可視化詩人之間的引用關系,最終得到詩人們的社交網絡。因為我們的統計中一共有762位詩人,為了避免畫出的圖太擁擠、看不清,我只將其中的前一百位詩人的引用關系進行圖示化。
最后,我們得出的圖清晰地顯示出唐朝詩人最大的兩個朋友圈分別是:杜甫-李白朋友圈、白居易朋友圈。他們分別是盛唐和中唐兩個時期的核心詩人。
雖然只畫出了排名前一百的引用關系,但圖片看起來還是很擁擠。文學史上將唐詩根據時間劃分為4個階段:初唐、盛唐、中唐、晚唐。接下來,我們又分別畫出這四個階段的社交網絡圖。
初唐詩人中關系最好的是宋之問和沈銓期。這兩位是宮廷詩人的代表,他們兩位確定了近體詩的格律、對仗等規則。粗略地說,近體詩的規則就是他們倆發明出來的。對了,他們倆在文學史上一般也合稱“沈宋”,看來要成為好基友,沒有文學史的認證是不行的。
盛唐詩人的核心無疑是“李杜文章在,光焰萬丈長”中提到的李白和杜甫了。在我們的圖上,我們用指向對方的圖片表示此詩人在詩句中提到對方的次數,而杜甫指向李白的箭頭比李白指向杜甫的箭頭要粗得多。盛唐的詩人們明顯分為兩群,一群以李白-杜甫為核心,一群以皇甫冉和劉長卿為核心,為什么會有這樣的局面?我本人也不清楚,對文學史比較了解的朋友歡迎賜教。
中唐詩人社交網的特征很明顯,各位詩人緊緊團結在以白居易、元稹、劉禹錫為核心的文壇政治局周圍,勠力同心,同舟共濟,為唐詩從浪漫主義向現實主義的偉大轉折做出了歷史性的貢獻。
晚唐詩人的社交網絡比較散亂,沒有明顯的核心。其中最重要的就是李商隱和杜牧了,他倆得到了文學史認證的“小李杜”好基友稱號。(文/前進四先生)