趙書(shū)安
(1.江蘇開(kāi)放大學(xué)信息工程學(xué)院,江蘇 南京 210065;2.南京理工大學(xué)電子工程與光電技術(shù)學(xué)院,江蘇 南京 210094)
文本分類是自然語(yǔ)言處理社區(qū)的經(jīng)典問(wèn)題,旨在為句子、搜索查詢、文檔等指派類別標(biāo)簽,在自動(dòng)問(wèn)答、垃圾信息識(shí)別、情感分析、新聞歸檔、用戶意圖分類等領(lǐng)域有著廣泛的應(yīng)用前景[1]。由于海量數(shù)據(jù)在互聯(lián)網(wǎng)時(shí)代的易獲取性,以及基于數(shù)據(jù)驅(qū)動(dòng)的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)理論算法的發(fā)展和應(yīng)用,文本分類始終是當(dāng)前的研究熱點(diǎn)。比如在電信郵件詐騙領(lǐng)域,自動(dòng)檢測(cè)出具有誘導(dǎo)性的垃圾郵件,防止用戶遭受欺騙,從而規(guī)避風(fēng)險(xiǎn),減少不必要的損失[2];在媒體信息處理領(lǐng)域,針對(duì)新聞文本內(nèi)容自動(dòng)實(shí)現(xiàn)歸檔,然后向關(guān)注特定領(lǐng)域新聞事件的用戶精準(zhǔn)推送,有助于提高用戶體驗(yàn),增強(qiáng)用戶粘性等等[3]。
在文本分類過(guò)程中,提取能夠有效表征文本的特征表示以及選擇合適的分類方法至關(guān)重要。針對(duì)文本的特征表示,傳統(tǒng)合理有效的方法,包括構(gòu)建特定領(lǐng)域關(guān)鍵詞字典(Domain-specific key-phrases dictionary,DSKD)、N 元文法(N-gram)、詞性標(biāo)簽(Partof-speech,POS)和考慮語(yǔ)言學(xué)結(jié)構(gòu)的句法依存解析樹(shù)(Dependency parsing tree,DPT);而對(duì)于分類方法,研究表明有效且應(yīng)用最廣泛的包括邏輯斯蒂回歸(Logistic Regression,LR)、樸素貝葉斯(Naive Bayes,NB)、支撐向量機(jī)(Support vector machine,SVM)以及決策樹(shù)(Decision tree,DT)等等[4]。隨著文本數(shù)據(jù)規(guī)模的增加,傳統(tǒng)的特征提取方法,尤其是構(gòu)建關(guān)鍵詞字典需要花費(fèi)大量人工成本,因此可行性逐漸降低。而詞向量[5]的提出,結(jié)合包括卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)[6]、遞歸神經(jīng)網(wǎng)絡(luò)(Recursive neural network,RecNN)[7]、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural network,RNN)[8]、注意力機(jī)制(Attention mechanism,AM)[9]、記憶網(wǎng)絡(luò)(Memory network,MN)[10]等神經(jīng)網(wǎng)絡(luò)模型,能夠?qū)W習(xí)深層語(yǔ)義信息,支持大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型,在文本分類任務(wù)上取得了優(yōu)異的表現(xiàn)[11]。
然而上述的文本分類方法大多是有標(biāo)注信息、任務(wù)相關(guān)并且是基于特定領(lǐng)域的。在實(shí)際場(chǎng)景中的信息呈指數(shù)級(jí)增長(zhǎng),并不能夠保證所獲得的文本數(shù)據(jù)有足夠準(zhǔn)確的標(biāo)注信息用于訓(xùn)練。因此許多研究工作聚焦于如何得到高質(zhì)量的文本特征表示[12]。目前主流的文本特征表示研究主要分為兩個(gè)方向,通過(guò)大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型得到上下文相關(guān)的語(yǔ)言模型(Language model,LM),以及通過(guò)深度生成模型(Deep generative models,DGM)得到隱層表示。前者的典型工作有,Peters 等[13]提出了基于雙層雙向的RNN 語(yǔ)言模型ELMo,能夠捕捉到動(dòng)態(tài)語(yǔ)義信息;Radford 等[14]提出的GPT 模型在ELMo 基礎(chǔ)上使用Transformer[15]代替RNN,結(jié)合下游任務(wù)得到任務(wù)相關(guān)的文本表示;Devlin 等[16]提出的BERT 使用Transformer 同時(shí)訓(xùn)練遮蔽的語(yǔ)言模型(Masked LM)和預(yù)測(cè)下一個(gè)句子任務(wù),在各項(xiàng)自然語(yǔ)言任務(wù)上取得了當(dāng)時(shí)最優(yōu)的表現(xiàn)。后者基于深度神經(jīng)網(wǎng)絡(luò)結(jié)合概率生成模型,不受限于大規(guī)模語(yǔ)料數(shù)據(jù)集,不僅能夠從數(shù)據(jù)中學(xué)習(xí)到較高質(zhì)量的特征表示,而且在特定的計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理領(lǐng)域多種任務(wù)中還具有較好的可解釋性。Kingma[17]提出了變分自編碼器(Variational auto-encoder,VAE),在CIFAR10 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,VAE 學(xué)習(xí)到的特征表示與數(shù)字筆畫(huà)、形狀、傾角等相關(guān),驗(yàn)證了VAE 能夠?qū)W習(xí)到深層的圖象特征表示。Miao[18]將VAE 應(yīng)用于文本主題建模,在20NewsGroup 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,VAE 能夠?qū)W習(xí)到文本內(nèi)容相關(guān)的話題等深層語(yǔ)義信息。
基于上述討論與分析,通過(guò)對(duì)VAE 在文本建模相關(guān)工作的研究,發(fā)現(xiàn)經(jīng)常發(fā)生后驗(yàn)高斯概率分布的KL 散度塌陷現(xiàn)象[19],本文提出一種基于球面變分自編碼器的文本分類方法,通過(guò)將VAE 隱變量的概率分布從高斯分布替換為概率空間分布在球面的馮米塞斯-費(fèi)舍爾(von Mises-Fisher,vMF)分布[20],不僅使得隱變量能夠表征更豐富的深層語(yǔ)義信息,而且在理論上保證不會(huì)出現(xiàn)后驗(yàn)分布塌陷現(xiàn)象,并應(yīng)用于文本分類任務(wù),得到了顯著的效果。
本文提出的基于球面VAE 的文本分類框架如圖1 所示.其中N(μ,Σ)表示隱變量服從多元高斯分布,vMF(μ,κ)表示隱變量服從的球面分布。
圖1 基于球面VAE 的文本分類框架
VAE 最先被提出是用來(lái)學(xué)習(xí)數(shù)字圖像的深層語(yǔ)義信息,將神經(jīng)網(wǎng)絡(luò)引入概率生成模型,包括推斷網(wǎng)絡(luò)和生成網(wǎng)絡(luò)兩部分。模型假設(shè)輸入數(shù)據(jù)實(shí)際都對(duì)應(yīng)各自的隱變量h服從特定的概率分布,推斷網(wǎng)絡(luò)的作用是對(duì)這個(gè)概率分布建模,得到均值和協(xié)方差。生成網(wǎng)絡(luò)的作用是基于推斷出的概率分布,再重構(gòu)出輸入數(shù)據(jù)。這個(gè)過(guò)程中可以得到輸入數(shù)據(jù)對(duì)應(yīng)的概率分布,而這個(gè)概率分布就具有表征輸入數(shù)據(jù)的能力。
通常假設(shè)隱變量分布為高斯分布,對(duì)于推斷網(wǎng)絡(luò)qφ,其中φ表示推斷網(wǎng)絡(luò)的參數(shù),可以得到隱變量的后驗(yàn)概率分布為qφ(h|x),先驗(yàn)概率分布p(h)為標(biāo)準(zhǔn)多元高斯分布。VAE 的優(yōu)化目標(biāo)是變分下界(Evidence lower bound,ELBO)
式中:pφ(x|h)為生成網(wǎng)絡(luò)的重構(gòu)輸出;φ表示生成網(wǎng)絡(luò)的參數(shù);E表示分布求期望;D表示求分布的KL 散度。通俗來(lái)講,VAE 的優(yōu)化目標(biāo)包括兩項(xiàng),分別是盡量使得重構(gòu)輸出的數(shù)據(jù)近似原始輸入數(shù)據(jù),以及推斷網(wǎng)絡(luò)得到的隱變量后驗(yàn)分布近似先驗(yàn)分布。選擇高斯分布的原因之一,是兩個(gè)高斯分布N1(μ1,Σ1)和N2(μ2,Σ2)之間的KL 散度存在解析解,計(jì)算公式如下
式中:tr(·)表示矩陣的跡運(yùn)算;k表示多元隱變量維度;‖·‖表示方陣的行列式。代入先驗(yàn)概率分布和推斷網(wǎng)絡(luò)得到的后驗(yàn)分布表達(dá)式即可求得解析解。
在VAE 的推斷—生成過(guò)程中,得到服從特定概率分布的隱變量即具有表征輸入數(shù)據(jù)的能力,因?yàn)閺碾[變量概率分布可以重構(gòu)出原始數(shù)據(jù)。重構(gòu)誤差越小,說(shuō)明表征能力就越強(qiáng)。也因此,得到的隱變量可以看作是高質(zhì)量的輸入數(shù)據(jù)特征表示,可以用于文本分類任務(wù),而且不受限于大規(guī)模語(yǔ)料。
VAE 的優(yōu)化目標(biāo)涉及兩項(xiàng),其中一項(xiàng)是重構(gòu)誤差,優(yōu)化這一項(xiàng)會(huì)使得隱變量能夠更多地包含輸入數(shù)據(jù)的信息;但另外一項(xiàng)KL 散度,優(yōu)化這一項(xiàng)會(huì)使得隱變量服從的后驗(yàn)概率分布趨于先驗(yàn),因此這一項(xiàng)也被視作約束項(xiàng)。雖然VAE 作為深度生成模型,在很多任務(wù)上都有很好的表現(xiàn),但在自然語(yǔ)言處理任務(wù)中常常發(fā)生后驗(yàn)塌陷現(xiàn)象,即KL 散度被優(yōu)化至趨于零,隱變量的后驗(yàn)概率分布趨于先驗(yàn)概率分布,這意味著實(shí)際上隱變量并沒(méi)有學(xué)習(xí)到輸入數(shù)據(jù)相關(guān)的信息;此時(shí)若重構(gòu)誤差仍然較小,只能說(shuō)明VAE 的生成網(wǎng)絡(luò)學(xué)習(xí)能力較強(qiáng),在不需要隱變量的情況下依然可以重構(gòu)出輸入數(shù)據(jù),而這也違背了VAE 模型想要從輸入數(shù)據(jù)中學(xué)習(xí)隱變量概率分布的目的。
為了解決后驗(yàn)塌陷問(wèn)題,Davidson 等[21]將vMF分布引入VAE。vMF 是?d空間上分布在(d-1)維球面的空間分布,其概率密度函數(shù)由它的方向向量μ(‖μ‖=1)和集中參數(shù)κ≥0 決定,公式如下
式中,Iν表示ν階第一類修正貝塞爾方程。Xu[22]論證在VAE 文本建模中,只要簡(jiǎn)單地將集中參數(shù)設(shè)置為常數(shù),便可從理論上解決后驗(yàn)概率塌陷的問(wèn)題,并且同時(shí)可以得到較好的實(shí)驗(yàn)結(jié)果。此時(shí)的后驗(yàn)分布和先驗(yàn)分布之間的KL 散度僅依賴于κ,如式(5)所示。因此,若固定其參數(shù)值,KL 散度不會(huì)被優(yōu)化至趨于零,這也保證了隱變量的后驗(yàn)分布不會(huì)完全塌陷至先驗(yàn)分布,從而使得隱變量具有能夠表征輸入數(shù)據(jù)的能力。
為說(shuō)明將球面VAE 應(yīng)用到文本分類的有效性,在被廣泛使用的三個(gè)公開(kāi)數(shù)據(jù)集上加以驗(yàn)證,分別是Yelp 數(shù)據(jù)集(https://www.yelp.com/dataset)、IMDB數(shù)據(jù)集(https://www.kaggle.com/lakshmi25npathi/imdb-dataset-of-50k-movie-reviews)和AGNews 數(shù)據(jù)集(https://www.kaggle.com/amananandrai/ag-newsclassification-dataset)。其中,Yelp 數(shù)據(jù)集源自該點(diǎn)評(píng)網(wǎng)站上的用戶對(duì)酒店餐廳的1-5 星評(píng)論,每個(gè)類別包括650 000 條訓(xùn)練樣本和50 000 條測(cè)試樣本;IMDB數(shù)據(jù)集是該網(wǎng)站用戶對(duì)電影的觀后評(píng)價(jià),分為正面評(píng)價(jià)和負(fù)面評(píng)價(jià)兩類,各個(gè)類別均包含25 000 條樣本數(shù)據(jù);AGNews 數(shù)據(jù)集是利用學(xué)術(shù)搜索引擎發(fā)布的從超過(guò)2 000 個(gè)新聞數(shù)據(jù)源網(wǎng)站上爬取的新聞報(bào)道,包括世界、科技、體育、商業(yè)4 個(gè)類別共120 000 條訓(xùn)練樣本和7 600 條測(cè)試樣本。
針對(duì)所使用的數(shù)據(jù)集,基于NLTK(https://www.nltk.org/)工具采用統(tǒng)一的數(shù)據(jù)預(yù)處理流程,包括詞干抽取、停用詞過(guò)濾、詞表構(gòu)建等,然后基于Tensorflow(https://www.tensorflow.org/)進(jìn)行相關(guān)的實(shí)驗(yàn)。電腦操作系統(tǒng)是Windows10,顯卡型號(hào)是GTX1060。
基線模型采用基本的VAE,記作Gauss-VAE;所提出的模型記作vMF-VAE。推斷網(wǎng)絡(luò)和生成網(wǎng)絡(luò)均使用多層感知器(Multi-layer perceptron,MLP),輸入數(shù)據(jù)為文本詞袋表示的詞頻向量;分類器同樣采用MLP。分類器使用MLP 的原因是想在不損失模型精確度的情況下,盡量減小模型復(fù)雜度。模型相關(guān)超參數(shù)情況為:數(shù)據(jù)批規(guī)模(batch size)設(shè)置為64,學(xué)習(xí)率(learning rate)設(shè)置為0.001,優(yōu)化器(optimizer)設(shè)置為Adam[21],隱變量維度分別設(shè)置為25,50 和100.
表1 給出了基線模型和所提出模型在三種數(shù)據(jù)集上的準(zhǔn)確識(shí)別率。
表1 分類結(jié)果 單位:%
不難發(fā)現(xiàn),所提出的vMF-VAE 在Yelp 數(shù)據(jù)集上略有提升,在IMDB 和AGNews 數(shù)據(jù)集上的表現(xiàn)均明顯好于Gauss-VAE,這說(shuō)明本文提出的方法可以有效獲得更有效的文本特征表示,從而可以更好地解決文本分類問(wèn)題。
本文提出了一種基于變分自編碼器的文本分類方法。首先通過(guò)推斷—生成框架得到文本特征表示,然后再基于此特征表示進(jìn)行文本分類。受限于服從高斯分布的隱變量在優(yōu)化過(guò)程中會(huì)發(fā)生后驗(yàn)塌陷的問(wèn)題,本文引入了球面vMF 分布代替高斯分布,實(shí)驗(yàn)結(jié)果表明了本文所使用方法的有效性。近年來(lái)使用VAE 框架建模文本的研究取得了很大進(jìn)步,越來(lái)越多的研究表明VAE 模型由于假設(shè)隱變量服從高斯分布而可能會(huì)存在問(wèn)題,后續(xù)會(huì)繼續(xù)跟進(jìn)VAE 模型的相關(guān)工作并探索如何得到質(zhì)量更好更穩(wěn)定的文本特征表示問(wèn)題。