呂曉偉 章露露
摘要 詞義消歧在多個領域有重要應用。基于Lesk及其改進算法是無監督詞義消歧研究的典型代表,但現有算法多基于上下文與義項詞覆蓋,通常未考慮上下文中詞與歧義詞的距離影響。為此提出一種基于詞向量的詞義消歧方法,利用向量表示上下文以及義項,并考慮融合上下文與義項的語義相似度及義項分布頻率進行詞義消歧。在Senseval-3數據集上測試,結果表明,該方法能有效實現詞義消歧。
關鍵詞 詞義消歧;詞向量;自然語言處理;機器翻譯;Word2vec
DOIDOI:10.11907/rjdk.181100
中圖分類號:TP391
文獻標識碼:A文章編號文章編號:16727800(2018)009019303
英文標題Unsupervised Word Disambiguation Method Based on Word Embeddings
--副標題
英文作者LV Xiaowei,ZHANG Lulu
英文作者單位(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500,China)
英文摘要Abstract:Word sense disambiguation have important applications in many fields.Lesk algorithm and its improved algorithm are typical representatives of unsupervised wordsense disambiguation.However,most of the existing algorithms are mostly based on word coverage of context and gloss.In addition,the effect of distance between ambiguous words and word in context is not considered.This paper proposes a method of wordsense disambiguation based on word vectors,which uses vectors to represent contexts and gloss and also considers combined semantic similarity between context and gloss with the distribution frequency of gloss.The test results on the Senseval3 dataset show that this method can effectively achieve wordsense disambiguation.
英文關鍵詞Key Words:word sense disambiguation; word embedding; natural language processing;machine translation;Word2vec
0引言
在自然語言中存在大量一詞多義現象,這些詞被稱為歧義詞。詞義消歧指在給定的語境中識別歧義詞的正確含義[1]。詞義消歧是自然語言處理領域的基礎研究,也是核心研究,在機器翻譯、語音識別、文本分類、信息檢索等方面有著十分重要的作用。
目前,解決詞義消歧任務主要有4種方法[2]:①基于知識的方法,②基于語料庫的無監督方法,③基于語料庫的有監督方法,④組合以上方法的方法。基于知識的方法主要使用豐富且系統的語義知識庫進行消歧,例如《知網》[3]、WordNet[4]等;基于語料庫的有監督方法使用經過標注的語料庫進行消歧。有監督的方法消歧效果較好,但這種方法需要人工標注語料庫,現實中大量人工標注的語料庫往往難以獲取,故多數特定場合難以采用此方式。
基于語料庫的無監督方法使用未經標注的語料庫進行消歧,典型代表為Lesk算法[5]。該算法利用機讀詞典,將歧義詞的每個義項與上下文中詞的每個義項進行匹配,單詞覆蓋的最多義項為該歧義詞上下文中的正確含義。
Lesk算法雖能進行詞義消歧任務,但存在兩個問題[7]:①計算單詞覆蓋度的次數與概念中的單詞數量有關,單詞數量越多,計算次數越多;②詞匯覆蓋只是基于義項中詞匯的共現。針對第一個問題,有研究者提出簡化版的Lesk算法[8]:將歧義詞的各個義項分別與歧義詞所在的上下文計算單詞的覆蓋度,覆蓋度最大的義項為最佳含義。針對第二個問題,有研究者[9]提出根據語義相關,使用WordNet作為語義網絡,擴充歧義詞各個義項,以增加覆蓋度。王永生[10]以WordNet為基礎,使用CBC算法擴充目標詞的相似詞集合進行詞義消歧。Pierpaolo Basile等[11]考慮擴展后的義項頻率等信息,并在分布語義空間中計算相似度以消歧。基于改進的Lesk算法,通過不同方式擴展同義詞、義項,再與上下文計算相似度進行消歧。
隨著Word2vec、Glove的提出以及普及,大量研究者使用詞向量[6]完成自然語言處理中的許多任務,詞義消歧任務也不例外。
詞向量是使用一個向量表示一個詞。目前,有兩種詞向量表達方式:① onehot representation方式;②Distributed representation[12]。onehot representation方式表示的詞向量非常簡單,向量的長度為辭典大小,向量中的每一維由0或1表示,詞在辭典中對應的維為1,其它為0。這種方式雖然可簡單表示一個詞,但不能有效表達詞之間的詞義信息,而且存在數稀疏問題。Distributed representation這種方式能很好地克服onehot representation方式的兩個缺點。該方法將一個詞映射到一個實數向量空間中,一般為100~300維,這種方法使得詞義之間的相似性可以用空間距離表示,兩個詞向量的空間距離越近,表示兩個詞的相似性越高。
Google公司2013年開放了Word2vec[16]這一可以訓練詞向量的工具。Word2vec以大量文本訓練語料作為輸入,通過訓練模型快速有效地將一個詞語表達成向量形式。該工具包含CBOW和Skip_gram兩種訓練模型。CBOW模型通過上下文預測當前詞,Skip_gram模型通過當前詞預測其上下文。Word2vec開放后,有研究者使用Word2vec訓練所得的詞向量進行詞義消歧實驗。楊安等[13]考慮義項與上下文相似度分數、領域相關性分數、WordNet相似度分數以及義項頻度分數4種因素進行消歧。Kaveh Taghipour[14]等結合IMS系統,加入詞向量進行消歧。
上述方法考慮了擴展注釋、相似詞集、參考領域信息、利用語義網絡等因素,但是未考慮上下文中詞與歧義詞的距離對消歧的影響。本文使用文檔向量表示歧義詞所在的上下文,使用義項向量表示歧義詞的各個義項,進行詞義消歧。同時考慮到義項頻度對消歧的準確度影響,最終實現無監督詞義消歧方法。通過在Senseval3數據集上測試,表明本文方法能有效實現詞義消歧。
1基于詞向量的詞義消歧方法
1.1方法描述
本文提出的詞義消歧方法主要思想是,使用向量分別表示歧義詞的各個義項及歧義詞所在的上下文,分別計算向量表示的上下文與歧義詞的各個義項之間的相似度,再計算歧義詞各個義項的分布頻率,結合相似度以及義項頻度,選擇出歧義詞的最佳含義。消歧步驟如下:①數據預處理;②上下文以及義項的向量表示;③上下文-義項相似度計算;④義項分布;⑤最終詞義選擇。如圖1所示。
在數據預處理步驟中,本文只進行去標點、分詞、大寫轉換小寫操作,得到歧義詞的上下文,后續分別描述上下文及義項的向量表示、上下文-義項相似度計算、義項分布以及最終詞義選擇。
1.2上下文及義項向量表示
直觀來看,若上下文中的詞距離歧義詞越近,對歧義詞正確含義的判定影響就越大。為體現上下文中詞與歧義詞距離的影響,本文采用局部加權法計算上下文中詞相對歧義詞的位置權重。如公式(1)所示。
wi=e(-|xi-t|2τ2),xi∈|C|(1)
式(1)中,wi表示上下文中第i個詞位置權重,xi表示上下文中第i個詞位置,t表示歧義詞位置,|C|表示上下文大小,τ2是調節參數,表示上下文中的詞相對歧義詞位置的權重關系,距離關鍵詞距離越近,權重越大。
在定義位置權重基礎上,上下文向量計算公式如下:
ci=∑nie1i·wi,wi∈0,C(2)
式(2)中,ci表示第i篇上下文的向量表示,wi表示上下文中第i個詞的位置權重,e1表示上下文向量,e1i表示上下文詞集中第i個詞的詞向量,|C|表示歧義詞所在上下文的大小。
各個義項的向量計算如下:
gi=∑ni∈ae2i(3)
式(3)中,gi表示歧義詞第i個義項的向量表示,a表示義項中的詞,e2表示義項向量,e2i表示義項中的第i個詞的詞向量。
1.3上下文-義項相似度計算
本文使用余弦相似度判斷上下文與各個義項的相似度。公式(4)為余弦相似度計算公式。
cos(c,gi)=c·gi‖c‖·‖gi‖(4)
式(4),cos(c,gi)表示上下文向量與歧義詞第i個義項的余弦相似度,c表示上下文向量,gi表示第i個義項的義項向量。
1.4義項分布頻率
義項分布頻率指歧義詞的各個義項在包含該歧義詞的文檔中出現的概率。根據式(5)計算各個義項分布概率:
Pi=niN(5)
式(5)中,N表示包含該歧義詞的上下文數量, ni表示在上下文中歧義詞的含義是第i個義項的上下文數目。
1.5最終詞義選擇
最佳義項選擇采用評分方式,對上下文和義項的相似度以及義項頻度綜合考慮。根據公示(6)計算每一個義項得分,最高得分的義項為歧義詞在該上下文的最佳含義。
scorei=a·cos(c,gi)+b·Pi(6)
式(6)中,a、b是參數,本文方法中a=b=0.5。
2實驗
本文使用維基百科數據集,采用Word2vec訓練詞向量,使用CBOW模型,窗口大小為5,詞向量維度為300。
本文使用Senseval3數據集,該數據集包含57個歧義詞,其中動詞32個,名詞20個,形容詞5個。訓練集包含7 860篇文檔,測試集包含3 944篇文檔,每個詞平均義項為6.473個,義項分布頻率在Senseval3數據集中得到。使用本文方法在Senseval3測試集上測試,并與基于改進的Lesk算法[15] (L1)及文獻[10]中的方法(L2)進行對比,本文方法使用L3表示,結果見表1。
使用本文方法全部詞的平均準確率達到0.558,高于文獻[15]中改進的Lesk算法準確度,也高于文獻[10]中沒有使用義項頻度只計算名詞消歧的準確度,表明本文考慮上下文中詞與歧義詞的距離及融合義項頻度方法有效。
3結語
語義消歧在機器翻譯、語音識別、文本分類、信息檢索等方面有著十分重要的作用。考慮歧義詞周圍詞語對歧義詞正確含義判定的影響,以及歧義詞各個義項在數據集中出現的概率,使用詞向量進行消歧,消歧效果優于改進的Lesk算法。歧義詞的有些義項在數據集中并不存在,消歧準確率還有進一步提升空間。下一步擬研究更準確的歧義詞義項概率及用更準確的方法表示上下文以及歧義詞義項方法。
參考文獻參考文獻:
[1]NAVIGLI R.Word sense disambiguation:asurvey[J].ACM Computing Surveys,2009,42(2):169.
[2]AGIRRE E,EDMONNDS P.Word sense disambiguation[J].Algorithm and Application,2007(10):128.
[3]董振東,董強.知網和漢語研究[J].當代語言學,2001,3(1):3344.
[4]FELLBAUM C.WordNet: An electronic lexical database[M].Cambridge:MIT press,1998.
[5]LESK M.Automatic sense disambiguation using machine readable dictionaries:how to tell a pine cone from an ice cream cone[C].Proceedings of the 5th Annual International Conference on Systems Documentation,1986:2426.
[6]蔣振超,李麗雙,黃德根,等.基于詞語關系的詞向量模型[J].中文信息學報,2017,31(3):2531.
[7]BASILE P,CAPUTO A,SEMERARO G.An enhanced Lesk word sense disambiguation algorithm through a distributional semantic model[C].International Conference on Roceedings of Coling,2014.
[8]KILGARRIFF A,ROSENZWEING J.Framework and Results for English SENSEVAL[J].Computers and the Humanities,2000,34(12):1548.
[9]BANERJEE S,PEDERSEN T.An adapted Lesk algorithm for word sense disambiguation using WordNet[J].Computational Linguistics and Intelligent Text Processing,2002(2276) 136145.
[10]王永生.基于改進的Lesk算法的詞義排歧算法[J].微型機與應用,2013 (24):6971.
[11]BASILE P,CAPUTO A,SEMERARO G.An enhanced Lesk word sense disambiguation algorithm through a distributional semantic model[C].International Conference on Roceedings of Coling,2014.
[12]HINTON G E.Learning distributed representation of concepts.[C].Proceedings of CogSci,1986:112.
[13]楊安,李素建,李蕓.基于領域知識和詞向量的詞義消歧方法[J].北京大學學報:自然科學版,2017,53 (2):204210.
[14]TAGHIPOUR K,NG H T.Semisupervised word sense disambiguation using word embeddings in general and specific domains[J].The 2015 Annual Conference of the North American Chapter of the ACL,2015(5):314323.
[15]BASILE P,CAPUTO A,SEMERARO G.An enhanced Lesk word sense disambiguation algorithm through a distributional semantic model[C].International Conference on Roceedings of Coling,2014.
[16]周練.Word2vec的工作原理及應用探究[J].圖書情報導刊,2015(2):145148.
責任編輯(責任編輯:杜能鋼)