范亞超,羅天健,周昌樂
(廈門大學 信息科學與技術學院,福建省類腦計算技術及應用重點實驗室,福建 廈門 361005)
作者識別是從給定的一系列作者中確定未知文本的作者.在機器學習角度下,該問題可以轉化為文本風格的多分類問題,即將每個作者的文本作為一個類別,通過風格特征進行分類.作者風格特征是指在同一作者文本中穩定出現且特有的模式.
文本風格和作者識別研究可以追溯到19世紀60年代,Mendenhall[1]以不同長度詞匯的頻率分布作為不同作者的特征形式.在20世紀中葉,許多統計學方法被用來衡量寫作風格,包括齊普夫(Zipf)分布和Yule相關系數.Mosteller等[2]最早以常用功能詞為文本風格特征應用貝葉斯統計方法分析進行現代作者識別.
目前已提出很多體現文本風格的可量化的語言結構特征[3],包括詞匯豐富度[4]、虛詞使用頻率[5-7]、高頻詞[6]、成詞率[3]、詞共現網絡[8]、網絡嵌入[9]、基于詞的多元文法[5,7]特征,而對中文詩詞和文言文的作者識別目前研究較少.施建軍[6]以44個文言虛字使用頻率為特征,采用支持向量機模型對《紅樓夢》作者進行研究.肖天久等[7]以獨有詞、虛詞及詞類的多元文法進行聚類,通過計算相似度對《紅樓夢》作者進行分析.易勇等[10]以詩詞向量空間模型為特征,提出基于機器學習的樸素貝葉斯方法對李白和杜甫的作品的作者進行判別.
如今,深度學習模型已經成功應用于不同自然語言處理任務,在各項識別任務上優于現有方法,為作者識別問題的研究提供了新方法.在作者識別研究中傳統機器學習方法雖然取得了較好的結果,但是仍然存在缺陷,例如在特征工程中較難提取到能夠很好表征不同作者寫作風格的特征,而特征的選擇將直接影響分類結果.相較于基于統計的特征提取方法[10],對相同詩詞流派的作者識別問題,神經網絡在訓練過程中能夠充分學習到不同作者的用詞分布特征和結構特征,降噪自編碼器(DAE)模型[11]是神經網絡中常用的文本特征提取方法,該模型在經過編碼和解碼后能夠同時將這些特征進行融合,從少量的數據中獲取更高級特征,能夠得到更好的識別效果.因此,本研究將采用DAE模型提取編碼特征,通過無監督學習預訓練模型得到高階特征向量,從量化計算角度分析作者歸屬問題.
本研究的分析流程如圖1所示,首先進行特征提取,特征提取是從文本中提取能夠代表文本風格的特征,并將這些特征量化為特征向量用以進行計算.目前已經提出了很多文本風格特征,本研究采用高頻字和53個文言虛詞使用頻率,這2種特征在前人的工作中采用[5-7],且被證明在作者識別任務中具有明顯效果[12].高頻字特征可以反映作者在寫詩詞時的常用字詞,從側面反映作者的用字靈活程度;虛詞主要包括介詞、連接詞、助詞、語氣詞及副詞等,與作品主題無關,是作者在長期寫作過程中形成的習慣用詞方式,因此在文本風格分析中多被使用.
第二步進行特征選擇,特征選擇是用于去除冗余特征和保留那些能夠高度表征文本風格的特征,以達到避免過度擬合、提高準確率和減少訓練時間的效果.本研究選取基于使用頻率的方法,即選擇在語料庫中出現次數最多的N個特征.
特征確定之后,對樣本進行量化得到所有樣本的特征向量,將其作為模型輸入進行特征學習,再采用不同的解碼器預訓練DAE,然后將選擇的頻率特征輸入微調后的分類神經網絡模型,進行降維提取編碼特征,最后比較編碼特征與現有特征的分類準確率.
最后進行分類訓練和測試,支持向量機在解決小樣本、高維特征模式識別中表現出很多特有優勢,且算法簡單,有很好的魯棒性[5-6,13],因此在很多研究中被廣泛應用.本研究采用基于徑向基核函數的支持向量機分類器.

圖1 作者識別流程
由于DAE在輸入值中加入人工噪聲,使其從帶噪聲的數據中學習到目標數據的特征,更能抗噪聲干擾,所以DAE的泛化能力比自編碼器更好.該模型由兩部分組成:編碼器和解碼器,編碼器在輸入層和隱含層之間,而解碼器位于隱含層和輸出層之間.下面將介紹DAE的訓練過程,如圖2所示.


yi=fen(ti),

3) 隱含層輸出向量y通過解碼層重構輸出值z=(zi),
zi=fde(ti′),
其中:z∈Rd;fde為解碼方程,本研究采用線性解碼函數和sigmoid函數進行對比;ti′為t′的第i個元素,t′=Wdey+bde,Wde∈Rd×h為解碼層的權重矩陣,與編碼層權重共享,即Wde=WenT,bde為偏置量.
當采用線性解碼器時,損失函數采用均方誤差,

圖2 DAE結構
經過無監督訓練后,隱含層學習獲得了能夠很好表征輸入數據的編碼特征,但是DAE模型并不能實現分類,需要在分類器的訓練下實現數據分類.因此,通過添加邏輯回歸分類器對預訓練的參數進行微調,如圖3所示,訓練過程如下:
1) 在DAE的編碼層后添加邏輯回歸層.
2) 用預訓練模型編碼層權重初始化該神經網絡對應層權重.
3) 用帶標簽的數據微調神經網絡參數,避免出現局部最優.
T=fsup(q),
其中:T為全連接層的輸入;fsup為線性激活函數;q=Wy+b,W∈Rh×c為全連接層權重矩陣,b為偏置量.根據T可求得預測分類概率矩陣ppred,
其中c為最終分類個數.
經過無監督預訓練和有監督微調后,將每個輸入值x輸入分類神經網絡提取特征,最終作為編碼特征.

圖3 分類神經網絡微調
為避免因為文本體裁不同造成的影響,本研究首先選取《吳承恩詩文集》[14]中部分詩詞及與吳承恩同一時期的其他三位代表性的人物詩集作品包括王廷陳《夢澤集》[15]、薛蕙《考功集》[16]、楊慎《升庵集》[17]對模型進行訓練和測試,用以驗證模型的有效性;再對世德堂本章回小說《西游記》中詩詞部分(去除描寫人物和打斗詩詞)共388首進行作者識別,為了使樣本均衡,取每個作者作品集中部分詩詞,詩詞樣本數量如表1所示.本研究選擇虛詞如下:焉、兮、于、因、在、乎、以、雖、與、使、未、又、況、猶、的、是、至、幾、莫、了、便、勿、惟、皆、自、空、卻、著、且、不、方、如、若、即、為、矣、倘、縱、己、曾、則、乃、其、而、何、尚、所、之、者、也、仍、自、非[18-20].

表1 樣本統計信息
語料庫確定之后,統計所有用字,并以使用次數最多的方法選擇高頻字和上述選用的虛字作為特征,再用詞袋模型構建每個樣本的特征向量x,最終所有樣本的特征向量作為訓練該問題的數據集.采用5折交叉驗證方法,將數據集隨機分為5份,其中每份輪流作為測試集用以評估分類效果;其余4份為訓練集;每個組合獨立訓練,最終對5次測試結果取平均值即為最終結果.實驗訓練步驟為首先采用DAE模型把每個樣本的特征向量x作為輸入,z為經過模型還原的樣本特征向量,訓練的目標是使得z盡可能地接近原樣本特征向量x,最終獲得降維后能夠表征作者文本風格的低維向量y,DAE模型訓練好后再經過分類神經網絡微調DAE模型編碼層參數.所有訓練結束后把全部數據集使用分類神經網絡模型映射為編碼特征,然后比較現有特征和編碼特征的分類準確率.表2列出了DAE網絡結構的相關參數.

表2 神經網絡的超參數

圖4 編碼特征和頻率特征結果比較
本節將比較編碼特征與頻率特征的分類準確率.分別提取4位詩人詩詞作品中的虛字和高頻字使用頻率特征,DAE解碼層采用線性激活函數,然后用本研究提出的方法提取編碼特征,通過支持向量機方法比較頻率特征和編碼特征的分類指標,如圖4所示.圖4(a)顯示當采用不同特征維數時,采用兩種特征的分類準確率,可以看出隨特征維數的增大準確率整體上呈上升趨勢,且編碼特征的準確率明顯優于使用頻率特征.圖4(b)為當特征維數為1 650時,采用2種特征對吳承恩進行分析得出分類指標,包括精確率、召回率和F1分數,結果顯示編碼特征在各項指標均優于頻率特征.綜合分析表明采用本研究提出的方法得到的編碼特征效果優于頻率特征.接下來考慮不同DAE超參數設置對結果的影響.
本研究通過在DAE解碼層采用線性解碼器和非線性sigmoid解碼器比較兩者對準確率的影響.如圖5所示,當特征維數較小時,兩者準確率相差不大,隨著特征維數增加,線性解碼器對結果的提升越來越明顯.特征維數為1 400時,非線性sigmoid解碼器的準確率達到最大值,之后隨著特征維數增加準確率逐漸趨于穩定.當特征維數為1 650時,線性解碼器的準確率達到最大值.因此當采用線性解碼器時,可以對更高維數的特征進行處理,且準確率更高.

圖5 線性解碼器和非線性解碼器分類結果比較
DAE中隱含層節點數為編碼特征的維數,可以提取輸入特征的更具代表性的特征,同時可以降低輸入特征的維數,減少冗余特征,但降噪自編碼器同時能夠考慮到特征之間的非線性關系.如圖6所示,當隱含層節點數太少時,不能很好地表征輸入特征,導致模型數據重構能力降低,同時也會降低最終的識別準確率;當隱含層節點數過多時,會導致提取到的特征同時也學習到了噪聲的特性,降低編碼特征的抗噪性能,預測準確率下降.

圖6 當特征維數為1 650時,比較采用不同隱含層節點數的準確率
《西游記》作者問題從小說問世到現在爭議不斷,研究者主要圍繞文獻記載和小說內容進行分析,集中討論作者是否為吳承恩,同時也提出了其他懷疑作者.杜貴晨等[21]對該問題做了詳細描述,并指出根據近20年國內外研究結果,吳承恩說已經很難使學術界達成共識.
由于吳承恩遺留的小說作品僅有《西游記》,其他都是不同體裁的短篇文章,無法為本研究提供充足的訓練預料,因此本研究僅對《西游記》中的詩詞進行了作者判別.通過第3節分析,選取準確率最高的3種訓練模型參數設置,對應3種特征維數分別為1 650,1 700, 1 800,解碼器均為線性激活函數,編碼特征維數隱含節點數均為1 100.利用《吳承恩詩文集》的訓練模型對《西游記》詩詞進行預測,同樣采用五折交叉驗證,每次訓練后均給出預測結果,最終每首詩對應15個預測結果,計算每首詩屬于吳承恩的概率值,給出了《西游記》中詩詞作者屬于吳承恩的概率分布,如圖7所示.

圖7 吳承恩所作詩詞概率分布
從圖7可以看出,其中有180首預測概率為0,說明這些詩詞沒有出現與《吳承恩詩文集》中用到高頻詞和虛詞;預測概率大于0小于50%的詩詞有136首;大于50%的詩詞有72首,占選出的《西游記》詩詞總數為18.6%,其中預測概率為90%以上的詩詞數量僅有27首.從分析結果可以看出,從詩詞角度,《西游記》中詩詞與吳承恩的詩詞存在相似之處,但數量不多.
同時,通過提取神經網絡中分類權重較高的特征發現,西游記中較多出現數量詞、景色相關字如“一”、“千”、“萬”、“花”、樹木等;吳承恩詩詞中多出現與自然現象相關的字如“鳳”、“云”、“日”、“月”等.從用詞習慣可以看出不同作者在寫詩詞時寄托的事物和表現程度所采用的方式各有不同.
本研究同時通過每回目對應的詩詞預測概率求和除以詩詞總數,從詩詞角度出發得出《西游記》各回目中詩詞作者是吳承恩的相關概率,如圖8所示.圖中,X軸表示回目序號,Y軸表示各回目中預測為吳承恩詩詞數量與對應回目所選取詩詞數量之比,Z軸表示預測詩詞作者為吳承恩的概率.從圖中可以看出概率較高的回目集中在開始回目和最后幾個回目,同時預測的詩詞數量在這些回目中所占比例也較高.從回目與相關概率的關系中可以看出,吳承恩與開頭和結尾回目相關概率較大,但回目之間差別較大;與中間部分回目的相關概率較小,但回目之間差別較?。煌瑫r存在回目間隔相關,即全書間斷性出現與吳承恩沒有相關性回目.通過上述分析表明,在《西游記》詩詞創作方面吳承恩的寫作風格貫穿整部小說,但整體相關概率較小.

圖8 各回目與吳承恩的相關概率
本研究提出了基于DAE特征學習的作者識別方法,采用DAE深度模型融合文本結構特征和用詞特征提取到作者的用詞之間的網絡權重特征,再采用支持向量機分類進行作者識別,將該方法應用于吳承恩、王廷陳、薛蕙等同一時期詩人的詩詞作者識別,識別準確率最高為78.2%,驗證了該方法的有效性.除此之外,本研究還對比了線性解碼器和sigmoid解碼器對分類準確率的影響,結果表明線性解碼器較解碼器更有優勢.對比了DAE隱含層不同節點數對結果的影響,分析表明合適的隱含層節點數選擇可以提升模型的魯棒性.最后,通過本研究提出的方法對《西游記》中的詩詞作者歸屬問題進行了實驗,給出了《西游記》中詩詞作者屬于吳承恩的概率分布和各回目與吳承恩的相關概率.
今后的工作還需要在高頻字和虛字等特征基礎上,構建更完備的多維特征,并結合文章部分提出跨文本體裁模型綜合分析,給出更全面的作者歸屬論據.