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

?

基于BiLSTM-Attention-CNN混合神經(jīng)網(wǎng)絡(luò)的文本分類方法

2020-09-09 03:09:06萬齊斌董方敏孫水發(fā)
計算機(jī)應(yīng)用與軟件 2020年9期

萬齊斌 董方敏 孫水發(fā)

(三峽大學(xué)計算機(jī)與信息學(xué)院 湖北 宜昌 443002)

0 引 言

在當(dāng)今大數(shù)據(jù)時代下,互聯(lián)網(wǎng)中遍布圖像、語音、文本等各類數(shù)據(jù)信息,其中文本信息占重要地位。而對文本內(nèi)容進(jìn)行分類是文本挖掘、大數(shù)據(jù)領(lǐng)域的一項重要課題。文本分類便于人們對數(shù)據(jù)進(jìn)行整理和分析,也是目前自然語言處理中最基本的一項任務(wù),因而具有極其重要的意義。

傳統(tǒng)的文本分類方法主要是基于統(tǒng)計學(xué)的方法,該類方法利用詞頻信息對文本進(jìn)行分類,容易造成數(shù)據(jù)特征稀疏和語義敏感等問題,分類精度不高。近年來,隨著深度學(xué)習(xí)技術(shù)的不斷成熟,CNN、RNN等神經(jīng)網(wǎng)絡(luò)模型也逐漸被應(yīng)用到自然語言處理領(lǐng)域。CNN網(wǎng)絡(luò)具有較強(qiáng)的特征提取能力,在圖像領(lǐng)域具有廣泛的應(yīng)用。而在文本方面,由于文本信息的上下文聯(lián)系,一種雙向長短期記憶網(wǎng)絡(luò)BiLSTM被研究人員廣泛使用。對于文本分類任務(wù),提取文本中的關(guān)鍵詞至關(guān)重要,而這兩種常用網(wǎng)絡(luò)模型缺點(diǎn)在于無法體現(xiàn)每個詞在文本中的重要程度,不能有效地獲取文本中的關(guān)鍵詞,結(jié)構(gòu)單一。因此,本文提出一種基于BiLSTM-Attention-CNN混合神經(jīng)網(wǎng)絡(luò)的文本分類方法,引入注意力機(jī)制,提取每個詞的注意力分值;在網(wǎng)絡(luò)中,給注意力分值較大的詞分配較大權(quán)重,使該詞在分類任務(wù)中發(fā)揮更重要的作用,提高分類準(zhǔn)確率。

1 相關(guān)工作

目前,文本分類主要分為傳統(tǒng)方法和深度學(xué)習(xí)方法。傳統(tǒng)方法主要包括支持向量機(jī)[1]、樸素貝葉斯、KNN和LDA[2]主題模型算法等。近幾年,深度學(xué)習(xí)方法發(fā)展迅速,2013年,Mikolov等[3]提出Word2vec模型用于詞量化,替代了簡單的one-hot向量化方式,解決了數(shù)據(jù)稀疏問題。在Word2vec中有CBOW和Skip-gram模型用于訓(xùn)練詞向量,在訓(xùn)練細(xì)節(jié)上,提出了多種優(yōu)化方法,模型的訓(xùn)練速度得到極大的提升。2014年,Mnih等[4]提出一種用于深度學(xué)習(xí)領(lǐng)域的注意力機(jī)制方法,用于提取關(guān)鍵信息,實驗表明結(jié)合注意力機(jī)制的RNN網(wǎng)絡(luò)在圖像領(lǐng)域要優(yōu)于大多數(shù)單一模型。2015年,Kim[5]提出TextCNN神經(jīng)網(wǎng)絡(luò)模型,首次將CNN網(wǎng)絡(luò)模型應(yīng)用到文本分類領(lǐng)域,將句子分割為詞語級別進(jìn)行處理,證實CNN網(wǎng)絡(luò)模型不僅適用于計算機(jī)視覺領(lǐng)域,同時也適用于自然語言處理領(lǐng)域,但缺乏對上下文的聯(lián)系。同年,Zhou等[6]將長短期記憶網(wǎng)絡(luò)LSTM應(yīng)用于文本分類領(lǐng)域,彌補(bǔ)了CNN缺失上下文信息的缺點(diǎn)。由于LSTM是將整個文本作為輸入,沒有對文本中重要信息進(jìn)行提取,因此,對于長文本數(shù)據(jù)集而言,其訓(xùn)練時間較長。文獻(xiàn)[7]提出一種循環(huán)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)RCNN,該結(jié)構(gòu)將BiLSTM和最大池化層連接,BiLSTM網(wǎng)絡(luò)捕獲上下文信息,池化層提取關(guān)鍵特征,通過兩種結(jié)構(gòu)的融合,充分發(fā)揮了BiLSTM提取上下文信息的優(yōu)勢,但在CNN部分只保留了池化層,削弱了CNN提取特征的能力。

隨著注意力機(jī)制的改進(jìn),越來越多的基于注意力機(jī)制的方法被提出。2016年,Yang等[8]提出一種基于注意力機(jī)制的GRU網(wǎng)絡(luò),使用神經(jīng)網(wǎng)絡(luò)分層建模句子和文檔,采用一種自下向上的基于向量的文本表示模型,并在層與層之間加入注意力機(jī)制,有效地提高了模型的精確度。同年,Yin等[9]提出一種結(jié)合注意力機(jī)制的CNN網(wǎng)絡(luò),結(jié)合注意力機(jī)制將不同CNN通道的句對聯(lián)系起來,證實CNN網(wǎng)絡(luò)也可以和注意力機(jī)制結(jié)合,并取得不錯的效果。

注意力機(jī)制最先是針對圖像領(lǐng)域提出的一種機(jī)制,其目的是提取圖像的局部重要特征。隨后,注意力機(jī)制被運(yùn)用到自然語言處理領(lǐng)域,如結(jié)合注意力機(jī)制的機(jī)器翻譯[10]、情感分析[11]及關(guān)系抽取[12]等。由于CNN和BiLSTM都是對整體文本進(jìn)行操作,缺少對文本重要信息的注意力,在此基礎(chǔ)上,本文提出一種基于BiLSTM-Attention-CNN混合神經(jīng)網(wǎng)絡(luò)用于文本分類。使用BiLSTM網(wǎng)絡(luò)分別學(xué)習(xí)當(dāng)前詞的上文表示和下文表示,得到當(dāng)前詞更深層次的語義向量;建立注意力模型,計算每個詞向量的概率權(quán)重,使權(quán)重較大的詞得到更多的注意,這些得到更多關(guān)注的詞往往是對于文本分類任務(wù)很關(guān)鍵的詞;連接池化層,執(zhí)行k-max池化,保留前k個權(quán)重較大的詞;連接CNN網(wǎng)絡(luò)提取特征進(jìn)行文本分類。

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

注意力機(jī)制是模仿人類大腦的信號處理機(jī)制,能快速掃描圖像或文字,找到需要重點(diǎn)關(guān)注的目標(biāo)區(qū)域。如圖1所示,BiLSTM-Attention-CNN模型包含6個組成部分:

(1) 嵌入層:將詞映射為低維向量;

(2) BiLSTM層:利用BiLSTM網(wǎng)絡(luò)獲得每個詞的更深層次的語義向量表達(dá);

(3) 注意力層:計算每個詞的注意力權(quán)重;

(4) k-max池化層:執(zhí)行k-max池化,提取步驟(3)中注意力權(quán)重排名前k個詞;

(5) CNN層:將經(jīng)過k-max池化提取的前k個詞向量輸入CNN網(wǎng)絡(luò)進(jìn)行卷積等操作,提取特征;

(6) 輸出層:將最終CNN提取到的特征向量通過Softmax分類。

圖1 BiLSTM-Attention-CNN模型基本結(jié)構(gòu)

2.1 嵌入層

詞嵌入是自然語言處理中詞向量的表示方法,傳統(tǒng)的詞向量表示方法大多采用one-hot編碼方式,但此方法容易導(dǎo)致向量維度過高。本文模型中,詞嵌入采用Word2vec中的Skip-gram模型對詞進(jìn)行預(yù)訓(xùn)練。圖2為Skip-gram模型的結(jié)構(gòu)圖,該模型是目前在自然語言處理領(lǐng)域詞嵌入最優(yōu)的方法。Skip-gram模型通過當(dāng)前詞預(yù)測該詞上下文的詞向量表示,設(shè)中間詞為xt,其向量形式為v(xt),設(shè)置上下文依賴窗口大小為4,則可預(yù)測周圍4個詞的詞向量{v(xt-2),v(xt-1),v(xt+1),v(xt+2)}。Skip-gram模型是利用中間詞向量v(xt)的條件概率值來求解上下文詞向量,計算式為:

(1)

圖2 Skip-gram模型

2.2 BiLSTM層

LSTM層使用雙向長短期記憶網(wǎng)絡(luò)BiLSTM獲取詞的更深層次的語義向量,該結(jié)構(gòu)可以結(jié)合當(dāng)前詞的上下文,避免RNN中后面的單詞比前面的內(nèi)容影響力更大。例如,在“A sunset stroll along the South Bank affords an array of stunning vantage points”這句話中,CNN可能會提取到特征詞“bank”,但此處的“bank”具體含義并不清晰,如果與BiLSTM結(jié)合,則通過上下文語義信息,可推斷此處的“bank”意思為“海岸”。圖3為BiLSTM網(wǎng)絡(luò)處理這句話的過程。

圖3 BiLSTM模型

首先,使用BiLSTM分別學(xué)習(xí)當(dāng)前詞wi的上文表示cl(wi)和下文表示cr(wi),再與當(dāng)前詞自身向量表示e(wi)連接。

cl(wi)=f(W(l)cl(wi-1)+W(sl)e(wi-1))

(2)

cr(wi)=f(W(r)cl(wi+1)+W(sr)e(wi+1))

(3)

xi=[cl(wi),e(wi),cr(wi)]

(4)

(5)

2.3 注意力層

在NLP領(lǐng)域,由于文本的基本單位為詞,現(xiàn)有模型大多都針對詞語進(jìn)行訓(xùn)練和操作。因此,本文提出的注意力機(jī)制主要是計算詞語在文本中的注意力,注意力越大,該詞受到的關(guān)注越多,說明該詞在任務(wù)中發(fā)揮的作用越大。提取出注意力較大的詞,可以有效地將文本分類。因此,本文提出一種用于文本分類的注意力機(jī)制如圖4所示。

圖4 注意力模型

(6)

式中:w、w1為權(quán)重矩陣;b1為偏置項。得到注意力分值后,使用Softmax計算概率分布值,計算式為:

(7)

y(3)=YαT

(8)

式中:α為α1,α2,…,αi的組合矩陣。

2.4 k-max池化層

在NLP領(lǐng)域,池化層主要用來提取特征,將不同長度文本轉(zhuǎn)換為固定長度向量。常見的池化操作為最大池化操作,保留其中一個特征,而在文本中,通常是幾個詞或者其組合形式表達(dá)整個文本含義。因此,本模型采用k-max池化,保留前k個注意力分值較大的詞向量,得到前k個詞的組合特征向量y(4),權(quán)重越大,其得到的注意力也越多。根據(jù)多次實驗結(jié)果,k取值為8。

2.5 CNN層

CNN層采用基本的TextCNN模型提取特征。該網(wǎng)絡(luò)第一層為輸入層,將k-max池化層提取的前k個詞向量作為輸入;第二層為卷積層,使用多個不同大小的濾波器對輸入的詞向量執(zhí)行卷積;第三層為池化層,執(zhí)行最大池化操作,重新構(gòu)建一個新的特征向量y(5)。

2.6 輸出層

經(jīng)典的全連接網(wǎng)絡(luò)的輸出層定義為:

y(6)=w3y(5)+b2

(9)

式中:w3為權(quán)重矩陣;b2為偏置項。通過Softmax函數(shù)分類,得到每個文本所屬類別的概率分布值,最大值的類別即為預(yù)測類別,計算式為:

(10)

3 實 驗

實驗在ubuntu 16.04上進(jìn)行,CPU為Intel(R)Xeon(R)E5-2665,2.4 GHz,內(nèi)存大小為32 GB,實驗編程語言為Python 3.0,深度學(xué)習(xí)框架為Tensorflow 1.12.0。實驗數(shù)據(jù)集為DBPedia和AGNews文本分類數(shù)據(jù)集。DBpedia是一個眾包社區(qū),旨在從維基百科中提取結(jié)構(gòu)化信息,其本體數(shù)據(jù)集是通過從DBpedia 2014中挑選14個非重疊類來構(gòu)建的。從這14個本體類中的每一類中,隨機(jī)選擇40 000個訓(xùn)練樣本和5 000個測試樣本,因此,訓(xùn)練集數(shù)量為560 000,測試集數(shù)量為70 000。AGNews的新聞主題分類數(shù)據(jù)集是通過從原始新聞?wù)Z料庫中選擇4個最大的類來構(gòu)造的,每個類包含30 000個訓(xùn)練樣本和1 900個測試樣本,訓(xùn)練樣本總數(shù)為120 000,測試樣本數(shù)量為7 600。

3.1 參數(shù)及評測標(biāo)準(zhǔn)

實驗訓(xùn)練為批量訓(xùn)練,對DBPedia以及AGNews數(shù)據(jù)集進(jìn)行分類,相關(guān)實驗參數(shù)如表1、表2所示。采用文本分類常用的準(zhǔn)確率作為評測標(biāo)準(zhǔn),有效反映模型的性能。

準(zhǔn)確率=分類正確的文本/文本的總數(shù)

軻左手把秦王袖,右手揕其胸,數(shù)之曰:“足下負(fù)燕日久,貪暴海內(nèi),不知厭足。于期無罪而夷其族。軻將海內(nèi)報仇。今燕王母病,與軻促期。從吾計則生,不從則死?!鼻赝踉唬骸敖袢罩拢瑥淖佑嫸?乞聽琴聲而死。”召姬人鼓琴,琴聲曰:“羅縠單衣,可掣而絕。八尺屏風(fēng),可超而越。鹿盧之劍,可負(fù)而拔。”軻不解音。秦王從琴聲負(fù)劍拔之,于是奮袖超屏風(fēng)而走。軻拔匕首擿之,決秦王,刃入銅柱,火出。秦王還斷軻兩手。軻因倚柱而笑,箕踞而罵曰:“吾坐輕易,為豎子所欺。燕國之不報,我事之不立哉!”

表1 BiLSTM網(wǎng)絡(luò)參數(shù)

表2 CNN網(wǎng)絡(luò)參數(shù)

3.2 結(jié)果及分析

3.2.1分類結(jié)果分析

為了驗證本文模型的優(yōu)越性,選取了6種文本分類方法,傳統(tǒng)文本分類方法選用樸素貝葉斯模型[13]、ngrams-TFIDF模型[14],深度學(xué)習(xí)方法選用charCNN模型[15]、wordCNN模型、LSTM模型[16]和RCNN模型。表3為各模型分類效果對比。

表3 不同模型分類效果對比 %

由表3中數(shù)據(jù)分析可知,在相同的數(shù)據(jù)集上,本文模型的分類效果更佳。樸素貝葉斯、ngrams-TFIDF這兩種傳統(tǒng)方法是基于統(tǒng)計學(xué)方法,分類依據(jù)是每個詞出現(xiàn)頻率,而不是每個詞的語義信息,雖然ngrams-TFIDF采用ngrams方法,減少了詞向量的維度,避免了數(shù)據(jù)稀疏問題,但沒有改變其基于統(tǒng)計頻率的根本性質(zhì)。而本文提取的是句子的特征向量,是句子潛在的語義信息,因此,分類效果更佳。實驗結(jié)果顯示,本文模型的分類準(zhǔn)確率比一般傳統(tǒng)方法高出2到3個百分點(diǎn)。

圖5和圖6分別為各模型損失值和準(zhǔn)確率隨時間變化曲線,可以看出,本文模型的分類準(zhǔn)確率比單一的CNN或LSTM高出1至2個百分點(diǎn),且收斂更快,能在較短的時間內(nèi)達(dá)到較高的準(zhǔn)確率。實驗證明:融合的多網(wǎng)絡(luò)結(jié)構(gòu)比單一的網(wǎng)絡(luò)結(jié)構(gòu)效果更佳,例如CNN只考慮到特征提取,LSTM只考慮到上下文語義聯(lián)系,而本文的網(wǎng)絡(luò)結(jié)構(gòu)是BiLSTM、注意力機(jī)制、CNN三者的融合,綜合考慮到特征提取和上下文語義之間的聯(lián)系,模型結(jié)構(gòu)更加全面,可解釋性更佳。

圖5 損失值隨時間變化曲線

圖6 準(zhǔn)確率隨時間變化曲線

在網(wǎng)絡(luò)融合模型中,與RCNN網(wǎng)絡(luò)結(jié)構(gòu)相比,本文模型在準(zhǔn)確率上增幅不大,但是收斂速度更快。雖然RCNN網(wǎng)絡(luò)的結(jié)構(gòu)為BiLSTM連接池化層,也是一種網(wǎng)絡(luò)融合模型,但并不是真正的BiLSTM結(jié)合CNN的模式。由圖5可知,該網(wǎng)絡(luò)不穩(wěn)定,訓(xùn)練過程中震蕩強(qiáng)烈,而本文模型不僅加入了CNN,還加入注意力機(jī)制來計算每個詞的注意力概率值。通過概率值知道注意力應(yīng)集中在哪些詞,提取k個關(guān)鍵詞,可以實現(xiàn)精準(zhǔn)快速的分類,提升收斂速度,極大地減少震蕩。

3.2.2k值分析

由于本文池化層采用k-max池化,因此k的取值顯得尤為重要。為了驗證本文模型中k的最佳取值,進(jìn)行多次實驗,繪制了準(zhǔn)確率隨k值的變化曲線,如圖7所示。從整體上看,準(zhǔn)確率隨著k值的增加而上升,說明本文采用的k-max池化相較于max池化而言,對模型整體效果有一定提升。k取值很小時,本文模型在AGNews和DBPedia兩種數(shù)據(jù)集上的準(zhǔn)確率都不高;當(dāng)k=8時,準(zhǔn)確率在DBPedia數(shù)據(jù)集上趨于平穩(wěn),在AGNews數(shù)據(jù)集上出現(xiàn)明顯的下降趨勢。綜合k值在兩種數(shù)據(jù)集上的表現(xiàn),本文k-max池化層的k值設(shè)為8。

圖7 準(zhǔn)確率隨k值的變化曲線

4 結(jié) 語

本文提出一種基于BiLSTM-Attention-CNN混合神經(jīng)網(wǎng)絡(luò)的文本分類方法,通過結(jié)合BiLSTM、注意力機(jī)制、CNN對文本進(jìn)行分類,充分發(fā)揮各網(wǎng)絡(luò)模型的優(yōu)勢。實驗表明,加入注意力機(jī)制后,分類準(zhǔn)確率有一定程度提高,但由于是在單機(jī)上運(yùn)行實驗,實驗時間較長。因此,本文模型后續(xù)將在分布式平臺上進(jìn)行測試,縮短分類時間。由于本文在池化層使用k-max方法,k的取值對實驗的影響非常大,因此,在試驗訓(xùn)練調(diào)參階段要進(jìn)行多次實驗,尋求最合適的參數(shù),提升實驗效果。目前,各個領(lǐng)域都不僅僅限于使用一種模型解決問題,大多數(shù)都將兩種或者多種模型進(jìn)行融合來提升效果。在文本分類領(lǐng)域,已經(jīng)實現(xiàn)了CNN與BiLSTM[17]、 RCNN與Highways[18]、LDA與SVM[19]、注意力機(jī)制與GRU網(wǎng)絡(luò)等模型的融合,融合結(jié)果相比于單個模型效果更佳。因此,未來將著重研究多種模型的融合對實驗效果的影響。

宿松县| 青阳县| 苗栗县| 巴林左旗| 库尔勒市| 永康市| 靖远县| 洛宁县| 贵南县| 伊金霍洛旗| 天水市| 中阳县| 永城市| 贵德县| 和静县| 加查县| 九龙县| 镇沅| 东丰县| 南漳县| 凌海市| 攀枝花市| 永胜县| 湘阴县| 肥西县| 湟中县| 惠水县| 玉树县| 舒城县| 墨竹工卡县| 剑阁县| 三门县| 巧家县| 德兴市| 渭源县| 洞头县| 济阳县| 眉山市| 长垣县| 开远市| 泸定县|