陳 旭 ,潘 峰 ,韓 益 亮 ,王 寧
(1.武警工程大學 密碼工程學院, 陜西 西安 710086;2.武警部隊密碼與信息安全保密重點實驗室,陜西 西安710086;3.武警河北總隊張家口支隊,河北 張家口 075000)
自2019 年底以來,新冠疫情在世界范圍內迅速擴散。 截至 2021 年 6 月,在世界范圍內,新冠疫情已經累計造成380 萬人死亡[1]。 根據國際貨幣基金組織不完全統計,新冠疫情將會造成全球經濟損失達 21 萬億英鎊[2]。 盡管在政府的有力統籌和全國人民的共同努力下,新冠疫情在我國范圍內已經得到了有效控制,但是由于新冠病毒的高傳染性、高變異性,在經濟全球化的背景下,單純依靠防控措施很難徹底杜絕新冠病毒傳播。 同時,相關研究表明,新冠患者即使康復以后,身體仍會受到一定的不可逆轉的損傷。 因此,無論從國家發展角度,還是從個人健康角度,接種新冠疫苗刻不容緩。 以微博為代表的新媒體平臺成為了群眾發表觀點的主要方式。 通過微博及時有效地收集群眾針對接種新冠疫苗的評論,分析群眾接種疫苗的情感傾向性,對于政府有針對性地開展疫苗接種宣傳疏導工作具有重要意義。
文本情感分析,也稱為意見挖掘,旨在通過一定的模型分析自然語言文本中的主觀性來評估其嵌入的態度。 傳統的情感分析方法主要分為三大類:基于情感詞典的分析方法、基于傳統機器學習的分析方法以及基于深度學習的分析方法。 基于情感詞典的分析方法存在情感詞典的構建和維護需要大量人力的問題;基于傳統機器學習的算法相比于基于情感詞典的方法,在性能上的提升并不明顯;基于深度學習的情感分析方法,由于其出色的效率和強大的實用性,逐漸成為文本情感分析領域的熱點。 在文本情感分析領域, 常見的深度學習模型有卷積神經網絡(Convolutional Neural Networks,CNN)、循環神經網絡(Recurrent Neural Networks,RNN)等。 Kim 等人[3]在英文語料上,首次運用 CNN 實現了文本情感分類任務,但CNN 缺乏對文本提取特征的能力。Irsoy 等人[4]使用 RNN 在英文語料上建模進行情感分析,RNN 引入了記憶單元使網絡具有了一定的記憶能力,但其存在訓練中易出現梯度爆炸和彌散的問題。
在RNN 基礎上改進的長短時記憶網絡(Long Short-Term Memory,LSTM)和門限循環單元(Gated Recurrent Unit,GRU),能夠較好地克服 RNN 的弊端。周瑛等人[5]通過在LSTM 模型后增加注意力(Attention)機制,提升了對中文微博較長文本的分類效率,但單向 LSTM 模型存在忽略下文信息的問題。 Tang 等人[6]在雙向LSTM 模型后增加注意力機制來解決文本級情感分析問題,但是將注意力機制與雙向LSTM模型串行不利于充分學習文本語義信息。 關鵬飛等人[7]通過將BiLSTM 與注意力機制并行直接作用于輸入的文本向量上,增強了注意力機制語義學習的能力,提高了文本情感分類的效率。Kumar 等人[8]將BiLSTM 模型與兩層注意力機制混搭,一定程度上提升了文本情感分類的效率。 Greff 等人[9]和 Jozefowicz等人[10]對 LSTM 和 GRU 框架進行了實驗比較,發現在二者性能沒有本質區別的情況下,GRU 比LSTM結構相對簡單,計算復雜度較低。 因而眾多學者嘗試在 GRU 模型框架上進行改進,或者將 GRU 模型與其他模型混合。 王偉等人[11]將注意力機制串聯作用于BiGRU 模型之后, 相比于在BiLSTM 模型上增加注意力機制減少了訓練時間。黃磊等人[12]采用GRU模型與LSTM 模型混合的方式,提高了模型的召回率。此外,近年來 Bert 語言模型[13]的提出,不斷刷新自然語言領域深度學習模型的性能表現記錄,例如謝潤忠等人[14]將基于 Bert 的預訓練模型與 BiGRU、Attention 機制融合建立了文本情感分類模型。 但是基于Bert 的預訓練模型需要超大的訓練數據以及極大的訓練開銷,可復現性較差。
本文在文獻[7]的基礎上,選擇模型復雜度更低的 GRU 模型為基礎,運用 BiGRU 與注意力機制并行增強對文本上下文的學習能力。 實驗證明,針對爬取并標注的新冠疫苗接種意向方面的微博評論,該模型的情感分類效率有一定的提升。
利用深度學習模型進行自然語言處理通常需要首先對文本進行向量化表示。 傳統的one-hot 表示存在詞向量過于稀疏以及不包含語義信息的問題,Word2vec 模型的出現一定程度上解決了這一問題。 Word2vec 是 Google 研究團隊[15-16]于 2013 年提出的一種有監督的訓練詞向量的模型,自提出以來得到了廣泛運用。 其出發點是上下文相似的兩個詞,其詞義也相似。 它包含兩個子模型:CBOW 和 Skip-Gram。 CBOW 模型通過上下文詞匯預測當前詞匯,Skip-Gram 模型通過當前詞匯預測上下文詞匯。Word2vec 模型結構如圖 1 所示。

圖1 Word2vec 模型結構圖
Word2vec 訓練得到的副產品是詞向量矩陣,而這正是自然語言處理領域將語言向量化所需要的。理論上通過對大量語料進行訓練生成的詞向量矩陣,可以實現任意詞匯的向量化表示。 向量化表示后的結果作為深度學習的輸入,為深度學習訓練打下基礎。
RNN 是用于處理序列數據的神經網絡,被廣泛應用于自然語言處理中的情感分類任務。 在處理自然語言分類任務時,RNN 是一個典型的多輸入、單輸出模型,假設輸入序列長度為6,其標準結構如圖 2 所示。

圖2 RNN 標準結構圖
其中序列(x1,x2,x3,x4,x5,x6)是 輸 入層 的輸入,序列(h1,h2,h3,h4,h5,h6)為 隱藏 層 的 循 環單元,y 為輸出層輸出的分類結果。 通常,在文本情感分析的多分類模型中,y 是由循環單元依照softmax(歸一化指數)函數生成,即:

其中,V 為權重系數矩陣,c 為偏移向量。
傳統的RNN 算法雖然在處理序列問題時有很好的效果,但是在訓練中存在嚴重的梯度消失和梯度爆炸問題,而其改進算法LSTM 和GRU 很好地克服了這兩點問題。同時,相比于 LSTM,GRU 將 LSTM的忘記門和輸出門合并成更新門,模型更加簡單,在訓練時間更短的情況下模型效率與LSTM 基本一致,僅取決于針對問題的不同略有差異。 GRU 模型的具體結構如圖3 所示。

圖3 GRU 模型結構圖
其中,ht-1為上一時刻狀態,ht為當前時刻輸出狀態為隱藏狀態。 zt為更新門當前狀態,它決定了過去有多少信息保留以及未來有多少信息加進來。 rt為重置門當前狀態,它決定了上一時刻狀態對隱藏狀態的影響。

其 中 ,Wh、Wz、Wr和 Uh、Uz、Ur均 為 要 學 習 的 權 重 ,bh、bz、br均為要學習的偏置。 單 向 GRU 存 在忽 視下文信息的問題,雙向GRU 則可以充分學習上下文信息。 雙向GRU 模型是由兩個信息傳遞相反的GRU 模型構成的,其中第一層按時間順序傳遞信息,第二層按時間逆序傳遞信息。
近年來,注意力機制在深度學習各個領域日漸火熱,它起源于人類視覺特有的快速掃描重點目標區域的大腦信號處理機制。 在自然語言領域引入注意力機制,有利于模型的快速收斂以及更好關注自然語言中信息價值更大的部分。 Bahdanau 等人[17]首次將注意力機制應用到自然語言領域,自此注意力機制由于其良好的實用性在自然語言處理領域被廣泛采用。 注意力機制可以實現自動從給定文本向量中學習權重分布,計算方法如式(6)、(7)所示:

其中,vt為學習所得的中間參數,at表示第 t 個詞對當前文本的重要程度,A、W 為權重矩陣,xt為輸入序列,b 為訓練中的偏置向量。
本文模型采用雙向GRU 與注意力機制并行結合的方式,與文本向量串聯加強語義信息的學習。 模型結構如圖4 所示。 首先將采集的關于新冠疫苗接種的評論文本輸入,而后采用Word2vec 進行向量化表示,再將向量化的文本分別輸入BiGRU 與Attention機制進行學習,兩部分所得結果拼接后,通過softmax函數實現短文本情感的三分類。

圖4 模型結構圖
微博作為新媒體社交軟件的主要代表之一,具有較大的普及性及關注度,能夠在熱點事件發生的第一時間推送消息、獲取網民評論,具有較高的輿情研究價值。 因而本文選擇微博作為語料源,利用八爪魚爬蟲軟件爬取 2021 年 1 月至 5 月網民關于新冠疫苗接種方面的評論。
針對爬取的數據,首先利用八爪魚軟件進行去重處理,而后利用 NLP 工具 HarvestText,實現去除微博文本中的雜質“@”、去除表情符、將繁體字轉為簡體字等去雜步驟。
接著對其情感傾向性進行標注,常見的情感分類數有二分類、三分類以及多分類。 結合接種新冠疫苗的實際,有些群眾能夠將接種疫苗上升到利國利己的角度,積極主動參與;有些群眾擔心疫苗接種副作用,對接種疫苗十分抵觸,或者因身體原因不能接種;還有些群眾對接種新冠疫苗表示懷疑、猶豫不決,或者對新冠疫苗接種的禁忌不是特別清楚。 因而對數據標注采用三分類更加合理。 根據文本中透露的接種疫苗情感傾向,分為積極、中立、消極,依次標注為2、1、0。 其中積極情感包括已經接種過疫苗、還未接種但是想要接種、想接種但是因疫苗缺乏接種不到等幾類,標注為2;中立情感包括猶豫是否接種疫苗、不清楚身患某種疾病是否可以接種、接種一針后有副作用不知道能否繼續接種等,標注為1;消極情感包括因覺得疫苗副作用大堅決不接種、打完疫苗副作用大不愿繼續接種、被強制接種但是不想接種、因懷孕或者身患某種疾病不能接種等,標注為0。 示例評論及標注如表1 所示。

表1 評論文本標注示例
去除與接種疫苗無關的評論,共得到標注完畢的文本評論 12 000 條,其中積極情感評論8 333 條、中立情感評論1 992 條、消極情感評論1 675 條。 1 ~5月份爬取微博評論各類標注數量如圖5 所示。 從爬取并標注的數據可以看出,大多數群眾對于接種疫苗的意愿是積極的。

圖5 1~5 月份評論情感標注
選取Word2vec 模型對標注后的語料進行向量化,為下一步輸入模型訓練做好準備。 采用中文維基百科語料作為Word2vec 模型的訓練語料,利用NLP 工具HarvestText 去除語料中的表情符以及將繁體字轉為簡體字,使用 jieba 分詞模塊進行分詞,分詞前去除停用詞,并將疫苗、新冠疫情等詞設置為常用詞。 對于分詞結果,選取出現頻率較高的高頻詞,統計結果如表 2 所示。

表2 高頻詞詞頻統計表
選擇 Word2vec 模型中的cbow 模型,設置向量維數 size=300、最小詞頻 min_count=3,而后開始訓練。將分詞后的12 000 條標注語料輸入訓練完畢的Word2vec 模型,得到語料的向量化表示結果,為后續模型訓練做好準備。 本文主要針對短文本進行情感分類,對文本語句的最大長度選擇為32 個詞,不足 32 的補 0 處理。
從標注好的12 000 條語料中隨機劃分2 400 條作為測試集,其余9 600 條作為訓練集。 實驗在 CPU為AMD Ryzen 5 3600 6-Core Processor、內存為 16.0 GB的服務器上運行,GRU 模型和Attention 機制的隱藏層設置為256,學習率為0.001,主要參數如表3 所示。

表3 主要實驗參數
本文主要通過正確率以及訓練時間與傳統情感分類模型對比來評價改進模型。 在相同條件下,模型訓練后的正確率越高,訓練時間越短,模型效果越好。 在模型經過訓練集訓練后,將測試集輸入測試,假設正確劃分測試集的個數為T,錯誤劃分測試集的個數為F,則模型訓練的正確率A 的計算公式為:

本文在文獻[7]的基礎上,考慮到 GRU 相比于LSTM,效果相似的同時復雜度有所降低,因而采用雙向 GRU 與 Attention 機制并行作為本文深度學習的核心架構。 針對爬取并標注的新冠疫苗接種傾向性分析方面的評論,經過幾輪迭代,當模型準確率達到最高后,各模型實驗結果如表4 所示。

表4 實驗結果對比表
如表4 所示,將本文改進的模型④分別與傳統模型①②③進行對比。 在針對新冠疫苗接種傾向性分析時,將模型④與模型①相比,本文改進的模型準確率有了較大的提升,運行時間有了一定程度的降低,即改進的模型效率有了明顯提高。 這說明針對本文標注的實驗數據,BiGRU 與 Attention 并行的結構比 BiLSTM 與 Attention 并行的結構更有優勢,這主要是由于GRU 模型結構比LSTM 結構更加簡潔。 將模型④與模型②相比,模型④準確率略高,運行時間卻增加了,這說明引入Attention 機制與Bi-GRU 并行有助于增強文本信息學習能力,提高重點詞匯學習能力,但由于整體模型架構相對復雜,有可能導致增加一定學習時間。將模型④與模型③相比,二者主要區別在于 Attention 機制與 BiGRU 是并行還是串行。 通過比較可以發現,本文改進的模型④在運行時間上比模型③少,但準確率也略有降低。 各模型整體性能上各有千秋,具體性能上的優異還要取決于進一步實驗。
綜合上述實驗可知,本文基于文獻[7]改進的模型,相比于原模型,效率有了明顯提升;相比于BiGRU+Attention( 串 行 ), 運 行 時 間 更 短 ; 相 比 于BiGRU 模型,準確率更高。 因此針對新冠疫苗接種意愿傾向性分析,改進的以 BiGRU 與 Attention 機制并聯的模型具有一定的價值。
本文對傳統運用深度學習情感分類模型進行改進,使用結構更加簡潔的GRU 模型替代 LSTM 模型,并且運用雙向GRU 模型提升上下文語義的學習能力,同時充分發揮 Attention 機制與 BiGRU 并行的優勢,提高文本中重點詞語的學習能力。 另一方面, 本文針對當前新冠疫苗接種意愿的熱點話題, 在微博上進行了網絡評論的爬取以及情感標注,并用來驗證改進情感分類模型的效率。
從模型對比實驗結果來看,相比于BiLSTM 與Attention 并行的傳統模型,本文改進的模型運行時間更短,對標注數據情感分類準確率更高,達到了預期的訓練效果;相比于 BiGRU 模型、BiGRU 與Attention 串行模型,本文改進的模型分別在運行時間和準確率方面有所提高。因而本文改進的深度學習模型對新冠疫苗接種情感傾向性分析具有一定的價值。
但是本文的研究也存在一定的局限性:第一,本文實驗針對的微博評論數據量有限,難以充分比較出與其他模型的優勢,在未來的研究中還需考察大量數據下模型的實驗效果。 第二,本文模型忽略了微博評論中一級評論和二級評論的差異性。二級評論建立在一級評論的基礎上,針對不同的一級評論,相同的二級評論可能反映出不同的情感傾向。因而下一步研究中還需細化考慮一級評論對二級評論的影響。