隨著大數(shù)據(jù)﹑云計算等現(xiàn)代信息技術的發(fā)展,傳統(tǒng)的紙質檔案快速向電子化﹑數(shù)字化檔案進行轉變,檔案管理模式出現(xiàn)了深刻的變化。檔案管理的分類﹑檢索等基本方法也隨之產生了變化。本文參考Kim提出的神經(jīng)網(wǎng)絡模型,自動提取檔案文本的特征集合,使用Word2vec進行詞向量訓練,旨在進一步提高電子檔案的分類準確率。
神經(jīng)網(wǎng)絡是一些具有適應性的神經(jīng)元組成的集合。神經(jīng)元是神經(jīng)網(wǎng)絡的最小組成單位,是一種二元線性分類器感知機制。
輸入x1和x2分別和各自的權重w1和w2相乘﹑求和,所以函數(shù)f=x1*w1+x2*w2+b=f(∑2i=1Wi+b)(偏置項,可以選擇性地添加)。函數(shù)f 可以是任意的運算,但是對于感知機而言通常是求和。函數(shù)f 隨后會通過一個激活函數(shù)來進行評估,該激活函數(shù)能夠實現(xiàn)期望分類。
把多個神經(jīng)單元堆疊在一起,并組成分層結構。前面一層的神經(jīng)單元(隱藏層)通過f函數(shù)的輸出結果作為下一層的輸入,再通過f函數(shù)和激活函數(shù)得到最終的分類,這就形成全連接的神經(jīng)網(wǎng)絡。
詞向量也叫詞嵌入,是通過神經(jīng)網(wǎng)絡來訓練語言模型,在訓練過程中生成一組向量,這組向量將每個詞表示為n維向量,可理解為文本的數(shù)學化表示。一種最簡單的詞向量方式是One-Hot Representation,就是用與詞典等長的向量來表示一個詞,該詞所在詞典的索引對應分量1,其余分量全為0,例如“工程師”表示為[0 0 0 1 0 0 0 ...]。One-Hot方式非常簡潔,僅需為每個詞分配一個數(shù)字編號即可,但該方式容易出現(xiàn)維度災難,不能較好地刻畫各詞語之間的相似性。另一種是Hinton在1986年提出的Distributed Representation 向量方式,很好地克服了One-Hot方式的缺點。該方式通過語言模型的訓練,用固定長度的短向量來表示詞語;將所有的詞向量放在一起,形成向量空間。在該空間上不同詞語之間的距離,就是該詞語法﹑語義之間的相似性。而Word2vecs是谷歌Tomas-Mikolvd團隊研發(fā)的一款開源的詞向量產生工具,本文即利用Word2vecs來訓練職員電子檔案的語言模型,獲取相應的詞向量集合。
CNN卷積神經(jīng)網(wǎng)絡是深度學習技術中極具代表的網(wǎng)絡結構之一,在圖像處理領域取得了很大的成功。在國際標準的ImageNet數(shù)據(jù)集上,許多成功的模型都是基于CNN的。近年來,該技術在自然語言處理﹑語音識別等方面均有突破性應用。下文基于CNN卷積神經(jīng)對職員檔案進行分類搜索,即是基于CNN在自然語言處理中的應用。
不同于普通網(wǎng)絡神經(jīng)算法,CNN卷積神經(jīng)網(wǎng)絡的特征抽取器由卷積層和子采樣層構成。卷積層中存在著若干個特征平面,每個平面由一些矩形排列的神經(jīng)元組成(神經(jīng)元只與部分鄰層神經(jīng)元相連接),這些神經(jīng)元共享權值,稱為卷積核。先用隨機小數(shù)矩陣的形式對卷積核進行初始化操作,再通過語料訓練過程得到合理的權值。卷積核的應用減少了神經(jīng)網(wǎng)絡各層之間的連接,降低了擬合風險。子采樣也稱為池化層,具有最大值子采樣和均值子采樣兩種形式。子采樣的過程就是一種特殊的共享權值的過程。卷積和子采樣的引入精簡了神經(jīng)模型的參數(shù),簡化了它的復雜程度。
Kim對基于自然語言文本處理的CNN卷積神經(jīng)網(wǎng)絡作了詳細的闡述。其結構包含輸入層﹑卷積層﹑池化層﹑全連接及SOFTMAX層[1]。根據(jù)CNN卷積神經(jīng)網(wǎng)絡的定義和模型結構,具體建模流程如下:
以企業(yè)人才簡歷檔案分類為例,抽取人才檔案庫中名稱為軟件工程師的檔案10000份,其中8000份作為訓練集,2000份作為驗證集,并計算各檔案的特征矩陣。具體步驟如下:
1.首先用分詞工具對訓練集中的每個檔案T進行分詞處理,并進行去重﹑剔除無用詞語﹑刪除標點符號﹑刪除空格等處理得到檔案T的詞典TD。用Word-2Vecotr對TD進行向量初始化,并將初始化的結果合并到詞向量空間R中;
2.然后將每條檔案T進行分詞處理,得到詞序列wi(i)。將wi帶入向量空間R中,得到對應的詞向量vi(i);
3.再將T的詞向量序列vi作鏈接操作,得到檔案T的特征矩陣。
4.最后將詞向量序列vi按照先后順序,從上到下排列。公式(1)的結果檔案T的特征矩陣則轉換為詞向量空間Rd:n的特征矩陣
接下來,將特征矩陣T作為輸入?yún)?shù),通過卷積﹑池化操作獲得檔案的句子向量。
卷積操作的本質是對檔案序列進行特征抽取的過程。具體流程如下:
1.設定卷積核WRdn,則卷積核W所圍的單詞個數(shù)即卷積核的尺寸,稱為hn(h為W的行數(shù))。在檔案的文本中,單詞語義只存在豎向相關性,故卷積核只作步長為1的豎向卷積操作;
2.將檔案矩陣T的子矩陣Xi,XiRd:n,i分別與卷積核序列W進行如下運算:
bRn是對矩陣T進行調整的偏差值,f是雙曲正切激勵函數(shù)。將卷積核與Xi進行d-h+1次卷積運算,得到卷積矩陣C。
為了更全面﹑準確地獲取每個職員檔案的特征值,提高數(shù)據(jù)平滑性,本文分析中通過在卷積層中設置m個卷積核,將X與m個卷積核進行卷積運算,得到m個卷積矩陣Cm,并投入到池化層中進行降維處理。
檔案T的句子經(jīng)過m個卷積核進行卷積運算以后,生成m個R(d-h+1)x1空間的句子向量C,將C做池化運算:
將m個卷積矩陣C進行以上運算,得到一個Rmx1空間的句子特征向量P:
然后再將向量P作為分類的輸入?yún)?shù),最終得到分類結果。
經(jīng)過前述操作步驟,已將建立檔案T轉換為T所包含全部詞向量的特征矩陣,并通過卷積﹑池化操作得到T的特征向量P。接下來,將通過全鏈接方式鏈接Softmax多分類的分類器。
分類器的作用,是對特征向量P進行計算,分別得出各個分類的概率,取概率最大的分類作為該檔案T的分類。
分類器處理過程如下:
1.整理出數(shù)據(jù)集D = {x(i),y(i)},i∈[1,n]。其中y(i)是y(i)[1,k]的整數(shù),表示該樣本所屬的分類,SoftMax函數(shù)為:
這里的x(i)仍然是增廣向量形式:[1,x1,x,…,xk]。對于樣本x(i)使用上述公式計算,得出該樣本屬于j類的概率δj
(i)。計算樣本屬于各個分類的k個概率,并選取概率最大的類作為樣本的最終分類。
2.令I×為指示函數(shù),即I{值為真}=1,I{值為假}=0。再令 qj
j=I{y(i)=j},利用對數(shù)最大化似然估計得到損失函數(shù):
3.利用梯度下降法最小化誤差函數(shù)J(w),對其求w的偏導數(shù),得到結果:
迭代公式為:
為更直觀地分析CNN神經(jīng)網(wǎng)絡與其它分類算法在電子檔案分類識別上準確率和效率的差異,本文用TensorFlow 編程實現(xiàn)了上述模型處理過程,進行對比試驗。
從檔案庫中抽取10000份名稱為工程師的電子檔案數(shù)據(jù),隨機抽樣取 8000份檔案作為訓練樣本,其余的作為驗證測試數(shù)據(jù)。
通過對比試驗,發(fā)現(xiàn)使用機器學習的幾種算法都能實現(xiàn)對測試電子檔案的有效識別和準確分類,從而大大降了用于人工搜索與閱讀判斷其所屬分類的時間成本。
對比以上結果,由Facebook開發(fā)的快速文本分類器FastText提供了簡單﹑高效的文本分類和表征方法,但在電子檔案區(qū)分度不大的情況下,分類準確率有待進一步提高。TextGrocery則是一個基于SVM算法的短文本分類工具,內置結巴分詞,但是從時間和準確率來看,綜合效果并不十分突出。而基于卷積神經(jīng)網(wǎng)絡CNN的檔案分類算法,特征學習力能力優(yōu)異,特征對數(shù)據(jù)本質的刻畫最為準確﹑深刻,更有利于檔案的分類和區(qū)分;雖然耗時達1360秒,但與人工區(qū)分篩選耗時相比,該運行時間完全可以接受。
本文提出基于卷積神經(jīng)網(wǎng)絡CNN的電子檔案分類模型。該模型充分考慮了中文檔案文本特征稀疏﹑含有大量專業(yè)詞匯等特點。試驗表明,CNN卷積神經(jīng)網(wǎng)絡分類模型相比TextGrocery﹑FastText等經(jīng)典分類器準確率大大提高。Word2vec訓練模型的引入,極大地提高了在充分考慮語義特征情況下的中文單詞訓練和向量詞典初始化的效率。在試驗過程中,還發(fā)現(xiàn)不同的卷積核數(shù)量和初始化方法對分類的結果具有一定的影響。未來的研究重點是如何優(yōu)化選取卷積核數(shù)量和分類的方法,更好地提高檔案分類的準確率。