劉騰飛,于雙元,張洪濤,尹鴻峰
(1. 北京交通大學 計算機與信息技術學院,北京 100044;2. 北京交通大學海濱學院 計算機科學系,河北 黃驊 061199)
文本分類問題是自然語言處理領域中的一個經典問題,目的是標記出文本所屬的類別。文本分類具有廣泛的應用,如主題標記[1]、情感分類[2,3]等。然而,好的文本表示方法對文本分類等自然語言處理任務的性能起著決定性作用。傳統的文本表示采用詞袋模型(BOW, Bag of Word)或向量空間模型(VSM, Vector Space Model)。詞袋模型不僅失去了文本的上下文信息,還面臨著高緯度、高稀疏性的問題;向量空間模型是在詞袋模型的基礎上,通過特征項提取(如采用文檔頻率、互信息等作為評價標準)進行降低維度,通過特征權重計算(如TF-IDF)來增加稠密性。
近來,基于神經網絡模型的分布表示越來越受歡迎[4,5]。基于神經網絡模型的分布表示稱為詞向量、詞嵌入或分布表示。神經網絡詞向量表示技術通過神經網絡技術對上下文,以及上下文與目標詞之間的關系進行建模[6],這種方法可以將文本映射到低維向量空間中,解決了詞袋模型的高緯度、高稀疏性,避免了維數災難,同時還保留了詞語之間的相關性。用詞向量作為輸入,再用循環網路[6]或卷積網絡[7]對文本進行分類,有很大的性能提升。
本文描述了一個結合了循環網絡和卷積網絡的文本表示和分類網絡模型。在該模型中,我們同樣使用詞向量作為輸入,用循環網絡對文檔進行進一步的表示,然后采用卷積網絡對文檔進行有效的特征提取,再采用 maxSoft 回歸進行分類。循環網絡能夠捕捉到文檔中詞序信息,而卷積網絡能夠很好的提取出有用的特征。我們在六個文本分類任務中測試本文所描述的網絡模型,都取得了比先前的方法更出色的性能。
近年來,隨著硬件性能的提升,深度學習在計算機視覺、自然語言處理等領域中的應用越來越廣泛。在自然語言處理領域中,用神經網絡模型做詞嵌入,用循環網絡、卷積網絡做文本分類任務等都有了很好的發展。
Bengio 等人在[4]中詳細的介紹了一個用三層神經網絡國建語言模型的方法。[8]提出層級的思想替換 Bengio 方法的隱藏層到輸出層矩陣乘法,在效果和 maxSoft 方法持平的情況下,使得計算量減小。[5]介紹了他們的詞向量計算方法,而他們在2011年發表在 JMLR上的論文[9]系統的介紹了他們工作。Huang 等在[10]中對[9]的模型進行改進,使用全文信息輔助已有的局部信息,他的另一個創新點是使用多個詞向量來表示多義詞。Mikolov在2013年的[11]提出了 CBOW 和 Skip-gram兩種模型, 在[12]中提出用負采樣和分級 maxSoft 來提升模型的計算速度。Jeffrey等在 GloVe模型[13]提出用全局“詞-詞”共現矩陣分解得到詞向量的表示方法。
相比于傳統的神經網絡,循環神經網絡允許信息持久化,這使得循環網絡在語音識別,語言模型,機器翻譯等任務上取得了一定的成功。而循環網絡也有有不足:長期依賴問題、梯度消失或梯度爆炸問題。
LSTM(Long-Short Term Memory)是由Hochreiter等人在1997提出[14],在很多領域都得到了廣泛的應用。LSTM 通過刻意的設計來避免長期依賴問題。LSTM也有一些變體,如Cho等人提出的GRU[15],Yao等人提出的Depth Gated RNN[16]等。
卷積神經網絡的概念最早來自科學家提出的感受野。20世紀 80年代科學家提出的神經認知機感念,算是卷積神經網絡的最初的實現。卷積神經網絡在計算機視覺領域的應用取得了巨大的成功。2012年 AlexNet獲得了 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)比賽分類項目的冠軍,使得深度學習成為了熱門的研究方向。而后的幾年里,VGGNet,GoogleNet,ResNet等卷積網絡在圖像處理任務中都取得了巨大的成功。
統的文本分類主要工作有:特征表示、特征提取和分類器的選擇[6]。特征表示主要采用詞袋模型,特征提取采用文檔頻率、互信息等。分類器有Logistic回歸,樸素貝葉斯和支持向量機等。
近年來,隨著深度學習在自然語言處理領域的應用,基于深度學習的文本分類模型得到發展,Yook提出的基于卷積網絡的分類方法[7],Liu等的基于 RNN的文本分類方法[17],Yang等的基于 rnn和attention模型的分類方法[18]和Lai的基于rcnn的文本分類方法[6]等。這些方法在文本分類任務中都取得了很好的性能。
本文描述了一個基于循環和卷積網絡的文本表示和分類模型,模型結構如圖1所示,輸入Cn×k是n×k的矩陣,其中n是文本的最大長度,也是循環網絡的步長,k是詞向量的維度。在做下式(1)變換后,再使用Relu激活函數得到 h r1(式(2)),為了防止過擬合,在此之后加入dropout得到 h rd1(式(3))。最后,用 h rd1作為循環網絡的輸入。

在式(1)中,inW 是輸入層到循環層輸入的轉換矩陣,維度為×ku,其中u是循環層的隱藏單元數,inb 是偏置項。
循環網絡做自然語言處理任務,能夠提取到詞與詞之間的關系。在循環層,本文使用雙向循環網絡,把前向循環輸出和后向循環的輸出級聯作為循環層的輸出。本文使用前向循環和后向循環的輸出級聯作為輸出,而在循環網絡內部,試驗中分別使用的是RNN、LSTM和GRU和細胞單元。其中,前向循環輸出如式(4),后向循環輸出如式(5),循環層最終輸出如式(6)。

在式(4)和式(5)中, Wf和 Wb分別對應的是前向循環和后向循環的當前輸入到輸出的轉移矩陣 Wfc和Wbc分別對應的是前向循環和后向循環的上文或下文到當前輸出的轉移矩陣,c(i- 1)和 c(i +1)分別對應的是前向循環和后向循環的上文或下文信息。
在循環層之后,使用卷積網絡提取特征,使用不同大小的卷積核,每種卷積核選擇100個,最后對每個卷積核卷積的結果再使用最大池化,得到的結果即視為卷積所得到的特征。對于每一個卷積核,每一步卷積操作如式(7),然后對該卷積核的每一步卷積結果做縱向級聯,如式(8),再使用Relu激活函數得到 h r3。

在式(7)中,cW 是對應的卷積核。
在卷積過后,使用最大池化層提取重要特征。池化層如式(10)。

同樣的,為防止過擬合,在池化層之后,加入dropout得到3hrpd (式(11))。

在此之后,是全連接層,如式(12),其中fcW和fcb 分別對應的是轉移矩陣和偏置項。然后使用Relu激活函數得到4hr(式(13)),再后是dropout得到4hrd (式(14))。

輸出層也是一個全連接層,如式(15),其中oW和ob分別對應隱藏層到輸出層的轉移矩陣和偏置項。

最后,使用 maxSoft 函數計算模型輸出的預測所屬的類別的概率, maxSoft 函數如式(16),最后的ip即是模型預測的文本是屬于類別i的概率。

本節主要介紹試驗使用的數據集、實驗設置和對實驗結果進行對比分析。
我們使用六個文本分類任務數據集來測試本文描述的模型,這些數據集的概要如表1。

表1 據集概要Tab.1 A summary of the datasets
MR①http://www.cs.cornell.edu/people/pabo/movie-review-data/:MR(Movie reviews)是Pang等人標注的用于情感分類的電影評論數據集[3],每個一句話是一個評論。該數據集分為正/負兩類評論,是二分類任務數據集,共有 10662個評論,正/負評論各5331個。
Subj②http://www.cs.cornell.edu/people/pabo/movie-review-data/:Sub(Subjectivity)是一個包含 5000個主觀和5000個客觀句子的情感分析數據集,最早有Pang 使用[3]。
SST③https://nlp.stanford.edu/sentiment/:SST(Stanfod Sentiment Treebank)是由Socher 等人標注并發布[19],是MR的擴展。該數據集一共包括11855條電影評論,被標注為五類(非常正面、正面、中立、負面和非常負面)。該數據集提供已經被分割好的訓練集(8544)、驗正集(1101)和測試集(2210)。
SST2:在SST2中,去除SST中的中立評論,并且把非常正面和正面合并為正面,把非常負面和負面合并為負面。
詩意美是《雨巷》最為突出的特點之一。“藝術作品的形式美,歸根結底,也正是這樣一種生命感應的產物”。詩歌作為一種充滿藝術性的作品形式,與其他體裁相比,簡潔而又含蓄,卻能將作者的心緒、感受完美地詮釋;精練的語言,短小的篇幅,卻能引人遐想。
IMDB④http://ai.stanford.edu/~amaas/data/sentiment/:IMDB數據集是一個二分類的情感分析數據集,包括50000個樣例,訓練集和測試集各25000個樣例,是由Maas等人標注發布[2]。
TREC⑤http://cogcomp.cs.illinois.edu/Data/QA/QC/:TREC是由Li等人完成標注的問題分類任務數據集[20],該數據集分為訓練集和測試集,其中訓練集又隨機分為1000、2000、3000、4000和5500個樣例的訓練集,本文使用的是包含 5500個訓練樣例的訓練集。
1. 詞向量:本文所用的詞向量是[12]在有1000億的英文單詞的GoogleNews上訓練得到的詞向量。該詞向量是使用CBOW(continuous bag-of-words)模型結構訓練得到的,詞向量的維度是 300。對用在上述詞向量中沒有出現的詞,隨機初始化生成得到300的向量作為該詞對應的詞向量。
2. 權重初始化:訓練中的所有權重隨機初始化為標準差為0.1的正態分布隨機數。偏置項初始化為0.1。
3. 訓練參數:在實驗中,我們采用Adam優化方法來訓練我們的模型,學習率設置為0.001。對于全連接層,使用 2L正則化方法來防止過擬合,系數設置為0.0001。Dropout的系數設置為0.5。輸入批次為64,循環層隱藏單元為128,對于卷積層,使用卷積核大小分別為3、4和5的卷積核,每個大小的卷積核為100個。
4. 模型變體:在我們的試驗中,循環網絡使用了不同的細胞,得到如下四種模型:
· BRCNN(RNN cell):循環層的循環體使用的是基本的RNN循環細胞。
· BRCNN(LSTM cell):循環層的循環體使用的是基本的LSTM細胞。
如表2,我們分別和12種先前先進的方法進行對比:
· CNN-static、CNN-non-static 和 CNN-multichannel[7]:Kim等采用CNN卷積網絡對文本分類。其中,CNN-static即在訓練過程中輸入詞向量不做改變,CNN-non-static是在訓練過程中對詞向量進行修改,而CNN- multichannel是采用多通道進行卷積。
· RCNN[6]:Lai等提出的使用雙向循環網絡對文本分類。對循環網絡的前向輸出、詞向量和循環網絡后向輸出進行級聯作為循環網絡的輸出,取最大池化后的輸出再使用 Softmax回歸對文本進行分類。
· RNTN[19]: Socher等人提出的基于張量特征函數和解析樹的遞歸神經張量網絡。
· DCNN[20]:Kalchbrenner等人使用 k最大池化的動態卷積網絡。
· Paragraph-Vec[21]:Le等人使用段落向量的邏輯回歸分類方法。
· MNB、NBSVM[1]:Wang使用的方法,其中MNB是多項式樸素貝葉斯分類方法,NBSVM是結合了樸素貝葉斯和支持向量機的分類方法。
· G-Dropout、F-Dropout[1]:Wang 使用的方法,其中 G-Dropout是高斯 Droupou分類方法,F-Dropout是快速Dropout分類方法。
· SVM[22]:是 Silva等人提出的基于支持向量機的分類方法。
本文分別在 4.1所述的六文本分類任務數據集上測試本文提出的文本分類模型,并和先前的先進方法進行比較分析,如表2。
1. 對比表2中的實驗結果,基于RNN cell的模型在六個文本分類任務中只取得了和先前先進的方法相當的性能,而基于LSTM cell和GRU cell的模型在六個文本分類任務中都取得了不錯的性能,其中在MR、Subj、SST和TREC任務中比先前的分類模型取得了更高的精確度,而在SST2和IMDB分類任務中也取得了和先前的門類模型相當的性能。
2. 對比基于RNN cell、LSTM cell和GRU cell的模型。基于 RNN cell的模型的性能低于基于LSTM cell和GRU cell的模型。而基于LSTM cell和GRU cell的模型取得相當的性能。這可能是由于循環網絡的長期依賴等問題影響了RNN的性能,而LSTM模型解決了RNN的長期依賴問題,所以取得了更好的性能,GRU是LSTM的一個變體,所以也能取得和LSTM相當的性能。
表2實驗結果對比。其中,對比方法的結果直接取自對應的論文中的結果。
本文介紹了基于循環和卷積網絡的文本表示和分類模型,通過實驗分析,表明我們的模型能夠很好的完成文本分類任務。卷積層能夠得到文本的上下文信息,卷積層能夠很好的提取特征,在分類任務上能夠得到不錯的性能。

表2 實驗結果對比Tab.2 Results for the datasets
然而,在我們的試驗中,我們只是做了簡單的參數調整,在未來的工作中,可以參考[23]采用參數隨機搜索,或參考[24]使用貝葉斯優化方法得到更好的參數來提高我們的模型的性能。
同樣的,我們還可以使用GloVe等其他詞向量模型訓練的詞向量來測式我們的模型。
[1] Wang S, Manning C D. Baselines and bigrams: Simple, good sentiment and topic classification[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2. Association for Computational Linguistics, 2012: 90-94.
[2] Maas A L, Daly R E, Pham P T, et al. Learning word vectors for sentiment analysis[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies-Volume 1. Association for Computational Linguistics, 2011: 142-150.
[3] Pang B, Lee L. Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales[C]//Proceedings of the 43rd annual meeting on asso-ciation for computational linguistics. Association for Computational Linguistics, 2005: 115-124.
[4] Bengio Y, Ducharme R, Vincent P, et al. A neural probabilistic language model[J]. Journal of machine learning research,2003, 3(Feb): 1137-1155.
[5] Collobert R, Weston J. A unified architecture for natural language processing: Deep neural networks with multitask learning[C]//Proceedings of the 25th international conference on Machine learning. ACM, 2008: 160-167.
[6] Lai S, Xu L, Liu K, et al. Recurrent Convolutional Neural Networks for Text Classification[C]//AAAI. 2015, 333:2267-2273.
[7] Kim Y. Convolutional Neural Networks for Sentence Classification[J]. Eprint Arxiv, 2014.
[8] Mnih A, Hinton G E. A scalable hierarchical distributed language model[C]//Advances in neural information processing systems. 2009: 1081-1088.
[9] Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(Aug): 2493-2537.
[10] Huang E H, Socher R, Manning C D, et al. Improving word representations via global context and multiple word prototypes[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Long Papers-Volume 1. Association for Computational Linguistics, 2012:873-882.
[11] Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013a.
[12] Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in neural information processing systems. 2013b: 3111-3119.[13] Pennington J, Socher R, Manning C D. Glove: Global Vectors for Word Representation[C]//EMNLP. 2014, 14: 1532-1543.
[14] Hochreiter S, Schmidhuber J. Long short-term memory[J].Neural computation, 1997, 9(8): 1735-1780.
[15] Cho K, Van Merri?nboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv: 1406.1078, 2014.
[16] Yao K, Cohn T, Vylomova K, et al. Depth-Gated Recurrent Neural Networks[J]. arXiv preprint arXiv:1508.03790, 2015.
[17] Liu P, Qiu X, Huang X. Recurrent neural network for text classification with multi-task learning[J]. arXiv preprint arXiv:1605.05101, 2016.
[18] Yang Z, Yang D, Dyer C, et al. Hierarchical attention networks for document classification[C]//Proceedings of NAACL-HLT. 2016: 1480-1489.
[19] Socher R, Perelygin A, Wu J Y, et al. Recursive deep models for semantic compositionality over a sentiment treebank[C]//Proceedings of the conference on empirical methods in natural language processing (EMNLP). 2013, 1631: 1642.
[20] Kalchbrenner N, Grefenstette E, Blunsom P. A convolutional neural network for modelling sentences[J]. arXiv preprint arXiv:1404.2188, 2014.
[21] Le Q, Mikolov T. Distributed representations of sentences and documents[C]//Proceedings of the 31st International Conference on Machine Learning (ICML-14). 2014: 1188-1196.
[22] Silva J, Coheur L, Mendes A C, et al. From symbolic to sub-symbolic information in question classification[J]. Artificial Intelligence Review, 2011, 35(2): 137-154.
[23] Bergstra J, Bengio Y. Random search for hyper-parameter optimization[J]. Journal of Machine Learning Research, 2012,13(Feb): 281-305.
[24] Snoek J, Larochelle H, Adams R P. Practical bayesian optimization of machine learning algorithms[C]//Advances in neural information processing systems. 2012: 2951-2959.