王躍躍
(上海理工大學 管理學院, 上海 200093)
情感分析,也稱為觀點挖掘[1-2],是自然語言處理中的重要任務。 與文檔級情感分類任務[3-4]不同,方面級情感分類是一種細粒度的情感分類任務。具體目的是識別上下文句子中某一特定方面的情緒極性,如積極、消極、中性。 例如,給出一個句子“食物很好,但服務很慢”,“食物”和“服務”這2 個方面詞的情緒極性分別是積極的和消極的。 方面級情感分類任務克服了一個句子中出現(xiàn)多個方面詞時文檔級情感分類的局限性。 在前面的例子中有兩個方面詞,整個句子的情感極性并不是單一的,而是摻雜著積極和消極2 種情感,如果忽略了方面詞信息,就很難確定一段文本中表達的情感極性。 這種錯誤在一般的情感分類任務中普遍存在。 Jiang 等學者[5]通過實驗顯示40%的情緒分類錯誤是由于沒有考慮方面詞。
針對方面級情感分析任務,目前已經(jīng)提出了很多的方法。 典型的方法是通過監(jiān)督訓練來構(gòu)建機器學習分類器。 在基于機器學習的多個方法中,主要有2 種不同的類型。 一種是基于人工創(chuàng)建的特征構(gòu)建分類器[3,5]。 由于神經(jīng)網(wǎng)絡能夠在不進行繁雜的特征工程的情況下從數(shù)據(jù)中學習到數(shù)據(jù)中的知識,現(xiàn)已廣泛應用在諸如機器翻譯、問答任務等NLP 任務中,其應用效果明顯優(yōu)于傳統(tǒng)的機器學習方法。近年來,研究學界針對方面級情感分析相繼做了很多工作,如TD-LSTM[6]、TC-LSTM[6]。 但是在注意力機制[7]提出之前,對于上下文中的哪些詞對于方面詞的情感分類雖是重要的,卻一直未能獲得有效解決。
通過分析以往的方面級情感分析模型和相關的數(shù)據(jù)集,并且基于神經(jīng)網(wǎng)絡的優(yōu)點,本文提出了一種基于Albert 和句法樹的方面級情感分類模型,簡稱Albert-DP。 前期,基于LSTM[8]的方法主要集中于文本建模,本文的方法使用Bi-GRU[9]同時建模方面詞和上下文信息。 即如前文的例子“食物很好,但服務很慢”中,這句話中有2 個方面詞:食物、服務。 根據(jù)日常的語言經(jīng)驗,可以知道消極的詞語“慢”更可能描述的是“服務”,而不是“食物”。 類似地,對于方面詞“服務”,“很好”和“慢”兩個修飾語與“服務”的距離都很近,如果采取PBAN[10]的位置信息的方法,這2 個修飾語會得到很相近的權(quán)重,這會使神經(jīng)網(wǎng)絡得到錯誤的分類。 所以應該盡可能降低“很好”的權(quán)重,引入句法樹進行上下文位置信息的編碼,可使這個問題得到有效緩解。 同時,本文使用Albert[11]預訓練模型、而不是Glove[12]詞向量可以解決語言表達中的一詞多義問題,就能更加充分地利用句子的潛在語義信息。
情感分析的目的是檢測文本的情感極性。 為此已陸續(xù)提出多種方法[13]。 現(xiàn)有的研究大多使用機器學習算法、如樸素貝葉斯和支持向量機算法等,以監(jiān)督的方式對文本進行分類[14-15]。 這些方法中的大多數(shù)或者依賴于n-gram 特性,或者依賴于手工設計的特性。 為此,建立了多個情感詞匯[4,15-16]。 近年來,神經(jīng)網(wǎng)絡在情感分類方面取得了長足的進步。基于神經(jīng)網(wǎng)絡的方法自動學習特征表示,不需要大量的特征工程,為此研究人員提出了多種神經(jīng)網(wǎng)絡結(jié)構(gòu),經(jīng)典的方法包括卷積神經(jīng)網(wǎng)絡[17]、遞歸神經(jīng)網(wǎng)絡[18-19]。 這些方法在情感分析中取得了良好的效果。
方面級情感分類是情感分類的分支之一,其目標是識別句子中某一特定方面的情感極性。 一些早期的研究設計了幾種基于規(guī)則的方面級情感分類模型[20-21]。 Nasukawa 等學者[21]首先對句子進行依賴解析,然后使用預定義的規(guī)則來確定關于方面詞的情感。 隨后,又引入了多種基于神經(jīng)網(wǎng)絡的方法來解決這一層面的情感分類問題,典型方法是基于LSTM 的神經(jīng)網(wǎng)絡。 TD-LSTM[22]通過2 個LSTM 網(wǎng)絡在建模上下文過程中考慮方面詞的信息,并利用2 個LSTM 的最后一個隱藏狀態(tài)進行情緒預測。 為了更好地捕捉句子中的重要部分,Wang 等學者[23]利用方面詞嵌入生成注意向量,將注意力集中在句子的不同部分上。 以此為基礎,Ma 等學者[24]使用2個LSTM 網(wǎng)絡分別建模句子和方面。 可進一步使用句子生成的隱藏狀態(tài),通過池化操作計算對方面目標的注意,反之亦然。 因此,研究中的IAN 模型可以兼顧句子中的重要部分和目標。 Zhang 等學者[25]提出了兩門控神經(jīng)網(wǎng)絡。 一個門用來捕獲句子的語法和語義信息,另一個門建模左右上下文的交互關系。 Chen 等學者[26]采用基于Bi-LSTM 的多層架構(gòu),每一層都包含基于注意力的詞特征和句子特征,該模型可以從不同的上下文中關注到對方面詞分類的不同貢獻程度。 Fan 等學者[27]提出多粒度的注意力網(wǎng)絡,使用細粒度的注意力網(wǎng)絡捕獲方面詞和上下文之間的詞級別的交互。 Gu 等學者[10]認為距離方面詞較近的詞語對方面詞的情感極性的貢獻較大,反之貢獻則較小。
預訓練模型基于大量的文本語料訓練,在微調(diào)時可以將語訓練階段學習到的語言知識運用到下游任務中,而且也陸續(xù)展開了基于預訓練模型的方面級情感分析的多項工作。 Xu 等學者[28]提出了一種新穎的用于問答任務的后訓練方法,同時也將其成功應用在方面級情感分析任務中。 BERT-SPC 模型[29]是利用BERT 對句子對分類的優(yōu)勢,將上下文和方面詞一起作為模型的輸入進行分類。
圖1 Albert-DP 模型架構(gòu)Fig. 1 The architecture of the proposed Albert-DP
Albert 模型的全稱是A Lite Bert,類似于一個輕量級的Bert 模型[30]。 因為預訓練模型動輒有幾千萬或者上億的參數(shù),使用預訓練模型在下游任務中微調(diào)時計算成本很大,并且在生產(chǎn)環(huán)境中部署預訓練模型也是一個重要問題。 為了解決上述的問題,Lan 等學者[11]提出了Albert 模型,該模型使用矩陣分解和編碼層參數(shù)共享的方法降低了模型參數(shù)。 以Albert-xlarge 為例,該模型的參數(shù)量為6000 萬,Bert-base 模型參數(shù)量為1.08 億,而本文中的Albert模型均指Albert-xlarge,Bert 模型都指Bert-base。Albert 嵌入層使用預訓練模型Albert 生成序列的詞向量,為了便于利用Albert 模型的預訓練和微調(diào)過程,本文中則將給定的上下文和方面詞信息數(shù)據(jù)轉(zhuǎn)換為“[CLS] +上下文+[SEP]” and “[CLS] +方面詞+[SEP]” 的格式。
為了更好地與基準模型進行對比,本文使用預訓練后的Glove 詞向量[11],詞嵌入矩陣L∈?demb×|V|,demb表示詞向量的維度大小,|V |表示詞表大小,通過從矩陣L中將每個單詞wi映射為對應的向量ei。
句法樹描述了句子組織的層次結(jié)構(gòu),在自然語言處理中描述句子句法結(jié)構(gòu)的樹狀表示。 通過構(gòu)建句子的句法樹,可以分析出單詞之間的關系,更加準確地找出與方面詞相關的情感詞。 PBAN 模型[31]出于和方面詞信息更靠近的上下文更有可能在修飾方面信息的考慮,提出了上下文距離方面詞位置的絕對距離, 例如,在句子“The appetizers are ok, but the service is slow”中,當方面詞是“appetizers”時,把方面詞的權(quán)重設為0,給定上下文的位置索引則分別表示為p =[1,0,1,2,3,4,5,6,7],位置矩陣P是隨機初始化,參數(shù)在模型訓練中不斷更新。 這樣上下文中不同的詞因為距離方面詞的不同就會有不同的權(quán)重,可以能更加準確地找到修飾方面詞的上下文,提高分類的準確率。 由于語言表達的多樣性和復雜性,并且受到LCFS-BERT[32]的啟發(fā),引入句法知識可以更加有效判斷與方面對應的情感意見表達,排除無關情感表達的干擾。 語義依存樹可以獲得句子中不同詞之間的依賴關系。 通過句法樹獲得不同詞之間的相對距離更符合語言表達的習慣,對于不同方面的情感分類會更加有效。 通過句法樹形成的相對語義距離可以更準確地找到修飾方面詞的表達。 句子“The appetizers are ok, but the service is slow”的句法解析如圖2 所示。
圖2 句子“The appetizers are ok, but the service is slow.”句法解析圖Fig. 2 Syntactic parsing diagram of sentence “The appetizers are ok, but the service is slow.”
SpaCy 工具能夠快速準確地解析句子的依存關系,SpaCy 使用head 和child 來描述依存關系中的連接,識別每個token 的依存關系,通過Spacy 工具研究構(gòu)建了每個句子的語法樹,見圖2,該工具給出了句子中的每個詞的詞性,其中DET、NOUN、AUX、ADJ 和SCONJ 分別表示限定詞、名詞、助動詞、形容詞和從屬連詞。 而且還指示出各個詞語之間的語法關系。 nsubj 表示名詞性主語。 acomp 用于動詞的形容詞補語,mark 表示標記語。 通過構(gòu)建語法樹可以準確找到方面詞 price 的情感表達詞“reasonable”,方面詞“sevice”的情感表達詞“poor”。在建模上下文詞時通過(is,price,nsubj),(is,reasonable,acomp),( is,sevice,nsubj),(is,poor,acomp)的限定語法,本次研究給予形容詞詞性“reasonable”、“poor”更好的權(quán)重,而如果采用計算上下文位置信息的方法[10,28],則會賦予距離方面詞“price”更近的詞“The”、“is”更高的權(quán)重,而詞“reasonable”將會獲得更低權(quán)重,當方面詞時,句子中不同詞與方面A之間的相對語義距離D ={d1,d2,…,dn},所以通過構(gòu)建語法樹的方法可以明顯提高方面級情感分析的準確率。
在得到詞向量之后,將這2 個向量集合分別送入Bi-GRU 層,本文使用這2 個Bi-GRU 網(wǎng)絡來學習句子和目標中單詞的隱含語義,每個Bi-GRU 由2 個GRU 網(wǎng)絡疊加而成。 使用GRU 的優(yōu)點是可以避免梯度消失或爆炸的問題、能夠很好地學習句子長期依賴關系,并且相對于LSTM 有更少的參數(shù)和更低的計算復雜度。 把方面詞向量輸入到左邊的Bi-GRU 得到前向隱層狀態(tài)和后向隱層狀態(tài),最終的方面詞的隱層狀態(tài)表示為,這里dh表示隱層單元的數(shù)量。 對于右邊的Bi-GRU 結(jié)構(gòu),本文把上下文詞向量和位置向量的拼接,作為右邊的Bi-GRU 的輸入。
PCT 層[29]是Point-Wise Convolution Transformation點式卷積轉(zhuǎn)換的簡稱,主要的作用可以轉(zhuǎn)換從Bi-GRU 得到的序列信息,并且過濾到噪聲信息,該卷積核的大小為1,PCT的定義如下:
其中,σ表示ELU激活函數(shù),“?”表示卷積操作;和分別表示卷積核的可學習權(quán)重參數(shù);分別表示卷積核的偏置參數(shù)。
傳統(tǒng)神經(jīng)網(wǎng)絡在處理數(shù)據(jù)時往往會忽略原有數(shù)據(jù)之間的聯(lián)系,特別是處理文本信息時,當輸入句子較長時,中間向量難以存儲足夠的信息,從而限制了模型的性能。 在自然語言處理過程中,注意力機制[7]允許模型根據(jù)輸入文本以及其到目前為止已經(jīng)生成的隱藏狀態(tài)來學習要注意的內(nèi)容,不同于標準神經(jīng)網(wǎng)絡將全部原文本編碼成固定長度的語義向量,注意力機制將研究聚焦到特定區(qū)域,很好地解決了中間向量存儲信息不足的問題。 該機制靈活地為神經(jīng)網(wǎng)絡隱層單元分配不同的概率權(quán)重,使得關鍵節(jié)點信息得到有效關注,降低了冗余信息對情感走向的影響。 利用注意力機制可以使模型更好地理解語義信息,全方位地關注更重要的內(nèi)容以及整體的情感走向。 在通過Bi-GRU 層得到上下文和方面詞隱層語義表示和PCT 層轉(zhuǎn)換序列信息后,由于在包含多個方面詞的上下文中,不同的方面詞對于相同的上下文的貢獻不同,而不同的上下文的對于修飾的相同的方面詞貢獻大小也不一樣,例如在句子“我喜歡蘋果電腦的系統(tǒng),但這臺筆記本電腦的揚聲器質(zhì)量不如我那臺惠普筆記本電腦”中,方面詞“揚聲器質(zhì)量”是由多個詞語組成,“質(zhì)量”對于該上下文的影響應該比“揚聲器”大,上下文中的詞應該將更多的注意力放在“質(zhì)量”這個方面詞上,而對于這種注意力的量化方法,本次研究中采用注意力機制。 本文通過PCT 層的上下文輸出H和方面詞輸出Q構(gòu)建了一個相似性矩陣S,N表示一個批次中的最大句子長度,M表示一個批次中的方面詞的最大長度。Sij表示第i個上下文的詞和第j個方面詞的相關性,相似性矩陣S的計算公式如下:
其中,Ws∈?1?6d是權(quán)重矩陣;[;]表示向量的拼接;“?”表示逐點向量元素乘積。
通過相似性矩陣S可以計算出每一個上下文詞對方面詞的權(quán)重αi以及m1。αi和m1的計算公式具體如下:
同樣地,通過相似性矩陣S可以計算出方面詞中的哪一個詞語對于上下文的詞是更加相關的,用m2表示,則有:
在全連接層之前,如果神經(jīng)元數(shù)目過大,學習能力過強, 可能出現(xiàn)過擬合問題。 本文引入dropout[33]正則化手段隨機刪除神經(jīng)網(wǎng)絡中的部分神經(jīng)元,用來解決過擬合問題。 全連接層拼接所有特征,得到一個高質(zhì)量的特征圖并輸入到輸出層。輸出層通過Softmax分類器輸出預測分類節(jié)點,每個節(jié)點表示一種分類,節(jié)點之和為1。 接下來,又選擇Adam 優(yōu)化器[37]優(yōu)化整體網(wǎng)絡參數(shù),模型在使用梯度下降時,可以合理地動態(tài)選擇學習速率,分配梯度下降幅度。 當訓練中損失函數(shù)接近最小值時減小每步的梯度下降幅度;如果損失函數(shù)曲線相對陡峭,則適當增大下降幅度。 進一步地,給出數(shù)學公式見如下:
其中,y∈Rc是預測的情感極性分布,是可學習的參數(shù)。
在標簽平滑上[32],通過觀察中性標簽的數(shù)據(jù)發(fā)現(xiàn)中性情感是不太明確的情感表達,故本文在損失函數(shù)中加入了標簽平滑,標簽平滑可以通過防止神經(jīng)網(wǎng)絡在訓練過程中為每個訓練示例分配全概率來減少過擬合,用平滑的值(如0.1 或0.9)替換分類目標的0 和1 值。 研究推得的數(shù)學公式可寫為:
其中,u(k) 表示標簽的先驗分布;ε是平滑參數(shù),本文中使ε =1/C,這里C表示分類的個數(shù)。 標簽平滑等同于KL 散度[34],需用到的公式如下:
其中,u(k) 表示標簽的分布,pθ表示神經(jīng)網(wǎng)絡的預測的結(jié)果,則本實驗要優(yōu)化的目標函數(shù)是:
本文在SemEval2014 任務4 的筆記本電腦和餐廳兩個領域特定的數(shù)據(jù)集[35]以及ACL14 推特數(shù)據(jù)集[36]上進行了實驗。 這些數(shù)據(jù)集的標簽有3 個,分別是:中性、積極和消極。 這3 個數(shù)據(jù)集的訓練集和測試集的一些統(tǒng)計情況見表1。
表1 3 個數(shù)據(jù)集的統(tǒng)計情況Tab. 1 The statistics of the three data sets
在實驗中,首先隨機選取20%的訓練數(shù)據(jù)作為驗證集來調(diào)優(yōu)超參數(shù)。 所有權(quán)重矩陣從均勻分布U(-0.1,0.1) 隨機初始化,所有偏差項設置為零。L2正則化系數(shù)λ=10-5,Dropout保持率為0.2。 詞嵌入使用300 維Glove 向量進行初始化,并在訓練過程中進行固定。 對于OOV 的單詞,從均勻分布U(-0.01,0.01) 中進行隨機初始化。 Adam 優(yōu)化器[37]的初始學習率為0.01。 如果訓練損失在每5個epoch后沒有下降,將學習速率降低一半。 批量大小設置為64。 Bi-GRU 隱藏狀態(tài)的維數(shù)設置為150,隱藏單元個數(shù)為200,模型的層數(shù)為2,采用ReLU作為激活函數(shù)。 迭代次數(shù)為10 輪,文本最大長度為一個批次中的最大句子長度。
為了評估本文所提模型的有效性,將本文所提的模型與幾種基線方法進行了比較,并且做了消融實驗來進一步驗證Albert-DP 模型的有效性。 通過在Restaurant、Laptop 以及Twitter 數(shù)據(jù)集上訓練和評估模型,并且使用準確率和Macro - F1值來衡量模型的性能。 文中用到的數(shù)學模型詳述如下。
精思的關鍵是善于提出問題和解決問題。讀書的時候,要用腦子把作者的觀點過濾一遍,提出有疑慮的地方,然后千方百計地解決疑問。這個過程能使我們在學習前人的基礎上,取得發(fā)展和進步。
(1)TD-LSTM 模型[22]。 使用2 個LSTM 網(wǎng)絡對圍繞方面術(shù)語的前后上下文進行建模。 將2 個LSTM網(wǎng)絡的最后隱藏狀態(tài)連接起來,預測情緒極性。
(2)ATAE-LSTM[38]。 對隱藏狀態(tài)采用注意力機制,并結(jié)合注意嵌入生成最終表示。
(3)IAN[24]。 使用2 個LSTM 網(wǎng)絡分別對句子和方面詞進行建模。 利用句子中的隱藏狀態(tài)生成目標的注意向量,反之亦然。 基于這2 個注意向量,則輸出句子表示和分類的目標表示。
(4)RAM[26]。 通過雙向LSTM 網(wǎng)絡對上下文詞學習多跳注意,并且使用GRU 網(wǎng)絡得到聚合向量。
(5)MemNet[39]模型。 對詞嵌入進行了多重關注,所以能夠從外部記憶中找出更多用于最終分類的依據(jù),最后一層的輸出被輸入到softmax層進行分類。
(6)MGAN[27]模型。 在方面詞是多個單詞組成時或者方面詞有著更長的上下文時會造成信息損失,提出多粒度的注意力機制。
(7)PBAN[28]模型。 編碼方面信息時加入了上下文的位置信息,但僅僅采用距離方面信息的直線距離大小來衡量對方面信息情感極性的貢獻。
(8)BERT-SPC[29]。 是使用預訓練模型BERT進行句子對分類的任務,BERT-SPC 構(gòu)造的模型的輸入形式是“[CLS]”+global context +“[SEP]”+[asp]+“[SEP]”。
表2 給出了本模型和其他模型的對比結(jié)果。 由表2 分析可知,Albert-DP 模型獲得了最大的準確率和F1值的提升,這也表明本文所提模型的有效性。 TD-LSTM 的整體表現(xiàn)欠佳,因其對方面詞的處理較為粗糙,在建模上下文詞時沒有充分利用方面詞信息。 ATAE-LSTM、IAN 和RAM 是基于注意力機制的模型,并優(yōu)于TD-LSTM 的表現(xiàn),RAM 是比其他的基于RNN 的模型有更好的效果,但是在推特數(shù)據(jù)集上表現(xiàn)的效果卻不好,可能是因為推文表達的不規(guī)范性。 IAN 模型注意到方面詞和其上下文交互的重要性,在建模時使用交互的注意力機制,所以IAN 取得了比ATAE-LSTM 更好的表現(xiàn)。 MemNet因為從構(gòu)建的外部記憶單元中獲得了有用的信息,所以有關的各項衡量指標都超過了IAN 模型。PBAN 模型利用方面詞的字符索引,并采用相對位置表示位置序列。 當不同的方面詞中有相同的詞語時,MemNet 并不能捕捉到這種差異。 BERT-SPC 模型和LCF-BERT 模型在建模時主要利用了BERT預訓練模型的強大特征表示能力,各項指標都有很大的提升。 PBAN 模型由于在編碼上下文位置時采用的是距離方面詞的絕對距離,會存在一些不足。本文所提的模型,能夠有效地彌補這種不足。 由于語言表達的復雜性,距離方面詞很近的上下文不一定是修飾方面詞,本文構(gòu)建的通過句法樹可以準確找到方面詞的上下文詞語,這更符合語言表達本身的特性。 所以能夠明顯提高分類的準確率。
表2 3 個數(shù)據(jù)集上的不同模型的表現(xiàn)Tab. 2 Performance of different models on three datasets %
在表2 中,基準模型的結(jié)果來自于已發(fā)表論文中的結(jié)果,“-”表示論文中并未使用該衡量指標。
在實驗中,本文發(fā)現(xiàn)性能隨著隨機初始化的不同而有很大的波動,這是一個在訓練神經(jīng)網(wǎng)絡[41]時較為常見的問題,因此,運行了本文的訓練算法10次,并將得到的平均準確率和F1值匯總列于表2中。
為了驗證本模型各個模塊的必要性,本文做了一系列的消融實驗。 借鑒AEN-BERT 論文中提出的PCT 方法,在經(jīng)過Bi-GRU 獲得的上下文和方面詞語義信息后,使用PCT 層過濾掉干擾分類的噪聲。 本文使用WP-PCT 表示去掉PCT 層,其他模塊保持不變。 為了驗證引入句法樹對位置信息編碼的有效性,本文采用了PBAN 模型中提出的位置信息方法來代替基于句法樹構(gòu)建的上下文位置信息的方法,簡記為WO-DP。 GRU 相比于LSTM 模型有更少的參數(shù),訓練速度更快,但這2 個模型在不同的NLP 任務中都有著各自的優(yōu)勢,本實驗通過改用LSTM 層來驗證GRU 和LSTM 哪一個更適用于本文提出的任務,簡記為W-LSTM。 Albert 模型相比于Bert 模型有很多的改進點,例如通過詞嵌入層的矩陣分解、編碼層的參數(shù)共享來降低參數(shù)以及將BERT 模型中的下一個句子預測任務(NSP)改為句子順序預測任務(SOP)等。 在Albert 論文中作者在各大經(jīng)典NLP 任務,如閱讀理解、文本分類中都進行了實驗,效果高于Bert 模型,但無法確定Albert模型在方面級情感分析任務中是否也能達到預期的效果,所以本文將Albert 模型改為Bert 模型進行驗證。 實驗結(jié)果見表3。
表3 4 種消融實驗結(jié)果Tab. 3 Four kinds of ablation experimental results %
本文提出了基于Albert 和引入句法解析樹的方面級情感分類模型Albert-DP。 以前的大部分工作都是基于靜態(tài)詞向量的詞嵌入,不能對文本表達的多樣性進行精確表示,同時對以往工作在建模上下文對方面詞的位置信息存在的不足,提出了構(gòu)建句子的句法樹,來更準確地找到方面詞的修飾語。 隨后,研究又發(fā)現(xiàn)中性標簽的數(shù)據(jù)集表達的不確定性,本文認為會存在一定的標簽不可靠情況,所以在損失函數(shù)中加入了標簽平滑的策略。 本文提出的模型在餐廳數(shù)據(jù)集(Restaurant)、電腦數(shù)據(jù)集(Laptop)和推特數(shù)據(jù)集(Twitter)上的實驗表明,與那些基準方法相比,本文的模型Albert-DP 具有更好的性能,從而進一步驗證了模型的有效性。