黃瑋 冉啟斌
內(nèi)容提要:本文收集了《蝶戀花(庭院深深深幾許)》等六首作者存在爭(zhēng)議的作品所涉及作者的其他作品作為訓(xùn)練語(yǔ)料,經(jīng)過(guò)分詞和特征提取后,使用樸素貝葉斯分類器學(xué)習(xí)作者特征,隨后對(duì)爭(zhēng)議作品進(jìn)行作者判斷。判斷結(jié)果詳細(xì)顯示了各首爭(zhēng)議作品的作者可能性,除《生查子·元夕》外,其余判斷結(jié)果與文獻(xiàn)考證的契合度較高。本文還收集了三組唐朝并稱詩(shī)人——“元白”“皮陸”“小李杜”的作品,使用樸素貝葉斯分類器進(jìn)行作者判斷,取得了較好的效果,進(jìn)一步驗(yàn)證了該方法在作者檢測(cè)上的有效性。
關(guān)鍵詞:作者爭(zhēng)議 作品風(fēng)格特征 樸素貝葉斯分類器 古詩(shī)詞
引言
古代文學(xué)作品中存在不少作者有爭(zhēng)議的情況。以往面對(duì)這些爭(zhēng)議,研究者主要基于文獻(xiàn)證據(jù)和主觀經(jīng)驗(yàn)來(lái)判斷,缺乏比較客觀的參數(shù)衡量。進(jìn)入19世紀(jì),隨著生產(chǎn)力的不斷發(fā)展,數(shù)學(xué)等相關(guān)工具也逐漸被應(yīng)用到作者識(shí)別研究中。①
Mendenhall較早嘗試量化作品的風(fēng)格特征,使用詞譜和特征曲線對(duì)莎士比亞的戲劇等不同作品進(jìn)行作者歸屬判斷。②隨后又有學(xué)者從特殊詞出現(xiàn)的頻率和分布特征、功能詞的頻率、詞匯量等角度衡量作品的風(fēng)格特征,判斷作者的歸屬。③在國(guó)內(nèi)也有不少學(xué)者采用量化作品風(fēng)格的方式對(duì)中文作品展開(kāi)研究,并且研究方法和研究對(duì)象具有多樣性和廣泛性,既有傳統(tǒng)的模型,也有新開(kāi)發(fā)的模型,既有對(duì)古典詩(shī)詞、小說(shuō)等的研究,也有對(duì)現(xiàn)當(dāng)代散文、微博等的研究。
胡俊峰等較早采用計(jì)算語(yǔ)言學(xué)的方法提取了唐宋詩(shī)中的詞匯,總結(jié)詞匯的共現(xiàn)關(guān)系、對(duì)仗關(guān)系以及詞匯的作者分布特征信息,開(kāi)發(fā)了基于詞匯的統(tǒng)計(jì)分析和詩(shī)句相似性檢索等功能。④易勇等基于機(jī)器學(xué)習(xí)的樸素貝葉斯算法等方法,對(duì)詩(shī)詞文本采用向量空間模型表示,首次提出了中國(guó)古代詩(shī)人李白和杜甫作品判別的計(jì)算模型,獲得較高的判別準(zhǔn)確度。⑤胡韌奮等基于樸素貝葉斯和支持向量機(jī)算法構(gòu)造文本分類器,提出唐詩(shī)題材自動(dòng)分類模型。①祁瑞華系統(tǒng)地介紹了作者身份識(shí)別的原理、算法和應(yīng)用等一系列問(wèn)題,并做了中文微博作者身份、作者性別識(shí)別實(shí)驗(yàn)。②范亞超等采用降噪自編碼器深度模型提取吳承恩、王廷陳、薛蕙等人詩(shī)詞的文本結(jié)構(gòu)特征,再采用支持向量機(jī)分類器進(jìn)行作者識(shí)別,并進(jìn)一步將該方法應(yīng)用于《西游記》詩(shī)詞的作者識(shí)別中。③張航等將雙向循環(huán)神經(jīng)網(wǎng)絡(luò)運(yùn)用到中文古詩(shī)詞風(fēng)格分類中,構(gòu)建了基于深度神經(jīng)網(wǎng)絡(luò)的中文古詩(shī)詞文本分類模型,提高了分類效果。④陳汝嫣采用定量研究方法,提取魯迅和周作人多篇散文的“語(yǔ)言指紋”,通過(guò)N-gram和依存關(guān)系建立分類模型,推測(cè)篇章歸屬。⑤宋麗等采用假設(shè)檢驗(yàn)、文本聚類、文本分類、波動(dòng)風(fēng)格計(jì)量等方法考察《水滸傳》的寫作風(fēng)格,為其作者身份認(rèn)定提供參考。⑥周愛(ài)等提出了一種雙通道的集成模型完成唐詩(shī)作者身份識(shí)別任務(wù)。⑦周睿等采用應(yīng)用計(jì)量風(fēng)格學(xué)的研究范式來(lái)判定《醒世姻緣傳》的作者歸屬。⑧
在中國(guó)古典詩(shī)詞中,有的作品由于編者訛誤或作者風(fēng)格相近等原因,常常產(chǎn)生作者歸屬的爭(zhēng)議問(wèn)題。例如《蝶戀花》(庭院深深深幾許),分別出現(xiàn)在馮延巳和歐陽(yáng)修的作品集中,但由于年代久遠(yuǎn),真相已經(jīng)不可考證,后世學(xué)者也大多是從作者的創(chuàng)作背景、任職經(jīng)歷和讀者的主觀感受等方面來(lái)推斷作品的作者歸屬,常常各執(zhí)一言,難有定論。對(duì)于這些詩(shī)詞作者爭(zhēng)議,從機(jī)器學(xué)習(xí)方面做出回應(yīng)的研究還比較少見(jiàn)。
本文擬集中分析《蝶戀花》(庭院深深深幾許)等六首通常被認(rèn)為作者有爭(zhēng)議的作品,通過(guò)收集爭(zhēng)議所涉及作者的其他作品作為訓(xùn)練語(yǔ)料,經(jīng)過(guò)分詞和特征提取后,使用樸素貝葉斯分類器來(lái)判斷爭(zhēng)議作品的作者歸屬,希望對(duì)相關(guān)爭(zhēng)議提供一定參考。本文還有一項(xiàng)補(bǔ)充實(shí)驗(yàn),即收集三組唐朝并稱詩(shī)人——“元白”“皮陸”“小李杜”的作品,在訓(xùn)練樸素貝葉斯分類器以后對(duì)作品進(jìn)行作者判斷,以檢測(cè)本文所用方法的有效性。
一實(shí)驗(yàn)材料
(一)詩(shī)詞作者爭(zhēng)議情況
本文要分析的六首作者有爭(zhēng)議的詩(shī)詞是:《蝶戀花》(庭院深深深幾許)、《蝶戀花》(簾幕風(fēng)輕雙語(yǔ)燕)、《生查子·元夕》(去年元夜時(shí))、《菩薩蠻》(哀箏一弄湘江曲)、《題白云樓》(西北樓開(kāi)四望通)、《清明》(清明時(shí)節(jié)雨紛紛)。下面簡(jiǎn)單梳理一下這六首作品的作者爭(zhēng)議問(wèn)題。
歐陽(yáng)修的大部分艷情詞,風(fēng)格和藝術(shù)手法與南唐詞相近,《蝶戀花》(庭院深深深幾許)既見(jiàn)于馮延巳《陽(yáng)春集》,又見(jiàn)于歐陽(yáng)修詞集。⑨該詞的作者,在朱彝尊、汪森《詞綜》和周濟(jì)《詞辯》中作馮延巳,在張惠言《詞選》中作歐陽(yáng)修。①《全宋詞》沒(méi)有收錄該詞,認(rèn)為是五代時(shí)期馮延巳所作,曾昭岷等編的《全唐五代詞》也認(rèn)為是馮氏之作。②而于此之外,很多論者據(jù)李清照之說(shuō)將該詞定為歐陽(yáng)修之作,“因?yàn)槔钋逭帐乾F(xiàn)在所能見(jiàn)到的最早提到這首詞的古人”③。
《蝶戀花》(簾幕風(fēng)輕雙語(yǔ)燕)的作者也有爭(zhēng)議,曾慥《樂(lè)府雅詞》將該詞收錄在歐陽(yáng)修名下,況周頤《歷代詞人考略》認(rèn)為該詞為晏殊所作。④明代詞選如《類編草堂詩(shī)余》《天機(jī)余錦》等多將該詞歸為晏殊,后世學(xué)者也多默認(rèn)該詞為晏殊所作。⑤
《生查子·元夕》一詞見(jiàn)于《歐陽(yáng)文忠集》,明代楊慎《詞品》將該詞定為朱淑真所作,毛晉刊刻《斷腸詞》又承襲楊慎做法將該詞歸為朱氏。⑥但是,唐圭璋以清代《池北偶談》《四庫(kù)提要》等為證據(jù)論證該詞為歐陽(yáng)修所作,認(rèn)為楊慎將該詞歸為朱淑真是失誤。⑦胡云翼也提供《樂(lè)府雅詞》《蕙風(fēng)詞話》等證據(jù)證明該詞為歐陽(yáng)修所作。⑧在后世學(xué)者的研究中,也還沒(méi)有定論。
《菩薩蠻》(哀箏一弄湘江曲)的作者是晏幾道還是張先也有爭(zhēng)議。張先和晏殊齊名,風(fēng)格與南唐李氏父子和馮延巳相似,而晏幾道的詞風(fēng)又深受晏殊的影響,所以三人的《菩薩蠻》容易混淆。⑨王鵬運(yùn)校勘《草堂詩(shī)余》、黃蘇《蓼園詞選》、李文林《詩(shī)余協(xié)律》認(rèn)為該詞為張先所作,清末朱祖謀輯?!缎∩皆~》則將該詞歸為晏幾道。⑩吳熊和、沈松勤校注的《張先集編年校注》引用唐圭璋的《張子野詞跋》也認(rèn)為該詞為晏幾道所作。
吳在慶校注的《杜牧集系年校注》將《題白云樓》編在《集外詩(shī)一》內(nèi)。吳在慶指出,該詩(shī)可能是并非杜牧親作的“集外詩(shī)",并且《四部叢刊》景宋本《丁卯集》(許渾作)也收有該詩(shī),題作《漢水傷稼》。因而,該詩(shī)常被視作許渾所作。鈴木修次等根據(jù)“復(fù)句”的使用情況認(rèn)定該詩(shī)應(yīng)為許渾所作。王輝斌從詩(shī)題、任職經(jīng)歷、旁詩(shī)證據(jù)等方面論證該詩(shī)并非許渾所作,而是杜牧所作。在后來(lái)的研究中,也沒(méi)有定論。除《題白云樓》外,《清明》也被《杜牧集系年校注》收在“集外詩(shī)”中,該詩(shī)的作者到底是杜牧、許渾還是宋祁,也有一定爭(zhēng)議,但流傳甚廣的說(shuō)法是杜牧所作。
可見(jiàn),傳統(tǒng)上對(duì)詩(shī)詞作者的認(rèn)定比較依賴于研究者的主觀經(jīng)驗(yàn),大多從作品內(nèi)容和作者經(jīng)歷等方面著手,結(jié)合文獻(xiàn)記載進(jìn)行論證,而采用機(jī)器學(xué)習(xí)的辦法對(duì)上述詩(shī)詞的作者進(jìn)行判斷的研究還比較少見(jiàn)。本文分別收集了上述詩(shī)詞所涉作者一定數(shù)量的作品作為訓(xùn)練材料,通過(guò)機(jī)器學(xué)習(xí)的方式形成各作者的特征集合,然后將六首有爭(zhēng)議的詩(shī)詞分別放入分類器中進(jìn)行作者判斷。具體方法見(jiàn)后文。
(二)詩(shī)詞數(shù)據(jù)集
本文把檢測(cè)作者爭(zhēng)議所用到的詩(shī)詞文本材料統(tǒng)稱為詩(shī)詞數(shù)據(jù)集。詩(shī)詞數(shù)據(jù)集中包含詩(shī)詞訓(xùn)練語(yǔ)料和詩(shī)詞測(cè)試語(yǔ)料。詩(shī)詞測(cè)試語(yǔ)料主要就是上文所述的六首作者存在爭(zhēng)議的詩(shī)詞作品,其次是后文補(bǔ)充實(shí)驗(yàn)中所用到的三組唐朝并稱詩(shī)人的作品,這部分測(cè)試語(yǔ)料后文再介紹。
詩(shī)詞訓(xùn)練語(yǔ)料包含我們收集的各位作者的作品,其中歐陽(yáng)修、馮延巳、晏殊和朱淑真的作品各3980字,晏幾道和張先的作品各9312字,體裁均為詩(shī)和詞;杜牧、許渾和宋祁的作品各5040字,體裁為七律和七絕,不包括五言詩(shī)。詩(shī)詞訓(xùn)練語(yǔ)料和測(cè)試語(yǔ)料的情況如表1所示(補(bǔ)充實(shí)驗(yàn)的訓(xùn)練語(yǔ)料見(jiàn)后文;測(cè)試語(yǔ)料文本見(jiàn)附錄)。
需要說(shuō)明的是,本文盡可能多地收集各位作者的作品,但由于機(jī)器學(xué)習(xí)對(duì)訓(xùn)練文本的長(zhǎng)短比較敏感,因此,在收集語(yǔ)料時(shí)只能適應(yīng)作品較少的作者。例如,朱淑真流傳下來(lái)的作品,相對(duì)于歐陽(yáng)修、馮延巳和晏殊來(lái)講是比較少的,因此只能從后三者的作品中篩選一部分出來(lái)組成和朱淑真作品字?jǐn)?shù)相當(dāng)?shù)恼Z(yǔ)料;而晏幾道和張先流傳下來(lái)的作品都比較多,因此這一組的訓(xùn)練語(yǔ)料字?jǐn)?shù)較多。此外,訓(xùn)練語(yǔ)料和測(cè)試語(yǔ)料中均已將標(biāo)點(diǎn)符號(hào)刪除,并以簡(jiǎn)體漢字形式存儲(chǔ)。
二實(shí)驗(yàn)方法
(一)文本預(yù)處理
與英文等以空格標(biāo)記詞語(yǔ)邊界的文字系統(tǒng)不同,中文的詞語(yǔ)之間一般沒(méi)有專有的區(qū)分標(biāo)記,因而分詞是中文文本處理的一項(xiàng)基礎(chǔ)技術(shù)。目前常見(jiàn)的中文分詞方法主要有基于詞典的字符串匹配方法、基于概率計(jì)算的統(tǒng)計(jì)方法,近年來(lái),基于卷積神經(jīng)網(wǎng)絡(luò)、雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)、雙向門限循環(huán)單元、BERT預(yù)訓(xùn)練模型等的深度學(xué)習(xí)方法也逐漸興起。①
本文采用的分詞方法為jieba分詞②。jieba分詞結(jié)合了字符串匹配分詞和統(tǒng)計(jì)分詞,不僅實(shí)現(xiàn)了隱馬爾可夫模型和Viterbi算法,還支持自定義詞典,具有較高的實(shí)用性和便捷性。需要說(shuō)明的是,jieba分詞主要是面向現(xiàn)代漢語(yǔ)的分詞方法,在古代漢語(yǔ)分詞上的效果略遜于專門用于古漢語(yǔ)處理的自然語(yǔ)言處理包。①本文采用jieba分詞,一方面是考慮到它的便捷性,另一方面也考慮到詩(shī)詞中某些多字詞和詞組在詩(shī)詞中大量使用或已經(jīng)具有特定的意象意義,使用面向現(xiàn)代漢語(yǔ)的分詞工具也比較合理。胡韌奮等在探究唐詩(shī)題材的自動(dòng)分類時(shí)采用的是面向現(xiàn)代漢語(yǔ)的NLPIR/ICT?CLAS2014分詞系統(tǒng),張航等在探討詩(shī)詞風(fēng)格分類技術(shù)時(shí)采用的是面向現(xiàn)代漢語(yǔ)的jieba分詞工具。②
文本分詞的具體操作,以歐陽(yáng)修、馮延巳這一組為例:在Python3.7中導(dǎo)入jieba庫(kù),并分別讀取歐陽(yáng)修和馮延巳的訓(xùn)練語(yǔ)料,然后分別使用jieba.cut()命令得到歐陽(yáng)修和馮延巳訓(xùn)練語(yǔ)料的分詞結(jié)果,以備下一步使用。
(二)特征提取
作者在創(chuàng)作過(guò)程中通常會(huì)在字符、詞匯、句法和語(yǔ)義等方面表現(xiàn)出一定的風(fēng)格特征。③本文采用的特征提取方法是一種基于詞語(yǔ)的特征提取方法,構(gòu)建了一個(gè)簡(jiǎn)單的“詞袋模型”。具體來(lái)講,就是將兩位作者作品分詞所得的詞語(yǔ)列表分別輸入Python,Python對(duì)輸入的每個(gè)詞語(yǔ)進(jìn)行遍歷,將其作為字典中的鍵,對(duì)應(yīng)的值均為“True”,最終返回一個(gè)包含所有詞語(yǔ)及其對(duì)應(yīng)值的Python字典。該字典表示的是一種二元特征集,即如果文本中出現(xiàn)了某個(gè)詞語(yǔ),則該詞語(yǔ)在字典中的值為“True”,否則為“False”。
(三)訓(xùn)練樸素貝葉斯分類器
在得到兩位作者作品的特征集以后,需要使用這些特征集訓(xùn)練一個(gè)分類器。本文采用NLTK庫(kù)④中的樸素貝葉斯分類器(Na?ve Bayes Classifier)模塊來(lái)完成特征學(xué)習(xí)。樸素貝葉斯分類器以樸素貝葉斯算法為基礎(chǔ)。
為了讓樸素貝葉斯分類器學(xué)習(xí)到更多的特征和它們對(duì)應(yīng)的標(biāo)簽,進(jìn)而提高分類器的準(zhǔn)確性,在訓(xùn)練時(shí),將分別貼有兩位作者標(biāo)簽的特征集合并到一起以后放入分類器中。在這個(gè)過(guò)程中,分類器會(huì)學(xué)習(xí)到每個(gè)特征與其對(duì)應(yīng)的標(biāo)簽(即作者)之間的關(guān)系,并將這些信息用于預(yù)測(cè)未知數(shù)據(jù)的標(biāo)簽。
對(duì)分類器完成訓(xùn)練以后,將測(cè)試語(yǔ)料分詞、提取特征并輸入到分類器中,分類器將估測(cè)輸入的數(shù)據(jù)屬于每個(gè)類別的概率,并輸出測(cè)試語(yǔ)料屬于某一位作者的可能性。
三實(shí)驗(yàn)結(jié)果
(一)作者爭(zhēng)議檢測(cè)結(jié)果
根據(jù)上述檢測(cè)方法,本文分別檢測(cè)了各首有爭(zhēng)議作品的作者可能性,結(jié)果如表2所示。需要說(shuō)明的是,由于《清明》可能涉及的作者有杜牧、許渾和宋祁三位,本文分別用杜牧與許渾的作品、杜牧與宋祁的作品、許渾與宋祁的作品訓(xùn)練了三個(gè)分類器來(lái)檢測(cè)該詩(shī)的作者。
檢測(cè)結(jié)果顯示,《蝶戀花》(庭院深深深幾許)的作者是馮延巳的可能性為62.50%,是歐陽(yáng)修的可能性為37.50%,也就是在馮延巳、歐陽(yáng)修二人中,馮延巳是該詞作者的可能性更大?!兜麘倩ā罚ê熌伙L(fēng)輕雙語(yǔ)燕)的作者為歐陽(yáng)修的可能性大于晏殊,《生查子·元夕》的作者為朱淑真的可能性大于歐陽(yáng)修,《菩薩蠻》(哀箏一弄湘江曲)的作者為晏幾道的可能性遠(yuǎn)遠(yuǎn)大于張先,《題白云樓》的作者為許渾的可能性大于杜牧。
對(duì)于《清明》來(lái)講,不論是在杜牧與許渾之間,還是在杜牧與宋祁之間,均是作者為杜牧的可能性更大,而在許渾與宋祁之間則是作者為許渾的可能性更大。也就是說(shuō),在這三人中,杜牧最有可能是《清明》的作者,許渾居其次,宋祁則最不可能是《清明》的作者。由于訓(xùn)練檢測(cè)《題白云樓》與《清明》作者的分類器所用的杜牧、許渾訓(xùn)練語(yǔ)料相同,從這個(gè)角度來(lái)看,也能更加確定《題白云樓》的作者為許渾的可能性更大。此外,我們也測(cè)試了許渾和宋祁為《題白云樓》作者的可能性,結(jié)果顯示許渾為70.00%,宋祁為30.00%、從杜牧、許渾、宋祁三者之間的檢測(cè)結(jié)果也可以看出,杜牧和許渾之間的風(fēng)格特征更為相似,而宋祁與前兩者之間的相似程度還比較低。劉克莊《后村詩(shī)話》認(rèn)為:“樊川有《續(xù)別集》三卷,十八九是許渾詩(shī)?!雹倏梢?jiàn)杜牧和許渾的詩(shī)作向來(lái)比較容易混淆。
本文的檢測(cè)結(jié)果與相關(guān)詩(shī)詞的文獻(xiàn)考證結(jié)果有同有異。
《蝶戀花》(庭院深深深幾許)的作者在文獻(xiàn)中是有爭(zhēng)議的,后世多依據(jù)李清照的說(shuō)法將之定為歐陽(yáng)修所作。本文的檢測(cè)結(jié)果表明,該詞更有可能是馮延巳所作,即支持《詞綜》《詞辯》《詞選》《全唐五代詞》等文獻(xiàn)的看法。
《蝶戀花》(簾幕風(fēng)輕雙語(yǔ)燕)在兩宋之際的曾慥所編的《樂(lè)府雅詞》中,被歸為歐陽(yáng)修所作,本文的檢測(cè)結(jié)果與之契合??紤]到曾慥所處時(shí)期與歐陽(yáng)修相近,且曾官至尚書郎,直寶文閣②,他所編的《樂(lè)府雅詞》應(yīng)該是比較可信的。王慧敏分析曾慥《樂(lè)府雅詞》不選晏殊詞的原因是晏殊詞不符合“雅詞”標(biāo)準(zhǔn),且曾慥在其自序中特地為歐陽(yáng)修辯白,并說(shuō)已經(jīng)刪除了當(dāng)時(shí)“小人”所作的謬為歐公詞的艷曲。③可見(jiàn),曾慥的選詞標(biāo)準(zhǔn)較為嚴(yán)格,并且對(duì)待歐陽(yáng)修的詞頗為慎重。這當(dāng)然也得益于當(dāng)時(shí)歐陽(yáng)修文壇領(lǐng)袖的特殊身份。而認(rèn)為該詞為晏殊所作的文獻(xiàn),如《類編草堂詩(shī)余》《天機(jī)余錦》《歷代詞人考略》等,大多著于明清時(shí)期,與北宋時(shí)期的歐陽(yáng)修、晏殊相去甚遠(yuǎn),可信度自然低了一些。
本文對(duì)《生查子·元夕》的檢測(cè)結(jié)果表明該詞作者是朱淑真的可能性更大,這似乎與文獻(xiàn)考證的結(jié)果相左。明代楊慎《詞品》不知是出于何種原因?qū)⒃撛~歸為朱淑真所作,這對(duì)于后世對(duì)該詞作者的判斷影響較大,同時(shí)也引來(lái)了不少批評(píng)。唐圭璋的論證表明,楊慎是誤將該詞歸為朱淑真所作,并且有其他證據(jù)表明該詞為歐陽(yáng)修所作。①高廣林評(píng)注《詞品》時(shí)也說(shuō)楊慎將該詞歸為朱氏“不知何據(jù)”“考之不精”。②如該詞確為歐陽(yáng)修所作,那本文的檢測(cè)結(jié)果恐怕需要更多解釋。關(guān)于這一問(wèn)題,后文還要討論。
清末朱祖謀輯?!缎∩皆~》將《菩薩蠻》(哀箏一弄湘江曲)歸為晏幾道③,本文的檢測(cè)結(jié)果與之契合。顧寶林認(rèn)為朱祖謀經(jīng)過(guò)多道程序的校正勘定,使得《小山詞》的詞籍版本質(zhì)量在前人的基礎(chǔ)上大有增進(jìn),為后來(lái)唐圭璋先生編纂《全宋詞》掃除了不少障礙。④朱祖謀的《彊村叢書》卷帙浩繁,既??绷岁處椎赖摹缎∩皆~》,又校勘了張先的《張子野詞》,但他并未像同時(shí)代的王鵬運(yùn)校勘《草堂詩(shī)余》那樣將該詞歸入張先名下,盡管他沒(méi)有說(shuō)明這么做的原因,但應(yīng)該也是有自己的考量。
吳在慶校注的《杜牧集系年校注》將《題白云樓》編在《集外詩(shī)一》內(nèi),認(rèn)為該詩(shī)可能是并非杜牧親作的“集外詩(shī)”。吳在慶在《杜牧集系年校注》前言中解釋道,書中的集外詩(shī)多非杜牧所作,為滿足進(jìn)一步研究之需才收入。這種處理方式無(wú)疑是比較好的,并且他在《杜牧集系年校注》的注釋中也根據(jù)《全唐詩(shī)》《丁卯集》等文獻(xiàn)和許渾的任職經(jīng)歷等論證了《題白云樓》并非杜牧所作。⑤盡管王輝斌也從文獻(xiàn)、任職經(jīng)歷等推導(dǎo)出相反的觀點(diǎn)⑥,但吳、王二人終究都沒(méi)有十分確鑿的證據(jù)。值得注意的是《清明》一詩(shī),《杜牧集系年校注》也認(rèn)為是“集外詩(shī)”,將其編在《集外詩(shī)三》內(nèi),吳在慶解釋道:“盡管今人多有以為非杜牧詩(shī)者,然尚意見(jiàn)不一”,并在注釋中舉例闡述了各家爭(zhēng)議,但仍然未有定論。⑦也就是說(shuō),關(guān)于《題白云樓》和《清明》這兩首詩(shī)的作者爭(zhēng)議,目前各家觀點(diǎn)均無(wú)法證實(shí)。按照本文對(duì)《題白云樓》和《清明》的檢測(cè)結(jié)果,許渾是《題白云樓》作者的可能性比杜牧大,而杜牧是《清明》作者的可能性比許渾大。
(二)補(bǔ)充實(shí)驗(yàn)結(jié)果
從對(duì)作者爭(zhēng)議的檢測(cè)結(jié)果來(lái)看,本文采用的方法具有一定的可行性。為進(jìn)一步考察檢測(cè)方法的有效性,我們又分別收集了三組常常并稱的唐朝詩(shī)人——“元白”(元稹、白居易)、“皮陸”(皮日休、陸龜蒙)、“小李杜”(李商隱、杜牧)各5040字的作品來(lái)訓(xùn)練分類器,進(jìn)而用其作品進(jìn)行測(cè)試(測(cè)試語(yǔ)料文本見(jiàn)附錄),結(jié)果如表3所示。
并稱詩(shī)人往往在作品風(fēng)格或成就方面具有一定的相似之處。從表3的檢測(cè)結(jié)果可見(jiàn),本文所用的檢測(cè)方法能很好地將上述三組并稱詩(shī)人的作品區(qū)別開(kāi),驗(yàn)證了方法的有效性。
四討論
檢測(cè)結(jié)果依賴于分類器對(duì)訓(xùn)練語(yǔ)料和測(cè)試語(yǔ)料詞語(yǔ)的分析和判斷,由于分類器沒(méi)有對(duì)語(yǔ)義進(jìn)行分析,并且沒(méi)有為檢測(cè)語(yǔ)料中不同的詞語(yǔ)賦予不同的權(quán)重,因此檢測(cè)結(jié)果具有一定的偶然性。本文檢測(cè)結(jié)果顯示,《生查子·元夕》的作者為朱淑真的可能性更大,這與文獻(xiàn)考證的結(jié)果相左。我們使用jieba分詞對(duì)《生查子·元夕》分詞以后,在訓(xùn)練語(yǔ)料中人工統(tǒng)計(jì)了這些詞語(yǔ)在朱淑真和歐陽(yáng)修的作品中出現(xiàn)的次數(shù)。表4中列出了統(tǒng)計(jì)結(jié)果(在二者作品中出現(xiàn)次數(shù)均為0的詞語(yǔ)沒(méi)有列出)。
可以看到,如果從詞頻總數(shù)上看,朱淑真為105次,歐陽(yáng)修為103次,朱淑真更多一些,這可能是分類器將《生查子·元夕》的作者判斷為朱淑真的影響因素之一。此外,如果從《生查子·元夕》中的主要意象“月、燈”來(lái)看,也是朱淑真的作品中出現(xiàn)這兩個(gè)詞語(yǔ)的次數(shù)更多。但如果從表示時(shí)間、空間的“時(shí)、去年、今年、上”等詞語(yǔ)來(lái)看,歐陽(yáng)修的作品中出現(xiàn)的次數(shù)更多,尤其是“今年”,在歐陽(yáng)修的訓(xùn)練語(yǔ)料中出現(xiàn)了2次,而在朱淑真的訓(xùn)練語(yǔ)料中沒(méi)有出現(xiàn)。需要說(shuō)明的是,樸素貝葉斯分類器本質(zhì)上使用的是一種基于概率的分類算法,總詞頻固然是重要的影響因素之一,但如果一個(gè)詞(如“今年”)只出現(xiàn)在歐陽(yáng)修的訓(xùn)練語(yǔ)料中,而在朱淑真的訓(xùn)練語(yǔ)料中沒(méi)有出現(xiàn),則分類器也會(huì)增加將《生查子·元夕》判定為歐陽(yáng)修所作的可能性。總之,朱淑真和歐陽(yáng)修在用詞上有不少相近之處,也各有支持《生查子·元夕》為其作的理由,而分類器對(duì)這些元素所做的取舍對(duì)于使用者來(lái)講是不夠透明的。此外,朱淑真雖生于仕宦之家,但其夫游宦于淮南、瀟湘,夫妻不諧,“每臨風(fēng)對(duì)月,觸目傷懷,皆寓于詩(shī),以寫其胸中不平之氣”①,而《生查子·元夕》又多有抑郁感傷之情。在這些因素的影響下,無(wú)論是機(jī)器還是人,對(duì)作者的判斷無(wú)疑都是比較困難的。
結(jié)語(yǔ)
本文集中分析了六首作者有爭(zhēng)議的作品,收集了爭(zhēng)議所涉及作者的其他作品作為訓(xùn)練語(yǔ)料,經(jīng)過(guò)分詞和特征提取以后,通過(guò)訓(xùn)練樸素貝葉斯分類器來(lái)判斷爭(zhēng)議作品的作者歸屬。結(jié)果顯示,《蝶戀花》(庭院深深深幾許)的作者是馮延巳的可能性大于歐陽(yáng)修,《蝶戀花》(簾幕風(fēng)輕雙語(yǔ)燕)的作者是歐陽(yáng)修的可能性大于晏殊,《生查子·元夕》的作者是朱淑真的可能性大于歐陽(yáng)修,《菩薩蠻(哀箏一弄湘江曲)》的作者是晏幾道的可能性大于張先,《題白云樓》的作者是許渾的可能性大于杜牧,《清明》的作者是杜牧的可能性大于許渾和宋祁。此外,對(duì)“元白”“皮陸”“小李杜”這三組唐朝并稱詩(shī)人作品的檢測(cè)結(jié)果驗(yàn)證了本文所用方法的有效性。
本文采用基于樸素貝葉斯算法的樸素貝葉斯分類器作為作者檢測(cè)方法,與傳統(tǒng)的人工比較、考證的方法相比,操作更為便捷,結(jié)果更為客觀。但是,這種方法在使用上也有一些新要求。例如在訓(xùn)練語(yǔ)料的制作上,需要平衡作者之間作品的字?jǐn)?shù),在訓(xùn)練語(yǔ)料的挑選上,需要選擇作者的典型的、無(wú)爭(zhēng)議的作品。為了滿足這樣的要求,只能適應(yīng)作品較少的作者,這也在一定程度上限制了訓(xùn)練語(yǔ)料的規(guī)模。此外,樸素貝葉斯分類器雖然能做出較為準(zhǔn)確的判斷,但給出的可能性還比較低,在進(jìn)一步改進(jìn)和提升分類算法以后,將會(huì)得到更好的分類效果。在以后的研究中,可以提高文本特征提取能力,使用新的分類算法進(jìn)行更大規(guī)模的訓(xùn)練與作者判斷。
附錄:測(cè)試語(yǔ)料文本
1.《蝶戀花·庭院深深深幾許》:
庭院深深深幾許,楊柳堆煙,簾幕無(wú)重?cái)?shù)。玉勒雕鞍游冶處,樓高不見(jiàn)章臺(tái)路。
雨橫風(fēng)狂三月暮,門掩黃昏,無(wú)計(jì)留春住。淚眼問(wèn)花花不語(yǔ),亂紅飛過(guò)秋千去。
2.《蝶戀花·簾幕風(fēng)輕雙語(yǔ)燕》:
簾幕風(fēng)輕雙語(yǔ)燕。午后醒來(lái),柳絮飛撩亂。心事一春猶未見(jiàn)。紅英落盡青苔院。
百尺朱樓閑倚遍。薄雨濃云,抵死遮人面。羌管不須吹別怨。無(wú)腸更為新聲斷。
3.《生查子·元夕》:
去年元夜時(shí),花市燈如晝。月上柳梢頭,人約黃昏后。
今年元夜時(shí),月與燈依舊。不見(jiàn)去年人,淚濕春衫袖。
4.《菩薩蠻·哀箏一弄湘江曲》:
哀箏一弄湘江曲,聲聲寫盡湘波綠。纖指十三弦,細(xì)將幽恨傳。
當(dāng)筵秋水慢,玉柱斜飛雁。彈到斷腸時(shí),春山眉黛低。
5.《題白云樓》(又名《漢水傷稼》):
西北樓開(kāi)四望通,殘霞成綺月懸弓。江村夜?jié)q浮天水,澤國(guó)秋生動(dòng)地風(fēng)。
高下綠苗千頃盡,新陳紅粟萬(wàn)箱空。才微分薄憂何益,卻欲回心學(xué)塞翁。
6.《清明》:
清明時(shí)節(jié)雨紛紛,路上行人欲斷魂。借問(wèn)酒家何處有,牧童遙指杏花村。
7. 元稹《雨聲》:
風(fēng)吹竹葉休還動(dòng),雨點(diǎn)荷心暗復(fù)明。曾向西江船上宿,慣聞寒夜滴篷聲。
8. 白居易《歲暮呈思黯相公皇甫郎之及夢(mèng)得尚書》:
歲暮皤然一老夫,十分流輩九分無(wú)。莫嫌身病人扶侍,猶勝無(wú)身可遣扶。
9. 皮日休《惠山聽(tīng)松庵》:
千葉蓮花舊有香,半山金剎照方塘。殿前日暮高風(fēng)起,松子聲聲打石床。
10. 陸龜蒙《丁香》:
江上悠悠人不問(wèn),十年云外醉中身。殷勤解卻丁香結(jié),縱放繁枝散誕春。
11. 李商隱《夜雨寄北》:
君問(wèn)歸期未有期,巴山夜雨漲秋池。何當(dāng)共剪西窗燭,卻話巴山夜雨時(shí)。
12. 杜牧《過(guò)華清宮·其一》:
長(zhǎng)安回望繡成堆,山頂千門次第開(kāi)。一騎紅塵妃子笑,無(wú)人知是荔枝來(lái)。
(黃瑋,南開(kāi)大學(xué)文學(xué)院博士研究生;冉啟斌,南開(kāi)大學(xué)文學(xué)院教授)