?

基于視覺注意力的圖文跨模態情感分析

2024-02-22 07:45王法玉郝攀征
計算機工程與設計 2024年2期
關鍵詞:文檔注意力單詞

王法玉,郝攀征

(天津理工大學 智能計算及軟件新技術天津市重點實驗室,天津 300384)

0 引 言

傳統的情感分析只關注文本內容和學習不同結構的表示,例如單詞、短語、句子和文檔。然而近年來,用戶生成內容的組成更加復雜和多樣化,純文本描述逐漸被圖像和文本的混合表示所替代[1]。同時許多電子商務或者在線購物網站允許用戶發布圖片作為評論的一部分。而大多數情況下,圖像不單獨作為情感特征描述情感,視覺圖像往往包含與評論中的文本信息高度相關的補充信息。同時,評論中附加的圖片可以反映該評論的主題。

根據上述情況,我們使用視覺注意力來提高評論情感分析的準確率,利用多個圖像作為查詢,來定位和衡量評論文本中單詞的重要性。如圖1所示,它是Yelp網站上舊金山地區的一家餐廳的評論,包含兩張圖片和幾個描述食物的句子,根據視覺注意力機制,我們對評論文本中的“cheese pizza”和“pesto linguine”賦予更高的權重,從而提高情感分析的性能。

圖1 Yelp網站餐廳評論

然而,有些評論中視覺注意力無法完全覆蓋文本內容,如圖2所示,圖片的內容包含一些食物,同時會對評論文本中前5個方框里面的內容賦予更高的權重,但是在最后一個方框里面的內容在說服務的問題,這個內容并沒有在圖片中表現出來。

圖2 評論圖像無法完全覆蓋文本

本文基于上述問題,提出了一種在線評論情感分析的方法,我們的貢獻主要如下:

(1)本文提出一種基于視覺注意力的跨模態情感分析模型(BERT-VistaNet),它可以處理評論中的圖像和文本從而得到情感分類,用BERT模型提取評論文檔的文本信息,彌補VistaNet模型中圖像無法完全覆蓋文本的問題。

(2)我們對Yelp餐廳評論的公開數據集進行實驗,并將我們的模型和各個基線模型進行比較。實驗結果表明,我們的方法可以提高情感分析的準確性。

1 相關工作

1.1 圖文單模態情感分析

隨著深度神經網絡的發展,基于深度學習的算法如長短期記憶(LSTM)、雙向長短期記憶(BiLSTM)、門控循環單元(GRU)、雙向門控循環單元(BiGRU)、卷積神經網絡(CNN)[2]、膠囊網絡[3]和基于Transformer結構的模型(BERT)[4]被廣泛應用于文本的情感分析。由于注意力機制的提出,使得可以更好減少圖像中的噪聲,圖像的情感分析也受到了更多的關注,Li等[5]提出一種注意力機制模型,它應用VGG-19模型和顯著圖來表示圖像中的視覺注意力。He等[6]提出一種多注意力金字塔模型用于視覺情感分析,它是從全局圖像不同尺度的多個局部區域中提取局部視覺特征,然后植入自注意力機制來挖掘局部視覺特征之間的關聯,從而得到情感表示。

1.2 圖文跨模態情感分析

相較于前文的單模態情感分析,跨模態情感分析目前仍處于起步階段。以往的研究主要使用傳統的基于特征的分類方法來實現情感分類,例如Dai等[7]從形容詞-名詞對的聯合分布中生成情感詞袋,并引入一組情感部分特征來整合多個統計流形上的視覺和文本描述符?,F在多使用的是基于深度學習的跨模態情感分析,Chen等[8]利用CNN提取圖像和文本的特征,并將它們拼接在一起組成一個圖像文本的聯合表示進行進一步的訓練。Xu等[9]提出了一種用于多模態情感分析多深度語義網絡,并利用圖像特征多LSTM模型結合注意力機制提取關鍵詞。Truong等[10]提出了一種視覺注意力的多模態情感分類模型(VistaNet),它將視覺內容作為注意力與文本內容進行對齊,使用注意力來指出文本中重要的信息。

以往的跨模態情感分析大都是將圖片的特征和文本的特征進行融合,然而視覺特征的稀疏性會降低文本特征對最終情感結果的作用。本文在VistaNet的基礎上提出了一種跨模態情感分析模型(BERT-VistaNet),本模型采用視覺信息作為注意力來突出圖像情感的關鍵信息,加入BERT模型對文檔中的文本信息進行特征提取,保證文檔中的文本信息不會因為視覺信息的稀疏性而減弱,同時對視覺信息無法覆蓋到的文本信息進行補充。

2 BERT-VistaNet跨模態情感分析模型

給定一個文檔集合C, 對于其中的每一個文檔c(c∈C) 都包含兩個部分:文本部分和視覺部分。文本部分是由L個句子組成的序列,每個句子有t個單詞,其中每個單詞記為wi(i∈[1,T])。 視覺部分為M張圖片組成的集合,其中每張圖片記為aj(j∈[1,M])。

為了能有效獲取視覺-文本的情感表征和兩種模態之間的交互信息,本文采用基于視覺注意力的方法構建跨模態情感分析模型,提出的BERT-VistaNet模型的架構如圖3所示。首先是采用VistaNet模型提取基于視覺注意力的文檔特征,然后采用BERT模型提取基于文本的文檔特征,將這兩個特征融合作為最終的文檔情感表征,最后輸入情感分類層得到情感標簽。

圖3 BERT-VistaNet模型

2.1 基于視覺注意力的文檔特征

在圖3中,右側部分是提取基于視覺注意力的文檔特征,這部分由最底層的單詞編碼層、中間層的句子編碼層和最上層的文檔情感層組成。單詞編碼層使用雙向GRU單元,將單詞轉換為句子形式的表示;句子編碼層使用視覺注意力機制,將句子形式表示轉換為文檔形式表示;文檔情感層使用soft attention加權求和得到最終的基于視覺注意力的文檔表示。

2.1.1 單詞編碼層

該層是將單詞表示轉化為句子表示,對每個評論文檔中的句子Si進行嵌入,由每個單詞的詞向量w和它們的嵌入矩陣得到它們的嵌入表示

xit=Wewit

(1)

其中,wit代表文檔中的單詞,We是由預訓練的嵌入(glove.6B.200d.txt)初始化的嵌入矩陣,xit表示單詞的嵌入表示。

在雙向RNN中,每個時間步的輸出同時由當前步的之前和之后的輸出確定,它可以考慮到整個句子的信息。為了對整個詞嵌入的序列進行編碼,使用帶有GRU單元的雙向RNN來獲得結合上下文的詞向量編碼

(2)

(3)

句子中單詞的權重都是不同的,不同的單詞和權重對于情感分析的重要程度是不同的,所以得到hit之后,使用軟注意力機制為每個單詞對于句子語義的貢獻進行加權得到的句子表示Si

uit=UTtanh(Wwhit+bw)

(4)

(5)

Si=∑tαithit

(6)

其中,uit是貢獻分數,表示每個單詞wit的相對重要程度。Ww表示詞嵌入xit的向量編碼hit所對應的權重矩陣,UT表示上下文矩陣,由訓練中初始化得到。αit為注意力權重,句子表示Si由當前句子中的單詞表示hit和它們的注意力權重αit加權求和得到。

2.1.2 句子編碼層

該層是將句子表示轉化為基于特定圖像的文檔級別的表示,首先再次使用單層雙向RNN處理單詞編碼層得到的句子表示Si, 得到包含了上下文信息的句子文檔級表示hi

hi=Bi-RNN(Si)

(7)

對文檔中的圖像進行編碼,VGG模型在圖像相關任務上表現優異,使用預訓練的VGG16模型得到每張圖片aj的表示mj, 將VGG16模型的FC7層的輸出作為圖像的表示

mj=VGG16(aj)

(8)

因為經過VGG16得到的圖片表示mj和包含上下文信息的句子文檔級表示hi的維度不同,我們需要經過非線性激活函數tanh,將mj和hi投影到同一個注意力空間中,得到圖像投影pj和句子投影qi

pj=tanh(Wpmj+bp)

(9)

qi=tanh(Wqhi+bq)

(10)

為了學習句子基于特定圖像的注意力值vji, 我們采用元素乘法和元素求和的方式,讓pj和qi進行交互,再通過加權求和,將句子表示聚合為基于特定圖像的文檔表示

vji=VT(pj⊙qi+qi)

(11)

(12)

dj=∑iβjihi

(13)

其中,⊙表示Hadamard product(兩個向量pj和qi之間的元素乘積),它可以保證在計算注意力權重βji時,softmax函數不會清除視覺部分的信息,而元素的加法則是為了降低視覺部分的稀疏性對文本部分效果的影響。βji表示注意力權重,通過注意力權重使用加權平均得到基于特定圖像的文檔表示dj。

2.1.3 文檔編碼層

一個文檔中有M張圖片,對于每一張圖片mj都會產生一個基于特定圖像的文檔表示dj, 我們將這些表示聚合形成最終的文檔表示,但是不同圖片對于文本的重要性不同,因此我們需要學習重要性權重γ

kj=KTtanh(Wddj+bd)

(14)

(15)

dVistaNet=∑jγjdj

(16)

其中,kj表示每個圖片的相對重要性,KT表示權重矩陣。γj表示注意力權重,dVistaNet表示最終的基于視覺注意力的文檔表示。

2.2 基于文本信息的文檔特征

為了解決VistaNet模型圖片無法完全覆蓋文本的問題,在圖3中,左側部分是使用預訓練的BERT模型提取評論文檔中文本的全局特征。BERT模型的具體結構如圖4所示,它的語義提取層是以Transformer編碼器為基本單元的多層雙向解碼器,輸出隱含層是文檔文本的數學表達式,其中隱藏層的任何隱含單元都包含了經過Transformer編碼器中的注意力機制后的文檔文本中的所有情感信息。

圖4 BERT模型結構

BERT模型的輸入是由詞向量t、 句子編碼E和位置編碼P,3個向量拼接而成的向量矩陣E={e1,…en}。 其中詞向量是預訓練模型提供的詞表初始化的單詞編碼;句子編碼是區分輸入的是一個句子還是兩個句子,如果輸入只有一個句子,那么它的句子編碼就都全是0;位置編碼是記錄詞在評論文本中的位置,通過式(17)和式(18)得到位置編碼

(17)

(18)

其中,pos表示單詞在句子中的位置,2i和2i+1表示詞向量的偶數和奇數維度,d表示詞向量的維度,同時它也是輸出向量P的維度。

自注意力機制保證了評論文本中的每個詞向量都包含了該文檔中所有詞向量的信息,計算公式如式(19)所示

(19)

其中,Q、K、V為3個向量矩陣,Q表示序列中一個單詞的向量表示、K表示序列中所有單詞的向量表示、V表示Value值。將注意力機制轉為標準正態分布,softmax(*)是歸一化,它使得評論文本中每個單詞和其它的單詞的注意力權重相加。多頭自注意力層就是將Q、K、V先經過參數矩陣進行映射,再做自注意力機制,最后將結果拼接起來一起送到全連接層。

層標準差用來對selfAttention輸出的單詞表示進行標準化處理,方便后續ReLU激活函數進行非線性處理,同時層標準差通過歸一化神經網絡中的隱藏層能加速模型對標準正態分布的訓練,從而加速模型收斂,如式(20)所示。殘差連接利用了殘差網絡的特性,當層數加深時仍然能夠很好訓練,解決了梯度消失和網絡退化的問題,如式(21)所示

(20)

X=Xembedding+Attention(Q,K,V)

(21)

在多頭注意力機制的內部,主要是在運行矩陣乘法,也就是進行的都是線性變換,然而線性變換的學習能力不如非線性變換,因此需要加入前饋神經網絡,通過激活函數的方式,來加強表達能力。前饋神經網絡由ReLU激活函數激活,輸出評論文檔中的文本經過輸入編碼層和注意力機制處理后的隱藏序列

Xhidden=ReLU(Linear(Linear(X)))

(22)

前饋神經網絡的輸出會再次經過層標準化和殘差連接,進而輸入到下一個編碼器中,第一個編碼器的輸入是詞編碼矩陣,之后每一步的輸出都是下一步的輸入,直到最后一個輸出的就是編碼器編碼后的矩陣。我們使用最后一層的第一個[CLS]標簽的輸出作為該句話的特征表示,也是我們使用BERT模型提取到的基于文本信息的文檔特征dBERT。

2.3 語義連接和情感分析

如圖3所示,最上方語義連接的主要作用就是將VistaNet模型提取到的基于視覺注意力的文檔特征和BERT模型提取到的基于文本的文檔特征連接起來,構建評論文檔的整體情感表征

d=Dense(dVistaNet,dBERT)

(23)

情感分類主要任務是構建情感分類器,獲取評論文檔的情感表征d相對于情感標簽的得分向量,并輸出最終的情感標簽。使用softmax函數在語義連接層作出相應的輸出,從而對評論文檔進行情感分類

y=softmax(Wcd+bc)

(24)

其中,Wc為權重,bc為偏置,y是實際輸出的情感分類概率分布。使用交叉熵損失函數來衡量情感標簽的真實概率分布和預測分布之間的誤差

(25)

其中,y=[y0,…,y4] 是一個概率分布,每個元素yi是樣本屬于第i類的概率;k=[k0,…,k4] 表示樣本實際的標簽值。

3 實 驗

3.1 數據集

我們使用的是Yelp提供的餐廳評論公開數據集,該數據集包含了波士頓、洛杉磯、芝加哥、紐約和舊金山5個城市的業務。每個評論由一個文本段落和多個圖像組成,數據集已經被劃分為訓練集、驗證集和測試集,它們的比例為80%、5%、15%。目標標簽是每個評論文檔的評分(從1到5),其中1、2是消極評價,3是中性評價,4、5是積極評價。數據集的詳細信息見表1。

表1 Yelp數據集的統計信息

3.2 模型訓練

本實驗使用開源框架Tensorflow來構建整個模型,VistaNet模型使用預訓練GloVe詞表[11](glove.6B.200d.txt)進行詞嵌入,將每個詞編碼為200維的向量,GRU單元的隱藏層維度為50,每個圖片表示為4096維向量,它是VGG16模型的最后一個全連接層(FC7)的輸出。BERT模型使用google提供的預訓練模型[12](base-uncased)進行初始化,將每句話的第一個[CLS]標簽的輸出作為該句話的特征表示,根據Yelp數據集的統計信息,設定每個評論中的最大單詞數為256,對于超過的部分進行截斷。在訓練中,設置batchsize為32,迭代次數為20次,采用ReLU激活函數,優化器選用RMSprop,設定初始學習率為0.001。

3.3 對比模型

將我們的模型和以下幾個模型進行比較,它們大部分是同時使用文本特征和視覺特征進行情感分類。

(1)TFN-VGG:TFN[13]是基于張量外積的多模態融合方法。將文本特征和視覺特征使用張量外積進行融合。因為每個評論都有多張圖片,而池化層起到聚合圖像信息的作用,TFN-mVGG和TFN-aVGG分別對應TFN模型的最大池化和平均池化。

(2)BiGRU-VGG:BiGRU[14]是由兩個GRU組成的序列處理模型,使用雙向門控單元捕獲前向依賴和后向依賴。BiGRU-VGG是將BiGRU提取到的文本特征和VGG提取的視覺特征拼接融合得到最終的文檔情感特征。BiGRU-mVGG和BiGRU-aVGG分別對應最大池化和平均池化。

(3)HAN-VGG:HAN[15]使用層次的注意力網絡獲取文檔的表示,第一層是單詞級的注意力機制,根據不同單詞的貢獻,產生句子級別的表示,第二層是根據句子的貢獻,產生文檔級別的表示?;贖AN-ATT的文本特征和基于VGG的圖像特征拼接為文檔情感特征。同樣根據池化層的不同產生兩個對比模型:HAN-mVGG和HAN-aVGG。

(4)FastText:它是Word2Vec衍生所得,可以高效學習單詞表示以及句子分類問題。用它得到文檔中文本的表示,進而和BERT模型進行比較。

(5)LSTM:它是一種加入了門控單元的特殊RNN,可以比常規RNN更準確地學習序列數據。將LSTM得到的文檔文本分類結果和BERT得到的進行比較。

(6)BERT:它是由多個Transformer的Encoder部分疊加而成,利用自注意力機制讓序列中的每一個Embedding都可以相互注意,采納權重。有效解決句子長期依賴問題,顯著提升了理解不同任務中無標記文本的能力。

(7)VistaNet:該模型利用視覺信息作為注意力將圖像和文本的信息進行融合,可以有效分析評論文檔的情感極性。

3.4 實驗結果與分析

表2展示了7個對比模型和我們的模型在Yelp數據集上的準確率,其中平均值表示數據集不按照城市劃分,模型效果的提升是以TFN-aVGG模型為基線得到。

表2 情感分析的準確性比較

我們使用兩個模型FastText和LSTM與BERT模型比較,最終選用BERT模型來獲取基于文本的文檔表示。我們的模型BERT-VistaNet相比于基線模型TFN-aVGG提升了43%,相比于VistaNet模型提高了1.4%。使用視覺注意力的VistaNet模型相比于沒有使用視覺注意力的模型TFN、BiGRU、HAN效果有明顯提升,說明圖像中的一些信息可以為評論的整體情感起到幫助作用。BERT-VistaNet模型的效果相較于VistaNet模型有所提升,說明圖像中的信息無法完全覆蓋評論中的文本信息,基于文本的文檔特征對視覺信息中缺少的情感信息進行了有效的補充。

為了進一步評估所提出的模型,分析我們模型的結構,總結出可以影響情感分析的幾種結構因素:層次結構、自注意力機制、視覺注意力機制、視覺注意力特征和文本特征的拼接。我們對BERT-VistaNet模型進行消融實驗,分析每一個組件對模型的貢獻。

如表3所示,我們在Bi-GRU的基礎上增加組件進行實驗,首先加入了層次結構,模型的準確率在Bi-GRU的基礎上提升了4.8%,然后在層次結構的基礎上又加入了注意力機制,模型又提升了1.4%。VistaNet模型在此基礎上加入了視覺注意力,平均準確率也相應提升到61.88%,最后將BERT提取的文檔特征與VistaNet提取到的基于視覺注意力的文檔特征結合得到我們的模型BERT-VistaNet,模型的效果也得到了提升,準確率達到了62.75%。這樣的結果表明模型中各個組件都起到了積極作用,有助于評論的情感分析。

表3 消融分析

4 結束語

本文對圖文情感分類的相關工作進行了研究,針對于評論中圖像的視覺注意力無法完全覆蓋文本的問題,在Yelp網站公開的餐廳評論數據集上,提出使用BERT提取文檔的文本特征,并將提取到的特征和基于視覺注意力的特征融合在一起,形成新的文檔情感特征,從而提高圖像和文本跨模態情感分類的性能。我們對美國5個城市的Yelp網站上在線評論進行了實驗,結果表明我們的模型的準確率高于其它10個基線模型,從而驗證了模型的有效性。

情感分類是一個極有意義的研究方向,本文所提出的模型只是關注于圖像和文本的情感分析,跨模態的融合不應只局限于此,我們后續將研究更多的模態,包括音頻、視頻等。希望可以找到更有效的特征提取和特征融合的方法,為情感分類提供更有效的信息。

猜你喜歡
文檔注意力單詞
淺談Matlab與Word文檔的應用接口
讓注意力“飛”回來
有人一聲不吭向你扔了個文檔
單詞連一連
看圖填單詞
“揚眼”APP:讓注意力“變現”
看完這些單詞的翻譯,整個人都不好了
基于RI碼計算的Word復制文檔鑒別
A Beautiful Way Of Looking At Things
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合