張小川 劉連喜 戴旭堯 劉 璐
1(重慶理工大學兩江人工智能學院 重慶 401135) 2(重慶理工大學計算機科學與工程學院 重慶 400054)
目前,互聯網中出現了大量的文本信息,準確地分類這些文本愈加重要。傳統分類算法主要是基于專家規則和統計學習,前者受規則的限定而適用性范圍窄,后者如SVM等僅能解決簡單問題,面對復雜狀況時泛化能力受到限制。
近年來,深度神經網絡因優異的特征捕獲能力而廣泛應用于分類領域[1]。卷積神經網絡(Convolutional Neural Network,CNN)具備特征學習能力和非線性建模能力,常用于圖像和文本語義建模。文獻[2]提出多樣化特征信息的卷積神經網絡(MF-CNN),用于抽取語句的情感表示。文獻[3]提出具有多尺寸特征關注度的密集型CNN結構,產生n-gram特征并用于分類。然而,CNN網絡的并行性使其更關注文本局部粒度而忽略文本完整序列信息。循環神經網絡(Recurrent Neural Network,RNN)與其相應的變體如長短期記憶(Long Short Term Memory,LSTM)網絡、門控循環單元(Gated Recurrent Unit,GRU)更適合文本序列建模。文獻[4]構建一種基于注意力機制的新型RNN網絡,用以句子分類。文獻[5]提出基于RNN的深度架構進行網頁元標簽信息的分類并測試轉移學習的貢獻度。文獻[6]建立同時包含LSTM、注意力機制、卷積層的新型AC-BiLSTM網絡,從高級別語義維度分類。文獻[7]結合注意力機制與LSTM共同編碼情感特征,提高分類準確率。文獻[8]設計了雙通道特征融合的WPOS-GRU專利分類模型,提取專利特征并分離。文獻[9]建立具有用戶和產品注意力機制的BiGRU網絡,以獲取多類別文本情感。
上述的一些分類算法刻畫文本深層復雜語義能力較弱,此外,輸入分類模型的文本表示不夠全面,缺乏詞性、詞序等特征,導致分類效果不佳。為了改善文本表示與提高分類準確度,本文提出一種基于詞性特征的CNN_BiGRU文本分類模型。該模型利用詞性特征具有辨別上下文詞項含義的能力,將詞性視為輔助特征引入詞向量訓練,生成包含多維語義的文本向量,為后續的模型提供了良好的輸入。此外,CNN善于捕獲相鄰詞項的局部特征,BiGRU適合提取文本時序的全局上下文特征,于是,融合CNN網絡與BiGRU網絡構建特征互補融合模型CNN_BiGRU,該模型從不同粒度層面捕獲文本語義,形成同時蘊含局部與全局語義的抽象文本表示。最后,通過實驗驗證提出的分類模型的效果。
傳統文本表示方法主要有one-hot編碼或詞袋模型[9]。one-hot編碼表達的特征存在高維稀疏與忽略詞項的語義,而詞袋模型無法學習文本上下文,不能表征詞序、語義、語法等特征。基于分布式的詞嵌入是近年來主流的文本表示方法,它能將高維稀疏的向量映射為低維稠密的詞向量,有效解決維度災難等問題。Word2vec模型為詞嵌入的一種,它包含Skip-Gram模型和CBOW模型。文中選用基于Word2vec[10]的CBOW模型輔助構建文本向量表示,CBOW模型結構如圖1所示。輸入層輸入詞W(t)的上下文向量,經映射層映射操作,輸出層輸出當前詞的向量表示。

圖1 CBOW模型
RNN 隨文本時列擴增難以捕獲長距離依賴信息,而長短期記憶LSTM與門控循環單元GRU的內部門控機制保證神經元記憶有效流動,降低噪聲干擾,從而解決RNN面臨的長期依賴問題。GRU單元由更新門與重置門構成,與LSTM相比,GRU結構更簡單,處理相同任務所需收斂時間更短,訓練效果與LSTM相差無幾。GRU單元如圖 2所示。

圖2 GRU單元
t時刻,GRU單元內部狀態更新表示如下:
rt=σ(Wr·[st-1,xt])
(1)
zt=σ(Wz·[st-1,xt])
(2)
(3)
(4)

中文語境下存在大量一詞多義的情形,比如:
(1) 隨著電視購物節來臨,服裝廠的紡織工作(名詞,意為業務、任務)負擔逐漸變重。
(2) 計算機實驗室的幾臺電腦正在協同工作(動詞,意為操作)。
(3) 這幅作品代表(動詞,意為展示)了那個時代風尚。
(4) 雙方代表(名詞,意為代替個人或集體發表意見人)首先討論了會談的綱要。
例句中,詞項 “工作”與 “代表”在各自語境中分別呈現出不同的含義,那么,準確區分這些含義無疑增強了文本語義分析的效果。然而,傳統詞向量模型對詞項語義并不敏感,無法為不同語境下的多義詞建模[11]。此外,詞嵌入一般將詞項的不同上下文編碼至同一向量空間,造成詞向量未能有效辨別多義詞語義[12]。研究者發現,詞項的詞性能輔助將詞項語義維度調整至詞性所對應的語義維度,有助于緩解多義詞歧義。文獻[13]利用單詞間的詞性關聯建模詞性關系,然后,在給定的目標詞下,對詞性與位置信息進行條件概率計算,進而將單詞間的詞性關聯與位置信息融入詞向量,在單詞相似度任務上效果甚佳。文獻[14]提出一種基于詞性特征與語義增強的離線式短文本主題模型PFE-DMM,該模型用自定義詞性特征刻畫了主題的不同方面,有針對性地緩解文本稀疏性等問題。因此,本文提出利用詞性特征輔助區分某些多義詞,具體做法為:將詞性與詞項拼接形成“詞性-詞項對”(Part of speech-Term,Pos-T)的形式,比如,對于上述例句詞項,經拼接操作獲得(名詞,工作)、(動詞,工作)、(動詞,代表)、(名詞,代表)的樣式,這樣,詞嵌入模型訓練時,利用詞性因素縮減詞項語義空間,僅僅表示詞性語義維度的上下文詞項的含義,進而達到詞義消歧的目的。
深度神經網絡通常需要接收文本向量化輸入。給定輸入文本Text,首先,使用百度詞法分析技術對文本進行分詞以及詞性標注,分別獲得文本詞項集合WT={wt1,wt2,…,wtn}和對應的文本詞性集合PW={pw1,pw2,…,pwn},其中:wti為詞項;pwi為wti的標注詞性。然后,依次拼接詞性pwi與詞項(pwi,wti)形成(pwi,wti)表示,這樣文本Text則轉化為PW-WT={(pw1,wt1),(pw2,wt2),…,(pwn,wtn)}序列;隨后,利用基于Word2vec的CBOW模型分別建模詞項集合WT與PW-WT序列,進而得到文本詞向量T=(t1,t2,…,tn)和文本詞性向量P=(p1,p2,…,pn),其中:ti為詞項的詞向量表示;pi為(pti,wti)的詞性向量表示。最后,拼接詞性向量P與詞向量T形成增強詞向量PT={pt1,pt2,…,ptn}。引入詞性特征的文本向量化流程如圖3所示。

圖3 引入詞性特征的文本向量化流程
為了提高分類準確率,本文利用詞性詞義消歧的特性以及CNN網絡與BiGRU網絡文本建模的優勢,構建基于詞性特征的CNN_BiGRU短文本分類模型,該模型處理邏輯結構如圖4所示。

圖4 基于詞性特征的CNN_BiGRU短文本分類模型
詞嵌入用于記錄文本中詞項的上下文,蘊含了詞項的多維語義,廣泛應用于語義匹配任務。本節利用2.2節改進的引入詞性特征的詞嵌入方法向量化輸入文本,獲得文本增強詞向量PT=(pt1,pt2,…,ptn),其中pti為同時蘊含詞性語義和詞項語義的向量。增強詞向量PT具有多維語義特征,有助于后續CNN、BiGRU網絡的文本建模。
增強詞向量PT表達了詞項級別層面的上下文的含義,未能深層次表示文本級語義,而基于CNN的語義構建方法能主動學習文本深度語義,實現文本信息的語義編碼。CNN網絡具有局部連接、權重共享等屬性,通過局部選擇特性自動捕獲輸入序列的關鍵特征,因此,本文使用文獻[15]提出的CNN網絡提取文本局部特征,該網絡學習過程如圖5所示。

圖5 CNN特征構建網絡
首先,輸入層輸入增強詞向量PT,接著,卷積層采用若干大小為k×h的滑動窗口從不同粒度層面進行卷積,每次生成具有關鍵信息的局部卷積向量si,其計算式表示為:
si=f(Ws·PTi:i+h-1+bs)
(5)
式中:f()為激活函數ReLU,Ws為卷積權重;PTi:i+h-1表示由k×h大小卷積窗口中h行向量組合形成區域詞向量;bs為卷積層的參數。增強詞向量PT經過一系列不同維度的滑動窗口卷積最終轉化為卷積向量S:
S=[s1s2…sN]
(6)

(7)

(8)
自然語言序列在結構上存在廣泛的前后時序,而GRU等網絡利用內部的門控件高效地處理序列時序。GRU網絡鑒于自身單向性的空間結構僅能捕獲上文時序語義,造成全局時序學習不足。此外,CNN網絡善于并行卷積而極易關注局部時序,較少考慮時序間的順序,具有一定局限性。為此,本文利用BiGRU網絡學習文本時序的全局上下文特征,該網絡如圖6所示。

圖6 BiGRU特征構建網絡

(9)

(10)
(11)
式中:Wg、Wgg為權重矩陣;bg為偏置項。
(12)

(13)
接著,將Sg連接至輸出層進行非線性組合輸出特征向量fSg,并作為提出的分類模型建模增強詞向量PT的最終輸出,fSg表示為:
fSg=f(WSg·Sg+bSg)
(14)
最后,通過Softmax函數完成短文本所屬類別的判斷,具體過程表示為:
(15)
式中:p(yj)為短文本在第i種類別的輸出,uj與bj為p(yj)對應的權重矩陣與偏置。
假定輸入文本向量化為vj,其所屬類別為yj,本文將分類模型建模輸出類別為yj的概率表示為p(yj)=p(yj|vj,θ),那么模型訓練的目標函數表示為:
(16)
式中:n為訓練語料規模。本文選用隨機梯度下降算法優化目標函數,每輪訓練迭代利用反向傳播算法更新參數,直到模型處于擬合收斂態。
實驗數據選自Sogou語料庫和THUCNews數據集,Sogou語料庫是搜狗實驗室提供的全網新聞數據, THUCNews是根據新浪新聞數據篩選過濾生成的。對以上兩組實驗數據分別選取6個類別進行實驗,抽取每組實驗數據的85%作為訓練集,15%作為測試集,選取的類別與數量如表1所示。

表1 文本類別與數量
4.2.1詞向量訓練
本文的詞嵌入模型為Word2vec,訓練語料為Sogou全網新聞數據583 MB,THUCNews數據集507 MB。為獲取原始詞向量,選用基于Word2vec的CBOW模型對未經拼接的原始語料進行預訓練,隨后,文本被映射為詞向量T。為獲得引入詞性特征的詞性向量 ,利用CBOW模型對經大規模詞性標注的“詞性-詞項”語料進行訓練,從而將文本轉化為詞性向量P,以便于詞向量T對比。詞向量訓練相關參數如下:向量維度設置為140維,上下文窗口大小為6,最小詞頻為5,訓練迭代次數為20次。
4.2.2模型訓練參數配置
實驗中大量的超參數需要設置與調整,這些超參數是根據每次迭代完成后,根據實驗的評估標準來調整的。經過多次迭代,本文提出的CNN_BiGRU分類模型的CNN部分和單CNN模型的參數設置為:濾波器窗口大小分別設置為3、4和5,每種類別濾波器個數為80,激活函數為ReLU ,epoch值取95,為了防止過擬合,選用dropout機制和權重的正則化限制,dropout值取0.5,L2范數正則化權重值為3。
結合上述CNN參數設置, CNN_BiGRU模型的BiGRU部分和單BiGRU模型的參數設置為:BiGRU網絡隱藏層為兩層,每層GRU序列長度為108,損失函數為交叉熵,epoch值取95,學習率為0.001,為加快模型收斂速度,選取Adam作為優化器。
4.3.1對比模型介紹
本文將提出的CNN_BiGRU分類模型與若干機器學習、深度學習模型進行對比。對于傳統機器學習,使用TF-IDF表示文本,并選用SVM[16]、KNN[17]進行分類。為驗證詞性特征對文本表示的影響,使用三種形式的詞向量分別初始化,(1) 采用詞向量T初始化,建立輸入詞向量T的T-CNN、T-BiGRU、T-CNN_BiGRU模型;(2) 利用詞性向量P初始化,構建輸入詞性向量P的PT-CNN、PT-BiGRU、PT-CNN_BiGRU模型;(3) 利用由詞性向量P與詞向量T交叉組合形成的增強詞向量PT初始化,構建輸入增強詞向量PT的PT-CNN、PT-BiGRU、PT-CNN_BiGRU。此外,為驗證本文分類模型的分類性能,選取單CNN網絡、單BiGRU網絡進行對比。
4.3.2實驗結果分析
本文使用召回率、準確率和F1值作為分類評估標準,在45輪的迭代實驗中,上述對比模型的最終實驗結果如表2和表3所示。

表2 Sogou語料分類效果對比

續表2

表3 THUCNews數據集分類效果對比
觀察表2和表3數據,發現基于詞性向量P的分類模型一般優于基于詞向量T的分類模型。在Sogou語料中,P-CNN、P-BiGRU和P-CNN_BiGRU模型的F1值分別為0.852、0.879和0.898,與對應的模型相比,分別提高了0.009、0.019和0.008。在THUCNews數據集中,其F1值分別為0.848、0.872和0.909,分別提高了0.014、0.015和0.020。這表明,與詞向量T相比,詞性向量P具有辨別不同上下文詞項詞義的能力,在一定程度上緩解了詞義歧義的現象,進而證明詞性特征有效改善了文本表示。進一步分析,發現基于增強詞向量PT的分類模型,在Sogou語料中,其準確率分別為0.865、0.890、0.908;在THUCNews語料中,其準確率分別為0.863、0.881、0.916,這一般優于對應的基于詞性向量P的分類模型。因為,本文將增強詞向量PT矩陣的相鄰兩行視為詞項wti的語義表示,即第i行為詞項的詞向量語義,第i+1行為詞項的詞性向量語義,與詞性向量P相比,采用交叉組合策略拼接兩類詞向量來表達詞項的語義效果更好,這表明增強詞向量PT有助于細化語義粒度,較為準確地刻畫了詞項本質含義。
分析表2和表3的數據,發現SVM、KNN的分類性能一般弱于其余深度學習模型。因為機器學習模型通常為淺層結構,特征學習能力弱且訓練繁瑣,而深度學習模型能從原始數據中自動提取特征進而對數據進行更為本質的刻畫。基于分類評估標準,進一步分析發現CNN網絡分類性能一般弱于BiGRU網絡,因為CNN并行卷積的局限性僅能關注文本局部表示而忽略文本時序的上下文,而BiGRU善于從前向、后向捕獲文本時序,進而表達文本整體語義,建模效果相對較好。
從表2和表3數據可以看出,PT-CNN_BiGRU分類模型表現最佳,其準確率最高值分別為0.908和0.916,表明該模型能準確地判別文本所屬的類別,也直接證明了在基于增強詞向量PT的前提下,本文利用CNN網絡學習局部語義的優勢以及BiGRU網絡捕獲全局時序組合語義的優勢,共同挖掘文本語義并組合,有助于深層次提取與抽象文本本質,進而提高分類準確率。
4.3.3F1值迭代變化分析
本文基于詞性向量P或詞向量T的分類模型在Sogou語料和THUCNews數據集中,前45輪F1數值迭代的變化如圖7和圖8所示。

圖7 Sogou語料前45輪F1值變化

圖8 THUCNews數據集前45輪F1值變化
觀察圖7、圖8數據曲線可以發現,基于詞性向量P的P-CNN、P-BiGRU和P-CNN_BiGRU模型,其F1曲線數值一般高于基于詞向量T的T-CNN、T-BiGRU和T-CNN_BiGRU模型的曲線值,表明引入詞性特征的詞性向量合理地表達了上下文語義,有助于辨別不同語境下詞項的含義,這一分析也間接地與4.3.2 節實驗結果的相關分析一致。此外,分析圖8曲線數據,發現P-CNN_BiGRU模型的優勢從第22輪就體現出來,隨后,每輪迭代效果都優于其余對比模型,特別是在第25輪時,其F1值達到0.894,這基本高于其余對比模型收斂時的F1數值,表明CNN_BiGRU模型學習能力更強,因為該模型隨著深入學習,其得到的抽象表示覆蓋的文本特征越廣,文本表示越精確,分類效果越好。
本文提出一種基于詞性特征的CNN_BiGRU文本分類模型。針對不同上下文詞項語義難以區別的情形,提出利用詞性特征輔助辨別詞義并改善文本表示。為深度表示文本語義,利用CNN與BiGRU各自學習文本語義的優勢,構建特征互補融合模型CNN_BiGRU,用于深層次提取與抽象文本特征,獲得文本深度組合語義,提高分類準確率。在基于Sogou與THUCNews語料的實驗中,CNN_BiGRU模型在準確率、召回率和F1值上大都優于其余對比模型,其分類有效性得到驗證。在后續工作中,考慮引入注意力池化和k-max池化方式共同量化CNN卷積特征的貢獻度,同時進一步優化該分類模型。