程 盼,徐弼軍
(浙江科技學院 理學院,杭州 310023)
專利作為重要的技術信息載體,包含著各種有價值的重要研究成果,其數(shù)量也在不斷攀升[1],于是面對海量的專利文本,對其進行合理的分類顯得尤為重要[2]。目前,專利文本分類還是以人工為主,但隨著專利數(shù)量的迅速增長,若僅靠專利審查員的專業(yè)素質與經驗來進行分類,則無法滿足高效和準確的實際需求[3]。
近年來,國內外對專利文本分類進行了大量的研究。Cassidy[4]提出了一種改進的樸素貝葉斯算法,并在來自世界專利信息(World Patent Information,WPI)測試集中的7 309項專利組成的語料庫上進行了測試,結果表明在利用極少的數(shù)據(jù)進行訓練時F1值仍能夠達到34.26%。Li[5]等提出了一種基于卷積神經網絡(convolutional neural networks,CNN)和單詞嵌入向量的深度學習算法DeepPatent,并將其在數(shù)據(jù)集CLEF-IP與新數(shù)據(jù)集USPTO-2M上分別進行了測試,其精確度分別達83.98%與73.88%。賈杉杉等[6]提出了一種多特征多分類器方法,對多種特征分別用多個分類器進行測試,準確率最高達91.2%。胡云青[7]提出的改進的三體訓練法半監(jiān)督模式,能夠動態(tài)改變分類器對相同未標記樣本預測類別的概率閾值,并且在訓練樣本只有少數(shù)標記的情況下F1值最高達70.6%。
在海量的專利文本中,為了提高專利審查員的分類效率,提升對專利信息的組織管理水平,因此引進機器學習來對專利文本進行自動分類非常必要[8]。但是專利文本中大量專業(yè)術語的使用,特定于行業(yè)中的語言降低了詞匯密度,并導致算法的搜索空間稀疏;此外,有意的非標準化語言雖然可以幫助申請人擴大專利范圍或減少侵權的可能性,但這會給機器學習帶來噪聲,使其難以找到清晰的模式[9-10]。為了克服這些限制,我們提出了一種新的機器學習方法,利用word2vec模型的詞向量進行文本表示,配合logistic回歸模型來實現(xiàn)對專利文本的自動分類。
word2vec是一種用來產生詞向量的神經網絡概率語言模型,由Mikolov等[11]在2013年提出。它可以根據(jù)給定的文本數(shù)據(jù),在快速有效地優(yōu)化訓練模型后將一個詞轉換成向量形式。該算法依據(jù)連續(xù)詞袋(continuous bag-of-words,CBOW)模型和Skip-gram模型來進行訓練,兩個模型的結構如圖1、圖2所示,圖中方框表示詞匯的向量。CBOW模型的輸入層為當前詞匯的上下文詞匯的獨熱向量(one -hot向量),經過投影層對上下文詞匯的詞向量進行累加計算,最后輸出層輸出預測的當前詞匯的詞向量。Skip-gram模型的輸入層為當前詞匯的one -hot向量,為了與CBOW模型對比,Skip-gram模型也加入一個投影層,但此投影層只對輸入的當前詞匯的向量進行加權,最后經過輸出層輸出當前詞匯的上下文詞匯的詞向量。
圖1 CBOW模型的結構
圖2 Skip-gram模型的結構
由圖1可知,CBOW模型是在已知上下文詞匯w(t-2)、w(t-1)、w(t+1)、w(t+2)的前提下來預測當前詞匯w(t),簡言之,即通過上下文的內容來預測當前詞匯。它的學習目標就是最大化對數(shù)似然函數(shù),其數(shù)學表達式為
(1)
式(1)中:w為當前語料庫C中任意一個詞;Context(w)為當前詞語w的上下文。
而Skip-gram模型是在已知當前詞匯w(t)后,預測其上下文詞匯w(t-2)、w(t-1)、w(t+1)、w(t+2)。其目標函數(shù)的數(shù)學表達式為
(2)
在本研究的實際操作過程中,Skip-gram模型的訓練時間與CBOW模型相比更長,但其精度優(yōu)于CBOW模型。因此,為了獲得更好的分類效果,本研究選取Skip-gram模型[12]。
logistic回歸模型[13]是統(tǒng)計學中比較經典的分類算法。它雖然被稱為回歸,但實際上卻是一種用于分類的模型。它的因變量有二分類、多分類,本研究利用它進行多分類。
設X是連續(xù)隨機變量,X服從logistic分布是指X具有下列分布函數(shù)和密度函數(shù):
(3)
(4)
式(3)~(4)中:γ為形狀參數(shù);μ為位置參數(shù)。
二項logistic回歸模型由條件概率分布P(Y|X)表示,形式為參數(shù)化的logistic分布。其中,隨機變量X為實數(shù),隨機變量Y的取值范圍為{0,1}。將x∈Rn作為輸入,Y∈{0,1}作為輸出,則二項logistic回歸模型可用以下條件概率分布來表示:
(5)
(6)
式(5)~(6)中:w、b均為參數(shù),w∈Rn,b∈R;w為權值向量;b為偏置;wx為w和x的內積。
為了方便計算,有時會將權值向量和輸入向量進行擴充,仍然記作w、x,即w=(w1,w2,…,wn,b)T,wi表示權值向量w的第i個分量,x=(x(1),x(2),…,x(n),1)T,x(i)表示輸入向量x的第i個分量,i=1,2,…,n。這時,logistic回歸模型如下:
(7)
(8)
logistic回歸模型在訓練學習時,對于給定的訓練數(shù)據(jù)集T={(x1,y1),(x2,y2),…,(xN,yN)}(xi∈Rn,yi∈{0,1})可以利用極大似然估計法來估計模型參數(shù)。
為了解決多類分類問題,將二項logistic回歸模型進行推廣。假設{1,2,…,K}為離散型的隨機變量Y的取值集合,那么多項logistic回歸模型為
(9)
(10)
式(9)~(10)中:x∈Rn+1,wj∈Rn+1。
本研究所有的試驗都是基于Windows10操作系統(tǒng),CPU型號為Core i5,主頻為3.00 GHz,內存大小為8 GB,編程語言使用Python 3.7版本,用到了Sklearn、Jieba、Pandas等多方庫。本試驗數(shù)據(jù)為從萬方數(shù)據(jù)知識服務平臺下載的2019年中國已授權的專利文本數(shù)據(jù),這些數(shù)據(jù)按照國際專利分類號(International Patent Classification,IPC)進行了標記。IPC分類號采用“部—類—組”的層次分類方法,層次越低,文本的相似度就越高[14]。為了方便研究,本研究從數(shù)據(jù)庫中獲取的是“部”類別為H的電學領域的專利文本,分別為H01、H02、H03、H04、H05,其中每個類別數(shù)量都為6 000篇,一共30 000條的專利數(shù)據(jù)作為語料庫。各專利分類號的具體含義見表1。
表1 專利分類號含義
由于專利說明是對該專利的進一步解釋,因此,我們在試驗中將專利說明和摘要的內容進行文本合并后,構成了最終參與試驗的語料庫[15]。為了方便試驗,人工劃分出了訓練集與測試集,其中訓練集包含每個類別的5 000條數(shù)據(jù),測試集包含每個類別的1 000條數(shù)據(jù)。整個試驗設計的流程如圖3所示。
圖3 試驗設計流程
對數(shù)據(jù)集進行人工標注后,開始進行文本預處理,其中主要包括分詞和去除停用詞[16]。由于文本處理中最基礎的單元就是詞匯,因此,需要將整個語料進行分詞。我們使用Python的第三方庫Jieba對專利文本進行有效的分詞。然后再去除停用詞,即助詞、符號等對整個語義沒有影響的詞,本研究采用的是收錄較為完整的《哈爾濱工業(yè)大學停用詞表》。最后,將完成分詞和去除停用詞后的文檔進行保存,該文檔將全部由詞匯組成。
將預處理之后的文本數(shù)據(jù)利用Python中的第三方庫Gensim的word2vec模型進行訓練,從而得到詞匯的詞向量表[17]。經過一系列的調試之后,我們發(fā)現(xiàn)將詞向量維數(shù)設置為200,迭代次數(shù)設置為10,其他參數(shù)保持不變時,該模型的精度達到最優(yōu)。
為了驗證本研究提出的word2vec+logistic模型的有效性和優(yōu)越性,設計了兩組試驗進行對比。一組試驗為在相同的分類器logistic回歸模型下,采用不同的文本表示方法,即word2vec模型和向量空間模型進行比較。其中word2vec模型是將得到的詞向量與分詞之后的文檔進行詞匯映射,得到每個詞匯具體的詞向量值,然后求出文檔的平均值,從而得到文檔的詞向量表示;而傳統(tǒng)的向量空間模型主要采用的是one-hot編碼,即將所有待分類的語句中不重復的詞匯全部提取出來,形成詞典,將詞匯出現(xiàn)在詞典中的位置記為1,其他位置記為0,然后使用詞頻-逆向文檔頻率(TF-IDF)特征權重計算方法來加權表示[18]。另一組試驗為在相同的文本表示方法word2vec模型下,采用不同的分類器logistic回歸模型與k近鄰(k-nearest neighbor,KNN)算法在相同數(shù)據(jù)集上進行對比試驗。
采用精確度P、召回率R及F1值來評價模型的分類效果。假設將關注的類別標簽記作正類,其余的類別標簽記作負類,則分類器的預測結果在測試集上有正確和不正確兩種[19]。其中,精確度以預測結果為判斷依據(jù),召回率以實際樣本為判斷依據(jù)。
精確度可表示為
(11)
式(11)中:a為實際為正例的樣本數(shù);b為實際為負例的樣本數(shù)。
召回率可表示為
(12)
式(12)中:c為預測錯誤的樣本數(shù)。
F1值是精確度和召回率的調和均值,其表達式為
(13)
3.2.1 word2vec+logistic模型與TF-IDF+logistic模型對比分析
為了驗證詞向量模型進行文本表示的優(yōu)勢,設計了在采用同種分類器下,利用詞向量模型word2vec與向量空間模型TF-IDF分別進行文本表示的分類結果對比試驗[20]。
在對利用word2vec模型進行文本表示的語料進行訓練的過程中,采用了十折交叉驗證,word2vec+logistic模型在訓練集上的平均準確率達到了71%。由圖4可知,將模型保存之后應用在測試集上,各類別的準確率分別為69%、64%、84%、76%、61%,平均準確率達到了70%左右,這與在訓練集上的結果相差不大。而用同樣的數(shù)據(jù)在對利用TF-IDF進行文本表示的語料進行訓練時,經過交叉驗證之后,TF-IDF+logistic模型在訓練集上的平均準確率僅為42%,而在測試集上,平均準確率也就40%左右。
圖4 word2vec+logistic與TF-IDF+logistic在測試集上各類別的準確率
表2、表3所示的是word2vec+logistic模型與TF-IDF+logistic模型分類結果的精確度(P)、召回率(R)與F1值,通過對比可以看出,使用向量空間模型的專利文本分類效果較差,除了H03類之外,其他類F1值只達到了35%左右。導致其分類效果低的原因可能是專利文本中不同領域擁有各種專有名詞,而向量空間模型只會對詞匯做比較簡單的區(qū)分,并且向量的維度極高,樣本之間的特征太過稀疏化。而基于word2vec的詞向量文本表示,可以表達詞匯之間的相似度,對近義詞進行區(qū)分,其分類結果在各項指標上明顯地要優(yōu)于向量空間模型,相比之下,基本上所有類別的F1值都提高了30%左右。
表2 基于word2vec+logistic模型的文檔分類結果
表3 基于TF-IDF+logistic模型的文檔分類結果
3.2.2 word2vec+logistic模型與word2vec+KNN模型對比分析
KNN分類模型作為最簡單的、經典的機器學習模型,在分類問題上被廣泛使用,因此,選取KNN模型來與logistic回歸模型進行比較。KNN模型是在特征空間中通過計算待測樣本與訓練樣本間的距離,得出與待測樣本相鄰最近的k個樣本中的大多數(shù)屬于哪一類別,則該待測樣本也屬于這個類別[21]。
圖5所示的是word2vec+logistic模型與word2vec+KNN模型在測試集上各類別的準確率,從圖中可以看出,在進行十折交叉驗證之后,word2vec+KNN模型在整個測試集上的平均準確率為63%左右,而word2vec+logistic模型平均準確率為70%左右,比word2vec+KNN模型提高了7%左右。
圖5 word2vec+logistic與word2vec+KNN在測試集上各類別的準確率
表4所示的是word2vec+KNN模型在測試集上的分類結果,與表2所示的word2vec+logistic模型的分類結果比較,可以發(fā)現(xiàn)logistic回歸模型各個類別的F1值最大提高了10%。究其原因,在選取數(shù)據(jù)時,我們是基于部隨機選取的專利樣本,每個部下面還有很多類、組,其類組之間有的可能存在較大的差異,KNN模型是靠鄰近的k個點來判斷,這就導致當出現(xiàn)樣本不均衡問題時,其分類效果會變差;其次,KNN模型中k值大小的選擇沒有理論上的最優(yōu)值,在訓練過程中發(fā)現(xiàn),隨著k值越來越大,模型精度的確有所提升,但是這只會讓模型變得簡單,這并不是一個較好提升模型精度的方式,而logistic回歸模型不依賴于樣本之間的距離。因此,在本試驗中,logistic回歸模型充分表現(xiàn)出了它的優(yōu)勢。
表4 基于word2vec+KNN模型的文檔分類結果
針對中文專利文本的自動分類問題,本研究提出了一種新的機器學習方法,利用word2vec進行文本表示,用logistic回歸作為分類器的專利文本分類模型,并與傳統(tǒng)的向量空間模型進行文本表示及利用KNN模型作為分類器進行比較。經過理論分析和試驗評估發(fā)現(xiàn),與傳統(tǒng)的向量空間模型采用TF-IDF進行文本表示相比,word2vec模型在進行文本表示時,可以很好地區(qū)分專利文本中相似的特征,并且logistic回歸模型與KNN模型相比,在分類效果上其精確度、召回率、F1值都有了顯著的提高。此外,本研究的模型還可以推廣到其他專利類別的文本分類上,后續(xù)工作將是進一步研究優(yōu)化,以獲得更優(yōu)的分類效果。