俸世洲,周尚波
(1.重慶師范大學(xué) 涉外商貿(mào)學(xué)院,重慶 401520; 2.重慶大學(xué) 計算機學(xué)院,重慶 400030)
基于深度自編碼網(wǎng)絡(luò)的高校招生咨詢算法
俸世洲1,2,周尚波2*
(1.重慶師范大學(xué) 涉外商貿(mào)學(xué)院,重慶 401520; 2.重慶大學(xué) 計算機學(xué)院,重慶 400030)
高校招生在線咨詢通常采用人工回復(fù)或基于關(guān)鍵詞匹配的問答系統(tǒng)來處理,常存在人工回復(fù)效率低下,問答系統(tǒng)答非所問的問題; 此外,咨詢文本往往比較簡短,文本向量化表示易導(dǎo)致高維稀疏問題。針對上述問題,提出一種基于棧式降噪稀疏自編碼網(wǎng)絡(luò)(SDSAE)的招生咨詢算法。首先,利用自編碼網(wǎng)絡(luò)對短文本進行特征提取和降維,引入數(shù)據(jù)集增強技術(shù)和添加噪聲技術(shù)解決訓(xùn)練樣本規(guī)模較小且分類不均問題,提高算法的泛化能力;獲得短文本低維特征表示后,結(jié)合反向傳播(BP)算法對文本進行分類。所提算法分類效果優(yōu)于BP、支持向量機(SVM)、極限學(xué)習(xí)機(ELM)等算法,能顯著提高招生咨詢文本的分類效果。
深度學(xué)習(xí);自編碼;神經(jīng)網(wǎng)絡(luò);文本分類
近年來,在線咨詢平臺、微信、營銷QQ等新媒體在高校招生領(lǐng)域的應(yīng)用越來越廣泛,在這些系統(tǒng)中積存了大量的咨詢數(shù)據(jù),如何利用已有的數(shù)據(jù)資源,為招生咨詢決策提供依據(jù),已成為招生工作的新挑戰(zhàn)[1]。招生咨詢是高校招生工作中的重要環(huán)節(jié),除提供電話咨詢服務(wù)外,還提供在線咨詢。一方面,解答考生問題,具有公益性質(zhì);另一方面,推薦本校,吸引生源。所以,很多高校已開通各類在線咨詢平臺,以擴大宣傳范圍。目前,高校使用的中文在線咨詢平臺都是基于關(guān)鍵詞匹配的問答系統(tǒng),需要人工在后臺制定問答模板??忌釂柡螅到y(tǒng)根據(jù)考生咨詢文本中的某些關(guān)鍵詞來查找答案,并將其反饋給考生。這樣的問答模式過于形式化,只是簡單的關(guān)鍵字匹配,并沒有理解問題本質(zhì),有時甚至答非所問。然而,在線咨詢數(shù)據(jù)量非常大,全部依靠人工來處理已不可能。因此,在高校招生領(lǐng)域中,引入智能化的咨詢平臺就顯得尤為重要。為此本文引入深度學(xué)習(xí)理論,構(gòu)建能夠?qū)ψ稍兾谋具M行特征提取及分類的模型。首先利用深度模型對已有的招生歷史數(shù)據(jù)進行學(xué)習(xí),獲取咨詢問題的特征; 然后將該模型應(yīng)用于招生咨詢系統(tǒng)中,在線處理考生提問,并對考生提問進行分類統(tǒng)計,了解考生關(guān)注熱點。它為高校及時調(diào)整招生宣傳策略和咨詢接待方案提供了決策依據(jù),也為高校設(shè)計制作智能咨詢決策系統(tǒng)提供了一種新途徑,這也是深度學(xué)習(xí)在高校招生領(lǐng)域的首次嘗試。
深度學(xué)習(xí)是機器學(xué)習(xí)中的一個新領(lǐng)域,近年來在自然語言處理中得到了廣泛的應(yīng)用[2-4]。文獻[5]提出一種基于稀疏自編碼網(wǎng)絡(luò)的文本特征提取算法,并用于文本分類,該算法能實現(xiàn)高維數(shù)據(jù)的分類。文獻[6]提出基于自編碼網(wǎng)絡(luò)的短文本流形表示方法,通過自編碼網(wǎng)絡(luò)提取短文本的特征,并利用外部標簽擴充短文本信息,使用該模型生成的流形表示能更準確描述短文本的特征信息,使分類效果得到顯著提升。文獻[7]將棧式自編碼網(wǎng)絡(luò)用于提取文本的語義特征,實驗證明高階特征表示訓(xùn)練的情感分類器的學(xué)習(xí)性能明顯優(yōu)于其他方法。文獻[8]將深層噪聲自動編碼器用于短文本的特征提取,引入L1范式增加稀疏性,然后手動添加噪聲增加魯棒性,實驗證明,此方法提取的文本特征明顯有利于提高聚類效果,有效地解決了短文本表示的高維稀疏性問題。
招生咨詢文本自身存在兩方面問題:一方面文本長度較短,文本表示存在高維稀疏性[9];另一方面由于訓(xùn)練樣本的人工標注成本較高,所以獲得的訓(xùn)練樣本數(shù)量有限,而且咨詢問題的分類并不均勻,這導(dǎo)致在數(shù)據(jù)庫中隨機選取的訓(xùn)練樣本也存在分類不均問題。以上問題對深度學(xué)習(xí)模型的魯棒性提出了更高的要求。本文參考文獻[8]的特征提取方法,選擇棧式降噪稀疏自編碼網(wǎng)絡(luò)(Stacked Denoising Sparse Autoencoders, SDSAE)用于特征提取, 并針對招生咨詢短文本自身的特點,在算法上進行相應(yīng)的改進:一方面在算法中引入數(shù)據(jù)集增強技術(shù)來增加訓(xùn)練樣本數(shù)量,并使訓(xùn)練樣本分類更加均勻;另一方面在訓(xùn)練階段引入Denoising方法和Dropout機制向網(wǎng)絡(luò)的輸入層和隱藏層添加噪聲來增強模型的魯棒性,改進網(wǎng)絡(luò)的泛化能力。本文采用改進后的棧式降噪稀疏自編碼網(wǎng)絡(luò)進行無監(jiān)督學(xué)習(xí),對文本進行特征提取和降維。然后,將自編碼網(wǎng)絡(luò)學(xué)習(xí)得到的權(quán)值作為反向傳播(Back Propagation, BP)網(wǎng)絡(luò)權(quán)值的初始值,通過監(jiān)督學(xué)習(xí)對BP網(wǎng)絡(luò)的權(quán)值進行微調(diào),最后用于測試樣本的分類。
自編碼網(wǎng)絡(luò)(AutoEncoders, AE)[10]是一種盡可能復(fù)現(xiàn)輸入信號的前饋神經(jīng)網(wǎng)絡(luò),是一種無監(jiān)督學(xué)習(xí)算法。圖1(a)和(b)分別是AE網(wǎng)絡(luò)的結(jié)構(gòu)和抽象圖,該網(wǎng)絡(luò)可以看作由編碼器和解碼器兩部分組成。
圖1 AE網(wǎng)絡(luò)的結(jié)構(gòu)和抽象圖Fig. 1 Structure and abstract graph AutoEncoders neural networks
AE網(wǎng)絡(luò)嘗試學(xué)習(xí)一個hW,b(x)≈x的函數(shù),也就是嘗試逼近一個恒等函數(shù),使得輸出接近于輸入。這種方法看似并沒有學(xué)習(xí)的意義,但是當(dāng)隱藏層神經(jīng)元個數(shù)小于輸入層神經(jīng)元個數(shù)時,迫使AE網(wǎng)絡(luò)學(xué)習(xí)輸入數(shù)據(jù)的壓縮表示,即是對輸入數(shù)據(jù)的降維。自編碼網(wǎng)絡(luò)采用梯度下降算法來求解網(wǎng)絡(luò),其代價函數(shù)為:
(1)
其中:第一項是一個均方差項,第二項是一個規(guī)則化項,也叫權(quán)重衰減項,其目的是減小權(quán)重的幅度,防止過擬合,x(i)和y(i)分別表示網(wǎng)絡(luò)的輸入和輸出,W是權(quán)重,b是偏置項,m是輸入樣本的個數(shù)。梯度下降算法的每一次迭代都按式(2)和(3)對參數(shù)W和b進行更新, 式中α是學(xué)習(xí)率。
(2)
(3)
如果本文給自編碼網(wǎng)絡(luò)加上L1正則化限制,即稀疏性(Sparseness)限制(主要是約束隱藏層大部分節(jié)點輸出為0,只有少數(shù)不為0,咨詢短文本的表示存在高維稀疏性,加入稀疏性限制會提高訓(xùn)練效果),則形成稀疏自編碼網(wǎng)絡(luò)。其代價函數(shù)表示為:
(4)
(5)
(6)
獲得代價函數(shù)及偏導(dǎo)數(shù)后,采用梯度下降法減小代價函數(shù)J(W,b)的值,進而求解整個網(wǎng)絡(luò)。整個步驟如下:
1)對于所有層l, 令ΔW(l)=0,Δb(l)=0。
2)使用反向傳播算法計算▽W(xué)(l)J(W,b;x,y)和▽b(l)J(W,b;x,y)。
3)計算ΔW(l)=ΔW(l)+▽W(xué)(l)J(W,b;x,y)和Δb(l)=Δb(l)+▽b(l)J(W,b;x,y)。
4)更新權(quán)重參數(shù):
(7)
(8)
棧式自編碼網(wǎng)絡(luò)是一個由多層自編碼器組成的神經(jīng)網(wǎng)絡(luò),前一層AE的輸出作為后一層AE的輸入,每一層都會得到原始輸入的不同表達。采用逐層貪婪訓(xùn)練算法依次訓(xùn)練網(wǎng)絡(luò)的每一層。先利用原始輸入x來訓(xùn)練網(wǎng)絡(luò)的第一層,得到其參數(shù)W(1)、b(1);然后,網(wǎng)絡(luò)的第一層將原始輸入轉(zhuǎn)化成為由隱藏層單元激活值組成的向量A,接著將A作為第二層的輸入,繼續(xù)訓(xùn)練得到W(2)、b(2);后面的各層采用同樣的策略,進而訓(xùn)練整個棧式自編碼網(wǎng)絡(luò)。至于需要多少層,應(yīng)根據(jù)實際應(yīng)用需求通過實驗確定。
提高深度學(xué)習(xí)模型泛化能力的最好辦法是使用更多的數(shù)據(jù)進行訓(xùn)練[11]。但是由于招生咨詢文本的人工標注成本較高,因此獲得的訓(xùn)練樣本數(shù)量有限且分類不均。要解決以上問題,并使模型具有較強的魯棒性,就必須增加訓(xùn)練樣本,即增強數(shù)據(jù)集。本文將標注的訓(xùn)練樣本數(shù)據(jù)轉(zhuǎn)化為短文本向量后,在樣本數(shù)量較少的類別中隨機選取一定比例的樣本,將樣本向量中某些值置為0或者1并生成新的樣本,然后將其與原始訓(xùn)練樣本合并,生成最終的訓(xùn)練樣本集。網(wǎng)絡(luò)短文本在輸入時本身就具有很高的隨意性,輸入錯誤經(jīng)常發(fā)生,數(shù)據(jù)集增強可以大幅改善模型的泛化能力。
在網(wǎng)絡(luò)的輸入層注入噪聲通常被看作數(shù)據(jù)集增加的一種形式。在模型的輸入中加入噪聲相當(dāng)于對權(quán)重施加范數(shù)懲罰。Vincent等[12]指出,普通AE在不加生成約束的情況下,很容易將輸入向量直接復(fù)制到輸出向量,當(dāng)訓(xùn)練集和測試集不符合同一分布時,訓(xùn)練效果急劇下降,網(wǎng)絡(luò)的泛化能力很差。為此,Vincent等提出降噪自編碼網(wǎng)絡(luò)(Denoising Autoencoder, DAE),如圖2所示,該算法對原始樣本X進行毀壞(以一定概率將輸入層某些節(jié)點值置零),使原始樣本成為X′,再用于網(wǎng)絡(luò)的訓(xùn)練。降噪自動編碼器是在自動編碼器的基礎(chǔ)上,訓(xùn)練數(shù)據(jù)加入噪聲,所以自動編碼器必須學(xué)習(xí)去去除這種噪聲而獲得真正的沒有被噪聲污染過的輸入。因此,這就迫使編碼器去學(xué)習(xí)輸入信號的更加魯棒的表達,這也是它的泛化能力比一般編碼器強的原因。本文使用深度學(xué)習(xí)工具包中神經(jīng)網(wǎng)絡(luò)參數(shù)inputZeroMaskedFraction向輸入層添加噪聲。
圖2 降噪自編碼網(wǎng)絡(luò)Fig. 2 Denoising AutoEncoders
2012年,Hinton教授提出Dropout方法,該方法將噪聲添加到隱藏層單元,這被看作在抽象層上進行的數(shù)據(jù)集增強,它能更好地解決網(wǎng)絡(luò)的過擬合問題,文獻[13]證明了Dropout方法的有效性。Dropout方法稱為丟失數(shù)據(jù)技術(shù),這種方法的關(guān)鍵步驟在于訓(xùn)練時隨機讓網(wǎng)絡(luò)某些隱藏層節(jié)點的權(quán)重不工作,被抑制權(quán)重的節(jié)點暫時不作為網(wǎng)絡(luò)的一部分,但是節(jié)點的權(quán)重保留,在下次訓(xùn)練樣本輸入時有機會處于工作狀態(tài)。它的作用相當(dāng)于為隱藏層加入了稀疏性,這種方法有效地緩解了網(wǎng)絡(luò)的過擬合問題,并且效果比其他正則化方法有了明顯的提升。Dropout神經(jīng)網(wǎng)絡(luò)模型如圖3所示,圖3(b)網(wǎng)絡(luò)的某些節(jié)點被丟失。Dropout方法相比其他正則化項,如權(quán)重衰減、參數(shù)范數(shù)懲罰、稀疏性限制等更有效。Dropout也可以與其他形式的正則化合并,使效果得到進一步提升。Dropout的另一個顯著優(yōu)點是不怎么限制適用的模型或訓(xùn)練過程,幾乎在所有使用分布式表示且可以用隨機梯度下降訓(xùn)練的模型上都表現(xiàn)得很好,其中包括前饋神經(jīng)網(wǎng)絡(luò)、概率模型。本文將Dropout機制加入棧式自編碼網(wǎng)絡(luò),提高網(wǎng)絡(luò)的泛化能力,防止過擬合。本文使用深度學(xué)習(xí)工具包中神經(jīng)網(wǎng)絡(luò)參數(shù)dropoutFraction向隱藏層添加噪聲。
圖3 加入Dropout機制的神經(jīng)網(wǎng)絡(luò)模型Fig. 3 Dropout neural network model
近年來,網(wǎng)絡(luò)宣傳是高校招生宣傳的重點,幾乎所有高校都提供在線咨詢服務(wù),如:在線留言板、QQ咨詢等。本文以重慶某高校在線留言板的考生咨詢數(shù)據(jù)為例,其前臺形式如圖4所示。選取后臺數(shù)據(jù)庫中咨詢問題的“title”和“content”兩字段進行分析,如圖5所示,“title”信息通常只有一個詞或幾個字,很少考生在標題字段準確描述問題的主題,問題細節(jié)都是在內(nèi)容字段進行描述。所以只通過標題來判斷主題是不可行的,必須通過對內(nèi)容文本進行挖掘才能了解考生真實意圖。另外,從圖4中還可以看出,在線留言板內(nèi)容文本的字詞數(shù)量較少,和微博等媒體相似,字詞數(shù)量一般不超過140個,有時甚至只有十幾個,這將導(dǎo)致文本向量化表示存在高維稀疏問題。為擴充信息量,本文將標題文本和內(nèi)容文本融合在一起進行挖掘。
圖4 招生在線留言板Fig. 4 Online message board of enrollment
圖5 招生在線留言板數(shù)據(jù)Fig. 5 Online message board data of enrollment
通過對往年咨詢問題進行分析,統(tǒng)計出考生咨詢的熱門主題有14類,加上“其他”類,總共15個類別,如圖6所示。該校每年錄取新生3 900人左右,通過分析往年的咨詢量,并考慮到人工標注訓(xùn)練樣本的成本較高,決定從數(shù)據(jù)庫中隨機選取8 000條記錄進行人工標注類別,其中7 000條作為訓(xùn)練樣本,1 000條作為測試樣本。
圖6 招生咨詢各類別占比
Fig. 6 Proportion of category
從網(wǎng)絡(luò)獲取的文本樣式各異,計算機根本無法識別,要想用深度學(xué)習(xí)算法對文本進行學(xué)習(xí),必須將其轉(zhuǎn)化成計算機能夠識別的形式[14]。文本預(yù)處理流程如圖7所示,下面對關(guān)鍵步驟進行說明。
圖7 文本預(yù)處理步驟Fig. 7 Preprocessing steps of text data
1)中文分詞。中文分詞采用教育部語言文字應(yīng)用研究所研發(fā)的分詞工具,此系統(tǒng)可對文件進行批量處理,并同時標注詞性。如圖8所示。
圖8 中文分詞程序Fig. 8 Chinese word segmentation procedure
2)生成特征詞表。利用程序?qū)Ψ衷~結(jié)果進行統(tǒng)計,剔除出現(xiàn)次數(shù)小于等于2的詞,剩下1 410個特征詞,如圖9所示,其中A1為特征詞,A2為詞頻。招生咨詢屬于專業(yè)領(lǐng)域,涉及面并不廣,特征詞數(shù)量在合理范圍內(nèi)。
圖9 特征詞表Fig. 9 Word-frequency table
3)文本向量化表示。把一條文本表示為一組向量,即為向量空間模型(Vector Space Model, VSM)[15]。在該模型中,所有出現(xiàn)在全部文本中的特征詞被作為向量空間中的一維,n個特征詞就構(gòu)成n維特征詞表。每篇文檔都表示成一組特征詞組成的特征向量di=(w1i,w2i,…,wki,…,wni),其中wki表示特征詞k在文檔di中的權(quán)重。權(quán)重的取值范圍為[0,1]。布爾加權(quán)法也叫二值權(quán)重,其權(quán)重計算方式如式(9)所示:
(9)
基于自編碼網(wǎng)絡(luò)對輸入數(shù)據(jù)的要求,并且由于咨詢文本屬于短文本,字詞數(shù)量較少,采用詞頻加權(quán)法或TF-IDF(Term Frequency-Inverse Document Frequency)加權(quán)法進行表示并無太大意義,所以選擇簡單實用的布爾加權(quán)法進行表示。利用程序?qū)⑷斯俗⒌? 000條樣本轉(zhuǎn)化為布爾向量,如圖10所示。
圖10 短文本向量表示(稀疏矩陣)Fig. 10 Short text vector (sparse matrix)
短文本向量表示存在高維稀疏性,在數(shù)據(jù)處理過程中,通常采用稀疏矩陣存儲,圖10中A1為咨詢文本的序號,A2為該詞出現(xiàn)在特征詞表中的位置,A3為該詞的權(quán)重,出現(xiàn)即為1。向神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù)之前,先將稀疏矩陣轉(zhuǎn)換成全矩陣,即神經(jīng)網(wǎng)絡(luò)的輸入矩陣為8 000×1 410、輸出矩陣為8 000×15,其中1 410為特征詞個數(shù),15為類別個數(shù)。
實驗的目的是為了驗證算法的分類效果,該算法主要流程如圖11所示。算法的關(guān)鍵步驟是SDSAE無監(jiān)督學(xué)習(xí)階段,短文本無監(jiān)督學(xué)習(xí)結(jié)構(gòu)如圖12所示。將數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)之前先用程序?qū)υ嘉谋鞠蛄窟M行數(shù)據(jù)集增強處理,新生成的訓(xùn)練樣本占原始訓(xùn)練樣本20%左右,然后將原始訓(xùn)練樣本與新生成的訓(xùn)練樣本合并,生成最終的訓(xùn)練樣本集。
圖11 本文算法主要流程
Fig. 11 Main process of the proposed algorithm
圖12 短文本無監(jiān)督學(xué)習(xí)結(jié)構(gòu)Fig. 12 Architecture of unsupervised learning
為驗證短文本無監(jiān)督學(xué)習(xí)對模型分類效果的影響將進行兩項實驗:第一項實驗加入1層稀疏自編碼網(wǎng)絡(luò)進行預(yù)訓(xùn)練; 第二項實驗加入2層稀疏自編碼網(wǎng)絡(luò)進行預(yù)訓(xùn)練。其中每一項實驗又分為兩步:第一步為不進行數(shù)據(jù)集增強和不添加噪聲進行預(yù)訓(xùn)練;第二步為數(shù)據(jù)集增強和添加噪聲進行預(yù)訓(xùn)練,分別記錄這4種情況的實驗結(jié)果。最后,把實驗的最優(yōu)結(jié)果與其他算法進行比較。
在進行這兩項實驗之前,首先要確定網(wǎng)絡(luò)的基本參數(shù),如:激活函數(shù)、學(xué)習(xí)率、稀疏參數(shù)、隱藏層的節(jié)點數(shù)和訓(xùn)練迭代次數(shù)等,其中一部分參數(shù)通過經(jīng)驗確定,另一部分通過多次實驗確定。下面詳細介紹網(wǎng)絡(luò)參數(shù)的調(diào)制及訓(xùn)練步驟。
本文選擇Windows 10專業(yè)版64位操作系統(tǒng),CPU為i5 2.8 GHz,內(nèi)存為8 GB,仿真平臺為Matlab R2015b,深度學(xué)習(xí)算法采用DeepLearnToolbox工具包。
1)第一項實驗:加入1層稀疏自編碼網(wǎng)絡(luò)進行預(yù)訓(xùn)練。AE參數(shù)的初始值為:激活函數(shù)為sigm,學(xué)習(xí)率為1,Sparse值為0.05,Denoising 值為0,Dropout值為0,迭代次數(shù)為10,batchsize為100。隱藏層節(jié)點數(shù)是通過多次實驗確定:根據(jù)經(jīng)驗將隱藏層節(jié)點數(shù)初始值設(shè)為80(當(dāng)輸入層與輸出層節(jié)點數(shù)為1 000左右時,隱藏層節(jié)點數(shù)一般為100左右)。訓(xùn)練時以10為步長逐步增加,實驗中不斷觀察誤差值。圖13是隱藏層節(jié)點個數(shù)變化對誤差的影響。由圖13可知,AE網(wǎng)絡(luò)中隱藏層節(jié)點個數(shù)對分類效果影響比較大,因為隱藏層節(jié)點個數(shù)決定能否有效描述輸入數(shù)據(jù)的特征。對于1 410維的輸入單元,隱藏層單元在100時達到最優(yōu)分類效果。目前,并沒有快速設(shè)置隱藏層節(jié)點個數(shù)的方法,只能通過經(jīng)驗和不斷的實驗來尋找最優(yōu)的隱藏層節(jié)點數(shù)。
圖13 隱藏層節(jié)點數(shù)對分類效果的影響Fig. 13 Influence of nodes in hidden layer on classification accuracy
隱藏層節(jié)點個數(shù)確定后,通過實驗觀察迭代次數(shù)的增加對訓(xùn)練誤差的影響。首先構(gòu)建一個結(jié)構(gòu)為[1 410,100,1 410]的1層AE網(wǎng)絡(luò),并對AE進行預(yù)訓(xùn)練。然后構(gòu)建一個結(jié)構(gòu)為[1 410,100,15]的BP網(wǎng)絡(luò),并把AE網(wǎng)絡(luò)預(yù)訓(xùn)練獲得的權(quán)值W(1)賦給BP網(wǎng)絡(luò),再用訓(xùn)練樣本對BP網(wǎng)絡(luò)的參數(shù)進行微調(diào),最后用測試樣本測試分類效果。AE網(wǎng)絡(luò)和BP網(wǎng)絡(luò)的迭代次數(shù)都以1為步長,分別從1調(diào)整到10和20,實驗中觀察到的誤差曲線如圖14所示。
圖14 不同網(wǎng)絡(luò)的訓(xùn)練誤差Fig. 14 Train error of different network
從圖14(a)看出訓(xùn)練誤差已經(jīng)收斂到一個較小的值,測試樣本的分類錯誤率為4.6%。由于AE的作用是對權(quán)值進行預(yù)訓(xùn)練,所以并不需要收斂到一個很小的值,根據(jù)多次實驗
最終把AE網(wǎng)絡(luò)和BP網(wǎng)絡(luò)的訓(xùn)練迭代次數(shù)定為10和20。當(dāng)網(wǎng)絡(luò)基本參數(shù)確定后,將數(shù)據(jù)集增強、Denoising方法和Dropout機制加入AE網(wǎng)絡(luò)再次進行訓(xùn)練,此時測試樣本的分類錯誤率為4.5%,具體實驗結(jié)果如表1所示。
2)第二項實驗:加入2層稀疏自編碼網(wǎng)絡(luò)進行預(yù)訓(xùn)練。首先構(gòu)建一個結(jié)構(gòu)為[1 410,200,60]的2層AE網(wǎng)絡(luò),采用逐層貪婪算法依次訓(xùn)練網(wǎng)絡(luò)的每一層。先利用原始輸入x來訓(xùn)練網(wǎng)絡(luò)的第一層[1 410,200,1 410],得到其參數(shù)W(1)、b(1);然后,網(wǎng)絡(luò)的第一層將原始輸入轉(zhuǎn)化成為由隱藏層單元激活值組成的向量A,接著將A作為第二層[200,60,200]的輸入,繼續(xù)訓(xùn)練得到W(2)、b(2)。然后構(gòu)建一個結(jié)構(gòu)為[1 410,200,60,15]的BP網(wǎng)絡(luò),并把AE網(wǎng)絡(luò)預(yù)訓(xùn)練獲得的權(quán)值W(1)、W(2)賦給BP網(wǎng)絡(luò),權(quán)值替換方式如圖15所示,此處只替換了BP網(wǎng)絡(luò)的權(quán)值W(1)、W(2),權(quán)值W(3)仍為初始值。然后用訓(xùn)練樣本對BP網(wǎng)絡(luò)的權(quán)值進行微調(diào),最后用測試樣本進行測試。BP網(wǎng)絡(luò)的訓(xùn)練誤差曲線如圖16所示,迭代次數(shù)在20次時,網(wǎng)絡(luò)已基本收斂。此時測試樣本的分類錯誤率為4.3%,具體實驗結(jié)果如表2所示。
圖15 權(quán)值替換圖Fig. 15 Weight replacement
圖16 BP網(wǎng)絡(luò)訓(xùn)練誤差(2層自編碼網(wǎng)絡(luò))Fig. 16 Train error of BP (2 layers of AE) network表1 加入1層稀疏自編碼網(wǎng)絡(luò)進行預(yù)訓(xùn)練的實驗結(jié)果Tab. 1 Experimental results with 1 layer of SAE for pre-training
網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)集增強值;Denoising值;Dropout值訓(xùn)練誤差/%測試誤差/%(測試誤差-訓(xùn)練誤差)/%1層SAE+BP0;0;03.14.61.51層DSAE+BP0.2;0.1;0.24.44.50.1
表2 加入2層稀疏自編碼網(wǎng)絡(luò)進行預(yù)訓(xùn)練的實驗結(jié)果Tab. 2 Experimental results with 2 layers of SAE for pre-training
對比表1和表2的實驗結(jié)果可以發(fā)現(xiàn),實驗二的測試誤差較低,說明采用多層降噪稀疏自編碼進行預(yù)訓(xùn)練可以提高分類準確率,而且數(shù)據(jù)集增強與噪聲的加入明顯縮小了測試誤差與訓(xùn)練誤差的差距,說明數(shù)據(jù)集增強和加入噪聲可以提高網(wǎng)絡(luò)的泛化能力,避免過擬合;實驗結(jié)果最優(yōu)的為2層DSAE+BP結(jié)構(gòu),其訓(xùn)練誤差、測試誤差以及測試誤差和訓(xùn)練誤差的差距都為較小值,這說明Denoising方法和Dropout機制針對深度網(wǎng)絡(luò)更能體現(xiàn)出良好的效果。評價機器學(xué)習(xí)算法效果是否好的因素包括:降低訓(xùn)練誤差,縮小訓(xùn)練誤差和測試誤差的差距。從以上4組實驗數(shù)據(jù)來看,采用SDASE結(jié)構(gòu)對網(wǎng)絡(luò)進行預(yù)訓(xùn)練,不僅可以取得良好的分類效果,并且能防止過擬合的發(fā)生,體現(xiàn)出良好的泛化能力。
將SDSAE+BP算法與BP、支持向量機(Support Vector Machine, SVM)、極限學(xué)習(xí)機(Extreme Learning Machine, ELM)等算法進行比較,各分類算法的性能采用綜合正確率來評價,即:
(10)
BP算法采用深度學(xué)習(xí)工具包,SVM算法采用LIBSVM[16]軟件包,ELM算法采用ELM[17]源代碼,下面詳細介紹主要參數(shù)的調(diào)整和設(shè)置。
BP參數(shù) 激活函數(shù)為sigm,學(xué)習(xí)率為0.8, batchsize為100,迭代次數(shù)和隱藏層節(jié)點個數(shù)經(jīng)多次實驗確定為24和80,此時網(wǎng)絡(luò)性能基本趨于穩(wěn)定,網(wǎng)絡(luò)結(jié)構(gòu)為[1 410,80,15]。
SVM參數(shù) svm_type為C-SVC,在懲罰參數(shù)c不變的情況,分別使用常用的SVM分類核函數(shù)(linear、polynomial、BRF和sigmoid)進行實驗,在綜合考慮分類性能、訓(xùn)練速度和泛化速度等因素的情況下,將核函數(shù)確定為徑向基函數(shù)(Radial Basis Function, RBF),g參數(shù)根據(jù)特征數(shù)量確定為0.001,懲罰參數(shù)c是SVM的復(fù)雜性和容許錯分的樣本的平衡,通過多次實驗確定為10。
ELM參數(shù) 隱藏層節(jié)點個數(shù)是極限學(xué)習(xí)機非常重要的參數(shù),由于輸入層節(jié)點數(shù)為1 410,所以隱藏層節(jié)點數(shù)分別選取200、300、400、500、700五種維度進行實驗,對比分類結(jié)果后,將隱藏層節(jié)點定為500,最后綜合考慮分類精度和運行時間將激活函數(shù)定為sigm。各分類算法的性能比較如表3所示。
表3 幾種算法的性能比較Tab. 3 Performance comparison of several algorithms
從表中可以看出,直接使用BP網(wǎng)絡(luò)進行分類效果最差,說明高維稀疏的招生短文本對傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)分類方法影響很大。SDSAE+BP算法分類精度明顯高于SVM算法,說明深層自編碼網(wǎng)絡(luò)能夠利用其非線性特性,從高維低層的特征中學(xué)習(xí)到低維抽象特征,更能提取文本的本質(zhì)。ELM算法在運行效率上較SDSAE+BP算法有較大優(yōu)勢,其分類性能也不錯;但是隨著將來訓(xùn)練數(shù)據(jù)規(guī)模的增大,特征維度的增加,SDSAE+BP算法較ELM算法的優(yōu)勢會越來越明顯。
該模型在訓(xùn)練結(jié)束后,可應(yīng)用于智能招生咨詢系統(tǒng)中。當(dāng)考生提問后,系統(tǒng)自動對考生咨詢文本進行分詞并生成布爾向量,然后將文本向量輸入到BP網(wǎng)絡(luò)進行降維和分類。網(wǎng)絡(luò)有兩個輸出結(jié)果:一是文本向量的低維特征表示(60維),該低維特征表示可用于進一步分析該條文本的情感信息[18],便于高校及時了解考生對本校的評價是正面的還是負面的;另一個是該條文本所屬類別(15個類別之一),問答系統(tǒng)會根據(jù)所屬類別反饋相應(yīng)答案給考生,并且對類別進行計數(shù)統(tǒng)計,隨時監(jiān)控各類咨詢問題的增長量,便于高校及時了解考生關(guān)注點。如考生關(guān)注補錄問題增多,則說明落榜考生增多,那么高??梢约皶r增加補錄招生計劃進行擴招,既可以降低考生落榜率,又可以提高學(xué)校生源數(shù)量;如考生關(guān)注藝術(shù)問題增多,那么說明報考藝術(shù)類專業(yè)的考生增多,那么在藝術(shù)類招生方面可以加強招生宣傳力度;如考生關(guān)注迎新問題增多,則提醒高校應(yīng)根據(jù)考生關(guān)注點完善迎新方案,做到精準服務(wù)。
本文提出一種基于棧式降噪稀疏自編碼網(wǎng)絡(luò)的招生咨詢算法,首先對歷史數(shù)據(jù)進行學(xué)習(xí),然后用于新咨詢文本的分類。針對招生咨詢短文本的自身特點,在輸入數(shù)據(jù)處理方面引入數(shù)據(jù)集增強算法解決訓(xùn)練樣本規(guī)模較小且分類不均問題。在網(wǎng)絡(luò)的訓(xùn)練階段引入Denoising方法和Dropout機制增加算法的魯棒性,改進算法的泛化能力。該模型在實驗中表現(xiàn)出良好的分類能力和泛化能力。由于監(jiān)督訓(xùn)練的成本較高(主要是人工標注數(shù)據(jù)成本),以后將嘗試利用無監(jiān)督學(xué)習(xí)算法(聚類算法)對招生咨詢數(shù)據(jù)進行挖掘。在高校招生領(lǐng)域,將深度模型用于咨詢文本分類,并且取得較好分類效果,尚屬首次。利用該模型能明顯提高招生咨詢的工作效率,其輸出結(jié)果可用于招生咨詢決策,它在高校招生領(lǐng)域具有較好的應(yīng)用前景。
References)
[1] 俸世洲,周尚波.SOM神經(jīng)網(wǎng)絡(luò)在獨立學(xué)院招生決策中的應(yīng)用[J]. 計算機工程與科學(xué),2011,33(5):136-140. (FENG S Z, ZHOU S B. Application of the SOM neural network in enrollment decision for independent college [J]. Computer Engineering and Science, 2011, 33(5): 136-140.)
[2] COLLOBERT R. Deep learning for efficient discriminative parsing[EB/OL].[2016- 11- 20]. http://proceedings.mlr.press/v15/collobert11a/collobert11a.pdf.
[3] BENGIO Y, YAO L, ALAIN G, et al. Generalized denoising auto-encoders as generative models [EB/OL].[2016- 11- 20].http://www.iro.umontreal.ca/~bengioy/papers/1305.6663v3.pdf.
[4] 周杭霞,葉佳駿,任歡.基于快速自編碼的RELM的文本分類[J].計算機工程與科學(xué),2016,38(5):871-876.(ZHOU H X, YE J J, REN H. Text classification based on fast auto-encoder RELM [J]. Computer Engineering and Science, 2016, 38(5): 871-876.)
[5] 秦勝君,盧志平.稀疏自動編碼器在文本分類中的應(yīng)用研究[J]. 科學(xué)技術(shù)與工程,2013,13(31):9422-9426.(QIN S J, LU Z P. Research of text categorization based on sparse autoencoder algorithm [J]. Science Technology and Engineering, 2013, 13(31): 9422-9426.)
[6] 魏超,羅森林,張競,等.自編碼網(wǎng)絡(luò)短文本流形表示方法[J].浙江大學(xué)學(xué)報(工學(xué)版),2015,49(8):1591-1599. (WEI C, LUO S L, ZHANG J, et al. Short text manifold representation based on autoencoder network [J]. Journal of Zhejiang University (Engineering Science), 2015, 49(8): 1591-1599.)
[7] 李敏,禹龍,田生偉,等.基于深度學(xué)習(xí)的維吾爾語語句情感傾向分析[J].計算機工程與設(shè)計,2016,37(8):2213-2217. (LI M, YU L, TIAN S W, et al. Emotional tendency analysis of Uyghur statement based on deep learning [J]. Computer Engineering and Design, 2016, 37(8): 2213-2217.)
[8] 劉勘,袁蘊英.基于自動編碼器的短文本特征提取及聚類研究[J]. 北京大學(xué)學(xué)報(自然學(xué)科版),2015,51(2):282-288. (LIU K, YUAN Y Y. Short texts feature extraction and clustering based on auto-encoder [J]. Acta Scientiarum Naturalium Universitatis Pekinensis, 2015, 51(2): 282-288.)
[9] 楊杰明.文本分類中文本表示模型和特征選擇算法研究[D].長春:吉林大學(xué),2013. (YANG J M. The research of text representation and feature selection in text categorization [D]. Changchun: Jilin University, 2013.)
[10] HINTON G E. Reducing the dimensionality of data with neural networks [J]. Science, 2006, 313(5786): 504-510.
[11] GOODFELLOW I, BENGIO Y, COURVILLE A. Deep Learning [EB/OL]. [2017- 05- 01] http://www.deeplearningbook.org/front_matter.pdf.
[12] VINCENT P, LATOCHELLE H, LAJOIE I, et al. Stacked denoising autoencoders: learning useful representations in a deep network with a local denoising criterion[J]. Journal of Machine Learning Research, 2010, 11(12): 3371-3408.
[13] SRIVASTAVA N, HINTON G E, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15: 1929-1958.
[14] SONG F, LIU S, YANG J. A comparative study on text representation schemes in text categorization [J]. Pattern Analysis and Applications, 2005, 8(1/2): 199-209.
[15] SALTON G, WONG A, YANG C S. A vector space model for automatic indexing [J]. Communications of the ACM, 1975, 18(11): 613-620.
[16] CHANG C C, LIN C J. LIBSVM: a library for support vector machines[J]. ACM Transactions on Intelligent System and Technology, 2011,2(3): 27.
[17] HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine: theory and applications[J], Neurocomputing, 2006, 70(1/2/3): 489-501.
[18] 朱少杰.基于深度學(xué)習(xí)的文本情感分類研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014. (ZHU S J. Research on text sentiment classification based on deep learning [D]. Harbin: Harbin Institute of Technology, 2014.)
This work is partially supported by the Scientific and Technological Research Program of Chongqing Municipal Education Commission (KJ1501703), the Key Project of Basic Science and Frontier Technology Research of Chongqing (cstc2015jcyjBX0124).
FENGShizhou, born in 1981, M. S., research assistant. His research interests include artificial neural network, data mining.
ZHOUShangbo, born in 1963, Ph. D., professor. His research interests include artificial neural network, information security, image processing, computer simulation.
Collegeenrollmentconsultationalgorithmbasedondeepautoencoders
FENG Shizhou1,2, ZHOU Shangbo2*
(1.CollegeofForeignTradeandBusiness,ChongqingNormalUniversity,Chongqing401520,China;2.CollegeofComputerScience,ChongqingUniversity,Chongqing400030,China)
College enrollment consultation service usually relies on artificial reply or keyword matching Question and Answer (Q&A) system, which exists the problems of low efficiency and irrelevant answers. In addition, a consultation text is often a short statement, therefore its vectorized representation may easily lead to the high-dimensional sparse problem. To solve the problems mentioned above, an enrollment consultation algorithm based on Stacked Denoising Sparse AutoEncoders (SDSAE) was proposed. First of all, to improve generalization ability of the algorithm, an autoencoder network was used to extract features and reduce the data dimension; at the same time, dataset enhancement technique and noise-adding technique were introduced to solve the problems of small training sample set and uneven classification. After low dimensional representation of short texts being obtained, a text classification was conducted afterwards by using Back Propagation (BP) algorithm. The experimental results show that the proposed algorithm has a better classification performance over BP, Support Vector Machine (SVM), Extreme Learning Machine (ELM) algorithm and etc., and it significantly improves the classification effect of enrollment consultant texts.
deep learning; autoencoder; neural network; text classification
2017- 05- 16;
2017- 06- 15。
重慶市教委科學(xué)技術(shù)研究項目(KJ1501703);重慶市基礎(chǔ)科學(xué)與前沿技術(shù)研究專項計劃重點項目(cstc2015jcyjBX0124)。
俸世洲(1981—),男,四川廣漢人,助理研究員,碩士,CCF會員,主要研究方向:人工神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)挖掘; 周尚波(1963—),男,廣西寧明人,教授,博士,主要研究方向:人工神經(jīng)網(wǎng)絡(luò)、信息安全、圖像處理、計算機仿真。
1001- 9081(2017)11- 3323- 07
10.11772/j.issn.1001- 9081.2017.11.3323
(*通信作者電子郵箱shbzhou@cqu.edu.cn)
TP391.41
A