陳小敏 許華虎 方迪愷 肖俊生
(上海大學計算機工程與科學學院 上海 200444)
隨著互聯網技術的不斷發展,各種社交平臺蓬勃興起,越來越多的互聯網用戶在微博、Twitter、豆瓣等社交網站上分享生活經歷并參與討論社會熱點事件,社交網絡成為人們表達意見的重要平臺,從而產生了海量數據。對這些海量媒體數據進行有效的情感分析不僅對政府部門監控輿情,企業機構改進產品服務、定制營銷策略、預測市場趨勢具有重要作用,還有助于自動問答系統的個性化定制[1]。如何精準地開展情感分析成為當前學術界和工業界的迫切需求。
傳統的情感分析工作主要集中于文本,然而社交媒體用戶越來越多地使用額外的圖像來表達觀點并分享經驗,由于圖像包含更加豐富和直觀的內容,所以有時相比文本更能準確表達用戶的情感傾向,因此可以考慮結合圖像和文本進行跨模態情感分析來彌補單模態情感分析的不足。
文本情感分類方法主要分為兩種:基于情感詞典的方法和基于機器學習的方法[2]。基于情感詞典的方法原理為將要分類的文本與情感詞典中的內容進行匹配,找到與情感詞典中文本內容一致的情感詞,以確定文本的情感極性。陳國蘭[3]基于在線開源情感詞典和微博文本的語義規則,提出了微博文本的情感分類方法,對微博文本情感分類具有良好的適應性。李晨等[4]分析了新聞類文體的結構,并按段落劃分新聞類文本,采用一種基于情感詞典和語義規則特點相結合的情感關鍵句提取方法,對段落中句子進行情感分析并取得了良好的效果。基于情感詞典的方案雖然操作簡單,但由于語種繁多且語義多樣,因此需要消耗大量人力物力來構建情感詞典,同時基于情感詞典的方法還依賴手工設計與先驗知識,適用范圍較窄。基于機器學習的方法首先采集一個一定規模的訓練數據集,由人工或半人工方式對數據集中文本樣本進行情感標注,然后提取文本特征并將其輸入到機器學習模型中進行訓練。Pang等[5]使用三種機器學習方法樸素貝葉斯、最大熵和支持向量機對IMDB影評進行情感分類,得到了不錯的分類效果。Sharma等[6]將支持向量機作為基礎弱分類器,利用集成技術整合多個“弱”分類器,研究結果表明集成分類器在準確率上明顯優于單一的SVM分類器。唐曉波等[7]構建了基于AdaBoost集成技術和旋進原則的回歸SVM情感分類模型,不僅提高了主觀文本標注準確率,還實現了文本情感強度閾值的可視化。近年來,隨著深度學習在眾多領域中獲得關注,越來越多的學者開始使用深度學習方法進行情感分類。Kim[8]第一次使用簡單的單層卷積神經網絡做文本情感分類,并與多個模型進行對比,取得了較好的實驗結果。Dong等[9]基于循環神經網絡解決了句子中評價對象的情感極性判別問題。
圖像情感分析的研究起步較晚,其情感分類方法大致分為三種:基于情感檢測,基于視覺情感本體和基于深度學習[2]。Amencherla等[10]通過心理學理論中色彩與情感的相關性對圖像中的色彩進行檢測,用于圖像情感分析。Borth等[11]為了彌補圖像的低級特征和圖像所反映出的情感特征之間的差距,提出了基于視覺情感本體的圖像中層特征表示法。You等[12]提出基于卷積神經網絡的圖像情感分類方法,并且指出傳統的通過提取圖像低層特征和構造中層屬性的方法并不能高度抽象圖像,因此情感分類效果不如深度學習方法。
跨模態情感分類研究近幾年才受到大家的關注,相關研究較少,所以取得的成果相對較少。You等[12]提出了一種跨模態一致性回歸模型用于圖文融合情感分類。蔡國永等[13]則利用卷積神經網絡分別對文本和圖像進行情感預測,然后再將兩者結果進行后期融合,取得了較好的分類效果。針對前人跨模態情感分類研究中圖文特征表示忽略了重要特征的情感信息這一問題,本文提出一種基于注意力機制的TAI-CNN(Text And Image-Convolutional Neural Networks)跨模態情感分類方法,并在圖文特征融合上采用最大值后期融合策略。
詞嵌入即詞向量,也就是將文本用向量來表示。本文采用谷歌開源工具Word2vec并運用基于CBOW模型的方法訓練語料獲得文本詞向量,CBOW模型示意圖如圖1所示。詞向量W可以將語料中的詞語映射到實數維向量空間中,指定詞向量空間為ψ,那么它的大小為|ψ|×m,其中ψ中的每一行表示一個詞語的m維詞向量,|ψ|表示詞語數。對于語料庫中的一條文本,可以表示為:
(t1,t2,…,tn)
(1)
式中:n是文本的詞語數;ti是文本中第i個詞語(1≤i≤n)。

圖1 CBOW模型示意圖
一條文本可以用詞向量矩陣來表示,在ψ中搜索ti對應的詞向量,若搜索到將之記為zi,否則記為零向量。在找到每個單詞對應的詞向量后,將這些向量堆疊為一個向量矩陣Z,其大小為m×n,Z中的每一行代表該文本中的一個詞語,表示為:
(t1,t2,…,tn)→(z1,z2,…,zn)
(2)
卷積神經網絡是一種前饋神經網絡,最初為解決圖像識別問題而設計,現在已廣泛應用于人臉識別、語音識別、語音分類、字符識別等領域。圖2是經典的卷積神經網絡LeNet-5的模型示意圖。可以看出卷積神經網絡一般由輸入層、卷積層、池化層、全連接層、輸出層組成。

圖2 LeNet-5結構示意圖
輸入層的作用是對原始數據進行預處理,包括去均值、歸一化、PCA降維和白化等;卷積層是卷積神經網絡的核心層,其目的是對輸入數據進行特征提取,通常通過使用多個卷積核來執行卷積運算以獲得多個特征映射;池化層又稱為降采樣層,池化是在卷積層特征提取的基礎上,對每個卷積層提取的特征取平均值或最大值,取平均值時稱為均值池化,取最大值時稱為最大池化,通過池化操作可以大大減少卷積特征維數,降低過擬合;全連接層通常放在卷積神經網絡的尾部,與前一層所有神經元進行連接,目的是將提取的局部特征匯合成全局特征作為最終分類器的輸入。相對于傳統神經網絡來說,卷積神經網絡有五個顯著的優勢[14]:(1) 局部感知, 由于局部區域中的信息聯系往往比較緊密,而距離較遠的區域相關性較弱,因而神經網絡只需要對不同位置的局部區域進行感知,并將這些局部區域的信息匯合成全局信息即可;(2) 權值共享,也稱為參數共享,即局部的特性可以擴展到全局,也就是各局部使用相同的學習特征進行學習,從而通過減少神經網絡的參數個數來降低算法的復雜度;(3) 多卷積核, 可以通過添加多個卷積核來學習多種特征,保證了特征提取的充分性;(4) 特征分類,即只提取同一局部最有用的特征值,從而完成特征分類;(5) 多層卷積,單層卷積往往只能學到局部特征,通過增加卷積層可以獲得全局特征。
根據對人類視覺的研究,專家學者提出了注意力機制(Attention Mechanism,AM),其核心目標是從眾多信息中選擇出對當前任務更重要的信息,其策略是對重要的信息分配更多的注意力,而對其他內容分配較少的注意力[15]。在圖文跨模態情感分類中,除需要提取文本和圖像的特征外,還要考慮到哪些部分對情感分類的貢獻更大,對情感分類貢獻更高的部分應當賦予更高的權重,因此本文引入了注意力機制。注意力機制模型如圖3所示。通過式(3)可以生成注意力權重vt,然后通過softmax函數將生成的注意力權重概率化為概率向量 ,如式(4)所示,最后按式(5)配置注意力權重。
vt=tanh(ht)
(3)
(4)
(5)
式中:ht代表神經網絡輸出的初始權重;tanh是注意力學習函數。

圖3 注意力機制模型圖
本文提出的TAI-CNN情感分類方法框架如圖4所示,模型主要包含4個階段:數據預處理,特征提取,特征融合,情感分類。首先預處理文本和圖像,將文本表示為統一維度的低維稠密詞向量形式;然后分別通過TCNN(Text Convolutional Neural Networks)和ICNN(Image Convolutional Neural Networks)提取文本和圖像特征;接著通過注意力機制優化特征權重分布,將優化后的文本和圖像特征輸入訓練好的分類器得到各自的預分類結果;最后選擇最大值的融合策略進行圖文決策級融合得到最終的分類結果。

圖4 情感分類框架
對于文本情感分類部分,本文采用基于CNN的TCNN模型,如圖5所示,該模型由3個卷積層(conv1-conv3),2個最大池化層(pool1,pool2),2個全連接層(fc1,fc2)組成,為了防止過擬合,全連接層fc1加入了Dropout 技術,同時為了給重要特征分配更大的權重,在全連接后使用了注意力機制。

圖5 文本情感分類模型
在進入文本情感分類模型TCNN之前,需要構建文本向量矩陣,本文使用2.1節介紹的詞嵌入技術來構建文本矩陣作為TCNN的輸入。TCNN用卷積層來提取文本特征,每個卷積層都包含多個卷積核,如式(6)所示。
ci=f(wc×xi+bc)
(6)


(7)
由于VGGNet具有較好的可移植性,并且能夠有效地提取圖像特征,因此本文基于對VGGNet的優化來構建ICNN模型,ICNN模型如圖6所示。與VGGNet相比ICNN減少了兩個全連接層,并在預分類前加入了注意力機制,這樣能夠大大降低模型復雜度,加快收斂速度。ICNN模型以維度為Rc×w×h的原始圖片作為輸入,其中:c代表圖片的通道數;w代表圖片寬度;h代表圖片高度。與TCNN一樣,ICNN同樣通過卷積層提取圖像特征并通過池化層降維,然后通過全連接層獲得全局特征,最后使用注意力機制將結果傳遞至Softmax進行分類。

圖6 圖像情感分類模型
在跨模態情感分類中,特征融合策略的選擇將直接影響最終的分類效果,合適的融合策略將使各模態的信息達到最大限度的互補,常見的多模態情感分類特征融合策略有兩種:特征級融合和決策級融合。特征級融合將多個模態的特征按照一定的方法構建成一個組合特征向量,決策級融合對各個模態的預分類結果進行判決,從而得出最終的分類結果。相比特征級融合,決策級融合往往表現出更佳的性能[21],且最大值融合策略通過對比各預分類器的結果能夠找到概率最大的分類類別,因此本文采用最大值決策級融合策略來實現圖文特征融合,如式(8)所示。
(8)
式中:s代表分類器的個數;k代表類別數;pi,j(x)代表第i個分類器將x預測到類別j的概率。因為本文提出的模型屬于二分類模型且只有兩個分類器,所以s和k的值均為2。
本文采用的數據集是由You等[12]構建的圖文情感數據集。You等使用正面和負面情緒的關鍵字列表來查詢Getty圖像,并使用這些關鍵字的情感標簽標記所有返回的圖像。通過這種方式,收集到超過50萬幅弱標簽圖像及其相應的圖像描述。為了得到更好的訓練,本文去除數據集中圖像描述太短(小于20字符)或太長(大于50字符)以及圖像分辨率過低(小于256×256)的數據得到約為20萬的新的數據集,并將數據集隨機劃分,其中80%用于訓練,20%用于測試,數據分布情況如表1所示。

表1 數據集分布
本實驗使用開源深度學習框架TensorFlow來構建整個模型,具體實驗環境信息如表2所示。

表2 實驗環境
實驗分別采用第3節提出的TCNN和ICNN對文本和圖像進行預分類。在文本分類之前,本實驗采用分詞工具jieba分詞對文本做切分詞處理,分詞之后以哈工大停用詞表為基準去除停用詞,之后利用Word2vec訓練詞向量,本文將詞向量維度設置為100,訓練好詞向量之后創建文本矩陣。為了獲得更多的文本局部特征,本文采用大小為5×5步長為1的卷積核64個,并使用ReLU作為激活函數對卷積后的特征做非線性處理,同時采用大小為2×2步長為2的最大池化做降采樣。為了防止過擬合,本文在第一個全連接層加入了Dropout正則,并將keep_prop比率設置為0.5。訓練時損失函數采用交叉熵,優化器選用Adam,并將學習率設置為0.01,最后使用大小為50的mini-batch,共進行20 000次迭代。對于圖像情感分類,本文采用VGGNet的超參數設置,即卷積核都使用3×3的大小,步長設置為1,池化都使用大小為2×2、步長為2的最大池化,同樣使用ReLU激活函數,為防止過擬合對特征權重加上L2正則化,正則比率設置為0.000 5。這里使用的卷積核數量為128個,優化器選擇梯度下降并初始化學習率為0.01,損失函數仍采用交叉熵,mini-batch設置為50,共進行20 000次迭代。本實驗超參數設置均為調優之后的結果。
為了驗證本文提出的圖文跨模態情感分類模型的有效性,將其與另外5種情感分類模型進行了對比實驗:TCNN,ICNN,未加注意力機制的TCNN,未加注意力機制的ICNN,未加注意力機制的TAI-CNN。
實驗采用準確率、召回率和F值作為評價指標,通過隨機劃分訓練集和測試集的方式,進行了10次實驗,取10次實驗的平均值作為最終的結果,如表3所示。

表3 對比實驗結果
可以看出,TAI-CNN模型的準確率、召回率和F值都比TCNN和ICNN高,這說明圖像和文本表達的情感信息具有互補性,通過圖文跨模態融合可以有效地利用這種互補性,提高情感分類的準確率。加入注意力機制后模型的準確率、召回率和F值都有所提升,這說明注意力機制確實可以優化特征權重分布,從而優化模型性能。與此同時,可以明顯地看出,ICNN要比TCNN具有更好的分類效果,這是因為ICNN比TCNN網絡層數深,可以更有效地提取特征,這提示可以通過加深TCNN網絡深度來優化TAI-CNN模型。
本文對情感分類相關工作進行了研究,針對圖像和文本單獨做情感分類時存在不足且在特征提取時忽略重要特征的情感信息等問題,提出一種基于注意力機制的TAI-CNN跨模態情感分類方法,采用最大決策級融合策略,在所構建的數據集上進行實驗,驗證了該模型的有效性。
情感分類是一個極具價值的研究方向,雖然本文提出的圖文融合情感分類模型相對單模態情感分類模型來說提高了準確性,但還遠遠沒有達到實際應用的要求,模型仍需要優化。同時跨模態融合不應只局限于圖像和文本,與視頻、音頻等進行融合的情感分類是個值得研究的方向。