薛 濤
(運(yùn)城師范高等專(zhuān)科學(xué)校 數(shù)計(jì)系,山西 運(yùn)城 044000)
人們通過(guò)社交平臺(tái)來(lái)表達(dá)感受、情緒和態(tài)度,社交平臺(tái)的帖子中通常包含豐富的信息,因此社交媒體成為熱門(mén)研究對(duì)象。其中,情感分析是最基本且關(guān)鍵的研究主題之一[1-3]。情感分析的目的是分析社交媒體的極性,以判斷人們對(duì)某些事件所持有的正面、負(fù)面或中性態(tài)度[4-5]。有研究者提出將社交媒體中的表情符號(hào)應(yīng)用于情感極性預(yù)測(cè),目前大多數(shù)現(xiàn)有的方法不僅依賴于手工特征,還分別考慮了表情符號(hào)和純文本的情感,但并沒(méi)有充分探索表情符號(hào)對(duì)文本情感極性的影響。表情符號(hào)在純文本的情感極性中起著重要作用,對(duì)于情感原本是中性的純文本,在純文本后添加開(kāi)心或沮喪的表情會(huì)使帖子表達(dá)不同的情緒極性。
本研究提出了一種深度學(xué)習(xí)模型,結(jié)合表情符號(hào)對(duì)文本情感極性的影響以進(jìn)行情感分析。該模型使用雙向長(zhǎng)短期記憶模型來(lái)構(gòu)建社交平臺(tái)帖子的表示,使用注意力模型計(jì)算每個(gè)單詞的權(quán)重。研究的主要貢獻(xiàn)有兩點(diǎn):首先建立了帶有表情符號(hào)、包含超過(guò)1 萬(wàn)條帖子的語(yǔ)料庫(kù);其次,聯(lián)合訓(xùn)練微博帖子中的表情符號(hào)和單詞,獲得包含其上下文信息的表情符號(hào)表示。
大多數(shù)現(xiàn)有的情感分析語(yǔ)料庫(kù)僅包含一小部分帶有表情符號(hào)的內(nèi)容,這些語(yǔ)料庫(kù)并不適用于基于表情符號(hào)的情感分析。因此,需要收集和注釋帶有表情符號(hào)的文本。
由新浪微博收集了250 000 條微博帖子,從中提取了85 000 條包含表情符號(hào)的帖子。根據(jù)每個(gè)表情符號(hào)的出現(xiàn)次數(shù),對(duì)微博帖子進(jìn)行排名,并選擇至少出現(xiàn)10 次的表情符號(hào)集。用表情符號(hào)分割每條微博帖子,選擇只包含一個(gè)表情符號(hào)的微博帖子,并過(guò)濾掉帖子中的URL、用戶名和主題標(biāo)簽以清理數(shù)據(jù),并選擇至少出現(xiàn)10 次的表情符號(hào)集。用表情符號(hào)分割每條微博帖子,并保留長(zhǎng)度大于5 的微博帖子。在篩選出的35 000 條微博帖子中,隨機(jī)抽取了18 000 條微博帖子進(jìn)行下一步標(biāo)記,并使用Jieba 中文文本分詞工具進(jìn)行分詞。
采用手工標(biāo)注的方式來(lái)構(gòu)建語(yǔ)料庫(kù)。情感極性分為正面、中性和負(fù)面,分別用0、1、2 表示。首先,僅根據(jù)文本來(lái)判斷每個(gè)帖子的極性,即從文本中刪除表情符號(hào),僅使用每條微博帖子的純文本來(lái)確定帖子的極性;然后,結(jié)合文本和表情符號(hào)來(lái)確定每個(gè)帖子的極性。語(yǔ)料庫(kù)的極性結(jié)果見(jiàn)表1。
表1 語(yǔ)料庫(kù)的極性Tab.1 Corpus polarity %
由此可見(jiàn),表情符號(hào)的出現(xiàn)會(huì)改變帖子的情感極性。表2 展示了情感極性變化的社交帖子情況。
表2 情感極性變化的情況Tab.2 Changes of emotional polarity
本文提出的社交情感分析注意力模型結(jié)構(gòu)如圖1 所示。
圖1 情感分析模型Fig.1 Sentiment analysis model
應(yīng)用雙向長(zhǎng)短記憶(Bi-directional Long Short Term Memory,Bi-LSTM)模型學(xué)習(xí)句子的表征,將表征作為特征對(duì)情感的極性進(jìn)行分類(lèi)。本文使用PyTorach 來(lái)實(shí)現(xiàn)該模型,PyTorach 是一個(gè)基于Python 的深度學(xué)習(xí)框架。模型初始化過(guò)程如下:
LSTM 能捕獲序列中的長(zhǎng)距離依賴關(guān)系。一個(gè)LSTM模型由多個(gè)LSTM 單元組成,其中每個(gè)LSTM單元對(duì)神經(jīng)網(wǎng)絡(luò)中的記憶進(jìn)行建模。LSTM 單元包含的門(mén)結(jié)構(gòu)允許LSTM 存儲(chǔ)和訪問(wèn)隨時(shí)間變化的信息。給定一個(gè)包含詞wt的短文本,使用嵌入矩陣We將這些詞嵌入到向量xt=Wewt中,該向量的維度是d。Bi-LSTM 包含一個(gè)前向LSTM 以讀取從x1到xT的文本和一個(gè)后向LSTM 以讀取從xT到x1的文本,即:
Bi-LSTM 將每個(gè)詞wt映射到一對(duì)隱藏向量和中,那么一個(gè)詞可以表示為一對(duì)向量的串聯(lián),即ht=。因此,得到[h0,…,hT],然后將其輸入到平均池化層以獲得句子的表示s。
為了表明表情符號(hào)對(duì)文本情感極性的影響,提出了一種基于表情符號(hào)的注意力機(jī)制。給定一個(gè)微博帖子,每個(gè)詞對(duì)情感極性的貢獻(xiàn)是不一樣的,表情符號(hào)的交互權(quán)重也不均等。EA 機(jī)制結(jié)合單詞和表情符號(hào)來(lái)衡量微博帖子中單詞的權(quán)重。
在微博帖子{w1,...,wT;E} 中,wi表示單詞,E表示表情符號(hào)。首先,wi和E都被轉(zhuǎn)換為向量表示,即xi和e。
聚合這些詞的表示以形成句子表示,句子表示s是隱藏狀態(tài)hi的加權(quán)和,即:
其中,權(quán)重ai用于衡量第i個(gè)詞的重要性,其計(jì)算方式為:
其中,函數(shù)f(·)表示單詞的重要性,函數(shù)f(·)的定義為:
其中,Wh、WE是可學(xué)習(xí)的參數(shù);vT表示v的轉(zhuǎn)置;b是偏置。
串聯(lián)了3 種類(lèi)型的特征,如下所示:
其中,和表示最后一步中前向和后向LSTM 的隱藏狀態(tài)。
訓(xùn)練的目標(biāo)是最小化交叉熵?fù)p失,在引入基于表情符號(hào)的注意力機(jī)制后,獲得了用于文本情感分析的特征lc。模型使用線性變換,將lc投影到C種類(lèi)別的目標(biāo)空間中:
之后,使用一個(gè)softmax 層來(lái)獲得微博帖子情感的概率分布:
其中,C是情感標(biāo)簽的數(shù)量,pc是情感標(biāo)簽c的預(yù)測(cè)概率。
softmax 層的python 實(shí)現(xiàn)如下所示:
設(shè)(d)是帖子的目標(biāo)分布,pc(d)是預(yù)測(cè)的情緒分布,D是微博帖子的集合。訓(xùn)練目標(biāo)是最小化集合D中的(d)和pc(d)之間的交叉熵?fù)p失,則損失函數(shù)定義為:
為了獲得單詞和表情符號(hào)的嵌入表示,使用word2vec.3 的SkipGram模式,對(duì)由350 萬(wàn)條微博組成的大規(guī)模語(yǔ)料庫(kù)上訓(xùn)練單詞和表情符號(hào)嵌入。
實(shí)驗(yàn)中使用5 重交叉驗(yàn)證。原始數(shù)據(jù)被隨機(jī)分成5 個(gè)相等的部分,其中4 個(gè)部分用于訓(xùn)練,第5 部分用于測(cè)試。從4 個(gè)訓(xùn)練部分中隨機(jī)選擇一個(gè)部分作為開(kāi)發(fā)集來(lái)調(diào)整超參數(shù)。分類(lèi)結(jié)果通過(guò)準(zhǔn)確度來(lái)衡量。準(zhǔn)確度定義為T(mén)/N,其中T表示預(yù)測(cè)的與真實(shí)情緒評(píng)級(jí)相同的情緒評(píng)級(jí)數(shù)量,N表示微博的總數(shù)量。由于多分類(lèi)中類(lèi)不平衡問(wèn)題,還使用了宏觀精度來(lái)進(jìn)行更公平的比較。
將詞嵌入和表情符號(hào)嵌入的維度設(shè)置為200。LSTM 單元中隱藏狀態(tài)和單元狀態(tài)的維度設(shè)置為100。在訓(xùn)練期間,使用Adadelta 作為優(yōu)化方法。訓(xùn)練的批次大小為16,動(dòng)量為0.9,初始學(xué)習(xí)率α為0.01。
為了評(píng)估本模型的性能,將其與E-only[6]、SVM、LSTM 和Bi-LSTM 等算法進(jìn)行了比較。其中,E-only 是僅使用表情符號(hào)來(lái)判斷情感的極性,Bi-LSTM 將微博帖子的文本和表情符號(hào)作為Bi-LSTM模型的輸入進(jìn)行情感分析,實(shí)驗(yàn)對(duì)比了各個(gè)模型的精度、召回率、F-度量和準(zhǔn)確度,表3 給出了所有模型進(jìn)行情感分析的實(shí)驗(yàn)結(jié)果。由于類(lèi)不平衡問(wèn)題,算法在中性極性的性能要遠(yuǎn)低于其它極性。
實(shí)驗(yàn)結(jié)果從表3 的結(jié)果可見(jiàn),由于模型利用了包括文本、表情符號(hào)特征,以及表情符號(hào)對(duì)文本的影響,本文模型表現(xiàn)最佳。這表明基于表情符號(hào)的注意力,可以有效地捕捉表情符號(hào)對(duì)文本情感極性的影響。此外,LSTM 優(yōu)于SVM,表明與具有稀疏指標(biāo)特征的離散模型相比,神經(jīng)網(wǎng)絡(luò)模型能更好地提取文本和表情符號(hào)特征。
表3 實(shí)驗(yàn)結(jié)果對(duì)比Tab.3 Comparison of experimental results
Bi-LSTM模型與本文模型對(duì)不同情感極性的準(zhǔn)確率比較,結(jié)果見(jiàn)表4。從中可以看出,在情感變化方面,本文模型在大多數(shù)情況下優(yōu)于Bi-LSTM模型。
表4 極性變化的準(zhǔn)確度對(duì)比Tab.4 Accuracy comparison of polarity changes
本研究設(shè)計(jì)并實(shí)現(xiàn)了基于注意力模型的情感分析模型。該模型考慮了表情符號(hào)對(duì)文本情感極性的影響。與現(xiàn)有的模型相比,本模型實(shí)現(xiàn)了較好的性能。未來(lái)的工作將在以下兩個(gè)方向上進(jìn)一步研究表情符號(hào)對(duì)短文本情感極性的影響。首先,將研究擴(kuò)展到其它類(lèi)型的短文本。其次,將采用其它神經(jīng)網(wǎng)絡(luò)模型以探索表情符號(hào)對(duì)文本的影響。