宗玉英,段曉芳
(北京工業大學 信息學部,北京 100124)
2008年,在審視了3G通信技術的發展趨勢之后,中科院張松懋研究員創造性地提出了將3D動畫自動生成技術應用到手機短信上的想法[1],并帶領課題組實現了手機3D動畫自動生成系統.手機3D動畫自動生成技術將動畫自動生成技術應用于中文手機短信領域,不僅立足于一個嶄新的應用角度,并嘗試研究和解決過程中出現的問題,這在人工智能領域具有一定的研究意義和價值.
手機3D動畫自動生成系統的處理過程大致分為四個階段:短信信息抽取、情節定性規劃、場景定量規劃和網絡渲染.短信信息抽取處于手機3D動畫自動生成系統首要和關鍵的位置,在這一過程中,短信內容的理解,即從短信文本中抽取出用于指導動畫生成的信息是最基礎、也是最關鍵的步驟[2].短信信息抽取又包括語義分析、否定識別、命名實體識別、主客觀分析和情感分析等.而情感分析作為信息抽取領域的重要研究課題,對于引導動畫的自動生成有著關鍵的作用.但是,中文短信情感分析的研究目前可利用的資源還不多,目前尚沒有一個覆蓋面較廣的情感詞典庫,且短信字數少,信息量少,結構隨意[3],可利用的上下文信息有限,以及自由開放的特點,給短信情感分類研究帶來了一定的難度.
課題組在做情感分析之前,首先做的是主客觀的分類.如果主客觀分類的結果是主觀,則會進行下一步情感分類;否則,不做情感分析.而主客觀分析使用傳統的機器學習方法得到的效果較好.但是,目前課題組采用傳統NLP方法實現的情感分類準確率不高,系統人工的成本較高,系統的泛化和遷移能力差[4],不能達到實用的目的.而深度學習方法能較好地彌補傳統NLP方法的缺陷[4].鑒于此,本文采用基于深度學習的算法對手機動畫自動生成系統的短信文本進行情感分類.一般的情感分析是將文本分為積極、消極兩類,但是,考慮到系統中動畫可以表現的情感形式,本文將短信文本中的情感分為喜、怒、哀、懼四類.
情感分析又稱為意見挖掘(opinion mining),是借助計算機幫助用戶快速獲取、整理和分析相關評論信息,對帶有情感色彩的主觀性文本進行分析、處理、歸納和推理的過程,它包含了一系列的子任務,如情感信息抽取、情感傾向分類、情感信息檢索和情感信息歸納等[5].本文的短信情感分析是將輸入的短信進行情感分析,最終分為喜、怒、哀、懼四類.得到的情感分類結果,可以為手機短信動畫后續的表情、動作、燈光等提供有力的參考,從而使生成的動畫更加豐富,更加生動地表現短信中的信息.
目前,手機動畫系統中已有兩版情感分析,第一版使用的是SVM算法,第二版使用是集成算法,但是準確率都不高,不能達到實用的目的.
而深度學習中在自然語言處理領域已經取得了顯著成效,2011年,Collobert等在文獻[6]中訓練得到C&W模型,去完成自然語言處理的詞性標注、命名實體識別、語義角色標注、情感分析等,有不錯的成效.考慮到句子中詞的上下文信息,2014年,Kim等[7]提出使用卷積神經網絡(Convolutional Neural Network,CNN)進行句子建模,做情感分類任務,并在多個數據集上均取得了很好的結果.而后,Dos Santos等提出CharSCNN(Character to Sentence Convolutional Neural Network)模型[8]為英語單詞增加了字符的特征表示層,可以提高對于英文Twitter中不規則單詞的表示能力,取得了不錯的成效.Bahdanau等人將注意力機制和循環神經網絡(Recurrent Neural Network,RNN)結合以提高機器翻譯任務的準確率[9],使注意力機制成功應用到自然語言處理領域,這也是首次將注意力機制應用到自然語言處理領域.此外,隨著研究的深入,Yin等人在2015年提出一種基于注意力機制的卷積神經網絡,并將該網絡用在句子對建模任務中[10],并取得了比之前更高的準確率.
基于注意力機制的卷積神經網絡可以通過一個注意力矩陣計算出句子相應的注意力特征,在模型訓練時讓神經網絡高度關注某些信息而注意力機制可以自動對文本矩陣進行語義加權[11].為此,提出在卷積神經網絡中,引入注意力機制,使模型準確地表示出每個詞的重要性,以獲取更準確的信息.
本文提出將卷積神經網絡和注意力機制相結合的模型應用到短信文本的情感分類中.經實驗驗證,引入注意力機制的卷積神經網絡模型比單純的卷積神經網絡模型更有效.
為了提高手機短信動畫系統情感分析的準確率,本文提出將卷積神經網絡和注意力機制相結合的模型結構,模型的整體流程為:首先對輸入的短信使用哈工大分詞系統[12]進行分詞,然后對分詞的結果進行詞向量編碼,得到詞向量矩陣,將矩陣和注意力機制相結合,得到注意力詞向量矩陣,輸入到卷積層進行卷積操作,得到特征表示,將特征表示和注意力機制結合,通過全連接層之后使用分類器得到情感概率矩陣,進而得到情感標簽.
對于短信數據集D,其中包含短信文本X={x1,x2,···,xm}以及每條短信對應的情感標簽L={l1,l2,···,lm},其中,每條短信Xi包含n個詞,表示為Xi={xi1,xi2,···,xin}.首先使用哈工大分詞系統[12]進行分詞,然后,將分詞的結果輸入到word2vec模型,得到語料中每個詞的向量表示.本文中的word2vec模型中使用skip-gram模型.
卷積神經網絡在自然語言處理中已經頗有成效,因其無需進行文本的大量預處理工作,可以使用卷積操作自動對文本進行特征提取,受到了廣大研究者的青睞.基于卷積神經網絡的情感分類模型結構,輸入是短信中詞向量表示的矩陣,輸出是預定義的情感類別中的一種.該模型為四層的結構,分別為輸入層、卷積層、池化層以及分類層,如圖1所示.輸入層就是Word embedding層,根據word2vec得到短信中每個詞的向量表示,得到詞向量矩陣,對于給定長度為n個詞的短信,維度為k的詞向量,則,輸入矩陣為n×k維矩陣.卷積層對詞向量矩陣進行卷積操作,得到卷積之后的特征矩陣.池化層對卷積之后的特征矩陣進行池化,獲取最重要的特征.池化層的結果和注意力機制結合輸入到全連接層,經過激活函數處理,就可以得到情感概率矩陣,并得到最終的分類結果.

圖1 卷積神經網絡模型結構圖
Bahdanau等人將注意力機制和循環神經網絡結合應用到提高機器翻譯領域[9],取得了顯著的成效.Yin等人將注意力機制的卷積神經網絡用在句子對建模任務中[13],并取得了比之前更高的準確率.文獻[11]提出將多注意力機制和詞向量結合做特定目標的情感分類,其實驗表明多注意力機制可以有效地提高情感分類的準確率.文獻[14]提出將注意力機制和卷積之后的特征表示相結合,實驗證明此模型是有效的.為了進一步探索注意力機制的有效性,為此,本文提出將注意力機制和詞向量以及卷積之后的特征表示相結合,并應用到手機短信動畫情感分類系統中,來進一步提高分類的準確率,以達到實用的目的.
注意力機制可以在訓練的過程中知道哪一部分數據是重要的,從而使模型重點關注這些重要信息,以提高注意力.對于詞級別的分類而言,詞層面的信息是最重要的,將注意力機制和詞向量輸入矩陣相結合,即詞向量注意力機制,可以得到注意力矩陣,此矩陣中包含每個詞的重要程度,然后使用卷積操作,再使用注意力機制等操作,可以得到更好的模型分類性能.
對于短信m={w1,w2,···,wi,···,wn}而言,提取出目標詞wi的詞向量xi作為注意力矩陣,將注意力矩陣和短信m的詞向量矩陣進行運算操作,可得到注意力特征矩陣Ac,

利用計算得到的注意力矩陣Ac和原來的詞向量使用向量拼接運算,可分別得卷積神經網絡的輸入矩陣:

接著將zi矩陣輸入到卷積層進行卷積操作.此外,在經過卷積之后,本文也使用了注意力機制,以獲取不同重要程序的特征信息,從而提高分類的準確率.此時的注意力文本用ai表示:

其中,xi代表一條短信,Li代表此短信對應的標簽,fun代表含一個隱層的前向網絡函數與atti代表文本中每個詞的重要度信息.

其中,Lpre表示預測得到的情感標簽,w為全連接層的權重矩陣,c為池化層的特征表示,atti為注意力文本,b為偏置項.
引入注意力機制的卷積神經網絡模型,如圖2所示.

圖2 引入注意力機制的卷積神經網絡結構圖
將傳統機器學習方法SVM、卷積神經網絡和注意力機制卷積神經網絡分別在數據集上實驗,解決短信動畫生成系統的情感分析問題.通過對比實驗,驗證了在本任務中,注意力機制比SVM和單純的卷積神經網絡有更好的情感分析性能.在本文的實驗中,語料庫為SMS-2008標注中文短信息庫[15]中的10萬條短信,經處理得到含有喜、怒、哀、懼情感的短信共18163條,詞向量采用word2vec的skip-gram訓練得到,其中每個詞的維度為100維.本文采用哈工大分詞系統[12]進行分詞.
本文采用SMS-2008標注中文短信息庫[15]中的短信進行實驗,首先,去除主客觀分類結果為客觀,即不包含喜、怒、哀、懼情感的短信,然后手工將數據樣本的情感標記為喜、怒、哀、懼四類,表1給出本文實驗使用的數據并統計各情感極性的語料數.

表1 各情感極性的語料數
本文使用注意力機制和卷積神經網絡相結合的模型完成,實驗中使用多種卷積核對輸入矩陣進行卷積操作,訓練中的損失函數采用categorical_crossentropy,梯度函數使用adam來更新梯度,激活函數使用適合多分類的softmax,其他參數如表2所示.

表2 實驗超參數設置
將本文提出的方法和以下的兩種方法在相同的數據集上進行實驗:
1)SVM.Svetlana Kiritchenko[16]提出的SVM分類模型,該模型使用SVM對文本進行分類,并取得了不錯的成效.
2)CNN.Kim等[7]提出使用卷積神經網絡CNN(Convolutional Neural Network,CNN),是最基本的卷積神經網絡,并取得了比其他方法更好的分類效果.
3)ATT_CNN.本文提出的注意力機制和卷積神經網絡相結合的模型.
本文將3種模型在短信語料庫上分別進行實驗,分析出短信的情感極性,并預測情感極性.實驗中,將語料分為3部分,分別是訓練集、驗證集和測試集,采用的比例是8:1:1.表3給出3組實驗在語料庫上分別實驗的訓練準確率和驗證準確率,得到分類模型之后,又對預測集進行實驗并得到分類的準確率、召回率和F值.

表3 各模型在本語料實驗中的預測準確率、召回率和F值
從表3的結果可以看出,在本文的情感分類任務中,CNN和ATT_CNN在此語料上的分類效果都比傳統法的機器學習SVM分類模型好,原因在于CNN和ATT_CNN可以進行卷積操作,從而更好地提取文本特征.而引入了注意力機制后的卷積神經網絡模型相比CNN模型分類的正確率也有所提高,原因在于注意力機制可以有針對性地提取出文本特征中的情感特征,從而使注意力機制模型比CNN分類模型在驗證集和測試集上都取得更好的分類性能.由以上實驗結果和分析可知,本文提出的注意力機制和卷積神經網絡結合是可行的,同時也是有效的.
本文研究的主要內容是在手機3D動畫自動生成系統中提高情感分析的分類性能,以達到實用的目的.為此,提出將注意力機制應用到此系統中.首先使用gensim得到 “詞-索引”形式的鍵值對,然后使用word2vec得到詞的向量表示,與注意力矩陣進行運算,通過卷積神經網絡的卷積運算自動提取到文本的特征,再結合注意力矩陣得到最重要的特征.實驗表明,基于注意力機制的卷積神經網絡比之前方法的準確率都高,也證明了注意力機制的可行性和有效性.下一步工作,將進一步探討注意力機制與其他神經網絡相結合的深度學習算法.