專利名稱:文本分類(lèi)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)預(yù)處理技術(shù),尤其涉及一種文本分類(lèi)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)上的網(wǎng)頁(yè)、電子郵件、數(shù)據(jù)庫(kù)、數(shù)字圖 書(shū)館等電子文本成幾何級(jí)數(shù)不斷增長(zhǎng),如何有效處理這些文本并進(jìn)行分類(lèi) 是一個(gè)非常重要的課題。文本分類(lèi)是指在已有數(shù)據(jù)的基礎(chǔ)上構(gòu)造一個(gè)分類(lèi) 模型,即,分類(lèi)器。它按照預(yù)先定義的分類(lèi)體系為測(cè)試文檔集合中的每個(gè) 文檔確定一個(gè)類(lèi)別,使得用戶能夠方便地瀏覽文檔,也可以通過(guò)限制搜索 范圍來(lái)使文檔的查找更為容易。文本自動(dòng)分類(lèi)就是用大量的帶有類(lèi)標(biāo)志的 文本,對(duì)分類(lèi)準(zhǔn)則或模型參數(shù)進(jìn)行訓(xùn)練,然后用訓(xùn)練得到的結(jié)果對(duì)未知類(lèi)別 的文本進(jìn)4于識(shí)別。
然而在實(shí)際分類(lèi)應(yīng)用中,經(jīng)常會(huì)遇到數(shù)據(jù)傾斜,又稱作數(shù)據(jù)不平衡或 者類(lèi)別不平衡,這是影響分類(lèi)性能的重要因素之一,對(duì)傳統(tǒng)的分類(lèi)方法構(gòu) 成了挑戰(zhàn)。大多數(shù)分類(lèi)算法都是面向均勻分布數(shù)據(jù)提出的,對(duì)于數(shù)據(jù)傾斜 的情況,僅利用傳統(tǒng)的分類(lèi)方法并不能取得理想的文本分類(lèi)效果。
發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決現(xiàn)有技術(shù)中的上述問(wèn)題之一 。 為此,本發(fā)明的實(shí)施例提出一種提高存在數(shù)據(jù)傾斜的文本分類(lèi)效果的 文本分類(lèi)方法。
本發(fā)明實(shí)施例提出了 一種文本分類(lèi)方法,所述分類(lèi)方法包括以下步驟 a)根據(jù)類(lèi)別將初始訓(xùn)練文本集劃分為多個(gè)分別包含相同類(lèi)別文本的子集, 并從每個(gè)子集中抽取出對(duì)應(yīng)的概率主題模型;b)利用對(duì)應(yīng)的概率主題模型 生成新的文本來(lái)均衡所述多個(gè)子集的類(lèi)別;c)根據(jù)所述多個(gè)子集對(duì)應(yīng)的均衡訓(xùn)練文本集構(gòu)造分類(lèi)器;以及d)利用所述分類(lèi)器進(jìn)行文本分類(lèi)。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述概率主題模型為L(zhǎng)DA概率主題模型。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述步驟b包括確定包含最多文本數(shù) 量的子集;每個(gè)概率主題模型根據(jù)所述最多文本數(shù)量生成對(duì)應(yīng)的新文本, 其中所述新文本數(shù)量為所述最多文本數(shù)量與每個(gè)子集包含的文本數(shù)量的差 值;以及將所述新文本加入到對(duì)應(yīng)的子集中。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,還包括利用所述概率主題模型生成新的 文本代替所述初始文本訓(xùn)練集包含的文本。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,還包括對(duì)構(gòu)造分類(lèi)器的所述均衡訓(xùn)練文 本集進(jìn)行特征降維的步驟。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,所述分類(lèi)器為支持向量機(jī)。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,還包括對(duì)所述初始訓(xùn)練文本集進(jìn)行預(yù)處 理的步驟,以過(guò)濾常用詞以及進(jìn)行詞才艮還原。
本發(fā)明通過(guò)從文本訓(xùn)練集上抽取出對(duì)應(yīng)的概率主題模型,并利用對(duì)應(yīng) 的概率主題模型生成稀有類(lèi)別的樣本,擴(kuò)大稀有類(lèi)別在整個(gè)文本集的比例, 對(duì)文本集進(jìn)行數(shù)據(jù)平衡,從而利用模型所反映的文本全局語(yǔ)義信息來(lái)提高 數(shù)據(jù)傾斜下的文本分類(lèi)效果。
此外,本發(fā)明通過(guò)概率主題模型重新生成該類(lèi)別的所有樣本,替代原 來(lái)的樣本作為新的訓(xùn)練樣本,可以達(dá)到數(shù)據(jù)平滑的效果,削弱噪聲對(duì)文本
分類(lèi)的影響。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面 、的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描 述中將變得明顯和容易理解,其中
圖1為本發(fā)明實(shí)施例的文本分類(lèi)方法流程圖; 圖2為本發(fā)明實(shí)施例的概率主題模型示例;
5圖3為本發(fā)明實(shí)施例的利用概率主題模型生成新的文本的示例圖4為本發(fā)明實(shí)施例的LDA概率主題模型抽取步驟流程圖5為本發(fā)明實(shí)施例基于LDA概率主題模型的文本生成步驟流程圖;
圖6為本發(fā)明具體實(shí)施例的文本分類(lèi)方法的流程圖;以及
圖7為本發(fā)明實(shí)施例的文本分類(lèi)方法對(duì)應(yīng)的總體結(jié)構(gòu)框架具體實(shí)施例方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其
能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā) 明.,而不能解釋為對(duì)本發(fā)明的限制。
圖1為本發(fā)明實(shí)施例的文本分類(lèi)方法流程圖,如圖所示,首先根據(jù)類(lèi) 別將初始訓(xùn)練文本集劃分為多個(gè)分別包含相同類(lèi)別文本的子集,并從每個(gè) 子集中抽取出對(duì)應(yīng)的概率主題模型(步驟102)。當(dāng)然,這里初始訓(xùn)練文 本集可能存在數(shù)據(jù)傾斜,或者類(lèi)別不平衡的問(wèn)題。文本類(lèi)別是指對(duì)應(yīng)的文 本屬于新聞、體育、娛樂(lè)還是其他,這里不——舉例。
例如,設(shè)初始訓(xùn)練文本集中含有11個(gè)類(lèi)別〔={£:1^2,..., },則訓(xùn)練文本集
可以根據(jù)類(lèi)別劃分為n個(gè)子集"={《^2,...,《}。當(dāng)然,每個(gè)子集對(duì)應(yīng)相同類(lèi) 型的文本,文本的數(shù)量為一個(gè)或多個(gè)。
概率主題模型的主要思想認(rèn)為文檔是若干主題的混合分布,而每個(gè)主 題又是一個(gè)關(guān)于單詞的概率分布。主題模型可以看作是文檔的一種生成模 型文檔的生成就是基于主題模型的一個(gè)筒單概率過(guò)程。當(dāng)生成一個(gè)新的 文檔時(shí),首先得到一個(gè)關(guān)于主題的分布,對(duì)于該文檔的每一個(gè)詞符,先通 過(guò)主題的分布隨機(jī)得到某個(gè)主題,接著通過(guò)該主題的單詞分布隨機(jī)得到一 個(gè)單詞作為該詞符的具體單詞。
目前存在多種概率主題模型,例如隱迪列徹萊特分配(Latent Dirichlet Allocation, LDA )模型,彈球盤(pán)分配模型(Pachinko Allocation Model, PAM ), 互相關(guān)主題模型(Correlated Topic Model, CTM )及概率隱語(yǔ)義分配 (Probabilistic Latent Semantic Allocation, pLSA )才莫型等等。本發(fā)明以LDA模型作為實(shí)施示例,但本發(fā)明的應(yīng)用范圍并不局限于LDA模型,而是適用 于絕大多數(shù)概率主題模型。
圖2給出了從某篇文章抽取出的概率主題模型的一個(gè)示例,如圖所示 該文章有40個(gè)主題,每個(gè)主題底下有40個(gè)單詞,需要注意的是一個(gè)單詞 可以同時(shí)出現(xiàn)在多個(gè)主題下面。每個(gè)主題在文章中出現(xiàn)的概率都不一樣, 例如主題1出現(xiàn)的概率是主題2的將近2倍,同時(shí)每個(gè)單詞在同一主題下 面出現(xiàn)的概率也是不一樣的??梢钥闯?,主題1主要談?wù)摰氖菆D形方面的 話題,而主題40主要談?wù)摰氖歉怕式y(tǒng)計(jì)方面的話題。
圖3給出了利用概率主題模型生成新的文本的示例圖。如圖所示,主 題1和主題2都與money和river相關(guān)。它們具有不同的詞分布??赏ㄟ^(guò)從 主題中選擇對(duì)該主題重要程度不同的詞構(gòu)成文檔。文檔1和文檔3是由主 題1和主題2分別隨機(jī)抽樣得到的,而文檔2則是由主題1和主題2根據(jù) 不同的主題分布混合得到的。注意,詞的右上角標(biāo)的數(shù)字是其所屬的主題 號(hào),即該詞是有所標(biāo)主題隨機(jī)抽樣得到的。
在抽取得到每個(gè)子集的概率主題模型之后,在步驟104中可以利用對(duì) 應(yīng)的概率主題模型生成新的文本,擴(kuò)充對(duì)應(yīng)子集類(lèi)別的規(guī)模,從而實(shí)現(xiàn)對(duì) 多個(gè)子集類(lèi)別的均衡。
在經(jīng)典的LDA模型當(dāng)中,每個(gè)文本都有自己獨(dú)立的主題分布,而在文 本分類(lèi)任務(wù)中,假設(shè)同一類(lèi)別的文本具有相同的主題分布。則可以把訓(xùn)練 文本集的構(gòu)造過(guò)程看成主題模型的一個(gè)生成過(guò)程對(duì)于文本集中的每一個(gè) 類(lèi)別,都存在一個(gè)潛在的概率主題模型,該類(lèi)別的所有文本都是由其對(duì)應(yīng) 的主題模型按照自己的生成過(guò)程產(chǎn)生的。也就是說(shuō),由某個(gè)概率主題模型 生成的新文本一定還是屬于這個(gè)模型對(duì)應(yīng)的類(lèi)別。
在均衡每個(gè)子集的類(lèi)別時(shí),首先確定包含最多文本數(shù)量的子集。例如 對(duì)于n個(gè)類(lèi)別C = {Cl,c2,...,c },把含有最多文本的類(lèi)別的文本數(shù)目記為 M^T—S/Z£。對(duì)于其他任何類(lèi)別c,.,通過(guò)其對(duì)應(yīng)的概率主題模型生成
—S/Z五-I《l個(gè)新的文本,并加入到原來(lái)的文本集里面,其中l(wèi)《l表示c,原
來(lái)的文本數(shù)目。這些新生成的文本與原來(lái)的舊 本一起構(gòu)成新的訓(xùn)練集 = ,滿足K =|《| = ... = |《| 。這樣,通過(guò)從文本集上抽取出對(duì)應(yīng)的概率主題模型,利用模型所反映 的文本全局語(yǔ)義信息來(lái)提高數(shù)據(jù)傾斜下的文本分類(lèi)效果。對(duì)于存在數(shù)據(jù)傾 斜的文本集,本發(fā)明通過(guò)對(duì)應(yīng)的概率主題模型生成稀有類(lèi)別的樣本,擴(kuò)大 稀有類(lèi)別在整個(gè)文本集的比例訓(xùn)練文本集中各個(gè)類(lèi)別進(jìn)行擴(kuò)充后,所有類(lèi) 別在整個(gè)數(shù)據(jù)集里的比例是一樣的,使得分類(lèi)器對(duì)各個(gè)類(lèi)別同等對(duì)待,從 而達(dá)到數(shù)據(jù)平衡的效果。
然后,把上述均衡訓(xùn)練文本集交付給分類(lèi)器學(xué)習(xí)模塊進(jìn)行分類(lèi)器的學(xué)
習(xí),實(shí)現(xiàn)分類(lèi)器的構(gòu)造(步驟106)。最后,利用該分類(lèi)器進(jìn)行文本分類(lèi) (步驟108),最終可以改善數(shù)據(jù)傾斜條件下文本分類(lèi)的效果。
下面,以LDA概率主題模型為例來(lái)說(shuō)明概率主題模型的抽取以及應(yīng) 用。LDA模型是目前應(yīng)用最廣泛的一種概率主題模型,它具有比其他模型 更全面的文本生成假設(shè)。
設(shè)文本中的主題z的分布為尸(力,對(duì)于給定的某個(gè)主題z,該主題上面 的單詞概率分布為。我們用= /)表示生成第i個(gè)單詞時(shí)第j個(gè)主題 被選中的概率,P(vv,lz,-力表示通過(guò)主題j選中單詞w,的概率。因此文本中 單詞的概率分布可以表示為
f(w,) = i>(w,|z,=/)i^=_/)
其中T表示主題數(shù)目。為方便起見(jiàn),令^力-尸(wlz-力表示單詞在主題 j上面的多項(xiàng)式分布,W^P②表示主題在文本d上面的多項(xiàng)式分布。
LDA模型采用Dirichlet(迪列徹萊特)分布作為多項(xiàng)式分布-和^的共 軛先驗(yàn),簡(jiǎn)化了模型的統(tǒng)計(jì)推導(dǎo)。
在本發(fā)明中,抽取LDA概率主題模型的方法有變分法、期望最大化 (Expectation Maximization, EM)及吉布斯(Gibbs )抽樣等算法。在一個(gè)型。
Gibbs抽樣算法并不直接計(jì)算每個(gè)文檔的主題-單詞分布-和主題分布 P。根據(jù)文檔中可見(jiàn)的單詞序列,通過(guò)求出z的后驗(yàn)分布(即把文檔中每個(gè) 單詞賦予某個(gè)主題),間接地統(tǒng)計(jì)出主題-單詞分布0和主題分布0。每個(gè)單 詞i對(duì)應(yīng)的主題變量z,被賦予[l, 2, ..., T]中的某個(gè)整數(shù)t,表示這個(gè)單詞對(duì)應(yīng)的是第t個(gè)主題。
對(duì)于文本集合里面的每一個(gè)詞符i,用w,和《分別表示它的詞匯索引和
文檔索引。Gibbs抽樣過(guò)程逐個(gè)處理文本集里的每個(gè)詞符,在已知其他詞符
的主題分布的條件下,估算當(dāng)前詞符屬于每個(gè)主題的可能性?;谶@種條
件分布,重新選擇某個(gè)主題作為當(dāng)前詞符的主題。把該條件分布記為 =#_,,w,,《,),其中z,/表示把主題j賦給詞符i作為其主題,l,表示除
當(dāng)前詞符外的其他所有詞符的主題賦值, 表示其他所有的已知或可見(jiàn)的 信息,如其他所有詞符的詞匯索引w一,和文檔索引義,,以及超參數(shù)a和/ 。
這個(gè)條件分布的計(jì)算公式如下
尸O, -來(lái);,W",)oc.
c》"c:化
/=1
其中,C盯、C^分別是WxT、 DxT維的整數(shù)矩陣;C:為除當(dāng)前詞 符i外單詞w被賦予主題j的次數(shù),C《表示除當(dāng)前詞符i外文檔d中的詞 符被標(biāo)注為主題j的次數(shù)。注意上式中的概率是為歸一化的, 一個(gè)詞符被
Gibbs抽樣算法在剛開(kāi)始時(shí)隨機(jī)賦予每個(gè)詞符[l,...,T]中的一個(gè)主題。 對(duì)于每個(gè)詞符,計(jì)數(shù)矩陣c盯和C^中對(duì)應(yīng)當(dāng)前單詞和賦予的主題的值減1。 然后,根據(jù)公上式抽樣一個(gè)新的主題,同時(shí)計(jì)數(shù)矩陣C町和C^中對(duì)應(yīng)的值 加1。在每一輪Gibbs抽樣中,文本集中所有N個(gè)詞符都被輪流重新賦予 一個(gè)新的主題。在抽樣過(guò)程的前期階段,由于對(duì)后驗(yàn)概率的模擬不夠充分, Gibbs抽樣的結(jié)果還不是很精確。過(guò)了前期階段以后,Gibbs抽樣的結(jié)果開(kāi) 始逼近目標(biāo)分布并最終處于一個(gè)與目標(biāo)分布相近的穩(wěn)定狀態(tài)。
抽樣過(guò)程直接給出了每個(gè)單詞的z估計(jì)。通過(guò)對(duì)z的統(tǒng)計(jì),可以得到-和 e的近4以^f直^和0':
z《, IXf+ra
在文本分類(lèi)問(wèn)題中,假定同 一類(lèi)別的文檔的主題概率分布是一樣的。 也就是說(shuō),假設(shè)同 一個(gè)類(lèi)別的文檔都是由該類(lèi)別的概率主題模型生成的。因此,4巴上式改成<formula>formula see original document page 10</formula>
圖4顯示了在單個(gè)類(lèi)別文本集合上本發(fā)明實(shí)施例的LDA概率主題模型 抽取步驟流程。
步驟S401:對(duì)集合里的所有詞符進(jìn)行統(tǒng)計(jì),構(gòu)成向量 " = ",/2,...,~), N 為詞符的總數(shù)目;
步驟S402:建立每個(gè)詞符的詞匯索引際和文檔索引麗,『S(/)表示第 i個(gè)詞符對(duì)應(yīng)的詞匯索引,DS(/)表示第i個(gè)詞符對(duì)應(yīng)的文檔索引,即第i個(gè) 詞符來(lái)自第Z^(/)個(gè)文檔;
步驟S403:隨才幾初始化詞符的主題標(biāo)注向量S, z(/)表示把第i個(gè)詞符 標(biāo)注為第力)個(gè)主題,同時(shí)更新C盯和C^矩陣,并使用向量^",來(lái)記錄每個(gè) 主題出現(xiàn)的次數(shù);
步驟S404:判斷是否已經(jīng)滿足迭代終止條件,若是,轉(zhuǎn)到步驟S412, 否則,轉(zhuǎn)到步驟S405;
步驟S405:判斷在當(dāng)前迭代中是否已經(jīng)處理完所有詞符,若是,轉(zhuǎn)到 步驟S404,否則,轉(zhuǎn)到步驟S406;
步驟S406:選擇下一個(gè)要進(jìn)行主題標(biāo)注的詞符token(i);
步驟S407:對(duì)于詞符token(i),令矩陣C盯、C加及向量^ 對(duì)應(yīng)的值減
1;
步驟S408:判斷是否處理完所有的主題,若是,轉(zhuǎn)到步驟S411,否則, 轉(zhuǎn)到步驟S409;
步驟S409:選擇下一個(gè)未處理過(guò)的主題j;
步驟S410:根據(jù)上面的公式計(jì)算出當(dāng)前上下文環(huán)境下token(i)屬于該
主題的概率<formula>formula see original document page 10</formula>
步驟S411:根據(jù)<formula>formula see original document page 10</formula>使用輪盤(pán)賭算法選擇一個(gè)主題j作
為token(i)新的主題,同時(shí)更新矩陣C盯、C^及向量^,使對(duì)應(yīng)的值加l; 步驟S412:計(jì)算文檔的主題分布0以及每個(gè)主題上面單詞的分布0的近步驟S413:輸出包括W和^'在內(nèi)的LDA模型,并對(duì)其持久化。 由于抽取出的LDA模型包含大量的數(shù)據(jù),占用較多的內(nèi)存空間,當(dāng)訓(xùn) 練文本集的類(lèi)別較多的情況下,LDA模型不宜常駐內(nèi)存。因此在步驟S413 中對(duì)LDA模型進(jìn)行持久化,把它存儲(chǔ)在文件中,當(dāng)需要該模型時(shí)再把其裝 載進(jìn)內(nèi)存,這樣可以處理類(lèi)別比較多的訓(xùn)練文本集,節(jié)省內(nèi)存空間。 另外,LAD概率主題模型生成文本的過(guò)程如下
1. 對(duì)于每個(gè)主題j,根據(jù)Dirichlet分布"/r(P)得到該主題上面的一個(gè)單 詞多項(xiàng)式分布向量<1>0)
2. 根據(jù)泊松分布尸ozho"(《)得到文本的單詞數(shù)目N
3. 根據(jù)Dirichlet分布",>"( )得到該文本的一個(gè)主題分布概率向量0
4. 對(duì)于該文本N個(gè)單詞中的每一個(gè)單詞w :
a) 乂人e的多項(xiàng)式分布Mw/""ow/a/(e)隨才幾選擇一個(gè)主題k
b) 從主題k的多項(xiàng)式條件概率分布MwW"。w/a/((p(")選擇一個(gè)單詞作為w
關(guān)于LDA概率主題模型的概念可以參考文獻(xiàn)"T. L. Griffiths and M. Steyvers, Finding scientific topics. The National Academy of Sciences, vol. 101 Suppl 1, pp. 5228-5235, April 2004"和"David M. Blei, Andrew Y. Ng, Michael I. Jordan. Latent Dirichlet Allocation. Journal of Machine Learning Research 3(2003), pages:993誦1022"。
下面,結(jié)合圖5對(duì)利用LDA概率主題模型生成單個(gè)新文本的步驟進(jìn)行 詳細(xì)描述。
在上述實(shí)施例將抽取的LDA概率主題模型進(jìn)行存儲(chǔ)的情況下,生成新 文本需要兩個(gè)輸入?yún)?shù)保存LDA概率主題模型的文件路徑path和用于 確定新文本長(zhǎng)度的泊松分布參數(shù)g 。具體步驟如下
步驟S501:根據(jù)路徑載入LDA概率主題模型,包括主題分布e以及每 個(gè)主題上面單詞的分布
步驟S502: —般的文本分類(lèi)方法中都是以"詞袋"模型(Bags of words) 來(lái)處理文本,因此必須先確定新文本的長(zhǎng)度即詞符數(shù)目N。本發(fā)明根據(jù)泊 松分布尸o/^ow(g)確定新文本的詞符數(shù)目N,其中《為輸入?yún)?shù);步驟S503:新文本初始化,令詞符列表wordlist=0, wordlist為保存 新文本詞符的列表;
步驟S504:判斷新文本的長(zhǎng)度是否還未達(dá)到預(yù)定的長(zhǎng)度N,若是,轉(zhuǎn) 到步驟S505,否則,返回wordlist;
步驟S505:根據(jù)LDA概率主題模型中的主題分布0,通過(guò)概率選擇算 法,例如輪盤(pán)賭算法,隨機(jī)選擇一個(gè)主題T,作為當(dāng)前詞符的潛在主題;
步驟S506:在上一步確定主題T的基礎(chǔ)上,根據(jù)主題T上面的單詞概 率分布W),通過(guò)概率選擇算法,例如輪盤(pán)賭算法,隨機(jī)地從主題T包含的
單詞中選擇一個(gè)單詞w,作為當(dāng)前詞符對(duì)應(yīng)的詞匯;
步驟S507:把上一步得到的新詞符加到wordlist列表當(dāng)中,然后轉(zhuǎn)到 步驟S504進(jìn)行分支判斷;
該流程的輸出結(jié)果為包含新文本所有詞符的 一個(gè)詞符列表wordlist,對(duì) 于訓(xùn)練文本集中的每一個(gè)類(lèi)別子集,都通過(guò)使用該文本生成步驟生成對(duì)應(yīng) 數(shù)量新的文本,來(lái)實(shí)現(xiàn)對(duì)訓(xùn)練文本集的類(lèi)別比例進(jìn)行平衡處理,進(jìn)而減弱 數(shù)據(jù)傾斜對(duì)最終分類(lèi)器性能的影響。
圖6給出了本發(fā)明一個(gè)具體實(shí)施例的文本分類(lèi)方法的流程圖,在該流 程圖中對(duì)訓(xùn)練文本集中可能存在的其他問(wèn)題進(jìn)一 步進(jìn)行處理和優(yōu)化。
步驟S601:統(tǒng)計(jì)訓(xùn)練文集中各個(gè)類(lèi)別的樣本數(shù)目,找出數(shù)目最多的類(lèi) 別,其規(guī)模M4X —s/ZE作為后面類(lèi)別平衡模塊的參數(shù);
步驟S602:由于需要對(duì)訓(xùn)練文本集中每個(gè)類(lèi)別的數(shù)據(jù)分別進(jìn)行處理, 本步驟判斷訓(xùn)練文本集中所有類(lèi)別是否都處理完畢,如果已經(jīng)都處理完畢, 則轉(zhuǎn)到步驟S610;否則,轉(zhuǎn)到步驟S603;
步驟S603:從訓(xùn)練文本集中還未處理的類(lèi)別里選擇一個(gè)類(lèi)別,作為下 一個(gè)接受處理的類(lèi)別,選擇順序可以根據(jù)類(lèi)別名排序或者其他適當(dāng)?shù)姆椒ǎ?br>
步驟S604:在抽取概率主題模型之前,對(duì)訓(xùn)練文本集進(jìn)行預(yù)處理,以 過(guò)濾常用詞。常用詞(停用詞)指的是使用過(guò)于頻繁的單詞,如"is"、 "i" 、"what" 、"it"等。這些詞由于普遍存在于所有文章當(dāng)中,對(duì)文 本的分類(lèi)沒(méi)有幫助,浪費(fèi)系統(tǒng)的空間資源和計(jì)算開(kāi)銷(xiāo),因此可以過(guò)濾掉這 些沒(méi)有利用價(jià)值的停用詞;
12步驟S605:英文中的單詞存在4艮多變形,比如"compute"存在 "computes" 、"computing" 、 "computed"等多種變形,這些變形在文 本分類(lèi)中起到的作用是一樣的,所以可以在提取概率主題模型之前先進(jìn)行 詞根還原;
步驟S606:從該類(lèi)別對(duì)應(yīng)的文本集合中抽取概率主題模型;
步驟S607:用戶根據(jù)訓(xùn)練文本集的情況判斷文本集當(dāng)中是否含有噪聲
樣本。如果訓(xùn)練文本集中含有噪聲,則轉(zhuǎn)到步驟S608;否則,直接轉(zhuǎn)到步
驟S609;
步驟S608:利用步驟606抽取出來(lái)的概率主題模型對(duì)該類(lèi)別的訓(xùn)練文 本進(jìn)行數(shù)據(jù)平滑處理,減弱噪聲樣本對(duì)訓(xùn)練文本集質(zhì)量的影響;
分類(lèi)器的質(zhì)量對(duì)文本分類(lèi)的最終結(jié)果具有直接的影響,而分類(lèi)器的質(zhì) 量很大程度上取決于訓(xùn)練文本集的質(zhì)量。 一般說(shuō)來(lái),訓(xùn)練文本集類(lèi)別越準(zhǔn) 確、內(nèi)容越全面,得到的分類(lèi)器質(zhì)量就越高。但是在實(shí)際應(yīng)用中,這種全 面準(zhǔn)確的訓(xùn)練文本集是很難得到的,尤其是在數(shù)據(jù)規(guī)模很大的情況下,更 是如此。在真實(shí)的文本分類(lèi)應(yīng)用中,訓(xùn)練數(shù)據(jù)一般都不可避免的含有噪聲, 這些噪聲樣本將對(duì)最終的分類(lèi)結(jié)果產(chǎn)生重要影響。
一般情況下,在含有噪聲樣本的數(shù)據(jù)中,每一個(gè)類(lèi)別的噪聲樣本數(shù)目 相對(duì)于該類(lèi)別正常的樣本數(shù)目來(lái)說(shuō)是占少數(shù)的。抽取得到的概率主題模型 總體上能夠反映該類(lèi)別的正確語(yǔ)義信息的。雖然會(huì)受到噪聲樣本的影響, 通過(guò)該主題模型生成的新文本基本上還是比較接近該類(lèi)別。
但是為了進(jìn)一步提高分類(lèi)的效果,利用概率主題模型重新生成該類(lèi)別 對(duì)應(yīng)的所有文本,替代原來(lái)的文本作為新的訓(xùn)練樣本,可以達(dá)到數(shù)據(jù)平滑 的效果,削弱噪聲對(duì)最終分類(lèi)器性能的影響。
步驟S609:利用步驟S606抽取出來(lái)的概率主題模型生成新的該類(lèi)別 的文本,擴(kuò)充該類(lèi)別的規(guī)模。
這里,概率主題模型生成類(lèi)別平衡新文本的算法與上述步驟608進(jìn)行 數(shù)據(jù)平滑所生成新文本的方式相同。例如,這些新文本生成均可以采用圖 5實(shí)施例的步驟。
步驟S610:由于文本集里面的詞匯規(guī)模非常大,不可能也沒(méi)有必要把所有的詞匯都作為特征項(xiàng)處理,因此本發(fā)明通過(guò)降維技術(shù)提取其中最有價(jià) 值的一'J、部分詞匯作為特征項(xiàng)。
在一個(gè)實(shí)施例中,特征降維步驟包括計(jì)算均衡訓(xùn)練文本集中每個(gè)單 詞的信息增益,并將每個(gè)單詞的信息增益與預(yù)定閾值進(jìn)行比較。將信息增 益小于預(yù)定閾值的單詞除去,剩下的即為選中的特征?;蛘撸凑招畔⒃?益的大小將每個(gè)單詞進(jìn)行排序,除去信息增益較小的單詞部分,剩下的即 為凈皮選中的特征。
步驟S611:在上述處理過(guò)的訓(xùn)練樣本集上構(gòu)造分類(lèi)器,分類(lèi)器可根據(jù) 需要自由選擇。例如,4吏用支持向量機(jī)(Support Vector Machine, SVM ) 作為分類(lèi)器。
S VM分類(lèi)的基本原理是將向量空間劃分成兩個(gè)不相交的空間,通過(guò)構(gòu) 造一個(gè)超平面,使特征空間中的特征落在平面的兩側(cè),平面兩側(cè)的特征點(diǎn) 屬于不同的類(lèi)別,這樣就將空間中的點(diǎn)分作了兩個(gè)不同的類(lèi)別。在實(shí)際分 類(lèi)問(wèn)題中,訓(xùn)練文本一般會(huì)有超過(guò)兩個(gè)的類(lèi)別,而SVM是對(duì)兩個(gè)類(lèi)的劃分, 為了解決這個(gè)問(wèn)題, 一般有兩種方法, 一種是構(gòu)建一對(duì)一的分類(lèi)器,對(duì)任 意兩個(gè)類(lèi)別之間構(gòu)建一個(gè)分類(lèi)器,判斷文本屬于其中哪一個(gè)類(lèi)別,然后根 據(jù)投票原則將文本劃分到投票最多的一個(gè)或幾個(gè)類(lèi)別中,按照這種方法, 對(duì)k個(gè)類(lèi)別的分類(lèi)問(wèn)題來(lái)說(shuō),就需要構(gòu)建(k-l^k個(gè)小的分類(lèi)器;另外一種 思路是構(gòu)建多個(gè)一對(duì)多的分類(lèi)器,對(duì)任意一個(gè)類(lèi)別,構(gòu)建一個(gè)分類(lèi)器,判斷 文本"是否"屬于該類(lèi)別,或者求出文本屬于各個(gè)類(lèi)別的可能性,然后根 據(jù)各個(gè)分類(lèi)器的結(jié)果綜合判斷該文本屬于哪個(gè)類(lèi)別,對(duì)k個(gè)類(lèi)別的分類(lèi)問(wèn) 題來(lái)說(shuō),這種方法需要構(gòu)建k個(gè)分類(lèi)器。本發(fā)明目前采用第一種方法來(lái)處 理多類(lèi)分類(lèi)問(wèn)題,但并不限于這些方法。
步驟S612:使用步驟S611構(gòu)造的分類(lèi)器對(duì)待分類(lèi)的新文本進(jìn)行分類(lèi)。 需要注意的是,任何其他特征降維方法與分類(lèi)器方法都適用于本發(fā)明。 例如,適合本發(fā)明的特征降維方法包括但不限于文檔頻率法(Document Frequency, DF)、互信息法(Mutual Information, MI)、 %2統(tǒng)計(jì)法(CHI)、特 征詞強(qiáng)度法(Term Strength, TS)潛在語(yǔ)義索引(Latent Semantic Indexing, LSI)、 主成分分析(Primary Component Analysis)、 因子分析(FactorAnalysis) 、 Projection Pursuit、 獨(dú)立組件分析(Independent Component Analysis, ICA)、隨機(jī)映射(Random Projection, RP)等等;適合本發(fā) 明的分類(lèi)器方法包括但不限于簡(jiǎn)單向量距離分類(lèi)法、貝葉斯分類(lèi)法、K 最近鄰學(xué)習(xí)算法、元分類(lèi)器方法、決策樹(shù)方法、神經(jīng)網(wǎng)絡(luò)方法等等。
圖7在上述實(shí)施例的基礎(chǔ)上,給出了本發(fā)明實(shí)施例的文本分類(lèi)方法對(duì) 應(yīng)的總體結(jié)構(gòu)框架圖。
系統(tǒng)總體上分為離線分類(lèi)器構(gòu)造子系統(tǒng)和在線實(shí)時(shí)分類(lèi)子系統(tǒng)兩個(gè)部 分。其中離線分類(lèi)器構(gòu)造子系統(tǒng)負(fù)責(zé)對(duì)訓(xùn)練文本集進(jìn)行數(shù)據(jù)平滑、類(lèi)別平 衡處理,然后構(gòu)造分類(lèi)器供在線實(shí)時(shí)分類(lèi)子系統(tǒng)使用;在線實(shí)時(shí)分類(lèi)子系 統(tǒng)通過(guò)使用離線分類(lèi)器構(gòu)造子系統(tǒng)構(gòu)造的文本分類(lèi)器對(duì)新文本進(jìn)行實(shí)時(shí)分 類(lèi)。下面分別對(duì)這兩個(gè)子系統(tǒng)進(jìn)行具體描述。
在離線分類(lèi)器構(gòu)造子系統(tǒng)中,首先根據(jù)文本分類(lèi)系統(tǒng)的應(yīng)用領(lǐng)域準(zhǔn)備 相應(yīng)的原始訓(xùn)練文本集10。例如,如果系統(tǒng)將用來(lái)對(duì)醫(yī)學(xué)文獻(xiàn)分類(lèi),則應(yīng) 該準(zhǔn)備醫(yī)學(xué)文獻(xiàn)方面的訓(xùn)練文本集。原始訓(xùn)練文本集中的文字未經(jīng)過(guò)任何 處理,因此需要使用停用詞去除、詞根還原等特征預(yù)處理技術(shù)把原始文本 轉(zhuǎn)換成"詞袋"才莫式的文本形式。例如,原始文本"Can someone give me the title of a good VGA graphics programming book "經(jīng)過(guò)特征預(yù)處理后變成 "someone give title good VGA graphic program book", 其中去掉了停用詞 "can" 、 "me" 、 "the" 、 "of, 、 "a,,及問(wèn)號(hào),"graphics", "programming" 經(jīng)詞根還原變成"graphic"和"program"。經(jīng)過(guò)特征預(yù)處理,從而得到訓(xùn) 練文本集20。
通過(guò)對(duì)經(jīng)過(guò)特征預(yù)處理的訓(xùn)練文本集中各個(gè)類(lèi)別分別抽取,從而得到 對(duì)應(yīng)的概率主題模型,例如使用Gibbs抽樣算法得到LDA概率主題模型30 (訓(xùn)練文本集中不同的類(lèi)型對(duì)應(yīng)不同的主題模型1、主題模型2...主題模型 n)。
利用LDA概率主題模型30可以進(jìn)一步對(duì)訓(xùn)練文本集20進(jìn)行數(shù)據(jù)平滑 處理,從而文本集中噪聲數(shù)據(jù)的影響被減弱了,得到了去噪訓(xùn)練文本集40。 這時(shí)去噪訓(xùn)練文本集40中各個(gè)類(lèi)別的比例還不平衡,使用LDA概率主題 模型30對(duì)其進(jìn)行類(lèi)別平衡處理后,各個(gè)類(lèi)別的規(guī)模都擴(kuò)充到最大類(lèi)別的規(guī)模,因此各個(gè)類(lèi)別在文本集中的比例是一樣的,這樣就得到了均衡訓(xùn)練文
本集50。
在對(duì)均衡訓(xùn)練文本集50進(jìn)行特征降維之后,轉(zhuǎn)化為向量矩陣形式,然 后用來(lái)訓(xùn)練文本分類(lèi)器,得到最終的分類(lèi)器60,對(duì)其進(jìn)行持久化保存,供 在線實(shí)時(shí)分類(lèi)子系統(tǒng)使用。
在離線分類(lèi)器構(gòu)造子系統(tǒng)中,LDA概率主題模型的抽取、數(shù)據(jù)平滑、 類(lèi)別平衡、特征降維、分類(lèi)器訓(xùn)練都需要較高的時(shí)間開(kāi)銷(xiāo),不過(guò)由于該子 系統(tǒng)是離線處理的,對(duì)實(shí)時(shí)性要求較低,這些時(shí)間開(kāi)銷(xiāo)是可以接受的并且 不會(huì)影響系統(tǒng)的正常工作。
在在線實(shí)時(shí)分類(lèi)子系統(tǒng)中,首先從硬盤(pán)載入已經(jīng)構(gòu)造好的文本分類(lèi)器 60。當(dāng)有新的文本需要進(jìn)行分類(lèi)時(shí),先根據(jù)離線分類(lèi)器構(gòu)造子系統(tǒng)使用的 特征降維技術(shù),采用對(duì)應(yīng)的特征空間映射方法,把新文本轉(zhuǎn)化成文本分類(lèi) 器能夠處理的特征向量形式。然后文本分類(lèi)器60對(duì)這個(gè)特征向量進(jìn)行實(shí)時(shí) 分類(lèi),得到該文本的類(lèi)別。在對(duì)新的文本進(jìn)行實(shí)時(shí)分類(lèi)時(shí),特征空間映射 的時(shí)間開(kāi)銷(xiāo)可以忽略不計(jì)。實(shí)時(shí)分類(lèi)的時(shí)間開(kāi)銷(xiāo)取決于分類(lèi)器處理單個(gè)特 征向量的時(shí)間開(kāi)銷(xiāo),目前多數(shù)分類(lèi)器都能滿足這種實(shí)時(shí)性要求。
本發(fā)明提供了一種針對(duì)文本分類(lèi)領(lǐng)域的基于概率主題模型的數(shù)據(jù)傾斜 分類(lèi)方法,通過(guò)從文本集上抽取出對(duì)應(yīng)的概率主題模型,利用模型所反映 的文本全局語(yǔ)義信息來(lái)提高數(shù)據(jù)傾斜下的文本分類(lèi)效果。本發(fā)明通過(guò)對(duì)應(yīng) 的概率主題模型生成稀有類(lèi)別的樣本,擴(kuò)大稀有類(lèi)別在整個(gè)文本集的比例, 從而達(dá)到數(shù)據(jù)平衡的效果。
該方法利用文本所特有的語(yǔ)義特征來(lái)處理不平衡問(wèn)題,概率主題模型 實(shí)際上已經(jīng)潛在地記錄了對(duì)應(yīng)類(lèi)別的全局語(yǔ)義信息,通過(guò)概率主題模型生 成的文本其談?wù)摰脑掝}仍然屬于該類(lèi)別的范疇。但是由于主題模型生成過(guò) 程的特點(diǎn),新生成的文本又與該類(lèi)別已有文本具有相當(dāng)?shù)膮^(qū)別,保證了該 類(lèi)別文本內(nèi)容的多樣性。
此外,通過(guò)利用概率主題模型對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行平滑,避免了噪聲數(shù)據(jù) 對(duì)分類(lèi)器性能的影響,提高了訓(xùn)練數(shù)據(jù)的質(zhì)量。把處理過(guò)的訓(xùn)練數(shù)據(jù)交付 給分類(lèi)器學(xué)習(xí)模塊進(jìn)行分類(lèi)器的學(xué)習(xí),最終改善數(shù)據(jù)傾斜條件下文本分類(lèi)的效果。
盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員 而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例 進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等 同限定。
權(quán)利要求
1.一種文本分類(lèi)方法,其特征在于,所述分類(lèi)方法包括以下步驟a)根據(jù)類(lèi)別將初始訓(xùn)練文本集劃分為多個(gè)分別包含相同類(lèi)別文本的子集,并從每個(gè)子集中抽取出對(duì)應(yīng)的概率主題模型;b)利用對(duì)應(yīng)的概率主題模型生成新的文本來(lái)均衡所述多個(gè)子集的類(lèi)別;c)根據(jù)所述多個(gè)子集對(duì)應(yīng)的均衡訓(xùn)練文本集構(gòu)造分類(lèi)器;以及d)利用所述分類(lèi)器進(jìn)行文本分類(lèi)。
2. 如權(quán)利要求1所述的分類(lèi)方法,其特征在于,所述概率主題模型為 LDA概率主題模型。
3. 如權(quán)利要求1所述的分類(lèi)方法,其特征在于,所述步驟b包括 確定包含最多文本數(shù)量的子集;每個(gè)概率主題模型根據(jù)所述最多文本數(shù)量生成對(duì)應(yīng)的新文本,其中所 述新文本數(shù)量為所述最多文本數(shù)量與每個(gè)子集包含的文本數(shù)量的差值;以 及將所述新文本加入到對(duì)應(yīng)的子集中。
4. 如權(quán)利要求2所述的分類(lèi)方法,其特征在于,所述概率主題模型生 成新文本的步驟包括el)根據(jù)泊松分布確定所述新文本的詞符數(shù)目;e2)根據(jù)所述概率主題模型的主題分布,隨機(jī)選擇一個(gè)主題作為當(dāng)前 詞符的潛在主題;e3)根據(jù)所述主題的單詞分布,隨機(jī)從所述主題包含的單詞中選擇一 個(gè)單詞作為當(dāng)前詞符對(duì)應(yīng)的單詞;e4)將所述當(dāng)前詞符及對(duì)應(yīng)的單詞加入新文本中并處理下 一個(gè)詞符; e5)重復(fù)上述步驟e2到步驟e4,直至所述新文本中的詞符數(shù)目等于所 述確定的詞符數(shù)目。
5. 如權(quán)利要求1或3所述的分類(lèi)方法,其特征在于,還包括利用所述 概率主題模型生成新的文本代替所述初始文本訓(xùn)練集包含的文本。
6. 如權(quán)利要求1所述的分類(lèi)方法,其特征在于,還包括對(duì)構(gòu)造分類(lèi)器 的所述均衡訓(xùn)練文本集進(jìn)行特征降維的步驟。
7. 如權(quán)利要求6所述的分類(lèi)方法,其特征在于,所述特征降維步驟包括計(jì)算所述均衡訓(xùn)練文本集中每個(gè)單詞的信息增益;將每個(gè)單詞的信息增益與預(yù)定閾值進(jìn)行比較;以及 將信息增益小于所述預(yù)定闊值的單詞除去。
8. 如權(quán)利要求6所述的分類(lèi)方法,其特征在于,所述特征降維步驟包括計(jì)算所述均衡訓(xùn)練文本集中每個(gè)單詞的信息增益; 按照信息增益的大小將每個(gè)單詞進(jìn)行排序;以及 除去信息增益較小的單詞。
9. 如權(quán)利要求1所述的分類(lèi)方法,其特征在于,所述分類(lèi)器為支持向 量機(jī)。
10. 如權(quán)利要求1所述的分類(lèi)方法,其特征在于,還包括對(duì)所述初始 訓(xùn)練文本集進(jìn)行預(yù)處理的步驟,以過(guò)濾常用詞以及進(jìn)行詞根還原。
全文摘要
一種文本分類(lèi)方法,包括以下步驟根據(jù)類(lèi)別將初始訓(xùn)練文本集劃分為多個(gè)分別包含相同類(lèi)別文本的子集,并從每個(gè)子集中抽取出對(duì)應(yīng)的概率主題模型;利用對(duì)應(yīng)的概率主題模型生成新的文本來(lái)均衡所述多個(gè)子集的類(lèi)別;根據(jù)所述多個(gè)子集對(duì)應(yīng)的均衡訓(xùn)練文本集構(gòu)造分類(lèi)器;以及利用所述分類(lèi)器進(jìn)行文本分類(lèi)。本發(fā)明能夠提高文本分類(lèi)方法在數(shù)據(jù)傾斜條件下的分類(lèi)效果。
文檔編號(hào)G06F17/30GK101587493SQ20091014228
公開(kāi)日2009年11月25日 申請(qǐng)日期2009年6月29日 優(yōu)先權(quán)日2009年6月29日
發(fā)明者曹歡歡, 林洋港, 陳恩紅, 馬海平 申請(qǐng)人:中國(guó)科學(xué)技術(shù)大學(xué)