李 揚(yáng),張 偉*,彭 晨
(1.華東師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海200062;2.中國(guó)科學(xué)院電子學(xué)研究所蘇州研究院,江蘇蘇州215123)
作者身份識(shí)別(Authorship Attribution)的主要思路是將文檔中隱含的作者無意識(shí)的寫作習(xí)慣通過某些特征表示出來,凸顯作品的文學(xué)特征及寫作風(fēng)格,以確定匿名文本的作者。作者身份識(shí)別可以在許多實(shí)際問題中發(fā)揮作用,比如,可以幫助歷史學(xué)家從一些候選的作者中推測(cè)出文獻(xiàn)中的一段話的作者,可以幫助網(wǎng)絡(luò)執(zhí)法者鑒別出發(fā)布不良信息的用戶等。
目前現(xiàn)有的許多方法都是根據(jù)不同的文本特點(diǎn)來設(shè)計(jì)文本特征,這些特征包括文本的單詞級(jí)別的n 元語言模型(word n-gram)和字符級(jí)別的n 元語言模型(character n-gram)、文本的主題分布、文本的語法和語義特征等[1]。根據(jù)不同的文本特征,可以設(shè)計(jì)使用不同的方法。支持向量機(jī)(Support Vector Machine,SVM)、隨機(jī)森林(Random Forests,RF)和隱式狄利克雷(Latent Dirichlet allocation,LDA)主題模型等都是解決作者身份識(shí)別問題常用的方法[2-3]。近年來,深度學(xué)習(xí)技術(shù)在文本表示方面取得了很好的效果,因此卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)也被用來解決作者身份識(shí)別問題[4-7]。
但是,在實(shí)際問題中,作者身份識(shí)別問題通常被限定在某一范圍內(nèi)。比如,法官想要通過一篇文檔來確定犯罪嫌疑人,而且證據(jù)表明犯罪嫌疑人是一個(gè)年齡在40 和50 歲之間的女性。如果利用現(xiàn)有的方法,即僅利用文檔進(jìn)行作者身份識(shí)別,判斷的結(jié)果可能是一個(gè)年齡在20和30歲之間的男性,顯然這個(gè)結(jié)論是錯(cuò)誤的。原因在于現(xiàn)有的方法沒有利用作者依賴的信息,即在開放域上利用文檔預(yù)測(cè)作者,忽略了依賴信息的重要性。
通常來講,作者身份的限定條件可能是某種離散的屬性,比如性別、年齡和婚姻狀況等,但由于上述信息包含用戶隱私,獲取成本比較高,因此本文使用易于獲得的亞馬遜商品評(píng)論作為實(shí)驗(yàn)數(shù)據(jù)集。在商品評(píng)論數(shù)據(jù)集中,用戶選擇購買某種商品與其年齡、性別、收入情況和興趣愛好等方面息息相關(guān),可以在某種程度上反映用戶的屬性信息。因此,選擇使用商品ID 作為限定條件,提出了一種目標(biāo)依賴的作者身份識(shí)別算法,可以避免復(fù)雜的文本特征設(shè)計(jì),同時(shí)有效利用依賴信息進(jìn)行作者身份預(yù)測(cè)。本文的主要工作如下:1)提出了一種使用目標(biāo)依賴信息解決作者身份識(shí)別問題的算法,探索了兩種不同的信息融合方式,并在亞馬遜電影評(píng)論和CD評(píng)論數(shù)據(jù)集上證明了這兩種融合方式可以用于解決限定條件下的作者身份識(shí)別問題。2)提出了一種使用BERT(Bidirectional Encoder Representation from Transformer)提取文本特征的方法,避免了針對(duì)不同類型的數(shù)據(jù)集設(shè)計(jì)不同文本特征的復(fù)雜性,并用實(shí)驗(yàn)驗(yàn)證了這種方法優(yōu)于目前已有的文本特征提取方法。
針對(duì)文本建模,許多工作研究了不同的文本特征提取方法,大致可以分為以下幾種特征:1)詞匯級(jí)別的特征,包括單詞長(zhǎng)度、文檔長(zhǎng)度、文檔中詞匯的豐富程度和錯(cuò)誤詞匯數(shù)量等;2)字符級(jí)別的特征,包括字符的類別(字母或者數(shù)字)和字符n 元模型等;3)語法特征,包括詞性和句子結(jié)構(gòu)等;4)語義特征,包括語義依賴分析和功能分析等。考慮到評(píng)論數(shù)據(jù)的生成受到用戶和商品的同時(shí)影響,Zhang 等[8-9]利用主題模型和矩陣分解模型同時(shí)對(duì)用戶評(píng)論和商品進(jìn)行建模。
之前的研究中,作者身份識(shí)別大致分為兩種思路[9]。第一種思路是基于相似度的方法。這種方法的做法是將作者的所有文本信息拼接為單個(gè)文檔,將單個(gè)文檔的特征作為該作者的特征。對(duì)于一條新的文本,通過比較該文本與已知文本的相似度,將相似度最高的已知文本的作者作為未知文本的預(yù)測(cè)結(jié)果?;谶@個(gè)思路,Seroussi等[10]將一個(gè)作者發(fā)布的所有文本組成一條文本,然后使用主題模型的方法從文本中提取出文本的主題分布作為作者的特征,對(duì)于一條新的文本,計(jì)算其主題分布與作者特征之間的Hellinger 距離,距離最小的作者作為預(yù)測(cè)結(jié)果。另一個(gè)思路是基于分類的思想,大多數(shù)的研究都基于此方法。Schwartz 等[1]使用單詞級(jí)別n 元模型和字符級(jí)別的n 元模型作為文本的特征,這樣可以將一段文本信息映射為二值的特征向量,然后使用支持向量機(jī)(SVM)進(jìn)行分類。Zhang 等[11]除了使用n 元模型,還加入了語義特征,具體操作是:對(duì)文本進(jìn)行語法分析得到文本的語法樹,并對(duì)樹中的每一個(gè)節(jié)點(diǎn)進(jìn)行編碼,將這些節(jié)點(diǎn)的編碼作為文本的語義特征;接下來,將文本的語義信息和內(nèi)容信息作為兩個(gè)不同的通道使用CNN進(jìn)行分類。
以上方法與本文提出的方法最大不同之處有兩點(diǎn):一是需要復(fù)雜的特征設(shè)計(jì)與處理;二是忽視了在實(shí)際問題中作者身份存在限定條件這一特征,僅利用文檔信息進(jìn)行作者身份判定。這些方法可能得出與限定條件相悖的結(jié)論。
在自然語言處理領(lǐng)域,詞向量被廣泛應(yīng)用在多種任務(wù)中,比如,文本分類、問答系統(tǒng)以及文本檢索等。Word2Vec[12]是目前最常用的詞嵌入模型之一,它實(shí)際上是一種淺層的神經(jīng)網(wǎng)絡(luò)模。常用的模型包括根據(jù)上下文出現(xiàn)的詞語來預(yù)測(cè)當(dāng)前詞語生成概率的連續(xù)詞袋(Continues Bag of Words,CBOW)模型和根據(jù)上下文的詞語預(yù)測(cè)當(dāng)前詞語生成概率的跳字(Skipgram)模型。但是由于Word2Vec 輸入的上下文有限,使得其無法解決多義詞的情況。BERT[13]是一種新的語言表示模型。不同于Word2Vec,BERT 使用文本內(nèi)容的左、右語境進(jìn)行預(yù)訓(xùn)練得到文本的深度雙向表征,因此,BERT 通過添加額外的一層神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào),就可以在多種任務(wù)上達(dá)到最優(yōu)的效果。本文將通過BERT模型得到的文檔向量作為文本特征。
多模態(tài)學(xué)習(xí)是一種利用多種數(shù)據(jù)類型進(jìn)行學(xué)習(xí)的方式。多模態(tài)學(xué)習(xí)需要利用好各種數(shù)據(jù)類型的內(nèi)在關(guān)系,使得不同的數(shù)據(jù)類型可以提供有效且互補(bǔ)的信息。信息融合首要的問題是解決融合發(fā)生的位置,一般可以分為三種,分別是特征多模態(tài)融合(feature multimodal fusion)、決策多模態(tài)融合(decision multimodal fusion)和混合多模態(tài)融合(hybrid multimodal fusion)[14]。特征多模態(tài)融合是對(duì)不同的特征在進(jìn)入模型之前進(jìn)行融合;決策多模態(tài)融合方式需要在特征輸入模型之前保持相互獨(dú)立,而在各自通過模型之后進(jìn)行融合;混合多模態(tài)融合既在輸入之前進(jìn)行融合又需在通過模型之后進(jìn)行融合。其次需要解決融合內(nèi)容這一問題,不同的數(shù)據(jù)類型有不同的表示方式,如何選擇數(shù)據(jù)的表示類型是解決這一問題的關(guān)鍵。
本文探索了兩種信息融合方式在作者身份識(shí)別問題中的應(yīng)用,分別代表了前期融合和后期融合:前期融合和后期融合的區(qū)別在于融合發(fā)生的位置不同,前期融合在輸入模型之前對(duì)不同的數(shù)據(jù)類型進(jìn)行融合,后期融合是對(duì)不同的數(shù)據(jù)類型在輸入模型之后進(jìn)行融合。
設(shè)數(shù)據(jù)集中包含的用戶集合為U={u1,u2,…,un},評(píng)論集合為R={r1,r2,…,rm},商品集合為D={d1,d2,…,dq},其中,n、m 和q 分別為用戶數(shù)量、評(píng)論數(shù)量和商品數(shù)量。目標(biāo)依賴的作者身份識(shí)別算法是根據(jù)作者產(chǎn)生的評(píng)論和對(duì)應(yīng)評(píng)論的商品(ri,di)從候選集U 中找到對(duì)應(yīng)的評(píng)論的作者ui。本文使用的符號(hào)表述見表1。
表1 符號(hào)定義Tab.1 Symbol definition
為了避免復(fù)雜的特征設(shè)計(jì),本文采用BERT 提取預(yù)訓(xùn)練的詞向量,如圖1 所示。具體地,對(duì)于用戶的評(píng)論文本,首先將其分詞后得到Tok1,Tok2,…,Tokn,通過BERT 預(yù)訓(xùn)練模型,可以得到詞向量表B。查詢?cè)~向量表B 后得到Vec1,Vec2,…,Vecn分別對(duì)應(yīng)Tok1,Tok2,…,Tokn的向量表示。文檔向量表示是將Vec1,Vec2,…,Vecn拼接。如圖1所示。
圖1 預(yù)訓(xùn)練的文檔特征提取Fig.1 Pre-trained document feature extraction
卷積神經(jīng)網(wǎng)絡(luò)的輸入為用戶評(píng)論文本。首先將用戶評(píng)論文本通過BERT 得到對(duì)應(yīng)的文檔向量。設(shè)定文本的最大長(zhǎng)度為L(zhǎng),對(duì)于不足最大長(zhǎng)度的作填充處理,超過最大長(zhǎng)度的作截?cái)嗵幚?。因此,輸入即為文檔向量E。
在得到輸入文檔向量后,需要對(duì)文檔向量進(jìn)行二維卷積操作。首先是一個(gè)卷積核H ∈?d×w作用于輸入的文檔向量,其中w 為卷積核的寬度。由此產(chǎn)生的特征矩陣O,經(jīng)過激活函數(shù)σ 后加上偏置項(xiàng)b 可以得到文檔向量經(jīng)過卷積處理的特征:
式(1)和式(2)定義為Conv2D。
最大池化作用于g:
其中,m 是特征層的個(gè)數(shù)。最大池化保證了yk中含有每個(gè)特征層中最重要的信息。將所有的yk拼接起來即可得到文本特征:
在得到文本特征之后,需要使用Softmax 層進(jìn)行分類。Softmax 層的輸入為上述文本特征,為了得到模型對(duì)每個(gè)用戶的預(yù)測(cè)分?jǐn)?shù),需要將ftext與權(quán)重矩陣W ∈?n×m相乘:
經(jīng)過Softmax 函數(shù)歸一化后可得該文檔屬于第i個(gè)作者的概率:
本文選擇的依賴信息為作者評(píng)論對(duì)應(yīng)的商品ID。商品ID 對(duì)于預(yù)測(cè)評(píng)論的作者的作用是可解釋的:一個(gè)用戶更傾向于購買自己喜歡的商品,這包括商品的類別、價(jià)格和美觀程度等。商品ID是一個(gè)離散的數(shù)據(jù),本文的目的是將此ID轉(zhuǎn)化成為一個(gè)稠密的向量,使得這個(gè)向量可以從某種意義上表示該商品的各種特征。
接下來,對(duì)前期融合和后期模態(tài)兩種融合方式進(jìn)行詳細(xì)的介紹。
圖2 基于文檔向量的卷積神經(jīng)網(wǎng)絡(luò)Fig.2 CNN based on document vector
2.4.1 前期融合
前期融合將商品ID 向量與文檔向量在輸入到卷積神經(jīng)網(wǎng)絡(luò)之前進(jìn)行融合。具體地,將商品ID通過查商品ID向量表P 得到對(duì)應(yīng)的向量表示p。然后將該向量與文檔向量進(jìn)行拼接,將拼接后的向量輸入到卷積神經(jīng)網(wǎng)絡(luò)中:
最大池化作用于g:
拼接yk:
最后使用Softmax層進(jìn)行分類:
模型的結(jié)構(gòu)如圖3所示。
圖3 前期融合模型Fig.3 Earlier-stage fusion model
2.4.2 后期融合
后期融合將商品ID 向量與經(jīng)過卷積操作之后的文檔向量進(jìn)行拼接。具體地,將文檔向量經(jīng)過卷積操作后與商品ID向量進(jìn)行拼接,商品ID 向量并沒有參與卷積與最大池化操作:
最大池化作用于g:
拼接yk:
使用Softmax函數(shù)分類:
模型結(jié)構(gòu)如圖4所示。
圖4 后期融合模型Fig.4 Later-stage fusion model
其中:N 為樣本數(shù)量,I(?)為指示函數(shù),y(n)為樣本的真實(shí)標(biāo)記,y'(n)為預(yù)測(cè)結(jié)果。
類別c的召回率定義為:
其中:TPc表示真正例數(shù)(True Positive,TP),F(xiàn)Nc表示假負(fù)例數(shù)(False Negative,F(xiàn)N),F(xiàn)Pc表示假正例數(shù)(False Positive,F(xiàn)P),TNC表示真負(fù)例數(shù)(True Negative,TN)。
宏召回率定義為:
類別c的精確率定義為:
宏精確率定義為:
宏F1定義為:
實(shí)驗(yàn)將原數(shù)據(jù)集劃分為訓(xùn)練集∶驗(yàn)證集∶測(cè)試集=6∶2∶2,其中驗(yàn)證集用于調(diào)整參數(shù),測(cè)試集用作最終測(cè)試。為了驗(yàn)證模型在不同領(lǐng)域的有效性,實(shí)驗(yàn)采用亞馬遜電影評(píng)論(Amazon Movie_and_TV)和CD 評(píng)論(CDs_and_Vinyl_5)兩個(gè)數(shù)據(jù)集。由于上述兩個(gè)原始數(shù)據(jù)集比較稀疏,而本文的實(shí)驗(yàn)數(shù)據(jù)既要求同一作者包含一定數(shù)量的評(píng)論信息,同時(shí)也要求同一商品包含一定數(shù)量的評(píng)論信息。因此,需要從原始的數(shù)據(jù)集中檢索出一些滿足上述要求的用戶和商品。兩個(gè)數(shù)據(jù)集的統(tǒng)計(jì)信息如表2所示。
表2 數(shù)據(jù)集統(tǒng)計(jì)信息Tab.2 Dataset statistics
表3 中包含了神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu)及參數(shù)。為了減輕過擬合,在每個(gè)卷積層之后加入50%Dropout,使用ReLU 作為激活函數(shù),使用Adam[16]作為優(yōu)化器,學(xué)習(xí)率為10-4來訓(xùn)練網(wǎng)絡(luò)。
表3 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及超參數(shù)Tab.3 Neural network architecture and hyperparameters
將所提出的模型與以下模型進(jìn)行對(duì)比:
1)CNN-2:Shrestha 等[15]使用Character n-gram 作為輸入,使用一個(gè)Embedding 層將輸入映射為稠密的矩陣,然后依次通過卷積層和全連接層后使用Softmax 函數(shù)得到輸出。實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)選擇2-gram 時(shí),在驗(yàn)證集上的效果最好,將此模型記為CNN-2。
2)LSTM-1:LSTM 已經(jīng)被成功用于文本分類的任務(wù)中[4-5]。使用Character n-gram 作為輸入特征,將所有單向LSTM 單元的輸出進(jìn)行求和作為文本特征,最后用Softmax 函數(shù)進(jìn)行分類。
3)SVM:Schwartz等[1]選擇word n-gram和character n-gram作為輸入,使用SVM 進(jìn)行分類。實(shí)驗(yàn)證明,使用word n-gram和character n-gram 作為輸入與僅僅使用character n-gram 作為輸入的結(jié)果基本相同,在實(shí)驗(yàn)中將不考慮word n-gram。實(shí)驗(yàn)中使用character n-gram 長(zhǎng)度為4 作為特征,線性核SVM 作為分類器。
4)RF:RF 是機(jī)器學(xué)習(xí)中經(jīng)典的多分類方法,它包含多個(gè)決策樹,在分類問題中往往具有很好的效果。實(shí)驗(yàn)采用character 3-gram 作為輸入,使用sklearn 實(shí)現(xiàn)的隨機(jī)森林分類器在驗(yàn)證集上調(diào)參,效果最好的分類器用于測(cè)試。
5)Syntax-CNN:Zhang 等[11]除了使用n 元模型,還加入了語義特征,這樣可以將文本的語義信息和風(fēng)格信息融合起來得到比較好的效果,但同時(shí)增加了模型復(fù)雜度。
6)LDA-S:Seroussi等[10]將作者的所有文本拼接后將單詞頻率作為L(zhǎng)DA 的輸入,得到每個(gè)作者的主題分布,使用Hellinger 距離度量新文本的主題分布與作者主題分布的距離,距離最近的為預(yù)測(cè)結(jié)果。
7)CNN-product:CNN-product 是一種僅利用商品ID 向量預(yù)測(cè)用戶的方法。首先將商品ID 通過嵌入層將其表示為向量,然后通過一層卷積神經(jīng)網(wǎng)絡(luò)和最大池化得到卷積特征,最后使用Softmax函數(shù)進(jìn)行分類。
不同方法的實(shí)驗(yàn)結(jié)果如表4所示。從表4中可以看出,后期融合在兩個(gè)數(shù)據(jù)集上都取得了相比其他方法最好的結(jié)果,在以后的實(shí)驗(yàn)中,將后期融合記為TDAA(Target-Dependent method for Authorship Attribution)。TDAA 的效果優(yōu)于前期融合,其原因可能是:前期融合將商品向量與文本向量視為相同的輸入,忽視了兩者所含的不同信息,使得模型無法學(xué)得互補(bǔ)的信息。
表4 兩個(gè)數(shù)據(jù)集上不同方法的評(píng)價(jià)指標(biāo)結(jié)果對(duì)比Tab.4 Comparison of evaluation results of different methods on two datasets
與僅利用商品信息的對(duì)比:僅利用商品信息的方法在兩個(gè)數(shù)據(jù)集上的準(zhǔn)確率均不足0.1,本文方法遠(yuǎn)高過它。
與僅利用文本信息對(duì)比:在對(duì)比方法中,本文方法比其他方法中最優(yōu)的結(jié)果仍高出4%~5%。在傳統(tǒng)的機(jī)器學(xué)習(xí)分類方法中,效果最好的是SVM,它也是被廣泛應(yīng)用在作者身份識(shí)別問題中的一種方法;LDA-S 效果不如其他機(jī)器學(xué)習(xí)方法的原因可能是商品評(píng)論數(shù)據(jù)集的主題分布比較集中,作者之間的主題分布差異不大,造成分類的難度增加;LSTM-1 捕獲的信息可能更多是語義上的,與作者的寫作風(fēng)格無關(guān),因此與其他深度學(xué)習(xí)方法差異較大。
為了比較在相同文本特征下加入目標(biāo)信息與不加目標(biāo)信息的結(jié)果,設(shè)計(jì)了如下實(shí)驗(yàn):采用character n-gram 作為文本特征,使用CNN-2作為實(shí)驗(yàn)方法,融合方式采用后期融合與前期融合,對(duì)比有無依賴信息對(duì)效果的影響。在電影評(píng)論數(shù)據(jù)集上加入商品ID與不加商品ID的對(duì)比結(jié)果如表5所示。
表5 n-gram特征下目標(biāo)依賴信息對(duì)Acc的影響Tab.5 Impact of target-dependence information on Acc based on n-gram feature
采用BERT 提取的文本特征,使用CNN 作為實(shí)驗(yàn)方法,融合方式采用后期融合,對(duì)比有無依賴信息對(duì)實(shí)驗(yàn)結(jié)果的影響,實(shí)驗(yàn)結(jié)果如表6所示。
表6 預(yù)訓(xùn)練特征下目標(biāo)依賴信息對(duì)Acc的影響Tab.6 Impact of target-dependence information on Acc based on pre-trained feature
對(duì)比表5和表6,可以得出如下結(jié)論:
1)使用相同的分類模型,通過BERT 提取的文本向量可以比使用character n-gram 作為文本特征的分類精確率高出2%~3%,說明使用BERT 提取文本特征的方法是一種普適且有效的方法。
2)后期融合是一種有效的融合方式。在使用相同文本特征的條件下,對(duì)目標(biāo)依賴信息的后期融合可以比不加依賴信息的方法分類精確率高出2%左右。
為了探究不同長(zhǎng)度的character n-gram 對(duì)于實(shí)驗(yàn)結(jié)果的影響,設(shè)計(jì)了n-gram 長(zhǎng)度分別為1、2、3、4 的實(shí)驗(yàn),所采用的方法為CNN、SVM、RF與LSTM,實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 兩個(gè)數(shù)據(jù)集上n-gram長(zhǎng)度對(duì)Acc的影響Fig.5 Impact of different n-gram length on Acc on two datasets
從圖5 可以看出,不同長(zhǎng)度的n-gram 對(duì)不同的方法影響不同。n-gram 長(zhǎng)度的增加會(huì)造成LSTM 效果下降;而對(duì)于SVM,長(zhǎng)度增加會(huì)使其效果變好;對(duì)于CNN 和RF 而言,存在一個(gè)最合適的長(zhǎng)度使其性能最佳。因此,對(duì)于不同的方法首先要通過實(shí)驗(yàn)找出最佳的n-gram 長(zhǎng)度。TDAA 由于沒有使用n-gram特征,因此效果不受影響。
本文提出了一種目標(biāo)依賴的作者身份識(shí)別算法,解決了在限定條件下的作者身份識(shí)別問題。本文方法免去了復(fù)雜的特征設(shè)計(jì),利用BERT 提取文本信息,使得該方法更加具有普適性。利用商品ID 作為對(duì)作者身份的限制條件,這種方法可以很好地推廣到其他對(duì)作者身份有限制條件的應(yīng)用場(chǎng)景中。
提高作者身份識(shí)別問題的效果的另一個(gè)思路是提高文本分類的效果。目前許多先進(jìn)的模型被用于文本分類,如Li等[17]提出了一種對(duì)抗學(xué)習(xí)網(wǎng)絡(luò)(Adversarial Network)來提高文本分類的效果;膠囊網(wǎng)絡(luò)[18]最初被用在圖像分類任務(wù)上,其動(dòng)態(tài)路由機(jī)制實(shí)現(xiàn)了輸出對(duì)輸入的某種聚類;Zhao 等[19]首先嘗試了使用膠囊網(wǎng)絡(luò)實(shí)現(xiàn)文本分類,并取得了很好的效果。這些方法都可以被用來解決作者身份識(shí)別問題。