周國劍 陳慶春 類先富
(西南交通大學 成都 611756)
隨著網(wǎng)絡中的社交、郵件、商務以及新聞時評等領域的快速發(fā)展,短文本越來越多地以短信、博客、微信、用戶評論等形式的短文本出現(xiàn)在我們的日常生活中,并呈現(xiàn)出爆炸式增長的態(tài)勢。如何對海量的短文本信息進行挖掘與分析,進而提高用戶體驗以及增強用戶粘性,是信息處理領域需要面臨的一個重要問題。此外,由于用戶對信息的實用性要求越來越高,如何過濾短文本(微博、短信等)中的廣告、垃圾文本等也具有重要的應用價值。
對于長文本文檔相關的分類已經(jīng)有了較深入的研究。許多統(tǒng)計學習相關的方法被廣泛應用于長文本分類問題,并取得了不錯的分類效果,例如樸素貝葉斯[1]、支持向量機(SVM)[2]分類方法等。由于短文本沒有上下文依賴或足夠的單詞貢獻信息,將長文本文檔分類方法直接應用在短文本分類上的效果并不好。具體來說,短文本分類所面臨的主要問題在于,如何將短文本處理成計算機能夠理解的形式,因為文本自身篇幅短小以及特征稀疏的原因,使用傳統(tǒng)方法建模會呈現(xiàn)出非常明顯特征稀疏的性質(zhì),不利于后續(xù)的分類處理。短文本分類的研究方向大致包括以下幾個:
1)通過外部知識庫進行特征擴展,如Sahami[3]通過搜索引擎檢索短文本的特征詞,用檢索結果擴充短文本,Phan[4]使用Wikipedia 知識庫結合LDA模型抽取隱含主題擴充等;
2)通過短文本自身結合相關的統(tǒng)計學方法來挖掘新的詞義特征并擴展,如Kalogeratos[5]等提出的上下文向量空間模型,Quan[6]等利用文本集信息建立文本關聯(lián)度,王細薇[7]和袁滿[8]等通過關聯(lián)規(guī)則和頻繁詞集的挖掘實現(xiàn)短文本的特征擴充等;
3)通過主題模型進行特征擴展的,如Rubin[9]等在文檔分類中建立了實現(xiàn)一種多標簽分類的主題模型,Chen[10]等在通過多粒度主題模型實現(xiàn)了短文本分類的文本特征拓展以及不同標簽的最優(yōu)主題選擇,前述Quan[6]也在研究過程中使用了隱含主題模型,借助主題的相似性度量方法來解決短文本的特征稀疏問題,張志飛等[11]在Quan 的基礎上對加權方法進一步地改進,楊萌萌[12]則通過改進主題相似度來實現(xiàn)一種新的短文本分類方法,呂超鎮(zhèn)[13]通過LDA 主題模型所生成的主題—詞矩陣中的高頻詞實現(xiàn)短文本分類,均取得了不錯的效果。
針對Quan[6]、張志飛[11]、楊萌萌[12]等所使用的方法無法直接為每一個短文本建模,只適用基于距離的KNN 或者K-means 等算法,而對SVM 這些對文本分類效率比較高的分類算法不適用的問題。本文以上述文獻為基礎,提出了一種使用主題結合短文本自身語義信息的特征擴展方法,并用SVM對文本進行分類,達到了良好的分類效果。
LDA 概率主題模型最早是由D.Blei[14]等提出的一個“文檔—主題—詞”的生成概率模型,其本質(zhì)是一種非監(jiān)督的機器學習技術,其核心思想是:文檔可以通過主題的特定概率分布來描述,每個主題都代表了其對應的文檔集中詞的概率分布。LDA已被廣泛用于多項式觀測、分類和聚類相關的工作中,本文也采用LDA 模型生成概率主題。LDA 生成過程如下:
1)選擇服從Dirichlet 分布的主題分布θ,即θi~Dir(α),i ∈{1,2,…,M};
2)選 擇 服 從Dirichlet 分 布 的 詞 分 布φ ,即φk~Dir(β),k ∈{1,2,…,K};
3)對于第i 篇文檔的第j 個詞Wi,j,i ∈{1,2,…,M},j ∈{1,2,…,N},選擇一個主題服從多項式分布zi,j~Multi(θi) ,選 擇 一 個 詞 服 從 多 項 式 分 布wi,j~Multi(φzi,j)。
在LDA 生成過程中,M 代表文檔數(shù)量,K 代表主題數(shù)量,α是一個與文檔中主題分布相關的Dirichlet 超參數(shù),β是一個與文檔集中主題生成詞概率相關的Dirichlet 超參數(shù)。LDA 模型如圖1 表示。
圖1 LDA主題模型示意圖
一般來說,兩個短文本之間的相異詞通常具有揭示隱含主題的重要信息。為了能讓計算機理解短文本,我們使用向量空間模型將文本表現(xiàn)為多維向量的形式,其中定義詞匯總數(shù)為N 的向量詞典V={v1,v2,…,vN},文檔總數(shù)為M 的文檔集合D={d1,d2,…,dM}。對于集合D 里的文檔di,di可以用向量空間模型表示為,其中表示序號為k的詞在di中的權重,使用詞頻-逆文檔頻率(TF-IDF)來表示。
其中dfi表示整個語料中含有該詞的文檔數(shù)量,tfij表示某篇文檔中對應詞的詞頻。
Quan[6]等提出了一種基于主題相似性的度量方法(TBS),在對語料集執(zhí)行LDA 主題估計以后,可以得到總數(shù)為Z 的潛在主題及其概率分布矩陣j和θ,其中φ={t1,t2,…,tZ},ti為詞匯在第i 個主題上的分布。ti={ti1,ti2,…,tiN},tij表示第j個詞對應于主題ti的概率。對于兩個短文本,其相異詞定義如下[6]:
提取的概率主題可以被視為一種“概念”,由一組單詞及其相應的概率表示。如果d1,d2均大概率屬于某一主題,可以合理地推斷出兩個文檔在一定程度上彼此相關。我們可以通過Dist(d2)的項對d1進行特征擴展,同理可使用Dist(d1)的項對d2進行特征擴展。假設Dist(d1)的所選項的索引是m,并且Dist(d2)的為n,我們可以采用如下方法擴展W(1)和W(2)的特征向量[6]:
針對Quan[6]等所使用的方法只適用基于距離的KNN 或者K-means 等算法,而對SVM 這些對文本分類效率比較高的分類算法不適用的問題。對擴展特征向量的改進如下:
此方法直接為每一個短文本建模,挖掘出短文本與短文本之間的內(nèi)聯(lián)信息并組合到一起。此方法有可能造成多個文檔共同作用下導致累加特征值突然變大,為了解決這個問題,我們的做法是讓累加的值不再是固定的特征值,而是增加一個哈希函數(shù)ξ:N→±1,此時我們有:
這樣的好處是,擴展后的特征仍然是一個無偏的估計,不會導致某個擴展后的特征值過大。
基于LDA 和文本互擴展的短文本分類流程如圖2所示,整個算法由4部分組成,分別是文檔向量化、LDA 主題模型訓練及主題清洗、使用LDA 實現(xiàn)短文本的特征擴展、SVM訓練分類器并用于測試集的預測。
文檔的向量化使用向量空間模型[15]實現(xiàn),該模型也稱為詞袋模型(Bag of Words,BOW)。詞袋模型假設不考慮語料中的上下文關系,忽略詞序、語法和句法,僅依據(jù)所有詞的權重,權重與詞頻有關。詞袋模型主要包括分詞、統(tǒng)計詞頻、標準化三個步驟,完成以上步驟后我們即可以得到一個用向量表示的文檔。由于大部分的文檔都只會使用詞匯表中的少部分的詞,因此我們得到的向量化文檔中會有大量的0,也就是說向量化后的文檔是稀疏的,在短文本中該特征更為明顯。同時,因為某個詞的重要性既隨著它在文檔中出現(xiàn)的次數(shù)成正比增加,也隨著它在語料庫中出現(xiàn)的頻率成反比下降,只用詞頻表示并不足夠。因此我們使用式(2)中的TF-IDF來表示文檔向量。
圖2 基于LDA和文本互擴展的短文本分類流程圖
LDA 主題模型如圖1 所示,模型里面有隱藏變量θ,φ,z,模型的參數(shù)是α,β。LDA模型的參數(shù)估計方法主要有變分推斷EM 和Gibbs 采樣兩類。變分推斷EM 算法通過“變分推斷”和EM 算法來得到主題模型的“文檔—主題”分布和“主題—詞”分布。為了求出模型參數(shù)和對應的隱藏變量分布,EM 算法需要在E 步先求出隱藏變量θ,φ,z的基于條件概率分布的期望,接著在M 步極大化這個期望,得到更新的后驗模型參數(shù)α,β。Gibbs 采樣算法則是將α,β作為已知的先驗輸入,目標是得到整體z,w,也就是“文檔—主題”分布和“主題—詞”分布。通過采樣得到了所有詞的主題,那么通過統(tǒng)計所有詞的主題計數(shù),就可以得到各個主題的詞分布。接著統(tǒng)計各個文檔對應詞的主題計數(shù),就可以得到各個文檔的主題分布。文獻[16]中指出Gibbs采樣在困惑度與運行速度等方面均優(yōu)于變分推斷EM 算法。此外,Gibbs采樣方法描述簡單和易于實現(xiàn),使其成為了概率主題模型中的常用參數(shù)估計方法。
LDA模型訓練好之后,為了進一步消除噪聲主題(如語義不連貫的主題,類別傾向性偏差較大的主題等),我們有以下的假設:最有意義的主題與單個主題類別相關性最高,如果主題與許多類別都密切相關,則可能是噪聲主題[17]。因此,我們從信息論的角度,根據(jù)信息熵的相關概念,使用一種類別熵(Category Entropy,CE)的度量來清洗主題,定義如下:
其中Q 為類別集合,p(q|t)為當前類別q 對應某一個主題t 的概率。類別熵CE(t)越大,則說明該主題t 越有可能是噪聲主題。當某一主題t 的熵值CE(t)大于閾值τ時,我們將其從擴展短文本的主題集合中去除。
一般來說,文檔向量化之后都會呈現(xiàn)出稀疏的特征,短文本向量化后表現(xiàn)尤為突出。因此,我們將特征擴展作為短文本分類中的主要工作內(nèi)容。我們的方法首先使用Gibbs 采樣算法提取概率主題,而不考慮類別信息。也就是說,我們平等對待集合中包含的所有文本片段并對它們執(zhí)行Gibbs抽樣,并相應地導出一組總數(shù)為Z 的概率主題。后續(xù)將使用這些概率主題以及文本之間的隱含信息來對短文本的特征進行擴展。
如果兩個文檔都傾向于同一個主題的時候,我們認為這兩個文檔大概率屬于同一個類別。在這一前提下,使用短文本間的相異詞進行特征擴展,將對應的主題特征擴充到原有的短文本中成為了可能。在本文中,我們將訓練主題模型后得到的概率主題與不同文本之間的相異詞結合,通過前文中式(5)的算法思想,實現(xiàn)稀疏文檔向量的特征擴展。特征擴展的算法偽代碼如下:
基于概率主題和文本相異詞的短文本特征擴展算法
輸入:φ:某個主題之上的詞分布
θ:某篇文檔的主題分布
D:語料中的文檔集合
λ:高概率主題的閾值
C:某一主題的高概率的相異詞集合
輸出:W':擴展特征后的向量化文檔集合
1.根據(jù)式(3),(4)獲取相異詞的集合Dist(d1),Dist(d2),…,Dist(dM)
2.向量化D得到文檔的向量化集合W=TF-IDF(D)
3.訓練LDA 主題模型,并根據(jù)式(6)篩除噪聲主題,得到剩余的主題集合T'
4.擴展W得到W'
5.返回W'
SVM[2]是一種常見的判別方法,屬于有監(jiān)督模型中的一種。SVM 自一出現(xiàn)就以其良好的分類性能席卷了機器學習領域,如今在機器學習領域中常用于模式識別、分類以及回歸分析等。在特征數(shù)量非常多的或者樣本數(shù)量遠遠小于特征數(shù)量的時候,模型往往線性可分,一般使用線性核函數(shù)結合合適的懲罰系數(shù)C 訓練模型。在語料集足夠的情況下,VSM 模型向量化后的文檔具有明顯的多特征數(shù)量的特點。因此,我們的實驗采取線性核函數(shù)驗證算法的分類性能。
為了驗證論文所提出算法的有效性,我們選取一些典型的短文本來進行實驗驗證和分析評估。實驗數(shù)據(jù)我們采用了清華大學自然語言實驗室推出的中文文本分類數(shù)據(jù)集THUCNews[18]。我們在原有數(shù)據(jù)集中選取了體育、彩票、房產(chǎn)、教育、時尚、游戲、科技、財經(jīng)等八大類別中的部分新聞數(shù)據(jù),一共選取了7950 篇文檔,其中體育999 篇,彩票1000篇,房產(chǎn)986 篇,教育997 篇,時尚972 篇,游戲998篇,科技1000 篇,財經(jīng)997 篇。每個文檔的標題字數(shù)較短,符合短文本的基本特性,因而我們使用文檔標題作為測試用的數(shù)據(jù)集,訓練集和測試集按4∶1 的比例隨機分配。文檔的正文部分作為特征擴展用的數(shù)據(jù)集,用于LDA 模型的訓練以及SVM分類器模型的擬合。評估方法選擇了傳統(tǒng)的評估標準對分類性能進行評估,包括準確率P、召回率R以及F1 值,其中F1 值是準確率P 與召回率R 的調(diào)和平均數(shù),能夠有效地衡量模型的綜合性能。
數(shù)據(jù)集的分詞使用開源的結巴分詞庫對語料進行處理。結巴分詞基于前綴詞典實現(xiàn)高效的詞圖掃描,并通過動態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合,實現(xiàn)了有效的分詞,擁有精確模式、全模式、搜索引擎模式三種分詞的方式。在實驗中,我們選擇精確模式進行分詞,分詞完畢后導入停用詞表將標點、數(shù)字以及一些無意義的中文詞去除,得到多組預處理完成的文檔。使用VSM 模型向量化預處理完畢的文檔,并準備訓練LDA模型。
困惑度一般在自然語言處理中用來衡量訓練出的語言模型的好壞。在用LDA 做主題和詞聚類時,原作者D.Blei就是采用了困惑度[14]來確定主題數(shù)量。為了選擇合適的主題參數(shù),我們使用k-折交叉驗證的方法尋找困惑度最低的概率主題模型。在實驗中我們?nèi)=5,將原始的訓練集分為5份,每次取出1份,剩余的4份作為尋找最佳主題數(shù)的訓練樣本,重復5 次,通過最終結果分析確定最佳主題數(shù)量。在實驗中,我們?nèi)DA 模型的超參數(shù)α和β分別為50/K 和0.01,迭代次數(shù)選擇200 次,其中K 為測試使用的主題數(shù)量,將K 設定在5~200間,并以間隔5 取值的等差數(shù)列來尋找最優(yōu)主題數(shù)K。通過多次的實驗可知,困惑度隨著主題數(shù)量的增加而降低,在主題數(shù)K 達到60 之后,困惑度不再降低,而是隨著主題數(shù)量的增加而增加。因此,我們選取主題數(shù)量K=60來建立主題模型。
高概率主題的閾值λ對分類性能的影響如圖3所示,從圖中可以看出,正確率隨著λ的增加,先呈現(xiàn)出上升的趨勢,在λ=0.3 時,達到最高點,然后隨著λ的增加而緩慢下降,故后續(xù)實驗使用λ=0.3 作為實驗參數(shù)。
圖3 高概率主題閾值對分類性能的影響示意圖
對測試集的各個類別的分類結果如表1 所示。從表1 中的對比結果可以看出,相對于直接使用VSM+SVM 模型進行分類的傳統(tǒng)方法,本文采取的基于概率主題模型和文本互擴展的短文本分類方法對不同類別的短文本分類,準確率和召回率都有一定的提高,尤其是對于召回率較低的體育和財經(jīng)類別,經(jīng)過擴展后的性能提升更加明顯。另外,雖然體育、房產(chǎn)等類別的準確率比傳統(tǒng)方法的略低,但召回率提升明顯,總體性能提升。圖4 表示四種方法P、R、F1的宏平均。這表明了潛在概率主題及文本相異詞的隱含信息可以有效提高短文本的分類性能。雖然相較于TBS+KNN[6]的方法性能提升不明顯,但是相較于KNN 大計算量及分類效率不高的特點,使用SVM 作為分類器的模型在效率上有明顯的優(yōu)勢。
圖4 四種方法的宏平均對比圖
本文從短文本相似性的角度出發(fā),研究了如何利用LDA 主題模型以及文本之間的隱含信息對短文本進行特征擴展?;诙涛谋敬嬖诘奶卣飨∈瑁畔⒘可俚葐栴},在LDA 主題模型強大的主題抽取以及文本表示能力的基礎上,提出了利用文本之間的相異詞與概率主題結合的短文本分類框架,并通過實驗驗證了該方法對短文本分類的有效性。對于個別的類別,擴展后的性能提升不明顯,主要原因有:
表1 四種方法分類實驗結果對比一覽表
1)擴展的特征項的質(zhì)量。通過特征項的擴展有助于提高短文本語義的表達能力,但有部分的特征項可能是噪聲數(shù)據(jù),引入特征項的同時也引入了噪聲,影響了分類的效果;
2)語料的預處理和降維方法。語料預處理不當會導致較多噪聲數(shù)據(jù)的殘留,降維不當會使有意義的特征項被清除,二者都會都分類效果產(chǎn)生一定的影響。
因此,我們未來的工作將進一步提高短文本特征擴展的準確性以及優(yōu)化各個閾值參數(shù),并擴大實驗的規(guī)模,使用各種不同的數(shù)據(jù)來進一步驗證我們的算法。