杜恒欣,朱習軍
(青島科技大學 信息技術學院,青島 266061)
如今科技成為衡量一個國家實力水平的重要標準,而專利文獻中包含大量的創新發明,企業可以通過利用專利中的創新發明,減少研發周期.為了有效利用專利文獻中的關鍵信息,易于管理專利,對專利分類成為必不可少的一步.目前,我國使用國際專利分類(IPC)體系,IPC 分類體系共有5 個級別和7 萬類,是一個多層次多標簽的分類系統[1].專利作為科技類的文獻,有極強的專業性,但是在底層類別之間的相似度很高,需要對該領域知識較為熟悉,才能給專利賦予較為合理的分類號[2],隨著計算機技術和人工智能的發展,人們開始關注如何使用計算機協助人工進行半自動化或自動化的專利文本分類,本文采用深度學習的方法進行中文專利文本分類.
傳統的文本分類多采用機器學習算法,如K 近鄰算法(KNN)、樸素貝葉斯(Naive Bayesian)和支持向量機(SVM)等,但這些機器學習算法需要人工提取文本特征,而文本特征提取的質量和文本分類的準確度有密切關系[3],另外人工提取特征費時費力,還不能確保所提取特征的準確性和全面性.
目前,隨著深度學習的發展,專家學者們十分重視深度學習在文本分類領域上的應用,主要方法有卷積神經網絡(CNN)、循環神經網絡(RNN)和長短時記憶網絡(LSTM)等.其中CNN 可以通過卷積和池化過程對文本進行局部特征提取,由人工設置卷積核大小和個數,實現權值共享.Kim[4]采用預先訓練好的詞向量作為CNN 模型的輸入,使用CNN 的卷積和池化過程對句子信息進行n-gram 特征抽取,結果表明CNN 對文本的特征提取效果良好,得到了較優的文本分類結果.RNN 是一種序列模型,能夠提取上下文數據,但是在長序列或復雜的文本中易出現梯度消失和梯度爆炸問題,專家們在RNN 的基礎上提出改進算法,如LSTM.Rao 等[5]通過使用LSTM 捕捉上下文中的依賴關系,獲得較好的文本特征信息,提高了分類準確率.而GRU是基于LSTM 的一種改進,方炯焜等[6]在使用GloVe詞向量化的基礎上,利用GRU 神經網絡模型進行訓練,結果證明該算法對提高文本分類性能有較明顯的作用.另外為了更好的提取文本特征,引入注意力機制(Attention 機制),張沖[7]提出Attention-Based LSTM 模型用于提取特征,其中LSTM 模型解決了傳統RNN 的梯度消失的問題,同時通過Attention-Based 減少特征向量提取過程中的信息丟失和信息冗余.還有專家學者提出,將多個學習模型結合起來,利用模型優勢互補原則,提升分類性能,例如Lai 等[8]通過結合CNN 和RNN 模型,提出了RCNN 混合模型,獲得了非常好的分類效果.李洋等[9]將CNN 提取的文本局部特征和雙向LSTM 提取的文本全局特征進行特征融合,解決了CNN 忽略上下文語義信息,又避免了RNN 梯度消失和梯度爆炸問題.
在專利文本分類上,馬建紅等[10]在進行專利文本分類時,從挖掘專利與效應對應關系的角度出發,提出利用基于Attention 機制的雙向LSTM 模型訓練專利語料,得到專類所屬的效應.余本功等[11]提出一種雙通道特征融合的專利文本自動分類,將文本專利分別映射為Word2Vec 詞向量序列和POS 詞性序列,分別使用這兩種特征通道訓練WPOS-GRU 模型,該方法節省了大量的人力成本,并提高了專利文本分類的準確度.胡杰等[12]利用CNN 進行專利文本特征提取,結合隨機森林作為分類器,相對對于單一算法模型,提高了專利文本的分類準確度.通過研究,本文針對計算機領域的中文專利文本,提出將基于注意力機制的雙向長短期記憶網絡(BiLSTM)和卷積神經網絡(CNN)組合的方法,設計了BiLSTM_ATT_CNN 模型,并對該模型在專利文本數據進行訓練學習.實驗結果表明,該模型在一定程度上提高了中文專利文本分類的準確率.
文本預處理過程主要工作是對數據集進行分詞操作.目前,國內一些專家開發出效果較好的現代分詞系統,主要有結巴分詞、盤古分詞NLPIR、語言云、搜狗分詞、Boson NLP 分詞系統、IKAnalyzer、中國科學院計算所漢語詞法分析系統 ICTCLAS 等[13].
本文使用基于隱馬爾科夫算法的結巴分詞器進行分詞,目前結巴分詞有4 種模式,精確模式、全模式、搜索引擎模式和paddle 模式,本文采用結巴分詞的全模式.在專利摘要文本中,相比于其他文本數據,語言較為領域化專業化,而且專業術語設計的較多,傳統方法對專業術語詞不能進行很好的覆蓋,當出現新的專業術語時,需要重新計算特征向量.再者專利中專業術語較多,在調用已有的分詞系統進行分詞時,專業術語詞往往是會被分開的.為了盡量避免這些情況,本文將專利文本摘要中的關鍵字提取出來,建立一個領域詞典,添加到已有的分詞系統的詞典中,來減少分詞不準確帶來的誤差.分詞后的詞集中,有很多像“我們”、“這樣”、“之后”等這樣沒有實際意義的詞,這些詞對分類沒有貢獻,甚至影響文本分類的準確性,在此利用停用詞表來去除文本的停用詞.
詞語是人類的抽象總結,是符號形式的(比如中文、英文、拉丁文等),在文本處理時需要把詞語轉換成數值形式.2013年Mikolov 等[14]提出詞向量概念,使得自然語言處理方向有了word embedding,即詞嵌入.Word2Vec 就是詞嵌入的一種,相較于傳統NLP 的高維、稀疏的表示法(One-hot Representation),Word2Vec 利用了詞的上下文信息,語義信息更加豐富.Word2Vec可以將初始特征詞映射到實數低維向量,避免了傳統詞袋模型詞向量維度過大的問題,并且在詞向量生成過程中,用向量空間里的向量運算來代替對文本內容的處理,結合了詞的上下文內容,提供含有語義信息的詞向量.一般分為CBOW (Continuous Bag-Of-Words)與Skip-gram 兩種模型.CBOW 模型的訓練輸入是某一個特征詞的上下文相關的詞對應的詞向量,而輸出就是這特定的一個詞的詞向量.Skip-gram 模型和CBOW 的思路是相反的,即輸入是特定的一個詞的詞向量,而輸出是特定詞對應的上下文詞向量.CBOW 對小型數據庫比較合適,而Skip-gram 在大型語料中表現更好.本文利用Google 開源推出的Word2Vec 工具包,選用 Skip-gram 模型,使用Python 語言實現了詞向量化.由于數據集是由專利文本的題目、摘要、主權項和分類號組成,不能保證各樣本數據的長度統一,采用padding 機制,經實驗驗證,將詞向量長度設為100,樣本數據長度固定為400 時,分類效果較好.
2.3.1 BiLSTM_ATT 模型
循環神經網絡(RNN)可以獲取全局的特征信息,但是存在梯度消失和梯度爆炸問題.而長短期記憶神經網絡(LSTM)可以避免這個問題,作為RNN 的一種改進模型,LSTM 不僅涵蓋了RNN 的優點,還具有更強的記憶能力.LSTM 模型的基本神經元是由記憶單元和遺忘門ft,記憶門it和輸出門ot這3 種門組成,記憶單元是自連接單元,能夠記憶遠距離上下文信息,而這3 種門共同決定如何更新當前記憶單元ct和當前隱藏狀態ht.遺忘門ft,可以看作是一個控制來自舊記憶細胞的信息會被丟棄到什么程度的函數;記憶門it,控制有多少新信息要存儲在當前的存儲單元中;輸出門ot,根據存儲單元ct控制要輸出什么.
LSTM 轉換函數定義如下:
輸入數據為通過使用Word2Vec 得到的詞向量xt,維度為K=100,記憶門由隱藏狀態ht?1和輸入xt計算得到,其中 σ是邏輯函數Sigmoid,輸出值在0 到1 之間,Wi是權重矩陣,bi是偏置項,計算公式如式(1):

遺忘門也是由隱藏狀態ht?1和輸入xt計算得到,其中Wf是權重矩陣,bf是偏置項,計算公式如式(2):

式(3)中,qt為臨時記憶狀態,記憶單元更新計算公式如式(4),t anh 表示輸出為[-1,1]的雙曲切線函數,⊙表示元素間的乘法:


輸出門計算公式如式(5),其中Wo是權重,bo是偏置項:

傳統的LSTM 只在一個方向上讀取樣本數據,從前往后或者從后往前,為了更好提取文本語義,需要考慮到文本詞語的語境含義,本文采用基于LSTM 的改進的雙向長短時記憶網絡(BiLSTM),即同時從前往后和從后往前讀取文本數據,可以進一步增強語義對上下文的依賴程度.
在專利文本數據中,有很多詞是無足輕重的,但是在前期的去停用詞時沒有將其全部去掉,使得對分類影響大的詞語融匯在大量詞匯中,減弱了其對分類的影響程度,另外,BiLSTM 模型不能將專利文本中對分類重要的詞語標記出來,而且其隱藏層會損失一定的前文信息,而注意力(Attention)機制能夠很好的改善這個問題[15,16].Attention 機制可以根據該詞包含的語義信息和對文本分類的重要程度,進行分配不同的權值,進而減弱數據稀疏性,提高文本分類的準確性.本文在BiLSTM 模型的隱藏層添加Attention 機制,對隱藏層輸出的特征向量賦予不同注意力分配值,把注意力集中到對分類任務較重要的詞語上,進一步提高專利文本分類的準確率.BiLSTM_ATT 結構如圖1所示.

圖1 BiLSTM_ATT 模型結構圖
由圖1可知,BiLSTM_ATT 模型主要由輸入層、前向LSTM、后向LSTM、注意力計算層組成.中文專利文本經過預處理后,將詞語輸入到詞向量模型中,本文使用Word2Vec 工具,輸入層的中文專利文本數據表示為X={x1,x2,···,xn},專利文本有n個詞語,分別作為輸入數據,進入前向LSTM 和后向LSTM,得到前向LSTM 隱藏層的輸出和后向LSTM 隱藏層的輸出,BiLSTM 模型隱藏層的輸出為這兩者之和,即H={h1,h2,···,hn},隱藏層的輸出向量維度為d,在此BiLSTM的隱藏層上引入Attention 機制,注意力計算公式如式(7),得到注意力分配值分別為a1,a2,···,an.

其中,hi為 第i個隱藏層的輸出值,h為專利文本向量,式(7) 表示hi所占專利文本向量的注意力權重,w,A,B為權值矩陣,bi為偏置項.再將注意力權重通過Softmax函數進行概率化,如式(8),得到注意力分布值.最后如式(9)將隱藏層輸出值和注意力分布值進行點乘、累加,得到中文專利文本的特征向量矩陣T.
2.3.2 CNN 模型
本文利用BiLSTM_ ATT 模型可以獲取文本上下文的全局特征矩陣,但是無法體現專利文本局部特征,故采用卷積神經網絡(CNN)和BiLSTM_ ATT 模型進行組合.將BiLSTM_ ATT 模型獲得的文本信息特征向量和原始文本的詞向量x進行首尾連接作為CNN 的輸入,該輸入包含原始的專利文本信息,又包含經過BiLSTM_ ATT 模型提取的全局特征.利用CNN 對其進行進一步的局部特征提取,既解決了BiLSTM_ATT 模型無法獲取專利文本局部特征的問題,又避免了CNN 無法提取專利文本上下文語義信息的問題.
具體計算過程如下:
卷積層的輸入為M∈RL×d,M表示由BiLSTM_ATT 模型獲得的專利文本特征向量和原始文本的向量x連接得到的新專利文本向量,R表示新專利文本向量的集合,d是詞向量維度大小為K+K1,L是新專利文本向量的長度.
使用大小為m×d的卷積核w對輸入的新專利文本向量M進行卷積操作,計算公式如式(10).

式中,Mi,i+m+1表示在M的第i行到第i+m+1行之間進行提取局部特征,f是一個非線性轉換函數,又稱激活函數,本文采用ReLU 作為激活函數,表示卷積過程,b表示偏置項.
將特征映射進行列連接,得到對該樣本的特征矩陣W,ci是由第i個卷積核生成的特征映射,計算公式如式(11):

在卷積神經網絡中一般會采用max-pooling 或者動態的k-max-pooling 等池化函數對卷積后的特征映射進行池化,相當于降采樣,池化層可以減小數據空間大小,在一定程度上控制過擬合.本文采用k-maxpooling,從卷積層提取的文本特征中選取k個對分類最重要的文本特征,并進行拼接,計算公式為式(12),式(13)為全連接層.

2.3.3 BiLSTM_ATT_CNN 模型
本文設計了BiLSTM_ATT_CNN 模型用來實現專利文本分類,其中,BiLSTM_ATT 模型不僅可以考慮上下文信息,在隱藏層添加的注意力機制,還可以為詞語分配不同的注意力分布概率值,有效地防止信息丟失.同時,利用CNN 模型能夠捕獲空間或時間結構的局部關系的優勢,進一步提取專利文本的局部特征.該模型共分為5 層,輸入層、BiLSTM_ATT層、CNN 層、全連接層、分類層.BiLSTM_ATT_CNN組合模型結構如圖2所示.

圖2 BiLSTM_ATT_CNN 模型結構圖
第1 層為輸入層,主要功能是將專利文本數據進行分詞和詞向量化,首先利用結巴分詞系統將專利文本數據進行分詞,并去除停用詞,然后利用Word2Vec進行詞向量化.專利文本格式:“專利題目”+“摘要”+“主權項”,“分類號”.
第2 層為BiLSTM_ATT 層,LSTM 具有學習序列數據的能力,還避免了RNN 模型的梯度爆炸和消失問題,而BiLSTM 由正向LSTM 和反向LSTM 組合而成,可以更好的捕捉雙向的語義依賴.并在隱藏層加入Attention 機制,減弱數據稀疏性而造成重要信息的損失.另外,采用L2 正則化方法防止過擬合.
第3 層為連接層,將BiLSTM_ATT 層的輸出和輸入層的輸出進行首尾連接,作為CNN 層的輸入,可以使得文本特征信息更為豐富.
第4 層為CNN 層,CNN 層可以從大量的訓練數據中自動學習,捕獲空間、時間結構的局部特征,將連接層的輸出作為輸入,通過CNN 的卷積層進行特征提取,并在池化層采用k-max-pooling 進行下采樣,并添加全連接層.
第5 層為分類層,采用Softmax 函數實現專利文本分類,為了防止模型過擬合,在Softmax 層采用Dropout策略和L2 正則化策略,最后將結果輸出,并保存于數據庫中.
本文數據來源于SOOPAT 的公開數據,針對較為熟悉的計算機領域,采用Python 編程語言,利用requests、beautifulsoup 和selenium 等庫,進行爬蟲獲取樣本數據,從中整理得到訓練數據和測試數據.同時考慮到數據的均衡性,計算機領域專利主要集中在G 部,爬取的專利文本數據為G06K3/02、G07B1/02、G08G1/01、G09B5/08 和G11B5/012 這5 類別,各2000 條專利文本數據.其中1800 條作為訓練數據,200 條作為測試數據,訓練數據和測試數據不重合.
專利文本數據包括專利題目、摘要、主權項、正文、主分類號等文本,其中摘要和主權項中包含了專利的核心內容,閱讀者通過閱讀專利摘要和主權項就可以對該專利的類別有所把握,所以本文采用專利的題目、摘要、主權項和主分類號這4 部分內容作為樣本數據,數據格式圖3所示.

圖3 專利文本數據格式
本文采用準確率、召回率和F1 測量值作為評估指標.a表示正確分類的樣本數,b表示錯誤分類的樣本數,c表示屬于該類別卻被錯誤分類的樣本數.其中,準確率p為正確分類的樣本數和所有樣本和之比.準確率越高,說明分類越準確,如式(14).

召回率r表示為樣本中的正例被預測正確,即正確分類的樣本數與該類實際樣本數的比值.召回率越高,說明在該類上預測時漏掉的樣本越少,如式(15).

F1 值是將召回率和準確率綜合考慮,用于評價模型的總體性能,計算公式如式(16).

本文采用自主設計了一個文本分類系統,基于Druid實現文本數據的分布式列存儲,通過Zookeeper 對集群進行管理,使用Superset 對文本數據進行可視化展示.首先通過系統從Druid 中讀取相關數據,進行數據預處理,在預處理階段將專利文本數據進行分詞,去停用詞,使用Word2Vec 方法進行詞向量化.之后調用本文提出的BiLSTM_ATT_CNN 模型,采用mini-batch 的梯度下降方法進行訓練學習,避免了批量梯度下降收斂速度慢和隨機梯度下降法容易收斂到局部最優解的現象.實驗中,每次訓練樣本數為64,樣本長度為400,能夠使文本中包含的代表性的詞語較豐富.在CNN 中,設置卷積層使用的4 種卷積核窗口尺寸分別為3,5,7,11,個數均為128.將BiLSTM_ATT_CNN 模型與經典CNN、LSTM 方法相比,通過訓練測試后,將結果分析上傳保存到Druid,并通過Superset 在界面展示.
為說明本文模型的分類效果,本文使用 BiLSTM_ATT_CNN 模型的分類結果,與經典的CNN、LSTM分類模型的分類結果進行對比.
經過多次實驗,結果如表1所示.

表1 專利文本分類結果比較
由上表結果所示,在相同的數據集上,均使用結巴分詞系統進行分詞,使用Word2Vec 進行詞向量化,可以看出BiLSTM_ATT_CNN 模型要優于傳統的CNN和LSTM 模型.原因在于BiLSTM_ATT 模型可以更好的捕捉雙向的語義依賴,Attention 機制減弱數據稀疏性而造成重要信息的損失.CNN 模型可以彌補BiLSTM_ATT 模型未能提取的局部特征信息的問題,從而完善了專利文本特征提取,使得分類效果有了一定的提升.
本文利用BiLSTM_ATT_CNN 模型進行學習訓練,首先BiLSTM_ATT 模型不僅考慮上文信息,還兼顧下文信息,另外,在其隱層添加注意力機制,能夠計算歷史節點對當前節點的影響力權重,集注意力分配概率分布,有效地防止信息丟失,進一步優化了特征向量.CNN 模型能夠捕獲空間或時間結構的局部關系的能力,讓其在BiLSTM_ ATT 模型獲得的文本信息特征向量和原始文本的詞向量Xi進行首尾連接的新文本特征向量上進行訓練,提升了CNN 模型輸入層數據的質量.從實驗結果可以看出,與單一模型相比,雖然將BiLSTM 和CNN 模型進行結合,增加了訓練時間增加,提高了計算成本,但是BiLSTM_ATT_CNN 模型對專利文本分類效果要高于單一模型.在下一階段的研究中,會集中考慮對新專利進行分類時,可能會出現一些全新的詞,在分詞時,可能會因為分詞詞庫中沒有該詞,而進行了不恰當的分詞,導致有用信息丟失.其次,基于IPC 專利分類體系為多級多標簽分類,考慮建立分層機制進行專利文本分類,在部、大類、小類前3 個級別采用同一個分類器,在大組和小組級別上,由于專利文本相似度的增加,根據每個級別的類別數和專利文本數量設計不同的分類器進行訓練學習.