馬燕
(南京師范大學(xué) 文學(xué)院,江蘇 南京 210097)
基于相對(duì)熵的作品作者判定方法
馬燕
(南京師范大學(xué) 文學(xué)院,江蘇 南京 210097)
本文提出了一種新的、較為簡(jiǎn)便的、即基于字層面的文本風(fēng)格判定方法,即使用兩篇文本中的相同字做相對(duì)熵來計(jì)算兩篇文本在用字方面的差異。通過對(duì)《紅樓夢(mèng)》前80回和后40回的內(nèi)部相對(duì)熵比較,證明了其方法的可行性。又通過對(duì)李伯元的《官場(chǎng)現(xiàn)形記》、《活地獄》和《文明小史》與存在作者爭(zhēng)議的《海上繁華夢(mèng)》做文本間的相對(duì)熵比較,得出了《海上繁華夢(mèng)》確實(shí)不為李伯元所作的結(jié)論。
相對(duì)熵 作者判定 《紅樓夢(mèng)》 李伯元 《海上繁華夢(mèng)》
近年來隨著語言研究的現(xiàn)代化,運(yùn)用計(jì)算機(jī)和統(tǒng)計(jì)學(xué)的知識(shí)來分析文學(xué)作品的問題,已經(jīng)引起了社會(huì)科學(xué)和計(jì)算機(jī)科學(xué)界的普遍關(guān)注(李國(guó)強(qiáng),李瑞芳,2006)。西方文體學(xué)界從20世紀(jì)30年代就開始關(guān)注定量分析,“人們開始利用這種方法去研究圣經(jīng)書籍的著作權(quán)以及柏拉圖等古典作家的著作年代,這其實(shí)就是在對(duì)作家個(gè)人風(fēng)格或時(shí)代風(fēng)格等進(jìn)行科學(xué)的描寫分析的基礎(chǔ)上進(jìn)行的,”這種研究經(jīng)歷了從最初的由手工計(jì)算到運(yùn)用具有高速的運(yùn)算能力計(jì)算機(jī)輔助計(jì)算,以實(shí)現(xiàn)更大規(guī)模、更加精確的定量分析。
而關(guān)于漢語風(fēng)格的研究應(yīng)始于20世紀(jì)七八十年代,黎運(yùn)漢認(rèn)為分析綜合法、比較法和統(tǒng)計(jì)法是語言風(fēng)格研究中常用的三種方法①,國(guó)內(nèi)最早正式倡導(dǎo)建立“計(jì)算風(fēng)格學(xué)”的是錢鋒和陳光磊兩位學(xué)者,他們主張將計(jì)算機(jī)技術(shù)和數(shù)學(xué)方法相結(jié)合應(yīng)用到風(fēng)格學(xué)的研究當(dāng)中。當(dāng)然,語言風(fēng)格研究的應(yīng)用之一便是對(duì)文本作者的考證,如曾受到廣泛關(guān)注的《紅樓夢(mèng)》作者問題等,也有不少的學(xué)者從定量分析的角度提出了自己的看法,這在下文會(huì)有詳細(xì)介紹。
本文提出了一種新的計(jì)算文本風(fēng)格的方法,即借助計(jì)算機(jī)和統(tǒng)計(jì)學(xué)的方法,來計(jì)算兩篇文本間相同字的相對(duì)熵。本文在驗(yàn)證同一篇文本內(nèi)部相對(duì)熵差異程度的同時(shí),也對(duì)不同文本間的相對(duì)熵進(jìn)行了比較,發(fā)現(xiàn)也具有可行性。
相對(duì)熵(relative entropy)又稱KL散度(Kullback-Leibler divergence,簡(jiǎn)稱KLD),用以表示兩個(gè)概率分布的距離。對(duì)一個(gè)離散隨機(jī)變量的兩個(gè)概率分布p和q來說,他們的KL散度定義為。 其中p(x)和q(x)為兩個(gè)概率分布,相對(duì)熵不是嚴(yán)格意義上的距離,典型情況下,p表示數(shù)據(jù)的真實(shí)分布,q表示數(shù)據(jù)的理論分布、模型分布或p的近似分布。相對(duì)熵具有非負(fù)性(即D(p||q)≥0)和不對(duì)稱性(即D(p||q)≠D(q||p),除非對(duì)于所有的x,有p(x)=q(x))。
在自然語言處理時(shí),可以利用相對(duì)熵進(jìn)行分類或者是利用相對(duì)熵來衡量?jī)蓚€(gè)隨機(jī)分布的差距,當(dāng)兩個(gè)隨機(jī)分布相同時(shí),其相對(duì)熵為0,當(dāng)兩個(gè)隨機(jī)分布的差別增加時(shí),其相對(duì)熵也增加。在這里我們使用相同字作為隨機(jī)分布的量,首先把一部文本中的相同字的隨機(jī)分布作為其真實(shí)分布,來分別計(jì)算與其他文本中的相同字的分布的距離,其結(jié)果越接近,則我們認(rèn)為這兩篇文本的用字風(fēng)格越相近,反之,結(jié)果越大,則其用字風(fēng)格越有差距,即提出相對(duì)熵越小,則兩篇文本的用字風(fēng)格越相近,反之,相對(duì)熵越大,則其用字風(fēng)格越有差距的假設(shè)。
比較早的用統(tǒng)計(jì)的方法來研究《紅樓夢(mèng)》語言的可以算是瑞典漢學(xué)家高本漢(1954),他取了《紅樓夢(mèng)》中的24個(gè)語詞進(jìn)行統(tǒng)計(jì)并得出了前80回和后40回為曹雪芹一人所寫的結(jié)論。持同樣觀點(diǎn)的還有美國(guó)威斯康星大學(xué)的陳炳藻先生,他在1980年6月的首屆國(guó)際《紅樓夢(mèng)》討論會(huì)上發(fā)表了《從詞匯統(tǒng)計(jì)論證紅樓夢(mèng)的作者》一文,并在1986年發(fā)表了《電腦在文學(xué)上的應(yīng)用:〈紅樓夢(mèng)〉與〈兒女英雄傳〉兩書作者用詞的比較》一文,后又出版了《電腦紅學(xué):論〈紅樓夢(mèng)〉作者》的專著。陳炳藻先生利用計(jì)算機(jī)對(duì)《紅樓夢(mèng)》前80回和后40回的用字進(jìn)行了測(cè)定,并從數(shù)理統(tǒng)計(jì)學(xué)的觀點(diǎn)出發(fā),探討《紅樓夢(mèng)》前后用字的相關(guān)程度,由此推斷出后40回也出自曹雪芹之筆的結(jié)論(呂光明,2008)。
對(duì)此,持不同觀點(diǎn)的學(xué)者有蔣文野、王世華、劉鈞杰、陳大康、張衛(wèi)東、劉麗川、嚴(yán)安政、俞敏、晁繼周、鄭慶山、黃曉惠等(汪維輝,2010)。陳大康(1987)結(jié)合《紅樓夢(mèng)》各個(gè)版本間的比較,采用數(shù)理統(tǒng)計(jì)的方法,分別從詞、字、句的角度否定了陳炳藻的說法。他分別對(duì)27個(gè)專用詞、46個(gè)字和89758個(gè)句子的句長(zhǎng)分布及平均句長(zhǎng)等共88個(gè)項(xiàng)目進(jìn)行了考察,不僅否定了前80回和后40回為同一作者的說法,也得出了后四十回的前半部分中含有曹雪芹的少量殘稿。同樣,李賢平(1987)也對(duì)陳炳藻的觀點(diǎn)做出了駁斥,他發(fā)表的《〈紅樓夢(mèng)〉成書新說》一文中將《紅樓夢(mèng)》120回看成是120個(gè)樣本,以與情節(jié)無關(guān)的47個(gè)虛詞作為變量,統(tǒng)計(jì)出每一回里變量出現(xiàn)的次數(shù),用多元統(tǒng)計(jì)中的聚類分析法進(jìn)行合并,果然將120回分成兩類即前80回為一類,后40回為一類,形象地證實(shí)了前80回和后40回不是出自同一人之手;之后又對(duì)曹雪芹的另一本著作做了類似計(jì)算,得出了用詞手法完全相同的結(jié)論,進(jìn)一步論證了前80回出自曹雪芹之手,類似的論證還推翻了后40回是高鶚一人所寫的傳統(tǒng)認(rèn)識(shí)(呂光明,2008)。陳大康(1988)對(duì)“成書新說”所使用的數(shù)學(xué)方法提出了異議,認(rèn)為其采用的聚類方法缺乏客觀標(biāo)準(zhǔn),但是沒有能夠揭示聚類方法實(shí)質(zhì),因此也就沒能從理論上證明“成書新說”的結(jié)論到底是否可靠。施建軍(2010)在此基礎(chǔ)上做了對(duì)用聚類分析研究文本作者的可信度分析,并得出了僅以《紅樓夢(mèng)》一部作品作為樣本進(jìn)行聚類分析,不能夠判別《紅樓夢(mèng)》作者的所屬問題的結(jié)論。
3.1 基于相對(duì)熵的《紅樓夢(mèng)》作者判斷
為了更好地看出《紅樓夢(mèng)》前80回和后40回中相同字在前后概率分布的差異程度,本文將前120回平均分為3組,即前40回,中40回和后40回,分別計(jì)算了以前40回為真實(shí)分布時(shí)與中40回和與后40回的相對(duì)熵,以及以中40回為真實(shí)分布時(shí)與前40回和與后40回的相對(duì)熵。
需要指明的是,本文是以前80回(前40回和中40回)的相同字分布情況作為真實(shí)分布,這是在默認(rèn)即承認(rèn)了紅學(xué)界普遍認(rèn)為的前80回和后40回存在差別,而不是前90回和后30回或者是前70回和后50回存在差別的前提下進(jìn)行的。對(duì)此,施建軍(2011)曾質(zhì)疑張?jiān)屏迹?009)把《紅樓夢(mèng)》的120回平均分為3個(gè)集合來進(jìn)行分類鑒定作者的方法,認(rèn)為“這個(gè)實(shí)驗(yàn)實(shí)際上是在承認(rèn)了前80回和后40回有差別的情況下做的,是一種迎合傳統(tǒng)結(jié)論的作法”,因而施建軍采用的是“支持向量機(jī)”(SV中)的方法,將《紅樓夢(mèng)》的120回作為作者完全未知的文本來進(jìn)行分類,結(jié)果也得出了《紅樓夢(mèng)》前80回和后40回作者是兩個(gè)人的結(jié)果,這與紅學(xué)界多年的推斷一致。故本文在接受了前人實(shí)驗(yàn)結(jié)論的基礎(chǔ)上仍采用傳統(tǒng)的認(rèn)識(shí),把前80回看成是真實(shí)分布,而不再細(xì)究。
3.2 實(shí)驗(yàn)及結(jié)果分析
將《紅樓夢(mèng)》按照章回分為前、中、后三組后,利用計(jì)算機(jī)自動(dòng)統(tǒng)計(jì)其字型和字例,再利用Excel表格刪選出各自與其他組的相同字,得到表1和表2中的《紅樓夢(mèng)》(繁體程高本)的用字情況。從表中可以知道,《紅樓夢(mèng)》120回的總字型為4509個(gè),總字例為736699個(gè),其中前40回有字型3729個(gè),字例為230407個(gè);41-80有字型3734個(gè),字例271271個(gè);前40回與中40回有相同字型3157個(gè),前40回與后40回有相同字型2849個(gè),中40回與后40回有相同字型2845個(gè),從表中可以看出,這些相同字的頻數(shù)都占到了所在40回中總字?jǐn)?shù)的98.9%以上。

表1 字符統(tǒng)計(jì)表

表2 相同字統(tǒng)計(jì)表
得出相同字之后,就可以帶入公式計(jì)算其相同字的相對(duì)熵,計(jì)算得到的相對(duì)熵值見下表3:

表3 《紅樓夢(mèng)》內(nèi)部相對(duì)熵
通過觀察表格中的相對(duì)熵,可以看出,當(dāng)以1-40回中相同字作為真實(shí)分布時(shí),與41-80回中的相同字計(jì)算得到的相對(duì)熵較小,為0.0910586,而與81-120回中的相同字計(jì)算得到的相對(duì)熵較大,為0.158121426;同樣,在以41-80回中相同字作為真實(shí)分布時(shí),與1-40回中的相同字的相對(duì)熵也比與81-120回中的相同字的相對(duì)熵小;且當(dāng)以81-120回中相同字作為真實(shí)分布時(shí),與1-40回和41-80的相同字相對(duì)熵都較大;從這些相對(duì)熵的明顯差距中可以得出,其前80回與后40回的相同字的分布情況距離較遠(yuǎn),可以判斷為前80回與后40回并非一人所寫。
上面是以《紅樓夢(mèng)》為例,用相對(duì)熵來判斷文本內(nèi)部風(fēng)格存在的爭(zhēng)議,但在同一個(gè)作者的不同文本之間,此方法是否適用呢?本文擬用清末著名譴責(zé)小說代表作家李伯元的小說作進(jìn)一步的分析。
據(jù)一般文學(xué)史的記述,李伯元所作的小說主要有《官場(chǎng)現(xiàn)形記》(60回)、《文明小史》(60回)、《中國(guó)現(xiàn)在記》(12回)、《活地獄》(43回)、《海天鴻雪記》(20回)、《繁華夢(mèng)》六部。但其存疑者很多,如阿英編《晚清文學(xué)叢鈔》小說一卷中認(rèn)為《中國(guó)現(xiàn)在記》只寫了十二回,魏紹昌所編《李伯元研究資料》中認(rèn)為《活地獄》第四十至四十二回由吳研人續(xù)作,第四十三回由歐陽矩源續(xù)作,胡適認(rèn)為《官場(chǎng)現(xiàn)形記》也許是別人續(xù)到第六十回勉強(qiáng)結(jié)束的。此外,鄧季方(1990)認(rèn)為《文明小史》的前二十回為季伯元所著,而后四十回當(dāng)為他人代庖。王學(xué)鈞(2002)認(rèn)為“《海天鴻雪記》是浙江人‘二春居士’所作,并非李伯元之作;《繁華夢(mèng)》實(shí)為孫玉聲《海上繁華夢(mèng)》,也非李伯元之作”等等。其中爭(zhēng)議最大的便是《海上繁華夢(mèng)》的作者是否為李伯元,因此,本文將選取《官場(chǎng)現(xiàn)形記》、《文明小史》、《活地獄》這三部作品與《海上繁華夢(mèng)》進(jìn)行文本間相同字的相對(duì)熵計(jì)算,看其結(jié)果是否存在顯著差異。
分別從《官場(chǎng)現(xiàn)形記》、《文明小史》、《活地獄》和《海上繁華夢(mèng)》中隨機(jī)選取連續(xù)的10萬字左右的文本,提取相同字,得出文本間的相同字相對(duì)熵值,見表4。

表4 文本間相對(duì)熵比較
從表格中可以看出,以《官場(chǎng)現(xiàn)形記》作為真實(shí)分布的文本時(shí),與作為模擬文本分布的《活地獄》、《文明小史》、《海上繁華夢(mèng)》 的 相 對(duì)熵 分 別為0.264222734、0.240928183和0.518866854,可以看出《海上繁華夢(mèng)》的相對(duì)熵大于《活地獄》和《文明小史》的相對(duì)熵。同樣,以《活地獄》作為真實(shí)分布的文本時(shí),與作為模擬文本分布的《官場(chǎng)現(xiàn)形記》、《文明小史》、《海上繁華夢(mèng)》的相對(duì)熵分別為0.269838631、0.284102164和0.600203942,《海上繁華夢(mèng)》的相對(duì)熵依舊大于其他兩篇文章。再看,當(dāng)把《海上繁華夢(mèng)》作為真實(shí)分布的文本時(shí),其與《官場(chǎng)現(xiàn)形記》、《活地獄》 和 《文明小史》 的相對(duì)熵分別為0.465435583、0.473658949和0.501873884,其相對(duì)熵的數(shù)量級(jí)較大,則說明《海上繁華夢(mèng)》與其他三個(gè)文本在用字方面的差異度很大。
由此可以得出,《官場(chǎng)現(xiàn)形記》、《活地獄》和《文明小史》三篇文本不管是作為真實(shí)分布的文本還是作為模擬分布的文本,三者之間的相對(duì)熵相對(duì)接近,數(shù)量級(jí)都在0.24~0.285之間,而《海上繁華夢(mèng)》與其他文本間的相對(duì)熵則較大,數(shù)量級(jí)在0.465~0.6之間。如果我們的假設(shè)成立,則由此可以判斷,《海上繁華夢(mèng)》并不是李伯元所寫。
通過以上的計(jì)算,可以認(rèn)為利用文本相同字的相對(duì)熵來做作品的作者判定是可行的,而且從字的角度考察,方法也比較簡(jiǎn)單可行,比從詞、句子的角度考察能省去很多分詞和統(tǒng)計(jì)的工作量。而且可以預(yù)測(cè),如果文本規(guī)模越大則其判定的準(zhǔn)確性也越高。
但同時(shí),這個(gè)方法也存在著某些缺陷,即只能對(duì)有候選作者的爭(zhēng)議文本進(jìn)行判斷,而且候選作者要有足夠的可作為真實(shí)分布的文本做參考。其次,本文實(shí)驗(yàn)的樣本容量還不夠多,具體要得知文本間的相對(duì)熵規(guī)律還要依賴更多的文本間的計(jì)算,不僅有對(duì)同作者其他作品的橫向互檢,也要有與不同作者作品的縱向比較,同時(shí)也要考慮不同文本規(guī)模與相對(duì)熵值之間的影響等等。總之,作為對(duì)作者判定的一種輔助方法,相對(duì)熵也是一種值得研究的途徑。
注釋:
①曾毅平、朱曉文:計(jì)算方法在漢語風(fēng)格學(xué)研究中的應(yīng)用,2006.
[1]陳大康.從數(shù)理語言學(xué)看后四十回的作者——與陳炳藻先生商榷[J].紅樓夢(mèng)學(xué)刊,1987,(1).
[2]李賢平.《紅樓夢(mèng)》成書新說[J].復(fù)旦學(xué)報(bào),1987,(5).
[3]陳大康.“《紅樓夢(mèng)》成書新說難以成立”——與李賢平同志商榷[J].華東師范大學(xué)報(bào),1988,(1).
[4]徐秉錚,蔡偉鴻.從信息論角度探討《紅樓夢(mèng)》的作者[J].中文信息學(xué)報(bào),1988,(4).
[5]陳炳藻.關(guān)于《紅樓夢(mèng)》后四十回[J].紅樓夢(mèng)學(xué)刊,2002,(3).
[6]曹詣?wù)?《紅樓夢(mèng)》語言研究的對(duì)象及方法述略[J].紅樓夢(mèng)學(xué)刊,2004,(3).
[7]李國(guó)強(qiáng),李瑞芳.基于計(jì)算機(jī)的詞頻統(tǒng)計(jì)研究——考證《紅樓夢(mèng)》作者是否唯一[J].沈陽化工學(xué)院學(xué)報(bào),2006,(12):305-307.
[8]呂光明.《紅樓夢(mèng)》作者的統(tǒng)計(jì)論證[J].數(shù)據(jù),2008(4).
[9]李瑞芳,孫軍波,常詩珧.基于計(jì)算機(jī)的《紅樓夢(mèng)》字詞淺探[J].電腦知識(shí)與技術(shù),2009,(5).
[10]張運(yùn)良等.基于句類特征的作者寫作風(fēng)格分類研究[J].計(jì)算機(jī)工程與應(yīng)用,2009,(22).
[11]汪維輝.《紅樓夢(mèng)》前80回和后40回的詞匯差異[J].古漢語研究,2010,(3).
[12]施建軍.關(guān)于以《紅樓夢(mèng)》120回為樣本進(jìn)行其作者聚類分析的可信度問題研究[J].紅樓夢(mèng)學(xué)刊,2010,(5).
[13]施建軍.基于支持向量機(jī)技術(shù)的《紅樓夢(mèng)》作者研究[J].紅樓夢(mèng)學(xué)刊,2011,(5).
[14]C.-I Chang;Y.Du;J.Wang;S.-M.Guo and P.D.Thouin. Survey and comparative analysis of entropy and relative entropy thresholding techniques.IEE Proc.-Vis.Image Signal Process.,2006,153,(6):837-850.
[15]Wang,J.,Du,Y.,Chang,C.-I,and Thouin,P.“Relative entropy-based methods for image thresholding”.Int. Symp.Circuit and Systems(ISCAS)2002,Scottsdale,AZ,May,2002.
[16]Chang,C.-I,Chen,K.,Wang,J.,and Althouse,M.L. G.:“A relative entropy-based approach to image thresholding”,Pattern Recognit.,1994,27,(9):1275-1289.
[17]曾毅平,朱曉文.計(jì)算方法在漢語風(fēng)格學(xué)研究中的應(yīng)用[J].福建師范大學(xué)學(xué)報(bào),2006,1.
[18]王學(xué)鈞.李伯元與“譴責(zé)小說”的興起[J].江蘇社會(huì)科學(xué),2002,09.
[19]鄧季方.《文明小史》后四十回非李伯元著作考[J].西南師范大學(xué)學(xué)報(bào),1990.
[20]杜家利,于屏方.計(jì)算語義學(xué)視角下的文本風(fēng)格研究[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(30).