陳浩
摘要:詞義消歧仍然是自然語(yǔ)言處理中一個(gè)重大的挑戰(zhàn),在自然語(yǔ)言處理的一開(kāi)始,詞義消歧就被認(rèn)為是自然語(yǔ)言處理的中心任務(wù)之一。這篇文章提出了一種無(wú)導(dǎo)詞義消歧的方法,該方法采用二階context構(gòu)造上下文向量,使用k-means算法進(jìn)行聚類(lèi),最后通過(guò)計(jì)算相似度來(lái)進(jìn)行詞義的排歧.實(shí)驗(yàn)是在抽取術(shù)語(yǔ)的基礎(chǔ)上進(jìn)行的,在多個(gè)漢語(yǔ)高頻多義詞的兩組測(cè)試中取得了平均準(zhǔn)確率82.67%和84.55%的較好的效果。
關(guān)鍵詞:詞義消歧;Hownet;二階context,k-means聚類(lèi)
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)10-0067-02
1 概述
在自然語(yǔ)言里有些詞語(yǔ)在不同的語(yǔ)言環(huán)境中有不同的語(yǔ)義,我們把它稱為多義詞,多義詞的存在給自然語(yǔ)言的很多問(wèn)題帶來(lái)麻煩[1]. 由于多義詞的頻繁出現(xiàn),給自然語(yǔ)言處理中的很多領(lǐng)域,比如機(jī)器翻譯,自動(dòng)文摘等造成困難。詞義消歧的好壞已經(jīng)關(guān)系到自然語(yǔ)言中的很多問(wèn)題,成為自然語(yǔ)言處理的重要的關(guān)注點(diǎn)。
20世紀(jì)90年代以前,人工智能的方法被廣泛應(yīng)用于詞義的消歧[2]。人工智能的方法需要人工的設(shè)計(jì)一些規(guī)則,使詞語(yǔ)消歧的開(kāi)銷(xiāo)增大,覆蓋面變小。到了20世紀(jì)90年代,出現(xiàn)了大規(guī)模的語(yǔ)料庫(kù),并且很多語(yǔ)料庫(kù)是標(biāo)注過(guò)的,從而使詞義消歧進(jìn)入一個(gè)新的時(shí)期,準(zhǔn)確率也有所提高。Wilks和Lesk在1998年[3]提出了一種詞義排歧的方法,它是根據(jù)義項(xiàng)和上下文的匹配程度,如果不能找到合適的匹配程度的上下文,則無(wú)法進(jìn)行詞義排歧。1998年,語(yǔ)言學(xué)家Yarowsky[4]通過(guò)在大規(guī)模語(yǔ)料庫(kù)尋找凸顯詞,利用義類(lèi)詞典來(lái)進(jìn)行排歧。文獻(xiàn)[5]提出向量空間模型的方法,把多義詞的上下文放到一個(gè)向量空間中去,通過(guò)比較它們的相似度來(lái)確定多義詞的確切詞義,在向量空間模型中,多義詞被看作一個(gè)空間中的向量。
本文是一種基于知網(wǎng)的無(wú)指導(dǎo)詞義消歧的方法,它具有如下幾個(gè)特點(diǎn):
1)通過(guò)聚類(lèi)的方法來(lái)對(duì)多義詞的上下文進(jìn)行分類(lèi)。
2)為了從上下文中獲得更多的信息,采用了二階上下文的方法
3)通過(guò)確定k值來(lái),用k-means方法進(jìn)行聚類(lèi),提高聚類(lèi)的效果。
2 基于知網(wǎng)的無(wú)指導(dǎo)學(xué)習(xí)方法
我們提出了一種詞義的消除歧義的方法,使用二階上下文的方法把多義詞的上下文向量化,目的是要確定多義詞在詞典中的概念定義。這種方法可以由機(jī)器自動(dòng)完成的。
2.1 使用知網(wǎng)進(jìn)行詞義消歧。
[6]知網(wǎng)是用來(lái)描述漢語(yǔ)或英語(yǔ)所代表的概念屬性之間的關(guān)系的一個(gè)數(shù)據(jù)庫(kù),在對(duì)多義詞進(jìn)行消歧中,我們主要應(yīng)用其中的知識(shí)字典。.
2.1.1知識(shí)字典的記錄模式
在知識(shí)字典里,每條記錄都包含四項(xiàng)內(nèi)容,這四條記錄用來(lái)描述詞語(yǔ)的概念,在這四條記錄里,詞語(yǔ)用W_X表示,詞語(yǔ)例子用E _X表示,詞語(yǔ)詞性用G_X表示,概念定義用DEF表示,我們通過(guò)詞義消歧來(lái)確定某個(gè)多詞義在具體的語(yǔ)境中是第幾個(gè)DEF。
2.1.2 知網(wǎng)中的義項(xiàng)結(jié)構(gòu)
比如對(duì)于多義詞沽,在知網(wǎng)中的描述是這樣的,其中No是032339,G_C是v,W_E是Sell,其義項(xiàng)是sell|賣(mài),commercial|商,對(duì)于No是032340,W_C是沽,G_C是v,W_E是buy,其義項(xiàng)是buy|買(mǎi),commercial|商。這是多義詞沽在知網(wǎng)中的2個(gè)義項(xiàng),一個(gè)是賣(mài),一個(gè)是買(mǎi),我們可以確定在具體某個(gè)語(yǔ)境中是哪個(gè)義項(xiàng)。
每個(gè)多義詞都有一個(gè)同義詞的集合,而同義詞集合中的詞義也可能有幾個(gè)意思,我們用k-means的方法對(duì)其進(jìn)行聚類(lèi),這樣我們只要找出其中平均距離最小的一個(gè)類(lèi)就可以了,而距離最小的那個(gè)類(lèi)中的上下文應(yīng)該就是正確的上下文了,這些上下文的集合就是這個(gè)同義詞的上下文。
2.2 k-means聚類(lèi)方法在二階上下文的應(yīng)用
K-means聚類(lèi)算法[7]是數(shù)據(jù)挖掘領(lǐng)域經(jīng)常使用的一種聚類(lèi)方法,其特點(diǎn)是比較簡(jiǎn)單而且收斂速度快。在使用K-means聚類(lèi)時(shí),我們首先面臨的一個(gè)問(wèn)題是把上下文表示成數(shù)學(xué)上可處理的形式,我們采用二階上下文的方法來(lái)把多義詞進(jìn)行向量化。
我們可以首先采用文獻(xiàn)[8]的方法進(jìn)行術(shù)語(yǔ)抽取,抽取了術(shù)語(yǔ)以后我們引入一個(gè)參數(shù)n來(lái)測(cè)試出現(xiàn)次數(shù)多的詞語(yǔ),把出現(xiàn)次數(shù)多的詞語(yǔ)作為特征詞,在一個(gè)上下文中至少抽取出一個(gè)詞語(yǔ),如果有多個(gè)特征詞出現(xiàn),則把這些向量相加。
在一個(gè)大的數(shù)據(jù)庫(kù)中查找包含多義詞“包袱”的文本,然后構(gòu)造部分二階上下文,每個(gè)上下文的詞語(yǔ)都是一個(gè)向量,然后把這些向量相加就是這個(gè)義項(xiàng)的向量。
接著我們用采用k-means的方法進(jìn)行聚類(lèi),其中k表示最后聚成的類(lèi)數(shù)。如何確定最終聚成的類(lèi)數(shù)k呢?我們開(kāi)始設(shè)k=n,但是也許有些義項(xiàng)在上下文中并不會(huì)出現(xiàn),于是我們采用一種給k打分的方法來(lái)確定 k,對(duì)于k=2,3…n的每一個(gè)數(shù)值,計(jì)算距離,然后確定距離最近的一個(gè)就是最好的k的值。
通過(guò)這種方法可以確定一個(gè)k值,我們以多義詞“包袱”為例,在近500個(gè)文本中有48個(gè)上下文,k的確定方法見(jiàn)下表1。
2.3 計(jì)算相似度
我們可以用距離計(jì)算公式來(lái)計(jì)算上下文和義項(xiàng)的距離,距離比較近的就是相似度高的,也就是我們要找的義項(xiàng)。向量空間中的一個(gè)點(diǎn)用來(lái)表示一個(gè)上下文的內(nèi)容,相鄰間距離近的就是那個(gè)義項(xiàng)。
3 實(shí)驗(yàn)結(jié)果
3.1 本實(shí)驗(yàn)以知網(wǎng)為數(shù)據(jù)庫(kù)
算法步驟:
[步驟1:從語(yǔ)料庫(kù)中找個(gè)n個(gè)句子,每個(gè)句子里都包含多義詞l.
步驟2:對(duì)n個(gè)句子進(jìn)行聚類(lèi),使用k-means方法聚類(lèi)
步驟3: 對(duì)于每個(gè)多義詞l找出它的m個(gè)上下文,然后構(gòu)造二階上下文的同義詞集合,
這個(gè)義項(xiàng)就用這個(gè)同義詞集合來(lái)表示。
步驟4: 計(jì)算每個(gè)義項(xiàng)和步驟2中用k-means方法聚成的類(lèi)進(jìn)行距離計(jì)算,距離比較近的就是我們所要找的義項(xiàng)。\&]
3.2 實(shí)驗(yàn)2
我們以詞林作為詞典,這樣在步驟3時(shí),需要找出詞林中的幾個(gè)具體的義項(xiàng),然后對(duì)于其中的每一個(gè)義項(xiàng)構(gòu)造同義詞集合,再構(gòu)造二階上下文,那么每個(gè)義項(xiàng)的同義詞集合構(gòu)造的上下文就代表這個(gè)義項(xiàng),具體數(shù)據(jù)見(jiàn)下表2。
通過(guò)比較,發(fā)現(xiàn)使用現(xiàn)在的方法在詞義消歧上有比較好的效果,在準(zhǔn)確率上有一定程度的提高。
4結(jié)論[9]
在本文中,我們?cè)谝粋€(gè)語(yǔ)料庫(kù)中選取若干個(gè)含有多義詞的語(yǔ)句,我們認(rèn)為和多義詞的上下文相似的上下文的義項(xiàng)就是正確的義項(xiàng)[10].
通過(guò)實(shí)驗(yàn)[11],我們發(fā)現(xiàn)我們提出的方法具有可行性,下一步可以從以下幾個(gè)方面繼續(xù)進(jìn)行研究:
1) 選擇更好的特征詞,對(duì)于提高聚類(lèi)的效果有很大的幫助。
2) 選擇其他的聚類(lèi)方法來(lái)提高聚類(lèi)的效果。
3)可以選取標(biāo)注好的語(yǔ)料庫(kù)來(lái)檢驗(yàn)詞義消歧的效果。
參考文獻(xiàn):
[1] 魯松,白碩,黃雄,等.基于向量空間模型的有導(dǎo)詞義消歧[J].計(jì)算機(jī)研究與發(fā)展,2001,38(6): 662-667.
[2] 黃昌寧,李涓子.詞義排歧的一種語(yǔ)言模型[J].語(yǔ)言文字應(yīng)用,2000(3):85-90.
[3] Nancy Ide,Jean Veronis.Computational linguistics: special issue on word sense disambiguation[J].Computational Linguistics,1998,24(1):1-42.
[4] Yarowsky,David.word-sense disambiguation using statistical models of Rigets categories trained on large corpora[C].Proceedings of COLING-92,Nantes,F(xiàn)rance,1992
[5] 魯松,白碩,黃雄.基于向量空間模型中義項(xiàng)詞語(yǔ)的無(wú)導(dǎo)詞義消歧[J].軟件學(xué)報(bào),2009,13(6):1082-1089.
[6] 董振東,董強(qiáng)知網(wǎng)[EB/OL].http://keenage.com.
[7] 行小帥,潘進(jìn),焦李成.基于免疫規(guī)劃的K-means聚類(lèi)算法[J]計(jì)算機(jī)學(xué)報(bào),2003,26(5):605-610.
[8] Patrick Pantel,Dekang Lin.A Statistical Corpus-Based Term Extractor[C].Canadian Conference.on.AI,2001:36-46.
[9] Word sense Disambiguation Improves Statistical Machine Translation[C].proceeding of the 48th Annual Meeting of the Association for Computational Linguistics,2010.
[10] Chiang D. Hierachiacal phrase-based translation To appear [C] .Computational Linguistics,2007,33.
[11] Roberto Navigli and Mirella Lapata 2007 Graph connectivity measures for unsupervised word sense disambiguation [C]. proceeding of the 20th International Joint Conference on Artificial Intelligence.