999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

結合自注意力機制的神經網絡文本分類算法研究

2020-03-11 12:51:12賈紅雨王宇涵叢日晴
計算機應用與軟件 2020年2期
關鍵詞:分類機制文本

賈紅雨 王宇涵 叢日晴 林 巖

(大連海事大學航運經濟與管理學院 遼寧 大連 116026)

0 引 言

互聯網在21世紀以指數級的速度發展,產生了海量的文本信息數據,包括社交評論、新聞媒體、政府公文、企業文書、電商評論信息等文本數據。自然語言處理(Natural Language Processing,NLP)的任務之一就是對這些文本數據進行有效的文本分類、文本挖掘,發現文本背后的隱藏價值,這一直是NLP領域學術前沿的研究課題。采用深度學習技術,在文本分類任務中有效提升分類器性能,對開發和利用文本信息具有很大推動作用。

1 相關工作

文本分類一直是NLP領域長期活躍的前沿課題,并在大數據時代有著廣泛的應用,傳統機器學習方法在處理文本分類任務上已經有諸多研究。文獻[1]基于LDA[2](隱狄利克雷分布)主題模型對科技視頻的關鍵字進行建模,通過關鍵字文本分類的方式對視頻內容進行分類。文獻[3]提出了一種基于LDA特征擴展的短文本分類方法,使用LDA模型對短文本進行了主題模型的特征擴展,最后使用SVM作為分類器對文本進行分類。文獻[4]基于KNN構建主題模型,利用該模型實現主題信息的分類。文獻[5]使用TF-IDF[6]作為文本特征,證明多項式SVM在短文本處理問題上,性能優于KNN。盡管傳統方法在一些實驗中已經取得了不錯的效果,但是單純以詞頻來衡量詞的重要程度不夠全面,容易忽略一些低頻關鍵詞信息,無法體現詞的位置信息,且沒有考慮詞性問題。其次,這些方法無法表示詞語之間的內在聯系。

在深度學習領域,針對傳統文本處理方法不能有效處理詞之間聯系與位置信息的問題,文獻[7]提出了基于LSTM[8]和GRU[9]的遞歸神經網絡結構,以LSTM或GRU作為計算單元的遞歸神經網絡在處理文本等序列數據時可以記住序列中遠距離的依賴關系,側面映射了文本數據中的單詞之間的語義關系。Kim[10]則使用考慮上下文信息的卷積神經網絡對句子序列進行卷積操作,通過不同大小的卷積窗口獲得不同大小的信息量,最后通過融合各個卷積層的輸出進入全連接層映射出分類結果。文獻[11]結合CNN與KNN,使用CNN進行抽象的特征提取,對提取特征使用KNN進行短文本分類,融合CNN特征抽取準確與KNN簡單高效,在短文本分類問題中表現較好。文獻[12]提出了一種融合了RNN和CNN的文本分類模型結構RCNN,主要變化是使用RNN替代CNN中的卷積層。

針對傳統文本分類算法存在的特征維度高、特征數據稀疏,且傳統方法并不能有效識別文本句子的前后語義關系與關鍵詞信息。針對上問題,本文使用預訓練詞嵌入為文本特征表示,提出了一種引入注意力機制的RCNN_A文本分類算法。

2 結合自注意力的RCNN_A模型

2.1 文本的特征表示

詞的表示方法決定了文本數據的表示方法。傳統的詞表示方法,也是最早的詞向量表示法,即One-Hot表示法(獨熱編碼表示)。One-Hot表示法在理解與使用時非常簡單,但是其缺陷也是十分明顯的,當遇到較大數量級的文本數據時,向量矩陣非常稀疏、計算效率極低。且這種向量表示方法無法表示詞語的語義信息,也無法表現詞語之間的聯系,因而在實際應用中的效果表現也比較差。

針對傳統方法的問題缺陷,Bengio[13]提出用神經網絡概率語言模型來處理文本信息。Mikolov[14-15]基于NNLP提出利用Word2Vec中CBOW和Skip-Gram兩種模型構建詞向量,如圖1所示。CBOW模型的訓練輸入是某一個特征詞的上下文相關的詞對應的詞向量,而輸出是這特定的一個詞的詞向量。Skip-Gram模型則與CBOW相反,即輸入是特定的一個詞的詞向量,而輸出是特定詞對應的上下文詞向量。

圖1 CBOW和Skip-Gram

這種向量表示技術通過神經網絡對上下文、上下文和目標詞匯之間的關系進行建模。在無監督的大規模預料上進行詞的分布式表示,這種方法可以將文本映射到較低緯度的向量空間中去,解決了詞袋模型的高緯度、高稀疏性的缺點,避免了維數災難,同時也保留了文本數據上下文之間的關系性質。并且這種分布式表示適合神經網絡的輸入。

2.2 注意力機制

深度學習中的注意力機制(Attention Mechanism)很早就被應用于圖像處理領域,并取得了非常好的應用效果。而Bahdanau等[16]則首次將Attention機制應用于NLP領域中來,并在機器翻譯任務上將翻譯與對齊同時進行。隨后Attention被廣泛用在基于RNN/CNN等神經網絡模型的各種NLP任務中來。Google機器翻譯團隊[17]用Attention代替了RNN搭建了整個模型框架,并提出了多頭注意力(Multi-headed attention)機制方法,在編碼器和解碼器中大量使用多頭自注意力機制(Multi-headed self-attention),在WMT2014語料中的英德、英法翻譯任務上取得了優秀的效果表現和優于主流模型的訓練速度。

圖2 查詢到鍵值對映射

首先計算Query與每個Key的相似性,常用的相似性計算函數有點積公式、cosine相似性公式和感知器網絡公式,分別如下:

Sim(Query,Keyi)=Query·Keyi

(1)

(2)

Sim(Query,Keyi)=MLP(Query,Keyi)

(3)

然后使用Softmax進行歸一化處理得到概率分布:

(4)

最后根據權重系數對Value進行加權求和:

(5)

通過上述Attention機制計算過程的描述,可以更方便地理解Self-Attention機制。通常在一般的Encoder-Decoder框架中,輸入Source和輸出Target內容是不一樣的,如翻譯任務中,輸入是一種語言的文本句子,而輸出則是另外一種語言句子,在這種框架中Attention機制發生在Target和Source之間。而在自注意力機制中,注意力的計算不是發生在輸入與輸出中,而是Source自身內部的元素與元素之間發生注意力計算。其計算過程與上述過程相同。

2.3 RCNN_A模型

RCNN與普通RNN不同的是,輸入層將每一個詞分別和左右兩邊的詞進行融合。左右的詞文本分別先經過一層LSTM(長短期記憶),將該詞左側的詞正向輸入得到一個詞向量,將右側反向輸入得到一個詞向量,然后再結合三種詞向量(等同于卷積窗口為3的卷積層),生成組合向量輸入到全連接層,緊接著使用Max-Pooling進行降維、Dropout防止過擬合,最后通過全連接與Softmax進行分類。

結合自注意力機制的循環卷積神經網絡結構(Recurrent Convolutional Neural Network with self-Attention,RCNN_A)由3個詞輸入層(Left_Context、Context、Right_Context)、詞嵌入層(Embedder)、循環卷積層(Recurrent Convolutional Layer)、注意力機制層(Attention Layer)、合并層(Concatenate)、全連接層(FC,Fully Connected Layer)、Dropout層、最大池化層(MaxPooling)及最后的Softmax層與輸出層(Output)組成,結構圖如圖3所示。

圖3 RCNN_A模型結構圖

2.3.1輸入層

輸入層有3個輸入內容,分別為左文本(Left_Context)、文本(Context)和右文本(Right_Context),其中左文本為Context中所有詞索引值減去1,右文本為Context中所有詞索引值加上1,分別得到由詞索引值組成的輸出。

2.3.2詞嵌入層

在詞嵌入層Embedder中引入Skip-Gram模型預訓練的詞向量。并設置嵌入層詞向量不可再訓練。

2.3.3循環卷積層

左、右文本的上下文信息表示如下[10]:

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

(6)

Cr(wi)=f(W(r)Cr(wi+1)+W(sr)e(wi+1))

(7)

式中:wi為文本序列中第i個詞的詞嵌入,wi-1為其左側上下文詞嵌入,wi+1為其右側上下文詞嵌入,Cl(wi-1)為詞wi-1的左文本上下文信息表示,W(l)為轉換前后詞匯的權重矩陣,W(sl)為被用于融合當前詞匯與下一個左側詞匯語義信息的權重矩陣,f則是一個非線性的激活函數。

2.3.4注意力機制層

自注意力機制使用自注意力關注句子本身進而從句子中抽取相關信息,由循環卷積層得到的左文本表示序列輸入到Attention層進行計算注意力權重。本文引入的注意力機制相似度計算函數為MLP,即式(3)。這里設:輸入序列Cl(wi)經過全連接層得到[h1,h2,…,hn],然后進行Softmax歸一化得到一個概率分布,即注意力矩陣SAMl。然后再將SAMl返回到循環卷積層,與原輸出進行注意力加權,?為乘積符號,最后將加權后的值Cla(wi)輸出到合并層進行融合。同理右文本信息序列做同樣操作處理。

SAMl=Softmax(WhlCl(wi)+bhl)

(8)

Cla(wi)=SAMl?Cl(wi)

(9)

SAMr=Softmax(WhrCr(wi)+bhr)

(10)

Cra(wi)=SAMr?Cr(wi)

(11)

2.3.5合并層

通過詞嵌入層得到文本詞嵌入Cc(wi),通過循環卷積層和Attention層得到經過注意力矩陣加權后的所有左文本上下文信息Cla(wi)和右文本上下文信息Cra(wi),則得到詞wi及其上下文信息,通過式(12)將所有向量進行合并,得到最終的詞wi的信息表示xi,即每條文本第i個詞的信息表示。

xi=[Cla(wi);Cc(wi);Cra(wi)]

(12)

2.3.6全連接層

(13)

2.3.7Dropout與最大池化層

在FC層后,設置一個Dropout層,并以概率p來丟棄神經元,讓別的神經元則以概率q=1-p進行保留操作,其中在FC層中的每一個神經元都有相同的概率進行丟棄和保留。通過添加Dropout層,本文模型設置p=0.1,來降低過擬合的風險。

(14)

2.3.8Softmax與輸出層

從池化層得到本層的輸入,同常規神經網絡一樣,本層被定義為:

yO=WOyMax+bO

(15)

式中:yO為本層神經元的輸出。然后Softmax分類器對yO進行如下計算:

(16)

并將數字輸出轉換為概率輸出pi,最后通過argmax函數對pi計算得到輸出標簽值,即文本所屬類別l*:

(17)

3 實驗結果與分析

3.1 實驗數據集

本文采用搜狗實驗室(Sougou Labs)發布的新聞數據(SougouCS)完成RCNN_A模型文本分類的性能測試。

本次使用的數據為SougouCS發布時長間隔一個月的搜狐新聞網站上抓取下來的各類新聞文本。對原始數據進行預處理操作,文本僅進行去除非中文字符及去除重復及無效數據。最終使用10類新聞文本數據共20 000條,訓練集與驗證集劃分比例為9∶1。數據樣本的類別分布如表1所示,樣本數據示例如表2所示。

表1 數據樣本集

表2 數據樣本示例

3.2 實驗設置

本文模型通過Keras深度學習框架(后端基于Tensorflow)進行網絡搭建并完成模型驗證實驗。本文物理實驗環境如表3所示。

表3 實驗環境

3.3 詞向量預訓練

預訓練詞向量使用Google開源的詞向量訓練工具Word2Vec,本文使用負采樣模型(Skip-Gram with Negative Sampling)訓練詞向量。模型訓練的窗口大小為5(當前詞與目標詞之間的最大距離),最小過濾詞頻為5(詞頻小于5的單詞訓練時被忽視),學習速率設為0.05,迭代數量為5。詞向量預訓練參數如表4所示。詞向量的預訓練語料為搜狗實驗室發布的新聞數據集(間隔一個月,約10萬條新聞數據)。預訓練詞向量詞語相似性示例如表5所示。

表4 詞向量訓練參數

表5 預訓練詞向量相似度示例

3.4 實驗設計

為了驗證本文提出的RCNN_A模型文本分類的有效性,同時構建了文獻[8]的Bi-LSTM、文獻[7]的Bi-GRU、文獻[10]的TextCNN和文獻[12]的RCNN作為參照模型進行分類性能對比。各模型超參數對比如表6所示。

表6 參照模型超參數設置

3.5 結果分析

實驗結果如表7所示。

表7 各參照模型不同維度準確率 %

各分類器性能在不同詞向量維度下的表現變化情況如圖4所示。

圖4 詞向量維度對分類性能的影響

RCNN_A在不同Dropout取值中的表現如圖5所示(以250維為例)。

圖5 Dropout取值對分類性能的影響

從圖4中可以看出,各個分類模型都與預訓練詞向量的維度大小成正比關系。且在低維度區間處,隨著詞向量維度增加,訓練模型可以明顯地提升分類性能,但維度到達一定高度時,變化程度開始減緩。其中,在詞向量維度為300維時,除了TextCNN模型外,其余均有小幅度下滑波動,可能是語料數據預訓練出的300維度詞向量質量不佳導致。但從整體趨勢波動上來看,仍為正比趨勢。圖5為不同Dropout取值下的分類器性能表現,在Dropout=0.1處取得最佳性能表現,并在(0,0.5)區間中沒有明顯的起伏波動。

由表7及圖4可知,對于中長文本分類任務(搜狗新聞數據集)中,表現最好的分類模型為本文提出的RCNN_A模型,并在詞向量維度為250時,達到了最高97.35%的分類準確率,參照組模型分別得到最高95.75%(RCNN)、94.75%(Bi-LSTM)、94.25%(Bi-GRU)、93.31%(TextCNN)的分類結果。

在沒有引入注意力的時候,所有的語義都通過一個中間語義詞向量來表示,如果輸入的語句過長,關鍵詞匯便會逐漸消失其獨特的語義信息,損失很多語義細節。本文提出的結合自注意力機制的RCNN_A文本分類方法,通過注意力機制層生成“焦點”詞匯(增強句中關鍵詞匯的語義信息),并為“焦點”詞匯的向量分配不同的權值。使用這種處理方法為文本的詞向量序列引入了新的語義信息,從而在文本分類的應用場景中獲得更好的性能表現。

4 結 語

注意力機制在處理輸入詞向量序列時,通過一層隱層神經網絡單元來學習序列的注意力權重矩陣,這使得輸出的序列向量的關鍵詞向量得到更強的語義特征信息,從而使網絡在多層的合成計算之后能夠更高效地保留文本序列的主要語義關系信息。本文通過對文本中的字詞序列信息注意力加權處理,得到注意力權重矩陣,并與前后向的LSTM層輸出相乘得到矩陣加權處理后的文本序列向量,增強了在全連接層文本映射分類的性能,得到了更準確的文本分類效果。

但本文的模型直接將詞嵌入層輸出作為自注意力層的輸入,仍是對原序列的簡單處理。在不同文本處理任務中,根據具體的分類問題,還需要具體研究注意力機制的設計。其次,本文的實驗數據集文本數據多數為中長度文本。而在某些文本分類任務中的文本長度非常簡短(如微博、推特的推文等),其文本有效長度也非常短,增加了文本分類的難度。本文下一步的工作就是嘗試在短文本分類問題中應用注意力機制進行驗證研究。

猜你喜歡
分類機制文本
分類算一算
在808DA上文本顯示的改善
分類討論求坐標
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
數據分析中的分類討論
教你一招:數的分類
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
主站蜘蛛池模板: 国产精品久久久久久久久| 国产精品第5页| 国产呦视频免费视频在线观看| 精品福利视频网| 精品第一国产综合精品Aⅴ| 久久精品中文字幕免费| 97视频精品全国在线观看| 成人免费视频一区| 国产精品所毛片视频| 国产在线小视频| 自拍欧美亚洲| 亚洲福利视频一区二区| 亚洲中文在线看视频一区| 乱人伦视频中文字幕在线| 秋霞国产在线| 国产精品三级专区| 亚洲第一区在线| 波多野结衣一区二区三视频 | 午夜日本永久乱码免费播放片| 人妻21p大胆| 1024国产在线| 熟妇丰满人妻| 好久久免费视频高清| 91人妻在线视频| 亚洲精品自拍区在线观看| 囯产av无码片毛片一级| 99国产精品一区二区| 一级爆乳无码av| 熟妇无码人妻| 凹凸国产分类在线观看| 91在线免费公开视频| 亚洲av无码久久无遮挡| 一本大道东京热无码av| 欧美不卡二区| 精品国产91爱| 国产丝袜啪啪| 亚洲第一成人在线| 亚洲福利视频网址| 欧洲成人在线观看| 色悠久久综合| 国产精品女主播| 996免费视频国产在线播放| 亚洲无码37.| 婷婷综合缴情亚洲五月伊| 国产精品亚洲综合久久小说| 日韩视频福利| 手机看片1024久久精品你懂的| 凹凸精品免费精品视频| 美女视频黄又黄又免费高清| 午夜少妇精品视频小电影| 免费不卡视频| 99久久这里只精品麻豆| 一级毛片免费不卡在线视频| 免费在线a视频| 国产精品福利社| 亚洲 成人国产| 亚洲人成日本在线观看| 欧美激情二区三区| 九九视频免费在线观看| 乱码国产乱码精品精在线播放| 熟妇丰满人妻| 国产日韩欧美精品区性色| 亚洲天堂777| 日韩黄色精品| 亚洲欧洲日本在线| 午夜国产理论| 色哟哟色院91精品网站| 久久精品女人天堂aaa| a亚洲天堂| 欧美午夜网| 久久久久人妻一区精品| 国产丰满大乳无码免费播放 | 国产福利小视频高清在线观看| 精品国产99久久| 亚洲第一视频网| 国产簧片免费在线播放| 国产第四页| 毛片三级在线观看| 精品无码一区二区在线观看| 99视频精品全国免费品| 久久午夜夜伦鲁鲁片不卡| 九色综合伊人久久富二代|