李 揚,張 偉*,彭 晨
(1.華東師范大學計算機科學與技術學院,上海200062;2.中國科學院電子學研究所蘇州研究院,江蘇蘇州215123)
作者身份識別(Authorship Attribution)的主要思路是將文檔中隱含的作者無意識的寫作習慣通過某些特征表示出來,凸顯作品的文學特征及寫作風格,以確定匿名文本的作者。作者身份識別可以在許多實際問題中發(fā)揮作用,比如,可以幫助歷史學家從一些候選的作者中推測出文獻中的一段話的作者,可以幫助網絡執(zhí)法者鑒別出發(fā)布不良信息的用戶等。
目前現有的許多方法都是根據不同的文本特點來設計文本特征,這些特征包括文本的單詞級別的n 元語言模型(word n-gram)和字符級別的n 元語言模型(character n-gram)、文本的主題分布、文本的語法和語義特征等[1]。根據不同的文本特征,可以設計使用不同的方法。支持向量機(Support Vector Machine,SVM)、隨機森林(Random Forests,RF)和隱式狄利克雷(Latent Dirichlet allocation,LDA)主題模型等都是解決作者身份識別問題常用的方法[2-3]。近年來,深度學習技術在文本表示方面取得了很好的效果,因此卷積神經網絡(Convolutional Neural Network,CNN)和長短期記憶(Long Short-Term Memory,LSTM)神經網絡也被用來解決作者身份識別問題[4-7]。
但是,在實際問題中,作者身份識別問題通常被限定在某一范圍內。比如,法官想要通過一篇文檔來確定犯罪嫌疑人,而且證據表明犯罪嫌疑人是一個年齡在40 和50 歲之間的女性。如果利用現有的方法,即僅利用文檔進行作者身份識別,判斷的結果可能是一個年齡在20和30歲之間的男性,顯然這個結論是錯誤的。原因在于現有的方法沒有利用作者依賴的信息,即在開放域上利用文檔預測作者,忽略了依賴信息的重要性。
通常來講,作者身份的限定條件可能是某種離散的屬性,比如性別、年齡和婚姻狀況等,但由于上述信息包含用戶隱私,獲取成本比較高,因此本文使用易于獲得的亞馬遜商品評論作為實驗數據集。在商品評論數據集中,用戶選擇購買某種商品與其年齡、性別、收入情況和興趣愛好等方面息息相關,可以在某種程度上反映用戶的屬性信息。因此,選擇使用商品ID 作為限定條件,提出了一種目標依賴的作者身份識別算法,可以避免復雜的文本特征設計,同時有效利用依賴信息進行作者身份預測。本文的主要工作如下:1)提出了一種使用目標依賴信息解決作者身份識別問題的算法,探索了兩種不同的信息融合方式,并在亞馬遜電影評論和CD評論數據集上證明了這兩種融合方式可以用于解決限定條件下的作者身份識別問題。2)提出了一種使用BERT(Bidirectional Encoder Representation from Transformer)提取文本特征的方法,避免了針對不同類型的數據集設計不同文本特征的復雜性,并用實驗驗證了這種方法優(yōu)于目前已有的文本特征提取方法。
針對文本建模,許多工作研究了不同的文本特征提取方法,大致可以分為以下幾種特征:1)詞匯級別的特征,包括單詞長度、文檔長度、文檔中詞匯的豐富程度和錯誤詞匯數量等;2)字符級別的特征,包括字符的類別(字母或者數字)和字符n 元模型等;3)語法特征,包括詞性和句子結構等;4)語義特征,包括語義依賴分析和功能分析等。考慮到評論數據的生成受到用戶和商品的同時影響,Zhang 等[8-9]利用主題模型和矩陣分解模型同時對用戶評論和商品進行建模。
之前的研究中,作者身份識別大致分為兩種思路[9]。第一種思路是基于相似度的方法。這種方法的做法是將作者的所有文本信息拼接為單個文檔,將單個文檔的特征作為該作者的特征。對于一條新的文本,通過比較該文本與已知文本的相似度,將相似度最高的已知文本的作者作為未知文本的預測結果。基于這個思路,Seroussi等[10]將一個作者發(fā)布的所有文本組成一條文本,然后使用主題模型的方法從文本中提取出文本的主題分布作為作者的特征,對于一條新的文本,計算其主題分布與作者特征之間的Hellinger 距離,距離最小的作者作為預測結果。另一個思路是基于分類的思想,大多數的研究都基于此方法。Schwartz 等[1]使用單詞級別n 元模型和字符級別的n 元模型作為文本的特征,這樣可以將一段文本信息映射為二值的特征向量,然后使用支持向量機(SVM)進行分類。Zhang 等[11]除了使用n 元模型,還加入了語義特征,具體操作是:對文本進行語法分析得到文本的語法樹,并對樹中的每一個節(jié)點進行編碼,將這些節(jié)點的編碼作為文本的語義特征;接下來,將文本的語義信息和內容信息作為兩個不同的通道使用CNN進行分類。
以上方法與本文提出的方法最大不同之處有兩點:一是需要復雜的特征設計與處理;二是忽視了在實際問題中作者身份存在限定條件這一特征,僅利用文檔信息進行作者身份判定。這些方法可能得出與限定條件相悖的結論。
在自然語言處理領域,詞向量被廣泛應用在多種任務中,比如,文本分類、問答系統(tǒng)以及文本檢索等。Word2Vec[12]是目前最常用的詞嵌入模型之一,它實際上是一種淺層的神經網絡模。常用的模型包括根據上下文出現的詞語來預測當前詞語生成概率的連續(xù)詞袋(Continues Bag of Words,CBOW)模型和根據上下文的詞語預測當前詞語生成概率的跳字(Skipgram)模型。但是由于Word2Vec 輸入的上下文有限,使得其無法解決多義詞的情況。BERT[13]是一種新的語言表示模型。不同于Word2Vec,BERT 使用文本內容的左、右語境進行預訓練得到文本的深度雙向表征,因此,BERT 通過添加額外的一層神經網絡進行微調,就可以在多種任務上達到最優(yōu)的效果。本文將通過BERT模型得到的文檔向量作為文本特征。
多模態(tài)學習是一種利用多種數據類型進行學習的方式。多模態(tài)學習需要利用好各種數據類型的內在關系,使得不同的數據類型可以提供有效且互補的信息。信息融合首要的問題是解決融合發(fā)生的位置,一般可以分為三種,分別是特征多模態(tài)融合(feature multimodal fusion)、決策多模態(tài)融合(decision multimodal fusion)和混合多模態(tài)融合(hybrid multimodal fusion)[14]。特征多模態(tài)融合是對不同的特征在進入模型之前進行融合;決策多模態(tài)融合方式需要在特征輸入模型之前保持相互獨立,而在各自通過模型之后進行融合;混合多模態(tài)融合既在輸入之前進行融合又需在通過模型之后進行融合。其次需要解決融合內容這一問題,不同的數據類型有不同的表示方式,如何選擇數據的表示類型是解決這一問題的關鍵。
本文探索了兩種信息融合方式在作者身份識別問題中的應用,分別代表了前期融合和后期融合:前期融合和后期融合的區(qū)別在于融合發(fā)生的位置不同,前期融合在輸入模型之前對不同的數據類型進行融合,后期融合是對不同的數據類型在輸入模型之后進行融合。
設數據集中包含的用戶集合為U={u1,u2,…,un},評論集合為R={r1,r2,…,rm},商品集合為D={d1,d2,…,dq},其中,n、m 和q 分別為用戶數量、評論數量和商品數量。目標依賴的作者身份識別算法是根據作者產生的評論和對應評論的商品(ri,di)從候選集U 中找到對應的評論的作者ui。本文使用的符號表述見表1。

表1 符號定義Tab.1 Symbol definition
為了避免復雜的特征設計,本文采用BERT 提取預訓練的詞向量,如圖1 所示。具體地,對于用戶的評論文本,首先將其分詞后得到Tok1,Tok2,…,Tokn,通過BERT 預訓練模型,可以得到詞向量表B。查詢詞向量表B 后得到Vec1,Vec2,…,Vecn分別對應Tok1,Tok2,…,Tokn的向量表示。文檔向量表示是將Vec1,Vec2,…,Vecn拼接。如圖1所示。

圖1 預訓練的文檔特征提取Fig.1 Pre-trained document feature extraction
卷積神經網絡的輸入為用戶評論文本。首先將用戶評論文本通過BERT 得到對應的文檔向量。設定文本的最大長度為L,對于不足最大長度的作填充處理,超過最大長度的作截斷處理。因此,輸入即為文檔向量E。
在得到輸入文檔向量后,需要對文檔向量進行二維卷積操作。首先是一個卷積核H ∈?d×w作用于輸入的文檔向量,其中w 為卷積核的寬度。由此產生的特征矩陣O,經過激活函數σ 后加上偏置項b 可以得到文檔向量經過卷積處理的特征:

式(1)和式(2)定義為Conv2D。
最大池化作用于g:

其中,m 是特征層的個數。最大池化保證了yk中含有每個特征層中最重要的信息。將所有的yk拼接起來即可得到文本特征:

在得到文本特征之后,需要使用Softmax 層進行分類。Softmax 層的輸入為上述文本特征,為了得到模型對每個用戶的預測分數,需要將ftext與權重矩陣W ∈?n×m相乘:

經過Softmax 函數歸一化后可得該文檔屬于第i個作者的概率:


本文選擇的依賴信息為作者評論對應的商品ID。商品ID 對于預測評論的作者的作用是可解釋的:一個用戶更傾向于購買自己喜歡的商品,這包括商品的類別、價格和美觀程度等。商品ID是一個離散的數據,本文的目的是將此ID轉化成為一個稠密的向量,使得這個向量可以從某種意義上表示該商品的各種特征。
接下來,對前期融合和后期模態(tài)兩種融合方式進行詳細的介紹。

圖2 基于文檔向量的卷積神經網絡Fig.2 CNN based on document vector
2.4.1 前期融合
前期融合將商品ID 向量與文檔向量在輸入到卷積神經網絡之前進行融合。具體地,將商品ID通過查商品ID向量表P 得到對應的向量表示p。然后將該向量與文檔向量進行拼接,將拼接后的向量輸入到卷積神經網絡中:

最大池化作用于g:

拼接yk:

最后使用Softmax層進行分類:

模型的結構如圖3所示。

圖3 前期融合模型Fig.3 Earlier-stage fusion model
2.4.2 后期融合
后期融合將商品ID 向量與經過卷積操作之后的文檔向量進行拼接。具體地,將文檔向量經過卷積操作后與商品ID向量進行拼接,商品ID 向量并沒有參與卷積與最大池化操作:

最大池化作用于g:

拼接yk:

使用Softmax函數分類:

模型結構如圖4所示。

圖4 后期融合模型Fig.4 Later-stage fusion model

其中:N 為樣本數量,I(?)為指示函數,y(n)為樣本的真實標記,y'(n)為預測結果。
類別c的召回率定義為:


其中:TPc表示真正例數(True Positive,TP),FNc表示假負例數(False Negative,FN),FPc表示假正例數(False Positive,FP),TNC表示真負例數(True Negative,TN)。
宏召回率定義為:
類別c的精確率定義為:

宏精確率定義為:

宏F1定義為:

實驗將原數據集劃分為訓練集∶驗證集∶測試集=6∶2∶2,其中驗證集用于調整參數,測試集用作最終測試。為了驗證模型在不同領域的有效性,實驗采用亞馬遜電影評論(Amazon Movie_and_TV)和CD 評論(CDs_and_Vinyl_5)兩個數據集。由于上述兩個原始數據集比較稀疏,而本文的實驗數據既要求同一作者包含一定數量的評論信息,同時也要求同一商品包含一定數量的評論信息。因此,需要從原始的數據集中檢索出一些滿足上述要求的用戶和商品。兩個數據集的統(tǒng)計信息如表2所示。

表2 數據集統(tǒng)計信息Tab.2 Dataset statistics
表3 中包含了神經網絡的具體結構及參數。為了減輕過擬合,在每個卷積層之后加入50%Dropout,使用ReLU 作為激活函數,使用Adam[16]作為優(yōu)化器,學習率為10-4來訓練網絡。

表3 神經網絡結構及超參數Tab.3 Neural network architecture and hyperparameters
將所提出的模型與以下模型進行對比:
1)CNN-2:Shrestha 等[15]使用Character n-gram 作為輸入,使用一個Embedding 層將輸入映射為稠密的矩陣,然后依次通過卷積層和全連接層后使用Softmax 函數得到輸出。實驗發(fā)現,當選擇2-gram 時,在驗證集上的效果最好,將此模型記為CNN-2。
2)LSTM-1:LSTM 已經被成功用于文本分類的任務中[4-5]。使用Character n-gram 作為輸入特征,將所有單向LSTM 單元的輸出進行求和作為文本特征,最后用Softmax 函數進行分類。
3)SVM:Schwartz等[1]選擇word n-gram和character n-gram作為輸入,使用SVM 進行分類。實驗證明,使用word n-gram和character n-gram 作為輸入與僅僅使用character n-gram 作為輸入的結果基本相同,在實驗中將不考慮word n-gram。實驗中使用character n-gram 長度為4 作為特征,線性核SVM 作為分類器。
4)RF:RF 是機器學習中經典的多分類方法,它包含多個決策樹,在分類問題中往往具有很好的效果。實驗采用character 3-gram 作為輸入,使用sklearn 實現的隨機森林分類器在驗證集上調參,效果最好的分類器用于測試。
5)Syntax-CNN:Zhang 等[11]除了使用n 元模型,還加入了語義特征,這樣可以將文本的語義信息和風格信息融合起來得到比較好的效果,但同時增加了模型復雜度。
6)LDA-S:Seroussi等[10]將作者的所有文本拼接后將單詞頻率作為LDA 的輸入,得到每個作者的主題分布,使用Hellinger 距離度量新文本的主題分布與作者主題分布的距離,距離最近的為預測結果。
7)CNN-product:CNN-product 是一種僅利用商品ID 向量預測用戶的方法。首先將商品ID 通過嵌入層將其表示為向量,然后通過一層卷積神經網絡和最大池化得到卷積特征,最后使用Softmax函數進行分類。
不同方法的實驗結果如表4所示。從表4中可以看出,后期融合在兩個數據集上都取得了相比其他方法最好的結果,在以后的實驗中,將后期融合記為TDAA(Target-Dependent method for Authorship Attribution)。TDAA 的效果優(yōu)于前期融合,其原因可能是:前期融合將商品向量與文本向量視為相同的輸入,忽視了兩者所含的不同信息,使得模型無法學得互補的信息。

表4 兩個數據集上不同方法的評價指標結果對比Tab.4 Comparison of evaluation results of different methods on two datasets
與僅利用商品信息的對比:僅利用商品信息的方法在兩個數據集上的準確率均不足0.1,本文方法遠高過它。
與僅利用文本信息對比:在對比方法中,本文方法比其他方法中最優(yōu)的結果仍高出4%~5%。在傳統(tǒng)的機器學習分類方法中,效果最好的是SVM,它也是被廣泛應用在作者身份識別問題中的一種方法;LDA-S 效果不如其他機器學習方法的原因可能是商品評論數據集的主題分布比較集中,作者之間的主題分布差異不大,造成分類的難度增加;LSTM-1 捕獲的信息可能更多是語義上的,與作者的寫作風格無關,因此與其他深度學習方法差異較大。
為了比較在相同文本特征下加入目標信息與不加目標信息的結果,設計了如下實驗:采用character n-gram 作為文本特征,使用CNN-2作為實驗方法,融合方式采用后期融合與前期融合,對比有無依賴信息對效果的影響。在電影評論數據集上加入商品ID與不加商品ID的對比結果如表5所示。

表5 n-gram特征下目標依賴信息對Acc的影響Tab.5 Impact of target-dependence information on Acc based on n-gram feature
采用BERT 提取的文本特征,使用CNN 作為實驗方法,融合方式采用后期融合,對比有無依賴信息對實驗結果的影響,實驗結果如表6所示。

表6 預訓練特征下目標依賴信息對Acc的影響Tab.6 Impact of target-dependence information on Acc based on pre-trained feature
對比表5和表6,可以得出如下結論:
1)使用相同的分類模型,通過BERT 提取的文本向量可以比使用character n-gram 作為文本特征的分類精確率高出2%~3%,說明使用BERT 提取文本特征的方法是一種普適且有效的方法。
2)后期融合是一種有效的融合方式。在使用相同文本特征的條件下,對目標依賴信息的后期融合可以比不加依賴信息的方法分類精確率高出2%左右。
為了探究不同長度的character n-gram 對于實驗結果的影響,設計了n-gram 長度分別為1、2、3、4 的實驗,所采用的方法為CNN、SVM、RF與LSTM,實驗結果如圖5所示。

圖5 兩個數據集上n-gram長度對Acc的影響Fig.5 Impact of different n-gram length on Acc on two datasets
從圖5 可以看出,不同長度的n-gram 對不同的方法影響不同。n-gram 長度的增加會造成LSTM 效果下降;而對于SVM,長度增加會使其效果變好;對于CNN 和RF 而言,存在一個最合適的長度使其性能最佳。因此,對于不同的方法首先要通過實驗找出最佳的n-gram 長度。TDAA 由于沒有使用n-gram特征,因此效果不受影響。
本文提出了一種目標依賴的作者身份識別算法,解決了在限定條件下的作者身份識別問題。本文方法免去了復雜的特征設計,利用BERT 提取文本信息,使得該方法更加具有普適性。利用商品ID 作為對作者身份的限制條件,這種方法可以很好地推廣到其他對作者身份有限制條件的應用場景中。
提高作者身份識別問題的效果的另一個思路是提高文本分類的效果。目前許多先進的模型被用于文本分類,如Li等[17]提出了一種對抗學習網絡(Adversarial Network)來提高文本分類的效果;膠囊網絡[18]最初被用在圖像分類任務上,其動態(tài)路由機制實現了輸出對輸入的某種聚類;Zhao 等[19]首先嘗試了使用膠囊網絡實現文本分類,并取得了很好的效果。這些方法都可以被用來解決作者身份識別問題。