高云龍, 左萬(wàn)利, 王 英, 王 鑫
(1. 吉林大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 長(zhǎng)春 130012; 2. 吉林大學(xué) 符號(hào)計(jì)算與知識(shí)工程教育部重點(diǎn)實(shí)驗(yàn)室, 長(zhǎng)春 130012;3. 長(zhǎng)春工程學(xué)院 計(jì)算機(jī)技術(shù)與工程學(xué)院, 長(zhǎng)春 130012)
深度學(xué)習(xí)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別等領(lǐng)域中已取得許多成果[3]; 在自然語(yǔ)言處理領(lǐng)域, 深度學(xué)習(xí)網(wǎng)絡(luò)雖沒(méi)有取得系統(tǒng)性的突破, 但也受到廣泛關(guān)注[4]. 卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)通過(guò)結(jié)合局部感知區(qū)域、共享權(quán)重、空間或時(shí)間上的降采樣, 充分利用數(shù)據(jù)本身包含的局部性等特征優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu), 并保證一定程度上的位移及變形的不變性; 相比于前饋深層神經(jīng)網(wǎng)絡(luò), 遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural networks, RNN)更重視網(wǎng)絡(luò)的反饋?zhàn)饔? RNN通過(guò)增加當(dāng)前狀態(tài)與過(guò)去狀態(tài)之間的聯(lián)系, 具有一定的記憶功能, 從而有利于捕獲短文本內(nèi)部結(jié)構(gòu)之間的依賴性.
短文本分類模型的構(gòu)建本質(zhì)上是學(xué)習(xí)文本數(shù)據(jù)中所包含的特征[5], 按照提取特征及分類策略的不同, 本文將短文本分類模型分為兩種: 基于語(yǔ)義分析的短文本分類模型和基于神經(jīng)網(wǎng)絡(luò)的短文本分類模型. 基于語(yǔ)義分析的短文本分類模型通常通過(guò)更多關(guān)注文本內(nèi)在的語(yǔ)義結(jié)構(gòu)、內(nèi)容及文本間的關(guān)聯(lián), 實(shí)現(xiàn)對(duì)短文本邏輯結(jié)構(gòu)建模, 提取語(yǔ)義特征, 降低特征空間的維度. 在目前基于語(yǔ)義分析的分類模型中, 通常采用詞的分布式表示以及基于LDA(latent Dirichlet allocation)主題模型進(jìn)行特征提取兩種策略. 在詞的分布式表示算法中, 短文本中的每個(gè)詞以詞向量的方式表示[6]. Ma等[7]利用Word2Vec工具在語(yǔ)料庫(kù)上進(jìn)行訓(xùn)練, 得到了短文本中詞的分布式表示, 并假設(shè)詞向量分布服從高斯分布, 利用Bayes框架得到了良好的分類效果. 文獻(xiàn)[8]提出了一種用于表示詞向量的全新方案: 將詞向量分為兩個(gè)子向量, 分別用于提取形態(tài)以及句法、語(yǔ)義方面的特征, 并通過(guò)實(shí)驗(yàn)證明其具有較好的表達(dá)效果. 使用LDA主題模型提取語(yǔ)義特征是基于語(yǔ)義分析的短文本分類模型中主要的一種策略, Phan等[9]通過(guò)使用pLSA和LDA在主題特征空間構(gòu)造短文本的特征向量, 并結(jié)合最大熵和支持向量機(jī)(SVMs)模型進(jìn)行分類, 取得了較好的實(shí)驗(yàn)結(jié)果. Chen等[10]提出了提取多粒度主題的方案, 可更好地描述短文本語(yǔ)義信息, 從而提高分類效果. Kim[11]首次將CNN應(yīng)用到句子模型的構(gòu)建中, 并提出了幾種變形. Socher等[12]提出了基于遞歸自編碼的半監(jiān)督學(xué)習(xí)模型, 該模型可有效學(xué)習(xí)短文本中多詞短語(yǔ)及句子層次的特征向量表示, 在預(yù)測(cè)情感分析中取得了較好的效果. He等[13]采用多種不同類型的卷積和池化, 實(shí)現(xiàn)對(duì)句子的特征表示, 并利用所學(xué)習(xí)到的特征表示構(gòu)建句子相似度模型. Socher等[14]提出了RNTN模型, 該模型通過(guò)使用解析樹(shù)中低層的詞向量組合, 計(jì)算解析樹(shù)中高層節(jié)點(diǎn)的向量表示, 根節(jié)點(diǎn)即代表短文本的特征向量, 從而提取出短文本的語(yǔ)義特征. 基于神經(jīng)網(wǎng)絡(luò)的分類模型由于使用詞向量數(shù)據(jù), 并且不依賴于特定語(yǔ)言的句法, 因此在不同類型的數(shù)據(jù)集或不同的語(yǔ)言中都顯示出了良好的擴(kuò)展性和有效性. 基于以上研究, 本文提出一個(gè)基于集成神經(jīng)網(wǎng)絡(luò)的短文本分類模型C-RNN, 主要貢獻(xiàn)包括: 1) 用CNN構(gòu)造擴(kuò)展詞向量, 從而使數(shù)值詞向量可有效描述短文本中形態(tài)、句法及語(yǔ)義特征; 2)利用RNN網(wǎng)絡(luò)對(duì)短文本語(yǔ)義進(jìn)行建模, 進(jìn)一步構(gòu)造短文本的高級(jí)抽象特征.
本文提出的基于集成神經(jīng)網(wǎng)絡(luò)的短文本分類模型(C-RNN)可分為如圖1所示的三部分.
1) 按文獻(xiàn)[8]的擴(kuò)展詞向量構(gòu)造方式, 利用CNN網(wǎng)絡(luò)將短文本中的詞轉(zhuǎn)換為長(zhǎng)度固定的詞向量;
2) 利用LSTM網(wǎng)絡(luò)進(jìn)一步對(duì)短文本語(yǔ)義信息進(jìn)行抽象, 并利用隱含節(jié)點(diǎn)之間的聯(lián)系編碼短文本內(nèi)部結(jié)構(gòu)之間的依賴關(guān)系;
3) 將LSTM網(wǎng)絡(luò)的輸出作為softmax分類層的輸入, 計(jì)算短文本中詞對(duì)于目標(biāo)類別的概率, 從而分析短文本所屬的目標(biāo)類別.
圖1 C-RNN模型結(jié)構(gòu)Fig.1 Structure of C-RNN model
文獻(xiàn)[8]提出一種全新的詞向量形式, 即對(duì)于短文本中每個(gè)詞w, 其詞向量表示為u=(rw,rch), 其中: rw為詞語(yǔ)級(jí)別的詞向量, 用于捕獲句法、語(yǔ)義層次的特征; rch為字符級(jí)別的詞向量, 用于捕獲詞匯形態(tài)層次的特征. 本文采用類似的擴(kuò)展詞向量表示方式, 即對(duì)于短文本中的每個(gè)詞w, 其詞向量表示為u=(rw2v,rch), 其中rw2v是由Word2Vec工具在語(yǔ)料庫(kù)上訓(xùn)練得到的詞匯數(shù)量特征表示[15].
假設(shè)用于描述語(yǔ)料庫(kù)中字符特征的詞匯量為Vchr. 對(duì)于包含T個(gè)字符特征{ch1,ch2,…, chT}的詞匯w, 首先按下式將特征cht轉(zhuǎn)換為其對(duì)應(yīng)的向量表示:
僅可通過(guò)線性化誤差模型辨識(shí)的誤差包括僅可過(guò)測(cè)量辨識(shí)的誤差包括δl21,δl23,δl33,δl43;僅可通過(guò)間接計(jì)算所得的誤差項(xiàng)包括δλ2x,δλ2z,δλ3z,δλ4z;可通過(guò)線性化誤差模型和測(cè)量辨識(shí)的誤差包括δl13,δθ13y,δθ13x,δθ21z,δθ21y,δθ23y,δθ23x,δθ33y,δθ33x,δθ43y,δθ43x。
rchr=Wchrvch,
(1)
其中: Wchr∈dchr×|Vchr|為轉(zhuǎn)換矩陣; vch∈|Vchr|為標(biāo)識(shí)向量, 對(duì)應(yīng)特征位置元素為1, 其他位置元素置0. 此時(shí), 詞w對(duì)應(yīng)的向量組為將該向量組作為卷積層的輸入, 進(jìn)一步提取特征向量:
(2)
LSTM(long short-term memory)是一種典型的RNN網(wǎng)絡(luò), 不同于普通的RNN網(wǎng)絡(luò), LSTM模塊具有忘記門(mén)、輸入門(mén)、輸出門(mén)和記憶存儲(chǔ)單元4個(gè)主要部分, LSTM模型的結(jié)構(gòu)如圖3所示. LSTM通過(guò)各部分的協(xié)作, 實(shí)現(xiàn)信息的記憶及長(zhǎng)短期依賴信息的提取。短文本內(nèi)部空間區(qū)域之間存在大范圍的相互依賴性, 編碼這種依賴關(guān)系對(duì)短文本的句法、語(yǔ)義分析具有重要作用.
圖2 構(gòu)造字符級(jí)別特征向量模型的結(jié)構(gòu)Fig.2 Structure of constructing char-level feature vector model
圖3 LSTM模型結(jié)構(gòu)Fig.3 Structure of LSTM model
LSTM通過(guò)稱為“門(mén)”的結(jié)構(gòu)去除或增加信息到細(xì)胞狀態(tài). 門(mén)是一種使信息選擇式通過(guò)的方法, 其定義為
對(duì)于詞個(gè)數(shù)為N的短文本ST中的每個(gè)詞wn, 利用LSTM網(wǎng)絡(luò)得到其語(yǔ)義表示hn, 并作為softmax分類器的輸入. 對(duì)于目標(biāo)類別j, 得到的概率為
pj=p(j|hn;θ),
(9)
其中θ為C-RNN模型的參數(shù). 則短文本ST屬于類別j的概率為
(10)
通過(guò)以上計(jì)算可得短文本ST所屬的類別為
(11)
為驗(yàn)證模型的有效性, 本文采用如下幾種標(biāo)準(zhǔn)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn), 語(yǔ)料庫(kù)均可通過(guò)開(kāi)源網(wǎng)站獲得.
1) SST(stanford sentiment treebank)[14], 情感分類語(yǔ)料庫(kù), 每個(gè)句子作為1條影評(píng), 共有5種類別標(biāo)簽, 分別為very positive, positive, neutral, negative, very negative;
2) WSD(Web snippet dataset)[9], Web片段數(shù)據(jù)集, 共有8種類型, 包括商業(yè)、體育、健康等.
語(yǔ)料庫(kù)的參數(shù)列于表1, 其中:C表示目標(biāo)類數(shù);L表示平均句子長(zhǎng)度;N表示數(shù)據(jù)集大小; |V|表示詞的規(guī)模; Test表示測(cè)試集大小.
表1 語(yǔ)料庫(kù)參數(shù)
卷積層隱含節(jié)點(diǎn)作為特征提取層, 通過(guò)與前一層的局部感受相連, 并提取該局部的特征, 該局部特征一旦被提取后, 其與其他特征間的位置關(guān)系也隨之確定; 由于每個(gè)節(jié)點(diǎn)都提取一種特征, 因此卷積層節(jié)點(diǎn)個(gè)數(shù)K決定CNN所提取的特征總數(shù).K值對(duì)于C-RNN模型的影響如圖4所示. 由圖4可見(jiàn), 在兩組數(shù)據(jù)集中, 實(shí)驗(yàn)結(jié)果一致: 當(dāng)K值較小時(shí), 由于無(wú)法提取足夠的特征, 從而導(dǎo)致無(wú)法準(zhǔn)確描述短文本的信息; 而當(dāng)K值較大時(shí), 通常出現(xiàn)特征提取冗余的現(xiàn)象, 此外, 隱含節(jié)點(diǎn)個(gè)數(shù)的增加即模型參數(shù)的增長(zhǎng), 對(duì)于時(shí)間、空間的需求也相應(yīng)提高.
CNN模型通過(guò)增加稀疏性約束調(diào)節(jié)模型的復(fù)雜度, 在降低模型復(fù)雜度的同時(shí), 提高模型的分類精度. 在經(jīng)驗(yàn)范圍內(nèi), 通過(guò)設(shè)置不同的q值, 得到的實(shí)驗(yàn)結(jié)果如圖5所示. 由圖5可見(jiàn), 當(dāng)q取值過(guò)大或過(guò)小時(shí), 模型的復(fù)雜度也隨之改變, 從而模型的分類精度也依次發(fā)生變化. 當(dāng)q值過(guò)大時(shí), 模型過(guò)于稀疏; 當(dāng)q值過(guò)小時(shí), 模型容易出現(xiàn)過(guò)擬合現(xiàn)象.
圖4 K值選取對(duì)泛化誤差的影響Fig.4 Influence of value K selection on generalization error
圖5 q值選取對(duì)泛化誤差的影響Fig.5 Influence of value q selection on generalization error
圖6 擴(kuò)展詞向量與普通詞向量對(duì)模型的影響Fig.6 Influence of extended word vectors and common word vectors on models
C-RNN模型采用擴(kuò)展詞向量作為模型的輸入, 相比于采用Word2Vec工具生成的普通詞向量, 擴(kuò)展詞短文本中詞的形態(tài)級(jí)別特征的數(shù)值抽象, 從而使擴(kuò)展詞向量可作為短文本形態(tài)、句法及語(yǔ)義多層次的特征描述. 相對(duì)于K值和q值的最優(yōu)解, 本文分別采用擴(kuò)展詞向量及由Word2Vec工具生成的普通詞向量作為C-RNN的輸入, 得到的實(shí)驗(yàn)結(jié)果如圖6所示. 由圖6可見(jiàn), 擴(kuò)展詞向量通過(guò)多層次的特征抽象, 相比于普通詞向量, 可更好地反映短文本的特征, 從而有利于提高模型的分類準(zhǔn)確率.
將C-RNN模型與其他短文本分類模型進(jìn)行對(duì)比, 對(duì)于數(shù)據(jù)集SST和WSD, 實(shí)驗(yàn)結(jié)果列于表2. 由表2可見(jiàn), 本文提出的C-RNN模型在短文本分類問(wèn)題上具有較好的泛化能力, 實(shí)驗(yàn)結(jié)果優(yōu)于大部分模型.相比于CharSCNN模型[16], C-RNN模型通過(guò)使用LSTM網(wǎng)絡(luò)增加信息記憶功能, 從而有利于捕獲短文本內(nèi)部結(jié)構(gòu)之間的依賴性, 實(shí)現(xiàn)了對(duì)短文本語(yǔ)義信息的建模, 提高了分類的準(zhǔn)確性; 相比于RNTN模型[14], C-RNN模型在判別短文本類別時(shí)不需要構(gòu)造句法分析器, 不依賴于某一特定語(yǔ)言, 具有良好的魯棒性; 相比于Multi-L[10]和Proposed[7]等基于語(yǔ)義分析的分類模型, C-RNN模型通過(guò)集成CNN和LSTM模型, 可有效地提取從詞到短文本的數(shù)值特征, 從而構(gòu)造出更有效的抽象特征, 提高了分類精度.
綜上可見(jiàn), 本文提出的C-RNN模型通過(guò)使用擴(kuò)展詞向量, 可有效描述短文本中的特征信息; 通過(guò)使用LSTM網(wǎng)絡(luò)增加信息記憶功能, 從而有利于捕獲短文本內(nèi)部結(jié)構(gòu)之間的依賴性, 實(shí)現(xiàn)了對(duì)短文本語(yǔ)義信息的建模, 提高了模型的分類效果.
表2 模型分類精度對(duì)比(%)