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