高云龍 左萬利 王 英 王 鑫
1(吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 長(zhǎng)春 130012)
2(符號(hào)計(jì)算與知識(shí)工程教育部重點(diǎn)實(shí)驗(yàn)室(吉林大學(xué)) 長(zhǎng)春 130012)
3(長(zhǎng)春工程學(xué)院計(jì)算機(jī)技術(shù)與工程學(xué)院 長(zhǎng)春 130012)
(1458299660@qq.com)
句子是傳遞人類意見、情感等語義的一種基本的語言表示形式.在自然語言處理中,句子模型[1]是句子語義、情感分析以及句子分類的有效工具.傳統(tǒng)句子模型的構(gòu)建往往基于語言的文法(產(chǎn)生句子的規(guī)則),即句法驅(qū)動(dòng)的句子模型構(gòu)建:根據(jù)文法,構(gòu)建句子對(duì)應(yīng)的分析樹,從而理解句子的層次化結(jié)構(gòu).由于不同語言的句法通常并不一致,且一個(gè)句子的語義并非是句子各個(gè)部分語義的簡(jiǎn)單組合[2],因此句法驅(qū)動(dòng)的句子模型的構(gòu)建往往有很大的局限性.基于深度學(xué)習(xí)網(wǎng)絡(luò)構(gòu)建的句子模型,不依賴于特定語言的句法,其輸入往往為句子中每個(gè)詞的詞向量,神經(jīng)網(wǎng)絡(luò)根據(jù)其學(xué)習(xí)的特征函數(shù)從詞向量中提取特征,所提取的特征作為原始句子的高層次的抽象,可以用于句子語義分析或者句子分類.
深度學(xué)習(xí)網(wǎng)絡(luò)在計(jì)算機(jī)視覺、語音識(shí)別等領(lǐng)域中已經(jīng)取得了巨大的成功[3];在自然語言處理領(lǐng)域,深度學(xué)習(xí)網(wǎng)絡(luò)雖然沒有取得系統(tǒng)性的突破,但也得到很多研究人員的廣泛關(guān)注[4].目前,在句子分類領(lǐng)域的大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)模型(convolutional neural networks, CNNs)中,卷積層的輸入特征map是通過人工選擇的,雖然取得了較好的效果,但往往偏離最優(yōu)值.基于以上研究,本文提出一個(gè)基于稀疏自學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)(sparse and self-taught CNN, SCNN)的句子分類模型,實(shí)現(xiàn)了卷積層自動(dòng)學(xué)習(xí)輸入組合的功能,并首次應(yīng)用于句子分類問題中.主要貢獻(xiàn)包括2個(gè)方面:
1) 在模型訓(xùn)練過程中,通過自學(xué)習(xí)策略,讓卷積層自己學(xué)習(xí)特征map的輸入組合,在一定程度上排除了人為因素的干擾;
2) 在卷積層,利用L1范數(shù)為模型增加稀疏性約束,使得神經(jīng)元節(jié)點(diǎn)在大部分的時(shí)間內(nèi)都是處于被抑制的狀態(tài),進(jìn)而使得模型在復(fù)雜度和泛化誤差之間達(dá)到平衡.
通過與4種基本的句子分類模型進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明:在所使用的4組英文數(shù)據(jù)集中,SCNN模型可以有效地用于提取數(shù)據(jù)特征,在句子分類方面均取得較優(yōu)的效果.
通常來講,句子模型是人類理解自然語言的重要基礎(chǔ),是計(jì)算機(jī)處理句子語義和情感分析以及句子分類等自然語言處理工作的有效工具.句子分類模型的構(gòu)建本質(zhì)上是學(xué)習(xí)語句數(shù)據(jù)所包含的特征[5],按照所提取特征的不同,本文將句子分類模型分為2種:基于語言學(xué)特征的句子分類模型和基于神經(jīng)網(wǎng)絡(luò)的句子分類模型.
基于語言學(xué)特征的句子分類模型往往提取與語言相關(guān)的特征.大量的相關(guān)研究證明模型所學(xué)習(xí)的語言學(xué)特征對(duì)于自然語言處理能夠提供十分重要的價(jià)值[6].多年來,研究學(xué)者提出了許多類型的語言學(xué)特征. Pang等人[7]提出使用N-grams特征可以有效地識(shí)別影評(píng)的極性,其中,Unigram特征的效果最佳;Turney[8]提出5種無監(jiān)督的基于句法的句子模型,可以有效地用于提取句子的情感信息,進(jìn)而處理句子情感分類問題;Yang等人[9]提出基于語句上下文語境的模型CRF-PR,可以有效地整合局部以及全局的語句上下文信息,并利用帶有語言學(xué)特征的正則化因子訓(xùn)練CRF模型,在情感分類問題上取得較好的效果;Wang等人[10]利用詞語bigram特征訓(xùn)練NB和SVM模型,在句子或文本主題分類問題中取得一致的較好的效果;Silva等人[11]使用多組基于語言學(xué)的特征(uni-bi-trigram, wh word, head word, POS, parse, hypernyms)訓(xùn)練SVM模型,可以有效地用于問題分類.基于語言學(xué)特征的句子分類模型也存在著許多不足[12]:1)提取特征是十分費(fèi)時(shí)的,其消耗往往隨著數(shù)據(jù)集規(guī)模的變大而呈現(xiàn)指數(shù)型增加;2)模型所提取的語言學(xué)特征具有局限性,缺乏實(shí)質(zhì)性的實(shí)驗(yàn)數(shù)據(jù)表明它們對(duì)于不同類型的數(shù)據(jù)集均顯示出良好的有效性.
近年來,一些基于數(shù)據(jù)驅(qū)動(dòng)的模型相繼被提出.其中,基于神經(jīng)網(wǎng)絡(luò)的句子分類模型將神經(jīng)網(wǎng)絡(luò)模型與分類模型進(jìn)行有效的組合,在句子分類問題上往往較傳統(tǒng)的機(jī)器學(xué)習(xí)算法或者基于語言學(xué)的句子分類模型都表現(xiàn)出良好的效果.Kim[13]首次將卷積神經(jīng)網(wǎng)絡(luò)CNN應(yīng)用到句子模型的構(gòu)建中,并提出了幾種變形;Kalchbrenner等人[14]提出一種動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)(dynamic convolutional neural network, DCNN)的網(wǎng)絡(luò)模型,由一維的卷積層以及動(dòng)態(tài)的K-Max池化層構(gòu)成,卷積層采用的是廣義卷積,可以處理變長(zhǎng)的句子;Hu等人[15]利用CNN網(wǎng)絡(luò)研究句子匹配的問題,提出多個(gè)卷積層實(shí)現(xiàn)的是提取句子中不同組合的語義信息,而池化層則過濾掉置信度較低的特征;He等人[16]采用多種不同類型的卷積和池化來實(shí)現(xiàn)對(duì)句子的特征表示,并利用所學(xué)習(xí)到的特征表示構(gòu)建句子相似度模型.基于神經(jīng)網(wǎng)絡(luò)的句子分類模型由于使用詞向量數(shù)據(jù),并且不依賴于特定語言的句法,因此在不同類型的數(shù)據(jù)集或者不同的語言中都顯示出良好的擴(kuò)展性和有效性.
Fig. 1 Structure of the SCNN model圖1 SCNN模型結(jié)構(gòu)圖
本文提出的基于稀疏自學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)句子分類模型SCNN共有5層(不含輸入層),如圖1所示.利用Word2vec工具,將語料庫中的句子轉(zhuǎn)換為詞向量矩陣,并作為模型SCNN的輸入,卷積層在詞向量矩陣的每一行上進(jìn)行一維卷積,并采用廣義卷積,池化層采用K-Max Pooling,選擇每一行中較大的K個(gè)特征,并同時(shí)維護(hù)特征相對(duì)位置不變;第3層(卷積層)自學(xué)習(xí)前一層特征map的輸入組合,排除人為因素,同時(shí)在訓(xùn)練過程中增加稀疏性約束;第4層(池化層)輸出全連接到softmax層,利用提取的特征訓(xùn)練分類器.
與現(xiàn)有處理句子分類的卷積神經(jīng)網(wǎng)絡(luò)模型相比,SCNN模型的第3層(卷積層)充分基于自學(xué)習(xí)和稀疏性思想,即不人為約定卷積層節(jié)點(diǎn)的輸入,通過訓(xùn)練使得節(jié)點(diǎn)可以動(dòng)態(tài)學(xué)習(xí)前一層輸入的有效組合,從而可以動(dòng)態(tài)捕獲句子范圍內(nèi)各個(gè)特征的關(guān)聯(lián).如圖1所示的SCNN模型中,訓(xùn)練結(jié)果顯示第2層的第1個(gè)特征矩陣對(duì)于第3層的2個(gè)特征map均產(chǎn)生作用,而第2個(gè)特征矩陣只對(duì)第3層的第2個(gè)特征map產(chǎn)生作用,從而使得卷積層學(xué)習(xí)到不同的特征表示.
在圖1所示的模型中,輸入句子長(zhǎng)度s=7,其對(duì)應(yīng)的詞向量矩陣維度為4×7;第1層廣義卷積操作(卷積核維度m=2)得到該層的feature map,維度為4×8;池化層選取對(duì)應(yīng)卷積層feature map每一維的最大的K個(gè)特征,得到池化層的特征矩陣,維度為4×5;第3層(卷積層)采用稀疏自學(xué)習(xí)前一層特征矩陣的輸入組合,特征矩陣的維度為4×6;第4層(池化層)同樣選取前一層每一維度最大的K個(gè)特征,得到的特征矩陣將作為一個(gè)輸入向量輸入到softmax分類器中,從而實(shí)現(xiàn)對(duì)句子分類.
卷積是卷積神經(jīng)網(wǎng)絡(luò)CNN重要的特征之一.卷積層以特征map為組織結(jié)構(gòu),其中的每一個(gè)單元與前一層的局部感受野相連,利用共享的卷積核與局部感受野作卷積運(yùn)算,再經(jīng)過非線性函數(shù)(如Sigmoid,ReLU)作用,得到特征值[17]. 通常來說,卷積指的是狹義上的卷積,即對(duì)于某一句子輸入c∈s,一維卷積核k∈m,且滿足s≥m,我們得到式(1),卷積結(jié)果c′∈s-m+1:
cj′=kTcj:j+m, 0≤j≤s-m+1.
(1)
為了使得卷積核可以作用到整個(gè)輸入句子向量上,包括句子邊緣上的詞,Kalchbrenner等人[14]提出一種廣義卷積運(yùn)算,也稱寬卷積.廣義卷積不要求s與m的大小關(guān)系,同時(shí)保證卷積輸出c′不為空向量.如表達(dá)式(2)所示,c′∈s+m-1,當(dāng)j<0或者j>s時(shí),cj=0:
cj′=kTcj:j+m, -m+1≤j≤s.
(2)
由式(1)(2)可知,狹義卷積結(jié)果為廣義卷積結(jié)果的一個(gè)子集,廣義卷積是狹義卷積的一種擴(kuò)展,它充分考慮了各種可能存在的特征,從而最大程度上保證所提取特征的多樣性.
一個(gè)長(zhǎng)度為s的句子對(duì)應(yīng)一個(gè)詞向量矩陣Xn ×s,其中n為句子中每個(gè)詞的詞向量長(zhǎng)度.詞向量是通過語料庫訓(xùn)練Word2vec模型得到的,設(shè)置維度n=200,對(duì)于未出現(xiàn)在語料中的詞,其詞向量采用隨機(jī)取值進(jìn)行初始化.將詞向量矩陣輸入SCNN,廣義卷積后卷積層的每一個(gè)節(jié)點(diǎn)都可以生成一個(gè)大小為n×(s+m-1)的特征map.
3.2.1 自學(xué)習(xí)特征組合
一般而言,卷積層l的每一個(gè)節(jié)點(diǎn)與l-1層的若干節(jié)點(diǎn)相關(guān)聯(lián),通過卷積核與相關(guān)聯(lián)的節(jié)點(diǎn)的輸出特征map相卷積,再對(duì)卷積結(jié)果求和,得到其特征map,相關(guān)聯(lián)的節(jié)點(diǎn)通常是人為約定的.這樣,l層第j個(gè)輸出特征map可以表示為
(3)
為了排除人為因素對(duì)于最優(yōu)結(jié)果產(chǎn)生的偏移,我們嘗試讓模型在訓(xùn)練過程中自己學(xué)習(xí)最佳的輸入特征組合.參數(shù)αi j表示在得到第j個(gè)節(jié)點(diǎn)的輸出map時(shí)l-1層的第i個(gè)節(jié)點(diǎn)的貢獻(xiàn)值,得到:
(4)
進(jìn)一步地,我們可以將αi j表示為一組無約束的隱含參數(shù)βi j,通過使用軟最大函數(shù),我們得到:
(5)
在迭代優(yōu)化模型參數(shù)時(shí),需要計(jì)算參數(shù)變量的梯度.SCNN模型總誤差E對(duì)于參數(shù)αi j的導(dǎo)數(shù)為
(6)
其中,θl為第l層的靈敏度矩陣.
基于鏈?zhǔn)揭?guī)則,我們進(jìn)一步可以得到誤差對(duì)于隱含參數(shù)變量βi j的導(dǎo)數(shù)為
3.2.2 稀疏性約束
由式(4)可知,對(duì)于l-1層的所有輸入特征map,都會(huì)在l層節(jié)點(diǎn)的輸出map中產(chǎn)生一定的貢獻(xiàn)值.為了限定只有某幾個(gè)輸入特征map是有效的,我們可以通過使用L1范數(shù)增加稀疏性限制,使得對(duì)于大部分i,有αi j=0.
重寫誤差函數(shù)為
(8)
(9)
進(jìn)一步對(duì)于βi j的導(dǎo)數(shù)為
(10)
所以,最終誤差函數(shù)對(duì)于βi j的梯度計(jì)算為
(11)
3.2.3 稀疏自學(xué)習(xí)算法描述
基于以上分析,本文給出SCNN模型稀疏自學(xué)習(xí)算法的抽象描述:
算法1. 稀疏自學(xué)習(xí)算法.
輸入:特征矩陣X;
輸出:卷積層參數(shù),包括卷積核K、偏置b、標(biāo)識(shí)矩陣β;
初始化:隨機(jī)設(shè)置矩陣K,b,β和theta的值.
步驟1. 設(shè)置迭代次數(shù)iter=0;
步驟2. 將矩陣K,b,β和theta分別轉(zhuǎn)換成一維向量,并將其連接成一個(gè)長(zhǎng)向量W;
步驟3. 根據(jù)函數(shù)1計(jì)算卷積層誤差E′和梯度向量grad;
步驟4. 使用擬牛頓法優(yōu)化向量W;
步驟5.iter=iter+1;
步驟6. 如果iter<1 000,轉(zhuǎn)到步驟3;
步驟7. 由向量W構(gòu)造矩陣K,b,β,得到該卷積層參數(shù).
進(jìn)一步地,本文給出函數(shù)calculate_cost_grad形式化描述:
函數(shù)1.calculate_cost_grad.
輸入:一維向量W;
輸出:模型誤差E′和梯度向量grad.
步驟1. 根據(jù)式(5)計(jì)算αi j;
步驟2. 根據(jù)式(4)計(jì)算卷積層特征矩陣Xc;
步驟3. 計(jì)算池化層特征矩陣Xp;
步驟4.Xout=thetaT·Xp;
步驟6. 根據(jù)式(8)計(jì)算誤差E′;
步驟8. 根據(jù)神經(jīng)網(wǎng)絡(luò)模型反向傳播算法計(jì)算誤差E′對(duì)于K,b,theta的導(dǎo)數(shù),并將其連接成一個(gè)長(zhǎng)梯度向量grad;
步驟9. 返回模型誤差E′和梯度向量grad.
為了驗(yàn)證模型的有效性,本文采用如下4種標(biāo)準(zhǔn)的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),語料庫均可通過開源網(wǎng)站獲得:
1) MRD(movie review data*http://www.cs.cornell.edu/people/pabo/movie-review-data).電影評(píng)論語料庫,每個(gè)句子作為1條影評(píng),共有正面、反面2種類別標(biāo)簽.
2) SST(stanford sentiment treebank*http://nlp.stanford.edu/sentiment/).情感分類語料庫是MRD語料庫的擴(kuò)展,共有5種類別標(biāo)簽,分別為:very positive, positive, neutral, negative, very negative.
3) TREC(trec question dataset*http://cogcomp.cs.illinois.edu/Data/QA/QC/).問題分類語料庫,問題標(biāo)簽共有6種(about person, location, numeric information, etc),用于將問題指定某一具體的類型.
4) CR(customer reviews*http://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html).顧客評(píng)論語料庫,關(guān)于產(chǎn)品的正面和反面的二元分類語料庫.
語料庫相關(guān)說明和具體參數(shù)如表1所示.
Word2vec是一款高效的用于將詞表示為詞向量的工具[18],實(shí)驗(yàn)通過使用Python爬蟲程序抓取的包含有10億數(shù)量級(jí)的英文詞語的語料庫訓(xùn)練Word2vec模型,得到詞匯的數(shù)量特征表示;卷積層非線性函數(shù)為Sigmoid;池化層K值通過10-fold交叉驗(yàn)證實(shí)驗(yàn),在按照經(jīng)驗(yàn)給出的范圍內(nèi)選擇使得泛化誤差最低的取值;優(yōu)化算法選擇擬牛頓法.
Table 1 Specific Parameters of the Corpus表1 語料庫具體參數(shù)
Notes:Cis number of target classes;Lis average sentence length;Nis dataset size; |V| is vocabulary size;Testis test set size (CV means there was no standard train/test split and thus 10-fold CV was used).
4.2.1 池化層K值選取對(duì)模型的影響
K-Max Pooling是Max Pooling的擴(kuò)展,用于選取特征map上最大的K個(gè)數(shù)值特征.K值選取的合適與否在一定程度上影響著實(shí)驗(yàn)的效果,通過10-fold交叉驗(yàn)證試驗(yàn)我們得到如圖2所示的實(shí)驗(yàn)結(jié)果.
通過圖2可知,對(duì)于不同的數(shù)據(jù)集,K值對(duì)于實(shí)驗(yàn)的泛化誤差的影響并不一致:對(duì)于平均句子長(zhǎng)度為10的數(shù)據(jù)集TREC,K=8時(shí)交叉驗(yàn)證實(shí)驗(yàn)得到的泛化誤差最低;而對(duì)于平均句子長(zhǎng)度分別為18,19,20的數(shù)據(jù)集SST,CR,MRD,K=13時(shí)泛化誤差分別達(dá)到最低值.實(shí)驗(yàn)結(jié)果表明:模型所提取的特征的個(gè)數(shù)往往要受限于數(shù)據(jù)集中句子的平均長(zhǎng)度,特征個(gè)數(shù)設(shè)置過低,模型容易欠擬合,導(dǎo)致模型不能準(zhǔn)確學(xué)習(xí)數(shù)據(jù)集合中的真實(shí)規(guī)律;特征個(gè)數(shù)設(shè)置過高,則模型容易過擬合,從而造成模型的泛化能力過低.
4.2.2 稀疏自學(xué)習(xí)與非稀疏策略對(duì)模型的影響
本文提出的基于稀疏自學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)的句子模型SCNN,旨在卷積層可以在訓(xùn)練時(shí)自己學(xué)習(xí)最佳的輸入特征map的組合,代替將前一層全部的特征map作為下一層的輸入,采用“軟”概率參數(shù)αi j作為輸入的貢獻(xiàn)值,并使用L1范數(shù)增加稀疏性限制,從而降低模型的復(fù)雜度.
Fig. 2 Influence of K on generation error圖2 K值對(duì)于泛化誤差的影響
模型選擇的典型方法是正則化.正則化是結(jié)構(gòu)風(fēng)險(xiǎn)最小化策略的實(shí)現(xiàn),是在經(jīng)驗(yàn)風(fēng)險(xiǎn)上加一個(gè)正則化項(xiàng)或者罰項(xiàng).SCNN模型通過使用L1范數(shù)調(diào)節(jié)模型的復(fù)雜度.其中正則化參數(shù)q可以用于選擇經(jīng)驗(yàn)風(fēng)險(xiǎn)與模型復(fù)雜度同時(shí)較小的模型.圖3顯示了q值選取的不同對(duì)于SCNN模型泛化誤差的影響.通過實(shí)驗(yàn)結(jié)果可知:當(dāng)q值較小時(shí),表現(xiàn)為SCNN模型的復(fù)雜度較低,此時(shí)SCNN模型呈現(xiàn)出欠擬合狀態(tài),所學(xué)習(xí)到的特征無法作為模型輸入的抽象表示;當(dāng)q值較大時(shí),通常表現(xiàn)為SCNN模型的復(fù)雜度較高,此時(shí)SCNN模型呈現(xiàn)出過擬合的狀態(tài),泛化能力較低,從而導(dǎo)致泛化誤差較高.
將SCNN模型與非稀疏模型卷積網(wǎng)絡(luò)句子模型進(jìn)行對(duì)比,我們得到如圖4所示的實(shí)驗(yàn)結(jié)果:
Fig. 4 Accuracy comparison between the models圖4 SCNN與非稀疏模型準(zhǔn)確率對(duì)比
Fig. 5 Experimental results comparison on sentence classification of the models圖5 SCNN模型與其他句子分類模型實(shí)驗(yàn)對(duì)比
好的特征具有不變性和可區(qū)分性[19],而人工約定卷積層輸入組合往往并不能讓模型學(xué)習(xí)到好的特征,從而偏離最優(yōu)值;SCNN在訓(xùn)練模型時(shí)(池化層K值對(duì)應(yīng)4.2.1節(jié)最優(yōu)值,正則化參數(shù)q=0.005)自學(xué)習(xí)較好的輸入特征map組合,從而更加接近最優(yōu)值,因此能在測(cè)試集上顯示出更好的泛化能力;此外,和人腦神經(jīng)網(wǎng)絡(luò)類似,稀疏性的表達(dá)往往比其他表達(dá)方式更為有效[20],SCNN通過加入稀疏性約束,可以使得在同一時(shí)刻網(wǎng)絡(luò)中大部分神經(jīng)元都處于被抑制的狀態(tài),而只有少數(shù)幾個(gè)神經(jīng)元處于被激活的狀態(tài).由圖4可知,在4組語料庫中,SCNN模型在準(zhǔn)確率方面均優(yōu)于非稀疏模型.
在時(shí)間使用方面,實(shí)驗(yàn)結(jié)果顯示:由于非稀疏模型訓(xùn)練較少的參數(shù),時(shí)間消耗普遍低于SCNN模型,具體時(shí)間消耗情況如表2所示:
Table 2 Time Comparison Between the Models表2 模型時(shí)間使用對(duì)比 min
4.2.3 SCNN與其他模型比較
本文最后將SCNN模型與其他句子分類模型進(jìn)行對(duì)比,實(shí)驗(yàn)對(duì)比折線圖如圖5所示.由實(shí)驗(yàn)結(jié)果可知,SCNN模型具有較好的泛化能力,實(shí)驗(yàn)結(jié)果優(yōu)于大部分模型.CNN-non-static[13]在模型訓(xùn)練過程中把輸入句子的詞向量矩陣作為可調(diào)參數(shù);CNN-multi-channel[13]將不可調(diào)參的輸入句子詞向量矩陣與可動(dòng)態(tài)調(diào)參的輸入句子詞向量矩陣共同作為模型的2個(gè)輸入;DCNN[14]在池化層引入動(dòng)態(tài)的K-Max pooling策略選擇K個(gè)最大的特征值.但以上3個(gè)基于神經(jīng)網(wǎng)絡(luò)的句子分類模型均是人為設(shè)置卷積層的輸入組合,SCNN模型通過稀疏自學(xué)習(xí)輸入特征map的有效組合,可以改善卷積層所提取的數(shù)值特征,從而提高了分類器的準(zhǔn)確率.SVMs[11]通過使用 uni-bi-trigrams, wh word, POS, parser 等基于語言學(xué)的特征,利用SVM模型在TREC數(shù)據(jù)集上取得較基于神經(jīng)網(wǎng)絡(luò)的句子分類模型更好的分類效果.
本文基于卷積神經(jīng)網(wǎng)絡(luò)模型之上,提出稀疏自學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)的句子分類模型SCNN,可以有效地在訓(xùn)練過程中學(xué)習(xí)輸入特征map的組合,排除人為約定因素,更好地提取數(shù)據(jù)特征,提高分類精準(zhǔn)度;此外,利用L1范數(shù)可以有效地限制模型的復(fù)雜度,從而避免欠擬合問題所帶來的負(fù)面影響.通過與其他模型進(jìn)行實(shí)驗(yàn)對(duì)比,在多組數(shù)據(jù)集上取得了較好的分類效果,驗(yàn)證了SCNN模型的有效性.
將來,我們將進(jìn)一步考慮把從語料庫中提取的語言學(xué)特征作為先驗(yàn)知識(shí)加入到本文所提出的模型中,以充分利用兩者的優(yōu)點(diǎn)達(dá)到增強(qiáng)分類效果的目的.總的來說,本文的工作為句子分類問題提供了一個(gè)可行的解決方案,為今后的自然語言處理研究提供了新的思想和方向.
[1] Zhang Rui, Lee H, Radev D. Dependency sensitive convolutional neural networks for modeling sentences and documents[C] //Proc of the 15th Conf of the North American Chapter of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2016: 1512-1521
[2] Galitsky B A, De La Rosa J L, Dobrocsi G. Inferring the semantic properties of sentences by mining syntactic parse trees[J]. Data and Knowledge Engineering, 2012, 81: 21-45
[3] Guo Yanming, Liu Yu, Oerlemans A, et al. Deep learning for visual understanding: A review[J]. Neurocomputing, 2016, 187: 27-48
[4] Chen Xinchi, Qiu Xipeng, Zhu Chenxi, et al. Sentence modeling with gated recursive neural network[C] //Proc of Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2015: 793-798
[5] Zhao Jingling, Zhang Huiyun, Cui Baojiang. Sentence similarity based on semantic vector model[C] //Proc of the 9th Int Conf on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC). Piscataway, NJ: IEEE, 2014: 499-503
[6] Chenlo J M, Losada D E. An empirical study of sentence features for subjectivity and polarity classification[J]. Information Sciences, 2014, 280: 275-288
[7] Pang B, Lee L, Vaithyanathan S. Thumbs up?: Sentiment classification using machine learning techniques[C] //Proc of the 2nd Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2002: 79-86
[8] Turney P D. Thumbs up or thumbs down?: Semantic orientation applied to unsupervised classification of reviews[C] //Proc of the 40th Annual Meeting on Association for Computational Linguistics. Stroudsburg, PA: ACL, 2002: 417-424
[9] Yang Bishan, Cardie C. Context-aware learning for sentence-level sentiment analysis with posterior regularization[C] //Proc of the 52nd Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2014: 325-335
[10] Wang Sida, Manning C D. Baselines and bigrams: Simple, good sentiment and topic classification[C] //Proc of the 50th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2012: 90-94
[11] 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
[12] Qin Pengda, Xu Weiran, Guo Jun. An empirical convolutional neural network approach for semantic relation classification[J]. Neurocomputing, 2016, 190: 1-9
[13] Kim Y. Convolutional neural networks for sentence classification[C] //Proc of Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2014: 1746-1751
[14] Kalchbrenner N, Grefenstette E, Blunsom P. A convolutional neural network for modelling sentences[C] //Proc of the 52nd Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2014: 655-665
[15] Hu Baotian, Lu Zhengdong, Li Hang, et al. Convolutional neural network architectures for matching natural language sentences[C/OL] //Proc of Annual Conf on Neural Infor-mation Processing Systems. 2014 [2016-09-20]. http://papers.nips.cc/paper/5550-convolutional-neural-network-architectures-for-matching-natural-language-sentences.pdf
[16] He Hua, Gimpel K, Lin J. Multi-perspective sentence similarity modeling with convolutional neural networks[C] //Proc of Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2015: 1576-1586
[17] Zhou Kailong, Zhuo Li, Geng Zhen, et al. Convolutional neural networks based pornographic image classification[C] //Proc of the 2nd IEEE Int Conf on Multimedia Big Data. Piscataway, NJ: IEEE, 2016: 206-209
[18] Ma Long, Zhang Yanqing. Using word2vec to process big text data[C] //Proc of IEEE Int Conf on Big Data. Piscataway, NJ: IEEE, 2015: 2895-2897
[19] LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 512(7553): 436-444
[20] Liu Baoyuan, Wang Min, Foroosh H, et al. Sparse convolutional neural networks[C] //Proc of IEEE Conf on Computer Vision and Pattern Recognition (CVPR). Piscataway, NJ: IEEE, 2015: 806-814