胡勝利,張麗萍
(安徽理工大學(xué) 計算機科學(xué)與工程學(xué)院,安徽 淮南 232001)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和外賣平臺上商家的不斷增加,外賣食品質(zhì)量參差不齊,外賣評論作為外賣食品質(zhì)量最直觀的工具顯得尤為重要?,F(xiàn)有的評論情緒分析主要分為兩類:基于機器學(xué)習(xí)和基于深度學(xué)習(xí)。文獻使用動態(tài)貝葉斯網(wǎng)絡(luò)對相關(guān)主題的情緒時間序列進行建模,并學(xué)習(xí)它們之間的關(guān)系。文獻提出利用卷積神經(jīng)網(wǎng)絡(luò)中的鄰接矩陣對文本分類進行動態(tài)建模。文獻利用卷積神經(jīng)網(wǎng)絡(luò)自動學(xué)習(xí)分類特征,并利用遞歸神經(jīng)網(wǎng)絡(luò)提取和記憶微博文本的序列語義關(guān)系。文獻采用雙向GRU 神經(jīng)網(wǎng)絡(luò)和注意機制模型對中文文本情感進行分析。文獻提出一種融合詞性的雙注意力機制的雙向長短期記憶網(wǎng)絡(luò)模型。雖然以上介紹的研究方法有一定的優(yōu)越性,但未能在準(zhǔn)確地獲取文本位置信息同時捕獲更多的情感信息,情感分類的效果會有所欠缺。因此,本文為了解決上述問題提出了一種基于ALBERT-CNN 的外賣評論情感分析模型,以提高情感分類效果。
為解決bert 訓(xùn)練參數(shù)較大、訓(xùn)練成本高等問題,Google提出ALBERT 預(yù)訓(xùn)練模型,ALBERT 對詞嵌入?yún)?shù)因式分解。首先將one-hot 投影到一個低維空間,大小為,然后再將結(jié)果映射到一個高緯空間,大小為,這樣就從開始的參數(shù)量(·)降到了現(xiàn)在的(·+·),在遠遠大于時,參數(shù)就會減少。但是如果不采用參數(shù)共享優(yōu)化方法此模型效果不大,因此,ALBERT 在全連接層和注意力層共享了參數(shù),即編碼器中的所有參數(shù)都是共享的,并且是相同的。此外,相比于Lee 等人提出的BERT 模型中的NSP 任務(wù)存在的缺點,ALBERT 使用句子順序預(yù)測(SOP)。SOP 比NSP 更復(fù)雜,可以學(xué)習(xí)更多的句子之間的語義關(guān)系。ALBERT 模型實現(xiàn)了基于Transformer 框架的編碼器-解碼器結(jié)構(gòu),、、…、E表示序列經(jīng)過多層雙向訓(xùn)練編碼器,最終得到文本的特征向量、、…、T。其模型結(jié)構(gòu)如圖1所示。
圖1 ALBERT 模型結(jié)構(gòu)
構(gòu)成CNN 中主要的三個部分分別為卷積層、池化層和全連接層,是一種特殊的前饋式神經(jīng)網(wǎng)絡(luò)。CNN 的核心是卷積層,池化層對從卷積層獲取的特征值進行采樣,本文采取的是最大池化方式,防止過擬合。
1.2.1 卷積層
卷積層的存在是為了提取句子的語義特征。一個卷積核對應(yīng)于提取特征的一部分。通過卷積運算,可以增強原始信號特性并降低噪聲,嵌入層對每個句子矩陣輸出進行卷積運算。
輸入層接收的文本特征矩陣向量 由輸入表示層輸出,并使用卷積層進行卷積運算,以準(zhǔn)確獲取包含在評論文本中的局部情感信息,從而得到新的文本特征 ,卷積層的輸出公式:
其中表示第個特征值,表示卷積滑動窗口的大小,?表示卷積運算,是由特征映射的偏置值;是卷積核的權(quán)重;是ReLU 的激活公式。最后得到的特征向量:
1.2.2 池化層
在卷積運算之后,文本中的局部情緒信息被傳輸?shù)匠鼗瘜?,進一步減少了參數(shù)數(shù)量、數(shù)據(jù)維度和過度擬合,公式為:
外賣評論短文本的局部特征向量通過cnn 卷積層的卷積計算和池層的池化計算得到。將所得到的特征向量連接在一起作為輸入矩陣和Albert 語義提取連接在一起。
商品評論情感分析模型如圖2所示。
圖2 ALBERT-CNN 結(jié)構(gòu)模型
句子首先輸入到ALBERT 輸入表示層中進行編碼,然后經(jīng)過ALBERT 語義提取層提取文本向量的全局特征,同時增加一個CNN 語義提取層,作用是用來提取外賣評論文本中的局部語義信息,最后連接CNN 和ALBERT 兩個網(wǎng)絡(luò)對外賣評論文本進行情感分析。具體每層功能如下。
輸入表示層主要采用MASK-LM 方法構(gòu)建,主要思想是隨機屏蔽或替換外賣評論文本中的任意單詞,然后模型根據(jù)左右單詞意思推測被遮蓋或替換的單詞意思。具體的操作是:隨機替換掉外賣文本中15%的詞,其中被替換的詞塊中有80%被[MASK]替換,比如:這家菜非常好吃→這家菜非常[MASK];10%可能性被其他此替換,比如:這家菜非常好吃→這家菜非常不錯;10%可能性句子不變。對于長外賣評論文本,特殊標(biāo)簽[SEP]將句子分成兩句話。輸入表示層的最終輸出包括標(biāo)簽嵌入、分段嵌入和位置嵌入。
首先輸入外賣文本數(shù)據(jù)={,,…,x},其中x表示該條外賣評論文本中的第個詞。文本={,,…,x}再進行序列化為={,,…,E},其中E表示文本中第個詞的序列化字符。
語義提取層是以編碼器為基本單元的多層雙向解碼器。隱藏層中的任何隱藏單元在通過Transformer 編碼器中的注意機制后都包含評論文本。利用輸入層將商品文本數(shù)據(jù)輸人到模型的ALBERT 語義提取層中,通過多層雙向Transformer 編碼器訓(xùn)練已經(jīng)序列化過的外賣評論文本,以此將外賣評論文本表示為動態(tài)特征。
文本特征表示={,,…,T},其中T表示評論文本中第個詞的向量。通過Transformer 編碼器訓(xùn)練出的文本特征可以區(qū)分上下文,根據(jù)不同的語境判斷單詞的不同意思,并且Transformer 編碼器可以計算出詞與詞之間相關(guān)性大小,然后根據(jù)相關(guān)性調(diào)整每個詞的權(quán)重,從而得到單詞新的表達。
在CNN 語義提取層中,將序列化后的文本輸入進去,再通過大小為3、4 和5 的卷積核訓(xùn)練文本特征,經(jīng)過池化降維后,將得到的三個文本向量F,F和F進行疊加得到一個向量F。為了保證池化后的三個向量文本可相互疊加,池層采用全填充的方法,使池后的三個文本向量具有相同的形狀。
全連接層主要連接ALBERT 和CNN 的語義提取層。其中加入R_Drop 進行正則化,損失函數(shù)公式如下:
其中,1_loss 和2_loss 分別表示兩次同樣輸入的輸出的交叉熵損失,kl_loss 代表kl 散度損失。
Dropout 方法由于每次隨機丟棄部分神經(jīng)元,導(dǎo)致每次丟棄后產(chǎn)生的子模型都不一樣,所有的操作一定程度上使得訓(xùn)練后的模型是一種多個子模型的組合約束。正由于Dropout 的這種特殊方式對網(wǎng)絡(luò)帶來的隨機性,所以R-Drop將進一步對(子模型)網(wǎng)絡(luò)的輸出預(yù)測進行了正則約束,對于每個訓(xùn)練樣本,R-Drop 使通過Drop 抽樣的兩個子模型的輸出分布之間的雙向KL 發(fā)散最小化。R_Drop 結(jié)構(gòu)如圖3所示。
圖3 R_Drop 結(jié)構(gòu)
使用Softmax 函數(shù)對全連接層的輸出結(jié)果進行歸一化,最終得到商品評論文本的情感極性。Softmax 函數(shù)具體公式如下:
其中,v表示第個節(jié)點的輸出值,為分類的類別個數(shù),即輸出節(jié)點的總個數(shù),通過Softmax 函數(shù)可以將輸出值分為正負兩類。
實驗數(shù)據(jù)來自公共數(shù)據(jù)集,為某外賣平臺收集的用戶評論。語料庫量表總數(shù)為12 000 個,其中4 000 條為正面評論和8 000 條負面評論。語料庫分為訓(xùn)練集和測試集,在訓(xùn)練集中,3 600 條正面評論,2 800 條負面評論,剩下的語料作為測試集。
數(shù)據(jù)示例如表1所示(其中負標(biāo)簽為0,正標(biāo)簽為1):
表1 外賣數(shù)據(jù)集示例
準(zhǔn)確率Acc、精確率P、召回率R 和F1 值用于評估情緒分析模型。根據(jù)實例的真實類型和ALBERT-CNN 預(yù)測類型的組合,將實例分為真陽性(TP)、假陽性(FP)、真陰性(TN)和假陰性(FN)類型,公式化后得到準(zhǔn)確率Acc、精確率P、召回率R 和F1 值,其計算公式分別為:
結(jié)果如表2所示。將ALBERT-CNN 模型和SVM 模型、CNN 模型、ALBERT 模型進行比較,在同一外賣文本數(shù)據(jù)集上的精確率P、召回率R 和F1 值均有所提升,由此得出,相對于SVM 模型,評論文本句子中同一個詞通過ALBERT模型提取能夠區(qū)分在不同語境下所包含的不同含義,使文本情感分析分類效果得到了很好的提升;此外,CNN 模型充分考慮文本的局部信息和語境信息關(guān)聯(lián),所以總體而言ALBERT-CNN 模型比ALBERT 模型和CNN 模型在外賣文本情感分析中有更好的表現(xiàn)。
表2 對比實驗結(jié)果
通過對幾個模型準(zhǔn)確率的對比,結(jié)果如圖4所示。ALBERT-CNN 模型的準(zhǔn)確率可以達到91.3%,均高于其他對比模型,再次證明此模型的有效性。
圖4 模型準(zhǔn)確率對比
本文提出了一個ALBERT-CNN 外賣評論情緒分析模型。評論文本向量的全局特征由預(yù)訓(xùn)練模型ALBERT 所提取,評論文本句子中同一個詞通過ALBERT 模型提取能夠區(qū)分在不同語境下所包含的不同含義,這解決了傳統(tǒng)的情感分析方法無法完成的問題;同時通過CNN 提取了評論文本向量局部特征信息;最后再連接到Softmax 層進行分類。通過對不同的情感分析模型使用同一數(shù)據(jù)集進行對比實驗,證明了ALBERT-CNN 模型在外賣文本情感分析任務(wù)中的有效性。然而,本文提出的情感分析模型僅依賴于用戶外賣評論文本中的信息,用戶對外賣商家給出的星級并未考慮到,在下一步研究工作中,將構(gòu)建一個商品評論情緒分析模型,該模型將商品評論文本與商品星級相結(jié)合,從而使該模型更加準(zhǔn)確和實用。