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