亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        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 引言

        近年來(lái),深度學(xué)習(xí)在圖像和語(yǔ)音處理領(lǐng)域取得顯著進(jìn)展,然而在自然語(yǔ)言處理領(lǐng)域的研究中尚未取得較大突破。情感分類是自然語(yǔ)言處理任務(wù)中的一個(gè)子任務(wù),其本質(zhì)上是對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理的過(guò)程,例如對(duì)電影和電視劇的評(píng)論、網(wǎng)購(gòu)產(chǎn)品評(píng)價(jià)、微博微信等社交平臺(tái)在某一熱點(diǎn)事件上的評(píng)論等。情感分析有助于使用者獲得產(chǎn)品的客觀評(píng)價(jià)并合理地進(jìn)行輿情監(jiān)測(cè),結(jié)合本國(guó)互聯(lián)網(wǎng)電商和社交平臺(tái)的迅速發(fā)展以及廣大網(wǎng)民熱衷于發(fā)表網(wǎng)絡(luò)評(píng)論的國(guó)情,中文評(píng)論情感分類研究具有重要意義。如何以深度學(xué)習(xí)網(wǎng)絡(luò)為基礎(chǔ),構(gòu)建高效的中文評(píng)論情感分類模型已經(jīng)成為中文評(píng)論情感分類研究的熱點(diǎn)問(wè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)用方面常見(jiàn)的是其變體LSTM(Long Short Term Memory),這種變體可以學(xué)習(xí)長(zhǎng)期依賴信息。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)通過(guò)建立雙向網(wǎng)絡(luò)連接,將文本從兩個(gè)方向同時(shí)輸入,使模型可以更充分地獲取句子間的語(yǔ)義信息,以這兩種網(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 部分,通過(guò)在Encoder 中引入Masked Language Model 的預(yù)訓(xùn)練方法,隨機(jī)MASK 句子中的部分Token,然后訓(xùn)練模型從MASK 的兩個(gè)方向預(yù)測(cè)被去掉的Token,同時(shí)借助Encoder 中的多頭注意力機(jī)制使模型能動(dòng)態(tài)且并行地獲取詞向量,最后通過(guò)殘差連接和多個(gè)Encoder 結(jié)構(gòu)的堆疊,使模型能充分學(xué)習(xí)到文本的語(yǔ)義,從而產(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)部都是用來(lái)處理數(shù)值的函數(shù),其實(shí)驗(yàn)所用文本需要轉(zhuǎn)化成詞向量的形式,即先將文本轉(zhuǎn)化成數(shù)值的形式再將其交給所用網(wǎng)絡(luò)作進(jìn)一步任務(wù)處理,該過(guò)程也稱為詞嵌入。目前最流行的詞嵌入模型就是Word2Vec,它是一種有效創(chuàng)建詞向量的方法,自2013 年以來(lái)就一直存在。其原理的通俗解釋就是將一個(gè)詞放到不同的維度標(biāo)準(zhǔn)中進(jìn)行評(píng)分,每種評(píng)分代表其在這個(gè)維度的一個(gè)相似度,所用維度越多,詞本身的特點(diǎn)也就被挖掘得越充分。

        在Word2Vec 得到詞向量的基礎(chǔ)上,下游連接循環(huán)神經(jīng)網(wǎng)絡(luò)和Softmax 層進(jìn)行文本的情感分類是常見(jiàn)的處理步驟。梁軍等在情感分析中引入LSTM 網(wǎng)絡(luò),實(shí)現(xiàn)了比傳統(tǒng)RNN 更好的效果;任勉等提出一種基于雙向長(zhǎng)短時(shí)記憶循環(huán)神經(jīng)網(wǎng)絡(luò)模型(BiLSTM),通過(guò)雙向傳播機(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ò)分類效果依賴分詞正確率的問(wèn)題,提高了分類效果;曹宇等將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é)合表情符號(hào)的整體特征表示,與輸入純文本和表情符的BiLSTM 模型相比,基于表情符注意力機(jī)制的模型正確率有了明顯提高;張仰森等提出一種基于雙重注意力機(jī)制的微博情感分析方法,將情感短語(yǔ)和表情符號(hào)提取出來(lái)作為情感符號(hào),與原來(lái)的文本一起輸入到BiLSTM 中,相比于其之前提出的模型,正確率和F1 值都有提高。同時(shí),也有很多學(xué)者將在圖像識(shí)別領(lǐng)域應(yīng)用較好的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于自然語(yǔ)言處理的情感分析領(lǐng)域。何炎祥等提出一種有效利用表情符號(hào)的EMCNN(Emotion-semantics enhanced Multi-channel Convolutional Neural Network)模型,為常用表情符號(hào)構(gòu)造情感特征表示矩陣,將基于表情符號(hào)的情感空間與深度學(xué)習(xí)模型MCNN(Multi-channel Convolutional Neural Network)結(jié)合,顯著提高了MCNN 捕捉情感語(yǔ)義的能力,并在所有性能指標(biāo)上都超過(guò)當(dāng)時(shí)文獻(xiàn)中的最好效果。

        雖然這些研究取得的成果很多,但很難改變用Word2Vec 得到靜態(tài)詞向量聯(lián)系的缺點(diǎn):在很多語(yǔ)境中并不能給出合適的對(duì)應(yīng)的語(yǔ)義表示。如:“我去市場(chǎng)買了一個(gè)蘋果”和“我去手機(jī)店買了一個(gè)蘋果”,這兩句話都含有“蘋果”,但是Word2Vec 卻很難表示出這樣的區(qū)別。而BERT所用的Transformer 中Encoder 網(wǎng)絡(luò)結(jié)構(gòu)卻可以輕松解決這樣一詞多義問(wèn)題,因?yàn)镋ncoder 中采用了自注意力機(jī)制,這可以讓句子學(xué)習(xí)自身的詞與詞之間的關(guān)系,根據(jù)句子的不同,動(dòng)態(tài)地賦予每個(gè)詞不同的權(quán)重,由此可以更準(zhǔn)確地在每個(gè)語(yǔ)境下更好地提取句子的語(yǔ)義。同時(shí),BERT 采用了Masked Language Model,可以從被MASK 的詞的兩邊預(yù)測(cè)被MASK 的詞,解決了LSTM 及其變體只能從前向后或者從后向前的預(yù)測(cè)方法,提高了語(yǔ)義獲取效率。王子牛等利用大規(guī)模語(yǔ)料訓(xùn)練BERT 模型,將BERT 應(yīng)用于命名實(shí)體識(shí)別中,提出一種基于BERT 的中文命名實(shí)體識(shí)別方法;楊飄等提出一種基于BERT 嵌入的中文命名實(shí)體識(shí)別方法,在獲取句子語(yǔ)義時(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í)并沒(méi)有執(zhí)行MASK,它是在每次向模型提供輸入時(shí)動(dòng)態(tài)地生成mask,因此,MASK 是動(dòng)態(tài)的,在此基礎(chǔ)上預(yù)測(cè)也更高效。同時(shí),Ro-BERTa 是在更大的數(shù)據(jù)集上經(jīng)過(guò)更長(zhǎng)時(shí)間訓(xùn)練得來(lái),刪減了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 工具,其主要是使用無(wú)監(jiān)督的方法從大型語(yǔ)料庫(kù)中自主地進(jìn)行訓(xùn)練,主要方法為:使用目標(biāo)詞左右窗口內(nèi)的詞進(jìn)行目標(biāo)詞預(yù)測(cè),或者使用目標(biāo)詞預(yù)測(cè)窗口內(nèi)的詞。這兩種方法分別是依靠Word2Vec 工具中包含的兩個(gè)模型:連續(xù)詞袋模型(Continuous Bag of Words,CBOW)和跳字模型(Skip-gram)。其中,CBOW 模型利用詞w(t)前后各c(這里c=2)個(gè)詞,去預(yù)測(cè)當(dāng)前詞,結(jié)構(gòu)如圖1 所示;而Skip-gram 模型跟CBOW 模型相反,它利用詞w(t)去預(yù)測(cè)它前后各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 模型過(guò)程相反,本文以CBOW 模型訓(xùn)練過(guò)程為例對(duì)其進(jìn)行介紹。其中,輸入層是詞w(t)的上下文中的2c個(gè)詞向量,而投影層向量X是這2c個(gè)詞向量的累加和。輸出層是以訓(xùn)練語(yǔ)料庫(kù)中已出現(xiàn)過(guò)的詞作為葉子節(jié)點(diǎn),以各詞在語(yǔ)料庫(kù)中出現(xiàn)的次數(shù)作為權(quán)值,進(jìn)而構(gòu)造出一顆Huffman 樹(shù)。在這棵Huffman 樹(shù)中,葉子節(jié)點(diǎn)一共有N(=|D|)個(gè),分別對(duì)應(yīng)詞典D 中的詞,非葉子節(jié)點(diǎn)有N-1個(gè)。通過(guò)隨機(jī)梯度上升算法對(duì)X的結(jié)果進(jìn)行預(yù)測(cè),最終使得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ò)

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

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

        其中,

        x

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

        W

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

        b

        為偏置量,

        f

        為激活函數(shù)。池化層是CNN 中較為重要的網(wǎng)絡(luò)組成部分,對(duì)于卷積層得到的特征向量,一般通過(guò)池化層對(duì)特征向量進(jìn)行下采樣操作,對(duì)重要的特征信息進(jìn)行提取,之后池化層可以輸出一個(gè)固定大小的矩陣。不同長(zhǎng)度句子的輸入和大小不同的卷積核通過(guò)池化層最終得到一個(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ù)測(cè)序列數(shù)據(jù),在全連接神經(jīng)網(wǎng)絡(luò)或卷積神經(jīng)網(wǎng)絡(luò)中,信息在網(wǎng)絡(luò)中的流向都是從輸入層到隱含層再到輸出層,層與層之間是全連接或部分連接,但是每層之間的結(jié)點(diǎn)沒(méi)有連接。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 所示,對(duì)于RNN 而言,一個(gè)關(guān)鍵的概念就是時(shí)刻,RNN 會(huì)將每一個(gè)時(shí)刻的輸入結(jié)合當(dāng)前模型的狀態(tài)得出一個(gè)輸出。可以看出,RNN 的主體結(jié)構(gòu)A 的輸入除來(lái)自輸入層的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 可以看出,簡(jiǎn)單的神經(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í)刻的輸出。具體過(guò)程可由式(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 雖然是一種擅長(zhǎng)處理序列的網(wǎng)絡(luò)結(jié)構(gòu),但它有一較為重大的弊端:信息強(qiáng)度會(huì)隨迭代次數(shù)的增多而降低,基本無(wú)法處理具有長(zhǎng)時(shí)依賴特點(diǎn)的序列。長(zhǎng)時(shí)依賴的序列指在序列長(zhǎng)度較長(zhǎng)時(shí),其真實(shí)含義可能會(huì)和序列初始部分有強(qiáng)相關(guān)性。這種情況也常出現(xiàn)在自然語(yǔ)言中,比如介紹某個(gè)物品時(shí),它的具體名字可能只出現(xiàn)在開(kāi)頭,后面再提到它時(shí)就用代詞代替。RNN 作為一種傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò),由于其本身的結(jié)構(gòu)原因,早期的序列信息會(huì)隨著編碼的進(jìn)行而逐漸丟失,這樣不利于長(zhǎng)序列編碼的處理。

        LSTM 是一種改進(jìn)的RNN 類型,它有不同于單一循環(huán)的特殊循環(huán)結(jié)構(gòu),通過(guò)自身獨(dú)特的設(shè)計(jì),解決了RNN 不能獲取較長(zhǎng)序列信息的缺點(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è)編碼過(guò)程的細(xì)胞狀態(tài)將重要信息進(jìn)行更長(zhǎng)時(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ù)向量,該向量的長(zhǎng)度與代表細(xì)胞狀態(tài)的向量長(zhǎng)度相等。根據(jù)計(jì)算結(jié)果決定細(xì)胞狀態(tài)中信息對(duì)應(yīng)的保留程度,其中0 表示完全不保留,1 表示完全保留。可用式(5)表示該過(guò)程。

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

        σ

        為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è)決定了如何從備選信息中選取。該過(guò)程由式(6)、式(7)表示。

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

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

        2.3.3 GRU

        GRU 可以看成是LSTM 的變體,它運(yùn)算更快,同時(shí)也能取得不比LSTM 差的效果,原因是它精簡(jiǎn)了LSTM 的“門結(jié)構(gòu)”,將LSTM 中的遺忘門和輸入門用更新門代替,其結(jié)構(gòu)由更新門和重置門兩個(gè)“門”結(jié)構(gòu)構(gòu)成。更新門負(fù)責(zé)控制前一時(shí)刻隱層的輸出對(duì)當(dāng)前隱層的影響程度,更新門的值越大,說(shuō)明前一時(shí)刻隱層的輸出對(duì)當(dāng)前隱層的影響就越大;重置門負(fù)責(zé)控制前一時(shí)刻隱層信息被忽略的程度,重置門的值越小,說(shuō)明信息被忽略得越多。具體結(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)中衍生而來(lái),而自注意力機(jī)制本身又屬于宏觀的注意力機(jī)制(Attention)概念中的一種,在已知的很多深度學(xué)習(xí)領(lǐng)域中都可以看到它們的參與對(duì)效果提升的貢獻(xiàn)。關(guān)于注意力機(jī)制的原理,可以將其作用過(guò)程當(dāng)成是一個(gè)查詢操作Query 和一系列鍵值對(duì)進(jìn)行依次的交互作用從而使Query 得到附加注意力值的過(guò)程。其具體計(jì)算過(guò)程包括計(jì)算Query 與key的相似度a(注意力值),以及與Value進(jìn)行加權(quán)求和的求解。Attention 機(jī)制可以抽象為式(15)。

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

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

        h

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

        h

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

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

        2.4.2 BERT

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

        Encoder

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

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

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

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

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

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

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

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

        該任務(wù)在訓(xùn)練時(shí),特殊標(biāo)記[CLS]對(duì)應(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é)方面對(duì)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ù)),接下來(lái)的每個(gè)訓(xùn)練步驟都將采用相同的MASK,這就是原始靜態(tài)MASK,即單個(gè)的靜態(tài)MASK,這是原始BERT 的做法。RoBERTa 采用全詞遮罩(Whole Word Masking)技術(shù),原始BERT 是基于WordPiece 詞級(jí)別的分詞方式,會(huì)將一個(gè)完整的詞切分成若干個(gè)子詞,在生成訓(xùn)練樣本時(shí),這些被分開(kāi)的子詞會(huì)隨機(jī)被MASK。在全詞MASK中,如果一個(gè)完整詞的部分子詞被MASK,則同屬該詞的其他部分也會(huì)被MASK,即全詞MASK;RoBERTa 在預(yù)處理時(shí)并沒(méi)有執(zhí)行MASK,它是在每次向模型提供輸入時(shí)動(dòng)態(tài)地生成MASK,這樣每個(gè)epoch 的MASK 是時(shí)刻變化的,在此基礎(chǔ)上的預(yù)測(cè)效果也更好。

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

        (3)增加數(shù)據(jù),提高算力和訓(xùn)練時(shí)長(zhǎng)。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 模型編碼方式是通過(guò)對(duì)輸入文本進(jìn)行啟發(fā)式的詞干化處理后而得到,本質(zhì)上是基于char 級(jí)別,而RoBERTa 模型運(yùn)用的編碼方式則是基于bytes 級(jí)別。bytes 級(jí)別與char 級(jí)別的根本區(qū)別在于bytes 級(jí)別使用byte 作為字詞的基本編碼單位而不是將BERT 模型所用的unicode 字符作為編碼基本單位。這樣的編碼方式能夠?qū)Σ捎萌魏涡问骄幋a的文本進(jìn)行識(shí)別而不會(huì)引入U(xiǎn)NKOWN 標(biāo)記。當(dāng)采用bytes 級(jí)別的BPE 后,其所用的詞表大小將從原來(lái)的30k 增加到現(xiàn)在的50k,這極大提升了RoBERTa 模型對(duì)復(fù)雜任務(wù)和較差語(yǔ)料的適應(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 公開(kāi)的微博評(píng)論數(shù)據(jù)集為實(shí)驗(yàn)數(shù)據(jù),經(jīng)過(guò)降噪和數(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 評(píng)價(jià)標(biāo)準(zhǔn)

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

        Table 3 Confusion matrix表3 混淆矩陣

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

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

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

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

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

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

        (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)對(duì)比。

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

        本文所用的RoBERTa 模型和其他4個(gè)模型在Nlpcc2013 和Nlpcc2014 數(shù)據(jù)集上的情感二分類具體實(shí)驗(yàn)結(jié)果對(duì)比如表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è)模型相比,在所有評(píng)價(jià)指標(biāo)上都有明顯提高。而Ro-BERTa 模型是BERT 模型的改進(jìn)型,在兩個(gè)數(shù)據(jù)集的各項(xiàng)指標(biāo)上都有小幅度提升。并且,其優(yōu)于以上所有參照模型,證明本模型在中文情感二分類上有較好的效果,也證明了本模型在中文評(píng)論情感二分類任務(wù)上的有效性。

        4 結(jié)語(yǔ)

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

        但是從實(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ù)量對(duì)模型分類效果產(chǎn)生了影響。后續(xù)將針對(duì)這一問(wèn)題做系統(tǒng)研究,并進(jìn)行論證。如果證實(shí)數(shù)據(jù)量的增加確實(shí)可以提高模型分類效果,則可以針對(duì)實(shí)際場(chǎng)景中數(shù)據(jù)集較少的情況,研究可行的數(shù)據(jù)量增加方法以提高模型整體效果。

        猜你喜歡
        注意力向量神經(jīng)網(wǎng)絡(luò)
        向量的分解
        讓注意力“飛”回來(lái)
        聚焦“向量與三角”創(chuàng)新題
        神經(jīng)網(wǎng)絡(luò)抑制無(wú)線通信干擾探究
        電子制作(2019年19期)2019-11-23 08:42:00
        “揚(yáng)眼”APP:讓注意力“變現(xiàn)”
        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)用
        亚洲国产精品综合久久网各| 无码av专区丝袜专区| 无码人妻丰满熟妇区免费| 丝袜美腿一区在线观看| 国产激情自拍在线视频| 伊人久久大香线蕉av色| 久久中文字幕人妻熟av女蜜柚m| 一级二级中文字幕在线视频| 91青青草久久| 亚洲中文字幕高清视频| 日本一区二区免费看片| 国产精品专区第一页天堂2019| 摸丰满大乳奶水www免费| 成人区人妻精品一区二区不卡网站| 国产精品欧美成人| 亚洲一区二区三区久久不卡| 亚洲精品中文有码字幕| 射进去av一区二区三区| 中文字幕人乱码中文字幕| 日本午夜精品理论片a级app发布| 色爱区综合五月激情| 亚洲国产夜色在线观看| 日韩人妻无码精品系列专区无遮| 狠狠久久av一区二区三区| 亚洲一区二区三区内裤视| 免费人成网站在线观看欧美| 日韩精品无码区免费专区| 亚欧乱色束缚一区二区三区| 国产精品久久婷婷六月| 国产精品亚洲av高清二区| 我把护士日出水了视频90分钟| 久久精品成人欧美大片| 97在线视频免费| 国产三级av在线播放| 国产传媒精品成人自拍| 免费人成视频x8x8入口| 少妇精品久久久一区二区三区| 欧美xxxxx精品| 一区二区午夜视频在线观看| 性生交片免费无码看人| 亚洲精品日韩自慰喷水白浆|