唐國瑜,夏云慶,張 民,鄭 方
(1. 清華信息科學技術(shù)國家實驗室技術(shù)創(chuàng)新和開發(fā)部語音和語言技術(shù)中心, 清華大學信息技術(shù)研究院語音和語言技術(shù)中心, 清華大學計算機科學與技術(shù)系,北京 100084;2. 資訊通信研究院,新加坡 138632)
文檔聚類是自然語言處理中的重要任務(wù),而文檔表示是文檔聚類中的關(guān)鍵部分?,F(xiàn)有的很多方法都是基于詞袋(Bag of Word)的思想。向量空間模型(Vector Space Model, VSM)[1]是最常用的經(jīng)典文檔表示模型,它將詞看作特征,將文檔表示成詞的向量。但是VSM忽略了兩個重要的語言學現(xiàn)象: 同義詞和多義詞現(xiàn)象。
同義詞現(xiàn)象指不同的詞含有相同的或者相似度的詞義。例如: “計算機”和“電腦”表達了相同的意思。
多義詞現(xiàn)象則指一個詞可以同時含有兩個或者多個詞義。例如“蘋果”可以指一種水果,也可以指一個電腦公司。
為了同時解決這兩個問題,以前的研究試圖將文檔表示在語義空間上[2-5]。 一些研究試圖利用WordNet[2]或者維基百科[3]構(gòu)造一個顯式語義空間,然后采用簡單的詞義歸納技術(shù)區(qū)分詞義。但是這些通用的語義資源通常欠缺完備性。另外一些研究如潛狄利克雷分布(Latent Dirichlet Allocation, LDA)[4]將文本表示在一個潛語義空間上。這類方法不需要外部資源,因此它能在一定程度上克服顯式語義方法的不足。但是Lu et al.[6]的研究表明,潛語義表示模型在需要細粒度區(qū)分信息的文本挖掘任務(wù)上的性能并不突出。
本文提出了詞義類簇模型(SCM),在詞義類簇空間上表示文本。SCM首先構(gòu)造詞義類簇空間,然后在這個空間上表示文本。詞義類簇空間的構(gòu)造有兩部分組成。首先利用LDA模型[7]從開發(fā)集中歸納詞義;然后通過聚類方法合并相同或相似的詞義生成詞義類簇。這是由于詞義歸納任務(wù)專注于詞的消歧,忽略了詞之間的關(guān)系。因此在本文中局部的詞義需要結(jié)合成全局的詞義類簇。詞義類簇空間構(gòu)造后,本文首先進行詞義消歧,然后將文檔表示在詞義空間上。
本文提出的SCM模型旨在同時處理同義詞和多義詞現(xiàn)象。1) 詞義聚類可以將相同或者相近的詞義聚為一類。同義詞或者近義詞將被識別成相同的詞義類簇,這樣文檔相似度將計算得更加準確。2) 文檔中的每個詞都根據(jù)它的上下文賦予一個特定的詞義類簇,這樣多義詞會是被識別成不同的詞義類簇,因此可以得到更加準確的文檔相似度。
與之前提到的顯式語義方法相比,本文的詞義是由開發(fā)集歸納出來的,比較容易獲得,還可以擴展到不同的語言中。與LDA相比,SCM利用LDA獲得詞義,可以獲得較好的細粒度區(qū)分信息。
實驗表明,SCM在標準測試集上的性能優(yōu)于基線系統(tǒng)以及經(jīng)典話題模型LDA。
本文組織如下: 第2節(jié)介紹了相關(guān)工作,第3節(jié)介紹了SCM模型,第4節(jié)介紹了相關(guān)實驗,最后一節(jié)進行了總結(jié)。
傳統(tǒng)的VSM模型中,詞和詞之間都是相互獨立的,忽略了他們之間的語義關(guān)系。一些研究試圖利用概念或者詞類簇[8-9]作為特征,另外一些研究則利用詞與詞之間的相似度[10-11]。但是這些模型只解決了同義詞現(xiàn)象,忽略了多義詞現(xiàn)象。
為了同時解決這兩個問題,一些文檔表示模型采用了WordNet或者維基百科等語義資源,將文檔表示在概念空間上[2,3,12]。但是這些語義資源很難構(gòu)建并且缺乏完備性。
還有一些研究利用潛語義空間。潛語義分析(LSA)[5]以及潛狄利克雷分布(LDA)[4]是其中兩個代表性的模型。LSA[5]試圖利用奇異值分解壓縮矩陣,它的特征是所有詞的線性組合。LSA不能處理多義詞現(xiàn)象。LDA[4]曾經(jīng)成功地用于話題發(fā)現(xiàn)任務(wù),但是Lu et al.[6]的研究表明,直接將LDA用于需要細粒度區(qū)分信息的文本挖掘任務(wù)(如文檔聚類)中性能較差。
本文利用開發(fā)集歸納詞義并且利用詞義類簇表示文檔,使SCM模型可以同時處理同義詞現(xiàn)象和多義詞現(xiàn)象。同時該模型可以很容易地拓展到其他語言和其他領(lǐng)域。
很多研究都致力于解決詞義消歧任務(wù)[13]。自然語言處理任務(wù)(比如信息檢索[14])使用詞義來代替詞可以帶來性能的提高。但是這些研究需要人工編輯的語義資源,同時如何選取詞義的粒度也是研究中的難題。
本文采用詞義歸納(Word Sense Induction, WSI)算法從未標注文本中自動發(fā)現(xiàn)詞義。詞義歸納算法有很多[15]。Brody and Lapata[7]提出的貝葉斯模型利用拓展的LDA模型歸納詞義。實驗結(jié)果表明他們的模型要優(yōu)于SemEval-2007評測[16]中最好的幾個系統(tǒng)。詞義歸納算法已經(jīng)在信息檢索任務(wù)中得到了應(yīng)用[17-18]。但是以上的這些研究都只考慮了每個詞的詞義而忽略了詞與詞之間的關(guān)系。
本文采用貝葉斯模型[7]進行詞義歸納,同時采用該模型進行詞義消歧。
文檔聚類的目的是按照相似程度將文檔劃分為不同的類簇。一般來說聚類算法可以分為基于區(qū)分和基于生成兩種。前者試圖利用相似度將數(shù)據(jù)劃分為不同的類簇(比如k-Means和層次聚類方法)[19,20],后者則利用特征和數(shù)據(jù)的分布(如EM算法)[21]進行劃分。
本文評測提出的模型是用于文本聚類任務(wù)的,同時聚類算法還用來構(gòu)造詞義類簇。
詞義類簇模型主要是利用詞義類簇表示文檔。3.1節(jié)給出了詞義以及詞義類簇的定義。3.2節(jié)給出了文檔在詞義類簇空間上的表示,3.3節(jié)則給出了詞義類簇的構(gòu)造,最后3.4節(jié)總結(jié)了詞義類簇模型的流程。
定義1詞義: 特定詞w的詞義sw可以統(tǒng)計地表示為一組上下文的詞的概率分布。如式(1)所示。
其中ti表示上下文中的詞,p(ti|sw)表示ti對于詞義sw的概率,即給定詞義sw, 詞ti出現(xiàn)在上下文中的概率。
本文利用上下文中的詞代替語義資源表示詞義,這是由于語義資源通常構(gòu)造困難且欠缺完備性,而上下文中詞的分布可以通過WSI算法(見3.2節(jié))從開發(fā)集中獲得。
兩個詞義的例子如下:
例#1: 詞“作業(yè)”的詞義“作業(yè)#1”
作業(yè): 0.159
功課: 0.069
學生: 0.019
例#2: 詞“作業(yè)”的詞義“作業(yè)#2”
作業(yè): 0.116
工作: 0.039
車間: 0.026
從例子可以看出,詞“作業(yè)”含有兩個詞義,每個詞義都有不同的上下文詞的概率。
一個詞可以含有不同的詞義,因此多義詞可以很容易的用詞義進行區(qū)分,但是由于詞義是由WSI算法歸納出來的,而現(xiàn)有的WSI算法只關(guān)注于局部詞義即同一個詞的不同詞義。因此本文引入詞義類簇來獲得不同詞之間的相同詞義。本文假設(shè)每個詞義只能屬于一個詞義類簇。
定義2詞義類簇: 詞義類簇指一組由詞義聚類算法得到的詞義,它可以表示為式(2):
兩個詞義類簇的示例如下:
例#3: 詞義類簇 c#1
{作業(yè)#1, 功課#1}
作業(yè)#1={作業(yè): 0.159, 功課: 0.069, 學生: 0.019}
功課#1={功課: 0.179, 作業(yè): 0.059, 學生: 0.029}
例#4: 詞義類簇 c#2
{作業(yè)#2, 工作#1}
作業(yè)#2={作業(yè): 0.116, 工作: 0.039, 車間: 0.026}
工作#1={工作: 0.12, 作業(yè): 0.04, 車間: 0.016}
類簇c#1中,由于“作業(yè)#1”與“功課#1”的上下文概率分布比較相似,因此“作業(yè)#1”與“功課#1”被聚為一類。同理,“作業(yè)#2”和“工作#1”被聚為一類。從上面的兩個類簇可以看出,類簇之間反映了詞的多義性而類簇內(nèi)部則反映了詞的同義性。
為了在詞義類簇空間上表示文檔,我們需要獲得每篇文檔對于每個詞義類簇的概率。而每篇文檔的詞義類簇的概率可以通過它含有的詞獲得。因此,詞義類簇c出現(xiàn)在文檔d中的概率如式(3)所示。
其中p(wk|d)表示文檔的詞概率,可以用nwk,d/Nd進行估算,其中nwk,d表示詞頻,Nd表示文檔長度。p(c|w,d)表示文檔d中的詞w含有詞義類簇c的概率。
這樣,我們需要計算每篇文檔中每個詞的詞義類簇概率,它是由詞義類簇中的詞義概率獲得,可以通過式(4)計算。
對于文檔中的詞w,它的每個詞義在文檔中出現(xiàn)的概率可以通過式(5)計算。
其中a表示詞w在文檔d中的上下文。
最后p(sw|a)可以通過詞義消歧獲得。本文對文檔中的每個詞都采用貝葉斯模型進行詞義消歧。貝葉斯模型[7]在本文中主要用于詞義推導和詞義消歧。
例如有兩句話:
S1: 學生們的作業(yè)很多。
S2: 工人正在生產(chǎn)車間作業(yè)。
詞義消歧后,S1中“作業(yè)#1”的概率為0.998 05,而S2中“作業(yè)#2”的概率為0.998 05,這樣,多義詞情況得到了處理。
這樣,SCM模型可以用詞義類簇代替詞,將每篇文檔表示在詞義類簇空間上。SCM模型的一個實例如圖1所示。圖1 中,文檔d1和d2分別含有四個詞。首先,詞“作業(yè)”和詞“功課”屬于同一個詞義類簇,這意味著SCM可以處理同義詞問題。其次,詞“作業(yè)”在兩篇文檔中分別屬于不同的類簇,這是由于它在兩篇文檔中具有不同的含義,因此SCM模型可以處理多義詞問題。
圖1 SCM模型的示例
詞義類簇的構(gòu)造算法包含兩步: 詞義歸納和詞義聚類。
由于貝葉斯模型在詞義歸納算法的優(yōu)越性[7],本文采用這個算法,詳細過程請參見文獻[7]。本文采用句子作為上下文,直接采用LDA模型進行詞義歸納。
給定一個詞w,由上文提到的貝葉斯模型可以獲得它的詞義sw的上下文分布概率即p(t|sw)。但是由于貝葉斯模型是針對特定詞的,它只能識別出詞的多義性忽略了同義詞之間的關(guān)系。因此我們將上下文的詞作為特征,p(t|sw)作為特征權(quán)重,利用聚類算法進行聚類,本文采用Bisecting K-Means[22]算法進行聚類。Bisecting K-Means 是K-Means的拓展方法,研究證明它的性能優(yōu)于標準的K-Means算法和層次聚類算法[24]。它首先將樣本看作是一個類簇,然后迭代找出最大的類簇進行劃分。
利用詞義類簇模型進行文檔表示的流程如圖2所示。
圖2 SCM模型的流程
利用SCM進行文檔表示分為兩個階段: 第一階段,首先利用開發(fā)集歸納出詞義(見3.3及定義1),然后利用聚類算法構(gòu)造詞義類簇。第二階段,首先對文檔中的每個詞進行詞義消歧,然后利用公式(3)計算出文檔中的類簇分布概率。
我們利用文檔聚類任務(wù)對SCM模型進行評測,將SCM模型與現(xiàn)有的文檔表示模型進行對比。
開發(fā)集: 我們從英文Gigaword語料庫(LDC2009T13)中抽取了210萬英文文檔作為英文開發(fā)集, 從中文Gigaword語料庫(LDC2009T27)中抽取了350萬中文文檔作為中文開發(fā)集。
測試集: 本文采用四個測試集.
1) TDT4 測試集: 我們采用TDT2002(TDT41)和TDT2003(TDT41)作為評測集[23]。
2) CLTC測試集: 我們從CLTC數(shù)據(jù)集抽取了兩個評測集[24]。
四個評測集的信息如表1所示。
聚類方法:
為了評測SCM在文檔聚類的性能,我們把文檔類簇看做特征,采用TF-IDF公式計算每篇文檔中特征的權(quán)重。然后采用相似度度量公式計算文檔間的相似度。最后用聚類算法進行聚類。由于聚類算法不是文本的重點,我們使用經(jīng)典的聚類算法: HAC(Hierarchical Agglomerative Clustering)算法[25]。HAC算法先將每個文檔看成一個類簇,然后逐步將相似度最高的類簇合并為一個類簇。為了計算類簇之間的相似度,我們采用group-average link算法[25]。當類簇個數(shù)達到預定值后,則停止合并過程。
表1 測試集的話題和文檔統(tǒng)計信息
評測指標
我們采用了文獻[24] 提出的評測指標。首先計算每個類簇最大的F值。假設(shè)Ai代表系統(tǒng)生成的類簇ci的文檔,Aj代表人工標注的類簇cj的文檔。則F值計算如下:
其中pi, j,ri, j和fi, j分別代表準確率、召回率和F值。
參數(shù)設(shè)置
SCM要設(shè)置的參數(shù)包括LDA相關(guān)的參數(shù)(α,β 以及Gibbs sample的迭代次數(shù)),每個詞的詞義個數(shù)以及詞義類簇的個數(shù)。對于LDA相關(guān)的參數(shù),我們?nèi)ˇ?0.02,β=0.1,迭代次數(shù)設(shè)置為2 000,因為這些參數(shù)在文獻[7]的工作中被證明是最優(yōu)的。由于對每個詞選取最優(yōu)的詞義個數(shù)是非常繁瑣的,我們對每個詞都選用相同的詞義個數(shù)。我們利用CLTC1的數(shù)據(jù)集作為調(diào)試集得出當詞義個數(shù)設(shè)為4的時候性能最優(yōu),因此我們的實驗都選用4作為詞義個數(shù)。
實驗方法:
本文評測了4個方法。
VSM: 一個采用VSM表示文檔的基線系統(tǒng)。
LDA: 經(jīng)典的話題模型[4],用文檔的話題作為特征進行聚類。
SM(Sense Model): 基于詞義的文檔表示基線系統(tǒng),即直接用本文的詞義歸納算法歸納出的詞義直接表示文檔。它與SCM的區(qū)別是不包含詞義聚類步驟。
SCM: 本文提出的詞義類簇模型。
本文分別比較了四個系統(tǒng)在英文和中文的四個測試集上的性能。結(jié)果如表2 和表3所示。其中對于SCM,我們在100到2 000的范圍逐步增加詞義類簇的個數(shù),表2 和表3分別列出了各個測試集的最高的F值。SCM還列出了相關(guān)的詞義類簇個數(shù)。
從表2和表3可以得出如下結(jié)論:
1) 在大多數(shù)情況下,SM的性能要高于VSM,這意味著在大多數(shù)情況下,使用詞義表示文檔是有效的。這是因為經(jīng)過詞義歸納和消歧后,每個文檔中的詞都被賦予一個特定的詞義,使文檔相似度的
表2 系統(tǒng)在四個英文數(shù)據(jù)集上的最高F值
表3 系統(tǒng)在四個中文數(shù)據(jù)集上的最高F值
計算更準確。例如,兩個文檔分別含有3.3節(jié)提到的句子S1和S2。由于詞“作業(yè)”在兩篇文檔中分別被識別為不同的詞義,因此兩篇文檔的相似度為0,而在VSM中,由于含有相同的詞“作業(yè)”,它們的相似度大于0,這意味著詞義空間的相似度計算更準確。但是有些情況下,SM的性能要低于VSM,原因是我們對于每個詞都是用了相同的詞義個數(shù),因此含有相同意義的詞有可能被識別為不同的詞義,這影響了系統(tǒng)的性能。
2) SCM的性能要高于SM。這是由于使用詞義聚類方法將相似或相同的詞義聚為一類。例如,{職工#0, 職工#2, 工人#2}是由SCM構(gòu)造的詞義類簇。即使不包含相同的詞,含有“職工#0”的文檔與含有“工人#2”的文檔具有一定的相似度,這更符合實際情況。同時,詞義聚類還能從一定程度上彌補每個詞的詞義都取相同個數(shù)的不良影響。比如說,“職工#0”和“職工#2”,一個詞義被錯誤的分成兩個,但是它們具有相似的上下文分布,因此可以在詞義聚類階段聚在一起。
3) SCM的性能要高于VSM,這意味由于SCM可以處理多義詞和同義詞現(xiàn)象,使用詞義類簇比使用詞更具有優(yōu)越性。
4) 在大多數(shù)情況下,SCM性能優(yōu)于LDA。LDA是一個經(jīng)典的話題模型,它將文檔表示在一個話題空間上,可以同時處理多義詞現(xiàn)象和同義詞現(xiàn)象。但是在本實驗的大多數(shù)情況下,LDA的性能最低,這是由于文檔聚類任務(wù)需要細粒度區(qū)分信息,而直接使用LDA不能很好提供這種信息。SCM利用LDA識別詞義類簇,因此SCM不僅能夠同時處理同義詞和多義詞現(xiàn)象,同時還能夠提供特征空間的細粒度區(qū)分信息。
5) SCM在英文和中文兩種語言上都能獲得相似的改進。這意味著SCM的改進不僅僅限于一種語言,它可以被拓展到不同的語言。
本文在文檔表示部分改進了文檔聚類, 提出了一個新的文檔表示模型SCM,采用詞義類簇表示文檔。在SCM中,首先利用詞義歸納算法和詞義聚類技術(shù)構(gòu)造詞義類簇,然后將文檔表示在詞義類簇空間上。本文提出的SCM旨在處理同義詞和多義詞現(xiàn)象。同義詞可以被聚在相同的詞義類簇中。同一個詞的不同詞義被識別為不同的詞義類簇。因此文檔相似度在SCM上計算的更準確。在兩種語言的四個數(shù)據(jù)上的實驗證明,SCM模型比基線系統(tǒng)和LDA的性能更優(yōu)。
在接下來的工作中,我們將在大規(guī)模數(shù)據(jù)集上繼續(xù)評測SCM。同時由于SCM將文檔表示在詞義類簇空間上,我們將考慮采用SCM在短文本聚類中處理稀疏性數(shù)據(jù)。另外我們可以進一步改進模型自動獲取詞義的個數(shù)進行詞義歸納。
[1] G Salton, A Wong, C S Yang. A Vector Space Model for Automatic Indexing[J]. Communications of the ACM, 1975, 18(11): 613-620.
[2] A Hotho, S Staab, G Stumme. WordNet improves text document clustering[C]//Proc.of SIGIR2003 semantic web workshop.ACM, New York, 2003: 541-544.
[3] P Cimiano, A Schultz, S Sizov, et al. Explicit vs. latent concept models for cross-language information retrieval[C]//Proc. of IJCAI’09.
[4] D M Blei, A Y Ng, M I Jordan. Latent dirichlet allocation[J]. J. Machine Learning Research,2003(3): 993-1022.
[5] T K Landauer, S T Domais. A Solution to Plato’s Problem: The Latent Semantic Analysis Theory of Acquisition, Induction and Representation of Knowledge[J]. Psychological Review,1997,104(2): 211-240.
[6] Yue Lu,Qiaozhu Mei,Chengxiang Zhai, Investigating task performance of probabilistic topic models: an empirical study of PLSA and LDA[J]. Information Retrieval, 2011,14(2), 178-203.
[7] S Brody, M Lapata. Bayesian word sense induction[C]//Proc. of EACL’2009: 103-111.
[8] J Pessiot, Y Kim, M Amini, et al. Improving document clustering in a learned concet space[J]. Information Processing and Management, 2010,46: 180-192.
[9] S Dhillon. Co-clustering documents and words using bipartite spectral graph partitioning[C]//Proc. SIGKDD’2001: 269-274.
[10] S K M Wong, W Ziarko, P C N Wong. Generalized vector model in information retrieval[C]//Proc. of the 8th ACM SIGIR,1985: 18-25.
[11] A K Farahat, M S Kamel. Statistical semantic for enhancing document clustering[J]. Knowledge and Information Systems,2010.
[12] H Huang, Y Kuo. Cross-Lingual Document Representation and Semantic Similarity Measure: A Fuzzy Set and Rough Set Based Approach. Fuzzy Systems[J]. IEEE Transactions,2010,18(6): 1098-1111.
[13] R Navigli. Word sense disambiguation: a survey[J]. ACM Comput. Surv. 2009,41(2), Article 10 (February 2009): 69.
[14] C Stokoe, M P Oakes, J Tait. Word sense disambiguation in information retrieval revisited[C]//Proceedings of SIGIR ’2003: 159-166.
[15] M Denkowski, A Survey of Techniques for Unsupervised Word Sense Induction[J]. Technical Report. Language Technologies Institute, Carnegie Mellon University.
[16] E Agirre, A Soroa. Semeval-2007 task02: evaluating word sense induction and discrimination systems[C]. SemEval 2007.
[17] H Schutze, J Pedersen. Information Retrieval based on word senses[C]//Proc. of SDAIR’95: 161-175.
[18] R Navigli, G Crisafulli. Inducing word senses to improve web search result clustering[C]//Proc. of EMNLP ’10: 116-126.
[19] S Dhillon, D S Modha. Concept decompositions for large sparse text data using clustering[J].Mach. Learn., 2001,42(1-2): 143-175.
[20] Y Zhao, G Karypis, U Fayyad. Hierarchical clustering algorithms for document datasets[J]. Data Mining and Knowledge Discovery, 2005,10(2): 141-168.
[21] C Ordonez, E Omiecinski. Frem: fast and robust em clustering for large data sets[C]//CIKM ’02, ACM Press. New York, NY, USA, 2002:590-599.
[22] M Steinbach, G Karypis, V Kumar. A comparison of document clustering techniques[C]//KDD Workshop on Text Mining,2000.
[23] Junbo Kong, David Graff. TDT4 multilingual broadcast news speech corpus[J].2005.
[24] G Tang, Y Xia, M Zhang, et al. 2011 CLGVSM: Adapting Generalized Vector Space Model to Cross-lingual Document Clustering[C]//Proc. of IJCNLP’2010: 580-588.
[25] E M Voorhees. Implementing agglomerative hierarchic clustering algorithms for use in document retrieval[J]. Information Processing and Management. v.22(6): 465-476. 1986.