當前位置:
首頁 > 最新 > 基於深度學習的文本分類技術

基於深度學習的文本分類技術

本文為哈工大訊飛聯合實驗室(HFL)最新成果介紹,論文《Disconnected Recurrent Neural Networks for Text Categorization》已被ACL 2018錄用。

1

引言

文本分類任務是自然語言處理(NLP)領域最基礎和傳統的任務之一,該任務又會根據領域類型的不同分成很多子任務,例如情感分類、主題分類和問題分類等。很多機器學習的新方法都會先嘗試在文本分類任務上進行實驗驗證。例如深度學習中最常見的兩大類模型,卷積神經網路(CNN)和循環神經網路(RNN)及其變體,在文本分類中有很多應用。

RNN模型擅長對整個句子進行建模,捕捉長距離依賴信息。然而研究表明,RNN對整個句子建模有時會成為一種負擔,使模型忽略了關鍵的短語信息。CNN模型則正相反,更擅長抽取局部的位置不變特徵。為此,我們提出了DRNN模型,通過限制RNN模型信息的流動,將位置不變性引入RNN模型中。這使得DRNN模型既能捕捉長距離依賴信息,又可以很好地抽取關鍵短語信息。我們提出的模型在DBPedia,Yelp等多個文本分類數據集上取得了最好的效果。

本文首先會對一些基於CNN和RNN的文本分類方法介紹,然後針對CNN和RNN模型存在的問題,重點介紹我們在ACL 2018論文中提出的Disconnected Recurrent Neural Networks(DRNN)。

2

基於CNN的文本分類方法

卷積神經網路(CNN)早期更多的是應用在計算視覺領域。在2011年,Collobert等人首先提出使用CNN解決詞性標註(POS)、命名實體識別(NER)和語義角色標註(SRL)等NLP領域的問題。2014年,Kalchbrenner等人和Kim先後在ACL和EMNLP提出將CNN應用於文本分類任務。

圖 1:CNN在自然語言處理中的典型應用

圖1是Kim在EMNLP2014上的一篇工作,該文提出了一個非常簡單實用的CNN模型結構。圖1最左邊是輸入矩陣,每一行是一個詞語的Embedding。接下來對輸入矩陣做卷積操作,卷積核的大小是k*dim,其中dim是Embedding的維度,k是窗口大小。對於圖1來說,k是2和3,dim是6。經過卷積後,每個卷積核得到對應的feature map,圖中共有4個卷積核,所以產生了4個feature map。接下來對每一個feature map(圖1中間的列向量)取max pooling來選取其最大值。此處做max pooling主要有兩點好處,其一是便於抽取輸入文本中更重要的信息,其二是可以固定輸出的維度,以便後續接全連接層。通過pooling層後得到文本的表示向量,然後再通過softmax進行文本分類。

與之相對應的是,Kalchbrenner等人在ACL 2014提出的CNN模型。該模型主要有兩個有效的創新:其一是提出採用寬卷積(Wide convolution)替換窄卷積(Narrow convolution),其二是提出採用K-max pooling方式。

圖 2:窄卷積與寬卷積

圖2左邊的圖是窄卷積示例,可以看到採用窄卷積的時候,輸入序列邊界的詞語遍歷的次數少於中間的詞語,對整個模型的影響也更小一些。此外,窄卷積的輸入序列最小長度會受到限制,至少要大於卷積核的窗口大小才能得到對應的輸出。圖2右側則是寬卷積,寬卷積會在輸入的左右兩邊各補齊(padding) K-1個輸入,從圖中可以看到寬卷積可以有效解決上述兩個問題。

NLP中常見的max pooling通常只選取最大的一個數值,max pooling主要有兩個問題。其一,max pooling後只能表示最重要的一個信息,大部分信息丟失;其二,max pooling後特徵的順序信息也完全丟失了。因此Kalchbrenner等人提出k-max pooling的方法,圖3是k-max pooling的一個示意圖,下面矩陣的每一行是一個feature map,對每一行選取k個最大的值,並按照原始順序進行保留。因而k-max pooling可以既保留一部分位置信息,又可以抽取更多重要信息。

圖 3:k-max pooling

CNN模型擅長抽取位置不變的局部特徵,但是對於一些長距離依賴的問題處理的並不好。Conneau等人提出VDCNN模型,首次在自然語言處理任務中引入深層卷積神經網路(29個卷積層),更深的CNN模型可以捕捉更長距離的依賴信息。該模型主要採用殘差網路(ResNet)、Batch Normalization等技術來確保更深層的模型得到充分訓練。該模型在AG、DBPedia等文本分類任務上取得了很好的效果。

3

基於RNN的文本分類方法

CNN模型在捕捉長句依賴信息的時候往往需要加深CNN的層數,並設計一個非常精巧的模型來得到比較理想的效果。與之相比,RNN模型則更適合處理長距離依賴問題。

Tang等人為了對句子之間的關係進行建模,提出採用層次化RNN模型來對篇章級文本進行建模。圖4是他們提出的一種模型結構,首先用CNN或者LSTM來對句子級別的表示進行建模,然後再將所有的句子表示送入雙向LSTM中對整個篇章進行建模。該方法在情感分類任務中取得了很好的效果。

圖 4:層次化RNN模型

Yang等人則提出Hierarchical Attention Networks(HAN)進行文本分類。他們在圖4模型的基礎上進行改進,在句子層和篇章層都進行了Attention操作。具體模型結構見圖5,他們引入一個額外向量u,然後將句子中的每個詞都和向量u進行Attention操作,進而選取一句話中最重要的詞語信息。在篇章級別也進行類似的操作,來選取更重要的句子。Yang等人還嘗試將Attention操作替換成max pooling和average pooling,實驗結果顯示Attention的效果最佳。該模型在很多文本分類任務上都取得了很好的效果。

圖 5:Hierarchical Attention Networks

4

CNN和RNN相結合

Yin等人研究表明,CNN模型擅長抽取位置不變的局部特徵,但是不擅長捕捉長距離依賴信息。而RNN則相反,RNN擅長對整個句子進行建模,但這種建模有時也會成為一種負擔,使RNN模型無法更好地關注重要的短語信息。

由於CNN和RNN都各有其優點,將兩者的優勢結合便是一種很合理的思路。Xiao等人提出了一種卷積循環神經網路(CRNN)模型,如圖6所示。圖6左側是一個普通的CNN模型,右側則是CRNN模型。CRNN首先採用卷積操作對位置不變的局部特徵進行建模,然後再用RNN來捕捉長距離依賴信息。

圖 6:Convolution-recurrent networks

5

Disconnected Recurrent Neural Networks

表 1:主題分類示例

前文提到,RNN對整個句子編碼,有時會忽略關鍵的短語信息。表1是一個主題分類的例子,我們可以看到兩句話表意基本相同,都應該被分類到科技類。其中決定分類的關鍵短語是「unsolved mysteries of mathematics」,對於一個窗口大小為4的CNN模型來說,這兩個句子中的短語表示完全相同。然而,當我們把兩句話送入RNN模型的時候,因為RNN模型中,每一個時刻的隱層狀態都和前面所有詞語相關,所以這兩個短語的表示是完全不同的。這增大了模型捕捉關鍵短語的難度,使得RNN模型有時會忽視一些關鍵信息。

為了解決上述問題,我們希望通過將位置不變性引入RNN模型中,使得RNN模型既可以捕捉長距離依賴信息,又可以更好地抽取位置不變的局部特徵。為此,我們提出了DRNN(Disconnected Recurrent Neural Networks)模型。具體來說,我們會阻斷RNN模型的信息流動,使其最多只能傳遞固定的步長k。這樣的話,每個時刻的隱層狀態就只和當前詞以及前k-1個詞相關。

圖 7:Disconnected Recurrent Neural Networks

圖7是RNN模型、DRNN模型和CNN模型的一個對比圖。如圖所示,對於RNN來說,隱層狀態h與前面所有的詞都相關,而對於DRNN,則只與之前的k-1個詞相關。DRNN模型也可以被認為是一種特殊的CNN模型,只是將CNN模型中的卷積核替換成了RNN。顯然,DRNN和CNN一樣,對於長度為k的短語,無論它在文本中的什麼位置,都具有相同的表示。

圖 8:整體模型結構

DRNN是一種通用的模型框架,可以應用在很多任務中,我們主要將其應用在文本分類任務中,對應的模型結構見圖8。我們採用GRU作為DRNN的循環單元,得到Disconnected Gated Recurrent Unit(DGRU)模型。我們首先將DGRU的每個隱層表示送入MLP中,來抽取更高層的特徵信息。然後再通過max pooling來抽取整個文本中最重要的信息,最後再通過一層MLP,然後送入softmax中進行分類。

圖 9:DGRU和CNN對比

我們將DRNN模型與CNN、LSTM和GRU進行了對比,從圖9中我們可以看到CNN模型的實驗效果隨著卷積核窗口大小的增大而不斷變差,其中CNN窗口為3時實驗效果最好。而對於DRNN來說,窗口為15時效果最佳。對於CNN來說,卷積核窗口越大,對應的參數也越多,模型更加容易過擬合。相比之下,在增大DRNN的窗口長度時,參數是保持不變的,因此可以有效地緩解過擬合問題。從表2中我們也可以看到DRNN的效果比LSTM、GRU和CNN更好。

表 2:對比實驗結果

我們還比較了不同循環單元和Pooling方法的實驗效果,如圖10所示。我們採用了na?ve RNN、LSTM和GRU作為DRNN的循環單元,其中對於na?ve RNN,當窗口增大的時候,效果快速下降,錯誤率甚至超過20%,因此沒有在圖中畫出。而GRU和LSTM對比,可以看到在DRNN中,GRU作為循環單元的效果更好。對於不同Pooling方法來說,max pooling的效果最好,這是與max pooling可以更好地保持模型的位置不變性有關。

圖 10:不同組件對比

我們發現DRNN的窗口大小太大或者太小都會導致模型的效果不佳,當窗口太大的時候,DRNN則更像RNN模型,丟失了位置不變性。而當窗口太小的時候,DRNN則更像CNN模型,缺失了長距離依賴的能力。因此選擇一個合適的窗口大小,對於DRNN模型來說很重要。我們對於最佳窗口的設置進行了研究,研究表明最佳窗口大小和訓練數據的數據量關係不大,和任務類型關係明顯。因此我們在選擇最佳窗口的時候可以考慮先在小規模數據上進行實驗以選擇最佳窗口,如圖11所示。

圖 11:窗口相關實驗

最後,我們在7個文本分類任務上進行了實驗,實驗結果見表3。從表中,可以看到DRNN模型在文本分類任務上效果很好,比同樣是結合RNN與CNN特性的CRNN錯誤率相對下降10-50%。

表格 3:實驗的錯誤率(%)

6

總結

本文主要介紹了一些經典的CNN和RNN模型,以及他們在文本分類中的應用。並根據CNN和RNN的各自特性,提出了DRNN模型,將位置不變性引入到RNN模型中。實驗結果表明,DRNN既具有CNN的位置不變性,又擁有RNN的捕捉長距離依賴的能力,在文本分類任務中取得了很好的效果。

參考文獻

[1] Collobert, Ronan, et al. "Natural language processing (almost) from scratch." Journal of Machine Learning Research 12.Aug (2011): 2493-2537.

[2] Blunsom, Phil, Edward Grefenstette, and Nal Kalchbrenner. "A convolutional neural network for modelling sentences." Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics. Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, 2014.

[3] Kim, Yoon. "Convolutional Neural Networks for Sentence Classification." Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2014.

[4] Conneau, Alexis, et al. "Very deep convolutional networks for text classification." Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers. Vol. 1. 2017.

[5] Yang, Zichao, et al. "Hierarchical attention networks for document classification." Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2016.

[6] Yin, Wenpeng, et al. "Comparative study of cnn and rnn for natural language processing." arXiv preprint arXiv:1702.01923 (2017).

[7] Wang, Baoxin. "Disconnected Recurrent Neural Networks for Text Categorization" Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, 2018

原文:王寶鑫

編輯:李思思

責任編輯:張靜、崔一鳴

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 哈工大訊飛聯合實驗室 的精彩文章:

生成對抗網路GAN簡介

TAG:哈工大訊飛聯合實驗室 |