周 愛(ài),桑 晨,張益嘉,魯明羽
(大連海事大學(xué) 信息科學(xué)技術(shù)學(xué)院,遼寧 大連 116026)
作者身份識(shí)別(Authorship Attribution),簡(jiǎn)單地說(shuō),就是對(duì)人們各自的言語(yǔ)、寫(xiě)作特點(diǎn)在統(tǒng)計(jì)量上的差異進(jìn)行分析、處理、歸納和推理的過(guò)程[1]。其理論基礎(chǔ)是文本的語(yǔ)言結(jié)構(gòu)特征表現(xiàn)了作者個(gè)人在寫(xiě)作活動(dòng)中的言語(yǔ)特征,是作者個(gè)人風(fēng)格不自覺(jué)的深刻反映,這些特征可以在一定程度上進(jìn)行量化并以此確定匿名文本的作者。作者身份識(shí)別最早源于1851年 Augustus De Morgan 使用詞長(zhǎng)頻率統(tǒng)計(jì)方法分析、鑒別莎士比亞作品的研究[2]。隨后,字符、句法、語(yǔ)義等特征均被用于作者識(shí)別研究中,并取得了一些進(jìn)展。目前,研究?jī)?nèi)容從傳統(tǒng)文學(xué)作品作者身份識(shí)別,拓展到恐怖分子身份識(shí)別[3]、遺書(shū)真?zhèn)悟?yàn)證[4],以及病毒源代碼作者身份識(shí)別[5]等方面。
作者身份識(shí)別相關(guān)研究可以大致分為數(shù)字人文和計(jì)算語(yǔ)言學(xué)兩種。在數(shù)字人文研究中,重點(diǎn)主要放在實(shí)際有爭(zhēng)議的作者身份或文學(xué)風(fēng)格分析的案例上;而在計(jì)算語(yǔ)言學(xué)研究中,研究者則更多地關(guān)注現(xiàn)有作者身份數(shù)據(jù)集的表現(xiàn)以及確定最可靠的技術(shù)[6]。在研究方法方面,除了基于統(tǒng)計(jì)的多元統(tǒng)計(jì)分析[7-8]、文本距離[9]以及壓縮算法[10],機(jī)器學(xué)習(xí)算法如隨機(jī)森林[11]、支持向量機(jī)[12]和樸素貝葉斯[13]等也已成功應(yīng)用于作者身份識(shí)別任務(wù)。近年來(lái),深度學(xué)習(xí)模型如 RNN[14]、CNN[15]膠囊網(wǎng)絡(luò)[16]等也開(kāi)始應(yīng)用于短文本作者身份識(shí)別,并取得了較高的識(shí)別率。作者身份識(shí)別在多種語(yǔ)言中都得到了廣泛的研究。然而,對(duì)中文而言,作者身份識(shí)別的研究仍處于起步階段,大部分研究者還是關(guān)注于傳統(tǒng)文學(xué)作品的作者身份識(shí)別[17],目前,還沒(méi)有用于作者身份識(shí)別的公開(kāi)的標(biāo)準(zhǔn)語(yǔ)料庫(kù),最受關(guān)注的問(wèn)題仍是《紅樓夢(mèng)》的作者到底是誰(shuí)[11]。
唐代是我國(guó)古典詩(shī)歌發(fā)展的全盛時(shí)期。唐詩(shī)不僅具有很高的文學(xué)和藝術(shù)價(jià)值,同時(shí)對(duì)中國(guó)乃至世界的文化和歷史也有很深遠(yuǎn)的影響。作為一種特殊的文學(xué)體裁,大部分唐詩(shī)都非常短,即使是像《長(zhǎng)恨歌》這種長(zhǎng)篇敘事樂(lè)府詩(shī),也只有840字,因此完全可以將唐詩(shī)作者身份識(shí)別任務(wù)歸為短文本作者身份識(shí)別。同時(shí)由于受到格律和字?jǐn)?shù)的限制,唐詩(shī)在保證音節(jié)和諧的基礎(chǔ)上,既具有整體性,又具有跳躍性。唐詩(shī)的整體性體現(xiàn)為多個(gè)意象都為詩(shī)歌的同一個(gè)情感和主題服務(wù),而唐詩(shī)的跳躍性則體現(xiàn)為文字的省略,這不僅導(dǎo)致了以字代詞,一字多義的現(xiàn)象非常常見(jiàn),而且還存在部分如‘雞聲茅店月,人跡板橋霜?!@種只使用意象即只有名詞而缺乏動(dòng)詞的詩(shī)句,或如‘香稻啄馀鸚鵡粒,碧梧棲老鳳凰枝?!@種為了押韻而造成的賓語(yǔ)前置,這些都導(dǎo)致了唐詩(shī)中存在一定數(shù)量的句法結(jié)構(gòu)不完整或混亂。這也為我們的識(shí)別任務(wù)造成了一定的困難。由于現(xiàn)有的中文句法分析及分詞軟件都是針對(duì)現(xiàn)代漢語(yǔ)設(shè)計(jì)的,在唐詩(shī)文本上表現(xiàn)較差,因此,分類(lèi)任務(wù)中常用的句法特征和詞匯特征并不適用于唐詩(shī)語(yǔ)料。唐詩(shī)的另一個(gè)特點(diǎn)是題材豐富多樣,并極具代表性。比如我們通常說(shuō)王維和孟浩然是山水田園詩(shī)人,而岑參、高適則以邊塞詩(shī)聞名。因此,對(duì)唐詩(shī)作者身份識(shí)別而言,題材特征將可能成為一個(gè)有效的特征。
針對(duì)上述歸納的唐詩(shī)作者身份識(shí)別存在的問(wèn)題和特點(diǎn),本文構(gòu)建膠囊網(wǎng)絡(luò)(Capsule)和Transformer的集成模型,用于分別提取唐詩(shī)的局部語(yǔ)義信息和全局語(yǔ)義信息。同時(shí),由于沒(méi)有已標(biāo)注題材的唐詩(shī)語(yǔ)料庫(kù),我們使用文本主題模型(LDA)提取每首詩(shī)的主題作為唐詩(shī)的題材信息。本文的主要貢獻(xiàn)總結(jié)如下:
(1) 建立了用于作者身份識(shí)別的全唐詩(shī)語(yǔ)料庫(kù)——QuanTangShi,擴(kuò)展了中文作者身份識(shí)別的應(yīng)用范圍。
(2) 針對(duì)唐詩(shī)整體性與跳躍性統(tǒng)一的特點(diǎn),提出了膠囊網(wǎng)絡(luò)和Transformer的集成模型 Cap-Transformer,更充分和全面地提升唐詩(shī)各個(gè)層面特征的捕獲能力。
(3) 提取唐詩(shī)的題材特征用于作者身份識(shí)別中,實(shí)驗(yàn)表明該特征確實(shí)對(duì)提升作者身份識(shí)別準(zhǔn)確率有一定作用。
(4) 對(duì)Cap-Transformer模型生成的錯(cuò)誤輸出進(jìn)行原因分析,揭示了模型的局限性,并針對(duì)唐詩(shī)文本的特殊性,提出了唐詩(shī)作者身份識(shí)別任務(wù)未來(lái)的研究方向及挑戰(zhàn)。
作為一種特殊的文學(xué)體裁,唐詩(shī)不僅具有跳躍性,而且還具有整體性。組成唐詩(shī)的各種文字符號(hào)本身及蘊(yùn)含其中的不同要素共同營(yíng)造了詩(shī)歌的意境。因此,不僅需要捕獲唐詩(shī)的細(xì)節(jié)信息,也需要整體把握唐詩(shī)的全局信息。Capsule模型將網(wǎng)絡(luò)層攜帶信息的最小單元由神經(jīng)元變?yōu)槟z囊,又使用動(dòng)態(tài)路由機(jī)制代替池化,因此Capsule模型可以在提取特征的同時(shí)降低信息損失[18]。而Transformer[19]跟LSTM[20]一樣,可以作為全局特征提取器。將Transformer與Capsule模型通過(guò)雙通道的形式進(jìn)行集成,可以兼顧兩個(gè)單通道模型各自的優(yōu)點(diǎn),提升唐詩(shī)各個(gè)層面特征的捕獲能力。下面將分節(jié)詳細(xì)介紹本文所提出的作者身份識(shí)別模型及模型中的重要功能模塊。
為了使表述更加清晰,本文引入了一些符號(hào)來(lái) 描述作者身份識(shí)別任務(wù)。設(shè)所有可能的作者集合為A={a1,a2,…,an},對(duì)于每一位作者ai∈A有訓(xùn)練樣本集Ti={Ti1,Ti2Tim},作者身份識(shí)別的任務(wù)是學(xué)習(xí)訓(xùn)練集建立作者風(fēng)格特征,并根據(jù)此模型對(duì)匿名文本t指定一個(gè)最可能的作者ak,(ak∈A)。圖1為本文提出的作者身份識(shí)別集成模型的整體框架,共有輸入層、嵌入層、網(wǎng)絡(luò)層、融合層和輸出層五個(gè)部分組成。
圖1 唐詩(shī)作者身份識(shí)別集成模型Cap-Transformer的基本框架
首先,對(duì)輸入的唐詩(shī)文本分別使用Word2Vec和BERT獲取輸入文本的詞向量特征矩陣Wnode和Bnode,同時(shí)使用LDA獲取唐詩(shī)的題材特征,并使用獨(dú)熱向量表示。將詞向量與題材向量拼接,分別輸入膠囊網(wǎng)絡(luò)和Transformer得到唐詩(shī)的文本特征表示。最后,將兩種特征表示拼接起來(lái),送入全連接層進(jìn)行降維,并使用softmax函數(shù)進(jìn)行歸一化,得到最終的分類(lèi)結(jié)果。
題材是詩(shī)歌文本獨(dú)有的特征。唐詩(shī)題材豐富,通常包括送別、邊塞、詠史懷古、山水田園等。很多唐朝詩(shī)人都有自己擅長(zhǎng)的詩(shī)歌題材。比如李商隱更擅長(zhǎng)寫(xiě)無(wú)題的愛(ài)情詩(shī),而王昌齡則以邊塞詩(shī)聞名。因而題材特征是唐詩(shī)作者身份識(shí)別任務(wù)的重要特征之一。本文選擇使用LDA提取詩(shī)歌主題特征代替詩(shī)歌的題材特征。
LDA作為一種無(wú)監(jiān)督的聚類(lèi)算法,首先需要解決的問(wèn)題是確定唐詩(shī)題材的個(gè)數(shù)。但是,目前學(xué)界對(duì)于唐詩(shī)題材的總數(shù)沒(méi)有明確的定義。因此,我們需要對(duì)生成的LDA模型進(jìn)行評(píng)估。根據(jù)Blei[21]的觀點(diǎn),LDA模型最常用的評(píng)估方法是使用困惑度。然而,這里有一個(gè)有趣的現(xiàn)象:數(shù)學(xué)上嚴(yán)格的模型擬合計(jì)算如最大似然值和困惑度等,并不總是與人類(lèi)對(duì)模型質(zhì)量評(píng)估的看法一致[22]。因此,本文使用主題一致性指標(biāo)(Coherence Score)來(lái)衡量主題詞在語(yǔ)料庫(kù)中出現(xiàn)的頻率,進(jìn)而反映主題中高分詞之間的語(yǔ)義相似度。
具體的做法是,使用不同的主題數(shù)(K),建立不同的LDA模型,計(jì)算主題一致性,最后選擇一致性得分最高的那個(gè)“K”作為唐詩(shī)的題材個(gè)數(shù)。選擇一個(gè)主題一致性得分達(dá)到峰值或快速增長(zhǎng)的“K”值,通常意味著有意義或可解釋的主題。
因?yàn)橹袊?guó)古典詩(shī)歌沒(méi)有合適的外部語(yǔ)料庫(kù)來(lái)計(jì)算詞義的概率,所以本文選擇U-Mass[23]計(jì)算主題一致性。具體的計(jì)算如式(1)所示。
其中,vi,vj是一組主題詞,ε是平滑因子,用以保證最終返回的score是一個(gè)實(shí)數(shù)。
其中,D(vi,vj)表示包含vi,vj的文檔數(shù),D(vi)表示包含vi的文檔數(shù)。
唐詩(shī)文本既具有跳躍性,又具有整體性,因此傳統(tǒng)的針對(duì)淺層的單模型文本分類(lèi)算法不能很好地提取到唐詩(shī)的深層語(yǔ)義特征。本文提出了一種Cap-Transformer 集成模型,分別利用膠囊網(wǎng)絡(luò)(Capsule)和Transformer來(lái)提取文本的局部特征和全局語(yǔ)義特征,通過(guò)集成的形式更全面地得到唐詩(shī)的多層次特征表示。
Capsule模型:Capsule模型是對(duì)傳統(tǒng)CNN模型中的最大池化操作做出的改進(jìn),最大池化操作只保留特征向量中的最大值,會(huì)造成特征損失。Capsule模型使用一組神經(jīng)元構(gòu)成的膠囊代替CNN中的神經(jīng)元,改變了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)標(biāo)量與標(biāo)量相連的結(jié)構(gòu)。在各個(gè)網(wǎng)絡(luò)層中,每個(gè)膠囊攜帶的信息從1維增加到了多維,因此可以攜帶更多的具有跨越性的特征信息。相鄰兩個(gè)膠囊層之間通過(guò)動(dòng)態(tài)路由算法(Dynamic Routing)將該層膠囊保存的計(jì)算結(jié)果傳遞給上層膠囊,從而實(shí)現(xiàn)在提取文本節(jié)點(diǎn)特征的同時(shí)降低底層特征的損失,也降低噪聲對(duì)分類(lèi)結(jié)果的干擾。動(dòng)態(tài)路由算法描述如式(3)~式(5)所示。
其中,sj為上層膠囊的輸入,u為下層膠囊的輸出,W為相鄰兩層之間的權(quán)值矩陣,cij為耦合系數(shù),表示下層膠囊i激活上層膠囊j的可能性,bij的初始值設(shè)置為0,通過(guò)動(dòng)態(tài)路由更新cij,進(jìn)而更新bij,擠壓函數(shù)squash及更新bij的計(jì)算如式(6)~式(8)所示。
其中,vj為上層膠囊的輸出,由于膠囊輸出向量的模長(zhǎng)代表類(lèi)別的概率值,擠壓函數(shù)將向量的模長(zhǎng)限定在[0,1]區(qū)間,輸出向量的模長(zhǎng)越大,代表文本所屬該類(lèi)的概率越大。
如圖1所示,膠囊網(wǎng)絡(luò)首先對(duì)輸入的字符向量矩陣做卷積運(yùn)算,經(jīng)過(guò)擠壓函數(shù)后形成主膠囊層,經(jīng)過(guò)一次基于注意力機(jī)制的路由協(xié)議后連接分類(lèi)膠囊層,得到唐詩(shī)的局部特征。
Transformer模型:Capsule模型在本質(zhì)上是對(duì)CNN池化操作的改進(jìn),在N-gram卷積層依舊使用了多個(gè)卷積核進(jìn)行卷積操作,因此只能捕獲文本序列的局部特征,提取不到全局語(yǔ)義信息。而Transformer則是對(duì)LSTM的改進(jìn),傳統(tǒng)的LSTM由于在序列化處理時(shí)依賴(lài)于前一時(shí)刻的計(jì)算,所以它們并行效率低,模型運(yùn)行速度慢。Transformer模型通過(guò)多頭自注意力機(jī)制可以在并行計(jì)算的同時(shí)捕獲長(zhǎng)距離依賴(lài)關(guān)系,充分學(xué)習(xí)到唐詩(shī)的全局語(yǔ)義信息。計(jì)算如式(9)所示。
Transformer模型主要用Seq2Seq,采用編碼器-解碼器結(jié)構(gòu),本文用于文本分類(lèi)任務(wù),因此只用到了其中的編碼器結(jié)構(gòu),通過(guò)增加單詞位置編碼、殘差連接、層歸一化處理、前向連接等操作,處理輸入序列并將序列信息壓縮成固定長(zhǎng)度的語(yǔ)義向量。如圖1所示,字符向量輸入模型后先進(jìn)行了位置編碼來(lái)填補(bǔ)注意力機(jī)制本身不能獲得單詞順序信息的缺陷。然后,模型依靠自注意力機(jī)制更有效地去捕獲對(duì)唐詩(shī)語(yǔ)義有重要作用的詞,并且消除干擾詞的影響。而多頭自注意力機(jī)制則可以學(xué)習(xí)不同子空間中的語(yǔ)義表示,最后將它們拼接到一起獲取長(zhǎng)距離的語(yǔ)義信息。
模型集成:膠囊網(wǎng)絡(luò)在提取文本局部特征的同時(shí)減少了信息損失,Transformer則通過(guò)自注意力機(jī)制遍歷整個(gè)文本序列,從而提取到全局語(yǔ)義特征。本文采用的集成模型可以結(jié)合膠囊網(wǎng)絡(luò)和Transformer各自的優(yōu)勢(shì),綜合考慮文本的局部語(yǔ)義信息和全局語(yǔ)義信息,提高分類(lèi)效果。由于分類(lèi)標(biāo)簽數(shù)固定,膠囊網(wǎng)絡(luò)和Transformer具有相同的輸出維度,因此本文在模型集成階段采用合并拼接的方式,即拼接兩種網(wǎng)絡(luò)生成的特征向量,再通過(guò)一個(gè)全連接層映射到最終的分類(lèi)向量中。假設(shè)膠囊網(wǎng)絡(luò)的輸出向量為HC=(hC1,hC2,…,hCn),Transformer單元的輸出向量為HT=(hT1,hT2,…,hTn),集成后的特征向量為H,計(jì)算如式(10)所示。
其中,Dense是一個(gè)映射到類(lèi)別數(shù)上的全連接層。
最后,對(duì)集成后的特征向量H使用softmax分類(lèi)器得到每個(gè)類(lèi)別的概率值,選擇其中數(shù)值最大的作者類(lèi)別為預(yù)測(cè)的詩(shī)歌作者。
在這一部分,我們首先介紹了用于作者身份識(shí)別的全唐詩(shī)語(yǔ)料庫(kù)——QuanTangShi的建設(shè),然后介紹了參與模型性能評(píng)估的全唐詩(shī)數(shù)據(jù)集以及常用的評(píng)價(jià)指標(biāo),包括準(zhǔn)確率(Acc),精確率(P),召回率(R)和Macro-F1值(F1),并報(bào)告了模型在數(shù)據(jù)集上的性能評(píng)估結(jié)果,包括與現(xiàn)有基線的性能比較消融實(shí)驗(yàn)以及錯(cuò)誤分析。
為了構(gòu)建QuanTangShi語(yǔ)料庫(kù)(1)語(yǔ)料庫(kù)及相關(guān)代碼:https://github.com/zhouai9070/QuanTangshi-AA-,我們從網(wǎng)上收集了全唐詩(shī)的電子文本。但是這些原始的數(shù)據(jù)存在諸如重復(fù)、錯(cuò)誤、亂碼,以及像《戲?yàn)榱^句》這種多首詩(shī)歌共用一個(gè)詩(shī)題而導(dǎo)致的多條數(shù)據(jù)被識(shí)別成為一條數(shù)據(jù)的現(xiàn)象。最重要的是,原始語(yǔ)料中存在905首無(wú)名氏或未標(biāo)注作者的詩(shī)作,這些唐詩(shī)不適用于作者身份識(shí)別任務(wù),所以將其刪除。以王維的《相思》為例,經(jīng)過(guò)預(yù)處理的數(shù)據(jù)形式如下:[‘王維’(作者) ‘相思’(詩(shī)題) ‘紅豆生南國(guó),春來(lái)發(fā)幾枝。愿君多采擷,此物最相思?!痌。
經(jīng)過(guò)預(yù)處理之后的語(yǔ)料庫(kù)共包括2 300個(gè)作者的44 734首唐詩(shī)。表1給出了該語(yǔ)料庫(kù)的基本統(tǒng)計(jì)信息??梢钥闯觯Z(yǔ)料庫(kù)的數(shù)據(jù)是極不平衡的,近半數(shù)的唐代詩(shī)人只創(chuàng)作了1~2首詩(shī)。只有不到20位詩(shī)人,一生創(chuàng)作了超過(guò)500首詩(shī)。歸功于白居易對(duì)自己詩(shī)集的整理,全唐詩(shī)里共收錄了他創(chuàng)作的2 844首詩(shī),成為收錄最多的詩(shī)人。
表1 全唐詩(shī)語(yǔ)料庫(kù)數(shù)據(jù)統(tǒng)計(jì)
從表1可以看出,全唐詩(shī)語(yǔ)料是極其不平衡的,而作為一個(gè)分類(lèi)任務(wù),作者身份識(shí)別的準(zhǔn)確率受到作者個(gè)數(shù)和作者樣本數(shù)兩個(gè)因素的影響,因此,本文根據(jù)作者樣本數(shù)對(duì)作者排序,建立了“Top Num Group”數(shù)據(jù)集,并將其分成了5個(gè)小數(shù)據(jù)集 (TopNum2, TopNum5, TopNum10, TopNum20 and TopNum40) 對(duì)模型性能進(jìn)行評(píng)估。這些數(shù)據(jù)集不論在作者個(gè)數(shù)還是作者樣本數(shù)上都有差異(表2),能夠在不同的場(chǎng)景中測(cè)試我們的模型。
表2 Top Num Group數(shù)據(jù)集數(shù)據(jù)統(tǒng)計(jì)
本節(jié)主要介紹模型在Top Num Group數(shù)據(jù)集上的性能評(píng)估結(jié)果,包括涉及題材信息的LDA的參數(shù)選擇、與現(xiàn)有模型的性能比較以及消融實(shí)驗(yàn)。
參數(shù)選擇:由于現(xiàn)有的唐詩(shī)語(yǔ)料庫(kù)沒(méi)有題材信息的標(biāo)注,本文選用LDA提取的文本主題信息代替唐詩(shī)的題材信息。但是,LDA是一個(gè)無(wú)監(jiān)督的聚類(lèi)模型,需要提前確定主題個(gè)數(shù)。目前學(xué)界對(duì)于唐詩(shī)題材的總數(shù)沒(méi)有明確的定義,因此,我們使用不同的主題數(shù)(K),建立了不同的LDA模型,計(jì)算主題一致性,最后選擇一致性得分最高的那個(gè)“K”作為唐詩(shī)的題材個(gè)數(shù)。選擇一個(gè)主題一致性得分達(dá)到峰值或快速增長(zhǎng)的“K”值,通常意味著有意義或可解釋的主題。圖2反映了主題一致性得分(C)隨不同數(shù)據(jù)集上主題個(gè)數(shù)(K)的增加而變化的趨勢(shì)。
圖2 Top Num Group數(shù)據(jù)集上的主題一致性得分
性能比較:為了驗(yàn)證本文所提方法的有效性,我們將本文模型和現(xiàn)有方法在Top Num Group數(shù)據(jù)集上進(jìn)行了比較,實(shí)驗(yàn)結(jié)果如表3所示。本文所選取的當(dāng)前先進(jìn)的代表性研究包含了傳統(tǒng)的機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法兩個(gè)大類(lèi)。2007年易勇等人[24]首次將樸素貝葉斯(NB)用于古典詩(shī)歌作者身份識(shí)別任務(wù),并在區(qū)分李白和杜甫詩(shī)歌的二分類(lèi)問(wèn)題上取得了理想的結(jié)果。SVM則較廣泛地應(yīng)用于長(zhǎng)文本,特別是文學(xué)作品作者身份識(shí)別任務(wù)[12]。但是,機(jī)器學(xué)習(xí)算法需要依賴(lài)人工參與和大量的特征工程,在模型預(yù)處理成本和工作效率方面均不及深度學(xué)習(xí)方法。隨著網(wǎng)絡(luò)短文本的出現(xiàn),CNN[15]開(kāi)始廣泛應(yīng)用于短文本作者身份識(shí)別領(lǐng)域并且與BiLSTM和RNN相比具有更好的魯棒性。2017年Transformer[19]提出了一種新的模型架構(gòu), 不僅在機(jī)器翻譯任務(wù)中效果良好,而且由于編碼器端是并行計(jì)算的,訓(xùn)練時(shí)間大大縮短。BERT[25]使用預(yù)訓(xùn)練的語(yǔ)言模型,可以更準(zhǔn)確地獲取上下文信息,在2018年在11項(xiàng)NLP任務(wù)中取得了最好的結(jié)果。
表3 本文模型與現(xiàn)有方法的性能對(duì)比 (單位: %)
續(xù)表
如表3所示,深度學(xué)習(xí)算法的效果要優(yōu)于機(jī)器學(xué)習(xí)算法。NB在二分類(lèi)問(wèn)題中可以獲 得較好的結(jié)果,然而隨著作者人數(shù)的增加, 準(zhǔn)確率下降較快, 相
比較而言,SVM的識(shí)別準(zhǔn)確率更高也更穩(wěn)定。之前BERT在11項(xiàng)NLP任務(wù)中都取得了理想的效果,可是本文的實(shí)驗(yàn)卻得到了相反的結(jié)果。只有部分?jǐn)?shù)據(jù)集的識(shí)別準(zhǔn)確率可以與CNN的基本持平。大部分?jǐn)?shù)據(jù)集的結(jié)果遠(yuǎn)不及CNN。主要原因是現(xiàn)有的BERT-Base Chinese預(yù)訓(xùn)練模型是基于現(xiàn)代漢語(yǔ)訓(xùn)練的,并不適用于像唐詩(shī)這樣的古漢語(yǔ)數(shù)據(jù)集。在各個(gè)數(shù)據(jù)集上,Transformer的效果要優(yōu)于CNN,這主要是因?yàn)門(mén)ransformer能夠更好地獲取長(zhǎng)距離的語(yǔ)義信息,這也體現(xiàn)了詩(shī)歌的整體性特點(diǎn)。與現(xiàn)有的模型相比,本文的模型不僅攜帶了更多的特征信息,還降低了噪聲的干擾,又可以有效地捕獲長(zhǎng)距離信息,實(shí)現(xiàn)了更強(qiáng)的上下文提取能力,在整體性能上平均性能提升了1.1%。
消融實(shí)驗(yàn):為了驗(yàn)證本文模型中各模塊的有效性,對(duì)模型進(jìn)行了消融實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表4所示,-No表示去掉當(dāng)前模塊后模型在Top Num Group數(shù)據(jù)集各類(lèi)別中的性能表現(xiàn)。
表4 模型各組件的消融實(shí)驗(yàn)結(jié)果對(duì)比 (單位: %)
由實(shí)驗(yàn)結(jié)果可知模型的三個(gè)組成部分均能使模型性能有不同程度的提升,其中LDA的效果最為明顯,使模型的平均性能提升了0.97,但是隨著作者人數(shù)的增加,LDA的作用逐漸下降,可能是隨著作者人數(shù)的增加,題材特征的顯著程度逐漸降低。對(duì)比表3的Transformer和表4的-No Capsule對(duì)應(yīng)數(shù)據(jù)也可以看出題材信息對(duì)模型性能提升的作用。
Transformer的多頭自注意力機(jī)制可以學(xué)習(xí)不同子空間中的語(yǔ)義表示,捕獲長(zhǎng)距離語(yǔ)義信息。實(shí)驗(yàn)表明,只使用Capsule模型并不能有效地獲取詩(shī)歌的長(zhǎng)距離上下文信息,而在整體上理解詩(shī)歌。Transformer的引入使得模型的性能有了明顯的提升。
Capsule模型使用一組神經(jīng)元構(gòu)成的膠囊傳遞信息,相較CNN可以做到在提取特征的同時(shí)降低信息損失。表3的CNN和表4的-No Transformer對(duì)應(yīng)數(shù)據(jù)的差異,除了顯示LDA的作用外,也展示了和CNN相比,Capsule模型在特征提取上的優(yōu)勢(shì)。
在前邊各節(jié)中,我們展示了Cap-Transformer 模型是如何進(jìn)行作者身份識(shí)別的。但是,在某些情況下,模型無(wú)法完成任務(wù)并生成錯(cuò)誤的輸出。分析錯(cuò)誤原因可以揭示模型的局限性,并有助于確定下一步的研究方向。在本節(jié)中,我們對(duì) TopNum10數(shù)據(jù)集進(jìn)行錯(cuò)誤分析,將其錯(cuò)誤歸為4類(lèi),每一類(lèi)錯(cuò)誤所占的比重如圖3所示。需要說(shuō)明的是,盡管本文進(jìn)行的錯(cuò)誤分析結(jié)果僅適用于 TopNum10 數(shù)據(jù)集,但類(lèi)似的錯(cuò)誤原因也是其他數(shù)據(jù)集的錯(cuò)誤來(lái)源。
常識(shí)矛盾:詩(shī)歌內(nèi)容或詩(shī)題中常常會(huì)出現(xiàn)一些常識(shí)性的外部知識(shí),這些知識(shí)可以輔助作者身份識(shí)別,但是我們的模型忽略了對(duì)這些外部知識(shí)的表示,導(dǎo)致出現(xiàn)了一些簡(jiǎn)單的識(shí)別錯(cuò)誤。例如,劉禹錫那首著名的《酬樂(lè)天初逢席上見(jiàn)贈(zèng)》,首先我們知道樂(lè)天是白居易的字,根據(jù)常識(shí),這首詩(shī)不可能是白居易寫(xiě)的。但是,模型卻錯(cuò)誤地把這首詩(shī)分給了白居易。再比如說(shuō)溫庭筠的《戲令狐相》,這里‘令狐相’指的是令狐绹,他在公元850年以后升任宰相,因此,這首詩(shī)不可能在850年以前創(chuàng)作,而模型則認(rèn)為該詩(shī)的作者是杜甫(712—770)。
這種由于未能引用外部知識(shí)而造成的常識(shí)性矛盾是最常見(jiàn)的錯(cuò)誤類(lèi)別。如圖3所示,將近60%的錯(cuò)誤都屬于這個(gè)類(lèi)別,未來(lái)將嘗試引入外部知識(shí),解決這一類(lèi)錯(cuò)誤。
圖3 錯(cuò)誤類(lèi)別分布
時(shí)代相同:唐詩(shī)屬于古漢語(yǔ)范疇,語(yǔ)言演變較慢,生活在同一時(shí)期的詩(shī)人大多使用相同的常用字、常用句式,甚至是常用的韻腳。因此,即使使用拼音、韻腳、平仄等更多樣的文本特征也很難區(qū)分。比如這類(lèi)錯(cuò)誤大部分都是白居易、元稹和劉禹錫三個(gè)人的詩(shī)互相識(shí)別錯(cuò)誤。由于白居易和元稹共同倡導(dǎo)了新樂(lè)府運(yùn)動(dòng),即使是專(zhuān)家也不能完全確定兩者的詩(shī)歌區(qū)別,更不用說(shuō)神經(jīng)網(wǎng)絡(luò)模型了。因此,這類(lèi)錯(cuò)誤雖然占比不大,但其將成為今后研究的難點(diǎn)。
寫(xiě)景抒情:這類(lèi)錯(cuò)誤主要針對(duì)寫(xiě)景抒情詩(shī)的識(shí)別。這類(lèi)詩(shī)一般只寫(xiě)景,不敘事,題目和內(nèi)容也是像王維的《山居秋暝》和杜甫的《絕句》這種完全沒(méi)有任何外部知識(shí)的內(nèi)容。對(duì)于這樣的詩(shī)歌,即使我們引入外部知識(shí)也很難提升識(shí)別率。
其他: 還有一些不好歸類(lèi)的錯(cuò)誤案例。這些案例導(dǎo)致錯(cuò)誤的原因可能不止一個(gè),比如像王維的《嘆白發(fā)》這種冒名頂替的詩(shī)作,或由于年代久遠(yuǎn)在流傳過(guò)程中導(dǎo)致的遺失、錯(cuò)漏的情況。這一類(lèi)錯(cuò)誤在圖3中被標(biāo)為其他。
針對(duì)唐詩(shī)文本跳躍性與整體性統(tǒng)一的特點(diǎn),本文提出了一種雙通道的作者身份識(shí)別集成模型Cap-Transformer。首先,上通道Capsule可以在提取唐詩(shī)各個(gè)意象的局部語(yǔ)義特征的同時(shí)降低信息損失;下通道Transformer通過(guò)多頭自注意力機(jī)制提取唐詩(shī)各個(gè)意象共同指示的深層全局語(yǔ)義特征,將兩種特征融合,達(dá)到了唐詩(shī)的跳躍性和整體性的統(tǒng)一。此外,唐詩(shī)作為一種特殊的文學(xué)形式,題材特征確實(shí)提高了唐詩(shī)作者身份識(shí)別的準(zhǔn)確率。在未來(lái)的工作中,我們計(jì)劃為唐詩(shī)作者身份識(shí)別引入更多的外部知識(shí),并對(duì)其進(jìn)行更恰當(dāng)?shù)谋硎?,以提升作者身份識(shí)別的準(zhǔn)確率。