文/楊顯華 丁春利
隨著社會科技發(fā)展,人類基礎(chǔ)科學(xué)知識積累速度不斷加快,現(xiàn)代社會中,信息的流動已經(jīng)越超書刊等有介媒體,以電子媒介為主體。如何快速有效的找到所需的信息,自動化信息分類是需要解決的第一步,通過分類,所有的信息得以有效的管理,同時為使用過程中的快速準(zhǔn)確定位提供基礎(chǔ)條件。
傳統(tǒng)的分類學(xué)習(xí),通過訓(xùn)練得到的分類模型必須要具備準(zhǔn)確性和可用性。在樣本訓(xùn)練過程中,要求具備兩個基礎(chǔ)條件:
(1)訓(xùn)練樣本和測試樣本是獨(dú)立同分布的;
(2)必須要有大量的訓(xùn)練樣本才能得到一個高準(zhǔn)確率的分類模型。
在實(shí)際工作中,這兩個條件比較難以滿足。首先,由于文本使用環(huán)境和本身語義特性,相互之間相互關(guān)聯(lián);其次,由于對文本的標(biāo)注費(fèi)時費(fèi)力,很難得到大量高質(zhì)量標(biāo)注的少數(shù)民族語言訓(xùn)練樣本。如何利用少量的少數(shù)民族語言文本作為訓(xùn)練樣本,建立一個可靠的模型對實(shí)際應(yīng)用中積累的大量少數(shù)民族文檔進(jìn)行預(yù)測(源領(lǐng)域數(shù)據(jù)和目標(biāo)領(lǐng)域數(shù)據(jù)可以不具有相同的數(shù)據(jù)分布),是解決上述問題的關(guān)鍵。文獻(xiàn)[1]給出的結(jié)論是,在小樣本情況下,使用遷移學(xué)習(xí)依然可以得到比較滿意的結(jié)果。
隨著深度學(xué)習(xí)的廣泛關(guān)注和研究,遷移學(xué)習(xí)也成為深度學(xué)習(xí)的重要研究部分。遷移學(xué)習(xí)依賴原有知識和模型的積累,在深度學(xué)習(xí)方向,遷移學(xué)習(xí)是抽取神經(jīng)網(wǎng)絡(luò)的特定層作為解決相關(guān)領(lǐng)域問題的解決方法。遷移學(xué)習(xí)放寬了傳統(tǒng)機(jī)器學(xué)習(xí)中的兩個基本假設(shè),目的是遷移已有的知識來解決目標(biāo)領(lǐng)域中僅有少量有標(biāo)簽樣本數(shù)據(jù)甚至沒有的標(biāo)簽問題[2]。通過對成熟分類模型的分析和層次抽取,結(jié)合遷移學(xué)習(xí)方法,可在極小訓(xùn)練樣本上得到一個最優(yōu)模型。
自然語言理解需要轉(zhuǎn)為為機(jī)器學(xué)習(xí)問題,首先需要把文字語言中的詞進(jìn)行數(shù)學(xué)化表達(dá),常用的方法是將每個詞表示為一個高維的向量,維度特定維為1的向量表示當(dāng)前詞,這樣的向量定義為詞向量[3]。詞向量表達(dá)方式比較簡單,得到一個稀疏矩陣,但是造成了維度過多。在實(shí)際使用過程中,使用詞嵌入實(shí)現(xiàn),詞嵌入避免大量詞匯的數(shù)據(jù)稀疏行,同時對數(shù)據(jù)進(jìn)行了降維,并在句子加入了詞與詞的相互關(guān)系,直接通過向量之間的余弦距離度量來確定。詞向量可以和深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)融合,可以直接將詞向量作為神經(jīng)網(wǎng)絡(luò)模型的輸入層,將訓(xùn)練好的詞向量作為輸入,用前饋網(wǎng)絡(luò)和卷積網(wǎng)絡(luò)完成詞性標(biāo)志、語義角色標(biāo)注等任務(wù)。
在前文中提到,在詞向量生成過程中,生成一個高維的稀疏矩陣,而在深度學(xué)習(xí)中,過多的維度會造成維度災(zāi)難,維度災(zāi)難會造起過擬合,即訓(xùn)練集效果很好,但是測試集效果很差。特征降維有兩種方法[4]:
(1)特征選擇,特征選擇在原有的向量空間選擇有效的特征子向量,去掉不相干和冗余的特征子向量。特征選擇的目的是壓縮向量空間,減少特征的數(shù)量,從而提高模型精度。特征選擇后,因?yàn)樘卣髦禌]有變量,所有壓縮后的特征向量空間保留了原來的特性;
(2)特性抽取,特征抽取將改變原有特征向量空間,將原向量空間通過特征函數(shù)映射到一個新的特征向量空間。特征抽取將學(xué)習(xí)一個映射函數(shù)y=f(x),其中x是高維原始數(shù)據(jù)點(diǎn),y是映射后低維向量表達(dá)。特征映射之后,特征值數(shù)據(jù)發(fā)生變化,維度也降低,且維度之間更加獨(dú)立。常用的降維方法包括如下:主成分分析(Principal Component Analysis,PCA),奇異值分解(Singular Value Decomposition,SVD),T 分布隨機(jī)近鄰嵌入(t-distributed stochastic neighbor embedding,t-SNE)等。
傳統(tǒng)意義的監(jiān)督學(xué)習(xí)是通過大量的已標(biāo)記訓(xùn)練樣本進(jìn)行學(xué)習(xí),完成模型建立并用于對新輸入的預(yù)測。真實(shí)分類環(huán)境中,由于信息技術(shù)的快速發(fā)展,產(chǎn)生了大量的領(lǐng)域數(shù)據(jù),進(jìn)行大量的數(shù)據(jù)標(biāo)注已經(jīng)變得越來越困難。在深度學(xué)習(xí)的發(fā)展中,逐漸從監(jiān)督式學(xué)習(xí)向半監(jiān)督式學(xué)習(xí)進(jìn)化。半監(jiān)督學(xué)習(xí)是指學(xué)習(xí)中的樣本包含大量未標(biāo)記數(shù)據(jù),在訓(xùn)練過程中,同時使用標(biāo)記數(shù)據(jù)和未標(biāo)記數(shù)據(jù)。半監(jiān)督學(xué)習(xí)要求更少的已標(biāo)記訓(xùn)練數(shù)據(jù),并也可以得到很好的分類效果。從學(xué)習(xí)場景可以將半監(jiān)督學(xué)習(xí)分為如下4類[5]:

圖1:少數(shù)民族文本分類遷移學(xué)習(xí)模型
(1)半監(jiān)督分類(Semi-Supervised Classif i cation),半監(jiān)督分類是在監(jiān)督類分類問題中,使用無分類標(biāo)簽的樣本輔助訓(xùn)練有分類標(biāo)簽的數(shù)據(jù),得到比只用有分類標(biāo)簽的樣本數(shù)據(jù)訓(xùn)練產(chǎn)生更優(yōu)的分類器;
(2)半監(jiān)督回歸(Semi-Supervised Classif i cation),半監(jiān)督回歸是在深度學(xué)習(xí)中線性回歸的應(yīng)用,通過無標(biāo)記樣本數(shù)據(jù)輔助訓(xùn)練有標(biāo)簽樣本數(shù)據(jù),得到比只通過有標(biāo)記樣本數(shù)據(jù)訓(xùn)練產(chǎn)生的更準(zhǔn)確的分類器;
(3)半監(jiān)督聚類(Semi-Supervised Clustering),半監(jiān)督聚類在聚類算法過程中,使用無標(biāo)簽訓(xùn)練數(shù)據(jù)輔助有標(biāo)簽訓(xùn)練數(shù)據(jù)進(jìn)行聚類分析,得到更好的類簇,提高聚類方法的精度;
(4)半監(jiān)督降維(Semi-Supervised Dimensionality Reduction),在有標(biāo)簽訓(xùn)練數(shù)據(jù)信息輔助下得到高維數(shù)據(jù)的低維結(jié)構(gòu),同時保留高維數(shù)據(jù)成對約束特效結(jié)構(gòu)不變,滿足高維空間中正相關(guān)的樣本數(shù)據(jù)在低維空間中距離相對較近,在高維空間中滿足負(fù)相關(guān)的樣本數(shù)據(jù)在低維空間中距離相對較遠(yuǎn)。
遷移學(xué)習(xí)是深度學(xué)習(xí)的一種應(yīng)用模式,在進(jìn)行一個數(shù)據(jù)遷移學(xué)習(xí)分類任務(wù)時,遷移任務(wù)的目標(biāo)域數(shù)據(jù)較小,但已經(jīng)有一個包含大量訓(xùn)練數(shù)據(jù)的相似分類任務(wù),此訓(xùn)練數(shù)據(jù)與遷移學(xué)習(xí)分類任務(wù)的測試數(shù)據(jù)特征分布不同。在這種情況下,如果可以采用合適的遷移學(xué)習(xí)方法對目標(biāo)域數(shù)據(jù)進(jìn)行分類識別,即為遷移學(xué)習(xí)過程[6]。遷移學(xué)習(xí)可以描述為,給定一個源域Ds,一個原任務(wù)Ts。一個目標(biāo)域Dt,一個目標(biāo)任務(wù)Tt。遷移學(xué)習(xí)的目的是借助源域和原分類模型提高目標(biāo)函數(shù)fT(*)在目標(biāo)域的分類效果。根據(jù)遷移學(xué)習(xí)場景不同,遷移學(xué)習(xí)分為[6]:
(1)實(shí)例知識遷移學(xué)習(xí)(Transferring knowledge of instances),應(yīng)用于目標(biāo)域數(shù)據(jù)和源域數(shù)據(jù)中部分標(biāo)簽數(shù)據(jù)相似的情況,實(shí)例知識遷移的目的是在目標(biāo)域中找到適合的標(biāo)簽測試數(shù)據(jù)的實(shí)例,并將這些實(shí)例遷移到源訓(xùn)練數(shù)據(jù)學(xué)習(xí)中;
(2)特征知識遷移(Transferring knowledge of feature representations),特征知識遷移通過計算目標(biāo)域數(shù)據(jù)和源域數(shù)據(jù)的特征最小域得到遷移模型;
(3)相關(guān)知識遷移(Transferring relational knowledge),當(dāng)目標(biāo)域和源域數(shù)據(jù)具有相關(guān)性時,使用相關(guān)知識遷移。
本文關(guān)注在深度學(xué)習(xí)中,基于遷移學(xué)習(xí)模型在少數(shù)民族語言文本分類中的應(yīng)用。文本分類由H.P.Luhn教授1957年提出,經(jīng)過多年的研究和實(shí)踐,機(jī)器學(xué)習(xí)和統(tǒng)計方法被引入,分類結(jié)果準(zhǔn)確率得到了較大的提升。在國內(nèi)有關(guān)文本分類研究起步較晚,由于中文文本的特殊性,更多的語言基本以詞組表單,同英文單詞的語義分隔有較大的差異性,所以在中文文本分類之前,需要進(jìn)行預(yù)處理,需要將原始文本進(jìn)行分詞處理,得到文本的分詞詞組特征向量組。中文文本的語法、語句要比英文復(fù)雜很多,通過采用最大熵模型建立了較好的分類模型。隨著深度學(xué)習(xí)研究的深入,深度學(xué)習(xí)被應(yīng)用到傳統(tǒng)的文本分類領(lǐng)域,通過建立多層次的卷積神經(jīng)網(wǎng)絡(luò),可以實(shí)現(xiàn)對文本內(nèi)容的高精度分類模型。本文將通過現(xiàn)有卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí)實(shí)現(xiàn)對少數(shù)民族語言文本分類模型的建立。如圖1所示。
進(jìn)行文本分類時,第一步需要對文本數(shù)據(jù)進(jìn)行預(yù)處理,預(yù)處理包括:
(1)源數(shù)據(jù)抽取,源數(shù)據(jù)可能來源于互聯(lián)網(wǎng)、word文件、PDF文件等,源數(shù)據(jù)抽取將有格式的富文本文件轉(zhuǎn)換為純文本文件;
(2)文本切分,切分為可選操作,部分源數(shù)據(jù)可能有多篇不同類別的主題文本構(gòu)成,切分之后的文本具有更強(qiáng)的主題意義;
(3)文本分詞,分詞是預(yù)處理的必要操作,后續(xù)的詞向量生成需要分詞結(jié)果來表征,常見分詞算法有正向最大匹配、反向最大匹配、雙向最大匹配、語言模型方法、最短路徑算法等;
(4)去停用詞,停用包括標(biāo)點(diǎn)、數(shù)字、單字和其它一些無意義的詞;
(5)詞頻統(tǒng)計,詞頻是文本內(nèi)容的重要表征,如果一個單詞在文中出現(xiàn)頻率高,那么這個詞越有可能代表這個文檔的主題意義,詞頻也是構(gòu)造詞向量空間的必要元素[7];
(6)文本向量化,用數(shù)學(xué)上的多維特征向量來表示一個文本,這個向量化文本作為源域數(shù)據(jù)。
預(yù)訓(xùn)練模型的備選模型是解決中文文本分類時設(shè)計并實(shí)現(xiàn)的模型,采用中文文本分類模型的原因是:
(1)大量研究者中文文本分類訓(xùn)練模型有深入的研究,作為預(yù)訓(xùn)練模型的備選模型豐富;
(2)有比較豐富的已標(biāo)記中文訓(xùn)練數(shù)據(jù)集,可以進(jìn)行大量測試。通過使用預(yù)訓(xùn)練模型,避免從零開始訓(xùn)練一個新的模型。同時由于人類語言是具有共性的,通過中文分類模型可以很好的適應(yīng)其他語言的分類處理。
預(yù)訓(xùn)練的源模型是從研究者發(fā)布的可用模型中挑選出來的。很多研究機(jī)構(gòu)都發(fā)布基于超大數(shù)據(jù)集的模型,這些都可以作為源模型的備選模型。經(jīng)過確定的預(yù)訓(xùn)練模型將作為第二個任務(wù)的模型學(xué)習(xí)起點(diǎn),這可能涉及到全部或者部分使訓(xùn)練模型,即進(jìn)行模型抽取,抽取取決于所用的模型訓(xùn)練技術(shù)。
模型抽取的目的是使用之前在中文文本數(shù)據(jù)集上經(jīng)過訓(xùn)練的預(yù)訓(xùn)練模型,從而可以直接使用相應(yīng)的結(jié)構(gòu)和權(quán)重,將它們應(yīng)用到少數(shù)民族語言文本分類問題上。模型的抽取與應(yīng)用即是“遷移”,即將預(yù)訓(xùn)練的模型“遷移”到正在處理的特定問題中。
模型微調(diào)是使用中文文本分類模型,經(jīng)過調(diào)整后在小集合訓(xùn)練樣本的少數(shù)民族語言文本分類上也具備較高在準(zhǔn)確率[1]。模型微調(diào)有三種方式:
(1)特征提取,由于預(yù)訓(xùn)練模型和目標(biāo)模型都是應(yīng)用于文本分類,人類語言描述具備相似性和通用性(模型可以探知到這種相似性),所有可以將預(yù)訓(xùn)練模型作為特征提取裝置使用,這種特征提取的有效性是源于它的實(shí)現(xiàn)是語言無關(guān)的;
(2)預(yù)訓(xùn)練模型適配,采用預(yù)訓(xùn)練模型的結(jié)構(gòu),所有層次模型的權(quán)重隨機(jī)化,然后依據(jù)目標(biāo)域的數(shù)據(jù)集進(jìn)行訓(xùn)練;
(3)凍結(jié)抽取層,訓(xùn)練特定層。將模型起始層和中間層保持權(quán)重不變,使用目標(biāo)域訓(xùn)練數(shù)據(jù)對后端的層進(jìn)行重新訓(xùn)練,得到新的模型權(quán)重。在實(shí)際應(yīng)用中,采用方式(3)作為微調(diào)方式,方式(3)能生效的原因是深度學(xué)習(xí)網(wǎng)絡(luò)的前端層次會根據(jù)語言特性進(jìn)行結(jié)構(gòu)化學(xué)習(xí),學(xué)習(xí)的結(jié)果與語言含義是無關(guān)的,所有具備一定的通用性,模型抽取和微調(diào)效果受預(yù)訓(xùn)練的數(shù)據(jù)集和目標(biāo)訓(xùn)練數(shù)據(jù)集的相似度影響。
在少數(shù)民族文本分類遷移學(xué)習(xí)模型中,場景特點(diǎn)是數(shù)據(jù)集小,數(shù)據(jù)相似度高。在這種情況下,目標(biāo)訓(xùn)練數(shù)據(jù)與預(yù)訓(xùn)練模型的訓(xùn)練數(shù)據(jù)相似度很高,不需要重新訓(xùn)練模型。只需要將輸出層改成符合問題情境的結(jié)構(gòu)。
K-Means聚類算法有稱為k均值聚類算法,K-Means算法的基本思想是把訓(xùn)練集的數(shù)據(jù)根據(jù)特征聚類成K個簇。K-Means算法對連續(xù)性數(shù)據(jù)有很好的適應(yīng)性,時間復(fù)雜度低,聚類效果較好。在主流聚類算法中,K-Means算法基本優(yōu)于K-Means BisectingHAC和KNN聚類算法[8,9,10]。k-means算法的工作步驟如下:
(1)將全體樣本點(diǎn)看成一個簇;
(2)計算當(dāng)前簇的數(shù)量N,當(dāng)N小于需要分類的簇數(shù)K時,進(jìn)行誤差計算;
(3)循環(huán)遍歷當(dāng)前所有簇,計算當(dāng)前簇全體樣本的總誤差;
(4)在當(dāng)前簇上進(jìn)行k-均值聚類操作;
(5)計算將該簇劃分成兩個簇的誤差值;
(6)選擇小誤差值的簇進(jìn)行劃分操作。
2.6.1 K值及聚類中心點(diǎn)選擇
k-meams算法簡單并使用廣泛,同時能保證收斂,但是算法的兩個缺陷將影響算法的效果,本文提出改進(jìn)。
(1)K值需要初始確定,K值的求解屬于經(jīng)驗(yàn)知識,在通常情況下,K值的估計是很困難的,當(dāng)采用隨機(jī)值進(jìn)行初始化時,分類結(jié)果可能得到的是局部最優(yōu)解而非全局最優(yōu)解,在少數(shù)民族文本分類的應(yīng)用下,需要特定的專業(yè)人員輔助處理,為分類文本確定明確的類簇;
(2)K-means對初始選擇的中心點(diǎn)敏感,不同的初始中心點(diǎn),得到不同的類簇。本文使用如下過程選取k-means的中心點(diǎn)[11,12,13]:1)以專業(yè)人員確定的初始k個文檔作為質(zhì)心;2)使用經(jīng)過特征降維后的詞向量,計算當(dāng)前文檔與初始K個質(zhì)心的距離,得到最近質(zhì)心距離;3)根據(jù)匹配文檔和匹配質(zhì)心重新計算得到新的質(zhì)心;4)重復(fù)2)至3)步,得到新質(zhì)心和原始質(zhì)心相等或者小于設(shè)置的閾值,更新結(jié)束。
2.6.2 K-means算法嵌入遷移學(xué)習(xí)步驟
遷移學(xué)習(xí)包含預(yù)訓(xùn)練模型、模型選擇、模型抽取、模型微調(diào)四個步驟。預(yù)訓(xùn)練模型使用大量的中文訓(xùn)練數(shù)據(jù)得到,在模型選擇后,使用預(yù)訓(xùn)練模型的神經(jīng)網(wǎng)絡(luò)參數(shù)來初始目標(biāo)神經(jīng)網(wǎng)絡(luò)模型的參數(shù),再使用少量的少數(shù)民族語言文本訓(xùn)練數(shù)據(jù)進(jìn)行微調(diào)。為避免過擬合,僅對少量神經(jīng)網(wǎng)絡(luò)的少量層進(jìn)行訓(xùn)練,模型的關(guān)鍵部分是選取正確的層進(jìn)行微調(diào),不同的任務(wù)選取的層不同。通常在語音識別訓(xùn)練中選擇前面的層訓(xùn)練,在圖片識別選擇后面的層訓(xùn)練。由于人類語言是結(jié)構(gòu)性數(shù)據(jù),表達(dá)是具有相似性,在深度學(xué)習(xí)中,神經(jīng)網(wǎng)絡(luò)在前面的層將分析記憶這些相似性,在后面的層進(jìn)行更深入的語義類別的分析,所以在少數(shù)民族語言文本分析中,固定前面的層,微調(diào)最后一層,最后接基于K-means的分類預(yù)測層。最后通過人工輔助分類的少數(shù)民族語言文本進(jìn)行微調(diào)訓(xùn)練,訓(xùn)練產(chǎn)生的參數(shù)即作為最終的分類參數(shù)。
本文提出基于遷移學(xué)習(xí)的少數(shù)民族語言文本識別分類研究與實(shí)現(xiàn)模型,設(shè)計了一套符合實(shí)際情況的小訓(xùn)練樣本環(huán)境下少數(shù)民族語言文本分類的處理步驟和方法,能夠有效的文本分類,同時對有標(biāo)簽數(shù)據(jù)要求很少。本文所研究的遷移學(xué)習(xí)與K-means算法結(jié)合訓(xùn)練少數(shù)民族語言文本的處理模型,為少數(shù)民族語言文本知識分類、文檔分析、文檔評價等提供初步分類參考,極大減少人工分類工作,提升分類效率。