• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      改進(jìn)BERT 的中文評論情感分類模型

      2022-03-07 06:57:48范安民李春輝
      軟件導(dǎo)刊 2022年2期
      關(guān)鍵詞:注意力向量神經(jīng)網(wǎng)絡(luò)

      范安民,李春輝

      (河南財(cái)經(jīng)政法大學(xué)計(jì)算機(jī)與信息工程學(xué)院,河南鄭州 450046)

      0 引言

      近年來,深度學(xué)習(xí)在圖像和語音處理領(lǐng)域取得顯著進(jìn)展,然而在自然語言處理領(lǐng)域的研究中尚未取得較大突破。情感分類是自然語言處理任務(wù)中的一個(gè)子任務(wù),其本質(zhì)上是對帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理的過程,例如對電影和電視劇的評論、網(wǎng)購產(chǎn)品評價(jià)、微博微信等社交平臺(tái)在某一熱點(diǎn)事件上的評論等。情感分析有助于使用者獲得產(chǎn)品的客觀評價(jià)并合理地進(jìn)行輿情監(jiān)測,結(jié)合本國互聯(lián)網(wǎng)電商和社交平臺(tái)的迅速發(fā)展以及廣大網(wǎng)民熱衷于發(fā)表網(wǎng)絡(luò)評論的國情,中文評論情感分類研究具有重要意義。如何以深度學(xué)習(xí)網(wǎng)絡(luò)為基礎(chǔ),構(gòu)建高效的中文評論情感分類模型已經(jīng)成為中文評論情感分類研究的熱點(diǎn)問題。

      深度學(xué)習(xí)網(wǎng)絡(luò)在情感分析方面常用到卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN),其中RNN 是主流網(wǎng)絡(luò),因?yàn)镽NN 在當(dāng)前節(jié)點(diǎn)的輸出值由當(dāng)前時(shí)刻的輸入和上一時(shí)刻的輸出共同決定,這樣使得RNN 能夠充分學(xué)習(xí)文本前后文信息。在循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用方面常見的是其變體LSTM(Long Short Term Memory),這種變體可以學(xué)習(xí)長期依賴信息。GRU(Gated Recurrent Unity)是LSTM 的一個(gè)變體,它進(jìn)一步減少了LSTM 網(wǎng)絡(luò)內(nèi)部的門結(jié)構(gòu),提高了網(wǎng)絡(luò)模型的學(xué)習(xí)效率。雙向循環(huán)神經(jīng)網(wǎng)絡(luò)BiLSTM(Bidirectional Recurrent Neural Networks)和BiGRU(Bidirectional Gated Recurrent Unity)通過建立雙向網(wǎng)絡(luò)連接,將文本從兩個(gè)方向同時(shí)輸入,使模型可以更充分地獲取句子間的語義信息,以這兩種網(wǎng)絡(luò)為基礎(chǔ)的情感分類模型都取得了較好效果。

      隨著計(jì)算機(jī)硬件的發(fā)展,一些網(wǎng)絡(luò)結(jié)構(gòu)更深、更復(fù)雜的深度學(xué)習(xí)模型也應(yīng)運(yùn)而生,BERT(Bidirectional Encoder Representation from Transformers)就是其中的代表。它是一種基于Transformer 中的Encoder 部分,通過在Encoder 中引入Masked Language Model 的預(yù)訓(xùn)練方法,隨機(jī)MASK 句子中的部分Token,然后訓(xùn)練模型從MASK 的兩個(gè)方向預(yù)測被去掉的Token,同時(shí)借助Encoder 中的多頭注意力機(jī)制使模型能動(dòng)態(tài)且并行地獲取詞向量,最后通過殘差連接和多個(gè)Encoder 結(jié)構(gòu)的堆疊,使模型能充分學(xué)習(xí)到文本的語義,從而產(chǎn)生較好的實(shí)驗(yàn)結(jié)果。本文所用的RoBERTa(A Robustly Optimized BERT Pretraining Approach)模型是一種魯棒性更強(qiáng)的BERT 模型,它主要優(yōu)化了MASK 策略,同時(shí)使用更大規(guī)模的數(shù)據(jù)訓(xùn)練模型,使模型適應(yīng)性更強(qiáng),任務(wù)完成效果更好。

      1 相關(guān)工作

      基于傳統(tǒng)深度學(xué)習(xí)網(wǎng)絡(luò)的情感分類模型在處理文本時(shí)不能直接處理文本信息,因?yàn)槟P蛢?nèi)部都是用來處理數(shù)值的函數(shù),其實(shí)驗(yàn)所用文本需要轉(zhuǎn)化成詞向量的形式,即先將文本轉(zhuǎn)化成數(shù)值的形式再將其交給所用網(wǎng)絡(luò)作進(jìn)一步任務(wù)處理,該過程也稱為詞嵌入。目前最流行的詞嵌入模型就是Word2Vec,它是一種有效創(chuàng)建詞向量的方法,自2013 年以來就一直存在。其原理的通俗解釋就是將一個(gè)詞放到不同的維度標(biāo)準(zhǔn)中進(jìn)行評分,每種評分代表其在這個(gè)維度的一個(gè)相似度,所用維度越多,詞本身的特點(diǎn)也就被挖掘得越充分。

      在Word2Vec 得到詞向量的基礎(chǔ)上,下游連接循環(huán)神經(jīng)網(wǎng)絡(luò)和Softmax 層進(jìn)行文本的情感分類是常見的處理步驟。梁軍等在情感分析中引入LSTM 網(wǎng)絡(luò),實(shí)現(xiàn)了比傳統(tǒng)RNN 更好的效果;任勉等提出一種基于雙向長短時(shí)記憶循環(huán)神經(jīng)網(wǎng)絡(luò)模型(BiLSTM),通過雙向傳播機(jī)制獲取文本中完整的上下文信息,比傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)LSTM 模型分類效果更好,能達(dá)到更高的召回率和準(zhǔn)確率;吳小華等提出結(jié)合Self-Attention自注意力機(jī)制可以減少外部參數(shù)依賴,使模型能學(xué)到更多的文本自身關(guān)鍵特征,解決了雙向循環(huán)神經(jīng)網(wǎng)絡(luò)分類效果依賴分詞正確率的問題,提高了分類效果;曹宇等將BiGRU 應(yīng)用于中文情感分類,模型訓(xùn)練速度比BiLSTM 快1.36 倍,并且取得了較高的F1 值;王偉等提出自注意力機(jī)制與雙向GRU 結(jié)合的BiGRUattention 的文本情感分類模型,實(shí)現(xiàn)了相較于BiLSTM-attention 更高的正確率,同時(shí)模型訓(xùn)練時(shí)間也有效縮短;胡朝舉等提出一種基于深層注意力機(jī)制的LSTM 模型,該方法在特定主題情感分析任務(wù)中將主題特征與文本特征融合,較之前基于注意力的情感分析模型在準(zhǔn)確率和穩(wěn)定性上有了進(jìn)一步提高;譚皓等提出一種基于表情符注意力機(jī)制的微博情感分類模型,使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BiLSTM)學(xué)習(xí)文本的特征表示,利用表情符注意力機(jī)制,得到文本結(jié)合表情符號的整體特征表示,與輸入純文本和表情符的BiLSTM 模型相比,基于表情符注意力機(jī)制的模型正確率有了明顯提高;張仰森等提出一種基于雙重注意力機(jī)制的微博情感分析方法,將情感短語和表情符號提取出來作為情感符號,與原來的文本一起輸入到BiLSTM 中,相比于其之前提出的模型,正確率和F1 值都有提高。同時(shí),也有很多學(xué)者將在圖像識(shí)別領(lǐng)域應(yīng)用較好的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于自然語言處理的情感分析領(lǐng)域。何炎祥等提出一種有效利用表情符號的EMCNN(Emotion-semantics enhanced Multi-channel Convolutional Neural Network)模型,為常用表情符號構(gòu)造情感特征表示矩陣,將基于表情符號的情感空間與深度學(xué)習(xí)模型MCNN(Multi-channel Convolutional Neural Network)結(jié)合,顯著提高了MCNN 捕捉情感語義的能力,并在所有性能指標(biāo)上都超過當(dāng)時(shí)文獻(xiàn)中的最好效果。

      雖然這些研究取得的成果很多,但很難改變用Word2Vec 得到靜態(tài)詞向量聯(lián)系的缺點(diǎn):在很多語境中并不能給出合適的對應(yīng)的語義表示。如:“我去市場買了一個(gè)蘋果”和“我去手機(jī)店買了一個(gè)蘋果”,這兩句話都含有“蘋果”,但是Word2Vec 卻很難表示出這樣的區(qū)別。而BERT所用的Transformer 中Encoder 網(wǎng)絡(luò)結(jié)構(gòu)卻可以輕松解決這樣一詞多義問題,因?yàn)镋ncoder 中采用了自注意力機(jī)制,這可以讓句子學(xué)習(xí)自身的詞與詞之間的關(guān)系,根據(jù)句子的不同,動(dòng)態(tài)地賦予每個(gè)詞不同的權(quán)重,由此可以更準(zhǔn)確地在每個(gè)語境下更好地提取句子的語義。同時(shí),BERT 采用了Masked Language Model,可以從被MASK 的詞的兩邊預(yù)測被MASK 的詞,解決了LSTM 及其變體只能從前向后或者從后向前的預(yù)測方法,提高了語義獲取效率。王子牛等利用大規(guī)模語料訓(xùn)練BERT 模型,將BERT 應(yīng)用于命名實(shí)體識(shí)別中,提出一種基于BERT 的中文命名實(shí)體識(shí)別方法;楊飄等提出一種基于BERT 嵌入的中文命名實(shí)體識(shí)別方法,在獲取句子語義時(shí),使用BERT 的預(yù)訓(xùn)練模型,有效地提高了實(shí)驗(yàn)效果;王月等提出一種基于BERT 的警情文本命名實(shí)體識(shí)別方法,用BERT 預(yù)訓(xùn)練的詞向量代替?zhèn)鹘y(tǒng)用Word2Vec 得到的詞向量,使實(shí)驗(yàn)效果同比有了較大提高。而本文所用的RoBERTa 主要是在BERT 的基礎(chǔ)上改進(jìn)了mask 的策略,RoBERTa 在預(yù)處理時(shí)并沒有執(zhí)行MASK,它是在每次向模型提供輸入時(shí)動(dòng)態(tài)地生成mask,因此,MASK 是動(dòng)態(tài)的,在此基礎(chǔ)上預(yù)測也更高效。同時(shí),Ro-BERTa 是在更大的數(shù)據(jù)集上經(jīng)過更長時(shí)間訓(xùn)練得來,刪減了BERT 在訓(xùn)練中的NSP(Next Sentence Prediction)任務(wù),整體效果比BERT 更好,模型魯棒性更強(qiáng)。

      2 模型結(jié)構(gòu)

      2.1 Word2Vec

      Google 團(tuán)隊(duì)在2013 年發(fā)表了Word2Vec 工具,其主要是使用無監(jiān)督的方法從大型語料庫中自主地進(jìn)行訓(xùn)練,主要方法為:使用目標(biāo)詞左右窗口內(nèi)的詞進(jìn)行目標(biāo)詞預(yù)測,或者使用目標(biāo)詞預(yù)測窗口內(nèi)的詞。這兩種方法分別是依靠Word2Vec 工具中包含的兩個(gè)模型:連續(xù)詞袋模型(Continuous Bag of Words,CBOW)和跳字模型(Skip-gram)。其中,CBOW 模型利用詞w(t)前后各c(這里c=2)個(gè)詞,去預(yù)測當(dāng)前詞,結(jié)構(gòu)如圖1 所示;而Skip-gram 模型跟CBOW 模型相反,它利用詞w(t)去預(yù)測它前后各c(c=2)個(gè)詞,其結(jié)構(gòu)如圖2 所示。

      Fig.1 CBOW model structure圖1 CBOW 模型結(jié)構(gòu)

      Fig.2 Skip-gram model structure圖2 Skip-gram 模型結(jié)構(gòu)

      如上所述,Skip-gram 模型與CBOW 模型過程相反,本文以CBOW 模型訓(xùn)練過程為例對其進(jìn)行介紹。其中,輸入層是詞w(t)的上下文中的2c個(gè)詞向量,而投影層向量X是這2c個(gè)詞向量的累加和。輸出層是以訓(xùn)練語料庫中已出現(xiàn)過的詞作為葉子節(jié)點(diǎn),以各詞在語料庫中出現(xiàn)的次數(shù)作為權(quán)值,進(jìn)而構(gòu)造出一顆Huffman 樹。在這棵Huffman 樹中,葉子節(jié)點(diǎn)一共有N(=|D|)個(gè),分別對應(yīng)詞典D 中的詞,非葉子節(jié)點(diǎn)有N-1個(gè)。通過隨機(jī)梯度上升算法對X的結(jié)果進(jìn)行預(yù)測,最終使得p(w|context(w))值最大化,context(w)為詞的上下文中2c個(gè)范圍內(nèi)的詞。當(dāng)模型中的神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成時(shí),句子中所有詞的詞向量w 也隨之求出。

      2.2 卷積神經(jīng)網(wǎng)絡(luò)

      在自然語言處理任務(wù)中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)主要由輸入層、卷積層、池化層和全連接層組成。輸入層主要負(fù)責(zé)輸入數(shù)據(jù)的向量表示,對于一個(gè)長度為n 的句子,輸入層矩陣可表示為如式(1)所示。

      其中,k 代表詞向量維度。卷積層使用不同的卷積核對輸入矩陣進(jìn)行卷積操作,提取輸入的局部特征從而得到卷積核特征向量,如式(2)所示。

      其中,

      x

      表示卷積核窗口的詞向量矩陣,

      W

      代表權(quán)重矩陣,

      b

      為偏置量,

      f

      為激活函數(shù)。池化層是CNN 中較為重要的網(wǎng)絡(luò)組成部分,對于卷積層得到的特征向量,一般通過池化層對特征向量進(jìn)行下采樣操作,對重要的特征信息進(jìn)行提取,之后池化層可以輸出一個(gè)固定大小的矩陣。不同長度句子的輸入和大小不同的卷積核通過池化層最終得到一個(gè)相同維度的輸出,最后將輸出傳送到全連接層進(jìn)行分類。CNN 模型結(jié)構(gòu)如圖3 所示。

      Fig.3 CNN model structure圖3 CNN 模型結(jié)構(gòu)

      2.3 循環(huán)神經(jīng)網(wǎng)絡(luò)

      2.3.1 RNN

      RNN 的主要用途是處理和預(yù)測序列數(shù)據(jù),在全連接神經(jīng)網(wǎng)絡(luò)或卷積神經(jīng)網(wǎng)絡(luò)中,信息在網(wǎng)絡(luò)中的流向都是從輸入層到隱含層再到輸出層,層與層之間是全連接或部分連接,但是每層之間的結(jié)點(diǎn)沒有連接。RNN 的產(chǎn)生就是為了描述一個(gè)序列的當(dāng)前輸出與之前信息的關(guān)系。從網(wǎng)絡(luò)結(jié)構(gòu)上而言,RNN 會(huì)記憶之前的信息,并利用之前的信息影響后面的輸出,即RNN 的隱藏層之間的結(jié)點(diǎn)是有連接的,隱藏層的輸入不僅包括輸入層的輸出,還包含上一時(shí)刻隱藏層的輸出。傳統(tǒng)的RNN 結(jié)構(gòu)如圖4 所示,對于RNN 而言,一個(gè)關(guān)鍵的概念就是時(shí)刻,RNN 會(huì)將每一個(gè)時(shí)刻的輸入結(jié)合當(dāng)前模型的狀態(tài)得出一個(gè)輸出??梢钥闯?,RNN 的主體結(jié)構(gòu)A 的輸入除來自輸入層的X外,還有一個(gè)循環(huán)路徑以提供當(dāng)前時(shí)刻的狀態(tài)。同時(shí),A 的狀態(tài)也會(huì)由當(dāng)前步傳遞到下一步。

      Fig.4 RNN model structure圖4 RNN 模型結(jié)構(gòu)

      由圖4 可以看出,簡單的神經(jīng)網(wǎng)絡(luò)中包含3個(gè)參數(shù)矩陣:U、W、V。其中,U 用于處理t 時(shí)刻的輸入,W 用于計(jì)算網(wǎng)絡(luò)下一個(gè)時(shí)刻的狀態(tài),這樣的結(jié)構(gòu)可以讓網(wǎng)絡(luò)實(shí)現(xiàn)“記憶”功能,從而得到記憶序列中的某些關(guān)鍵信息,V 則實(shí)現(xiàn)了將當(dāng)前網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)為當(dāng)前時(shí)刻的輸出。具體過程可由式(3)和式(4)進(jìn)行具體描述。

      其中,X表示網(wǎng)絡(luò)在t 時(shí)刻的輸入,O表示t 時(shí)刻的網(wǎng)絡(luò)輸出值,A表示t 時(shí)刻的網(wǎng)絡(luò)狀態(tài)信息,g 和

      f

      表示激活函數(shù)。RNN 的這種結(jié)構(gòu)使得網(wǎng)絡(luò)t 時(shí)刻的編碼結(jié)果受到0~t時(shí)刻序列輸入的影響,一般將網(wǎng)絡(luò)最后一個(gè)時(shí)刻的輸出(相當(dāng)于所有時(shí)刻輸出之和)作為序列編碼的最終結(jié)果,也就是整個(gè)序列的表示。

      2.3.2 LSTM

      RNN 雖然是一種擅長處理序列的網(wǎng)絡(luò)結(jié)構(gòu),但它有一較為重大的弊端:信息強(qiáng)度會(huì)隨迭代次數(shù)的增多而降低,基本無法處理具有長時(shí)依賴特點(diǎn)的序列。長時(shí)依賴的序列指在序列長度較長時(shí),其真實(shí)含義可能會(huì)和序列初始部分有強(qiáng)相關(guān)性。這種情況也常出現(xiàn)在自然語言中,比如介紹某個(gè)物品時(shí),它的具體名字可能只出現(xiàn)在開頭,后面再提到它時(shí)就用代詞代替。RNN 作為一種傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò),由于其本身的結(jié)構(gòu)原因,早期的序列信息會(huì)隨著編碼的進(jìn)行而逐漸丟失,這樣不利于長序列編碼的處理。

      LSTM 是一種改進(jìn)的RNN 類型,它有不同于單一循環(huán)的特殊循環(huán)結(jié)構(gòu),通過自身獨(dú)特的設(shè)計(jì),解決了RNN 不能獲取較長序列信息的缺點(diǎn)。它的特殊結(jié)構(gòu)由3個(gè)特別的“門”構(gòu)成,具體結(jié)構(gòu)如圖5 所示,LSTM 單元與LSTM 單元之間的連接方式如圖6 所示。

      Fig.5 LSTM model structure圖5 LSTM 模型結(jié)構(gòu)

      LSTM 的核心思想是使用存在于整個(gè)編碼過程的細(xì)胞狀態(tài)將重要信息進(jìn)行更長時(shí)間的保留。細(xì)胞狀態(tài)可以想象成傳送帶,放在整個(gè)鏈上運(yùn)行,僅有一些重要的線性交互,從而可以使信息得以更持久的保持。網(wǎng)絡(luò)的3個(gè)“門”結(jié)構(gòu)分別是遺忘門、輸入門、輸出門。遺忘門負(fù)責(zé)決定細(xì)胞狀態(tài)在當(dāng)前時(shí)刻要遺忘掉哪些信息,它由上一刻的細(xì)胞輸出

      h

      和當(dāng)前的輸入

      X

      計(jì)算出一個(gè)包含由0 到1 的實(shí)數(shù)向量,該向量的長度與代表細(xì)胞狀態(tài)的向量長度相等。根據(jù)計(jì)算結(jié)果決定細(xì)胞狀態(tài)中信息對應(yīng)的保留程度,其中0 表示完全不保留,1 表示完全保留??捎檬剑?)表示該過程。

      其中,[]表示拼接操作,

      σ

      為Sigmoid 激活函數(shù),

      b

      為偏置。

      Fig.6 LSTM connection model圖6 LSTM 連接模型

      輸入門負(fù)責(zé)決定什么信息能更新細(xì)胞狀態(tài),由上一刻的細(xì)胞輸出h和當(dāng)前輸入X計(jì)算出兩個(gè)實(shí)數(shù)向量,一個(gè)向量決定了備選的更新信息,另一個(gè)決定了如何從備選信息中選取。該過程由式(6)、式(7)表示。

      最終單元確定當(dāng)前時(shí)刻要輸出什么值,然后由細(xì)胞狀態(tài)變換得到該輸出。首先通過一個(gè)Sigmoid 函數(shù)決定輸出哪些部分的細(xì)胞狀態(tài),然后細(xì)胞狀態(tài)通過Tanh 進(jìn)行處理,得到一個(gè)-1~1 的值,再將它和前者的結(jié)果對位相乘,最終得到當(dāng)前時(shí)刻的輸出值。具體過程由式(9)、式(10)表示。

      以上就是經(jīng)典LSTM 的全部過程,這種能有效解決長期依賴問題的網(wǎng)絡(luò)結(jié)構(gòu)現(xiàn)已被廣泛地應(yīng)用于多種序列表示問題,幾乎已經(jīng)取代了傳統(tǒng)的RNN。

      2.3.3 GRU

      GRU 可以看成是LSTM 的變體,它運(yùn)算更快,同時(shí)也能取得不比LSTM 差的效果,原因是它精簡了LSTM 的“門結(jié)構(gòu)”,將LSTM 中的遺忘門和輸入門用更新門代替,其結(jié)構(gòu)由更新門和重置門兩個(gè)“門”結(jié)構(gòu)構(gòu)成。更新門負(fù)責(zé)控制前一時(shí)刻隱層的輸出對當(dāng)前隱層的影響程度,更新門的值越大,說明前一時(shí)刻隱層的輸出對當(dāng)前隱層的影響就越大;重置門負(fù)責(zé)控制前一時(shí)刻隱層信息被忽略的程度,重置門的值越小,說明信息被忽略得越多。具體結(jié)構(gòu)如圖7所示。

      Fig.7 GRU model structure圖7 GRU 模型結(jié)構(gòu)

      GRU 的更新方式如式(11)—式(14)所示。

      2.4 RoBERTa

      BERT 文本表示模型使用Transformer 模型的編碼器作為網(wǎng)絡(luò)的基本模型,其不同于上文介紹的RNN 或者CNN,是一種只用多頭注意力機(jī)制構(gòu)建而成的模型。這種機(jī)制可以更為直接地獲取詞與詞之間的關(guān)系,進(jìn)而使序列的編碼整體性更強(qiáng),更能夠表示整個(gè)序列的含義。而RoBERTa作為BERT 的一種改進(jìn)型變體,整體效果會(huì)更好。

      2.4.1 多頭注意力機(jī)制

      多頭自注意力機(jī)制其實(shí)是從自注意力機(jī)制(Self-Attention)中衍生而來,而自注意力機(jī)制本身又屬于宏觀的注意力機(jī)制(Attention)概念中的一種,在已知的很多深度學(xué)習(xí)領(lǐng)域中都可以看到它們的參與對效果提升的貢獻(xiàn)。關(guān)于注意力機(jī)制的原理,可以將其作用過程當(dāng)成是一個(gè)查詢操作Query 和一系列鍵值對進(jìn)行依次的交互作用從而使Query 得到附加注意力值的過程。其具體計(jì)算過程包括計(jì)算Query 與key的相似度a(注意力值),以及與Value進(jìn)行加權(quán)求和的求解。Attention 機(jī)制可以抽象為式(15)。

      所謂的自注意力機(jī)制是指使序列自身和自己進(jìn)行注意力處理,即Q=K=V。經(jīng)過自注意力機(jī)制處理后,序列N的每個(gè)記號都是序列中其他記號的線性變換,經(jīng)過這種處理后,序列的整體性將變得更強(qiáng),從而更能代表語句的含義。

      而所謂的多頭注意力機(jī)制(Multihead Self-Attention)指首先對Query、Key、Value 進(jìn)行不同的線性變換,然后計(jì)算其相似度,并且將該過程反復(fù)做

      h

      次,此過程稱為“多頭”。該過程中每次線性變換所用的參數(shù)矩陣W 都不相同,通常將這

      h

      次的結(jié)果進(jìn)行拼接并作線性變換后得到最終多頭注意力機(jī)制結(jié)果。具體過程可用式(16)和式(17)表示。

      該機(jī)制可以學(xué)習(xí)序列內(nèi)部元素之間的依賴關(guān)系,能抽取到序列內(nèi)部的結(jié)構(gòu)特征。它通過將序列中的元素進(jìn)行兩兩比較,進(jìn)而能夠一步到位地捕捉到全局聯(lián)系,以此解決了長距離依賴問題。同時(shí),這種機(jī)制可以進(jìn)行并行計(jì)算,而RNN 需要一步一步地遞推才能捕捉到全局聯(lián)系,且對于長距離依賴很難捕捉。相比之下,在接收信息上CNN也需要通過堆疊多個(gè)卷積層擴(kuò)大信息接受視野。

      2.4.2 BERT

      BERT 語言模型在輸入前不僅需要詞本身的語義向量,還要加入對應(yīng)詞的位置向量,再將輸入傳給語義獲取部分。該部分由多個(gè)Transformer 模型的編碼器(

      Encoder

      )部分連接而成,由于每一個(gè)編碼器內(nèi)部都有兩次殘差連接,故保證了每經(jīng)過一個(gè)編碼器的作用,模型效果不會(huì)變差,最終在多個(gè)編碼器作用下可以充分獲取句子的語義信息,最后傳給下游的任務(wù)進(jìn)行目標(biāo)任務(wù)操作,在情感分類上,一般最后會(huì)傳給分類層進(jìn)行分類,具體結(jié)構(gòu)如圖8 所示。

      Fig.8 BERT model structure圖8 BERT 模型結(jié)構(gòu)

      上文提到過BERT 模型在預(yù)訓(xùn)練方面的遮蔽詞預(yù)測方法,這也是BERT 的一大創(chuàng)新之處。在以往語言模型預(yù)訓(xùn)練過程中,研究者一般都會(huì)使用單向的預(yù)測方法,要么是從左往右地預(yù)測下一個(gè)詞,要么是從右往左地預(yù)測上一個(gè)詞,或者采用雙層雙向網(wǎng)絡(luò),簡單地將兩者結(jié)合起來。但因?yàn)锽ERT 使用的是雙向編碼器,在考慮前文詞的同時(shí)也考慮了后文詞,并且在多層注意力機(jī)制的作用下可以使模型從其第二層開始,每一個(gè)詞的編碼都可以獲取所有詞的信息,并且該雙向過程還是并行的,之前的模型只能沿著從前向后或者從后向前的方向預(yù)測,這種方式只能在前詞被預(yù)測后才能接著預(yù)測后面的詞,效率很低。

      為了對語言模型進(jìn)行嚴(yán)謹(jǐn)訓(xùn)練,獨(dú)創(chuàng)了新的預(yù)訓(xùn)練方法,稱這種方法為遮蔽詞語言模型(Masked LM)訓(xùn)練。在遮蔽詞的預(yù)測訓(xùn)練過程中,模型輸入序列中的元素會(huì)被隨機(jī)的特殊記號[MASK]代替,從而完全屏蔽某一個(gè)詞在層次編碼過程中的全部信息。經(jīng)過該模型的編碼后,記號[MASK]最終的輸出結(jié)果將被用來預(yù)測被遮蔽的詞,一般情況下,默認(rèn)在一句話中,設(shè)定將15%的詞進(jìn)行遮蔽并預(yù)測,具體結(jié)構(gòu)如圖9 所示。

      雖然這種預(yù)訓(xùn)練的任務(wù)設(shè)定可以有效地訓(xùn)練模型,但是也存在缺點(diǎn):特殊記號[MASK]僅僅出現(xiàn)在預(yù)訓(xùn)練階段,而并沒有在微調(diào)階段出現(xiàn),這會(huì)給微調(diào)效果帶來不可預(yù)見的影響。為了解決該問題,實(shí)際操作中,在隨機(jī)選取被遮蔽詞時(shí),最終輸入將遵循以下流程:①選句子中15%的詞作為候選遮蔽詞;②80%的時(shí)間是采用[MASK],如:誰知盤中餐→誰知盤中[MASK];③10%的時(shí)間是隨機(jī)取一個(gè)詞代替被MASK 的詞,如:誰知盤中餐→誰知盤中湯;④10%的時(shí)間保持不變,如:誰知盤中餐→誰知盤中餐。

      最后,BERT 還可以完成下一句預(yù)測任務(wù)。很多常見模型的下游任務(wù)是以理解句子對之間的對應(yīng)關(guān)系為基礎(chǔ),比如語義相似度計(jì)算、機(jī)器翻譯效果評估等任務(wù)。單純地使用遮蔽詞訓(xùn)練的語言模型不能使模型捕捉到句子與句子之間的關(guān)系。下一句預(yù)測任務(wù)(Next Sentence Prediction,NSP),即預(yù)測一個(gè)句子是不是另一個(gè)句子的下一句任務(wù),對于BERT 而言相對簡單。BERT 將隨機(jī)從語料庫中選取語句A,然后獲取它的下一句B,用50%的概率將語料庫中與A 無關(guān)的句子C 換成B,如圖10 所示。

      Fig.9 Contrast before and after masking圖9 遮蔽處理前后對比

      Fig.10 Next sentence task prediction圖10 下一句預(yù)測任務(wù)

      該任務(wù)在訓(xùn)練時(shí),特殊標(biāo)記[CLS]對應(yīng)的最終輸入將會(huì)被作為兩個(gè)句子的表征,用以判斷兩個(gè)句子是否有關(guān)系。

      2.4.3 RoBERTa

      RoBERTa 全稱是A Robustly Optimized BERT Pretraining Approach,即一種魯棒性更強(qiáng)的BERT 模型。它的整體結(jié)構(gòu)與BERT 相同,是在一些細(xì)節(jié)方面對BERT 進(jìn)行了改進(jìn),從而達(dá)到了更好的效果。具體改進(jìn)如下:

      (1)采用動(dòng)態(tài)MASK 機(jī)制。BERT 中在準(zhǔn)備訓(xùn)練數(shù)據(jù)時(shí),每個(gè)樣本都僅僅會(huì)進(jìn)行一次隨機(jī)MASK(因此每個(gè)epoch 都是重復(fù)),接下來的每個(gè)訓(xùn)練步驟都將采用相同的MASK,這就是原始靜態(tài)MASK,即單個(gè)的靜態(tài)MASK,這是原始BERT 的做法。RoBERTa 采用全詞遮罩(Whole Word Masking)技術(shù),原始BERT 是基于WordPiece 詞級別的分詞方式,會(huì)將一個(gè)完整的詞切分成若干個(gè)子詞,在生成訓(xùn)練樣本時(shí),這些被分開的子詞會(huì)隨機(jī)被MASK。在全詞MASK中,如果一個(gè)完整詞的部分子詞被MASK,則同屬該詞的其他部分也會(huì)被MASK,即全詞MASK;RoBERTa 在預(yù)處理時(shí)并沒有執(zhí)行MASK,它是在每次向模型提供輸入時(shí)動(dòng)態(tài)地生成MASK,這樣每個(gè)epoch 的MASK 是時(shí)刻變化的,在此基礎(chǔ)上的預(yù)測效果也更好。

      (2)刪減BERT 的下一句預(yù)測任務(wù)。刪減了NSP 任務(wù),BERT 的整個(gè)模型變得更為高效,在多個(gè)實(shí)驗(yàn)中的效果并沒有下降,處理多文檔的性能也未受到影響,同時(shí)單文檔任務(wù)效果有明顯提升??梢钥闯?,RoBERTa 更適合處理情感分類這種文檔任務(wù)。

      (3)增加數(shù)據(jù),提高算力和訓(xùn)練時(shí)長。BERT 訓(xùn)練時(shí)使用了13G 的訓(xùn)練數(shù)據(jù),RoBERTa 訓(xùn)練時(shí)使用了160G 的訓(xùn)練數(shù)據(jù);BERT 訓(xùn)練時(shí)使用了64個(gè)TPU,RoBERTa 訓(xùn)練時(shí)用了1 024個(gè)V100 GPUs。因?yàn)樗懔μ嵘?,RoBERTa 采用的batch_size 為512,而BERT 只有256。

      (4)使用更大的編碼表。原始BERT 模型編碼方式是通過對輸入文本進(jìn)行啟發(fā)式的詞干化處理后而得到,本質(zhì)上是基于char 級別,而RoBERTa 模型運(yùn)用的編碼方式則是基于bytes 級別。bytes 級別與char 級別的根本區(qū)別在于bytes 級別使用byte 作為字詞的基本編碼單位而不是將BERT 模型所用的unicode 字符作為編碼基本單位。這樣的編碼方式能夠?qū)Σ捎萌魏涡问骄幋a的文本進(jìn)行識(shí)別而不會(huì)引入U(xiǎn)NKOWN 標(biāo)記。當(dāng)采用bytes 級別的BPE 后,其所用的詞表大小將從原來的30k 增加到現(xiàn)在的50k,這極大提升了RoBERTa 模型對復(fù)雜任務(wù)和較差語料的適應(yīng)性。

      3 應(yīng)用實(shí)驗(yàn)

      本文實(shí)驗(yàn)主要使用RoBERTa 模型進(jìn)行中文情感分類,也在同樣的條件下使用BERT 模型的中文版本作比較實(shí)驗(yàn),并將以往表現(xiàn)較好的循環(huán)神經(jīng)網(wǎng)絡(luò)模型及其變體加入到實(shí)驗(yàn)中,進(jìn)行綜合結(jié)果分析。實(shí)驗(yàn)環(huán)境如表1 所示。

      Table 1 Lab environment表1 實(shí)驗(yàn)環(huán)境

      3.1 實(shí)驗(yàn)數(shù)據(jù)

      本文數(shù)據(jù)集采用Nlpcc2013 和Nlpcc2014 公開的微博評論數(shù)據(jù)集為實(shí)驗(yàn)數(shù)據(jù),經(jīng)過降噪和數(shù)據(jù)清洗后,2013 年的數(shù)據(jù)集大概有5 000 條,2014 年的數(shù)據(jù)集大概有18 000條,具體情況如表2 所示。

      Table 2 Experimental data表2 實(shí)驗(yàn)數(shù)據(jù)

      3.2 評價(jià)標(biāo)準(zhǔn)

      本文采用通用評價(jià)標(biāo)準(zhǔn),正確率(Accuracy,A)、準(zhǔn)確率(Precision,P)、召回率(Recall,R)、F值對實(shí)驗(yàn)結(jié)果進(jìn)行評價(jià)。正確率表示預(yù)測正確的樣本與所有樣本的比例;準(zhǔn)確率表示正確被檢索到的數(shù)量與實(shí)際被檢索到的數(shù)量比值;召回率表示正確被檢索到的數(shù)目與應(yīng)被檢索到的數(shù)目比值;P 和R 互斥,F(xiàn)值綜合考慮二者的指標(biāo)。具體內(nèi)容見表3,公式見式(18)—式(21)。

      Table 3 Confusion matrix表3 混淆矩陣

      3.3 實(shí)驗(yàn)設(shè)置

      本文所使用的RoBERTa 模型參數(shù)比原始的BERT 有所提高,具體對比如表4 所示。

      Table 4 RoBERTa model parameters表4 RoBERTa 模型參數(shù)

      兩個(gè)模型的學(xué)習(xí)率都采用1e-5,測試集和訓(xùn)練集按照1∶4 的比例分配,其他對比實(shí)驗(yàn)按相關(guān)參數(shù)進(jìn)行,具體模型如下:

      (1)BiLSTM。任勉等提出一種基于雙向長短時(shí)記憶循環(huán)神經(jīng)網(wǎng)絡(luò)模型,主要用雙向的LSTM 提取上下文語義。

      (2)BiGRU。曹宇等采用LSTM 的變體雙向的GRU網(wǎng)絡(luò)模型提取語義并分類,效果較之前的模型更好。

      (3)BiGRU-attention。王偉等提出自注意力機(jī)制和雙向GRU 結(jié)合的BiGRU-attention 文本情感分類模型,實(shí)現(xiàn)了比BiLSTM-attention 更高的正確率,同時(shí)模型訓(xùn)練時(shí)間也得以有效縮短。

      加上上述BERT 模型與RoBERTa 模型,一共5 組模型,分別在Nlpcc2013 和Nlpcc2014 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對比。

      3.4 實(shí)驗(yàn)結(jié)果

      本文所用的RoBERTa 模型和其他4個(gè)模型在Nlpcc2013 和Nlpcc2014 數(shù)據(jù)集上的情感二分類具體實(shí)驗(yàn)結(jié)果對比如表5 和表6 所示。

      Table 5 Nlpcc2013 data set experimental results表5 Nlpcc2013 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果

      Table 6 Nlpcc2014 data set experimental results表6 Nlpcc2014 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果

      根據(jù)上述實(shí)驗(yàn)結(jié)果可以看出,在循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用上,BiGRU_attention 模型效果較好,正確率、召回率、F值較前兩個(gè)模型在兩個(gè)數(shù)據(jù)集上都有提高。但是BERT 模型與前3個(gè)模型相比,在所有評價(jià)指標(biāo)上都有明顯提高。而Ro-BERTa 模型是BERT 模型的改進(jìn)型,在兩個(gè)數(shù)據(jù)集的各項(xiàng)指標(biāo)上都有小幅度提升。并且,其優(yōu)于以上所有參照模型,證明本模型在中文情感二分類上有較好的效果,也證明了本模型在中文評論情感二分類任務(wù)上的有效性。

      4 結(jié)語

      由上可知,BERT 模型及RoBERTa 模型的結(jié)構(gòu)全然沒有傳統(tǒng)深度學(xué)習(xí)的網(wǎng)絡(luò)模型影子,是一種全新結(jié)構(gòu),這種結(jié)構(gòu)解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)不能解決的文本信息長時(shí)依賴問題,同時(shí)在模型預(yù)訓(xùn)練階段通過創(chuàng)新的詞罩技術(shù),實(shí)現(xiàn)了高效的并行預(yù)測技術(shù),極大縮短了模型訓(xùn)練時(shí)間,提高了模型整體效果,并且通過其自身內(nèi)嵌的多頭注意力機(jī)制,較好解決了傳統(tǒng)詞嵌入模型不能很好解決的一詞多義問題,并在最終實(shí)驗(yàn)結(jié)果上取得了優(yōu)異效果,驗(yàn)證了模型在中文情感評論二分類上的高效性。

      但是從實(shí)驗(yàn)結(jié)果看,nlpcc2014 數(shù)據(jù)集上的整體實(shí)驗(yàn)指標(biāo)比nlpcc2013 數(shù)據(jù)集要好,原因可能是nlpcc2014 總的數(shù)據(jù)量比nlpcc2013 總的數(shù)據(jù)量要多很多,因此考慮可能是數(shù)據(jù)集本身的數(shù)據(jù)量對模型分類效果產(chǎn)生了影響。后續(xù)將針對這一問題做系統(tǒng)研究,并進(jìn)行論證。如果證實(shí)數(shù)據(jù)量的增加確實(shí)可以提高模型分類效果,則可以針對實(shí)際場景中數(shù)據(jù)集較少的情況,研究可行的數(shù)據(jù)量增加方法以提高模型整體效果。

      猜你喜歡
      注意力向量神經(jīng)網(wǎng)絡(luò)
      向量的分解
      讓注意力“飛”回來
      聚焦“向量與三角”創(chuàng)新題
      神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      “揚(yáng)眼”APP:讓注意力“變現(xiàn)”
      傳媒評論(2017年3期)2017-06-13 09:18:10
      A Beautiful Way Of Looking At Things
      向量垂直在解析幾何中的應(yīng)用
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
      黎城县| 新郑市| 陆良县| 邹城市| 安多县| 新民市| 博爱县| 德格县| 波密县| 保亭| 九江县| 常德市| 沅陵县| 隆回县| 来凤县| 海南省| 鹿邑县| 将乐县| 抚松县| 虹口区| 迁安市| 湾仔区| 保亭| 青阳县| 晋州市| 筠连县| 兴国县| 耿马| 梓潼县| 东至县| 临高县| 江西省| 买车| 云龙县| 德化县| 故城县| 九龙县| 江都市| 丁青县| 张家口市| 长泰县|