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