徐鵬,羅梓汛,黃昕凱
(廣東東軟學院,廣東 佛山 528225)
在互聯網迅速發(fā)展、大數據來臨,以及中國電商行業(yè)競爭加劇的背景環(huán)境下,用戶于電商平臺上購買商品的行為規(guī)模呈指數級上升,評論數據也隨之增多。通常情況下,商品的評論數據中,蘊含著用戶觀點態(tài)度、情感傾向以及個人的見解。因此挖掘出用戶的評論數據中的深層意向至關重要。在此前提下,商品評價分析應運而生。
商品評價分析是指通過對用戶評論的處理,分析用戶對商品的關注程度和情感態(tài)度,為商戶選品和用戶購買提供一定的決策輔助[1]。在本文Bert與BiLSTM 的商品評論情感分析研究中,商品評論情感分析占據主要地位,重點旨在發(fā)現用戶是否有購買該商品的意愿并起到推薦作用,引導更多用戶進行購買及評論。傳統的關鍵詞提取算法和預訓練模型不能很好地聯系上下文的語境和詞向量稀疏等問題,不能精準有效地標出關鍵詞。針對此問題,本文采用Bert 模型對評論數據進行詞向量處理,避免分詞造成的歧義,同時BiLSTM 能結合上下文的語境,使得模型更為精確,實現評論文本情感分析。
循環(huán)神經網絡(Recurrent Neural Network,RNN)能夠挖掘出特征中語義信息,使深度學習模型在處理語言數據時運用更加廣泛。循環(huán)神經網絡在原有的神經網絡基礎上,增加了對隱藏層的循環(huán)結構,使隱藏層既可不受輸入影響,還能接收上一時刻隱含層的影響[2]。循環(huán)神經網絡設計展開如圖1 所示。
圖1 RNN 結構圖Fig.1 RNN structure
相比于RNN,LSTM 引入了輸入門i、遺忘門f、輸出門o以及內部記憶單元c,通過門控狀態(tài)來控制傳輸狀態(tài),記住需要記憶的信息,忘記不重要的信息;而不是和RNN 一樣,只能夠做記憶上的疊加。LSTM 能有效解決傳統RNN 在處理時間序列長期依賴中的梯度消失和梯度爆炸的問題,且對很多需要“長期記憶的”任務來說,效果顯著,誤差較?。?]。LSTM 單元結構如圖2 所示。
圖2 LSTM 單元結構Fig.2 LSTM unit structure
由圖2 可知,ft稱為遺忘門,表示Ct-1需要用作于計算Ct的特征;“?”表示LSTM 中最重要的門機制;Wf是遺忘門的權重;bf是遺忘門的偏置。此處需用到的數學公式可寫為:
對于輸入門i來說,可用于控制輸入x和當前計算的狀態(tài)更新到記憶單元的程度大小。相應的數學表示形式為:
it能夠控制的部分特征,用來更新Ct,與ft相同,可由如下公式進行計算:
對輸出層來說,其設計原理的數學表達式為:
上述所有表達式中,σ通常是指Sigmoid函數,主要起到門控作用,其輸出為0~1,當輸出接近0 或1時,才能符合物理意義上的開或關。
BiLSTM 是對LSTM 的改進方案。該方案有效解決了LSTM 無法學習反向特征的問題,因此本文采用雙向BiLSTM 模型用于情感分類,一個用于保存上一詞語的前后文,另一個用于存儲下一詞語的前后文[4]。BiLSTM 結構如圖3 所示。
圖3 BiLSTM 結構圖Fig.3 BiLSTM structure
Bert 是一個預訓練的語言模型,重點強調了不再采用傳統的單向語言模型、或者把2 個單向語言模型通過淺層拼接的方法來進行預訓練,而是通過使用遮擋語言模型(MLM)生成深度的雙向語言表征[5]。
Bert 的提出為自然處理領域帶來明顯提升。前期的模型是單向訓練、并將2 個單向訓練相結合,而Bert 則為了將句子轉化為詞向量而使用了多層Transformer[6],對語境的分析相比單向模型來說會更加透徹[2]。Bert-base 的Encoder 是由12 層結構相同的Transformer Encoder 結構堆疊而成。雖然結構上是相同的,但相互間的權重并不共享[7]。Bert Ttransformer Encoder 結構如圖4 所示。Bert 的模型架構上采用了Transformer 的encoder 部分,輸入由字嵌入(token embedding)、段嵌入(segment embedding)和位置嵌入(position embedding)三部分相加構成,每個輸入的起始token 會固定設置為′CLS′,用于下游的分類任務,2個不同的sentence 間會加入′SEP′作為分隔,輸入的尾部同樣會加入一個′SEP′[8]。嵌入層架構如圖5 所示。
圖4 Bert Transformer Encoder 結構Fig.4 Bert Transformer Encoder structure
圖5 Bert 嵌入層架構Fig.5 Bert embedded layer structure
研究中,由MLM 和下一句預測(NSP)來進行Bert 的模型訓練。MLM 對輸入中的部分詞語進行隨機選取替換,致力于通過訓練能夠正確預測出原始輸入的替換詞,進而聯合雙向上下文達到雙向編碼的效果[9]。NSP 能夠預測2 個句子是否連在一起,用于挖掘句子關系。在預處理時會以50%的概率從其他文檔中隨機選取首個text的下一個text,在預訓練中預測其后的text是否為前一個text的真實下文,即可整理得到句子的邏輯關系[10]。
注意力機制如圖6 所示。運算結構為一層Decoder 與一層Encoder 對應。在Encoder中,輸入經過Embedding后,需進行位置嵌入(Positional encoding),再經過Multi-Head Attention,最后是全連接層[11]。
圖6 Attention 運算Fig.6 Attention operation
本文采用Bert 的嵌入層將詞序列抽取輸出embedding 序列、再轉換成詞向量形式,同時將Bert輸出的詞向量經過BiLSTM 進一步再做特征提取,將其傳送到輸出層。輸出層由全連接層和softmax層構成,在全連接層調整特征向量的維數,并使用softmax分類器對評論文本進行分類,實現情感分析。模型設計架構如圖7 所示。
圖7 Bert-BiLSTM 模型架構Fig.7 Bert-BiLSTM model structure
在BiLSTM 的輸出層引入Multi-Head Attention注意力機制,詞向量在BiLSTM 層產生的輸出向量hi進入Multi-Head Attention層輸出,提高文本情感信息的利用反饋。計算公式見如下:
實驗使用的商品評論數據集為Julian McAuley,UCSD 整理的Amazon product data-Clothing,Shoes and Jewelry 數據集,總共278 677 條數據,數據未帶情感標注,實驗抽取10 000 條評論作為實驗數據,并對文本內容以自然語言處理(SNOWNLP)來做分類輔助的人工標注,標注結果可分為positive、neutral、negative,選取數據集70%作為訓練集,20%作為測試集,10%的商品評論作為校驗集。實驗部分數據示例見表1。
表1 實驗數據示例Tab.1 Examples of experimental data
為確保數據有效性,需對文本數據進行預處理。文本預處理的過程為:去除多余無用符號,對文本單詞進行糾錯處理,通過自定義停用詞表將文本數據中的無意義單詞進行剔除,使用正則表達式把文本中特殊符號刪除,再使用Sentence BERT 提取到句子主干,索引長度實現標準化,從而避免了句子過長無法訓練問題。評論數據預處理結果示意見表2。
表2 評論數據預處理示意表Tab.2 Comment data preprocessing schematic
本文模型Bert-BiLSTM 參數設置如下。輸入層采用預訓練模型BERT-Base-uncased,該模型采用12 層Transformer,隱層維度為768,Multi-Head-Attention 的參數為12,模型總參數大小為110 MB。特征提取層主要由BiLSTM 構成。
模型訓練方面,設置批次大小為64,最大序列長度為512,隱藏層個數為13,epoch為4,batch size設定為256,優(yōu)化器選用LAMB,防止過擬合的dropout率為0.5。
本文的研究內容是預測商品評論數據是否為消極或積極,是自然語言處理中常見的分類任務。若預測結果為積極,標記為1,否則標記為0。預測結果的混淆矩陣見表3。
表3 混淆矩陣Tab.3 Confusion matrix
表3中,TP表示預測結果為積極,實際評論也為積極;FP表示預測結果為積極,而實際為消極;FN表示預測結果為消極,而實際為積極;TN表示預測結果為消極,實際也為消極。接下來,對于研究中選用的評價指標,擬展開探討分述如下。
(1)召回率。表示模型實際為1 的樣本,預測仍為1 的樣本概率,其計算公式為:
(2)精準率。是指在所有預測為1 的樣本中,實際有多少個樣本為1,其計算公式為:
(3)F1值。是對召回率和精準率的綜合評價指標,是對其進行加權平均的結果,其計算公式為:
本文從準確率(Precision score)、召回率(Recall score)、F1(F1-score)三個方面作為評價指標。其中,Precision是判別模型對負樣本的區(qū)分能力;Recall是模型對正樣本的識別能力;F1是將Precision與Recall相結合的綜合值,這2 個評價指標的結合可以更加全面地反映分類性能。特別地,利用F1值來評估分類器性能時,分類器的性能越好,F1值越接近于1,因此本文選其作為衡量實驗效果的主要評價指標。
在對比實驗上,本文選取了Bert、BiLSTM、W2V-SVM 模型進行訓練與結果比較。具體描述如下。
(1)Bert:使用預處理模型 BERT -base -uncased,參數與本文Bert 預設參數保持一致,利用預訓練文本特征后輸入Bert 情感分類。
(2)BiLSTM:定義參數大小與2 層雙向LSTM的模型結構一樣,并使用全連接層,再經過SoftMax分類器輸出情感分類結果。
(3)W2V-SVM:使用SNOWNLP 進行分詞,并做數據轉化,接著將Word2Vec 模型詞表初始化,再將各個詞向量用平均的方式生成整句對應的向量。用矩陣進行建模與轉化,擬合SVM 模型,并使用本文準備的文本評論數據進行訓練。
對比模型的實驗結果見表4。由表4 的整體結果分析可知,Bert-BILST 模型精度與Bert、BiLSTM和W2V-SVM精度相比分別提高了3.32%、9.1%和4.35%。Bert-BiLSTM 的雙向神經網絡相對于傳統文本分類模型在語境上有較大提升,進行情感分析可以獲得更好的結果。表5 為示例分析結果展示。
表4 對比試驗模型比較Tab.4 Comparative test model comparison %
本文對基于Bert 和BiLSTM 的情感分析進行了研究。實驗結果表明,Bert 將句子轉化為詞向量,輸入到BiLSTM 模型中,由于BiLSTM 能兼顧上下文的語境,提高句意的情感豐富度,有效提升了文本分類的準確度,得到較為優(yōu)化的分類器。經過對比實驗后,所得結果均要優(yōu)于傳統的機器學習模型SVM 以及W2V-SVM、Bert、BiLSTM 等深度學習模型。只是本文研究仍有一定不足,如某些評論數據存在歧義,過分積極化實則隱藏為消極,在后續(xù)研究中需要對此類數據進行特殊處理,并且加大評論數據集,進而提升模型整體效果,增強泛化能力。