• 
    

    
    

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

      基于BERT-BiGRU模型的文本分類研究

      2021-11-10 08:10:14王紫音
      天津理工大學(xué)學(xué)報 2021年4期
      關(guān)鍵詞:特征提取語義向量

      王紫音,于 青*

      (天津理工大學(xué)a.天津市智能計算與網(wǎng)絡(luò)安全重點實驗室,b.計算機科學(xué)與工程學(xué)院,天津300384)

      近年來互聯(lián)網(wǎng)和數(shù)字化技術(shù)高速發(fā)展,電子文本的數(shù)量呈現(xiàn)爆炸式的增長。如何從海量電子文本中提取有效信息并進行文本分類是本課題主要研究的內(nèi)容。

      現(xiàn)有的文本分類方法主要有兩種:基于知識工程的方法和基于機器學(xué)習(xí)的方法。基于知識工程的方法是指依靠專家經(jīng)驗和人工提取規(guī)則進行分類的方法。基于機器學(xué)習(xí)的方法是指通過計算機學(xué)習(xí),自主提取規(guī)則進行分類的方法[1]。常用的機器學(xué)習(xí)的方法有支持向量機、樸素貝葉斯、最近鄰法、決策樹法等,這些方法在分類效果和靈活性上都取得了一定的進步,但其泛化能力較差。目前最常使用的方法為深度學(xué)習(xí)的方法。深度學(xué)習(xí)是一種使用多個非線性轉(zhuǎn)換結(jié)構(gòu)的高階抽象的算法。它使用詞向量的表示方式,將文本表示為連續(xù)且稠密的形式,以更好地對文本進行表征。再利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)等神經(jīng)網(wǎng)絡(luò)自動獲取特征表達(dá)能力。與傳統(tǒng)的機器學(xué)習(xí)模型相比,深度學(xué)習(xí)具有更好的泛化能力和可移植性,因此也更適用于文本分類任務(wù)。

      1 相關(guān)研究

      當(dāng)前,對于中文文本的分類已經(jīng)有了許多研究。劉學(xué)敬等[2]利用支持向量機分類中各種特征和資源,結(jié)合概率輸出加權(quán),提高分類精度。KIM[3]將CNN用于文本分類,使得文本分類的準(zhǔn)確度得到了一定程度的提高。王煜涵等[4]提出了利用CNN進行推特文本情感分析的模型。雖然CNN可以很好地學(xué)習(xí)到文本的局部特征,但是會忽略文本的上下文語境。因此,又出現(xiàn)了RNN[5]。該網(wǎng)絡(luò)能學(xué)習(xí)任意時長序列的輸入,要想學(xué)習(xí)到文本中上下語句的關(guān)系,可以采用雙向神經(jīng)循環(huán)網(wǎng)絡(luò)(bidirectional recurrent neural network,BiRNN)。隨著輸入信息的增多,要求RNN記住的信息太多,由此出現(xiàn)信息冗余、梯度消失的現(xiàn)象,因此HOCHREITER等[6]提出了長短時記憶網(wǎng)絡(luò)(long short-term memory,LSTM)和HUANG等[7]提出了利用雙向長短時記憶網(wǎng)絡(luò)(bidirectional long short-term me mory,BiLSTM)進行中文文本情感分析的模型。由于LSTM的結(jié)構(gòu)比較復(fù)雜,后來基于LSTM又提出了一種新的RNN,稱為門控制循環(huán)單元(gate recurrent unit,GRU)[8]。為綜合文章的上下文語境,曹宇等[9]使用雙向門控制循環(huán)單元(bidirectional gate recurrent unit,BiGRU)模型進行中文文本分類,該模型更加簡單,參數(shù)更少,收斂速度更快,在自然語言處理任務(wù)中表現(xiàn)出了良好的效果。

      針對混合網(wǎng)絡(luò)模型,國顯達(dá)等[10]提出使用CNNBiLSTM模型進行情感分析,與使用單一的神經(jīng)網(wǎng)絡(luò)方法相比,有更好的準(zhǔn)確性。

      以上模型均使用傳統(tǒng)的詞匯表示方法。Word-2vec模型用詞向量表示。該模型使用唯一的詞向量來表示詞,無法體現(xiàn)出詞在不同語境中的多義性。2018年,預(yù)訓(xùn)練模型開始興起,自然語言處理(natural language processing,NLP)領(lǐng)域有了重大突破,先后出現(xiàn)了基于語言模型的詞向量表達(dá)(embeddings from language models,ELMO)[11]、基于編碼器-解碼器的雙向編碼表示法(bidirectional encoder representations from transformers,BERT)模型[12],尤其是BERT模型,刷新了NLP任務(wù)之前的11項最優(yōu)性能記錄。於張閑等[13]提出了基于BERT-BiLSTM模型的分類研究,通過實驗證明,與基于Word2vec的BiLSTM模型相比,BERT-BiLSTM模型的準(zhǔn)確率更高。

      為優(yōu)化文本的特征提取與表示方法,本文提出使用基于BERT模型進行中文文本的特征表示,并在此基礎(chǔ)上提出雙向GRU的中文文本分類模型,使最終的文本分類更加精確,并通過設(shè)置對比實驗證明了本文方法的有效性。

      2 BERT-BiGRU模型

      BERT-BiGRU模型如圖1所示,主要分為3部分:先通過BERT模型訓(xùn)練獲取每條文本的語義表示,得到字的向量表示;之后再將字的向量表示輸入到BiGRU神經(jīng)網(wǎng)絡(luò)中,對語義進行進一步的分析和提??;最后將得到的詞向量連接Softmax層,進行文本分類。

      圖1 BERT-BiGRU模型Fig.1 BERT-BiGRU model

      2.1 BERT模型

      文本的語義表示最初使用的是One-hot的表示方法,但是使用這種編碼方式無法表示出詞之間的相似性,無法表示未出現(xiàn)過的詞,還會造成維數(shù)災(zāi)難的問題。后來出現(xiàn)了Word2vec、Glove等基于神經(jīng)網(wǎng)絡(luò)的方法,在一定程度上解決了語義鴻溝和維數(shù)災(zāi)難的問題,但是這類方法使用唯一不變的詞向量表示詞語,無法解決在不同語境中詞語含義不同的問題。因此,本文提出利用BERT作為語義提取和特征表示的模型,在不同的語義環(huán)境中,使用不同的詞向量對詞語進行表示,在提取文本語義特征的同時又能解決詞語一詞多義的問題。

      BERT模型內(nèi)部由編碼器-解碼器模型(Transformer)的編碼器(Encoder)端構(gòu)成,其編碼器端如圖2所示,Transformer采用的是Encoder-Decoder(編碼器-解碼器)結(jié)構(gòu),對于輸入文本主要使用Transformer的Encoder端中的自注意力(Self-attention)機制將全文的信息融入每個字中,得到的輸出就是每一個字的增強語義向量表示。將文本的向量表示作為輸入,向量表示為字向量、段向量、位置向量3種向量的加和,使用多頭自注意力機制將全文的信息融入文本中的每一個字中,使用多頭,可以通過不同的頭得到多個特征表示。由于經(jīng)過多層處理之后的數(shù)據(jù)并不一定比原來的效果好,因此,采用殘差連接的方式進行連接。層歸一化(Layer normalization)把神經(jīng)網(wǎng)絡(luò)中的隱藏層歸一化為標(biāo)準(zhǔn)的正態(tài)分布,加快訓(xùn)練速度。最后連接前饋神經(jīng)網(wǎng)絡(luò),進行兩次線性映射后再使用激活函數(shù),最終得到向量表示。本文使用的BERT-Base模型是由12層Encoder堆疊而成。

      圖2 編碼器-解碼器模型的編碼器端Fig.2 Encoder of transformer

      BERT的本質(zhì)為一個語言生成模型,其目標(biāo)是生成預(yù)訓(xùn)練語言模型。預(yù)訓(xùn)練可以理解為使用大量的數(shù)據(jù)對模型進行訓(xùn)練以生成一個通用的語言模型,然后針對不同的下游任務(wù),再對該模型進行微調(diào)。對模型進行訓(xùn)練就是訓(xùn)練出合適的參數(shù),從而保證模型可以正確地理解語義。BERT模型將兩種無監(jiān)督的方法——Masked LM和Next Sentence Prediction相結(jié)合進行預(yù)訓(xùn)練。Masked LM的任務(wù)具體為:如同完形填空,給定一句話,隨機遮蓋這句話中的一個或幾個詞,要求模型可以憑借余下的詞匯預(yù)測被遮蓋的幾個詞分別是什么。Next Sentence Prediction的具體任務(wù)為:下一句話預(yù)測,即給出一篇文章中的兩句話,判斷在文本中第二句話是否在第一句話之后。圖3為BERT模型,其中Ei為單個字,Ti為最終的輸出隱藏層。BERT利用Transformer結(jié)構(gòu)構(gòu)造了一個多層雙向的Encoder網(wǎng)絡(luò),設(shè)計為深度雙向模型,使神經(jīng)網(wǎng)絡(luò)可以更有效地從第一層到最后一層捕獲來自左右上下文的信息。

      圖3 BERT模型Fig.3 BERT model

      2.2 BiGRU模型結(jié)構(gòu)

      GRU是長短時記憶神經(jīng)網(wǎng)絡(luò)的一種變體,和LSTM同屬于RNN的改進模型。由于RNN在處理序列時具有嚴(yán)重的梯度消失問題,當(dāng)節(jié)點越來越靠后時,對在前面的節(jié)點感知程度越來越低。為了解決梯度消失問題,提出了長短時記憶神經(jīng)網(wǎng)絡(luò)(LSTM),但是LSTM網(wǎng)絡(luò)有參數(shù)多、訓(xùn)練時間長的問題,因此又提出了GRU。GRU作為LSTM的變體,同樣適用于處理序列數(shù)據(jù),通過“門機制”來記憶前面節(jié)點的信息,解決梯度消失問題。對比于LSTM模型,GRU模型只有兩個門,分別為更新門和重置門,因此參數(shù)更少,在與LSTM可以達(dá)到同樣效果的同時減少了訓(xùn)練時間。圖4所示為GRU模型。表1為圖4中的參數(shù)說明表。

      圖4 GRU模型Fig.4 GRU model

      表1 參數(shù)說明表Tab.1 Parameter specification table

      zt和rt共同控制了從ht-1隱藏狀態(tài)到ht隱藏狀態(tài)的計算,更新門同時控制當(dāng)前輸入數(shù)據(jù)和先前記憶信息ht-1,輸出一個在0~1之間的數(shù)值zt。zt決定以多大程度將ht-1向下一個狀態(tài)傳遞。具體的門單元計算為:

      式中,σ是Sigmoid函數(shù),可以將數(shù)據(jù)變?yōu)?~1范圍內(nèi)的數(shù)值,充當(dāng)門控制信號。Wz、Wr、W分別為更新門、重置門以及候選隱含狀態(tài)的權(quán)重矩陣。

      當(dāng)rt為0時,上一刻的候選隱狀態(tài)對當(dāng)前的候選隱狀態(tài)不起作用,則ht只與當(dāng)前的輸入xt有關(guān),因此重置門有助于捕捉短期依賴關(guān)系。當(dāng)zt=1時,ht=ht-1,上一時刻的隱狀態(tài)完全給了當(dāng)前的隱狀態(tài),若有較長的依賴關(guān)系,則ht-1完全保留下來,因此更新門有助于捕捉長期的依賴關(guān)系。根據(jù)重置門、更新門和隱含狀態(tài)的計算結(jié)果可以通過公式得到當(dāng)前時刻的輸出ht。在循環(huán)神經(jīng)網(wǎng)絡(luò)中,狀態(tài)的傳輸是從前往后進行傳輸?shù)模钱?dāng)前的輸出狀態(tài)不僅和之前的狀態(tài)有關(guān),還和之后的狀態(tài)有關(guān),此時需要雙向GRU來解決該問題。雙向GRU是由兩個GRU上下疊加在一起組成的,輸出是由這兩個GRU的狀態(tài)共同決定的。最后得到的輸出信息為:

      式中,ht(i)為表示第i則文本的BiGRU信息,h→t(i)表示第i則文本的前向GRU信息,h←t(i)表示第i則文本的后向GRU信息。

      雙向GRU(BiGRU)模型可以從前向和后向同時獲取文章的信息,并且具有復(fù)雜度低、響應(yīng)時間短的優(yōu)點。本文中BiGRU模型的輸入為BERT預(yù)訓(xùn)練語言模型得到的詞向量,將BiGRU模型得到的輸出結(jié)果輸入到Softmax層進行文本分類。

      3 實驗與分析

      3.1 實驗數(shù)據(jù)的選取

      為驗證文本模型的有效性,選取THUCNews數(shù)據(jù)集進行驗證。THUCNews是根據(jù)新浪新聞簡易信息聚合(really simple syndication,RSS)訂閱頻道2005—2011年間的歷史數(shù)據(jù)篩選過濾生成的,均為UTF-8純文本格式。本文選取50 000條數(shù)據(jù)作為訓(xùn)練集,5 000條作為驗證集,10 000條作為測試集。數(shù)據(jù)長度大部分在5 000以下,內(nèi)容分為:體育、財經(jīng)、房產(chǎn)、家居、教育、科技、時尚、時政、游戲和娛樂共10個類別,Label設(shè)置為0~9。

      本實驗選取的數(shù)據(jù)集類別標(biāo)簽多,相比于只包含消極與積極情感標(biāo)簽的短文本數(shù)據(jù)集,更可以體現(xiàn)本文提出的模型的分類效果的優(yōu)良特性。語料序列可視化圖如圖5所示,數(shù)據(jù)集中的文本大多為長文本,因此需要對長文本進行處理。因為BERT模型支持的最長序列長度為512,所以使用Pooling方法對文章進行處理,將一個整段的文本拆分為多個Segment,每一個Segment的長度小于512,每一個Segment都通過BERT。

      圖5 語料序列可視化圖Fig.5 Visualization of corpus sequence

      3.2 對比實驗設(shè)置

      試驗需要對基于BERT模型進行詞語表征的有效性進行驗證,同時也需要對使用BiGRU模型進行進一步特征提取和分類的有效性進行驗證。在進行實驗設(shè)計時參考了諶志群等[14]提出的實驗?zāi)P汀?/p>

      1)Word2vec-BiGRU:輸入的文本利用Word2vec模型訓(xùn)練后得到的詞向量進行表示,用這些詞向量作為詞嵌入層接入BiGRU神經(jīng)網(wǎng)絡(luò)之后進行特征提取和分類。

      2)ELMO-BiGRU:輸入的文本利用ELMO模型訓(xùn)練后得到的詞向量進行表示,用這些詞向量作為詞嵌入層接入BiGRU神經(jīng)網(wǎng)絡(luò)之后進行特征提取和分類。

      3)BERT-CNN:輸入的文本使用BERT模型訓(xùn)練后得到的詞向量進行表示,將其作為輸入,使用CNN神經(jīng)網(wǎng)絡(luò)進行特征提取和分類。

      4)BERT-RNN:輸入的文本使用BERT模型訓(xùn)練后得到的詞向量進行表示,將其作為輸入,使用RNN神經(jīng)網(wǎng)絡(luò)進行特征提取和分類。

      5)Word2vec-CNN:輸入的文本使用Word2vec模型進行詞向量的表示,將其作為輸入,使用CNN神經(jīng)網(wǎng)絡(luò)進行特征提取和分類。

      6)Word2vec-RNN:輸入的文本使用Word2vec模型進行詞向量的表示,將其作為輸入,使用RNN神經(jīng)網(wǎng)絡(luò)進行特征提取和分類。

      3.3 模型參數(shù)設(shè)置

      使用TensorFlow深度學(xué)習(xí)框架進行開發(fā)試驗,在官網(wǎng)上下載谷歌開源的預(yù)訓(xùn)練好的BERT模型(Chinese_L-12_H-748_A-12),表2為模型參數(shù)配置。

      表2 模型參數(shù)配置Tab.2 Parameter configuration of model

      3.4 評價指標(biāo)

      自然語言處理的評價指標(biāo)是多種多樣的,本文采用適用于文本分類的評測標(biāo)準(zhǔn),其中包括精確率P(precision)、召回率R(recall)和綜合評價數(shù)值(F1),具體的計算公式為:

      式中,TP為當(dāng)正類被判斷為正類時的數(shù)據(jù)數(shù)量,F(xiàn)P為當(dāng)負(fù)類被判斷為正類時的數(shù)據(jù)數(shù)量,F(xiàn)N為當(dāng)正類被判斷為負(fù)類時的數(shù)據(jù)數(shù)量,F(xiàn)1的值由P和R共同決定。

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

      使用BERT-BiGRU模型首先在驗證集上進行訓(xùn)練,得到的驗證集實驗結(jié)果如圖6所示。在驗證集上的準(zhǔn)確率最終穩(wěn)定在94.2%,取得了較好的成績。

      圖6 驗證集實驗結(jié)果Fig.6 Verification set experiment results

      在測試集上對每一種分類進行測試,得到的BERT-BiGRU模型實驗結(jié)果如表3所示,各類別的準(zhǔn)確率、召回率、F1值大部分都達(dá)到了0.9以上。由此可見,該模型在文本分類中表現(xiàn)良好。

      表3 BERT-BiGRU模型實驗結(jié)果Tab.3 Experiment results of BERT-BiGRU model

      設(shè)置的BERT-BiGRU模型與其他模型對比實驗結(jié)果如表4所示,由表4可知,設(shè)置的對比模型的準(zhǔn)確率均低于本文提出的模型所達(dá)到的準(zhǔn)確率。圖7為各模型效果對比圖,分析可知,使用設(shè)計的對比實驗?zāi)P瓦M行中文文本分類,其效果均沒有本文中提出的模型分類效果好。

      圖7 各模型效果對比圖Fig.7 Model performance comparison diagram

      表4 BERT-BiGRU模型與其他模型對比實驗結(jié)果Tab.4 Comparison of BE R T-BiG R U model and other models

      與模型Word2vec-BiGRU和ELMO-BiGRU對比,驗證了BERT模型的有效性。Word2vec的詞向量表示方法,無法解決不同環(huán)境下詞語多義的問題。ELMO模型是用來解決詞語多義的模型,由實驗結(jié)果可知,該模型性能與Word2vec相比有了一定的提升,但是各項指標(biāo)仍然不如BERT,說明在解決詞語多義性、理解文本含義的問題上BERT模型的優(yōu)勢突出。

      與模型BERT-CNN和BERT-RNN的對比實驗,證明了基于BiGRU文本分類的有效性。這幾個模型均采用了BERT模型進行文本表示。在全都基于BERT方法時,對比采用CNN和RNN神經(jīng)網(wǎng)絡(luò)的方法,BiGRU模型的各項性能指標(biāo)均有不同程度的提升,說明BiGRU模型在獲取文本前向和后向兩個方面語義特征的效果更好。最終的實驗表明,基于BERT的文本特征表示結(jié)合基于BiGRU的中文文本分類方法在數(shù)據(jù)集上的表現(xiàn)更好,證明了本文模型的有效性。

      4 結(jié)論

      文本分類是自然語言處理的重要部分。自然語言處理作為人工智能領(lǐng)域研究的熱點,復(fù)雜多變的語言特點是該領(lǐng)域研究的難點。本文針對文本表示模型中的詞向量無法處理不同語境下的詞語多義問題,提出使用BERT模型獲取文本的特征表示,將得到的特征表示輸入到BiGRU神經(jīng)網(wǎng)絡(luò)中進一步進行特征提取從而進行更加精準(zhǔn)的文本分類。本文中提出的模型在數(shù)據(jù)集的驗證實驗中取得了良好的效果,與提出的其他模型相比BERT-BiGRU模型的實驗效果更好。本實驗中仍存在一些問題,如BERT模型的深度較深,參數(shù)多,因此訓(xùn)練BERT模型對硬件和時間的消耗較大,本實驗只能依賴Google公司發(fā)布的預(yù)訓(xùn)練模型。希望在未來的工作中可以針對這些問題進行改進。

      猜你喜歡
      特征提取語義向量
      向量的分解
      聚焦“向量與三角”創(chuàng)新題
      語言與語義
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      Bagging RCSP腦電特征提取算法
      “上”與“下”語義的不對稱性及其認(rèn)知闡釋
      向量垂直在解析幾何中的應(yīng)用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      認(rèn)知范疇模糊與語義模糊
      基于MED和循環(huán)域解調(diào)的多故障特征提取
      三台县| 富顺县| 沂水县| 盐源县| 棋牌| 宁安市| 莱州市| 柘城县| 玉龙| 同江市| 盐源县| 宁夏| 井冈山市| 巴彦淖尔市| 德惠市| 苍梧县| 昌黎县| 宕昌县| 大渡口区| 周宁县| 铅山县| 清镇市| 西城区| 霍州市| 万年县| 潮安县| 江川县| 萍乡市| 巴楚县| 名山县| 景德镇市| 广东省| 奉贤区| 巧家县| 涞源县| 平原县| 定兴县| 淄博市| 邵阳县| 苗栗县| 涪陵区|