王 錦,王會(huì)珍,張 俐
(1. 東北大學(xué) 自然語(yǔ)言處理實(shí)驗(yàn)室,遼寧 沈陽(yáng) 110004;2. 醫(yī)學(xué)影像計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室(東北大學(xué)),遼寧 沈陽(yáng) 110819)
文本分類(lèi)一直是自然語(yǔ)言處理領(lǐng)域研究的一個(gè)重要課題。近年來(lái),國(guó)內(nèi)外許多研究人員對(duì)文本分類(lèi)任務(wù)做了深入研究,包括在文本表示、特征選取、分類(lèi)模型等方面的探索。在傳統(tǒng)的文本表示中,文本被表示成一個(gè)文本特征向量,文本特征用詞來(lái)表示,即文本表示采用BOW(Bag of Words)模型。這種方法簡(jiǎn)單、易行,目前大多數(shù)文本分類(lèi)系統(tǒng)都是使用這種文本特征表示方法。
但是,詞作為文本特征存在特征空間維數(shù)過(guò)高、表達(dá)能力有限[1]等問(wèn)題。該方法僅僅用詞作為特征,并沒(méi)有使用人們掌握的知識(shí)[2]。針對(duì)這些問(wèn)題,國(guó)內(nèi)外研究人員對(duì)知識(shí)庫(kù)在文本分類(lèi)中的應(yīng)用進(jìn)行了研究。Scott[3]等人利用WordNet的語(yǔ)義關(guān)系Hypernym來(lái)表示文本特征,但是這些知識(shí)庫(kù)都存在覆蓋度不足的問(wèn)題。研究人員還對(duì)詞簇作為文本特征做了很多研究。Baker和McCallum[4]提出一種基于詞的類(lèi)別分布來(lái)進(jìn)行詞聚類(lèi),然后用這些詞簇表示文本。Chen[5]等提出了基于全局信息詞聚類(lèi)作為文本表示的方法,該方法將類(lèi)別分布相似的詞歸為一簇,用簇作為特征表示文本。
本文在詞聚類(lèi)作為文本表示的基礎(chǔ)上,引入了維基百科的類(lèi)別體系,將詞進(jìn)行有指導(dǎo)的聚類(lèi),即將文本中所有詞映射到維基百科類(lèi)別上,采用維基百科的類(lèi)別作為文本表示的特征。目前,維基百科是世界上最大的開(kāi)放式百科全書(shū),由人工標(biāo)注而成,具有較快的更新速度。維基百科的類(lèi)別能把表達(dá)不明確的維基百科條目映射為理解能力更強(qiáng)的信息,如:“獅子王”、“美女與野獸”、“米老鼠”都被映射為“迪士尼動(dòng)畫(huà)”這個(gè)維基類(lèi)別,而人們很容易把“迪士尼動(dòng)畫(huà)”和文化、藝術(shù)等主題類(lèi)別聯(lián)系起來(lái)。雖然維基百科可以提供映射信息,其映射條目在實(shí)際應(yīng)用仍然存在覆蓋度不足的問(wèn)題,所以本文提出了一種全局信息自學(xué)習(xí)維基類(lèi)別的詞聚類(lèi)方法,用維基百科的類(lèi)別來(lái)表示詞聚類(lèi)得到的簇,并使用簇的信息表示文本,構(gòu)造了基于簇的文本分類(lèi)系統(tǒng)。
在傳統(tǒng)的文本分類(lèi)中,文本特征用詞來(lái)表示,存在表達(dá)能力有限的問(wèn)題[8]。所以,本文試圖尋找一種準(zhǔn)確描述文本內(nèi)容的表示方法來(lái)表示文本。維基百科是目前最大的在線(xiàn)知識(shí)庫(kù)之一,而且,維基百科中提供了一個(gè)由大眾來(lái)進(jìn)行編輯的格狀分類(lèi)體系。每一個(gè)條目都能映射到分類(lèi)體系中的某些類(lèi)別,這個(gè)信息是人工標(biāo)注的,具有很高的準(zhǔn)確度。因此,本文選用維基百科的類(lèi)別對(duì)文本進(jìn)行表示。與本文工作最相似的前期工作Chen等[5]曾利用人工構(gòu)建的領(lǐng)域知識(shí)庫(kù)將文本中所有詞映射到預(yù)定義的領(lǐng)域特征改善文本表示。本文與前人工作的最大區(qū)別在于沒(méi)有采用人工構(gòu)建的領(lǐng)域知識(shí)庫(kù),而是從維基百科中自動(dòng)獲取部分詞與維基百科類(lèi)別的對(duì)應(yīng)關(guān)系,然后進(jìn)行自動(dòng)擴(kuò)展,用于改善文本特征表示,提高文本文類(lèi)的性能。整個(gè)過(guò)程沒(méi)有涉及到額外的人工標(biāo)注代價(jià),方法的基本動(dòng)機(jī)與Chen等[5]的工作相似,但技術(shù)的處理角度和方法不同。
維基百科是目前世界上最大的多語(yǔ)種的面向互聯(lián)網(wǎng)的開(kāi)放式的百科全書(shū)。它的基本組成單元叫“概念”或“條目”,每個(gè)條目都有一篇文章來(lái)解釋[6]。維基百科的每個(gè)條目都對(duì)應(yīng)一組維基百科類(lèi)別,維基百科類(lèi)別體系是基于層次結(jié)構(gòu)的網(wǎng)狀類(lèi)別體系[9]。表1是維基百科類(lèi)別的部分實(shí)例。
表1 維基百科類(lèi)別的部分實(shí)例
當(dāng)然,維基百科的類(lèi)別體系和中圖法[7]的類(lèi)別體系有所差異,并且在一個(gè)條目對(duì)應(yīng)的所有類(lèi)別中,很多類(lèi)別不能準(zhǔn)確的表達(dá)分類(lèi)信息,只是有助于查找在這個(gè)類(lèi)別下的其他條目,這個(gè)類(lèi)別體系有待進(jìn)一步研究。本文用的維基語(yǔ)料是,從維基百科網(wǎng)站[10]上下載的2010-3-3版的XML格式的語(yǔ)料,它包含有553 709個(gè)頁(yè)面,其中有類(lèi)別的頁(yè)面數(shù)為149 272個(gè),類(lèi)別體系中的類(lèi)別數(shù)為135 214個(gè),
本文將詞全部映射到維基百科的類(lèi)別中,總共覆蓋到類(lèi)別體系中14 052個(gè)類(lèi)別。
在本文中,維基百科的類(lèi)別作為文本特征,表示成一個(gè)文本特征集合,也就是維基類(lèi)別的集合,這里用M表示維基類(lèi)別。具體過(guò)程如下:
(1) 建立維基百科的每個(gè)條目和其對(duì)應(yīng)一組類(lèi)別的映射關(guān)系。維基百科的條目集合T={t1,t2,…,tn},第i個(gè)條目對(duì)應(yīng)的維基類(lèi)別集合M(ti)={mj|ti條目的類(lèi)別標(biāo)簽為mj}。
(2) 構(gòu)建863語(yǔ)料中出現(xiàn)的維基條目的詞的集合T。使用東北大學(xué)自然語(yǔ)言處理實(shí)驗(yàn)室的分詞和專(zhuān)名標(biāo)注系統(tǒng)(為了保證分詞的一致性,可以事先將維基百科條目作為臨時(shí)詞典參與分詞過(guò)程)對(duì)文本進(jìn)行分詞,本文稱(chēng)這里分詞得到的普通詞為W,將普通詞W中是維基百科條目的詞放入T集合中。
(3) 利用T和維基類(lèi)別M的映射關(guān)系,最終將語(yǔ)料中每篇文檔映射成只有維基百科類(lèi)別的特征集合Mk,用tf表示特征的權(quán)重。
在863文本分類(lèi)評(píng)測(cè)語(yǔ)料上進(jìn)行統(tǒng)計(jì),在863語(yǔ)料中去除停用詞,共有107 469個(gè)詞,維基百科中覆蓋了其中的17 570個(gè)詞,大部分詞在維基百科中沒(méi)有類(lèi)別信息,僅僅使用現(xiàn)有維基百科條目對(duì)文本的覆蓋度明顯不足。為了解決這個(gè)問(wèn)題,本文提出了基于全局信息自學(xué)習(xí)維基類(lèi)別的方法(本質(zhì)上是詞聚類(lèi)技術(shù))來(lái)對(duì)沒(méi)有維基類(lèi)別信息的其他詞自動(dòng)賦予維基類(lèi)別標(biāo)記。
示特征的權(quán)重參與文本特征的表示語(yǔ)料中沒(méi)有維基百科類(lèi)別的詞(也就是不是維基條目的詞),這些詞用UW表示:UW={uw|uw∈Wanduw?T}。本文提出一個(gè)基于聚類(lèi)技術(shù)的自動(dòng)學(xué)習(xí)維基類(lèi)別的方法,將UW中的詞與維基百科的類(lèi)別M建立映射關(guān)系?;静襟E是,利用詞在文本類(lèi)別中的分布,把所有的詞表示成向量的形式,將每個(gè)詞簇m中的所有元素(也就是維基百科條目)的均值作為詞簇的中心點(diǎn),通過(guò)計(jì)算uw和每個(gè)中心點(diǎn)的距離,來(lái)獲得與uw相似度最大的詞簇mi,建立UW和M的映射關(guān)系。
(1)T:維基百科條目集合,T={t1,t2,t3,…,tn};
(2)M:維基類(lèi)別的集合M={m1,m2,…,mn},第i個(gè)類(lèi)別對(duì)應(yīng)維基條目集合T(mi)={tj|tj條目的類(lèi)別標(biāo)簽為mi};
(3)C:是863評(píng)測(cè)語(yǔ)料中的類(lèi)別集合C={c1,c2,…,c36}。
(4)p(C|w):表示詞w在整個(gè)類(lèi)別間的分布,也就是詞w在每個(gè)類(lèi)別c中的頻數(shù)N(cj|w)。
(5)p(C|mi):表示簇(維基類(lèi)別)mi在整個(gè)類(lèi)別C的分布,也就是36維的向量。其計(jì)算方法就是計(jì)算簇中的元素(維基條目)t在整個(gè)類(lèi)別間的分布的均值,計(jì)算公式如下所示。
(1)
其中,n表示簇m中的元素個(gè)數(shù)。
首先將訓(xùn)練語(yǔ)料進(jìn)行預(yù)處理,將訓(xùn)練語(yǔ)料分詞后得到的普通詞W中不是維基百科條目的詞放入U(xiǎn)W集合,然后將UW中的每一個(gè)詞劃分到維基類(lèi)別M中。具體過(guò)程如下:
算法1. 自學(xué)習(xí)算法
輸入:待劃分維基類(lèi)別的詞集UW={uw|uw∈Wanduw?T},維基百科類(lèi)別集合M={m1,m2,…,mn}。
輸出:UW中的詞uwi對(duì)應(yīng)的類(lèi)別mk。
步驟:
(1) 用公式(1)計(jì)算簇的中心點(diǎn),得到每個(gè)簇在整個(gè)文本類(lèi)別C中的分布p(C|mj)。
(2) Loop,直到所有UW都加入到M集中{
① 從待劃分維基類(lèi)別的詞集合UW中取出一個(gè)詞uwi;
② 用公式(2)計(jì)算待劃分詞uwi和每個(gè)簇m的距離:D={D(uwi,m1),D(uwi,m2),…,D(uwi,mn)};
③ 求mk,k=arg min(D(uwi,mj));/*1≤j≤n*/
④uwi→mk;
}
通過(guò)全局信息自學(xué)習(xí)維基類(lèi)別的方法,使得語(yǔ)料中沒(méi)有維基類(lèi)別信息的詞UW和維基類(lèi)別M建立一一對(duì)應(yīng)的映射關(guān)系。利用T→M和UW→M的映射關(guān)系,重新構(gòu)造文本特征,將語(yǔ)料中每篇文檔映射成只有維基百科類(lèi)別的特征集合Mk,用tf表示特征的權(quán)重。
863中文評(píng)測(cè)語(yǔ)料,該語(yǔ)料來(lái)源于2004年國(guó)家863 中文文本分類(lèi)評(píng)測(cè)的語(yǔ)料,其中采用中圖法進(jìn)行構(gòu)建分類(lèi)體系,共36類(lèi),每類(lèi)包含100篇中文文本。在語(yǔ)料預(yù)處理過(guò)程中,分詞工具采用東北大學(xué)自然語(yǔ)言處理實(shí)驗(yàn)室開(kāi)發(fā)的分詞工具NEUCSP,去掉禁用詞后,剩下的詞匯個(gè)數(shù)為107 469。
在分類(lèi)實(shí)驗(yàn)過(guò)程中,采用十次交叉檢驗(yàn)的方法,90%語(yǔ)料作為訓(xùn)練語(yǔ)料,剩下的10%語(yǔ)料作為測(cè)試語(yǔ)料,將十次交叉檢驗(yàn)的分類(lèi)性能指標(biāo)取平均值作為最后分類(lèi)性能評(píng)價(jià)。
本文實(shí)驗(yàn)選用最大熵分類(lèi)器(ME)、樸素貝葉斯分類(lèi)器(NB)、支持向量機(jī)分類(lèi)器(SVM)三種分類(lèi)器進(jìn)行對(duì)比實(shí)驗(yàn)。最大熵使用張樂(lè)開(kāi)發(fā)的工具包[12]。支持向量機(jī)采用了SVMlight作為SVM的實(shí)現(xiàn),使用SVMlight的默認(rèn)參數(shù)。支持向量機(jī)最開(kāi)始被設(shè)計(jì)來(lái)解決二類(lèi)分類(lèi)問(wèn)題。本文采用一種簡(jiǎn)單而有效的,由二類(lèi)支持向量機(jī)構(gòu)建多類(lèi)支持向量機(jī)的方法,one-against-rest的方法。其基本思想是構(gòu)建K個(gè)SVM模型,這里表示類(lèi)別數(shù)。其中,第i個(gè)支持向量機(jī)以第i類(lèi)中的樣本作為正類(lèi),其他類(lèi)別中的樣本作為負(fù)類(lèi)[11]。
在本文實(shí)驗(yàn)中,以文本分類(lèi)的性能來(lái)衡量文本表示方法的性能。本文使用MacroF1來(lái)評(píng)價(jià)分類(lèi)性能。計(jì)算公式如下:
其中,n是類(lèi)別總數(shù),Pj為第j類(lèi)的準(zhǔn)確率,Rj為第j類(lèi)的召回率。
1) 以詞作為文本特征表示的分類(lèi)系統(tǒng)
共構(gòu)建三個(gè)分類(lèi)器:BOW-NB表示采用詞為特征,使用樸素貝葉斯分類(lèi)模型的分類(lèi)系統(tǒng);BOW-ME表示采用詞為特征,使用最大熵分類(lèi)模型的分類(lèi)系統(tǒng);BOW-SVM表示采用詞為特征,使用支持向量機(jī)分類(lèi)模型的分類(lèi)系統(tǒng)。
2) 以維基類(lèi)別作為文本特征表示的分類(lèi)系統(tǒng)
共構(gòu)建三個(gè)分類(lèi)器:Wiki-NB表示采用維基類(lèi)別為特征,使用樸素貝葉斯分類(lèi)模型的分類(lèi)系統(tǒng);Wiki-ME表示采用維基類(lèi)別為特征,使用最大熵分類(lèi)模型的分類(lèi)系統(tǒng);Wiki-SVM表示采用維基類(lèi)別為特征,使用支持向量機(jī)分類(lèi)模型的分類(lèi)系統(tǒng)。
3) 基于全局信息自學(xué)習(xí)維基類(lèi)別的分類(lèi)系統(tǒng)
共構(gòu)建三個(gè)分類(lèi)器:Global-Wiki-NB表示采用維基類(lèi)別為特征,使用樸素貝葉斯分類(lèi)模型的分類(lèi)系統(tǒng);Global-Wiki-ME表示采用維基類(lèi)別為特征,使用最大熵分類(lèi)模型的分類(lèi)系統(tǒng);Global-Wiki-SVM表示采用維基類(lèi)別為特征,使用支持向量機(jī)分類(lèi)模型的分類(lèi)系統(tǒng)。
本實(shí)驗(yàn)對(duì)3個(gè)分類(lèi)系統(tǒng)進(jìn)行了比較。圖1是使用樸素貝葉斯(NB)分類(lèi)器的3個(gè)分類(lèi)系統(tǒng)的分類(lèi)結(jié)果,y軸是各分類(lèi)系統(tǒng)的F1值,x軸是表示該系統(tǒng)使用的文本特征數(shù)目。從整體上看,基于Wiki-NB方法的F1值并沒(méi)有比BOW-NB的F1值高,說(shuō)明維基類(lèi)別存在明顯的的覆蓋度不足的問(wèn)題,然而,Global-Wiki-NB的分類(lèi)性能高于BOW-NB,尤其是在特征數(shù)少的時(shí)候。進(jìn)一步考察基于Global-Wiki-NB的方法,在特征數(shù)為200~2 000之間明顯優(yōu)于BOW-NB,特征數(shù)為700時(shí),基于Global-Wiki-NB方法的F1值達(dá)到72.56%,比相同特征數(shù)的BOW-NB方法高5.14%,這與基于BOW-NB方法特征數(shù)為2 000時(shí)的性能,達(dá)到相當(dāng)?shù)男Ч?/p>
圖1 NB分類(lèi)器的3個(gè)分類(lèi)系統(tǒng)的實(shí)驗(yàn)結(jié)果
圖2是最大熵(ME)分類(lèi)器的3個(gè)分類(lèi)系統(tǒng)的分類(lèi)結(jié)果,在特征數(shù)為200~2 000之間時(shí),Global-Wiki-ME的分類(lèi)性能也明顯優(yōu)于BOW-ME,特征數(shù)為700時(shí),基于Global-Wiki-ME方法的F1值達(dá)到72.53%,比相同特征數(shù)的BOW-NB方法高3.25%。圖3是支持向量機(jī)(SVM)分類(lèi)器的3個(gè)分類(lèi)系統(tǒng)的分類(lèi)結(jié)果,特征數(shù)為800時(shí),基于Global-Wiki-SVM方法的F1值達(dá)到73.31%,比相同特征數(shù)的BOW-SVM方法高3.89%。
圖2 ME分類(lèi)器的3個(gè)分類(lèi)系統(tǒng)的實(shí)驗(yàn)結(jié)果
圖3 SVM分類(lèi)器的3個(gè)分類(lèi)系統(tǒng)的實(shí)驗(yàn)結(jié)果
本文提出了基于維基百科類(lèi)別的文本特征表示方法。該方法優(yōu)于前人的工作,因?yàn)榫S基類(lèi)別是從維基百科中自動(dòng)獲取的,并且可以進(jìn)行自動(dòng)擴(kuò)展,無(wú)需人工構(gòu)建知識(shí)庫(kù)。同時(shí),從實(shí)驗(yàn)結(jié)果可以看出,在特征數(shù)很少的情況下,基于Global-Wiki的方法已經(jīng)達(dá)到很好的效果。因?yàn)樵谧詫W(xué)習(xí)維基類(lèi)別的過(guò)程中,將大量的詞映射到了少量的維基類(lèi)別中,這不僅能起到了降維作用,有效的降低時(shí)間復(fù)雜度,減少了系統(tǒng)的計(jì)算開(kāi)銷(xiāo),而且能增強(qiáng)特征的表達(dá)能力。本文用詞頻tf作為特征的權(quán)重,然而很多詞頻低的信息都是表達(dá)能力強(qiáng)的信息,比如“姚明”,當(dāng)選擇一定數(shù)量的特征時(shí),這些信息很可能被過(guò)濾掉。Global-Wiki的方法會(huì)把這些信息聚到少量的維基類(lèi)別上,使得在特征數(shù)很少時(shí),這些信息也可以被利用上,這就使得在特征數(shù)很少時(shí),本方法能達(dá)到很好的性能。從圖中我們同樣可以看出,在特征數(shù)增加到5 000以上時(shí),Global-Wiki的分類(lèi)性能與基于BOW的分類(lèi)性能趨于相同甚至下降,這表明,再增加特征,也只是引入了噪音,對(duì)文本分類(lèi)沒(méi)有起到作用。
本文提出了一種新的文本特征表示方法,用維基百科的類(lèi)別作為文本的特征,并且結(jié)合了全局信息自學(xué)習(xí)維基類(lèi)別的方法,來(lái)解決維基類(lèi)別對(duì)文本的覆蓋度不足的問(wèn)題。這種方法,克服了傳統(tǒng)的詞作為文本特征的空間維數(shù)過(guò)高和表達(dá)能力有限等問(wèn)題。實(shí)驗(yàn)結(jié)果表明:
(1) 用維基百科的類(lèi)別作為文本特征,有助于增強(qiáng)文本特征的表達(dá)能力;
(2) 基于自學(xué)習(xí)方法的維基類(lèi)別作為文本特征可以很好的改善文本分類(lèi)的性能,特別是在特征數(shù)目少的情況下表現(xiàn)出更優(yōu)的效果。
下一步的工作的研究重點(diǎn)一是,如何過(guò)濾掉更多無(wú)用的維基類(lèi)別,用更少的特征來(lái)表示文本進(jìn)行文本分類(lèi);二是,探索維基百科知識(shí)庫(kù)在自然語(yǔ)言處理領(lǐng)域的其他應(yīng)用。
[1] Sangkon Lee, Masami Shishibori. Passage segmentation based on topic matter[J]. Computer Processing of Oriental Languages, 2002,15 (3): 305-340.
[2] 陳文亮, 朱靖波. 基于領(lǐng)域詞典的文本特征表示[J]. 計(jì)算機(jī)研究與發(fā)展. 2004.
[3] Scott, Sam, and Stan Matwin. Text classification using wordnet hypernyms[C]//The COLING. ACL Workshop on Usage of WordNet in Natural Language Processing Systems, 1998.
[4] L. D. Baker, A. K. MCallum. Distributional clustering of words for text classification[C]//Proc. 21st Annual Int’l ACM SIGIR Conf. Research and Development in Information Retrieval. New York: ACM Press, 1998: 96-103.
[5] Chen Wenliang, Chang Xingzhi, Wang Huizhen, et al1 Automatic word clustering for text categorization using global information[C]//AIRS2004, Beijing, 2004.
[6] P.Wang, J.Hu, H.-J.Zeng, L.Chen. Improving text classification by using encyclopedia knowledge[C]//Internation Conference on Data Mining, pages 332-341, Omaha, NE, 2007.IEEE.
[7] China Library Categorization Editorial Board China Library Categorization[M]. The 4th ed. Beijing: Beijing Library Press,1999.
[8] 陳文亮. 面向文本分類(lèi)的文本特征學(xué)習(xí)技術(shù)研究[D]. 東北大學(xué)博士學(xué)位論文,2005.
[9] Xiaohua Hu, Xiaodan Zhang. Exploiting Wikipedia as External Knowledge for Document Clustering[J]. ACM, 2009.
[10] http://zh.wikipedia.org/zh-cn/Wikipedia:%E9%A6%96%E9%A1%B5[DB/OL].
[11] 朱慕華,朱靖波,陳文亮. 面向文本分類(lèi)的多類(lèi)別SVM組合方式的比較[C]//全國(guó)第八屆計(jì)算語(yǔ)言學(xué)聯(lián)合學(xué)術(shù)會(huì)議. 2005:435-441.
[12] http://www.pudn.com/downloads257/sourcecode/others/detail1185919.html[CP/OL].