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

        ?

        融合多頭自注意力機(jī)制的中文短文本分類模型

        2020-12-31 02:24:06張小川戴旭堯馮天碩
        計算機(jī)應(yīng)用 2020年12期
        關(guān)鍵詞:語義分類特征

        張小川,戴旭堯,劉 璐,馮天碩

        (1.重慶理工大學(xué)兩江人工智能學(xué)院,重慶 401135;2.重慶理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院,重慶 400054)

        (?通信作者電子郵箱das7575@163.com)

        0 引言

        文本分類是自然語言處理領(lǐng)域中的一項重要的基本任務(wù),是解決如何有效獲取和管理海量電子文本信息的關(guān)鍵技術(shù)[1-2]。

        在傳統(tǒng)的文本分類研究中,文本表示常利用基于分布假設(shè)的word2vec[3]或Glove[4]方法,以對大量無標(biāo)簽文本進(jìn)行訓(xùn)練,并將其表示為Word Embedding[5]。它們的結(jié)果除詞嵌入本身外,還封裝了上下文信息,具有較好的特征表達(dá)能力。但在模型訓(xùn)練時,該類方法存在利用文本上下文信息的范圍有限,從而導(dǎo)致語義特征不豐富的問題。

        經(jīng)Word Embedding 處理的短文本僅包含相互獨立的詞特征,還需利用神經(jīng)網(wǎng)絡(luò)模型來建立非線性詞向量之間的相互作用關(guān)系,通過學(xué)習(xí)句子的表述來捕捉句子的語義。文獻(xiàn)[6]提出將卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)應(yīng)用到文本分類任務(wù),利用多個不同大小的卷積核來捕捉局部相關(guān)性以提取句子中的特征信息。文獻(xiàn)[7]提出了一種利用單詞上下文信息的循環(huán)CNN(Recurrent CNN,RCNN)把每個單詞的無語義向量與上下文單詞的向量進(jìn)行拼接作為詞嵌入向量,有效地緩解了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[8]存在的梯度消失的問題,也避免了CNN需要通過窗口大小來設(shè)定上下文依賴長度。在中文場景下,文獻(xiàn)[9]將文本使用句向量表示,并輸入到雙向門控循環(huán)單元(Bidirectional Gated Recurrent Unit,BGRU)與CNN 的混合模型BGRU-CNN中,在THUCNews數(shù)據(jù)集上取得了較好的效果;文獻(xiàn)[10]使用自注意力機(jī)制對詞向量進(jìn)行處理,提出一種關(guān)鍵詞提取與CNN 相結(jié)合的文本分類模型,其模型在復(fù)旦數(shù)據(jù)集上取得了較好的效果。以上研究雖取得了不錯的效果,但都只能保留文本的局部特征,不能充分利用上下文,且傳統(tǒng)文本表示方法不能解決多義詞的問題,導(dǎo)致模型精確率較低。

        近年來,深度學(xué)習(xí)方法在單標(biāo)簽文本分類任務(wù)上取得了較優(yōu)成績[11-13],其在解決文本分類任務(wù)時常劃分為文本預(yù)處理、文本表示、特征提取和分類器四個部分。本文針對其中文本表示和特征提取兩個部分進(jìn)行改進(jìn),提出了一種融合卷積神經(jīng)網(wǎng)絡(luò)和多頭自注意力機(jī)制(combing Convolutional Neural Network and Multi-Head self-Attention mechanism,CNN-MHA)的中文短文本分類模型,主要工作如下:

        1)在一般文本分類任務(wù)的過程中,不再使用靜態(tài)文本表示方法word2vec,而是結(jié)合預(yù)訓(xùn)練語言模型的思想,使用基于Transformer 的雙向編碼器表示(Bidirectional Encoder Representations from Transformers,BERT)預(yù)訓(xùn)練語言[14]對文本進(jìn)行Word Embedding。在詞嵌入的過程中,充分利用BERT在海量文本數(shù)據(jù)集上的預(yù)訓(xùn)練結(jié)果,動態(tài)地表示在不同語境中含有不同語義的文本。

        2)在CNN 模型的基礎(chǔ)上,對特征提取層的策略進(jìn)行改進(jìn),引入多頭自注意力機(jī)制。在特征提取的過程中,根據(jù)詞本身對分類結(jié)果的重要程度,為其分配不同的權(quán)重,增強(qiáng)文本內(nèi)部的詞依賴關(guān)系。為降低模型在語義識別上的局限性,在多個特征表示的子空間內(nèi)分別進(jìn)行特征提取,再將各結(jié)果融合,提高模型的學(xué)習(xí)能力。

        1 建模預(yù)處理

        1.1 BERT模型

        傳統(tǒng)語言模型的表示方法是靜態(tài)的,無法充分利用上下文表征字詞的多義性,為此,本文使用BERT模型,將傳統(tǒng)靜態(tài)表征方法優(yōu)化為動態(tài)表征方法。如圖1所示,BERT 模型輸入層由字符級向量(Token_Embeddings)、位置向量(Position_Embeddings)和分段向量(Segment_Embeddings)相加組成。

        圖1 BERT模型簡圖Fig.1 BERT model diagram

        Token_Embeddings為中文文本中每個字對應(yīng)的向量;Position_Embeddings給每個字添加時序信息;Segment_Embeddings的作用是將文本按句分段,并對語句做段定位,即利用標(biāo)記符號[CLS]和[SEP]來區(qū)分不同的句子并同時保存每句話的位置信息。

        把三層向量疊加之后輸入到Transformer 編碼器[15]中,對每個字進(jìn)行雙向的編碼表示。Transformer編碼器以字符級向量疊加為輸入,先后通過自注意力層、殘差連接與歸一化層、前向神經(jīng)網(wǎng)絡(luò)層,最終輸出帶有語義信息的隱藏層向量。

        1.2 多頭自注意力

        研究發(fā)現(xiàn),注意力可選擇性地關(guān)注文本的重要信息。本文以此為啟發(fā)并借鑒Transformer 模型,采用多頭自注意力機(jī)制(Multi-head self-Attention mechanism,MHA)提取不同語義空間中的詞依賴關(guān)系。多頭自注意力以縮放點積注意力(Scaled Dot-product Attention,SDA)為原理,其計算式如下:

        其中:Q、K、V分別為計算自注意力的查詢、鍵、值矩陣;QKT為注意力矩陣,對V矩陣加權(quán);dk表示鍵的維數(shù),而則是把注意力矩陣變?yōu)闃?biāo)準(zhǔn)的正態(tài)分布,以使得結(jié)果更穩(wěn)定且在反向傳播時能夠獲取平衡的梯度。

        在式(1)計算的SDA基礎(chǔ)上,從包含不同語義信息的子空間中,集成如圖2所示的語義特征。

        圖2 多頭自注意力簡圖Fig.2 Multi-head self-attention diagram

        進(jìn)而,通過如下兩步求得多頭注意力MultiHead數(shù)值:

        1)先將Q、K、V矩陣分別映射到多個不同的子空間中:

        其中:Qi、Ki、Vi為各子空間的查詢、鍵、值矩陣;W(Qi)、W(Ki)、W(Vi)為轉(zhuǎn)換矩陣;h為頭數(shù)。

        2)并行地計算各子空間中的SDA,再將所得結(jié)果拼接,經(jīng)線性變換后得句子矩陣:

        其中:headi為每個子空間的SDA;MultiHead為最終結(jié)果。

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

        采用卷積神經(jīng)網(wǎng)絡(luò)獲取文本特征。先將文本經(jīng)Word Embedding 后得到矩陣X,輸入到CNN 中,再經(jīng)卷積操作后輸出每個句子對應(yīng)的特征矩陣C:

        其中:L為文本長度;xi為序列中第i個詞的向量;ω為濾波器;t為卷積核的大??;f為卷積非線性函數(shù);b為偏差項。

        通過上述步驟求得多頭注意力MultiHead、特征矩陣C,從而完成建模預(yù)處理目標(biāo)。

        2 CNN-MHA模型

        2.1 建立模型總體架構(gòu)

        CNN-MHA 模型結(jié)構(gòu)如圖3 所示,由詞嵌入層、多頭自注意力層、卷積層和輸出層組成。

        圖3 CNN-MHA模型簡圖Fig.3 CNN-MHA model diagram

        2.2 構(gòu)造詞嵌入層

        本文采用BERT 預(yù)訓(xùn)練語言模型作為CNN-MHA 的詞嵌入層。為學(xué)習(xí)到每個字的多重含義表達(dá),在詞嵌入層對字向量做線性映射:設(shè)置文本序列矩陣X=[x1,x2,…,xN]T,N表示序列長度,當(dāng)其在Word Embedding 之后,得到矩陣A=[a1,a2,…,aN]T。接著,構(gòu)建Q、K、V三個矩陣,分別來建立當(dāng)前字與其他字的關(guān)系,并生成特征向量。首先,初始化權(quán)重矩陣WQ、WK、WV,經(jīng)矩陣計算得Q、K、V矩陣,而且在模型訓(xùn)練過程中,WQ、WK、WV不斷地優(yōu)化和更新并獲得SDA:

        在文本輸入中,存在batch 序列長短不一現(xiàn)象,需要對短句中空白處以0 填充。作為計算SDA的關(guān)鍵環(huán)節(jié),softmax函數(shù)存在產(chǎn)生無意義值的情況,從而導(dǎo)致結(jié)果出現(xiàn)較大偏差。為解決此問題,本文提出對無效填充區(qū)域增加平滑項的做法,經(jīng)實際計算SDA,并對結(jié)果做殘差連接,使梯度跨層由后向前傳播,從而有效地避免傳統(tǒng)RNN方法的梯度消失的問題。

        進(jìn)一步對結(jié)果進(jìn)行歸一化操作,以將隱藏層轉(zhuǎn)化為正態(tài)分布,加快了訓(xùn)練和模型的收斂。

        在經(jīng)過所有計算后,結(jié)束BERT 的操作,通過多層迭代,最終得到經(jīng)詞嵌入層后對應(yīng)的融合上下文信息的隱藏層向量encodeToken=[et1,et2,…,etN]T。

        2.3 多頭自注意力層

        所有文本數(shù)據(jù)經(jīng)Word Embedding 操作之后,所得的encodeToken對應(yīng)為每個字的向量表示,仍可以進(jìn)行進(jìn)一步的語義特征提取,因此,本文利用多頭自注意力機(jī)制單獨作為CNN-MHA中語義增強(qiáng)層,并行地進(jìn)行h次自注意力運算:

        再融合所有子空間的語義信息:

        最后,將MultiHead以式(10)與最初輸入的文本序列進(jìn)行殘差連接,最終得到句子向量。

        2.4 卷積層

        在數(shù)據(jù)通過Multi-head Attention 層后,所有文本序列內(nèi)部都獲得全局范圍內(nèi)的上下文詞依賴關(guān)系,但是模型缺少捕獲局部特征的能力。為提升模型的表征能力,將經(jīng)Multi-head Attention 層輸出的句子向量再輸入到CNN 中,以捕捉相應(yīng)的局部特征:

        其中,為Multi-head Attention 層的輸出矩陣A從第j行到第j+t-1行的局部特征。

        本文使用m種卷積核,得到最終的卷積結(jié)果Ck(1 ≤k≤m)輸入到池化層進(jìn)行特征采樣,目的是在保持主要特征的情況下,降低模型的參數(shù)數(shù)目,同時也降低過擬合的風(fēng)險。最終,將池化后的特征矩陣C輸入到帶有dropout 操作的全連接層里,得到最終的分類特征向量:

        2.5 輸出層

        在文本經(jīng)詞嵌入層后,得到encodeToken為每一個文本序列所對應(yīng)的包含上下文語義信息的向量,如圖1 中輸出層的表示,而encodeToken中只包含[CLS]對應(yīng)的頭向量clsToken,可作為每句話的向量表示,即為每句話的分類特征向量,如圖4所示。

        圖4 分類特征向量簡圖Fig.4 Classification feature vector diagram

        為最大化獲取文本特征信息,本文將經(jīng)CNN 輸出的特征向量y與Word Embedding 時生成的clsToken向量進(jìn)行特征融合:

        其中,H作為融合特征向量輸入到分類器中,進(jìn)行最終的中文短文本分類任務(wù)。

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

        3.1 數(shù)據(jù)集

        本文實驗使用的數(shù)據(jù)來自搜狗實驗室提供的搜狐新聞標(biāo)題數(shù)據(jù)[16]。本文從中選取金融、股票、房產(chǎn)、科學(xué)、體育、教育、社會、政治、游戲、娛樂十個類別的數(shù)據(jù),進(jìn)行分類任務(wù)。為了保證測試數(shù)據(jù)評估效果與在真實場景下模型對未知數(shù)據(jù)預(yù)判的結(jié)果相近[17],數(shù)據(jù)集被劃分為訓(xùn)練集50 000 條、驗證集5 000條、測試集10 000條。

        3.2 實驗環(huán)境

        本文的實驗環(huán)境為:操作系統(tǒng)Windows 10;CUDA10.0;cudnn 10;處理器Intel I7 8700,GPU NVIDIA GeForce GTX 1070;內(nèi)存16 GB;顯存8 GB;編譯平臺Pycharm Professional;Python 3.6;Pytorch 1.3.1。

        3.3 實驗參數(shù)設(shè)置

        本文模型實驗的所有參數(shù)為:訓(xùn)練輪數(shù)epoch=10,batch_size=64,每條文本的長度text_size=32,學(xué)習(xí)率learning_rate=5E-5,BERT模型的隱藏單元數(shù)hidden_num=768,CNN 的卷積核尺寸filter_size=(2,3,4),卷積核數(shù)量filter_num=256,dropout=0.1。為了降低模型過擬合的風(fēng)險,設(shè)置檢測參數(shù)detect_imp=3 000,即若模型在持續(xù)3 000個batch 的訓(xùn)練中所得結(jié)果沒有明顯的提升,就提前結(jié)束訓(xùn)練。

        3.4 評價指標(biāo)

        由于實驗用數(shù)據(jù)集的標(biāo)簽具有不規(guī)則、不平衡等特性,為了能客觀準(zhǔn)確地衡量模型在數(shù)量少的類別上的分類性能,實驗主要采用F1值作為性能評價指標(biāo),并以準(zhǔn)確率、精確率、召回率作參考:

        其中:Precision代表準(zhǔn)確率;Recall代表召回率;F1 越大,模型的分類效果則越好。

        3.5 對比實驗

        實驗將本文構(gòu)建的CNN-MHA 模型與如下基準(zhǔn)模型進(jìn)行了對比。

        1)TextCNN:將經(jīng)Word Embedding 的詞向量通過一層卷積和一層池化來構(gòu)造更好的特征向量。

        2)TextRCNN:將經(jīng)Word Embedding 的詞向量通過雙向RNN和一層最大池化來構(gòu)造更好的特征向量。

        3)BERT:利用預(yù)訓(xùn)練模型,直接將文本嵌入為詞向量,再輸入到分類器中分類。

        在實驗中,訓(xùn)練和測試時的各項參數(shù)都保持統(tǒng)一,評價指標(biāo)采用準(zhǔn)確率、精確率、召回率、F1值。本文實驗數(shù)據(jù)共有10個類別,為方便對比各模型性能,評價指標(biāo)的實驗結(jié)果皆取10個類別的均值,如表1所示。

        表1 不同模型實驗結(jié)果對比 單位:%Tab.1 Comparison of experimental results of different models unit:%

        由表1 可見,CNN-MHA 模型在各項指標(biāo)上都是最優(yōu)的,其中F1 值比TextCNN 模型提高了3.99%,比BERT 模型提高了0.76%,比TextRCNN 模型高出2.89%。如果采用BERT 模型作為嵌入層:BERT-CNN 與傳統(tǒng)靜態(tài)表征方法的TextCNN相比,其各項指標(biāo)平均提高了3.92%;BERT-RCNN 與TextRCNN 相比,其各項指標(biāo)平均提高了2.63%。因此,從以上實驗結(jié)果來看,由于BERT 模型在海量文本數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練,其動態(tài)文本表征方法相較于傳統(tǒng)靜態(tài)文本表征方法,對文本分類任務(wù)有明顯影響且性能有顯著提升。

        3.6 多頭自注意力機(jī)制的實驗與分析

        本文CNN-MHA 模型與BERT-CNN 相比,各項指標(biāo)平均提升了0.06%,其精確率提升了0.08%、F1 值提升了0.06%。通過在BERT-RCNN 中添加了Multi-head Attention 層得到MHA-RCNN,由表1 所示,二者相比,MHA-RCNN 準(zhǔn)確率提高了0.04%、精確率提高了0.05%、召回率提高了0.05%、F1 值提高了0.07%,這表明Multi-head Attention 在構(gòu)建含有更豐富的語義信息特征向量時具有有效性,且CNN 專注于局部特征提取這一特性,相較于RCNN 效果更好,計算效率更高,并很好地彌補(bǔ)了Multi-head Attention 缺少的局部特征提取功能的不足。

        在訓(xùn)練過程中發(fā)現(xiàn),由于本文模型存在較大的參數(shù)量,其各項指標(biāo)所對應(yīng)的結(jié)果體現(xiàn)出模型存在著輕微的過擬合現(xiàn)象。為此,本文采取在Multi-head Attention 層后加入dropout操作的方法,由表1 的結(jié)果可以看出,與沒有dropout 操作的CNN-MHA*相比,CNN-MHA 模型的各項指標(biāo)平均提升了0.2%,其中精確率和F1 值增長了0.22%,表明dropout操作對本文模型具有較大的影響。

        通過各實驗對比發(fā)現(xiàn),本文的CNN-MHA 模型具有良好的泛化能力,在中文短文本分類任務(wù)上具有良好的效果。

        4 結(jié)語

        本文針對中文短文本分類任務(wù),特別針對文本表示和特征提取部分,提出了一種融合多頭自注意力機(jī)制的中文短文本分類模型CNN-MHA。該模型的核心思想是先利用BERT預(yù)訓(xùn)練模型對文本進(jìn)行Word Embedding;再利用短文本的海量性,針對獨立且不同的上下文語境,通過多頭自注意力機(jī)制在全局范圍內(nèi)進(jìn)一步學(xué)習(xí)文本序列內(nèi)部的詞依賴關(guān)系,增強(qiáng)模型的表意能力;然后,將結(jié)果輸入到CNN 中,捕捉局部特征;最終,將得到的特征向量與Word Embedding 時生成的句特征向量進(jìn)行特征融合,并以此融合向量作為分類器的輸入進(jìn)行短文本分類任務(wù)。實驗結(jié)果表明,本文改進(jìn)后的模型在中文短文本分類任務(wù)上具有較好的效果。

        本文所提模型雖然達(dá)到了一定的效果,但也有一些明顯的缺陷:在語料數(shù)據(jù)噪聲較大時,模型效果會產(chǎn)生波動;模型的參數(shù)量較大,計算成本較高。下一步工作將考慮這些不足,對模型進(jìn)行更細(xì)粒度的研究。

        猜你喜歡
        語義分類特征
        分類算一算
        語言與語義
        如何表達(dá)“特征”
        不忠誠的四個特征
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住特征巧觀察
        “上”與“下”語義的不對稱性及其認(rèn)知闡釋
        認(rèn)知范疇模糊與語義模糊
        激情内射亚洲一区二区三区爱妻| 亚洲精品午夜无码专区| 日韩人妻精品无码一区二区三区| 久久免费精品国产72精品剧情| 亚洲av一二三四又爽又色又色| 激情精品一区二区三区| 大肉大捧一进一出好爽视频| 国产一区曰韩二区欧美三区| 国产精品视频免费一区二区三区| 虎白m粉嫩小在线播放| 中文无码精品a∨在线观看不卡 | 无尽动漫性视频╳╳╳3d| 国内精品久久久久久久久蜜桃| av在线一区二区三区不卡| 亚洲av永久无码精品古装片| 亲子乱aⅴ一区二区三区下载| 91精品91久久久久久| 国产精品一区二区夜色不卡| 国产成人无码av| 亚洲无码精品免费片| 男男互吃大丁视频网站| 亚洲美女av一区二区在线| 一本一道av中文字幕无码| 久久99精品久久久久久齐齐百度| 一区二区三区精品亚洲视频| 激情综合色综合啪啪开心| 丰满少妇被猛男猛烈进入久久| 精品欧洲AV无码一区二区免费| 极品夫妻一区二区三区| …日韩人妻无码精品一专区| 亚洲国产精品一区二区久| 女同av免费在线播放| 亚洲av天堂在线视频| 欧洲极品少妇| 午夜无码无遮挡在线视频| 日本精品久久不卡一区二区 | 国产精品国产三级国产av′| 极品av在线播放| 亚洲av无一区二区三区久久蜜桃| 少妇久久久久久被弄到高潮 | 在线观看国产成人av天堂野外|