• 
    

    
    

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

      ?

      WordNG-Vec:一種應(yīng)用于CNN文本分類的詞向量模型

      2019-03-13 05:30:50何養(yǎng)明陳薈西
      關(guān)鍵詞:語義卷積向量

      王 勇,何養(yǎng)明,鄒 輝,黎 春,陳薈西

      (重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)

      1 引 言

      文本特征提取(文本輸入表示)作為文本分類技術(shù)里重要的一環(huán),其質(zhì)量決定了分類系統(tǒng)的分類效果.傳統(tǒng)文本輸入表示方法的主要問題是表示文本或詞語的向量具有高緯度、高稀疏性,對(duì)特征語義的表達(dá)能力不足,而且神經(jīng)網(wǎng)絡(luò)模型不擅長對(duì)此類數(shù)據(jù)的處理,此外依賴人工進(jìn)行特征處理,效率難以支撐數(shù)據(jù)量越來越大的文本分類任務(wù).近年來隨著深度神經(jīng)網(wǎng)絡(luò)的逐漸興起,相關(guān)理論模型(如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等)最初在圖像和語音領(lǐng)域得到較為成功的應(yīng)用,主要原因在于圖像和語音可以轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別和處理的具有連續(xù)和稠密性的數(shù)據(jù),數(shù)據(jù)特點(diǎn)是有局部關(guān)聯(lián)性.可見,使用深度神經(jīng)網(wǎng)絡(luò)解決大數(shù)據(jù)的文本分類問題最重要的是解決文本輸入表示問題,再利用深度神經(jīng)網(wǎng)絡(luò)模型能自動(dòng)提取深層次特征的能力,去掉繁雜低效的人工特征工程.

      詞的分布式表示(Distributed Representation)是較早的一種文本輸入表示方法,其原理是把詞語映射成固定維數(shù)的稠密數(shù)據(jù)向量,即詞嵌入(WordEmbedding)或詞向量(Wordvector),傳統(tǒng)對(duì)應(yīng)的獨(dú)熱編碼(One-hotencoding)模型用“0”和“1”來表示詞向量空間,其中“1”的位置代表詞語在詞典中的位置索引.分布式表示的優(yōu)點(diǎn)是有較好的語義特征表達(dá)能力,同時(shí)數(shù)據(jù)形式能夠被神經(jīng)網(wǎng)絡(luò)高效讀取和處理.詞嵌入(詞向量)近年來能夠廣泛流行于文本語義建模領(lǐng)域,得益于谷歌2013年開源了Word2vec詞向量模型,該模型的推出是文本分類模型研究從傳統(tǒng)的淺層機(jī)器學(xué)習(xí)模型轉(zhuǎn)向深度學(xué)習(xí)模型的關(guān)鍵所在.至此,文本詞語利用數(shù)學(xué)向量的表達(dá)方式,把文本輸入映射成低維、連續(xù)和稠密的向量矩陣(類似圖像數(shù)據(jù)形式),使得深度神經(jīng)網(wǎng)絡(luò)模型得以遷移到文本分類領(lǐng)域,極大促進(jìn)了相關(guān)研究的進(jìn)程.

      然而,實(shí)際上Word2vec學(xué)習(xí)到的“向量特征”和實(shí)際語義特征有一定的區(qū)別,更多學(xué)到的是具備相似上下文的詞或相似語義的獨(dú)立詞,如“工資”和“薪水”,“解決”和“處理”等,但不能考慮到局部詞序特征,如“我負(fù)天下人”和“天下人負(fù)我”這兩個(gè)不同的語句,在傳統(tǒng)的Word2vec中的特征都是:[“我”、“負(fù)”、“天下人”],在特征語義上是沒有區(qū)別的,如果加入2-gram(bigram)特征,前后兩句話的特征還有:[“我負(fù)”、“負(fù)天下人”]和[“天下人負(fù)”、“負(fù)我”],這樣兩個(gè)句子就能區(qū)分開來了.這無疑會(huì)增強(qiáng)文本特征的表達(dá)能力,提升文本的分類效果.

      2 相關(guān)工作

      Hinton在1986年提出詞的分布式表示,將每個(gè)詞表達(dá)成 n 維稠密、連續(xù)的實(shí)數(shù)向量,奠定了文本詞語建模的發(fā)展理論基礎(chǔ)[1].Bengio在2003年提出了三層語言模型(輸入層,隱含層和輸出層)的思路,用上下文的詞向量來預(yù)測中間詞,但是計(jì)算復(fù)雜度較高,對(duì)于較大的數(shù)據(jù)集運(yùn)行效率低[2].2013年,谷歌的Mikolov等人推出Word2vec,也是三層的語言模型,其中包含了兩個(gè)詞向量模型CBOW(Continuous Bag-of-Words Model)和Skip-gram(Continuous Skip-gram Model),在語義和語法上都得到了很好的驗(yàn)證,推動(dòng)了文本語義分析的進(jìn)程[3,4].基于word2vec的思想,Mikolov 于2014年又提出Sentence2vec和Doc2vec,提出了一種更加簡單的網(wǎng)絡(luò)結(jié)構(gòu)來訓(xùn)練任意長度的文本表示方法,這樣好處是減少了參數(shù),加快了模型訓(xùn)練,避免模型過擬合[5].

      Word2vec在詞語建模方面產(chǎn)生了巨大的貢獻(xiàn),然而其依賴于大量的文本數(shù)據(jù)進(jìn)行學(xué)習(xí),如果一個(gè)詞出現(xiàn)次數(shù)較少那么學(xué)到的向量質(zhì)量也不理想.針對(duì)這一問題Mikolov提出使用subword信息來彌補(bǔ)這一問題,簡單來說就是通過詞綴的向量來表示詞,即用一串字符級(jí)的n-gram向量來表示一個(gè)詞[6].Facebook于2016年開源的文本分類工具FastText在詞嵌入訓(xùn)練時(shí)加入了字符級(jí)的n-gram特征,用若干個(gè)字符n-gram向量的疊加來表示某個(gè)單詞,這樣的好處是對(duì)于低頻詞生成的詞向量效果會(huì)更好,因?yàn)樗鼈兊膎-gram可以和其它詞共享;對(duì)于訓(xùn)練詞庫之外的單詞,仍然可以通過疊加它們的字符級(jí)n-gram向量構(gòu)建它們的詞向量[7].Johnson等人直接使用局部小區(qū)域的一段文本進(jìn)行詞嵌入轉(zhuǎn)換,代替詞向量作為CNN分類模型的輸入,在更高維層面充分利用了詞序信息進(jìn)行文本的分類[8].王鵬使用快速聚類算法提取出文本中的語義集,接著對(duì)文本n-gram片段進(jìn)行語義合成,形成候選語義單元,然后根據(jù)設(shè)置的閾值篩選出合適的語義單元組成語義矩陣,作為CNN的輸入,解決了文本特征矩陣語義稀疏的問題[9].王儒等人針對(duì)短文本分類任務(wù)上的數(shù)據(jù)稀疏等難點(diǎn),嘗試在短文本特征輸入上進(jìn)行改進(jìn).Wordembedding訓(xùn)練時(shí)采取non-static和static兩種方式,將訓(xùn)練好的Wordembedding進(jìn)行聚類處理,聚類得到的Wordembedding庫作為模型輸入的詞典庫[10].隨著詞語建模的不斷成熟,越來越多的學(xué)者開始嘗試?yán)镁矸e神經(jīng)網(wǎng)絡(luò)(CNN)等深度學(xué)習(xí)方法進(jìn)行文本分類,Yoon Kim的經(jīng)典模型TextCNN在句子分類方面取得不錯(cuò)的成果,成為后續(xù)相關(guān)研究的模型基準(zhǔn)[11].

      利用形態(tài)學(xué)改進(jìn)詞嵌入的工作十分豐富,但中文領(lǐng)域似乎很難利用這一思路,雖然中文中也有類似于詞綴的單位,比如偏旁部首等等,只不過不像使用字母系統(tǒng)的語言那樣容易處理.文本借鑒文獻(xiàn)[6]、文獻(xiàn)[7]的思想,提出結(jié)合N-Gram特征與Word2vec的詞向量模型WordNG-Vec,提取出文本句子的局部詞序特征,增強(qiáng)文本特征的表達(dá)能力,實(shí)驗(yàn)表明這個(gè)方法有效提高文本分類的效果.

      3 相關(guān)模型理論

      3.1 結(jié)合N-Gram特征與Word2vec的詞向量模型

      N-Gram語言模型是基于一個(gè)假設(shè):第n個(gè)詞出現(xiàn)與前n-1個(gè)詞相關(guān),而與其他任何詞不相關(guān).整個(gè)句子出現(xiàn)的概率就等于各個(gè)詞出現(xiàn)的概率乘積.各個(gè)詞的概率可以通過語料中統(tǒng)計(jì)計(jì)算得到.假設(shè)句子S是由詞序列w1,w2,…,wn組成,用公式表示N-Gram語言模型如下:

      P(s)=p(w1,w2,…,wn)=

      p(w1)p(w2|w1)…p(wn|w1,w2,…,wn-1)

      (1)

      詞語wn出現(xiàn)的概率依賴于它前面n-1個(gè)詞,當(dāng)n很大時(shí),P(s)的計(jì)算是非常麻煩甚至無法估算,于是出現(xiàn)了著名的馬爾科夫假設(shè),即馬爾科夫模型.馬爾科夫假設(shè)的意思是:“當(dāng)前這個(gè)詞僅僅跟前面一個(gè)或幾個(gè)有限的詞相關(guān)”,即概率計(jì)算時(shí)不用考慮最前面的詞,這就大大簡化了計(jì)算的復(fù)雜度.即:

      p(wi|w1,w2,…,wi-1)=p(wi|wi-n+1,…,wi-1)

      (2)

      特別地,對(duì)于n取得較小值的情況,當(dāng)n=1,就是一元模型(unigrammodel),即為:

      (3)

      當(dāng)n=2,就是一個(gè)二元模型(bigrammodel),即為:

      (4)

      當(dāng)n=3,就是三元模型(trigrammodel),即為:

      (5)

      在實(shí)踐中用的最多的就是二元模型和三元模型了,而且效果很不錯(cuò),四元或高于四元的模型由于需要的訓(xùn)練語料過于龐大,訓(xùn)練時(shí)間較長,而且精度效果提升不明顯而較為少用.本文使用二元模型(bigrammodel)來提取文本的2-gram特征(bigram特征),并使用卡方統(tǒng)計(jì)方法過濾掉低頻的bigram特征.

      如表1所示,我們對(duì)兩種特征的文本用Word2vec工具進(jìn)行處理,得到原始的文本詞向量和bigram文本詞向量.

      表1 兩種模型的特征向量
      Table 1 Characteristic vectors of the two models

      原句美國對(duì)中國發(fā)起了貿(mào)易戰(zhàn)Word2vec特征‘美國’‘對(duì)’‘中國’‘發(fā)起了’‘貿(mào)易戰(zhàn)’ Bigram 特征 ‘美國/對(duì)’‘對(duì)/中國’‘中國/發(fā)起了’ ‘發(fā)起了/貿(mào)易戰(zhàn)’

      結(jié)合這兩種詞向量(Word-NG向量)作為文本的總特征,不但考慮了“詞語相似性”,還兼顧了“局部詞序特征”,這樣就可以區(qū)分出到底是“美國對(duì)中國發(fā)起了貿(mào)易戰(zhàn)”,還是“中國對(duì)美國發(fā)起了貿(mào)易戰(zhàn)”了.WordNG-Vec詞向量模型構(gòu)建流程如圖1所示.

      3.2 雙輸入通道的卷積神經(jīng)網(wǎng)絡(luò)分類模型(DC-CNN)

      卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種有監(jiān)督的分類模型,具有強(qiáng)大的局部特征提取能力,在語音和圖像處理方面已取得巨大的成功,近年來逐漸被引入到自然語言處理領(lǐng)域.

      本文借鑒文獻(xiàn)[11]中經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)分類模型(TextCNN),在結(jié)構(gòu)上做以下改進(jìn)形成本文的分類模型(DC-CNN),如圖2所示.

      1http://thuctc.thunlp.org/message

      模型輸入層:為了豐富文本的特征信息,把文本詞向量和Word-NG向量作為模型兩個(gè)通道的輸入,輸入分別表示為T1=[x1,x2,…,xn]T,T2=[y1,y2,…,ym]T,其中,T1,T2為輸入矩陣,xi,yi為第i個(gè)相應(yīng)的詞向量,設(shè)定為100維.

      圖1 WordNG-Vec模型構(gòu)建流程Fig.1 WordNG-Vec model building process

      卷積層:為了在卷積操作的過程中避免損壞bigram特征信息,同時(shí)能捕獲更多的上下文信息,本文在T1通道上采用unigram、bigram、trigram三組卷積核,即每次卷積操作分別覆蓋一個(gè)詞、兩個(gè)詞和三個(gè)詞,每組卷積核20個(gè);在T2通道上只采用unigram卷積核,共60個(gè).卷積運(yùn)算操作如下:

      C1=f(W1·T1+b1)

      (6)

      C2=f(W2·T2+b2)

      (7)

      其中,W1,W2為兩個(gè)通道上的卷積核權(quán)重,b1,b2表示偏置,f(·)選擇常用的非線性激活函數(shù)ReLU,f(x)=max(0,x).

      圖2 DC-CNN模型Fig.2 DC-CNN model

      池化層:池化操作是對(duì)卷積特征進(jìn)行再次篩選,提取出主要的特征,對(duì)特征向量進(jìn)行降維,減少模型的計(jì)算量,并提升模型的畸變?nèi)萑棠芰?常見的池化方法有平均池化(averagepooling)、最大池化(maxpooling)和K_max池化(K_maxpooling).文本采用K_max池化方法(K取2,取最大的兩個(gè)值)以保留更多的特征.假設(shè)句子的長度為L,卷積核高度為h,則池化操作表示為:

      C=K_max[c1,c2,…,cL-h+1]

      (8)

      輸出層(Softmax層):假設(shè)有M個(gè)類別的文本,那么特征向量C′經(jīng)過Softmax層的處理后映射為M個(gè)概率的序列P.表示為P=[p1,p2,…,pM].其中判定輸入x為第i類的概率由下面的公式得到:

      (9)

      模型的訓(xùn)練過程使用誤差后向傳播算法(EBP)和隨機(jī)梯度下降法(SGD)對(duì)模型參數(shù)進(jìn)行調(diào)整.

      4 實(shí)驗(yàn)結(jié)果與分析

      實(shí)驗(yàn)平臺(tái):ubuntu17.04.

      實(shí)驗(yàn)工具:數(shù)據(jù)預(yù)處理基于jieba分詞庫、nltk自然語言處理工具、Word2vec詞向量訓(xùn)練工具;分類模型基于Tensorflow搭建,編程語言采用Python.

      4.1 文本數(shù)據(jù)預(yù)處理

      本文使用的數(shù)據(jù)來源于清華大學(xué)THUCTC文本分類工具提供的新聞文本語料1,選取其中的6個(gè)類別:娛樂、體育、房產(chǎn)、游戲、股票、彩票.在每個(gè)類別中各選取10000個(gè)文檔組成訓(xùn)練集和測試集,即訓(xùn)練集和測試集各3萬篇.

      首先對(duì)文本進(jìn)行數(shù)據(jù)清洗,去掉標(biāo)點(diǎn)符號(hào)和特殊符號(hào),然后用jieba分詞工具進(jìn)行分詞,處理之后的數(shù)據(jù)形式為詞與詞之間用空格分開,單個(gè)文本與標(biāo)簽之間用“__label__”分隔.接著用自然語言處理工具nltk完成bigram文本的提取,最后用Word2vec工具對(duì)語料進(jìn)行訓(xùn)練得到bigram詞向量和文本詞向量(詞向量維度為100).

      4.2 模型超參數(shù)設(shè)置

      在T1通道上采用unigram、bigram、trigram三組卷積核,每組卷積核20個(gè),在T2通道上只采用unigram卷積核,共60個(gè);每輪的迭代樣本數(shù)(batch_size)為64,共迭代訓(xùn)練20輪;訓(xùn)練過程中使用L2正則化方法對(duì)參數(shù)進(jìn)行約束,使用dropout機(jī)制隨機(jī)丟棄一部分神經(jīng)元的更迭,設(shè)定值為0.5,防止模型過擬合.

      4.3 評(píng)估指標(biāo)

      在機(jī)器學(xué)習(xí)領(lǐng)域,常用的評(píng)價(jià)指標(biāo)有精確率(precision)、召回率(recall)和F1值.在測試集中,假設(shè)在判斷是否是某類別的樣本中,所有被正確檢索到的樣本記為TP,實(shí)際檢索到的總樣本記為TA,被誤檢索到其他類別的樣本記為FN.則精確率為P=TP/TA,召回率為R=TP/(TP+FN),F1值就是精確率和召回率的調(diào)和均值,即F1=2PR/(P+R).

      4.4 實(shí)驗(yàn)對(duì)比與分析

      本文設(shè)置了三組對(duì)比實(shí)驗(yàn)來評(píng)估所提出的分類模型和詞向量模型的性能.

      a)分類模型對(duì)比.實(shí)驗(yàn)采用Yoon Kim 提出的模型—TextCNN(雙通道模型),作為對(duì)比模型和本文的模型(DC-CNN)進(jìn)行對(duì)比,輸入數(shù)據(jù)都是Word-NG詞向量,對(duì)比結(jié)果如表2所示.

      表2 模型實(shí)驗(yàn)對(duì)比結(jié)果
      Table 2 Model experimental comparison results

      分類模型精確率P召回率RF1值TextCNN0.8530.8390.846DC-CNN0.8550.8410.848

      表2展示了DC-CNN和TextCNN模型的試驗(yàn)對(duì)比結(jié)果,可以看出兩者都有著不錯(cuò)的分類效果,但DC-CNN的效果要提升一點(diǎn),主要原因是DC-CNN在池化層使用K_max池化代替了最大池化,保留了更多的特征.

      b)文本詞向量對(duì)比.由于“文本詞向量”和“bigram向量”均為單一文本向量,為了解決模型的輸入問題,借鑒了文獻(xiàn)[11]中TextCNN模型通道調(diào)整方法(static和non-static兩個(gè)通道的動(dòng)態(tài)調(diào)整,以減少由于訓(xùn)練集和測試集語料不一致導(dǎo)致“詞向量”存在的偏差,以及提升訓(xùn)練時(shí)的收斂速度和模型效果),在DC-CNN模型中,以“文本詞向量”作為輸入時(shí),關(guān)閉T2通道,以“bigram向量”作為輸入時(shí),關(guān)閉T1通道,而以“Word-NG向量”作為輸入時(shí),不關(guān)閉任何通道.模型內(nèi)部參數(shù)保持不變.實(shí)驗(yàn)對(duì)比結(jié)果如表3所示.

      表3展示了不同文本詞向量的實(shí)驗(yàn)對(duì)比結(jié)果,可以看出,單獨(dú)使用“bigram向量”的效果最差,原因是很多相鄰上下詞之間的組合并不能構(gòu)成有意義的詞組,訓(xùn)練的詞組向量往往不能代表原文語義;使用原始的“文本詞向量”比“bigram向量”提在F1值上升了0.159,說明訓(xùn)練出能夠代表原文語義的獨(dú)立詞向量對(duì)提升文本的分類效果有著重要意義;當(dāng)以“Word-NG向量”作為輸入時(shí),效果最佳,在精確率、召回率、F1值三個(gè)指標(biāo)上都有明顯的提升,因?yàn)榻Y(jié)合這兩種詞向量能夠兼顧獨(dú)立詞的語義以及局部的詞序信息,極大豐富了文本輸入表示的特征.

      表3 不同文本詞向量的實(shí)驗(yàn)對(duì)比結(jié)果
      Table 3 Contrast results of word vector experiments

      模型輸入精確率P召回率RF1值原始文本向量 0.8870.8710.878bigram文本向量0.7150.7240.719Word-NG向量 0.9020.9130.908

      c)詞語建模方法對(duì)比.為了研究局部詞序信息對(duì)文本分類效果的影響,Johnson在文獻(xiàn)[8]中提出了經(jīng)典的Bow-CNN模型,將附近的連續(xù)幾個(gè)單詞映射成一個(gè)詞向量,在更高維的層面提取出詞序特征.本文提出的WordNG-Vec詞向量模型和Bow-CNN模型的對(duì)比結(jié)果如表4所示.

      表4 詞語建模方法對(duì)比
      Table 4 Comparison of the modeling of word vector

      詞向量模型精確率P召回率RF1值Bow-CNN 0.8130.8080.810WordNG-Vec0.9020.9130.908

      表4展示了WordNG-Vec與Bow-CNN模型的實(shí)驗(yàn)對(duì)比結(jié)果,可以看出WordNG-Vec的各項(xiàng)指標(biāo)相比后者均有明顯的提高.原因是Bow-CNN模型在對(duì)文本向量的預(yù)處理過程中還是顯得略微粗糙,直接將附近的連續(xù)幾個(gè)詞映射成一個(gè)詞向量,雖然在一定程度上能夠提取出“詞序特征”,但忽略了單個(gè)詞語語義特征對(duì)整體文本特征的作用,而WordNG-Vec模型能夠很好的把兩者結(jié)合起來,提升了文本特征的表達(dá)能力.

      5 結(jié)束語

      本文借鑒文獻(xiàn)[6]、文獻(xiàn)[7]的思想,提出了結(jié)合N-Gram特征與Word2vec的詞向量模型WordNG-Vec,該模型利用N-Gram模型中的二元模型提取出bigram特征文本,并用Word2vec工具訓(xùn)練得到了融合單個(gè)語義特征和局部詞序特征的Word-NG向量.該向量作為文本的輸入表示,能夠捕獲文本內(nèi)在的局部詞序特征,提升文本輸入表示的特征表達(dá)能力;在分類模型上借鑒文獻(xiàn)[11]的TextCNN模型,在結(jié)構(gòu)上進(jìn)行局部優(yōu)化,形成本文的DC-CNN模型.通過對(duì)清華大學(xué)THUCTC的新聞文本數(shù)據(jù)進(jìn)行實(shí)驗(yàn)對(duì)比表明,本方法在精確率、召回率、F1值三個(gè)指標(biāo)上相對(duì)基準(zhǔn)模型有一定的提升,證明了本方法的有效性和可行性.

      猜你喜歡
      語義卷積向量
      向量的分解
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      聚焦“向量與三角”創(chuàng)新題
      語言與語義
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      “上”與“下”語義的不對(duì)稱性及其認(rèn)知闡釋
      向量垂直在解析幾何中的應(yīng)用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      認(rèn)知范疇模糊與語義模糊
      东平县| 临颍县| 马关县| 安化县| 射洪县| 凤庆县| 林西县| 莆田市| 泰来县| 黄大仙区| 长阳| 临沂市| 亳州市| 庆城县| 龙海市| 兴安县| 大埔区| 靖远县| 叶城县| 湖北省| 白朗县| 新绛县| 通许县| 松溪县| 定安县| 资中县| 望江县| 遵义市| 石景山区| 泸溪县| 章丘市| 揭西县| 朔州市| 敦煌市| 县级市| 富宁县| 城市| 邯郸县| 仁布县| 抚顺县| 藁城市|