宋 麗,劉 穎,馬艷軍
(1. 清華大學 人文學院 中國語言文學系,北京 100084;2. 北京百度網(wǎng)訊科技有限公司,北京 100085)
《水滸傳》是我國古典長篇小說四大名著之一,講的是北宋宣和年間,一眾好漢聚義梁山泊反抗欺壓,后被朝廷招安,為國征戰(zhàn),損兵折將,最終消亡的故事。然而《水滸傳》的作者究竟是誰眾說紛紜,施耐庵與羅貫中是否為同一人也尚無定論。溫慶新[1]根據(jù)多項研究成果指出,明代人關于《水滸傳》的作者主要有三種代表性意見,分別為施耐庵作、羅貫中作、施羅合作。現(xiàn)代文學界也圍繞《水滸傳》的作者身份展開了大量研究。劉冬[2]、洪東流[3]等認為施耐庵就是興化人施彥端;王曉家[4]、顧文若和焦中棟[5]等認為施耐庵是羅貫中為避文禍而取的托名;羅爾綱[6]從贊詞、敘事、對待人民大眾的態(tài)度等三方面對《水滸傳》百回本和羅貫中《三遂平妖傳》(即《平妖傳》二十回本)進行對勘,得出《水滸傳》前70回為羅貫中一人所著,后30回為他人續(xù)加的結論;呂乃巖[7]通過將《水滸傳》后半部分與羅貫中的其他作品相對照,得出《水滸傳》前半部分為施耐庵所作,后半部分為羅貫中續(xù)加的結論;文獻[8-10]認為《水滸傳》是施耐庵作底本,羅貫中改寫而成的。這些研究大多是從文獻學、歷史學的角度展開的,或多或少會存在主觀性和疏漏,本文則利用統(tǒng)計學原理和計算機技術抽取文本特征,采用計量風格學的多種方法對《水滸傳》的寫作風格進行考察,試圖為《水滸傳》的作者身份認定提供一些參考。
由于《平妖傳》是羅貫中所作的另一部著名小說(1)由于羅貫中的其他作品目前還沒有高質(zhì)量的人工標注文本,且現(xiàn)有的自動分析工具遵循的分詞和詞性標注標準與本文使用的臺灣中央研究院近代漢語標記語料庫并不完全相符,無法通過自動分析直接進行量化對比,故本文僅選取《平妖傳》為參照文本。另外,由于施耐庵的真實身份、生卒年代尚無定論,故本文選取參照作品時忽略時代因素。對于其他相關作品的分析將在后續(xù)研究中進一步展開。(或為馮夢龍增補,下文將對其版本問題加以說明),可以用其考察羅貫中與《水滸傳》之間的關系,而施耐庵除《水滸傳》外并無其他傳世之作,故本文以羅貫中的《平妖傳》為參照,將《水滸傳》的作者身份粗略地劃分為以下五種情況:
(1) 施耐庵作
施耐庵與羅貫中并非同一人,《水滸傳》為施耐庵一人獨作,即《水滸傳》和《平妖傳》分別為兩人所作,《水滸傳》全書的寫作風格應保持一致,且與《平妖傳》不同。
(2) 羅貫中作
施耐庵是羅貫中的托名,《水滸傳》為羅貫中一人獨作,即《水滸傳》和《平妖傳》為同一人所作,《水滸傳》全書的寫作風格應保持一致,且由于兩部小說題材不同,故《水滸傳》的寫作風格會與《平妖傳》有所差異。
(3) 施作羅續(xù)
施耐庵與羅貫中并非同一人,《水滸傳》前半部分為施耐庵所作,后半部分為羅貫中續(xù)寫,即《水滸傳》后半部分的作者與《平妖傳》為同一人,寫作風格應較為相近,且與《水滸傳》前半部分有所差別。
(4) 羅作他續(xù)
施耐庵是羅貫中的托名,《水滸傳》前半部分為羅貫中所作,后半部分為不知名的他人續(xù)寫,即《水滸傳》前半部分的作者與《平妖傳》為同一人,寫作風格應較為相近,且與《水滸傳》后半部分有所差別。
(5) 施作羅改
施耐庵與羅貫中并非同一人,《水滸傳》底本由施耐庵所作,后羅貫中對全書進行了修改潤色,但修改比重不詳。也就是說《平妖傳》的作者對《水滸傳》進行了修改,使得《水滸傳》的寫作風格與《平妖傳》有相似之處,但具體對哪些部分進行了修改,以及修改的篇幅則有待考察。
《水滸傳》自傳世以來出現(xiàn)了多種版本,據(jù)《水滸書錄》[11]可知,明刊本有25種,清刊本有47種。這些版本可大體分為繁本和簡本兩個系統(tǒng),且文學界對繁本更為重視。繁本系統(tǒng)主要包括七十回本、百回本和百二十回本三種規(guī)模,每種規(guī)模又包括若干個版本。從大體上說,這三種規(guī)模的版本是內(nèi)容依次增加的關系,七十回本的內(nèi)容與百二十回本中的前七十回基本一致,寫到分封一百單八將為止;百回本在七十回本的基礎上增加了接受招安、抗擊遼國軍隊和剿滅方臘義軍的故事;百二十回本又在百回本征方臘的情節(jié)之前增加了剿滅王慶和田虎所率領的起義隊伍的故事,百二十回本中較為通行的是袁無涯本?!镀窖齻鳌酚卸乇竞退氖乇緝蓚€版本,且它們分別有多種刻本,作者問題也存在一定爭議: 孫楷第[12]等認為二十回本是羅貫中的原著,而四十回本為馮夢龍增補(這種觀點較為流行);歐陽健[13]等認為四十回本是羅貫中原著,而二十回本是其刪節(jié)本,等等。盡管如此,羅貫中是《平妖傳》的主要作者這一觀點幾乎得到公認,也就是說無論哪個版本,《平妖傳》中必然會體現(xiàn)出羅貫中的寫作風格。由于受時代所限,近代漢語小說在版本方面大多都存在有待考證的問題,難以避免,且版本的考證問題并非本文的重點,故本文僅以內(nèi)容最為完整且最為通行的《水滸傳》繁本百二十回本中的袁無涯本、《平妖傳》四十回本中的嘉會堂本為研究對象,運用計量語言學的研究手段,對《水滸傳》的寫作風格進行考察,從而推測以上五種作者身份情況的可能性大小。
由于《水滸傳》作者身份爭議較大的部分主要體現(xiàn)在前70回與后50回的差異,所以本文以70回結尾為界,將《水滸傳》分為兩部分。為方便闡述,下文分別用“SHZa”“SHZb”和“PYZ”代指三個待考察總體,SHZa中包含70個樣本,即《水滸傳》的前70回;SHZb中包含50個樣本,即《水滸傳》的后50回;PYZ中包含40個樣本,即《平妖傳》的全40回。另外,使用Diff(X,Y)表示兩個總體之間的差異程度,如Diff(SHZa,SHZb)表示SHZa和SHZb之間的差異程度。上述五種作者身份的情況可簡單總結為表1。
表1 《水滸傳》作者的主要爭議情況歸納
兩部小說的電子文本均來源于臺灣“中央研究院”近代漢語標記語料庫(2)http://lingcorpus.iis.sinica.edu.tw/cgi-bin/kiwi/pkiwi/kiwi.sh?ukey=-1316487165&qtype=0,語料均已進行了人工分詞和詞性標注,質(zhì)量較高,且均為繁體中文(該語料庫中使用的詞類標記共計59個,排除標題、外文標記、被解釋的字、記錄者姓名,以及兩部小說中均未出現(xiàn)的引述句這5項,本文考察的詞類共計54項,其中虛詞13項,實詞41項)。由于古代漢語使用句讀進行斷句,數(shù)字化古籍中的標點符號都是由古籍整理人員根據(jù)現(xiàn)代漢語標點規(guī)范人為增添的,因此下文中提及的所有統(tǒng)計數(shù)據(jù)和文本特征均不考慮標點。兩部小說的基本統(tǒng)計數(shù)據(jù)見表2。
表2 兩部小說的基本統(tǒng)計數(shù)據(jù)(不含標點)
關于文本特征,一方面,本文提取了作者身份識別任務中較為常用,且已在多項實驗中被驗證有效的能夠體現(xiàn)作者寫作風格的特征,包括語法單元的長度、虛詞、詞類等。另一方面,雖然文本中實詞的相關特征通常用于考察文本內(nèi)容和主題,但也有不少學者從用詞情況、對人物形象的塑造等角度來分析《水滸傳》的作者[8, 10, 14],可見考察《水滸傳》的作者身份不能完全不考慮實詞。為避免與內(nèi)容高度相關的特征對作者身份判定造成影響,本文只補充提取在三個總體中均出現(xiàn)的高頻實詞Top500的詞頻作為特征。提取的特征共計1 808個,如表3所示。
表3 提取的特征及其數(shù)量
首先使用假設檢驗和聚類分析的方法對“施耐庵作”“羅貫中作”和“施作羅續(xù)”這三種情況的可能性進行考察。
假設檢驗(3)假設檢驗的具體方法參見文獻[15]??捎糜诳疾觳煌傮w之間是否存在顯著差異。由于本文考察的三個總體的樣本量不大且不相等,為避免數(shù)據(jù)分布和方差的差異對假設檢驗結果造成影響,本文先針對每個特征,分別對三個總體做Shapiro-Wilk檢驗(適用于樣本量小于2 000時的正態(tài)性檢驗)[15]和Levene方差齊性檢驗[16],抽取出了在三個總體中均服從正態(tài)分布(顯著性水平α= 0.05(4)統(tǒng)計學上一般把概率≤0.05的事件稱為小概率事件。,下同)且滿足方差齊性的特征56個(包括高頻實詞“去”、虛詞“了”、詞類VC(動作及物動詞)、平均小句長等)。然后,分別針對這56個特征,對SHZa、SHZb和PYZ這三個總體做單因素方差分析(可用于考察多個正態(tài)總體的均值之間差異是否顯著,僅涉及一個變量),結果顯示三個總體在47個方面存在顯著差異。為進一步確認顯著差異存在于哪幾組數(shù)據(jù)之間,還利用LSD檢驗法[17]進行了多重比較,得到了每兩個總體中有顯著差異的特征的數(shù)量,見表4(最小數(shù)量加粗,下同)。
表4 每兩個總體中差異顯著的特征數(shù)量對比
針對余下特征,對三個總體做Kruskal-WallisH檢驗(5)有學者將Kruskal-Wallis H檢驗稱作單因素方差分析的非參數(shù)方法。(通過秩和均值來考察多個總體差異是否顯著,不依賴總體的分布,僅涉及一個變量。以下簡稱K-W檢驗)[18],結果顯示三個總體在1 227個方面存在顯著差異,進一步做多重比較[19],每兩個總體中有顯著差異的特征數(shù)量見表4。
觀察表4可知,在被實施多重比較的特征中,不論是進行LSD檢驗,還是進行K-W多重檢驗,《水滸傳》前70回與《平妖傳》呈現(xiàn)顯著差異的特征數(shù)量都是最少的,也就是說與其他兩組相比,它們在較少的方面存在差異。眾所周知,這兩部小說的題材不同(《水滸傳》為英雄傳奇小說,《平妖傳》為神魔小說),但多重比較結果卻顯示出自同一部小說的《水滸傳》前70回和后50回之間的差異程度較大,與《水滸傳》后50回和《平妖傳》的差異特征數(shù)量接近,反而是分別出自不同題材的兩部小說的《水滸傳》前70回和《平妖傳》差異程度較小。
K均值聚類以k為輸入?yún)?shù),把n個對象的集合分為k個簇。本文指定k=2(即分為兩類),文本之間的相似度使用歐氏距離計算。分類結果見表5(數(shù)字加粗表示被分到相應類別的章回數(shù)較多)。由于樣本數(shù)據(jù)處于一個高維空間中,K均值聚類的結果難以用平面圖表示,所以采用主成分分析法(Principal Component Analysis,PCA)[20]進行維數(shù)約減,提取了最重要的兩個主成分(保留的信息量分別為0.11和0.05),將結果映射到二維平面,做散點圖1。從圖中可見,160個樣本明顯被分為了兩類,也就是說僅0.16的信息量值可得到近似線性二分的結果。
圖1 兩部小說各章回的K均值聚類結果(主成分Top2)
層次聚類將數(shù)據(jù)對象組成一棵聚類樹,無須指定類別數(shù)量。本文用歐氏距離計算文本之間的相似度,用離差平方和計算類與類之間的相異度。聚類結果見圖2,其中橫坐標為各章回編號,縱坐標為文本之間的相似度。以150為界做一條橫線,可將160個樣本分為兩類,類別內(nèi)部的歐氏距離均小于150,而兩個類別之間的歐氏距離超過了200。各章回的具體分類情況見表5。
圖2 兩部小說各章回的層次聚類結果
表5 三個總體中各章回的聚類結果詳情
觀察K均值聚類和層次聚類的結果,發(fā)現(xiàn)《水滸傳》前70回和《平妖傳》中的大部分文本都聚在了同一類,而《水滸傳》后50回中的大部分文本則聚在了另一類,這說明三個總體中,《水滸傳》前70回和《平妖傳》之間的差異程度最小,與第2.1節(jié)中假設檢驗的結果相符。
假設檢驗和聚類分析的結果都顯示Diff(SHZa,SHZb)、Diff(SHZa,PYZ)、Diff(SHZb,PYZ)中值最小的應為Diff(SHZa,PYZ)。然而根據(jù)表1可知,若《水滸傳》為“施耐庵作”或“羅貫中作”,則Diff(SHZa,SHZb)應最?。欢羰恰笆┳髁_續(xù)”,則Diff(SHZb,PYZ)應最小,據(jù)此可推斷,“施耐庵作”“羅貫中作”和“施作羅續(xù)”這三種情況的可能性小。
由第2節(jié)可知,SHZa、SHZb、PYZ這三個總體之間差異程度最小的應為SHZa和PYZ,這一結果與“羅作他續(xù)”相匹配。為進一步驗證這一情況,本文利用文本分類方法支持向量機(Support Vector Machine,SVM)[21],從作者身份歸屬(Authorship Attribution,即判斷待分類文本的作者是已知作者中的哪一個)和作者身份驗證(Authorship Verification,即判斷待分類文本的作者與已知作者是否為同一人)兩個角度對上述三個總體加以考察。
從作者身份歸屬的角度出發(fā),假定《水滸傳》前70回為羅貫中所作,后50回為另一不知名作者所作,考察《平妖傳》中的各章回被分類到《水滸傳》前70回和后50回的可能性大小。也就是說,假定SHZa和SHZb中的樣本被分為不同的兩類,用SVM考察PYZ中的各樣本被分到這兩類的可能性。由于SHZa和SHZb中的樣本數(shù)量不均衡(70 vs. 50),故在實際操作時,隨機剔除SHZa中的20個樣本進行訓練,重復10次,以最終輸出的概率均值為預測結果,作堆積柱狀圖,如圖3所示。圖中橫坐標為PYZ中各章回的編號,縱坐標為概率值,每一章回被分到SHZa和SHZb的概率值之和都為1。
圖3 《平妖傳》中各章回被分類到《水滸傳》前70回和后50回的可能性
雖然總體看來,PYZ中的文本被分類到SHZa和SHZb的概率大致相當,但若除去開頭和結尾的幾個章回,則更多地被分到SHZa中。研究《平妖傳》的多數(shù)學者認為其二十回本為羅貫中所作,而四十回本是馮夢龍增補而成。譚紅[22]從多方面對這兩個版本進行了細致的對比分析,綜合其分析結果可知,與二十回本相比,人物方面,四十回本中新增的人物(如九天玄女、白猿神)和對原有人物(如王則、蛋子和尚)的改寫大多出現(xiàn)于開篇第1回和結尾第37~40回;情節(jié)方面,四十回本新增和大幅擴充的內(nèi)容主要出現(xiàn)在第1~18,34~40回。也就是說,中間的章回,尤其是第19~33回基本保留了羅貫中二十回本的原貌。這一結論與圖3的結果高度匹配,可見《平妖傳》中保留的羅貫中的寫作風格與《水滸傳》前70回很相近,所以《平妖傳》與《水滸傳》前70回的作者很可能都是羅貫中,這說明“施耐庵”可能只是羅貫中的一個托名,而《水滸傳》前后寫作風格差異大,后半部分可能是由他人續(xù)寫。這一結果支持了“羅作他續(xù)”的說法。
Koppel & Schler[23]指出,由于主題、體裁、寫作目的、寫作年代等因素的變化,甚至出于掩飾身份的目的,同一個作者所作的不同作品在少量特征方面會有明顯不同。也就是說,這些特征對作者身份的驗證造成了困難。為了解決這種困難,他們提出了“揭露(Unmasking)算法”,其思路為將作者身份已知的文本和作者身份未知的文本拆分為多個組塊,并假定它們分屬不同的兩類,不斷刪除對區(qū)分這兩類文本最有用的特征,測量交叉驗證時分類正確率下降的速度,若下降速度快,則表示兩個文本難以區(qū)分,即作者為同一人,反之則作者并非同一人。在驗證小說TheHouseofSevenGables的作者身份時,揭露算法在三位候選作者中明確選中了正確的作者Hawthorne(8)將The House of Seven Gables與其他作者的作品比較時,正確率下降緩慢,而與Hawthorne的作品比較時,正確率下降迅速。。Bevendorff 等[24]通過改變生成組塊的方式,打破對組塊長度的要求,將揭露算法引入了對短文本的作者身份驗證任務中,也取得了與目前高性能算法相當?shù)男Ч?。本文參考揭露算法的思路,以小說章回為文本的自然組塊,進行了如下實驗:
迭代50次{
步驟①: 對總體A和B,假定它們的作者并非同一人(即分屬兩個不同類別),利用LinearSVM模型訓練分類器,做10折交叉驗證,計算平均正確率
步驟②: 去掉步驟①訓練出的分類器中權重最高的5個特征和權重最低的5個特征
步驟③: 回到步驟①
}
圖4 揭露算法的分類正確率變化情況
分別設A=SHZa,B=PYZ;A=SHZb,B=PYZ,各進行一次實驗(9)由于該實驗主要關注的是刪除特征后分類正確率的變化速度,所以并未對兩類樣本數(shù)量的不均衡做額外處理。,將50次的分類正確率做折線圖,如圖4所示。橫坐標為迭代次數(shù),縱坐標為交叉驗證后的平均分類正確率。從圖中可以很直觀地看出,SHZa vs. PYZ的分類正確率的下降速度明顯比SHZb vs. PYZ快,也就是說,《水滸傳》前70回和《平妖傳》的作者為同一人的可能性大,而《水滸傳》后50回和《平妖傳》的作者為同一人的可能性較小。這一結果也支持“羅作他續(xù)”的說法。
由于本文所考察的文本數(shù)據(jù)中的詩詞均被剔除,也就是說上述統(tǒng)計數(shù)據(jù)并未能覆蓋小說中詩詞部分的信息,所以需對兩部小說中的詩句、贊詞等內(nèi)容進行補充分析。羅爾綱[6]曾對《水滸傳》百回本和《平妖傳》二十回本中的贊詞進行對勘,發(fā)現(xiàn)《平妖傳》二十回本中有13處贊詞被直接或經(jīng)改寫后插入了《水滸傳》百回本的前70回中(插入15處)。這些贊詞均被相應地保留在了《水滸傳》百二十回本和《平妖傳》四十回本中。此外,本文還通過字符串比對(10)詩詞比對選用的是簡體版文本。,在兩部小說中找到了另外9處或長或短的相似詩詞,例如《水滸傳》第41回描寫眾好漢火燒黃文炳家的場景時用了一句“驪山頂上,多應褒姒戲諸侯;赤壁坡前,有若周瑜施妙計?!薄镀窖齻鳌返?8回描寫胡員外家解庫起火的場景時用了一句“驪山頂上,料應褒姒逞英雄。揚子江頭,不若周郎施妙計?!边@兩句話的句式、用詞、內(nèi)容都很相似,只改動了個別字詞(相同的字詞加粗)。
表6羅列了兩部小說中24處相似的詩詞以及它們各自的章回信息(受篇幅所限,只摘錄部分相似內(nèi)容)。其中僅有6處出自《水滸傳》后50回,其他全都出自《水滸傳》前70回。可見,《水滸傳》前70回和《平妖傳》中的詩詞有較高的相似度,這進一步佐證了SHZa和PYZ很可能是出自同一人之手。當然,不可否認的是,詩詞的相似度高也有可能是因為不同作者挪用并改寫,這有待進一步考證。
表6 兩部小說中的相似詩詞及其所在章回
續(xù)表
商韜和陳年希[25]指出,宋元以來的許多話本小說和章回小說往往不是個人的獨立創(chuàng)作,而是時代積累型的集體創(chuàng)作。所以僅憑上述分析,不能直接斷定“施耐庵”只是羅貫中的一個托名,《水滸傳》是羅作他續(xù)?;蛟S《水滸傳》也并非一人獨著或有人續(xù)寫,而是一部集體創(chuàng)作的作品,而且無法區(qū)分各章回分別由誰所寫。接下來,本文假定《水滸傳》的確符合第五種情況“施作羅改”,引入波動風格計量的方法對二位作者的風格比重加以分析。
波動風格計量(Rolling Stylometry)是由Eder提出的一種考察合作型文本的文體特征或?qū)懽黠L格的方法,其將有監(jiān)督的機器學習分類方法與序列分析相結合。Eder[26]指出線性序列中元素的順序與元素本身同樣重要,文本中連續(xù)的部分可以體現(xiàn)風格特征的線性發(fā)展。這一思想最早被應用于語言學是1913年Markov[27](11)該篇論文成文于1913年,2006年由Science in Context期刊出版。提出的馬爾科夫鏈(Markov chains),只不過馬爾科夫鏈的滑動窗口只包含連續(xù)的幾個字符,而波動風格計量方法的滑動窗口則包含連續(xù)的上百或上千個詞,其目的在于從文本中生成一連串含有重疊內(nèi)容、前后相互關聯(lián)的虛擬子樣本,從而可以使用有監(jiān)督的機器學習分類方法測試它們在整個文本中的風格一致性。與傳統(tǒng)的方法相比,波動風格計量分析方法打破了文本中預設的界線,如章回、段落等,轉(zhuǎn)而對一系列連續(xù)的、長度相等且包含重疊成分的樣本進行分類,因此可以用于考察合作型文本中不同作者各自的貢獻份額的變化情況。圖5是該方法抽取子樣本的示意圖,其中k表示每個子樣本包含的詞數(shù),d表示連續(xù)兩個子樣本中重疊的內(nèi)容長度。Plech[28]利用Shakespeare和Fletcher的各4部劇作,以500個高頻節(jié)奏類型和500個高頻詞為特征,測試了這種方法的有效性(12)與Eder[28]不同的是,Plech[30]設置的滑動窗口以劇作的臺詞(line)為單位,而非單個詞。,結果顯示,在Shakespeare的劇作中,F(xiàn)letcher的貢獻程度都非常低,反之亦然,若根據(jù)概率值大小判斷作者身份,正確率則高達0.997 7,可見波動風格計量分析方法對作者貢獻程度的度量具有較高的有效性。
圖5 波動風格計量方法抽取子樣本的示意圖(13)截取自文獻[28]。
本文考察的《水滸傳》的作者身份的第五種情況是“施作羅改”,其蘊涵為施耐庵與羅貫中并非同一人。由于除《水滸傳》以外,施耐庵并沒有其他傳世之作,所以無法選用其他作品作為施耐庵的訓練集。綜合持“施作羅改”觀點的多位學者的分析,他們雖然對施耐庵和羅貫中對《水滸傳》的具體貢獻各持己見,但幾乎都認為施耐庵的底本主要是以宋江的故事為主線,羅貫中在前期保留了與宋江有關的主要情節(jié),即約為后人總結的“宋十回”(第33~42回)。從第2.2節(jié)聚類分析的結果可知,這些章回也的確被聚在了同一類。所以,本文提取“宋十回”覆蓋的97個樣本作為施耐庵的訓練樣本,以《平妖傳》的284個樣本作為羅貫中的訓練樣本,用波動風格計量的方法對《水滸傳》全書進行測試。
從圖6中可見,在假定《水滸傳》是“施作羅改”的前提下,波動風格計量方法的測試結果的確顯示《水滸傳》全書中,二者的風格占比存在明顯的波動。但是,除了本就被選為施耐庵訓練樣本的部分,其余部分的黑色曲線大多落在了羅貫中的區(qū)域,約第1~32,43~46,52~56,60~110,117~120回,也就是這些部分都主要由羅貫中所寫。羅貫中對《水滸傳》的貢獻度很高,且顯然遠超施耐庵,由此可以推測,“施作羅改”的可能性較小,即使真的存在所謂施耐庵的底本,在經(jīng)過羅貫中的改寫后,也已經(jīng)基本不復原貌。
圖6 《水滸傳》作者身份識別的波動風格計量測試結果
由于事先已做了“施作羅改”的假定,且沒有施耐庵的其他作品作參照,所以同樣還需進一步結合文獻學和歷史學的知識對該測試結果加以考證。下面結合波動風格計量的測試結果與《水滸傳》的文本內(nèi)容,就相關研究成果中的部分觀點加以比對分析:
(1) 侯會[29]、楊林[8]認為《水滸傳》開篇關于魯智深、林沖等人的故事(即第1~13回)和描寫武松的“武十回”(從第23回武松打虎開始,到第32回武行者醉打孔亮結束)這些與宋江的故事毫無聯(lián)系的內(nèi)容均為羅貫中增補。波動風格計量的測試結果顯示,前32回都應主要出自羅貫中之手,所以該觀點僅與測試結果部分相符。
(2) 李永祜[10]認為楊志押運生辰綱(第16回)是施耐庵重點描寫的內(nèi)容;宋江私放晁蓋、殺掉閻婆惜后逃亡避難(分別在第18、21~22回)等情節(jié)均出自施耐庵之手;第72回柴進潛入宮禁,在睿思殿看到素面屏風的場景是施耐庵根據(jù)自己的真實經(jīng)歷模仿的;而宋江率軍隊征討遼國(第83~89回)的故事是羅貫中設計出的魯智深經(jīng)歷的重要關節(jié)。波動風格計量的測試結果顯示,第16、18、21、22、72、83~89回均主要為羅貫中所作,所以這幾個觀點中只有征遼情節(jié)由羅貫中設計這一個觀點與測試結果相符。
(3) 孟繁仁[30]、宣嘯東[31]等認為“征田虎”部分的人物許貫忠是羅貫中在修改施耐庵創(chuàng)作的底本時創(chuàng)作出的自己的虛像,也就是說關于許貫忠的內(nèi)容均是由羅貫中主筆撰寫。原著中許貫忠于第90回作為燕青巧遇的故交出場,帶他到家中做客,提醒他功成名就之時要及時抽身,送他畫作,著墨較多,第91、94回也對許貫忠有所提及。波動風格計量的測試結果顯示,羅貫中對第90~94回的改動的確較大,所以該觀點與測試結果相符。
(4) 楊林[8]認為宋江等人平方臘有功,升官受賞是施耐庵底本的結局,而他們功成名就之后被害死的情節(jié)并非出自施耐庵之手,而是羅貫中在元、明朝代更迭之際看到亂世的殘酷現(xiàn)實后所增益的內(nèi)容。原著中征方臘的情節(jié)從第110回開始,到第119回以宋軍平定方臘叛亂,梁山好漢得到封賞,宋江衣錦還鄉(xiāng)結束,而宋江、盧俊義等人被蔡京、高俅等奸臣迫害致死的情節(jié)出現(xiàn)在第120回。波動風格計量的測試結果顯示,羅貫中對第120回的改動的確較大,對第111~116回的改動較小,所以該觀點與測試結果部分相符。
總的來說,波動風格計量分析的結果僅與“施作羅改”的少數(shù)觀點相符,其他觀點諸如施耐庵集撰了前人所作的水滸故事,羅貫中刪去了施耐庵底本的一些內(nèi)容等,僅僅基于本文的測試結果無法得到驗證,有待進一步考察。
本文以《水滸傳》的作者身份為研究對象,根據(jù)前人研究將《水滸傳》的作者爭議粗略地歸納為施耐庵作、羅貫中作、施作羅續(xù)、羅作他續(xù)、施作羅改等五種情況,以羅貫中的另一部小說《平妖傳》為參考,利用統(tǒng)計學原理和計算機技術對文本特征進行抽取,采用計量風格學的多種方法對《水滸傳》的寫作風格進行考察,試圖為《水滸傳》的作者身份認定提供參考。
首先通過假設檢驗、K均值聚類和層次聚類發(fā)現(xiàn),在《水滸傳》前70回、《水滸傳》后50回、《平妖傳》這三個總體中,《水滸傳》前70回和《平妖傳》的寫作風格之間差異最小,從而得出結論: 《水滸傳》為施耐庵作、羅貫中作、施作羅續(xù)的可能性小,而羅作他續(xù)的可能性大。然后,從作者身份歸屬和作者身份驗證兩個角度出發(fā),利用文本分類方法SVM,結合對兩部小說中相似詩詞的補充分析,進一步驗證了羅作他續(xù)可能性大這一結論,這或許可以為“施耐庵是羅貫中的化名”這一觀點提供佐證。此外,還采用波動風格計量的方法對施作羅改的情況加以考察,測試結果顯示,“施作羅改”的可能性也較小,即使的確存在施耐庵的底本,羅貫中的改寫也已使其基本不復原貌,通過與原著內(nèi)容的比對可知測試結果僅與施作羅改的少數(shù)觀點相符。綜合而言,《水滸傳》作者爭議的五種情況中只有羅作他續(xù)可能性大,其他四種情況可能性都較小。
由于施耐庵與羅貫中究竟是什么關系這一問題尚無定論,而本文在采用有監(jiān)督的機器學習分類方法時對施耐庵的身份做了假定,而且本文尚未考察“羅作他續(xù)”中“他”的身份,所以未來還需進一步結合文獻學和歷史學的知識對分類結果的可靠性加以考證,并探究羅作他續(xù)中“他”的身份。此外,未來還需進一步結合《水滸傳》和《平妖傳》的文本內(nèi)容對本文的計量結果加以分析。