范亞超,羅天健,周昌樂
(廈門大學(xué) 信息科學(xué)與技術(shù)學(xué)院,福建省類腦計算技術(shù)及應(yīng)用重點實驗室,福建 廈門 361005)
作者識別是從給定的一系列作者中確定未知文本的作者.在機器學(xué)習(xí)角度下,該問題可以轉(zhuǎn)化為文本風(fēng)格的多分類問題,即將每個作者的文本作為一個類別,通過風(fēng)格特征進行分類.作者風(fēng)格特征是指在同一作者文本中穩(wěn)定出現(xiàn)且特有的模式.
文本風(fēng)格和作者識別研究可以追溯到19世紀(jì)60年代,Mendenhall[1]以不同長度詞匯的頻率分布作為不同作者的特征形式.在20世紀(jì)中葉,許多統(tǒng)計學(xué)方法被用來衡量寫作風(fēng)格,包括齊普夫(Zipf)分布和Yule相關(guān)系數(shù).Mosteller等[2]最早以常用功能詞為文本風(fēng)格特征應(yīng)用貝葉斯統(tǒng)計方法分析進行現(xiàn)代作者識別.
目前已提出很多體現(xiàn)文本風(fēng)格的可量化的語言結(jié)構(gòu)特征[3],包括詞匯豐富度[4]、虛詞使用頻率[5-7]、高頻詞[6]、成詞率[3]、詞共現(xiàn)網(wǎng)絡(luò)[8]、網(wǎng)絡(luò)嵌入[9]、基于詞的多元文法[5,7]特征,而對中文詩詞和文言文的作者識別目前研究較少.施建軍[6]以44個文言虛字使用頻率為特征,采用支持向量機模型對《紅樓夢》作者進行研究.肖天久等[7]以獨有詞、虛詞及詞類的多元文法進行聚類,通過計算相似度對《紅樓夢》作者進行分析.易勇等[10]以詩詞向量空間模型為特征,提出基于機器學(xué)習(xí)的樸素貝葉斯方法對李白和杜甫的作品的作者進行判別.
如今,深度學(xué)習(xí)模型已經(jīng)成功應(yīng)用于不同自然語言處理任務(wù),在各項識別任務(wù)上優(yōu)于現(xiàn)有方法,為作者識別問題的研究提供了新方法.在作者識別研究中傳統(tǒng)機器學(xué)習(xí)方法雖然取得了較好的結(jié)果,但是仍然存在缺陷,例如在特征工程中較難提取到能夠很好表征不同作者寫作風(fēng)格的特征,而特征的選擇將直接影響分類結(jié)果.相較于基于統(tǒng)計的特征提取方法[10],對相同詩詞流派的作者識別問題,神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中能夠充分學(xué)習(xí)到不同作者的用詞分布特征和結(jié)構(gòu)特征,降噪自編碼器(DAE)模型[11]是神經(jīng)網(wǎng)絡(luò)中常用的文本特征提取方法,該模型在經(jīng)過編碼和解碼后能夠同時將這些特征進行融合,從少量的數(shù)據(jù)中獲取更高級特征,能夠得到更好的識別效果.因此,本研究將采用DAE模型提取編碼特征,通過無監(jiān)督學(xué)習(xí)預(yù)訓(xùn)練模型得到高階特征向量,從量化計算角度分析作者歸屬問題.
本研究的分析流程如圖1所示,首先進行特征提取,特征提取是從文本中提取能夠代表文本風(fēng)格的特征,并將這些特征量化為特征向量用以進行計算.目前已經(jīng)提出了很多文本風(fēng)格特征,本研究采用高頻字和53個文言虛詞使用頻率,這2種特征在前人的工作中采用[5-7],且被證明在作者識別任務(wù)中具有明顯效果[12].高頻字特征可以反映作者在寫詩詞時的常用字詞,從側(cè)面反映作者的用字靈活程度;虛詞主要包括介詞、連接詞、助詞、語氣詞及副詞等,與作品主題無關(guān),是作者在長期寫作過程中形成的習(xí)慣用詞方式,因此在文本風(fēng)格分析中多被使用.
第二步進行特征選擇,特征選擇是用于去除冗余特征和保留那些能夠高度表征文本風(fēng)格的特征,以達(dá)到避免過度擬合、提高準(zhǔn)確率和減少訓(xùn)練時間的效果.本研究選取基于使用頻率的方法,即選擇在語料庫中出現(xiàn)次數(shù)最多的N個特征.
特征確定之后,對樣本進行量化得到所有樣本的特征向量,將其作為模型輸入進行特征學(xué)習(xí),再采用不同的解碼器預(yù)訓(xùn)練DAE,然后將選擇的頻率特征輸入微調(diào)后的分類神經(jīng)網(wǎng)絡(luò)模型,進行降維提取編碼特征,最后比較編碼特征與現(xiàn)有特征的分類準(zhǔn)確率.
最后進行分類訓(xùn)練和測試,支持向量機在解決小樣本、高維特征模式識別中表現(xiàn)出很多特有優(yōu)勢,且算法簡單,有很好的魯棒性[5-6,13],因此在很多研究中被廣泛應(yīng)用.本研究采用基于徑向基核函數(shù)的支持向量機分類器.
圖1 作者識別流程
由于DAE在輸入值中加入人工噪聲,使其從帶噪聲的數(shù)據(jù)中學(xué)習(xí)到目標(biāo)數(shù)據(jù)的特征,更能抗噪聲干擾,所以DAE的泛化能力比自編碼器更好.該模型由兩部分組成:編碼器和解碼器,編碼器在輸入層和隱含層之間,而解碼器位于隱含層和輸出層之間.下面將介紹DAE的訓(xùn)練過程,如圖2所示.
yi=fen(ti),
3) 隱含層輸出向量y通過解碼層重構(gòu)輸出值z=(zi),
zi=fde(ti′),
其中:z∈Rd;fde為解碼方程,本研究采用線性解碼函數(shù)和sigmoid函數(shù)進行對比;ti′為t′的第i個元素,t′=Wdey+bde,Wde∈Rd×h為解碼層的權(quán)重矩陣,與編碼層權(quán)重共享,即Wde=WenT,bde為偏置量.
當(dāng)采用線性解碼器時,損失函數(shù)采用均方誤差,
圖2 DAE結(jié)構(gòu)
經(jīng)過無監(jiān)督訓(xùn)練后,隱含層學(xué)習(xí)獲得了能夠很好表征輸入數(shù)據(jù)的編碼特征,但是DAE模型并不能實現(xiàn)分類,需要在分類器的訓(xùn)練下實現(xiàn)數(shù)據(jù)分類.因此,通過添加邏輯回歸分類器對預(yù)訓(xùn)練的參數(shù)進行微調(diào),如圖3所示,訓(xùn)練過程如下:
1) 在DAE的編碼層后添加邏輯回歸層.
2) 用預(yù)訓(xùn)練模型編碼層權(quán)重初始化該神經(jīng)網(wǎng)絡(luò)對應(yīng)層權(quán)重.
3) 用帶標(biāo)簽的數(shù)據(jù)微調(diào)神經(jīng)網(wǎng)絡(luò)參數(shù),避免出現(xiàn)局部最優(yōu).
T=fsup(q),
其中:T為全連接層的輸入;fsup為線性激活函數(shù);q=Wy+b,W∈Rh×c為全連接層權(quán)重矩陣,b為偏置量.根據(jù)T可求得預(yù)測分類概率矩陣ppred,
其中c為最終分類個數(shù).
經(jīng)過無監(jiān)督預(yù)訓(xùn)練和有監(jiān)督微調(diào)后,將每個輸入值x輸入分類神經(jīng)網(wǎng)絡(luò)提取特征,最終作為編碼特征.
圖3 分類神經(jīng)網(wǎng)絡(luò)微調(diào)
為避免因為文本體裁不同造成的影響,本研究首先選取《吳承恩詩文集》[14]中部分詩詞及與吳承恩同一時期的其他三位代表性的人物詩集作品包括王廷陳《夢澤集》[15]、薛蕙《考功集》[16]、楊慎《升庵集》[17]對模型進行訓(xùn)練和測試,用以驗證模型的有效性;再對世德堂本章回小說《西游記》中詩詞部分(去除描寫人物和打斗詩詞)共388首進行作者識別,為了使樣本均衡,取每個作者作品集中部分詩詞,詩詞樣本數(shù)量如表1所示.本研究選擇虛詞如下:焉、兮、于、因、在、乎、以、雖、與、使、未、又、況、猶、的、是、至、幾、莫、了、便、勿、惟、皆、自、空、卻、著、且、不、方、如、若、即、為、矣、倘、縱、己、曾、則、乃、其、而、何、尚、所、之、者、也、仍、自、非[18-20].
表1 樣本統(tǒng)計信息
語料庫確定之后,統(tǒng)計所有用字,并以使用次數(shù)最多的方法選擇高頻字和上述選用的虛字作為特征,再用詞袋模型構(gòu)建每個樣本的特征向量x,最終所有樣本的特征向量作為訓(xùn)練該問題的數(shù)據(jù)集.采用5折交叉驗證方法,將數(shù)據(jù)集隨機分為5份,其中每份輪流作為測試集用以評估分類效果;其余4份為訓(xùn)練集;每個組合獨立訓(xùn)練,最終對5次測試結(jié)果取平均值即為最終結(jié)果.實驗訓(xùn)練步驟為首先采用DAE模型把每個樣本的特征向量x作為輸入,z為經(jīng)過模型還原的樣本特征向量,訓(xùn)練的目標(biāo)是使得z盡可能地接近原樣本特征向量x,最終獲得降維后能夠表征作者文本風(fēng)格的低維向量y,DAE模型訓(xùn)練好后再經(jīng)過分類神經(jīng)網(wǎng)絡(luò)微調(diào)DAE模型編碼層參數(shù).所有訓(xùn)練結(jié)束后把全部數(shù)據(jù)集使用分類神經(jīng)網(wǎng)絡(luò)模型映射為編碼特征,然后比較現(xiàn)有特征和編碼特征的分類準(zhǔn)確率.表2列出了DAE網(wǎng)絡(luò)結(jié)構(gòu)的相關(guān)參數(shù).
表2 神經(jīng)網(wǎng)絡(luò)的超參數(shù)
圖4 編碼特征和頻率特征結(jié)果比較
本節(jié)將比較編碼特征與頻率特征的分類準(zhǔn)確率.分別提取4位詩人詩詞作品中的虛字和高頻字使用頻率特征,DAE解碼層采用線性激活函數(shù),然后用本研究提出的方法提取編碼特征,通過支持向量機方法比較頻率特征和編碼特征的分類指標(biāo),如圖4所示.圖4(a)顯示當(dāng)采用不同特征維數(shù)時,采用兩種特征的分類準(zhǔn)確率,可以看出隨特征維數(shù)的增大準(zhǔn)確率整體上呈上升趨勢,且編碼特征的準(zhǔn)確率明顯優(yōu)于使用頻率特征.圖4(b)為當(dāng)特征維數(shù)為1 650時,采用2種特征對吳承恩進行分析得出分類指標(biāo),包括精確率、召回率和F1分?jǐn)?shù),結(jié)果顯示編碼特征在各項指標(biāo)均優(yōu)于頻率特征.綜合分析表明采用本研究提出的方法得到的編碼特征效果優(yōu)于頻率特征.接下來考慮不同DAE超參數(shù)設(shè)置對結(jié)果的影響.
本研究通過在DAE解碼層采用線性解碼器和非線性sigmoid解碼器比較兩者對準(zhǔn)確率的影響.如圖5所示,當(dāng)特征維數(shù)較小時,兩者準(zhǔn)確率相差不大,隨著特征維數(shù)增加,線性解碼器對結(jié)果的提升越來越明顯.特征維數(shù)為1 400時,非線性sigmoid解碼器的準(zhǔn)確率達(dá)到最大值,之后隨著特征維數(shù)增加準(zhǔn)確率逐漸趨于穩(wěn)定.當(dāng)特征維數(shù)為1 650時,線性解碼器的準(zhǔn)確率達(dá)到最大值.因此當(dāng)采用線性解碼器時,可以對更高維數(shù)的特征進行處理,且準(zhǔn)確率更高.
圖5 線性解碼器和非線性解碼器分類結(jié)果比較
DAE中隱含層節(jié)點數(shù)為編碼特征的維數(shù),可以提取輸入特征的更具代表性的特征,同時可以降低輸入特征的維數(shù),減少冗余特征,但降噪自編碼器同時能夠考慮到特征之間的非線性關(guān)系.如圖6所示,當(dāng)隱含層節(jié)點數(shù)太少時,不能很好地表征輸入特征,導(dǎo)致模型數(shù)據(jù)重構(gòu)能力降低,同時也會降低最終的識別準(zhǔn)確率;當(dāng)隱含層節(jié)點數(shù)過多時,會導(dǎo)致提取到的特征同時也學(xué)習(xí)到了噪聲的特性,降低編碼特征的抗噪性能,預(yù)測準(zhǔn)確率下降.
圖6 當(dāng)特征維數(shù)為1 650時,比較采用不同隱含層節(jié)點數(shù)的準(zhǔn)確率
《西游記》作者問題從小說問世到現(xiàn)在爭議不斷,研究者主要圍繞文獻記載和小說內(nèi)容進行分析,集中討論作者是否為吳承恩,同時也提出了其他懷疑作者.杜貴晨等[21]對該問題做了詳細(xì)描述,并指出根據(jù)近20年國內(nèi)外研究結(jié)果,吳承恩說已經(jīng)很難使學(xué)術(shù)界達(dá)成共識.
由于吳承恩遺留的小說作品僅有《西游記》,其他都是不同體裁的短篇文章,無法為本研究提供充足的訓(xùn)練預(yù)料,因此本研究僅對《西游記》中的詩詞進行了作者判別.通過第3節(jié)分析,選取準(zhǔn)確率最高的3種訓(xùn)練模型參數(shù)設(shè)置,對應(yīng)3種特征維數(shù)分別為1 650,1 700, 1 800,解碼器均為線性激活函數(shù),編碼特征維數(shù)隱含節(jié)點數(shù)均為1 100.利用《吳承恩詩文集》的訓(xùn)練模型對《西游記》詩詞進行預(yù)測,同樣采用五折交叉驗證,每次訓(xùn)練后均給出預(yù)測結(jié)果,最終每首詩對應(yīng)15個預(yù)測結(jié)果,計算每首詩屬于吳承恩的概率值,給出了《西游記》中詩詞作者屬于吳承恩的概率分布,如圖7所示.
圖7 吳承恩所作詩詞概率分布
從圖7可以看出,其中有180首預(yù)測概率為0,說明這些詩詞沒有出現(xiàn)與《吳承恩詩文集》中用到高頻詞和虛詞;預(yù)測概率大于0小于50%的詩詞有136首;大于50%的詩詞有72首,占選出的《西游記》詩詞總數(shù)為18.6%,其中預(yù)測概率為90%以上的詩詞數(shù)量僅有27首.從分析結(jié)果可以看出,從詩詞角度,《西游記》中詩詞與吳承恩的詩詞存在相似之處,但數(shù)量不多.
同時,通過提取神經(jīng)網(wǎng)絡(luò)中分類權(quán)重較高的特征發(fā)現(xiàn),西游記中較多出現(xiàn)數(shù)量詞、景色相關(guān)字如“一”、“千”、“萬”、“花”、樹木等;吳承恩詩詞中多出現(xiàn)與自然現(xiàn)象相關(guān)的字如“鳳”、“云”、“日”、“月”等.從用詞習(xí)慣可以看出不同作者在寫詩詞時寄托的事物和表現(xiàn)程度所采用的方式各有不同.
本研究同時通過每回目對應(yīng)的詩詞預(yù)測概率求和除以詩詞總數(shù),從詩詞角度出發(fā)得出《西游記》各回目中詩詞作者是吳承恩的相關(guān)概率,如圖8所示.圖中,X軸表示回目序號,Y軸表示各回目中預(yù)測為吳承恩詩詞數(shù)量與對應(yīng)回目所選取詩詞數(shù)量之比,Z軸表示預(yù)測詩詞作者為吳承恩的概率.從圖中可以看出概率較高的回目集中在開始回目和最后幾個回目,同時預(yù)測的詩詞數(shù)量在這些回目中所占比例也較高.從回目與相關(guān)概率的關(guān)系中可以看出,吳承恩與開頭和結(jié)尾回目相關(guān)概率較大,但回目之間差別較大;與中間部分回目的相關(guān)概率較小,但回目之間差別較?。煌瑫r存在回目間隔相關(guān),即全書間斷性出現(xiàn)與吳承恩沒有相關(guān)性回目.通過上述分析表明,在《西游記》詩詞創(chuàng)作方面吳承恩的寫作風(fēng)格貫穿整部小說,但整體相關(guān)概率較小.
圖8 各回目與吳承恩的相關(guān)概率
本研究提出了基于DAE特征學(xué)習(xí)的作者識別方法,采用DAE深度模型融合文本結(jié)構(gòu)特征和用詞特征提取到作者的用詞之間的網(wǎng)絡(luò)權(quán)重特征,再采用支持向量機分類進行作者識別,將該方法應(yīng)用于吳承恩、王廷陳、薛蕙等同一時期詩人的詩詞作者識別,識別準(zhǔn)確率最高為78.2%,驗證了該方法的有效性.除此之外,本研究還對比了線性解碼器和sigmoid解碼器對分類準(zhǔn)確率的影響,結(jié)果表明線性解碼器較解碼器更有優(yōu)勢.對比了DAE隱含層不同節(jié)點數(shù)對結(jié)果的影響,分析表明合適的隱含層節(jié)點數(shù)選擇可以提升模型的魯棒性.最后,通過本研究提出的方法對《西游記》中的詩詞作者歸屬問題進行了實驗,給出了《西游記》中詩詞作者屬于吳承恩的概率分布和各回目與吳承恩的相關(guān)概率.
今后的工作還需要在高頻字和虛字等特征基礎(chǔ)上,構(gòu)建更完備的多維特征,并結(jié)合文章部分提出跨文本體裁模型綜合分析,給出更全面的作者歸屬論據(jù).