張菊玲 楊曉梅
摘 要:為了解決傳統(tǒng)的基于機(jī)器學(xué)習(xí)方法的文本分類耗時(shí)耗力、不具備通用性、效果不好的問題及提高短文本分類的效果,文章提出了一種基于多類型池化的卷積神經(jīng)網(wǎng)絡(luò)分類方法。文章首先使用CNN(卷積神經(jīng)網(wǎng)絡(luò))提取短文本的特征信息,然后利用多種類型的池化操作對(duì)提取的特征信息進(jìn)行篩選,得到最終的分類依據(jù)。通過實(shí)驗(yàn)表明,文章提出的方法在短文本分類上要優(yōu)于其他CNN分類模型和一些傳統(tǒng)的機(jī)器學(xué)習(xí)方法。
關(guān)鍵詞:自然語(yǔ)言處理;文本分類;卷積神經(jīng)網(wǎng)絡(luò);特征提取;池化操作
0 引言
文本分類問題是自然語(yǔ)言處理領(lǐng)域中一個(gè)非常經(jīng)典的問題,也是實(shí)際應(yīng)用中管理文本信息的一種重要方法,并在信息過濾、信息組織管理、文本信息異常檢測(cè)、語(yǔ)義辨析和情感分析等領(lǐng)域得到廣泛的應(yīng)用和發(fā)展。本文提出一種基于多類型池化的卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)短文本進(jìn)行分類,實(shí)驗(yàn)結(jié)果表明,基于多類型池化的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在短文本分類上表現(xiàn)效果良好。
1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種前饋神經(jīng)網(wǎng)絡(luò),它是一種深度學(xué)習(xí)的經(jīng)典方法。一般的,CNN的基本結(jié)構(gòu)包括3種類型的網(wǎng)絡(luò)層:卷積層、激活函數(shù)層、池化層。卷積層是CNN中必不可少的一種網(wǎng)絡(luò)層,是構(gòu)成卷積神經(jīng)網(wǎng)絡(luò)的基本框架。在視覺中,卷積層的輸入一般是一個(gè)二維的張量I,相應(yīng)的,在張量I上進(jìn)行卷積操作就需要一個(gè)二維的卷積核K,設(shè)m和n分別為卷積核的長(zhǎng)和寬,且卷積核一般小于輸入張量大小,每個(gè)卷積核的參數(shù)在訓(xùn)練過程中都是通過BP算法[1]優(yōu)化得到的。卷積運(yùn)算是一種特殊的矩陣乘法運(yùn)算,通過公式(1)或公式(2)的卷積運(yùn)算得到包含數(shù)據(jù)信息的特征圖S。
(1)
(2)
由于m和n的有效取值范圍比較小,故一般采用公式(2)的實(shí)現(xiàn)方式。
激活函數(shù)層主要用來(lái)引入非線性因素,常用的激活函數(shù)有ReLU函數(shù)[2]、Tanh函數(shù)等。激活函數(shù)中線性整流單元ReLU是最常用的,其數(shù)學(xué)公式見公式(3)。
(3)
池化是指使用一定區(qū)域的統(tǒng)計(jì)特征來(lái)代替當(dāng)前區(qū)域的操作。池化操作方法一般有最大池化和平均池化,如圖1所示。
2 基于多類型池化的方法
2.1 模型訓(xùn)練基本流程
短文本分類模型在訓(xùn)練過程中一共經(jīng)歷4個(gè)階段,整體模型訓(xùn)練流程如圖2所示。
首先設(shè)置訓(xùn)練迭代次數(shù)Num和訓(xùn)練目標(biāo)e;每次迭代開始,選取一小部分訓(xùn)練數(shù)據(jù)通過詞向量矩陣映射成連續(xù)稠密的連續(xù)詞向量數(shù)組;再將數(shù)據(jù)傳入卷積神經(jīng)網(wǎng)絡(luò)層,進(jìn)行特征提取、組合和特征篩選,得到模型的預(yù)測(cè)結(jié)果;再進(jìn)行反向傳播算法,更新相應(yīng)的神經(jīng)網(wǎng)絡(luò)參數(shù),訓(xùn)練次數(shù)加1,判斷訓(xùn)練次數(shù)是否達(dá)到總訓(xùn)練次數(shù)Num或目標(biāo)是否達(dá)到e。如果上述兩個(gè)條件都沒有達(dá)到就繼續(xù)進(jìn)行模型訓(xùn)練,否則模型訓(xùn)練結(jié)束。
2.2 詞向量
進(jìn)行文本分類時(shí),得到的數(shù)據(jù)是由多個(gè)單詞所組成的多個(gè)語(yǔ)句。顯然這樣的數(shù)據(jù)不能直接拿來(lái)使用,必須要對(duì)它們進(jìn)行處理。傳統(tǒng)的做法是使用one-hot編碼[3]來(lái)對(duì)每個(gè)句子進(jìn)行編碼,假設(shè)詞典的大小為vocab_size,文本中出現(xiàn)的每個(gè)詞都在詞典中,其中第i個(gè)詞用向量x=[0,0, … ,0,1,0, … ,0]表示,向量x中第i位為1,其余位全為0,用one-hot編碼表示文本很簡(jiǎn)單。
如公式(4)所示,word為文本單詞,v為詞向量化后所對(duì)應(yīng)的詞向量,d為向量v的維數(shù):
(4)
2.3 多尺寸卷積
設(shè)卷積前的輸入為xi(i=1,2,…,n),卷積核權(quán)重為wj(j=1,2,…,k),卷積輸出為yj(l=1,2,…,m),L為對(duì)應(yīng)的損失函數(shù),卷積可以分為前向傳播和后向傳播兩個(gè)過程,如公式(5)和(6)所示。
(5)
(6)
本文引入多尺寸的卷積核,在進(jìn)行短文本的卷積時(shí),可以捕獲更多的文本信息。
2.4 多類型池化
卷積層提取到對(duì)應(yīng)的特征信息后,需要對(duì)這些特征信息進(jìn)一步篩選。本文使用多種類型的池化操作對(duì)特征信息篩選。
設(shè)池化前的輸入是xi(i=1,2,…,n),池化核權(quán)重是wj(j=1,2,…,k),池化輸出是yl(l=1,2,…,m),由公式(7)計(jì)算池化輸出。
yj=max(wj×xi)(7)
池化層的作用是固定句子長(zhǎng)度和特征篩選,多類型池化操作如圖3所示。
3 實(shí)驗(yàn)結(jié)果
本文使用上述方法進(jìn)行了TREC數(shù)據(jù)分類,基本學(xué)習(xí)率lr=0.025,衰減系數(shù)=0.95。本文使用stop-early的優(yōu)化技巧,防止模型訓(xùn)練的過擬合。本研究設(shè)置了一組對(duì)比實(shí)驗(yàn),只使用最大池化方式訓(xùn)練的模型Only-maxPooling,只使用平均池化方式訓(xùn)練的模型Only-argPooling和多類型池化方式Multi-typePool(見圖3)。
TREC數(shù)據(jù)集涉及6類不同的問題類型,訓(xùn)練數(shù)據(jù)集包含 5 452條帶標(biāo)簽問題,同時(shí)包含500條測(cè)試問題數(shù)據(jù)。在該數(shù)據(jù)集上,各個(gè)模型表現(xiàn)效果如表1所示。
從實(shí)驗(yàn)結(jié)果可以看出,本文所提出的模型在TREC數(shù)據(jù)集上的表現(xiàn)效果要優(yōu)于其他的網(wǎng)絡(luò)模型。
4 結(jié)語(yǔ)
本文所提出的基于多類型池化的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在短文本分類上相對(duì)于其他CNN系網(wǎng)絡(luò)結(jié)構(gòu)和傳統(tǒng)機(jī)器學(xué)習(xí)方法來(lái)說(shuō)優(yōu)勢(shì)明顯。下一步可以對(duì)數(shù)據(jù)集和詞向量進(jìn)行操作。
[參考文獻(xiàn)]
[1]JAAFAR H, RAMLI N H, NASIR A S A. An improvement to the k-nearest neighbor classifier for ECG database[J].IOP Conference Series Materials Science and Engineering,2018(1):12046.
[2]LI X,GUO Y. Active learning with Multi-Label SVM classi?cation[C]//Beijing:Proceedings of Twenty-Third International Joint Conference on Artificial Intelligence,2013.
[3]ASADI R,REGAN A. A spatial-temporal decomposition based deep neural network for time series forecasting[EB/OL].(2014-11-28)[2018-10-20].https://arxiv.org/pdf/1902.00636.
(編輯?王永超)
Text classification based on multi-type pooling convolution neural network
Zhang Juling, Yang Xiaomei
(School of Information Management, Xinjiang University of Finance and Economics, Urumqi 830000, China)
Abstract:To solve the problems of traditional text classification based on machine learning method, such as time consuming, labor consuming, lack of generality and poor effect, and to improve the effect of short text classification, a CNN(Convolution Neural Network)classification method based on multi-type pooling was proposed. Firstly, CNN is used to extract the feature information of the short text, and then various types of pooling operations are used to screen the extracted feature information to obtain the final classification basis. Experiments show that the short text classification in this paper is superior to other CNN classification models and some traditional machine learning methods.
Key words:natural language processing; text classification; convolutional neural network; feature extraction; pooling operation
基金項(xiàng)目:新疆自然科學(xué)基金項(xiàng)目;項(xiàng)目編號(hào):2019D01A27。新疆財(cái)經(jīng)大學(xué)校級(jí)一般項(xiàng)目;項(xiàng)目編號(hào):2019XYB005。
作者簡(jiǎn)介:張菊玲(1977— ),女,四川簡(jiǎn)陽(yáng)人,副教授,博士;研究方向:大數(shù)據(jù),邏輯綜合,信息安全風(fēng)險(xiǎn)評(píng)估。