尹春勇,章 蓀
(南京信息工程大學計算機與軟件學院,南京 210044)
近年來隨著微博、推特、臉書等社交媒體平臺的迅速興起,互聯(lián)網(wǎng)已從靜態(tài)的信息存儲知識庫轉變?yōu)槌錆M著不斷變化的動態(tài)信息論壇[1]。豐富多樣的社交媒體平臺向用戶提供了發(fā)表和傳播思想與觀點的便捷途徑,越來越多的用戶也逐漸習慣于在線上社交圈中分享個人的日常觀點和情感信息。這些社交用戶發(fā)布的內容可以作為重要的觀點和情感信息來源,對輿情發(fā)現(xiàn)、用戶反饋、觀點挖掘、情感分析等領域具有重要的意義[2]。例如,在線上購物網(wǎng)站中,通過對顧客商品評論的挖掘和分析,能夠幫助賣家改善服務和商品質量,商品的評論信息也能夠幫助其他顧客挑選合適的產品[3]。政府部門同樣可以通過收集公眾的意見信息,更好地了解公眾訴求,并采取積極有效的措施來應對特定的事件。從眾多商品評論和社交數(shù)據(jù)中提取觀點和情感信息的過程是復雜的,因此研究者開始關注如何于從海量文本數(shù)據(jù)中自動提取情感極性和細粒度的類別信息[4-5]。
文本情感分類方法依賴于從文本信息中提取或構造文本的特征表示,目前常用的文本表示方法可以大致分為兩類:基于統(tǒng)計的文本表示方法[6]和基于神經(jīng)網(wǎng)絡的文本表示方法[7]。前者通常按照傳統(tǒng)的文本處理流程,利用文本的統(tǒng)計信息設計文本特征,這類方法最大的優(yōu)點在于符合人類語言學的語法規(guī)則,易于理解;但是這種方法提取的特征難以消除句子歧義,也會受到數(shù)據(jù)稀疏問題的影響。后者則是通過訓練神經(jīng)網(wǎng)絡,學習以固定維度的連續(xù)變量作為詞語的分布式表示。這類方法解決了維度爆炸的問題,并且神經(jīng)網(wǎng)絡模型訓練得到的中間層參數(shù)就可以作為每個詞的向量表示。近年來,此類方法在多種文本分析任務上取得了出色的表現(xiàn),在文本處理領域廣受歡迎;但是此類方法依賴于詞語的共現(xiàn)性,需要龐大的語料庫進行預訓練,硬件成本較高。
上述的兩種文本表示方法已被廣泛應用于句子、段落、文檔等其他長文本類型,但是這些方法并不適用于社交媒體中普遍存在的短文本。與段落或文檔不同的是,短文本并不總是遵循自然語言的語法規(guī)則,通常會帶有多義詞和錯字,這對正確理解文本語義帶來了巨大的挑戰(zhàn)。尤其是在許多社交媒體應用場景中,為了提高信息發(fā)布和傳播的速度,通常會對用戶單次發(fā)布的文本長度進行限制,例如新浪微博和推特平臺限制每條微博或推文長度在140字以內。而在即時通信場景中,平臺本身雖然不會對文本長度進行限制,但是大多數(shù)用戶更傾向于用較短的語句表達自己的想法和觀點。由于缺少必要的上下文信息,長文本表示方法難以從短文本中提取正確的語義和情感信息。現(xiàn)有的短文本表示方法可以歸納為三類:1)直接應用長文本表示方法;2)利用概念知識庫信息作為補充,消除短文本歧義;3)采用主題建模方法,提取短文本的主題特征表示。
文獻[8-9]中處理短文本的方法都是基于外部信息源擴展的思想,作者認為概念化能力是人類所獨有的特征,人們能夠聯(lián)想到與文本中詞語相關的概念信息。例如,當提到“中國”一詞,人們在腦海中會關聯(lián)到與之相關的概念“國家或地區(qū)”。當提到“中國”和“印度”時,則會聯(lián)想到“亞洲國家”或“發(fā)展中國家”。因此通過在概念知識庫中查詢實體名詞的概念信息,能夠輔助理解短文本的語義。
但是Chen 等[10]指出概念知識擴展的方法具有兩個固有的問題。首先概念知識庫的信息是有限的,很難確保所有的實體名詞都能夠查詢到對應的概念信息,尤其對于一些罕見的實體名詞。另外一點則是當短文本中不含有任何實體名詞時,概念化方法則會失效?;谶@些考慮,本文沒有選擇概念化的方法來擴展短文本特征,而是采用主題建模方法。
主題建模方法是以無監(jiān)督學習的方式對文檔中潛在的語義結構進行統(tǒng)計的模型,它通常假設每個文檔是由多種主題混合而成,而每一種主題則對應著一種詞語的概率分布。經(jīng)典的主題建模方法隱式狄利克雷模型(Latent Dirichlet Allocation,LDA)正是使用狄利克雷先驗來處理文檔-主題和單詞-主題的分布,從而使得模型具有更好的泛化能力。但是,傳統(tǒng)的主題建模方法需要采用變分推斷、平均場方法、馬爾可夫-蒙特卡洛或吉布斯采樣方法來估算后驗分布。當這些方法應用在新的主題模型時,即使模型假設只發(fā)生細微的改變也需要重新進行完整的推斷過程,并且這個過程需要大量的數(shù)學推導,限制了主題模型的拓展能力。
Kingma 等[11]首次提出了融合自編碼器和貝葉斯推斷的變分自編碼器(Variational Auto-Encoding,VAE),通過訓練推斷網(wǎng)絡直接從文檔中學習后驗分布的參數(shù),而不需要復雜的數(shù)學推導。這個推斷網(wǎng)絡能夠模擬概率推理的過程,也為神經(jīng)網(wǎng)絡模型提供了很好的可解釋性。隨后Miao 等[12]提出了適用于文本處理的神經(jīng)變分文檔模型(Neural Variational Document Model,NVDM),能夠提取文檔隱含的連續(xù)語義特征表示。Srivastava 等[13]則繼續(xù)將神經(jīng)網(wǎng)絡的變分推斷功能擴展到經(jīng)典的LDA模型中。
上述的研究工作都是使用變分自編碼器來學習文檔的后驗分布,而自生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)[14]在諸多任務中展現(xiàn)出強大的生成和判別能力后,Mescheder 等[15]首次提出了融合GAN 和VAE 的對抗變分貝葉斯(Adversarial Variational Bayes,AVB)模型,他們認為VAE在圖像生成任務中生成模糊圖片的原因是推斷模型不能正確地捕捉到真實的后驗分布。因此,額外的判別器被添加到變分自編碼器中來評判學習到的后驗概率和真實的后驗分布之間的差距。Wang等[16]也進行了相似的改進工作,他們基于GAN 的結構,從狄利克雷分布中采集噪聲輸入到生成器中期望產生真實文檔的詞頻-逆文檔頻率(Term Frequency-Inverse Document Frequency,TF-IDF)特征表示。
雖然AVB 模型通過推斷模型和判別器的博弈過程,能夠更好地學習到數(shù)據(jù)的后驗分布,但是它的對抗學習過程是基于GAN 的思想,同樣存在著與GAN 相似的問題。GAN 在訓練過程中經(jīng)常難以收斂,模型參數(shù)會產生劇烈的震蕩。Arjovsky 等[17-18]指出GAN 的問題在于判別器的損失值難以指導訓練的進程,需要小心地平衡生成器和判別器的訓練程度。此外,在短文本分類任務中,主題模型通常僅作為特征提取器,以文本的詞袋(Bag of Words,BoW)表示為輸入,向分類模型中輸送短文本的主題特征,兩個模型的訓練過程通常是分開進行的。因此,本文基于AVB 模型提出了端到端的短文本情感分類模型——AVBC(Adversarial Variational Bayes Classifier)。首先通過引入譜規(guī)范化技術[19]穩(wěn)定AVB 的訓練過程,再添加分類模型實現(xiàn)從主題特征提取到分類的端到端過程,并且分類模型的輸出同樣用于指導推斷模型的訓練。本文發(fā)現(xiàn)傳統(tǒng)的主題模型通常僅僅以提取的主題特征作為文本的表示,并沒有充分利用預訓練詞向量的優(yōu)點。因此在本文提出的AVBC 模型中,分類模型以主題特征和預訓練詞向量作為輸入,通過多層的注意力機制融合兩種文本表示方法,共同作為情感分類的語義特征。
本文的主要貢獻有三點:1)為了解決AVB 模型在訓練過程中存在的震蕩問題,本文引入了譜規(guī)范化技術來穩(wěn)定AVB模型的訓練過程;2)本文提出了AVBC 模型,實現(xiàn)了從主題建模到情感分類的端到端過程,其中分類模型能夠輔助推斷網(wǎng)絡更好地生成用于下游分類任務的主題表示;3)AVBC 模型利用多層的注意力機制融合了主題特征和預訓練詞向量特征兩種文本表示方法,更好地提取短文本的語義特征用于下游情感分類任務。
正文內容使用神經(jīng)網(wǎng)絡實現(xiàn)對短文本的主題建模是本文的主要工作之一,因此本章將簡單回顧VAE 和AVB 模型相關的背景知識以更好地介紹本文的改進工作。假設樣本x是由某種隨機過程產生的,并且這個生成過程涉及無法被觀測的隱變量z。這個生成過程包含兩步:1)從隱變量先驗分布P(z)中產生一個隱變量z;2)從條件分布Pθ(x|z)中生成數(shù)據(jù)。隱變量的先驗分布通常難以被觀測,只能通過已有的樣本集合來估測其后驗分布,VAE正是利用編碼器從樣本數(shù)據(jù)中推斷近似的隱變量后驗分布qφ(z|x),再利用解碼器從近似的隱變量分布中采樣生成樣本數(shù)據(jù)。每個樣本的邊際似然可以表示為:
式(1)中的右邊部分也被稱為變分下界或證據(jù)下界(Evidence Lower BOund,ELBO),它能保證樣本的邊際似然概率始終大于ELBO,因此在使用最大似然求解參數(shù)φ和θ時,可以通過最大化變分下界來實現(xiàn):
其中PD是樣本的分布。通常變分下界的質量依賴于推斷模型近似的后驗分布qθ(z|x),在VAE 和NVDM 模型中都是假設其是一個滿足對角方差矩陣的正態(tài)分布,它的平均值μ和方差σ2都可以通過向推斷模型中輸入樣本得到,如圖1所示。
圖1 VAE模型結構示例Fig.1 Structure of VAE model
VAE模型首先使用編碼器從輸入樣本中學習隱變量的后驗分布參數(shù)平均值μ和方差σ2,再從該分布中采樣得到隱變量z。由于采樣操作是不可導的,因此文獻[12]中提出了重參數(shù)化技巧,將從正態(tài)分布z~N(μ,σ2)中采樣的過程替換為從標準正態(tài)分布中采集噪聲ε,再利用參數(shù)變換z=μ+ε×σ得到隱變量。重參數(shù)化的變換使得采樣過程可導,進而使得模型得以訓練。AVB模型則是在VAE的基礎上將目標函數(shù)優(yōu)化重寫為:
AVB 的核心思想在于訓練一個判別器T(x,z)來度量先驗分布P(z)和后驗分布之間qφ(z|x)的距離,因此確定后驗分布后,判別器的訓練目標即是:
其中,σ表示邏輯回歸(sigmoid)激活函數(shù)。通過訓練,分類模型T能夠對來自于目標分布PD(x)P(z)的數(shù)值對(x,z)給出較小的實數(shù)值;相反的,對于來自于推斷模型的組合PD(x)qφ(z|x)返回較大的數(shù)值。AVB 模型中推斷模型和判別器的對抗訓練是基于GAN 模型的思想,因此當固定后驗分布和條件分布時,判別器的最優(yōu)解是:
將判別器的最優(yōu)解代入到原目標函數(shù)式(3)中,可以得到推斷模型和生成模型的目標函數(shù)為:
因此,通過式(4)和(6)不斷迭代訓練判別器、推斷模型和生成模型,AVB 模型最終將達到納什均衡。VAE 和AVB 的目的很相似,都是希望構建一個從隱變量分布到目標數(shù)據(jù)的生成模型,它們都是在進行概率分布之間的轉換。為了訓練這個模型,首先需要度量這兩種分布之間的距離。從VAE 和AVB 的目標函數(shù)可以看到,VAE 使用KL 散度(Kullback-Leibler Divergence)來直接度量估計的后驗分布和先驗分布之間的距離,而AVB 則是利用神經(jīng)網(wǎng)絡訓練一個判別器來度量二者之間的距離,當AVB的判別器達到最優(yōu)時,將近似于KL散度。
AVB模型通過引入GAN的對抗訓練思想解決了VAE無法捕捉真實后驗分布的問題,但是對抗訓練的過程中判別器的梯度會產生劇烈的震蕩,給模型的訓練帶來了不穩(wěn)定性。在對抗模型中,生成器的更新依賴于從判別器向后傳遞的梯度,收斂過快的判別器傳遞的梯度將很小,使得生成器不能有效更新,而收斂過慢的判別器則不能正確地指導生成器的優(yōu)化方向。
此外,在文本處理領域,VAE 和AVB 這些無監(jiān)督的模型雖然可以提取文本的主題特征,但是通常是作為特征提取器為下游的分類任務輸送特征,這個過程需要分布進行?;谥黝}建模的短文本分類方法通常以詞頻(Term Frequency,TF)、BoW、或TF-ID 表示的文本統(tǒng)計特征作為輸入,忽略了預訓練詞向量的作用,因此本文提出使用譜規(guī)范化技術穩(wěn)定AVB 中判別器的訓練,引入分類模型以推斷模型提取的主題特征和預訓練詞向量特征作為輸入,利用多級注意力對二者進行融合,同時分類模型也會參與指導推斷模型和生成模型的訓練,最終實現(xiàn)更精準的短文本情感分類。
本文提出的AVBC模型整體結構如圖2所示,該模型由推斷模型、生成模型、評分模型和分類模型這4 個子模型組成。推斷模型采用AVB 中方法,以dx維原始數(shù)據(jù)x和服從標準正態(tài)分布的dε維噪聲ε作為輸入,學習隱變量的后驗分布qφ(z|x,ε),輸出推斷得到的dz維隱變量z。在文本處理領域,主題模型通常以BoW作為文本的特征表示,而本文使用TF作為文本表示,因為推斷模型是從文檔-詞的概率分布中學習文檔-主題分布,使用詞頻能夠更好地表示文檔-詞特征,但是本文并未選擇TF-IDF,因為它不符合文檔之間相互獨立的假設。關于BoW、TF、TF-IDF 三種統(tǒng)計文本表示對模型的影響,將在后續(xù)的實驗部分展開定量的分析和對比。
圖2 AVBC模型框架Fig.2 Framework of AVBC model
生成器則以隱變量作為輸入,最大化似然概率Pθ(x|z),期望生成原始數(shù)據(jù)。本文取消判別器的最后一個非線性激活層,使得判別器轉變?yōu)槟軌驅W習后驗分布和先驗分布距離r∈[-∞,+∞]的評分器。為了在提取文本主題特征的同時實現(xiàn)對短文本的情感分類,AVBC 模型中添加了一個以雙向長短期記憶(Bi-directional Long Short-Term Memory,BiLSTM)網(wǎng)絡為基礎構成的分類模型,它以主題特征和dv維詞向量特征v為輸入,輸出文本對應的預測情感類別y。
首先為了解決AVB 模型在訓練過程中判別器震蕩的問題,判別器取消了最后一個非線性激活層,期望作為評分器輸出后驗分布與先驗分布的瓦瑟斯坦(Wasserstein)距離,而非GAN 中對于輸入真假數(shù)據(jù)的判斷。此時評分器的目標函數(shù)式(4)將改變?yōu)椋?/p>
GAN 中判別器不穩(wěn)定的問題在文獻[17]中得到了充分的解釋和討論,給出的解決方法是對判別器權重進行約束,使得其滿足k-利普希茨(k-Lipschitz)約束條件:
通過式(8)的約束能夠保證判別器函數(shù)梯度的變化速率始終控制在常數(shù)值k的范圍內,從而確保判別器在更新過程中的穩(wěn)定性。因此,如何使得判別器滿足利普希茨約束是實現(xiàn)判別器穩(wěn)定更新的關鍵。文獻[17]中給出的方法是通過對判別器權重的修剪實現(xiàn)的,梯度修剪是在判別器每一次更新后,將所有的神經(jīng)網(wǎng)絡參數(shù)修剪到固定區(qū)間,通常是[-1,1],這種方法雖然簡單,但是會使得大部分的參數(shù)被局限在-1 或1,導致判別器對生成器的變化不再敏感,進而引起模式崩塌問題。文獻[18]中則在此基礎上提出不使用強制性的參數(shù)修剪,而是在判別器損失函數(shù)上添加對其梯度的懲罰項進行約束。本文選用的則是文獻[19]中提出的譜規(guī)范化技術,通過約束AVBC 中評分器參數(shù)的譜范數(shù)來實現(xiàn)利普希茨約束。對于給定的矩陣A,其譜范數(shù)為:
從式(9)可以看到,矩陣的譜范數(shù)約束了矩陣操作的變化范圍,因此函數(shù)f(x)=Ax/σ(A)是滿足于1-Lipschitz 約束條件的。對于僅由全連接層Wi和線性整流(Rectified Linear Unit,ReLU)函數(shù)Ri的評分器T,Ri可以看作是局部線性的,且已經(jīng)滿足1-Lipschitz 約束條件,所以只要對每一個全連接層進行譜規(guī)范化處理,則能夠保證評分器整體滿足1-Lipschitz 約束條件,方法如下式所示:
在傳統(tǒng)的文本主題分類模型中,主題模型只作為特征提取器,經(jīng)過預先的訓練后提取主題特征,向下游的分類模型中提供輸入數(shù)據(jù)。此外上游的主題模型和下游的分類模型通常任務目標不同,二者獨立存在,因此本文提出在AVB 基礎上添加分類模型與推斷模型相連,推斷模型為分類模型提供主題特征輸入,分類模型的預測結果將輔助推斷模型產生具有區(qū)分性的主題特征,二者共同訓練,實現(xiàn)了從主題推斷到文本分類的端到端學習。
本文的分類模型結構設計如圖3 所示,該分類器以推斷模型提取的隱變量即主題特征z和預訓練模型提取的dv×t文本詞向量特征v={v1,v2,…,vt}作為輸入,其中t為文本詞語數(shù)量,dv為詞向量嵌入特征維度。為了融合主題特征和詞向量特征,本文在不同階段使用了三次注意力機制進行融合。
圖3 AVBC中分類模型結構Fig.3 Structure of classifier in AVBC
文本的詞向量特征首先被輸入到隱藏單元數(shù)量為dh的BiLSTM 中,提取前向和后向隱藏狀態(tài)提取的2dh×t時序特征h=[h1:t;ht:1]。第一次的注意力融合使用vanilla 注意力[20],通過計算主題特征與每個2dh維隱藏狀態(tài)特征hi的相似性,對隱藏狀態(tài)特征賦予權重αi,也即是根據(jù)推斷模型提取的主題特征計算每個隱藏狀態(tài)的重要程度:
其中,形狀為da×(2dh+dz)的矩陣W1和da維向量W2都是不帶偏置的全連接層權重矩陣,da為超參數(shù)。本文在3次計算注意力權重過程中并沒有按照傳統(tǒng)的方法,使用softmax 激活函數(shù)對所有的權重進行歸一化處理,而是仿照壓縮激勵模型(Squeeze-and-Excitation Network,SENet)[21]中利用sigmoid 函數(shù)直接計算權重。因此在計算每個隱藏狀態(tài)特征的t維權重向量attn1=[α1;α2;…;αt]后,通過矩陣乘法得到第1次注意力融合后的2dh維特征s1。第1次注意力融合的特征利用主題特征作為查詢向量,更加關注于與主題相關的上下文特征。
第2 次的注意力權重計算則是利用隱藏狀態(tài)特征計算自注意力,即利用文本特征的上下文時序特征計算重要程度。自注意力機制被廣泛應用于自動翻譯領域[22],本文選擇的自注意力計算方法則是使用Lin 等[23]提出的source2token 自注意力機制。如下式所示:
相似的,da×2dh維矩陣W3和da維W4都是不帶偏置的全連接層權重矩陣,通過計算可得到第2 次注意力t維權重attn2=[β1;β2;…;βt],同樣經(jīng)過矩陣乘法運算得到融合后的2dh維特征s2=attn2hT。第2次注意力融合后的特征利用文本特征自身的時序特征,消除無意義詞匯的干擾,更加關注于與語義相關的上下文特征。
第3 次的注意力融合同樣是基于vanilla 注意力,利用主題特征作為查詢向量,以詞向量特征作為鍵值向量,計算方式如下所示:
利用第3次注意力權重集合attn3對詞向量特征進行加權求和,得到融合后的dv維特征s3=attn3hT。第3 次的注意力融合是利用主題特征直接對詞向量進行選擇,計算每個詞語與主題的相關性。
在獲得3 次注意力融合后的語義特征后,需要進一步融合這3 種特征用于預測類別目標。本文通過實驗選擇的融合方式如下所示:
首先,第1次和第2次注意力融合的特征經(jīng)過逐元素加法進行相加,因為它們都是從隱藏狀態(tài)特征上提取的,分別表示著與主題特征和上下文特征的重要性,相加后能夠綜合表示每一個時刻隱藏狀態(tài)的重要程度。s3經(jīng)過線性映射放縮后和s1+s2經(jīng)過拼接操作融合成最終的4dh維語義特征s。最后,融合了從主題到上下文、從主題到詞向量特征以及上下文自注意力的語義特征被輸入到全連接網(wǎng)絡中,以softmax 激活函數(shù)輸出對情感類別的預測P(y|s),如下式所示:
在本文提出的AVBC 模型中,推斷模型、生成模型、評分模型和分類模型這4 個模型互相協(xié)作,共同訓練以實現(xiàn)從主題建模到情感分類的端到端模型,它的實現(xiàn)依賴于協(xié)調每個模型的訓練過程。額外添加的分類器除了實現(xiàn)融合主題特征和詞向量特征外,還用于指導推斷模型的更新方向,期望主題特征能夠更加適合于分類任務。因此本文修改了推斷模型的原目標函數(shù)式(6)為:
其中:Pω(y|z,v)為分類模型的預測輸出,ω表示分類模型的參數(shù),使用交叉熵P(y)lnPω(y|z,v)作為分類模型的損失函數(shù),同時分類模型的結果也用于更新推斷模型的參數(shù),使用懲罰項系數(shù)λ來調節(jié)推斷模型目標函數(shù)的效果。
為了實現(xiàn)不同模型的共同訓練,本文通過賦予不同的學習率來調節(jié)每個模型的訓練進程。調節(jié)模型的訓練進行方法還可以通過多步訓練的方式,尤其是在GAN 的對抗訓練中,判別器的性能直接影響到生成器的效果。然而判別器的收斂通常比生成器慢,所以在文獻[19]中,作者提出在迭代訓練時每更新判別器k次再訓練一次生成器。多次訓練判別器可以通過賦予較大的學習率來實現(xiàn),并且本文發(fā)現(xiàn)AVBC 模型中分類模型的收斂速度過快,需要使用更小的學習率。因此在訓練過程中固定評分模型的學習率為lr,推斷模型和生成模型的學習率為0.1×lr,分類模型的學習率則為0.01×lr,四個模型都使用RMSProp(Root Mean Square Prop)優(yōu)化器。AVBC 模型的訓練步驟如下所示:
步驟1 從樣本數(shù)據(jù)、先驗分布和標準正態(tài)分布中分別采樣n次構成樣本集合、隱變量集合與噪聲集合;
步驟2 利用式(17)計算推斷模型的損失值,利用式(6)計算生成器損失值,按照式(4)計算判別器損失值,最后利用交叉熵計算分類器損失值;
步驟3 依照模型各部分損失值,計算梯度并利用優(yōu)化器更新模型參數(shù);
步驟4 重復步驟1~3直到模型收斂。
在本章中,將通過實驗來展示改進模型的效果和性能,從定性和定量兩方面對其展開分析。所有實驗代碼使用Python3.6 編寫,深度學習框架選用PyTorch1.3.0,機器學習方法使用Scikit-learn0.21.3 提供的API。實驗平臺為Ubuntu 18.04 操作系統(tǒng),使用Intel Core i9-9900K CPU@3.6 GHz×16處理器和GeForce RTX 2080 GPU用于加速模型訓練。
本文的研究工作主要針對于短文本的情感分類任務,為了檢驗模型的分類效果,選用3 個采集自真實應用環(huán)境中的數(shù)據(jù)集。
NLPCC2013 來自于2013 年國際自然語言處理和中文計 算 會 議(Natural Language Processing and Chinese Computing,NLPCC)的中文微博情感分析任務,用于從中文微博短文本數(shù)據(jù)中識別情感的細粒度類別,包括憤怒、厭惡、悲傷、恐懼、驚訝、喜歡和高興這7個類別。
NLPCC2014 來自于2014 年NLPCC 會議的中文微博文本情感分析任務,同樣是從微博短文本中識別細粒度的情感類別,共有7類。
Product Review 來自于2014 年NLPCC 會議的深度學習情感分類任務,用于從商品評論數(shù)據(jù)中提取消極和積極兩種情感極性信息。
實驗參考文獻[10]的設置對原始數(shù)據(jù)進行預處理,并且所有的數(shù)據(jù)集按照80%、10%、10%的比例劃分訓練、驗證和測試集。本文選用HanLP(Han Language Processing)作為分詞工具,與文獻[10]中使用搜狗語料庫訓練詞向量模型不同的是,本文使用Li 等[24]提供的預訓練模型??紤]到本文的測試數(shù)據(jù)集多是來自于微博平臺,因此選用在微博語料庫上預訓練的300 維詞向量模型。經(jīng)過預處理后的數(shù)據(jù)集信息如表1所示,前兩個數(shù)據(jù)集統(tǒng)一每條短文本詞語數(shù)量為20,最后一個數(shù)據(jù)集設置詞語數(shù)量為40。
表1 數(shù)據(jù)集統(tǒng)計信息Tab.1 Statistics of three datasets
為了檢驗AVBC 模型提取的主題特征在分類任務上的表現(xiàn),本文利用3 種常用的分類器:支持向量機(Support Vector Machine,SVM)、K近鄰(K-Nearest Neighbor,KNN)、決策樹(Decision Tree,DT)的分類準確度作為評判指標。直接調用SciKit-Learn 模塊實現(xiàn)這3 種算法,所有參數(shù)使用默認設置。用于對比的主題模型如下所示。
LDA 經(jīng)典的主題模型,基于狄利克雷先驗分布,利用詞語在文檔中的共現(xiàn)性產生主題的詞分布;
VAE 首個結合了自編碼器和變分推斷的神經(jīng)網(wǎng)絡模型,利用神經(jīng)網(wǎng)絡學習后驗分布的參數(shù),再結合重參數(shù)化技巧采集隱變量生成原始數(shù)據(jù);
ProdLDA(Products Latent Dirichlet Allocation) 在VAE的基礎上將先驗分布的假設由多元正態(tài)分布替換為對數(shù)正態(tài)分布,更加符合LDA 中的先驗假設,代碼的實現(xiàn)來自于GitHub平臺分享;
AVB 首次提出使用對抗博弈的方式來訓練變分自編碼器,訓練判別器識別隱變量先驗分布和推斷模型后驗分布的差距,指導推斷模型和生成模型的更新,代碼實現(xiàn)同樣來自于GitHub平臺分享。
除以上4 個對比模型外,本文還在相同設置下使用無監(jiān)督訓練的AVBC-無監(jiān)督作為對比,它只使用譜規(guī)范化等技術優(yōu)化評分模型,分類模型不參與指導推斷模型的更新。所有基于神經(jīng)網(wǎng)絡的主題模型統(tǒng)一學習率為0.01,訓練次數(shù)為50,隱變量數(shù)量為10,在Product Review 數(shù)據(jù)集上的實驗對比結果如表2所示。
表2 主題特征分類效果對比Tab.2 Comparison of topic feature classification effect
從實驗結果可以看到,沒有分類模型參與推斷模型訓練的AVBC 在多數(shù)情況下能夠取得較好的分類結果,但是使用BoW 表示文本特征的LDA 模型在SVM 分類器上取得了無監(jiān)督主題模型中最好的結果。當分類模型參與指導推斷模型的更新時,提取的主題特征在3 種分類器上的結果均獲得了大幅的提升。這個實驗不僅對比了不同模型提取的主題特征在分類任務上的表現(xiàn),還比較了使用BoW、TF 和TF-IDF 作為主題模型輸入的效果。可以看到,使用TF表示的文本特征在本文提出的AVBC 模型上能夠取得最好的結果,因此在后續(xù)實驗對比中使用TF特征作為輸入。
在本文提出的AVBC 模型中,分類模型以主題特征和詞向量特征共同作為輸入,利用三次不同階段的注意力融合兩種輸入特征,提取最終的語義特征用于分類。本文并未采用softmax激活函數(shù)歸一化注意力權重,而是直接使用sigmoid激活函數(shù)將注意力權重映射到[0,1]區(qū)間內,即允許注意力權重的累加和超過1。為了更好地可視化注意力權重,從AVBC 中輸出的注意力權重將使用極大極小歸一化(Min Max Scaler)進行縮放,如圖4所示。
上下兩個熱力圖分別表示Product Review 數(shù)據(jù)集中消極和積極樣本的示例,熱力圖的每一列表示樣本中的一個詞語,第1、2、4 行分別對應三次計算獲得的注意力權重系數(shù)α、β和γ,第3 行則表示前兩次注意力逐元素相加的結果。從圖4 中可以看到,三次注意力權重大多聚焦在與目標情感類別相關的詞語上,這也證明了本文注意力計算方法的有效性。
圖4 注意力權重可視化Fig.4 Visualization of attention weights
本文主要的研究目標是實現(xiàn)對短文本的情感分類,所以本文利用3 個情感相關的數(shù)據(jù)集進行驗證。對比方法選用的是在文本分類領域常用的幾種深度學習方法。
TextCNN(Text Convolution Neural Network):Kim[25]首次提出了使用卷積神經(jīng)網(wǎng)絡在預訓練詞向量特征上提取文本特征,是文本分類領域常用的基準方法;
BiLSTM:利用雙向的LSTM 結構學習文本前向和后向的時序特征,能夠更好地從文本中提取上下文關系;
BiLSTM-MP(BiLSTM-Max Pooling):Lee 等[26]提出的這個模型是用于短文本的序列分類任務,在BiLSTM的基礎上學習文本的雙向時序特征,使用最大池化層在所有的隱藏狀態(tài)上提取句子的特征,再利用多個全連接層實現(xiàn)短文本的分類;
BiLSTM-SA(BiLSTM-Self Attention):使用最大池化層提取句子特征的方法會忽略掉重要的細節(jié)信息,因此該模型對所有的隱藏狀態(tài)計算注意力權重,利用加權累加后的結果作為句子特征。
TextCNN方法的學習率固定為0.01,訓練次數(shù)為50,另外3 種以BiLSTM 為基礎的模型則固定學習率為1×10-4,在Product Review、NLPCC2013、NLPCC2014這3個數(shù)據(jù)集上的訓練次數(shù)依次為50,100 和200。本文提出的AVBC 模型固定學習率為0.01,訓練次數(shù)依次為50,50 和100,式(17)中的懲罰項超參數(shù)λ分別設置為1、0.15和0.1,固定主題數(shù)量為10,噪聲維度為4,實驗對比結果如表3所示。
從表3 的實驗結果可以發(fā)現(xiàn),本文提出的AVBC 模型在3個數(shù)據(jù)集上都取得了最好的分類準確度,這證明了本文算法在短文本情感分類任務上的有效性。本文實驗中所有方法的效果均優(yōu)于文獻[10]中的實驗結果,甚至包括幾種常用的基準方法,這主要的原因是因為該文獻中使用的是搜狗語料庫訓練的50 維詞向量特征,而本文的詞向量選用的是微博語料庫訓練的300 維詞向量特征,這也說明了融合預訓練詞向量特征對短文本分類的重要性。
表3 分類準確度對比Tab.3 Comparison of classification accuracy
為了解決短文本情感分類任務中存在的數(shù)據(jù)稀疏和信息匱乏的問題,本文提出了基于對抗變分貝葉斯模型的AVBC模型,利用譜規(guī)范化技術解決判別器在訓練過程中的震蕩問題,引入分類模型實現(xiàn)從主題建模到情感分類的端到端學習過程,并利用分類結果指導推斷模型的更新以提取更有助于下游分類任務的主題特征。此外,AVBC 的分類模型以主題特征和預訓練詞向量特征共同作為輸入,利用三次不同階段的注意力融合輸入特征,提取最終的文檔表示用于情感分類。在三個真實環(huán)境采集的社交文本數(shù)據(jù)集上的驗證效果可以證明,本文提出的AVBC 模型在短文本情感任務上能夠取得出色的表現(xiàn)。
然而,AVBC 模型中各部分模型的共同訓練依賴于自定義的學習率設置,需要平衡各部分模型的訓練速度。分類模型的引入雖然證明了具有指導推斷模型訓練的作用,但是懲罰項系數(shù)的選擇影響著模型的整體訓練效果。在未來的工作中,將嘗試研究如何以自適應的方法動態(tài)調整模型的訓練過程,更好地實現(xiàn)各部分模型的協(xié)作和共同訓練。此外,在單一文本模態(tài)的信息不足以準確預測情感類別時,可以考慮融合其他模態(tài)的信息進行補充。因此,多模態(tài)情感分析工作將作為后續(xù)研究的工作重點。