• 
    

    
    

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

      多標(biāo)簽文本分類模型對(duì)比研究

      2020-07-25 02:48:28姜炎宏遲呈英戰(zhàn)學(xué)剛
      關(guān)鍵詞:標(biāo)簽卷積向量

      姜炎宏,遲呈英,戰(zhàn)學(xué)剛

      (遼寧科技大學(xué) 計(jì)算機(jī)與軟件工程學(xué)院,遼寧 鞍山 114051)

      智能化時(shí)代,人們?nèi)粘=佑|到的文本信息數(shù)量呈現(xiàn)出爆炸式增長(zhǎng)趨勢(shì)。文本作為信息載體,以各式各樣的形式流入互聯(lián)網(wǎng)中。隨著文本分類技術(shù)的快速發(fā)展,對(duì)文本信息內(nèi)容進(jìn)行高效的管理已經(jīng)成為必然趨勢(shì)。標(biāo)注多標(biāo)簽的形式能夠更好地反應(yīng)出文本信息的真實(shí)意義,更加有效地發(fā)掘信息、使用信息和利用信息庫。

      根據(jù)樣本數(shù)據(jù)關(guān)聯(lián)標(biāo)簽個(gè)數(shù),文本可以分為單標(biāo)簽文本分類和多標(biāo)簽文本分類[1]。為了提高網(wǎng)上信息的檢索效率,單標(biāo)簽文本分類已經(jīng)不能滿足需求,多標(biāo)簽分類也就自然而然地出現(xiàn)了。多標(biāo)簽分類問題是指文本信息內(nèi)容上的多樣、復(fù)雜的分布性以及龐大的規(guī)模性,文本內(nèi)容通常會(huì)和多個(gè)標(biāo)簽相關(guān)聯(lián),將標(biāo)簽映射到分類類別中就演化為多標(biāo)簽分類問題。對(duì)這類問題的研究已經(jīng)逐漸成為文本分類領(lǐng)域的熱點(diǎn)問題之一。

      傳統(tǒng)的文本分類方法[2]是通過人為設(shè)計(jì)提取規(guī)則對(duì)文本內(nèi)容進(jìn)行特征提取。特征提取是將文本中與分類結(jié)果相關(guān)聯(lián)的內(nèi)容篩選出來,降低冗余特征對(duì)結(jié)果的負(fù)面影響。由于是人為設(shè)計(jì)提取規(guī)則,如果文本內(nèi)容相關(guān)領(lǐng)域發(fā)生改變,則需要重新設(shè)計(jì)提取規(guī)則。這種做法不僅擴(kuò)展性較差并且耗時(shí)耗力,導(dǎo)致用戶體驗(yàn)感很差。

      隨著在線文本數(shù)量增長(zhǎng)和機(jī)器學(xué)習(xí)的興起,基于深度學(xué)習(xí)的多標(biāo)簽文本分類方法也隨之涌現(xiàn)。2000 年 Tom Μitchell[3]等將大量未標(biāo)記文檔與少量的帶標(biāo)簽的文檔混合在一起進(jìn)行訓(xùn)練。2014年Yoon Kim[4]使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)進(jìn)行了一系列的對(duì)比實(shí)驗(yàn),為進(jìn)行句子級(jí)的文本分類任務(wù)提供便利。2016 年 Liu[5]等介紹了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural network,RNN)應(yīng)用于多標(biāo)簽分類問題的設(shè)計(jì)方式和方法,模型利用最后一個(gè)詞組表示文本的特征并連接全連接層,使用Softmax函數(shù)輸出各個(gè)類別。

      深度學(xué)習(xí)的方法對(duì)多標(biāo)簽文本分類問題進(jìn)行求解過程中,最重要、最根本的是使文本內(nèi)容得到良好的表達(dá)。本文首先提出使用文本循環(huán)神經(jīng)網(wǎng)絡(luò)(TextRNN)模型和文本卷積神經(jīng)網(wǎng)絡(luò)(TextCNN)模型進(jìn)行多標(biāo)簽文本分類實(shí)驗(yàn)。TextRNN擅長(zhǎng)處理序列結(jié)構(gòu),并且能夠考慮到句子的上下文信息,但是整體運(yùn)行速度過慢。TextCNN屬于無偏模型,對(duì)文本淺層特征的抽取能力很強(qiáng)。對(duì)于長(zhǎng)文本領(lǐng)域,TextRNN主要依據(jù)filter窗口抽取特征,在長(zhǎng)距離建模方面能力受限,且對(duì)語序不敏感。為了解決二者的局限性,本文提出將TextRNN與TextCNN融合,并且引入Attention機(jī)制,使模型可以將注意力聚焦在對(duì)文本分類結(jié)果貢獻(xiàn)較大的文本特征上面。

      1 文本分類

      1.1 文本分類定義

      文本分類是指根據(jù)文本語義內(nèi)容將未知類別的文本內(nèi)容歸類到已知類別集合中的過程。設(shè)有一個(gè)文本數(shù)據(jù)集合D={d1,…,d|D|}和已知的類別集合C={c1,…,c|C|},文本數(shù)據(jù)集合和類別集合之間的關(guān)系可由下列函數(shù)表示[6]

      文本分類問題可以轉(zhuǎn)化為找到函數(shù)⌒Φ代替Φ作為一種近似表示,目的是⌒使得函數(shù)Φ盡量逼近未知的真實(shí)函數(shù)Φ。函數(shù)Φ相當(dāng)于文本分類器,可以反映出文本內(nèi)容和標(biāo)簽類別之間的關(guān)系。訓(xùn)練效果優(yōu)秀的分類器可以對(duì)未知標(biāo)簽類別的文本內(nèi)容進(jìn)行準(zhǔn)確地分類,從而實(shí)現(xiàn)自動(dòng)多標(biāo)簽文本分類。

      1.2 Adam優(yōu)化算法

      Adam算法是一種對(duì)隨機(jī)目標(biāo)函數(shù)執(zhí)行一階梯度優(yōu)化的基于適應(yīng)性低階矩估計(jì)的算法。Adam算法在2014年由Kingma[7]提出,文本數(shù)據(jù)在訓(xùn)練過程中不斷地迭代,從而不斷地更新神經(jīng)網(wǎng)絡(luò)權(quán)重。

      Adam算法不同于隨機(jī)梯度下降算法。隨機(jī)梯度下降法在訓(xùn)練過程中學(xué)習(xí)率不會(huì)改變,而Adam算法通過第一和第二矩估計(jì),計(jì)算不同參數(shù)的自適應(yīng)學(xué)習(xí)速率。Adam優(yōu)化算法收斂的速度較快,效果明顯,實(shí)現(xiàn)簡(jiǎn)單,適用于非穩(wěn)態(tài)目標(biāo),需要極少量的調(diào)參,對(duì)計(jì)算機(jī)內(nèi)存要求低并且有很強(qiáng)的計(jì)算能力。

      1.3 Attention機(jī)制

      Attention機(jī)制[8]是模仿人類注意力而提出的一種解決問題的辦法,簡(jiǎn)單地說就是從大量信息中快速篩選出高價(jià)值信息。受到計(jì)算能力限制和優(yōu)化算法限制,引入注意力機(jī)制可以幫助神經(jīng)網(wǎng)絡(luò)模型處理信息過載,提高神經(jīng)網(wǎng)路模型處理信息的能力。在RNN模型中,用來解決由長(zhǎng)序列到定長(zhǎng)向量轉(zhuǎn)化而造成的信息損失的瓶頸,如圖1所示。

      圖1 引入Attention的RNNFig.1 RNN using attention mechanism

      引入Attention的RNN計(jì)算過程:

      Step 1 利用RNN結(jié)構(gòu)得到編碼器中的隱藏狀態(tài)(h1,h2,…,hT)。

      Step 2 假設(shè)當(dāng)前解碼器的隱藏狀態(tài)是st-1,計(jì)算每一個(gè)輸入位置j與當(dāng)前輸出位置的關(guān)聯(lián)性

      寫成相應(yīng)的向量形式

      其中a是一種相關(guān)性的算符。

      Step 3 對(duì)于e→t進(jìn)行softmax操作,將其標(biāo)準(zhǔn)化得到Attention的分布

      展開形式為

      Step 4 對(duì)α→t可以進(jìn)行加權(quán)求和得到相應(yīng)的上下文向量

      Step 5 計(jì)算解碼器的下一個(gè)隱藏狀態(tài)

      及該位置的輸出

      通過上述步驟計(jì)算編碼器與解碼器狀態(tài)之間的關(guān)聯(lián)性權(quán)重,得到Attention分布,對(duì)于比較重要的輸入位置,在預(yù)測(cè)輸出時(shí)權(quán)重較大。

      在文本表示過程中,通常是直接將每個(gè)時(shí)刻的輸出向量相加再求得平均值,這種做法認(rèn)為每個(gè)輸入詞對(duì)于文本的貢獻(xiàn)是相等的,但實(shí)際情況往往與之相反。在合并這些輸出向量時(shí),合理地分配注意力資源,為每個(gè)向量配以不同的權(quán)重,才能選出對(duì)當(dāng)前分類結(jié)果更重要的文本向量特征。Attention機(jī)制本質(zhì)上是給每個(gè)向量都賦予一個(gè)權(quán)值,將所有的輸出向量加權(quán)平均。權(quán)值大小由詞組對(duì)文本內(nèi)容輸出結(jié)果貢獻(xiàn)程度而定,降低了其他無關(guān)詞的作用,提高了計(jì)算效率。將Attention機(jī)制應(yīng)用在多標(biāo)簽文本分類模型中,可以使文本特征得到更好的解釋,從而使得分類結(jié)果更準(zhǔn)確。

      2 數(shù)據(jù)獲取與處理

      隨著網(wǎng)絡(luò)的迅速發(fā)展,互聯(lián)網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個(gè)巨大的挑戰(zhàn),網(wǎng)絡(luò)爬蟲隨之產(chǎn)生。在對(duì)網(wǎng)站內(nèi)容爬取過程中,可以合理地使用動(dòng)態(tài)代理解決反爬蟲問題,最終實(shí)現(xiàn)數(shù)據(jù)獲取。

      2.1 數(shù)據(jù)獲取

      悟空問答網(wǎng)站和百度知道網(wǎng)站具有帶標(biāo)簽數(shù)據(jù),因此從這兩個(gè)網(wǎng)站獲取數(shù)據(jù)和標(biāo)簽。

      悟空問答網(wǎng)站是ajax技術(shù)動(dòng)態(tài)加載頁面信息和數(shù)據(jù)內(nèi)容。因此,在對(duì)該網(wǎng)站進(jìn)行爬取時(shí),需要分析網(wǎng)頁js腳本,找到含有頁面內(nèi)容js腳本。腳本url:“https://www.wukong.com/wenda/web/nativefe ed/brow/?concern_id=6300775428692904450&t=15 68099799213&max_behot_time=1568101150&_signature=lO1iGRAUyaadoRgΜT0SKrZTtYg”。它的請(qǐng)求參數(shù)包括:concern_id,t,max_behot_time,signature。通過js選項(xiàng)卡發(fā)現(xiàn)page_index_25f701a.js含有這幾個(gè)參數(shù):concern_id為固定值6300775428692904450;signature是 concern_id的簽名,也為固定值;t為時(shí)間戳;max_behot_time為時(shí)間戳的整數(shù)位的值。得到四個(gè)請(qǐng)求參數(shù)的值,可以通過構(gòu)造請(qǐng)求的網(wǎng)址,解析返回的json數(shù)據(jù)。Python對(duì)json數(shù)據(jù)的解碼通過JSON模塊來實(shí)現(xiàn)。解碼過程是通過JSON模塊的loads函數(shù)將json對(duì)象轉(zhuǎn)換成Python對(duì)象的過程。進(jìn)而獲取標(biāo)題和標(biāo)題對(duì)應(yīng)的標(biāo)簽。

      百度知道網(wǎng)站只顯示19頁的內(nèi)容,內(nèi)容是動(dòng)態(tài)更新,每頁顯示40條內(nèi)容和其對(duì)應(yīng)的標(biāo)簽。通過分析翻頁 url:“https://zhidao.baidu.com/list?rn=40&pn=0&ie=utf8&_pjax=%23j-question-list-pjaxcontainer”。在url中,pn是按照40的倍數(shù)遞增,而且只有這個(gè)變量是動(dòng)態(tài)變化。爬蟲的實(shí)質(zhì)是模擬瀏覽器請(qǐng)求網(wǎng)站,需要將Request Headers的所有請(qǐng)求條件加上,保證了請(qǐng)求的順利進(jìn)行。采用BeautifulSoup解析該網(wǎng)站內(nèi)容,獲取文本內(nèi)容和其對(duì)應(yīng)的標(biāo)簽。在實(shí)際爬取過程中,設(shè)計(jì)了一個(gè)定時(shí)重啟腳本,每隔30 min重新爬取該網(wǎng)站。這樣能及時(shí)獲取到該網(wǎng)站的大部分內(nèi)容。

      在爬取悟空問答網(wǎng)站和百度知道網(wǎng)站過程中遵循了Robots協(xié)議,避免對(duì)爬取網(wǎng)站的服務(wù)器造成壓力。最終獲得72萬條帶標(biāo)簽的文本數(shù)據(jù)。

      2.2 數(shù)據(jù)預(yù)處理

      2.2.1 數(shù)據(jù)清洗 在社交網(wǎng)絡(luò)中,用戶對(duì)自己的文本設(shè)置標(biāo)簽時(shí),不乏有一些為了博人眼球的內(nèi)容和標(biāo)簽,還存在廣告?zhèn)麂N等內(nèi)容。為了保證數(shù)據(jù)的質(zhì)量,必須對(duì)數(shù)據(jù)進(jìn)行清洗。

      (1)敏感詞過濾。通過構(gòu)建敏感詞詞匯表,對(duì)含有敏感詞的數(shù)據(jù)進(jìn)行過濾。由于文本數(shù)據(jù)量偏大,采用傳統(tǒng)的方法進(jìn)行過濾,效率低,時(shí)間久。因此采用 DFA[9](Deterministic finite automaton)算法對(duì)敏感詞進(jìn)行過濾,其原理是根據(jù)狀態(tài)轉(zhuǎn)移進(jìn)行敏感詞的檢索,將敏感詞構(gòu)造成樹形結(jié)構(gòu),能夠減少檢索的次數(shù),提高計(jì)算效率。

      (2)長(zhǎng)度比過濾。文本數(shù)據(jù)如:“I hope you're here for me.怎么翻譯?翻譯|英文”,英文字母較多,不利于文本數(shù)據(jù)分析。通過Unicode的中文編碼范圍,統(tǒng)計(jì)數(shù)據(jù)中漢字和非漢字的個(gè)數(shù)及個(gè)數(shù)比,如果個(gè)數(shù)比小于2,就將該數(shù)據(jù)過濾掉。

      (3)無意義文本過濾。數(shù)據(jù)中出現(xiàn)的零寬字符,例如“u200bu200c…”在進(jìn)行分詞處理時(shí),會(huì)增加詞匯表數(shù)量。處理零寬字符的方法是查看零寬字符的ASCII編碼,將ASCII編碼轉(zhuǎn)為字符串格式,最后在文本數(shù)據(jù)中進(jìn)行替換。同時(shí)對(duì)于文本中出現(xiàn)的諸如廣告內(nèi)容、版權(quán)信息和個(gè)性簽名部分,需要進(jìn)行過濾。這些內(nèi)容都不應(yīng)該作為特征。

      (4)語義完整性判斷。將獲取到的數(shù)據(jù)進(jìn)行簡(jiǎn)單的語義完整性判斷。如果句尾是常用的截止符號(hào),則認(rèn)為文本內(nèi)容是完整的,否則需要進(jìn)行過濾。

      經(jīng)過以上步驟清洗,數(shù)據(jù)量最終為64萬個(gè),其中訓(xùn)練集60萬個(gè),校驗(yàn)集2萬個(gè),測(cè)試集2萬個(gè)。文本的長(zhǎng)度不同,對(duì)所有數(shù)據(jù)長(zhǎng)度進(jìn)行累和取均值,而后對(duì)數(shù)據(jù)進(jìn)行截長(zhǎng)補(bǔ)短。對(duì)數(shù)據(jù)的標(biāo)簽進(jìn)行頻率統(tǒng)計(jì),保留前2 000個(gè)標(biāo)簽。數(shù)據(jù)的存儲(chǔ)格式如表1所示。

      2.2.2 數(shù)據(jù)分詞及文本向量化表示 本文采用的分詞工具是由沈陽雅譯網(wǎng)絡(luò)技術(shù)有限公司研發(fā)的Niutrans分詞工具,該工具是基于語言模型進(jìn)行分詞,對(duì)日常生活中的用字方法和用字模式做了總結(jié),不僅效率高,而且識(shí)別效果好。分詞后的文本數(shù)據(jù)中含有很多停用詞[9]。為了節(jié)省存儲(chǔ)空間和提高搜索效率,根據(jù)已有停用詞表,將數(shù)據(jù)中停用詞進(jìn)行過濾。

      表1 數(shù)據(jù)存儲(chǔ)格式Tab.1 Data storage format

      訓(xùn)練詞向量就是將文本采用向量表示。本文使用爬取的數(shù)據(jù)進(jìn)行word2vec[10]模型訓(xùn)練。訓(xùn)練好的詞向量將用于多標(biāo)簽文本分類模型的訓(xùn)練。使用Gensim接口調(diào)用word2vec工具訓(xùn)練詞向量,Gensim的word2vec的輸入是句子的序列,每個(gè)句子是一個(gè)單詞列表。本文采用Skip-Gram模型將數(shù)據(jù)集訓(xùn)練生成詞向量,具體參數(shù)設(shè)置如表2所示。通過以上方式,將文本數(shù)據(jù)轉(zhuǎn)為其對(duì)應(yīng)的詞向量,詞向量作為模型訓(xùn)練的輸入,為后續(xù)實(shí)驗(yàn)提供方便。

      表2 word2vec參數(shù)設(shè)置Tab.2 Parameters of word2vec

      3 多標(biāo)簽文本分類模型

      3.1 評(píng)價(jià)指標(biāo)

      對(duì)于多標(biāo)簽文本分類,目前采用的評(píng)價(jià)指標(biāo)有準(zhǔn)確率(Precision,P)、召回率(Recall,R)、F值(F-Μeasure,F(xiàn))。

      準(zhǔn)確率:模型預(yù)測(cè)出的標(biāo)簽與數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽中的任何一個(gè)標(biāo)簽相同,即為正確,其中m為每個(gè)位置的準(zhǔn)確率。

      召回率:預(yù)測(cè)出的標(biāo)簽對(duì)原有標(biāo)簽的覆蓋量,其中,f為預(yù)測(cè)標(biāo)簽總數(shù),c為正確標(biāo)簽總數(shù)。

      F值:評(píng)價(jià)指標(biāo)為準(zhǔn)確率和召回率的調(diào)和平均數(shù)。

      采用按位加權(quán)的方式對(duì)模型進(jìn)行評(píng)估,準(zhǔn)確率值會(huì)大于1,但是這種方式能夠很好地將標(biāo)簽與文本內(nèi)容的關(guān)聯(lián)程度表示出來。準(zhǔn)確率與召回率的調(diào)和平均數(shù)F值能夠很好地表示出模型的準(zhǔn)確性,因此采用F值對(duì)模型進(jìn)行評(píng)估。

      3.2 文本循環(huán)神經(jīng)網(wǎng)絡(luò)

      采用如圖2所示的雙向TextRNN模型進(jìn)行多標(biāo)簽文本分類實(shí)驗(yàn),神經(jīng)網(wǎng)絡(luò)采用BILstm[11]結(jié)構(gòu)。訓(xùn)練序列由向上和向下的兩個(gè)Lstm構(gòu)成,并且每個(gè)Lstm都連接著輸出層,在輸出層可以得到訓(xùn)練數(shù)據(jù)特征的完整信息表示。

      圖2 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Two-way circulation TextRNN neural network structure

      雙向TextRNN模型包括輸入層、Embedding層、雙向Lstm層、k-max pooling層和輸出層。輸入層將數(shù)據(jù)傳入到模型中,Embedding層負(fù)責(zé)將輸入的數(shù)據(jù)轉(zhuǎn)為對(duì)應(yīng)的詞向量,輸入維度為300,設(shè)置batch大小為128。在連接下一層時(shí)隨機(jī)斷開50%連接,用于防止模型過擬合。雙向Lstm層主要負(fù)責(zé)提取句子向量的上下文信息,為了防止過擬合采用BatchNorm1d。在輸出層進(jìn)行分類時(shí),將全部的神經(jīng)元輸出采取2_max pooling操作,而后再分類輸出,輸出的維度即為標(biāo)簽的總個(gè)數(shù)(2 000)。采用Adam算法結(jié)合反向傳播算法在模型訓(xùn)練過程中進(jìn)行不斷優(yōu)化。在模型訓(xùn)練過程中對(duì)優(yōu)化目標(biāo)函數(shù)增加約束條件以防止模型過擬合,因此使用L2正則化。在實(shí)際訓(xùn)練中,疊加了3層的雙向Lstm進(jìn)行訓(xùn)練,保證模型能夠?qū)W習(xí)的更深更廣。

      3.3 文本卷積神經(jīng)網(wǎng)絡(luò)

      TextCNN[12]的核心思想是將復(fù)雜問題簡(jiǎn)單化處理,將大量的參數(shù)降維成少量參數(shù),對(duì)局部特征進(jìn)行捕捉。對(duì)于多標(biāo)簽文本分類數(shù)據(jù)而言,局部提取就是指從特征映射矩陣中選取對(duì)應(yīng)卷積核大小的特征,不同卷積核提取到的特征也不盡相同。因此可以得到多種層次的語境信息,使得文本信息表征更加完善。

      圖3 文本卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.3 TextCNN neural network structure

      對(duì)TextCNN模型進(jìn)行建模時(shí),模型結(jié)構(gòu)如圖3所示。模型由輸入層、Embedding層、兩層卷積、池化層、全連接層組成。輸入層將數(shù)據(jù)傳入到模型中。Embedding層負(fù)責(zé)將輸入的數(shù)據(jù)轉(zhuǎn)為對(duì)應(yīng)的詞向量,batch大小為128,輸入維度為300,并在連接下一層時(shí)隨機(jī)斷開50%的鏈接,防止模型過擬合。在卷積層中,卷積核大小是[3,4,5]。在連接下一層時(shí),對(duì)每個(gè)神經(jīng)元的值進(jìn)行BatchNorm,激活函數(shù)采用Relu。下一層的卷積操作同上。在池化層中對(duì)所有卷積核進(jìn)行1-max pooling操作,選擇每個(gè)特征映射矩陣中的最大值,將這些代表最重要特征的值級(jí)聯(lián)起來,可以得到最終的特征向量,并在連接下一層時(shí)隨機(jī)斷開50%的鏈接,防止模型過擬合。最后,將得到的特征向量再輸入Softmax layer做分類。

      TextCNN的特點(diǎn)是稀疏連接,表示文本內(nèi)容的特征矩陣不要求每一個(gè)類別的數(shù)據(jù)有非常一致的特性,只具有某一些特性即可,適合用于文本分類。

      3.4 TextRCNN_Attention

      為了解決TextRNN和TextCNN的局限性,參考文獻(xiàn)[14]中的網(wǎng)絡(luò)結(jié)構(gòu),使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(TextRCNN)獲取上下文信息,使文本信息得到更好地表征。在模型搭建過程中結(jié)合Attention機(jī)制,使模型將注意力聚焦在對(duì)文本分類任務(wù)貢獻(xiàn)大的幾個(gè)詞上面,降低其他無意義的詞對(duì)分類結(jié)果的負(fù)面影響。TextRCNN結(jié)合Attention機(jī)制構(gòu)建的TextRCNN_Attention模型的結(jié)構(gòu)如圖4所示。

      圖4 TextRCNN_Attention神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.4 TextRCNN_Attention neural network structure

      TextRCNN_Attention模型本質(zhì)是將TextCNN的卷積層替換為雙向Lstm,引入Attention機(jī)制。首先將詞進(jìn)行詞向量編碼,通過word embedding層,得到詞向量,維度為300。接著將詞向量輸入到雙向循環(huán)神經(jīng)網(wǎng)絡(luò),在實(shí)驗(yàn)中,為了得到詞匯更多的上下文信息,雙向循環(huán)神經(jīng)網(wǎng)絡(luò)使用的是Lstm結(jié)構(gòu)。將詞向量與兩端的上下文信息進(jìn)行結(jié)合,將結(jié)合結(jié)果使用Tanh函數(shù)作為激活函數(shù)進(jìn)行計(jì)算。而后使用Attention機(jī)制為每個(gè)輸出特征分配不同的權(quán)重。接著進(jìn)行池化操作,使用1-max pooling找到輸入的數(shù)據(jù)中最重要的特征,得到最重要的信息。最后是輸出層,使用Softmax函數(shù)處理。

      4 對(duì)比實(shí)驗(yàn)

      分別采用TextRNN、TextCNN和TextRCNN_Attention模型進(jìn)行實(shí)驗(yàn)。TextRNN模型結(jié)果如圖5和圖6所示。TextRNN模型在運(yùn)行速度上絲毫不占優(yōu)勢(shì),主要原因是TextRNN模型的后一個(gè)時(shí)間步的輸出依賴于前一個(gè)時(shí)間步的輸出,無法進(jìn)行并行處理,導(dǎo)致模型訓(xùn)練的速度慢。迭代到10輪時(shí),校驗(yàn)集漲幅和損失曲線基本穩(wěn)定,已經(jīng)達(dá)到很好的效果。為了實(shí)驗(yàn)結(jié)果最優(yōu),可以對(duì)模型進(jìn)行微調(diào),增訓(xùn)2輪,調(diào)整學(xué)習(xí)率,最終測(cè)試集的綜合評(píng)價(jià)得分F值為0.952 5。

      圖5 文本循環(huán)神經(jīng)網(wǎng)絡(luò)校驗(yàn)集曲線圖Fig.5 Check-set curve of TextRNN

      TextCNN實(shí)驗(yàn)結(jié)果如圖7和圖8所示。迭代到10輪時(shí),校驗(yàn)集曲線和損失曲線基本穩(wěn)定,在訓(xùn)練過程中曲線波動(dòng)比較隨機(jī)。原因可能是不同的數(shù)據(jù)量使得某一類別數(shù)據(jù)的特征矩陣發(fā)生變化,而對(duì)于某一些特征變化,卷積神經(jīng)網(wǎng)絡(luò)沒有及時(shí)捕獲。適當(dāng)調(diào)整超參數(shù)可能會(huì)減少這種現(xiàn)象的發(fā)生。為了實(shí)驗(yàn)結(jié)果最優(yōu),可以對(duì)模型進(jìn)行微調(diào)[13],增訓(xùn)2輪,調(diào)整學(xué)習(xí)率,最終在測(cè)試集的綜合評(píng)價(jià)得分F值為0.950 6。

      圖6 文本循環(huán)神經(jīng)網(wǎng)絡(luò)損失曲線Fig.6 Loss curve of TextRNN

      圖7 文本卷積神經(jīng)網(wǎng)絡(luò)校驗(yàn)集曲線Fig.7 Check-set curve of TextCNN

      圖8 文本卷積神經(jīng)網(wǎng)絡(luò)損失曲線Fig.8 Loss curve of TextCNN

      TextRCNN_Attention實(shí)驗(yàn)結(jié)果如圖9和圖10所示。經(jīng)過10輪訓(xùn)練,曲線基本穩(wěn)定。在測(cè)試集上的綜合評(píng)價(jià)得分F值為0.961 2,說明TextRCNN_Attention的性能優(yōu)于TextCNN和TextRNN,更適合提取文本特征,同時(shí)能夠及時(shí)捕獲更多特征的上下文信息,使得分類結(jié)果最優(yōu)。

      圖9 TextRCNN_Attention校驗(yàn)集曲線Fig.9 Check-set curve of TextRCNN_Attentio

      圖10 TextRCNN_Attention損失曲線Fig.10 Loss curve of TextRCNN_Attention

      5 結(jié)論

      針對(duì)基于文本循環(huán)神經(jīng)網(wǎng)絡(luò)和文本卷積神經(jīng)網(wǎng)絡(luò)的多標(biāo)簽文本分類模型的局限性,提出TextRCNN_Attention多標(biāo)簽文本分類方法。文本數(shù)據(jù)爬取自網(wǎng)絡(luò)。對(duì)數(shù)據(jù)進(jìn)行長(zhǎng)度比過濾、敏感詞過濾、零寬字符過濾、無意義文本過濾和語義完整性判斷的方式進(jìn)行數(shù)據(jù)篩選,從而保證數(shù)據(jù)質(zhì)量。采用word2vec將文本數(shù)據(jù)向量化,輸入模型進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,TextRCNN_Attention模型結(jié)合了TextRNN和TextCNN模型的優(yōu)點(diǎn),能更好地理解語義信息。同時(shí),Attention機(jī)制對(duì)文本特征提取更加合理,模型將注意力聚焦在對(duì)文本分類任務(wù)貢獻(xiàn)較大的特征上面,使得分類效果最優(yōu)。

      猜你喜歡
      標(biāo)簽卷積向量
      向量的分解
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      聚焦“向量與三角”創(chuàng)新題
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      無懼標(biāo)簽 Alfa Romeo Giulia 200HP
      車迷(2018年11期)2018-08-30 03:20:32
      不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
      海峽姐妹(2018年3期)2018-05-09 08:21:02
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      標(biāo)簽化傷害了誰
      向量垂直在解析幾何中的應(yīng)用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      榕江县| 新宁县| 广饶县| 无棣县| 南投市| 金华市| 剑川县| 体育| 昌吉市| 岳阳县| 泗水县| 阳春市| 长治市| 隆化县| 鸡泽县| 莎车县| 韶关市| 商城县| 绍兴县| 遵义市| 赫章县| 兴和县| 衡水市| 湘西| 华阴市| 平南县| 临泽县| 三河市| 华宁县| 梓潼县| 庐江县| 策勒县| 罗山县| 砀山县| 岗巴县| 昂仁县| 新竹市| 营口市| 枣阳市| 河南省| 海安县|