李成路 許 鳳
(1.南京理工大學計算機科學與工程學院 南京 210094)(2.南京財經大學會計學院 南京 210023)
句子級情感分析作為自然語言處理(Natural Language Process,NLP)領域的入門級任務,自深度學習從計算機視覺及語音識別領域被遷移至NLP任務中后,已有大量的研究工作對長短不一的文本進行建模,依據對文本處理方式的不同,這些研究工作提出的深度學習模型大致可分為兩類,一類是對文本按序列化形式建模,代表的深度學習模型有卷積神經網絡(Convolutional Neural Network,CNN)[1~2]、循環神經網絡(Recurrent Neural Network,RNN)[3]和長短時記憶(Long Short-Term Memory,LSTM)網絡[4]等,另一類是對文本的句法結構樹進行建模,代表的深度學習模型有遞歸神經網絡(Recursive Neural Network,RvNN)[5]和樹狀長短時記憶(Tree-structure LSTM,Tree-LSTM)網絡[6]。
在過去的研究工作中,序列模型因其訓練速度快,模型只需按從左至右、從下到上的順序實現,CNN、RNN 和LSTM 等常用的基礎深度學習模型都封裝在各大深度學習框架工具中,而Tree-LSTM 網絡一直因其訓練數據是以文本句法解析樹的形式表示,并且每棵句法解析樹的形狀不同,這就導致了該網絡不能批量訓練且收斂速度慢,加上文本的句法結構信息難以利用,相比之下,有關的研究工作略顯少了些。
近年來,Gan 等[7]就如何將文本的序列信息和句法結構信息相融合做了很多研究,大多是先用LSTM之類的序列模型先編碼文本得到每個詞的隱藏表示,再作為Tree-LSTM 網絡中葉子節點的初始化表示,這方面的研究提供了同時利用文本序列信息和句法結構信息的新思路。Williams等[8]總結了關于文本潛在句法結構(Latent Syntactic Structure)的研究工作,并說明潛在句法結構大都不符合規范的句法規則,并且對句子級情感分析任務的提升也是有限的。因此本文利用的文本結構化信息是通過規范化的句法解析器解析得到的,因為這樣更易于根據下游任務從句法解析樹中提取利于提高模型效果的重要句法結構信息。
2018 年Google AI 團隊提出了BERT 模型[9],BERT模型在句子級情感分析任務上的效果遠遠超過了之前常用的深度學習模型,緊接著,Wang等[10]在Transformer 中引入了文本的句法結構信息,BERT 模型其實就是由多層的Transformer 組合而成,這說明融入文本的句法結構信息到最新的深度學習模型中的可能性。Jawahar 等[11]表示BERT 模型的較低層可以捕捉文本的短語信息,中間層可以捕捉文本的句法結構信息,而較高層可以捕捉文本的語義信息,并且還通過實驗發現BERT 模型可以隱式地學習到一些文本句法解析中比較常見的句法樹結構。但是,近兩三年來還未有研究工作提出如何讓只接受序列數據的BERT 模型能夠巧妙地顯示地利用文本的句法結構信息。
針對BERT 模型的這一不足,本文提出了Tree-BERT 模型讓文本的句法結構信息融入到BERT 模型中。該模型受知識蒸餾(Knowledge Distillation,KD)[12~13]里Teacher-Student 模型框架的啟發,以模型參數較輕量級的Tree-LSTM 網絡作為Teacher model 指導Student model 參數較重量級的BERT 模型,讓BERT 模型能顯示地利用文本的句法結構信息從而進一步提高BERT 模型在句子級情感分析任務上的準確率。
圖1 展示了Tree-BERT 模型的整體框架,從圖中可以看出模型主要分為左右兩部分,左邊是Tree-LSTM 網絡用來提取文本的句法結構信息,右邊BERT 模型將Tree-LSTM 網絡中節點產生的可訓練樣本作為輸入,按知識蒸餾理論里定義的損失函數計算樣本的損失值,對BERT 進行微調(Fine-tune)。下面具體介紹兩部分模型。

圖1 Tree-BERT的整體模型框架
本文將含有n個詞的句子表示為s={x1,x2,…,xn} ,句子的真實情感標簽,或稱為硬標簽(hard label),記作y?ard_label,由Teacher model預測文本得到的情感概率分布稱為軟標簽(soft label),記作ysoft_label。這兩種標簽的區別如圖1 最上方淺藍色塊和淺黃色塊所示,淺藍色塊表示訓練樣本的真實標簽,采用One-Hot 表示方法,即只有該樣本所屬的情感類別位置的值為1,其他位置的情感值都為0,例如圖1 中送給BERT 的訓練樣本“like this camera”的情感是積極的,那該樣本的真實標簽表示為y?ard_label={0,1};淺黃色塊表示訓練樣本的軟標簽,是由Tree-LSTM 網絡中節點的隱藏表示經過Softmax 分類器后得到的情感概率分布,即該樣本屬于某個情感類別的概率值,并且各個情感類別的概率值加和為1,例如圖1 中該樣本的軟標簽表示為ysoft_label={0.2,0.8}。
首先要讓Tree-LSTM 網絡在SST(Stanford Sentiment Treebank)數據集上學習文本的句法結構信息,該網絡編碼句子成分結構樹的過程如圖2 所示,具體計算公式如下:

圖2 Tree-LSTM網絡的訓練和預測
其中ij,fjk,oj,uj,cj,?j同LSTM深度神經網絡里一樣,分別為輸入門、遺忘門、輸出門、輸入表示、單元狀態和輸出的隱層狀態,W,U,b均為可學習參數,N是指父節點所包含子節點數,對于成分句法樹來講N=2,即每個父節點只有左、右兩個子節點。
接下來使用Stanford Parser[14]將目標領域訓練集樣本解析成句法樹的結構,然后如圖2 所示使用凍結參數的Tree-LSTM 網絡計算句法樹上每個節點的隱藏表示并得到每個節點的軟標簽,圖2 虛線框中的文本是以該節點為子樹的葉子節點上的詞語組合而成,這樣就構造了可以用于訓練深度學習網絡的“文本-軟標簽”樣本,這樣構造出來的樣本就帶有了句法結構信息。
如圖1 右邊所示,BERT 模型在擴充后的目標領域訓練集上進行微調。具體的過程是在訓練文本前后分別拼上[CLS]和[SEP]特殊標識符后作為BERT 模型的輸入,經過BERT 模型計算后使用[CLS]特殊標識符的隱藏表示作為整句話的編碼表示,最后送入Softmax 分類器得到訓練樣本的情感分類概率值,記作p,該樣本最后的誤差計算取決于樣本的類別。
1)樣本既有One-Hot 情感真實標簽,即y?ard_label={y1,y2,…,yC} ,又有軟標簽,記作ysoft_label={y1',y'2,…,yC' },其中C為情感類別數,針對本章節中的句子級情感分析任務,因為只有積極和消極情感,顯然C=2。那么該樣本的損失函數由y?ard_label和ysoft_label與情感分類概率值p分別計算得到,兩部分的損失函數都使用交叉熵損失函數(Cross Entropy Loss,CE),分別記作L?ard_loss和Lsoft_loss,具體的計算公式公式如下:
2)樣本只有軟標簽,那該樣本的損失函數計算只要考慮Lsoft_loss,因為此時L?ard_loss=0 ,即LCE=Lsoft_loss。
最后計算批訓練樣本的總損失值LBatc?_CE,計算公式如下:
其中B為批訓練樣本的樣本數量。使用總損失值LBatc?_CE通過反向傳播算法(Back Propagation,BP)[15]微調BERT 模型的參數,并在目標領域測試集上計算模型的情感分類準確率,記錄分類準確率最高的結果。
本文使用Yu 等[16]發布在會議EMNLP 上的三個數據集,分別是Camera,Restaurant和Laptop三個領域的二分類句子級情感分析數據集,使用情感分類準確率(Accuracy,Acc.)來評估模型的性能,計算公式如下:
其中N是樣本總數,yn,y?n分別是第n個樣本的真實標簽和預測標簽,I(?)為指示函數,即真實標簽與預測標簽一致時,I(?)=1,否則,I(?)=0。
本文比較了Tree-BERT 模型和設計的其他四個模型:
1)BERT(Target Dataset):BERT 模型在目標領域訓練集上微調,在目標領域測試集上測試;
2)BERT(Merged SST):將SST訓練集和目標領域訓練集合并后作為新的訓練集,BERT 模型在合并后的訓練集上微調;
3)BERT(Twice fine-tune):合并SST 訓練集和目標領域訓練集時,為了避免兩部分訓練集因樣本數量差距過大而影響BERT 模型在目標測試集上的效果,先讓BERT模型在SST訓練集上微調一次,再在目標領域訓練集上微調一次,兩次微調時評估模型的情感分類準確率都是在目標領域測試集上;
4)BERT-BERT:Teacher model 換成在SST 數據集上微調后的BERT 模型,Student model 依然是BERT模型。
觀察表1 每一列的準確率可以看出與設計的四個模型相比,本文提出的Teacher-Student模型框架,即Tree-BERT模型在三個目標領域測試集上的準確率都有提高。

表1 Tree-BERT模型和其他模型在三個目標領域測試集上情感分類準確率比較
表1 第一行是一個最基礎的基準模型(Baseline),即使用單獨的BERT 模型在目標領域訓練集上微調,對比發現,本節提出的Tree-BERT 模型的情感分類準確率在三個目標領域測試集上分別有2.2%,3%和2.5%的提高,說明使用Teacher-Student的框架結構,可以通過Teacher model先對文本中的句法結構信息進行“蒸餾”,然后指導Student model,即BERT模型,顯式地學習“蒸餾”出的句法結構信息,從而提升了單獨BERT 模型在句子級情感分析任務上的情感分類準確率。
設計表1 第二行的BERT(Merged SST)模型是因為Teacher model,即Tree-LSTM 深度學習網絡,使用了額外的SST 訓練集中的情感標簽,所以將SST 訓練集和目標領域訓練集合并后讓BERT 模型在擴充后的訓練集上微調,對比第一行發現,簡單地合并訓練集,只能提升BERT模型在Camera測試集上的情感分類準確率,在其他兩個目標領域測試集上的準確率是沒有提升的。對比Tree-BERT 模型在三個目標領域測試集上的情感分類準確率,該模型的準確率分別下降了0.2%、3.5%和2.5%,說明SST 數據集中文本的句法結構信息不是簡單合并訓練集就可以讓BERT 模型學習到的,體現了使用知識蒸餾方法先讓Tree-LSTM 網絡提取文本中的句法結構信息的優勢。
考慮到簡單合并訓練集會出現樣本不平衡問題,即最終微調好的BERT 模型的情感分類表現會更偏向于數據量大的訓練集,導致模型在數據量相對小的目標領域測試集上的情感分類準確率下降,所以設計了表1 第三行的BERT(Twice fine-tune)模型,對比前兩行的準確率,該模型在Restaurant和Laptop 兩個測試集上的準確率提高了,在Camera測試集上的準確率略有下降,說明數據集之間的領域差異性是一定存在的;對比Tree-BERT模型在三個目標領域測試集上的情感分類準確率,該模型的準確率分別下降了1%,3%和1.5%,同樣說明了在句子級情感分析任務上,通過知識蒸餾方法在BERT模型中融入文本句法結構信息給模型帶來的提升要優于簡單擴充訓練集的方法。
為了體現Teacher model 使用Tree-LSTM 網絡的優勢,即“蒸餾”出的軟標簽蘊含更多的文本句法結構信息,設計了表1第四行的BERT-BERT模型,將Teacher model 換成BERT 模型來產生文本的軟標簽,讓左路的BERT 模型先在SST 數據集上微調好后固定參數,然后用于預測Tree-LSTM 網絡預測過的目標領域訓練集上的短語文本的情感概率分布,即預測圖2 中每個節點上對應的短語文本或者一個詞的情感概率分布,構建的新訓練樣本擴充到原目標領域訓練集中給Student model訓練,也就是讓右路另一個BERT 模型在擴充后的訓練集上微調,結合表1 和表2 可以發現,雖然同樣作為在SST訓練集上調參到最優的Teacher model,Tree-LSTM網絡在SST測試集上的準確率比BERT模型的準確率低3.5%,差距是比較大的,但是在三個目標領域測試集上的情感分類準確率,Tree-BERT模型要比BERT-BERT 模型分別高出0.6%,1.5%和0.5%,這說明使用Tree-LSTM 模型預測得到的軟標簽比用BERT模型預測得到的軟標簽蘊含更多的句法結構信息,因為Tree-LSTM 網絡是顯式地利用文本的句法樹信息,該網絡對文本句法知識的“蒸餾”會更準確,因此預測得到的軟標簽會把句法知識信息蘊含在情感概率分布之間,也就是說右路BERT 在微調時不僅在學習軟標簽顯式的情感概率分布,更重要的是在學習蘊含在軟標簽中的句法結構信息特征;這兩個模型的對比結果也支撐了本節最主要的貢獻,即通過Tree-LSTM 網絡“蒸餾”出文本的句法結構信息來指導BERT 模型顯式地學習句法結構信息,Teacher model換作其他深度學習模型是達不到“蒸餾”句法結構信息這一效果的。

表2 Tree-LSTM和BERT在SST測試集上的情感分類準確率
在實驗Tree-BERT模型的初期,實驗結果還不是很好,在尋找問題所在和優化方法時,受Wu[17]等人處理文本句法樹的啟示,即限制文本的長度。考慮到Tree-LSTM 網絡對節點的情感分類存在偏差,應當過濾掉一些節點構造的訓練樣本,從圖2 中可以發現,網絡中越高層節點對應的文本長度就越長,因此可以通過設置文本長度來過濾掉一些文本較短的訓練樣本,因為這些樣本會對BERT 模型帶來較大的噪聲。在實驗過程中,便設置了一個超參來控制訓練集中文本的長度,用t?res?old表示,用來過濾掉擴充后的訓練集中文本長度小于t?res?old的樣本,但是擁有One-Hot真實標簽的樣本,即目標領域訓練集最初的樣本,它們的文本長度即使小于t?res?old也是要保留的。
從圖3 中可以看出文本長度閾值對Tree-BERT模型在三個目標領域測試上的情感分類準確率的影響還是很大的,并且三個目標領域數據集上的總體變化趨勢是一致的,隨著文本長度閾值變大,情感分類準確率先升高再降低,不同數據集情感分類準確率的峰值所對應的文本長度閾值也不同。之所以該超參對準確率有較大影響,是因為Tree-LSTM 網絡中上層節點相比葉子節點或低層節點的句法結構更復雜,那所蘊含的句法結構信息更加豐富,也更能表示整句話的情感傾向,并且太短的短語或者一個詞語的情感傾向存在預測偏差,這會在微調BERT 模型時帶入較大的噪聲,因此根據短語文本的長度,過濾那些過短的短語或者一個詞語的樣本,可以提高擴充后目標領域訓練集的質量。當然文本長度閾值也不是越大越好,因為Tree-LSTM 網絡中高層節點的情感分類也存在較大誤差,如果作為訓練樣本的話,也會給微調BERT模型時帶來太大的噪聲從而降低模型的情感分類準確率。

圖3 文本長度閾值與Tree-BERT模型在三個目標領域測試集上情感分類準確率的關系
本文受知識蒸餾方法的啟發,以Teacher-Student框架為模型設計的基礎,提出了Tree-BERT 模型將句法結構信息融入到了無法利用文本句法結構信息的BERT 模型中,創新性地提出了一種融合文本的序列信息和句法結構信息的新思路,也是知識蒸餾方法的一種新應用,同時也為提高模型在跨領域文本情感分析數據集上的性能提供了一條新道路。