国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Reformer模型的文本情感分析

2022-04-21 07:24:10黃海燕喬偉濤
計算機工程與設計 2022年4期
關(guān)鍵詞:哈希注意力向量

王 珊,黃海燕,喬偉濤

(華東理工大學 信息科學與工程學院,上海 200237)

0 引 言

傳統(tǒng)的文本情感分析[1]大多采用機器學習和情感詞典的方法。隨著深度學習的不斷發(fā)展,越來越多深度學習技術(shù)被用于情感分析任務中,目前,已經(jīng)提出卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)、長短時記憶法(long short-term memory,LSTM)、雙向長短時記憶法(bi-directional LSTM,Bi-LSTM)等多種神經(jīng)網(wǎng)絡模型及改進方法來解決此類問題[2-5]。但這些方法還存在著訓練時間長、復雜度大的問題。在已有工作的基礎上,本文提出了基于Reformer模型的文本情感分析方法,該模型在Transformer模型的基礎上,引入局部敏感哈希注意力和可逆殘差網(wǎng)絡,既能克服傳統(tǒng)CNN、RNN網(wǎng)絡梯度爆炸或梯度消失的問題,同時簡化了情感分析模型結(jié)構(gòu),提高了文本訓練的速度。

1 相關(guān)工作

近年來,互聯(lián)網(wǎng)+的快速發(fā)展使評論文本情感分析在基于用戶的大數(shù)據(jù)分析中占有一定的比重,相對于傳統(tǒng)機器學習方法的不靈活性等特點,深度學習的方法可以更加高效、準確地判斷文本所蘊含的情感信息,因此通過深度學習的方法獲取文本情感信息是目前較為熱門的一個研究領(lǐng)域,并取得了良好的研究成功。例如,曹宇等利用Word2vec對文本進行向量化處理,然后利用雙向門控循環(huán)單元進行訓練并取得了較好的效果[6]。殷昊等利用多組LSTM對經(jīng)過欠采樣處理的多組數(shù)據(jù)分別進行訓練,最后將各組訓練結(jié)果融合進行文本情感分析,很好實現(xiàn)了不均衡數(shù)據(jù)集的情感分析[7]。王麗亞等利用CNN網(wǎng)絡和CNN-BGRU網(wǎng)絡針對字符級文本分別進行特征學習,最后引入Attention機制(注意力機制)對文本情感進行分類[8]。

利用CNN和RNN以及兩者結(jié)合進行文本情感分析已經(jīng)取得了良好的效果,但仍存在一定的問題,利用使用RNN進行文本情感分析存在長期依賴的問題并且難以并行計算,CNN則不能直接處理序列較長的文本樣本。因此谷歌團隊拋棄了具有解碼-編碼(encoder-decoder)結(jié)構(gòu)的神經(jīng)網(wǎng)絡模型必須結(jié)合CNN或RNN的固有概念,將輸入序列中任意兩個詞語之間的距離縮小為常量,提出了完全由注意力機制構(gòu)成的Transformer模型[9],并在自然語言處理領(lǐng)域得到了廣泛利用并取得了較好成績。例如,陳珂等利用Transformer模型對文本進行訓練得到文本語義、位置特征,然后根據(jù)情感詞典提取包含文本情感特征的詞語并利用自注意力機制進行訓練獲得文本情感特征,最后將兩種不同訓練方法得到的文本特征進行融合并進行情感分類[10]。王明申等利用詞級權(quán)重模型獲得不同詞語的權(quán)重,然后將得到的權(quán)重與 Transformer 模型相結(jié)合進行文本情感分析[11]。盡管利用Transformer模型進行文本情感分析已經(jīng)取得了較好的成績,但Transformer模型仍存在復雜度高、訓練時間長的問題。因此,優(yōu)化Transformer模型結(jié)構(gòu),降低模型復雜度,對提高文本情感分析準確率,加快訓練時間具有重要意義。

2 Reformer模型

Reformer模型是Nikita Kitaev等在Transformer模型的基礎上提出的一種變體,它克服了Transformer模型處理長文本時占用內(nèi)存大,訓練速度慢的問題[12]。同Transformer模型結(jié)構(gòu)類似,Reformer模型也采用由注意力機制和前饋網(wǎng)絡組成Encoder-Decoder(解碼-編碼)結(jié)構(gòu),其總體結(jié)構(gòu)如圖1所示。與Transformer模型相比Reformer模型主要進行了3點改變:局部敏感哈希注意力機制(locality sensitive hashing attention,LSH Attention)取代點乘注意力(dot-product attention),可逆殘差(reversible residual layers)代替標準殘差(standard residuals)以及采用分塊的前饋網(wǎng)絡[12]。

圖1 Reformer模型結(jié)構(gòu)

2.1 局部敏感哈希注意力機制

注意力機制是文本情感分析中常用的一種方法,它可以根據(jù)不同詞語所在的位置賦予其不同權(quán)重,從而更好實現(xiàn)分類效果。傳統(tǒng)Transformer模型中主要采用放縮點積注意力機制[9]。對于放縮點積注意力機制,其表達式為

(1)

其中,Q(query)是向量化的輸入文本,K(key)和V(value)則是輸入文本中單個詞語的詞向量。通過式(1)可以看出,當輸入文本的長度為L時,放縮點積注意力機制的復雜度為Ο(L2)。為了降低注意力機制的復雜度,Reformer模型引入局部敏感哈希算法,舍棄Q值并將注意力權(quán)重替換為K的函數(shù),構(gòu)建了局部敏感哈希注意力機制。

局部敏感哈希(locality sensitive hashing,LSH)是Indyk提出的一種改進哈希算法,其主要思想是,設計一種哈希函數(shù)對高維空間中任意兩點進行計算,當兩點間隔很近時,則這兩個點大概率有相同的哈希值,反之,當兩點間隔很遠時,它們哈希值相同的概率會很小[13]。根據(jù)兩點之間相似度計算方式的不同,LSH算法有許多不同的hash算法。在Reformer模型中,采用的hash算法是基于向量之間夾角計算相似度的隨機投影法[14]。該方法首先將向量投影到一個單位球的球面上,然后應用一系列的旋轉(zhuǎn)操作,最后找到每個旋轉(zhuǎn)向量所屬的切片。這樣一來就需要找到最近鄰的值,這就需要局部敏感哈希,它能夠快速在高維空間中找到最近鄰的點。假設空間中存在3個點A,B,C,其中A,B兩點距離很近,A,B與C距離很遠,則這3個點投影到一個單位圓上,并隨機旋轉(zhuǎn)3次,其變換過程如圖2所示,其中旋轉(zhuǎn)正角度時為逆時針,反之為順時針。

圖2 哈希變換過程

因此,在注意力機制中引入局部敏感哈希后,LSH Attention的計算過程如圖3所示。

圖3 LSH Attention工作流程

如圖3所示,局部敏感哈希注意力機制的工作流程為:

(1)對輸入序列進行處理,令Q=K;

(2)利用哈希函數(shù),將Q和K中的序列分為不同的哈希桶(圖3中,不同背景表示不同的哈希桶);

(3)根據(jù)哈希桶的不同對序列進行重新排序,同個哈希桶中,按照原本位置進行排序;

(4)對步驟(3)得到的新序列,進行分塊;

(5)對分塊后序列進行并行化處理,利用注意力機制對每個qi(qi∈Q)對同一哈希桶中當前位置及之前位置序列進行訓練。

2.2 可逆殘差網(wǎng)絡

雖然在注意力機制中引入局部敏感哈希算法解決了Transformer模型復雜度高的問題,但模型仍然存在內(nèi)存占用大的問題。將Transformer模型的內(nèi)部進行展開,其結(jié)構(gòu)如圖4所示。通過圖4可以看出,Transformer模型的每個注意力層和前饋層都被包裝成一個殘差塊的形式,因此,在模型訓練過程中,需要存儲每一層激活函數(shù)的輸入來計算反向傳播期間的梯度,導致大量的內(nèi)存消耗。因此,在Reformer模型中,采用可逆殘差網(wǎng)絡對反向傳播中激活函數(shù)的輸入重新計算,從而減少內(nèi)存的占用。以編碼器為例,引入可逆殘差網(wǎng)絡后,其結(jié)構(gòu)如圖5所示。

圖4 Transformer模型內(nèi)部結(jié)構(gòu)

圖5 Reformer模型解碼器內(nèi)部結(jié)構(gòu)

假設注意力機制和前饋網(wǎng)絡分別用Att,F(xiàn)FN表示,則通過圖5可以看出,正向傳播時

y1=x1+Att(x2)

y2=x2+FFN(y1)

(2)

反向傳播時

x1=y1-Att(x2)

x2=y2-FFN(y1)

(3)

因此,引入可逆殘差網(wǎng)絡后,訓練過程中只需要在第一層編碼器或解碼器存儲激活一次,極大節(jié)約了內(nèi)存的占用。

2.3 前饋網(wǎng)絡分塊化

對于前饋神經(jīng)網(wǎng)絡,當其隱含層非常大時,其內(nèi)存占用也是非常大的。但是在Transformer模型中,由于前饋網(wǎng)絡的輸入是獨立的,因此,可以對其進行分塊劃分,每次只對一個模塊進行計算,從而極大降低了內(nèi)存的使用,其計算公式如下所示

(4)

其中,m為分的塊數(shù)。

3 基于Reformer模型的文本情感分析模型

本文提出的基于Reformer的情感分析模型如圖6所示,主要包括文本預處理、文本詞向量轉(zhuǎn)化及分類3個部分,其中v1v2v3v4…vn為文本預處理后得到的詞語,w1w2w3w4…wn為文本向量化后得到的詞語向量,n為詞語個數(shù)。當評論文本輸入時,首先通過文本預處理層對輸入數(shù)據(jù)進行分詞、去停用詞,再利用文本詞向量轉(zhuǎn)化層將輸入文本映射成對應的詞向量,得到W=[w1,w2,…,wn]T,其中wn為文本中第n個詞語的詞向量,然后經(jīng)過Reformer模型的編碼層,獲得文本的情感特征,最后將獲得的文本情感特征輸入全連接層進行文本情感傾向計算。

圖6 基于Reformer模型的文本情感分析模型

Reformer模型完全繼承了Transformer 模型可以充分提取文本語義特征的能力,同時通過引入局部敏感哈希注意力機制,可逆殘差等改進辦法,使模型可以更快處理長文本,提高了文本情感分析的效率。

3.1 文本預處理

分詞是中文文本處理的一個必要步驟,與英文文本不同,中文的字與字之間不存在空格符進行分割,因此需要預先進行文本分詞處理。本文主要采用分詞工具jieba來實現(xiàn)文本中詞語的劃分。除分詞外,去停用詞也是中文文本預處理必不可少的步驟。在文本中,經(jīng)常存在一些對其所蘊含的情感傾向不存在影響的詞語或字,這些字或詞即被稱為停用詞,因為這些詞和字不會對情感分析產(chǎn)生影響,因此在信息檢索中,為節(jié)省存儲空間和提高搜索效率,在處理文本數(shù)據(jù)過程中會自動過濾掉這些停用詞。本文在去停用詞過程中采用的是自然語言處理領(lǐng)域常用的“哈工大停用詞表”。

3.2 文本詞向量轉(zhuǎn)化

由于機器不能直接識別純文本輸入,需要對文本進行向量化操作,將文本轉(zhuǎn)化為機器可以識別的數(shù)值形式。因此,本文采用Word2Vec的CBOW模型將文本預處理后得到的單詞轉(zhuǎn)化為向量形式,假設詞向量維度設置為j,則單詞vi經(jīng)過訓練后,得到詞向量

wi=[wi1,wi2,wi3…wij]

(5)

假設輸入文本S經(jīng)過文本預處理后長度為n,則該文本向量化后可以表示為,W∈Rn×j,其中W=[w1,w2,…,wn]T。

3.3 分 類

在Reformer模型中,解碼器是生成式模型,主要用于自然語言的生成,因此,在本文中情感分析任務中,僅采用編碼器結(jié)構(gòu)。在Reformer模型的Encoder模型中,注意力機制采用由多個局部敏感哈希注意力機制組成的多頭注意力(multi-head attention layer),當輸入為x時,多頭注意力層通過h個不同的線性變換輸入進行投影,最后將不同的注意力機制結(jié)果拼接起來,因此,當經(jīng)過預處理和向量化的文本輸入Reformer模型的多頭注意力層時,得到輸出為

MultiHead(Q,K,V)=Concat(head1,head2,…,headh)WO

(6)

其中,WO為多頭注意力層的權(quán)重矩陣,head1,head2,…,headh為局部敏感哈希注意力機制的輸出,其表達式為

headi=Attention(Qi,Ki,Vi)

(7)

Attention(Qi,Ki,Vi)=

(8)

(9)

(10)

前饋神經(jīng)網(wǎng)絡是解碼器子層的第二層,通過該層可以得到句子的特征向量,由于Reformer模型采用的是分塊化前饋神經(jīng)網(wǎng)絡,因此,當輸入文本時,首先將文本劃分成m個模塊,然后依次對各個模塊進行計算,最后,將各模塊計算結(jié)果進行拼接,得到前饋網(wǎng)絡層輸出,其計算公式為

C=Concat(chunk1,chunk2,…chunkm)=

Concat(max(0,Z1W1+b1)W2+b2,

max(0,Z2W1+b1)W2+b2,…,

max(0,ZmW1+b1)W2+b2)

(11)

其中,m為前饋神經(jīng)網(wǎng)絡輸入所分的塊數(shù),W1,W2為前饋網(wǎng)絡的權(quán)重,b1,b2為前饋網(wǎng)絡的偏置。

本文使用的編碼器是由6個編碼模塊組成,因此,最后,采用Softmax函數(shù)對輸入進行計算,進而實現(xiàn)文本分類,計算方法為

y=Softmax(WH+B)

(12)

其中,W為權(quán)重系數(shù)矩陣,B為相對應的偏置。

4 實驗設計與結(jié)果分析

本文利用Reformer神經(jīng)網(wǎng)絡對評論文本所蘊含的情感傾向進行判斷分類。首先word2vec算法將利用jieba分詞后的文本轉(zhuǎn)化為詞向量形式,然后輸入Reformer模型進行訓練,最后由Softmax分類器進行計算和情感分類。實驗的環(huán)境見表1。

表1 實驗平臺設置

4.1 數(shù)據(jù)來源

表2 語料庫基本信息

表3 語料庫數(shù)據(jù)樣例

4.2 評價指標

本文使用準確率Acc和訓練時長Time作為分類的評價指標,針對同一語料庫,Acc越大,代表模型預測越準確,Time越小,代表訓練速度越快

(13)

其中,TP、TN、FP、FN分別為情感分類中幾種分類結(jié)果,其具體分類見表4。

表4 文本分類混淆矩陣

4.3 實驗參數(shù)設置

表5是實驗所用一些參數(shù)的具體說明,其中詞向量的維度vocab_dim設為100維,局部敏感哈希注意力機制的哈希桶數(shù) buck設為10。優(yōu)化算法使用自適應矩估計算法Adam來調(diào)整參數(shù)的學習率,并利用Dropout機制來避免過擬合現(xiàn)象的出現(xiàn)。

表5 實驗參數(shù)

4.4 實驗結(jié)果與分析

本文將Reformer模型與CNN、LSTM等模型進行對比,實驗結(jié)果見表6。通過表6可以看出,相對于CNN、LSTM等模型,本文提出的利用Reformer模型進行文本情感分析不僅可以取得更高的準確率,在時間上也明顯優(yōu)于其它幾種神經(jīng)網(wǎng)絡模型。本文提出的基于Reformer的情感分析模型在3種數(shù)據(jù)集上準確率達到92.21%、98.38%、99.94%,相對于與其它深度學習模型在對應數(shù)據(jù)集上的最高準確率分別提高了2.92%、3.27%、3.83%,從時間角度來說,本文提出的基于Reformer的情感分析模型相對于其它模型在這3種數(shù)據(jù)集上最快速度來說,分別提高了52.43%、55.36%、41.52%,可以看出本文提出的模型結(jié)構(gòu)在3種數(shù)據(jù)集上的實驗結(jié)果,較本文其它幾種對比模型有較大幅度的提升。同時,本文所采用的3種數(shù)據(jù)集在大小、文本長度及是否為平衡數(shù)據(jù)集上都存在區(qū)別,由此也可以看出,在應用上,本文提出的基于Reformer的情感分析模型有較好的普遍適用性。

表6 Reformer模型與傳統(tǒng)神經(jīng)網(wǎng)絡實驗結(jié)果

以os數(shù)據(jù)集為例,繪制實驗對比曲線圖,如圖7所示。通過圖7可以看出,Reformer模型第一個Epoch的準確率就達到了90%以上,同時,當?shù)?個Epoch結(jié)束,模型情感分類準確率增長速度變慢,逐漸接近收斂,驗證Reformer模型的收斂速度明顯快于其它幾組實驗對比模型。

圖7 模型實驗對比曲線圖

為了進一步驗證Reformer模型的有效性,本文將Reformer模型與Transformer模型及其變體進行比較,實驗結(jié)果見表7,其中,LAT為Linear-Attention Transformer?!啊睘槲催M行實驗。通過表7,可以看出相對于Transformer等模型,Reformer模型在文本情感分析任務上有更好的效果。

表7 Reformer模型與Transformer模型及其變體實驗結(jié)果

5 結(jié)束語

針對傳統(tǒng)情感分析訓練時間長、準確率低的問題,本文提出了一種利用Reformer神經(jīng)網(wǎng)絡模型解決中文文本情感傾向分析的有效方法。該方法利用Reformer模型對輸入的向量化的文本進行訓練及分類。實驗結(jié)果表明了使用該方法處理中文評論情感分析問題是可行的,相比CNN、LSTM、Transformer等模型能夠更好實現(xiàn)中文文本情感的分類。在下一步的工作中,將繼續(xù)對算法進行更加深入的研究,優(yōu)化模型的結(jié)構(gòu),以期達到更好的情感分析結(jié)果。

猜你喜歡
哈希注意力向量
向量的分解
讓注意力“飛”回來
聚焦“向量與三角”創(chuàng)新題
“揚眼”APP:讓注意力“變現(xiàn)”
傳媒評論(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
向量垂直在解析幾何中的應用
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
基于維度分解的哈希多維快速流分類算法
計算機工程(2015年8期)2015-07-03 12:20:04
基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
計算機工程(2014年6期)2014-02-28 01:25:40
扶风县| 法库县| 龙泉市| 三门县| 伊金霍洛旗| 武平县| 南宫市| 阳江市| 鲜城| 奉贤区| 广元市| 新河县| 安庆市| 庆安县| 吴川市| 江安县| 揭东县| 宜宾县| 高州市| 芜湖县| 阿鲁科尔沁旗| 凤台县| 拜泉县| 金山区| 泽库县| 嘉峪关市| 简阳市| 安仁县| 绥中县| 南华县| 全南县| 宽城| 田林县| 多伦县| 岳阳市| 电白县| 遵义县| 延安市| 九龙城区| 荃湾区| 江城|