張波
摘 ?要:針對目前基于維基百科的相似度計算方法預(yù)處理過程煩瑣、計算量大的問題,本文以維基百科為本體引入基于特征的詞語語義計算,提出了一種基于維基百科的快速詞語相似度計算方法。根據(jù)維基百科頁面鏈接結(jié)構(gòu)的特點,該方法把頁面的入鏈接和出鏈接作為頁面特征值構(gòu)建特征向量模型,通過計算頁面的特征向量相關(guān)系數(shù)計算對應(yīng)詞語的語義相似度。本文還改進(jìn)了維基百科消歧處理算法,在一詞多義的處理中減少社會認(rèn)知度低的義項頁面的干擾,進(jìn)一步提高了計算準(zhǔn)確度。經(jīng)Miller & Charles(MC30)和Rubenstein & Goodenough(RG65)測試集的測試,測試結(jié)果表明了基于維基百科鏈接特征的方法在計算相似度方面的可行性,也驗證了本文的計算策略和消歧改進(jìn)算法的合理性。
關(guān)鍵詞:語義相似度;維基百科;基于鏈接;基于特征值
中圖分類號:TP391 ? ? 文獻(xiàn)標(biāo)識碼:A
Abstract:Measuring semantic similarity is a critical basic research in natural language processing.Because Wikipedia has open-editing,huge vocabulary,rapid update and other features,more and more research and applications have been focused on Wikipedia.This paper proposes a page-link approach for calculating word semantic similarity by taking Wikipedia as data resource.This approach improves the Wikipedia Link Vector Model (WLVM) method taking outgoing links as the feature vector,and utilizes page's incoming links and outgoing links as feature values in Wikipedia,then calculates the semantic similarity between words by measuring feature set similarity between the corresponding pages.The method also improves the disambiguation page processing by reducing the interference of the low social recognition pages.Through testing with Miller & Charles (MC30) and Rubenstein & Goodenough (RG65) benchmark,the validity of this method on the measuring word semantic similarity measurement is verified.
Keywords:word similarity;Wikipedia;link-based;feature-based
1 ? 引言(Introduction)
詞語之間的語義相似度(SS)測量是自然語言處理領(lǐng)域重要的基礎(chǔ)研究之一,在很多領(lǐng)域都有著廣泛的應(yīng)用,比如詞義消歧[1]、同義詞探測[2]、信息抽取[3]等。傳統(tǒng)的詞語相似度計算方法主要包括兩類:其一是基于語料庫的概率統(tǒng)計方法,它的計算策略是使用統(tǒng)計學(xué)的方法把詞語相似度問題轉(zhuǎn)換為詞語在語料庫中上下文信息概率分布問題,把詞語在語料庫中的統(tǒng)計學(xué)特征作為語義相似度計算依據(jù);其二是基于某個世界知識本體模型的計算方法,把詞語在本體概念模型中特征的共性和差異性作為計算依據(jù)[4]。目前英文詞語相似度研究所使用的基本參考本體模型主要是WordNet[5],而中文詞語相似度研究主要使用的模型有董振東的“知網(wǎng)”[6]與哈工大的“同義詞詞林”[7]。由于WordNet具有嚴(yán)謹(jǐn)?shù)脑~義分類結(jié)構(gòu)和語義關(guān)系,基于WordNet的英文詞語語義相似度計算已經(jīng)得到了較為廣泛地應(yīng)用[8-19]。然而,WordNet詞匯量覆蓋面窄,且版本更新周期長,這些缺點也限制了它的進(jìn)一步應(yīng)用范圍。進(jìn)入21世紀(jì)后,隨著維基百科這一全球性多語言百科全書的推廣使用,開始出現(xiàn)了基于維基百科的詞語相似度與相關(guān)度的研究。維基百科是一種帶類目結(jié)構(gòu)的網(wǎng)頁文本語料庫,具有與WordNet相似的分類結(jié)構(gòu),其包羅萬象的網(wǎng)頁內(nèi)容和復(fù)雜的頁面鏈接蘊含著豐富的詞語語義信息。同時,由于維基百科的內(nèi)容和結(jié)構(gòu)由世界各地的志愿者合作創(chuàng)建和編輯,其詞匯量和更新速度均遠(yuǎn)超其他語義知識源。因此,根據(jù)維基百科的數(shù)據(jù)特點,探索基于維基百科的語義相似度和相關(guān)度計算方法問題,吸引了越來越多研究者的關(guān)注。
2 ? 研究背景(Research background)
維基百科是一個允許用戶編輯的開放網(wǎng)絡(luò)百科全書,自2001年推出后得到了迅猛增長,截止到2017年10月2日,共涵蓋299種語言,具有46483635個頁面[20],其中包括5486459個英文頁面。維基百科每月發(fā)布兩次數(shù)據(jù)庫備份轉(zhuǎn)儲(Database backup dumps),為基于維基百科數(shù)據(jù)資源的研究和應(yīng)用提供便利[21]。
維基百科的基本信息單元是頁面(Page),其中頁面分為內(nèi)容頁面(Content Page)、消歧頁面(Disambiguation Page)、類目頁面(Category Page)。每一個頁面的底部都列出該頁面所從屬的類目(Category)。內(nèi)容頁面通過文本定義概念詞條,并顯示與該概念詞條相關(guān)的信息內(nèi)容,文本中以超鏈接的形式包括了用于定義該詞條的其他頁面,比如“United States” 頁面定義了“美國”這一概念,并呈現(xiàn)關(guān)于“美國”的相關(guān)信息內(nèi)容,其中包括了1632個超鏈接;消歧頁面用于解決一詞多義的問題,它以列表的方式呈現(xiàn)該詞條的所有義項頁面超鏈接,比如“Apple(disambiguation)”頁面呈現(xiàn)了詞語“Apple”的59個義項頁面;類目頁面用于以列表的形式呈現(xiàn)該類別的主頁面、子類別、從屬頁面等信息,比如“Category:Fruit”頁面呈現(xiàn)了該類別的一個主頁面、四個直接子類別和12個從屬頁面的信息。
目前,基于維基百科的詞語語義相似度計算方法主要包括基于維基百科類目圖(Wikipedia Category Graph,WCG)的方法、基于文本語義分析的方法和基于頁面鏈接的方法。
(1)基于WCG的方法以維基百科的類目結(jié)構(gòu)作為語義計算的本體模型基礎(chǔ),把基于語義詞典語義相似度計算方法擴(kuò)展到基于維基百科的相似度計算。該方法可以追溯到Strube等人在2006年提出WikiRelate方法。WikiRelate方法是最早把維基百科作為知識來源的詞語相似度計算方法,該方法借鑒了基于語義詞典的路徑計算方法,在維基百科類目結(jié)構(gòu)的基礎(chǔ)上建構(gòu)維基百科類目樹(Category Tree),根據(jù)概念在類目樹上的距離和深度計算詞語語義相似度[22]。2012年,Taieb等人把基于IC的方法引入維基百科相似度計算中,他們根據(jù)WCG的結(jié)構(gòu)特點改進(jìn)了IC計算方法,并通過限制圖的搜索深度提高計算精度[23]。2013年,Taieb等人繼續(xù)把基于特征值的計算方法擴(kuò)展到維基百科相似度計算中,他們通過頁面詞語的詞根統(tǒng)計為WCG中的每一個類目構(gòu)建語義描述特征向量,在此基礎(chǔ)上嘗試了多種特征向量計算方法,并在計算過程中通過增加頁面重定向、頁面文本特征等因素改善計算結(jié)果[24]。2016年,Aouicha等人改進(jìn)了基于WCG的IC計算方法,提出了WordNet和維基百科結(jié)合的計算方法[25]。由于維基百科由眾多用戶共建而成,使其類目結(jié)構(gòu)并不嚴(yán)謹(jǐn),作用主要是詞語推薦和網(wǎng)站導(dǎo)航。因此,基于WCG的方法均需要進(jìn)行復(fù)雜的類目數(shù)據(jù)預(yù)處理,計算準(zhǔn)確率并不理想。
(2)基于文本語義分析的相似度方法是以維基百科頁面文本為計算依據(jù),通過對頁面文本進(jìn)行語義分析和詞語統(tǒng)計建立維基百科概念的向量空間模型,根據(jù)向量模型的相似度計算維基百科概念的相似度。由Gabrilovich和Markovitch提出的ESA(Explicit Semantic Analysis)方法最具代表性[26]。ESA方法利用維基百科詞語覆蓋面大、概念語義描述豐富的特點,在使用機(jī)器學(xué)習(xí)技術(shù)對頁面文本中的詞語和詞組進(jìn)行文本解析的基礎(chǔ)上,把維基百科概念表示為概念解釋向量(interpretation vector)。解釋向量由頁面文本中包含的文本片段組成,文本片段對于概念的重要程度體現(xiàn)為文本片段在向量中的權(quán)重。文本片段的權(quán)重計算采用了TF-IDF算法,該算法是信息檢索領(lǐng)域與數(shù)據(jù)挖掘領(lǐng)域的常用加權(quán)技術(shù),一個文本片段在某一個頁面中的權(quán)重等于該文本片段在頁面中的統(tǒng)計頻率與該頁面片段在整個維基百科中逆向頁面頻率之積。ESA方法不僅可以用于計算詞語語義計算,也可以計算任意長度的語義計算,但是該方法需要事先構(gòu)建解釋向量空間,計算量大。
(3)基于頁面鏈接的相似度方法是把維基百科的頁面超文本鏈接結(jié)構(gòu)作為相似度計算數(shù)據(jù)模型。在維基百科中,頁面通過超文本鏈接相互關(guān)聯(lián)。一個頁面的超鏈接結(jié)構(gòu)既包括在頁面文本中鏈接到其他頁面的出鏈接(Outgoing Link),也包括從其他頁面鏈接到該頁面的入鏈接(Incoming Link)。Milne和Witten是首先使用維基百科頁面鏈接計算文本相似度的學(xué)者,他們在2008年嘗試了根據(jù)出鏈接向量余弦夾角計算方法和入鏈接集合Google距離計算方法,并提出了把兩種計算求平均值的方式計算詞語相似度的方法[27]。在2009年,Milne在前一種方法的基礎(chǔ)上提出了WLVM(Wikipedia Link Vector Model)方法[28]。在WLVM方法中,維基百科頁面表示為頁面文本中包含的超鏈接(即出鏈接)組成的向量,根據(jù)向量的余弦夾角計算維基百科概念的相似度。WLVM方法對鏈接的權(quán)重計算提出了改進(jìn),以超鏈接在文本中出現(xiàn)的次數(shù)代替TF-IDF算法中的詞語統(tǒng)計頻率。
本文提出了一種基于鏈接特征的詞語相似度計算方法,該方法以維基百科概念頁面之間的鏈接作為特征,通過計算兩個維基百科頁面的鏈接特征集合的相似度得出頁面之間的相似度,進(jìn)而實現(xiàn)頁面對應(yīng)的詞語之間的相似度計算。另外,本文還對維基百科一詞多義的處理過程進(jìn)行了改進(jìn),通過對一些社會認(rèn)知度低的義項頁面進(jìn)行裁剪,進(jìn)一步提高了計算結(jié)果的準(zhǔn)確度。
3 ? 計算方法(Computing method)
基于維基百科的詞語語義相似度的計算過程主要包括三個步驟。首先在維基百科數(shù)據(jù)資源中獲取詞條的定位頁面。若定位頁面屬于內(nèi)容頁面,說明詞條義項單一,定位頁面即是義項頁面;若定位頁面屬于消歧頁面,說明詞條是一詞多義,需要把頁面消歧處理為多個非消歧義項頁面,每一個義項頁面描述詞條的一個義項。最后通過計算義項頁面之間的相似度來計算詞語之間的相似度,計算基本過程如圖1所示。
3.1 ? 頁面定位和消歧
計算兩個詞語相似度的第一步是找到詞語在維基百科數(shù)據(jù)資源中的定位頁面,把詞語相似度計算轉(zhuǎn)換為頁面相似度度量。本文采用查詢維基百科詞條來實現(xiàn)詞語與頁面的映射,具體分為三種情況。其一,在維基百科中存在標(biāo)題與詞語完全一致的頁面,比如詞語“glass”可以定位到標(biāo)題為“Glass”的頁面;其二,在維基百科中詞語重定位到的頁面,這種情況表示詞語與頁面的標(biāo)題屬于同義詞,比如詞語“automobile”重定向為標(biāo)題為“Car”頁面;其三,在維基百科中存在標(biāo)題為“詞語+(disambiguation)”的頁面,比如詞語“tool”可以定位到標(biāo)題為“Tool(disambiguation)”的頁面。
本文的頁面定位采用JWPL(Java Wikipedia Library)工具,對于任意詞語w,通過檢索數(shù)據(jù)資源找到w對應(yīng)的一到多個頁面,并最終選取計算定位頁面列表。具體的定位過程包括以下步驟:
(1)若w只能檢索到一個頁面,則直接確定該頁面為w的唯一定位頁面。
為了確保閾值參數(shù)θ取值的客觀性,我們選擇了AG203相似度基準(zhǔn)測試集作為訓(xùn)練集來訓(xùn)練計算參數(shù)。AG203[29]是Agirre等在2009年創(chuàng)建,由203對詞組成,詞語的詞性包括名詞、動詞和形容詞,人工判定值在0—10。在訓(xùn)練集AG203上使用式(4)、式(5)、式(6)和式(7),通過不斷改變閾值參數(shù)θ的取值,計算相似度值與人工判定值的Pearson相關(guān)系數(shù)值,當(dāng)Pearson相關(guān)系數(shù)達(dá)到峰值時閾值參數(shù)θ的取值確定為最終參數(shù)值。在訓(xùn)練集AG203上,本文方法計算相似度與人工判定值的Pearson系數(shù)隨閾值參數(shù)θ取值變化情況如圖4所示。
如圖4所示,設(shè)置閾值參數(shù)的測試結(jié)果整體優(yōu)于不設(shè)閾值的結(jié)果,且閾值θ=0.7時,訓(xùn)練數(shù)據(jù)集計算結(jié)果與人工判定值的Pearson相關(guān)系數(shù)達(dá)到最優(yōu)狀態(tài),在本文中,閾值參數(shù)最終確定為0.7。在下文章節(jié)所采用的測試數(shù)據(jù)集在計算過程中,閾值θ=0.7為計算的最優(yōu)狀態(tài)這個現(xiàn)象依然表現(xiàn)明顯。
4 ? 實驗與分析(Experiments and analysis)
使用基準(zhǔn)測試數(shù)據(jù)集對算法進(jìn)行測試和對比是目前最主要的相似度計算方法的評測方式,本文選取兩種國際通行計算詞語相似度基準(zhǔn)測試集:Miller & Charles(MC30)和Rubenstein & Goodenough(RG65)。其中,MC30數(shù)據(jù)集是由Miller和Charles在1991年發(fā)布的,包括30對名詞,人工判定值的取值在0—4[30]。RG65是Rubenstein和Goodenough在1965年創(chuàng)建,由65對名詞測試數(shù)據(jù)組成,人工判定值在0—4[31]。為了便于計算結(jié)果對比,本文對測試集進(jìn)行了歸一化處理,即MC30和RG65的人工判定值除以4,使其值域統(tǒng)一為[0,1]。
首先,我們對本文改進(jìn)的語義相似度方法進(jìn)行測試,消岐算法采用傳統(tǒng)的取消歧頁面所有的義項頁面的方法,相關(guān)公式包括式(1)、式(4)和式(5)。測試采用的維基百科數(shù)據(jù)資源是2017-8-1版維基百科數(shù)據(jù)庫備份轉(zhuǎn)儲。在兩個測試集上的計算結(jié)果與人工判定值之間的Pearson相關(guān)系數(shù)如表1所示。
接下來,我們在上述頁面相似度算法的基礎(chǔ)上,采用本文改進(jìn)的消岐算法處理一詞多義,使用兩個測試數(shù)據(jù)集對算法重新測試,相關(guān)公式包括式(4)、式(5)、式(6)和式(7),閾值參數(shù)θ設(shè)為0.7,計算結(jié)果如表2所示。
MC30測試集測試結(jié)果與人工判定值數(shù)值對比如表3所示。
為了比較本文相似度算法與現(xiàn)有相似度算法的優(yōu)劣,本文使用2017-8-1版維基百科數(shù)據(jù)庫對前文學(xué)者提出的出鏈接余弦夾角計算方法、Google距離計算方法和WLVM進(jìn)行重新計算,并與文獻(xiàn)中主要的詞語語義相似度算法測試結(jié)果進(jìn)行對比,如表4所示。
根據(jù)表4數(shù)據(jù)分析,由于維基百科數(shù)據(jù)資源頁面規(guī)模和義項數(shù)的增加,使用新版本維基百科數(shù)據(jù)資源對原有的基于鏈接的維基百科相似度方法的重算結(jié)果均差于原文獻(xiàn)的計算結(jié)果,本文提出的頁面鏈接為特征值的維基百科相似度方法總體上優(yōu)于前文學(xué)者提出的出鏈接余弦夾角計算方法、Google距離計算方法和WLVM等方法。對比這些方法的計算過程中使用本文改進(jìn)的消歧算法,可以看出本文的消歧方法在這些方法中依然起到改善計算結(jié)果的作用。本文方法在總體上優(yōu)于文獻(xiàn)中其他基于維基百科的相似度計算結(jié)果,也優(yōu)于目前大部分基于WordNet的語義相似度計算方法。雖然本算法的RG65測試結(jié)果略低于目前基于WordNet方法的最高值[11,18],但相較于WordNet(3.1版本)[5]中數(shù)據(jù)集中只有155287個詞、117659個同義詞集和206941個義項,維基百科具有超過其30倍的詞匯量,且在快速更新,因此本文方法具有更為廣泛的應(yīng)用前景。
5 ? 結(jié)論(Conclusion)
本文使用維基百科鏈接作為數(shù)據(jù)資源計算詞語語義相似度,提出了一種基于維基百科頁面鏈接特征的計算詞語語義相似度方法。首先,通過頁面定位和消歧,把詞語定位到維基百科頁面,把詞語相似度問題轉(zhuǎn)換為頁面相似度的計算問題。然后把頁面表示為由入鏈接和出鏈接組成的特征集合,通過計算特征集合的相似度計算對應(yīng)詞語的相似度。本文提出了對一詞多義問題的消歧算法的改進(jìn),通過閾值參數(shù)限制消歧義項頁面的方式減少社會認(rèn)知度較低義項對測試過程的干擾,以達(dá)到提高計算準(zhǔn)確度目的。
本文使用2017-8-1版維基百科數(shù)據(jù)資源,通過基準(zhǔn)測試數(shù)據(jù)集對本文方法今次測試。MC30數(shù)據(jù)集的計算結(jié)果與人工值之間的Pearson相關(guān)度達(dá)到0.906513536,RG65達(dá)到0.82858353。經(jīng)實驗數(shù)據(jù)與其他方法的對比,本文提出的方法總體優(yōu)于現(xiàn)有的基于維基百科鏈接的詞語相似度計算方法,且與其他維基百科方法和基于WordNet方法對比也有較好的表現(xiàn),說明本文提出的基于維基百科鏈接的詞語語義相似度計算方法是合理有效的。
參考文獻(xiàn)(References)
[1] Patwardhan S,Banerjee S,Pedersen T.Using measures of semantic relatedness for word sense disambiguation[C].International Conference on Computational Linguistics & Intelligent Text Processing.Springer-Verlag,2003:241-257.
[2] Lin D.An Information-theoretic Definition of similarity[C].The Fifteenth International Conference on Machine Learning.Morgan Kaufmann Publishers Inc.,1998:296-304.
[3] Atkinson J,F(xiàn)erreira A,Aravena E.Discovering Implicit Intention-Level Knowledge from Natural-Language Texts[J].Knowledge-Based Systems,2009,22(7):502-508.
[4] 石靜,吳云芳,邱立坤.基于大規(guī)模語料庫的漢語詞義相似度計算方法[J].中文信息學(xué)報,2013,27(01):1-6.
[5] Princeton University.WordNet[EB/OL].http://wordnet.princeton.edu,2019-8-1.
[6] 董振東,董強.知網(wǎng)[EB/OL].http://www.keenage.com,2015-1-8.
[7] 哈工大社會計算與信息檢索研究中心.同義詞詞林?jǐn)U展版[EB/OL].http://ir.hit.edu.cn/demos,2019-7-20.
[8] Rada R,Mili H,Bicknell E,et al.Development and application of a metric on semantic nets[J].IEEE Transactions on Systems,Man and Cybernetics,1989,19(1):17-30.
[9] Wu Z,Palmer M.Verbs Semantics and Lexical Selection[C].Proceedings of the 32nd annual meeting on Association for Computational Linguistics(COLING-94).Association for Computational Linguistics,1994:133-138.
[10] Leacock C,ChodorowM.Combining Local Context and WordNet Similarity for Word Sense Identification[M].WordNet:An Electronic Lexical Database,1998:265-283.
[11] Hao D,Zuo W,Peng T,et al.An Approach for Calculating Semantic Similarity between Words Using WordNet[C].Second International Conference on Digital Manufacturing & Automation.IEEE,2011:177-180.
[12] Resnik P.Using Information Content to Evaluate Semantic Similarity in a Taxonomy[C].the 14th International Joint Conference on Artificial Intelligence,Morgan Kaufmann Publishers Inc.,1995:448-453.
[13] D Lin.An Information-Theoretic Definition of Similarity[J].Fifteenth International Conference on Machine Learning,1998,1(2):296-304.
[14] JJ Jiang,DWConrath.Semantic Similarity Based on Corpus Statistics and Lexical Taxonomy[J].International Conference Research on Computational Linguistics,1997:19-33.
[15] A Tversky.Features of similarity[J].Readings in Cognitive Science,1988,84(4):290-302.
[16] MA Rodríguez,MJ Egenhofer.Determining Semantic Similarity among Entity Classes from Different Ontologies[J].Knowledge & Data Engineering IEEE Transactions on,2003,15(2):442-456.
[17] EGM Petrakis,G Varelas,A Hliaoutakis,et al.X-similarity:computing semantic similarity between concepts from different ontologies[J].Journal of Digital Information Management,2006,4(4):233-237.
[18] Hadj Taieb M A,Ben Aouicha M,Ben Hamadou A.Ontology-based approach for measuring semantic similarity[J].Engineering Applications of Artificial Intelligence,2014,36:238-261.
[19] Zhu X,Li F,Chen H,et al.A density compensation-based path computing model for measuring semantic similarity[J].Computer Science,2015:17-25.
[20] Wikipedia.List of Wikipedias[EB/OL].https://meta.wikimedia.org/wiki/List_of_Wikipedias,2019-8-1.
[21] Wikipedia.Wikimedia Downloads[EB/OL].http://dumps.wikimedia.your.org,2018-8-2.
[22] M.WikiRelate!Computing Semantic Relatedness Using Wikipedia[J].National Conference on Artificial Intelligence,2006,2(6):1419-1424.
[23] MAH Taieb,MB Aouicha,M Tmar,AB Hamadou.Wikipedia Category Graph and NewIntrinsic Information Content Metric for Word Semantic Relatedness Measuring[C].International Conference on Data and Knowledge Engineering,Springer Berlin Heidelberg,2012:128-140.
[24] MAH Taieb,MB Aouicha,AB Hamadou.Computing semantic relatedness using Wikipedia features[J].Knowledge-Based Systems,2013,50(50):260-278.
[25] MB Aouicha,MAH Taieb,AB Hamadou.Taxonomy-based information content and wordnet-wiktionary-wikipedia glosses for semantic relatedness[J].Applied Intelligence,2016,45(2):1-37.
[26] E Gabrilovich,S Markovitch.Computing Semantic Relatedness using Wikipedia-based Explicit Semantic Analysis[C].International Joint Conference on Artifical Intelligence,2007:1606-1611.
[27] D Milne,IH Witten.An Effective,Low-cost Measure of Semantic Relatedness Obtained from Wikipedia Links[J].Proceedings of AAAI,2008:35-42.
[28] D Milne.Computing Semantic Relatedness using Wikipedia Link Structure[C].NewZealand Computer Science Research Student Conference,2009.
[29] E Agirre,E Alfonseca,K Hall,et al.A Study on Similarity and Relatedness Using Distributional and Word Net-based Approaches[C].The Conference of the North American Chapter of the Association for Computational Linguistics,2009:19-27.
[30] George A.Miller,Walter G.Charles.Contextual Correlates of Semantic Similarity[J].Language Cognition & Neuroscience,1991,6(1):1-28.
[31] H Rubenstein,JB Goodenough.Contextual Correlates of Synonymy[J].Communications of the ACM,1965,8(10):627-633.
作者簡介:
張 ?波(1983-),男,碩士,講師.研究領(lǐng)域:自然語言處理,遠(yuǎn)程教育技術(shù).