李慧
[摘要]詞語相似度計算方法在信息檢索、詞義消歧、機器翻譯等自然語言處理領域有著廣泛的應用?,F(xiàn)有的詞語相似度算法主要分為基于統(tǒng)計和基于語義資源兩類方法,前者是從大規(guī)模的語料中統(tǒng)計與詞語共現(xiàn)的上下文信息以計算其相似度,而后者利用人工構建的語義詞典或語義網絡計算相似度。本文比較分析了兩類詞語相似度算法,重點介紹了基于Web語料庫和基于雛基百科的算法,并總結了各自的特點和不足之處。最后提出,在信息技術的影響下,基于維基百科和基于混合技術的詞語相似度算法以及關聯(lián)數據驅動的相似性計算具有潛在的發(fā)展趨勢。
[關鍵詞]詞語相似度;語義資源;語料庫;維基百科;WordNet
[中圖分類號]TP18
[文獻標識碼]A
[文章編號]1008-0821(2015)04-0172-06
詞語之間的語義相似性研究是自然語言處理以及人工智能領域的基礎性研究,如搜索、聚類以及歧義消除等,需要依賴于包含現(xiàn)實世界概念與關系的范圍廣泛的知識組織體系。自然語言的詞語之間有著非常復雜的關系,如上下位關系、同義關系、反義關系等。詞語相似度是對詞語間復雜關系的數量化,是詞語間語義相似緊密程度的一種定量度量。目前,詞語相似度的研究可以分為兩類,一類是基于語料庫的算法,通過統(tǒng)計大規(guī)模語料庫,根據詞語間信息量或者詞語共現(xiàn)頻率來計算詞語相似度。利用統(tǒng)計技術計算詞語間語義相似度是一種無監(jiān)督的機器學習方法。第二類是基于語義資源的算法,也可被稱為基于本體的詞語相似度算法,主要根據手工建立的語義網絡,通過計算詞語間距離得到詞語相似度。另外,還有一類基于混合技術的詞語相似度算法,通過將基于統(tǒng)計和基于語義的詞語相似度算法集合起來,發(fā)揮各自算法的優(yōu)勢來計算詞語相似度。
1 基于統(tǒng)計的詞語相似度算法
這種方法是利用詞語之間的相關性來計算詞語相似度,假設語義相似的詞語之間具有相同的上下文信息,根據上下文信息的概率分布作為相似度計算的依據。根據所用語料庫的類型,可將其分為基于傳統(tǒng)大規(guī)模語料庫的方法和基于Web語料庫的方法。
1.1基于傳統(tǒng)大規(guī)模語料庫的詞語相似度算法
語料庫是人們針對某一特定領域收集和整理的大量文檔的集合,在利用大規(guī)模語料庫進行詞語相似度計算的研究中,很多學者應用了傳統(tǒng)的互信息方法。L.Lillian利用相關熵,P.Brown等通過計算平均互信息來計算詞語相似度。Dagan等使用了更為復雜的概率模型來計算詞語的距離。Salton等提出詞包法,通過構建詞語語境向量,計算向量夾角余弦值來計算詞語相似度。Deerwester等在詞包方法的基礎上提出潛在語義分析法(LSA),通過構建詞匯——文檔矩陣來解決數據稀疏的問題。趙軍等在其提出的算法中,對關聯(lián)頻率分布規(guī)范化,通過計算詞的屬性向量間的距離來計算詞語相似度。章志凌等基于統(tǒng)計的方法提出了基于詞匯空間和關系空間的Corpus庫,該庫使用詞語空間和關系空間結構化地存儲了詞語和其上下文之間的統(tǒng)計信息,為詞語相似度的計算提供數據支持。
基于傳統(tǒng)語料庫的方法嚴重依賴于訓練所用的語料庫,語料庫是提前準備好的,這種方法不能避免詞匯不斷更新,也無法計算未登錄詞相似度的問題,無法消除數據噪音的問題。另外,基于統(tǒng)計的算法沒有考慮詞匯的語義背景信息,這也大大降低了結果的準確度。
1.2基于Web語料庫的詞語相似度算法
隨著互聯(lián)網技術的飛速發(fā)展,Web語料庫的出現(xiàn)為語料庫的建設和研究提供了新的思路和方法。Web語料庫以網絡文本為基礎,網絡檢索軟件為技術手段,其詞匯共現(xiàn)特征可被直接用來詞語相似度的計算。商業(yè)搜索引擎提供了Web語料庫的訪問途徑,能夠方便快速地獲取詞語在Web數據庫中單獨出現(xiàn)、共同出現(xiàn)以及所處語境等信息,從而進行詞語相似度的計算。目前,基于Web語料庫,利用搜索引擎進行詞語相似度計算的研究中,具有代表性的算法有PMI-IR、LC-IR以及Web-PMI算法。
P.Turney提出了PMI-IR(Pointwise Mutual Information using Information Retrieval)算法,通過搜索引擎獲取數據,利用點互信息(PMI)以及搜索引擎檢索返回的頁面數作為詞語相似度計算的指標。D.Higgins提出的LC-IR(Local Context-Information Retrieval)算法與PMI-IR算法相似,也采用Alta Vista搜索引擎,依賴于詞語共現(xiàn)的頻率統(tǒng)計信息。但是,LC-IR采用了不同的相似度度量標準,使用了詞語被發(fā)現(xiàn)彼此相鄰的頻率,而不是詞語在彼此10個字窗口內被發(fā)現(xiàn)的頻率。該方法在一定程度上減少了PMI-IR算法存在的偶然共現(xiàn)詞語對計算結果的干擾。在PMI-IR算法的基礎上,D.Bollegala等提出了Web-PMI算法,通過搜索引擎返回的頁面數來定義兩個不同的詞語P、Q以及P和Q的相似度,同時,還提出了一個使用從文本片段中自動提取的語法模式來計算詞語相似度的新方法。再利用支持向量機將這些不同的相似度的值進行集成。實驗數據表明該方法遠遠優(yōu)于之前研究中基于Web語義相似性的計算方法。
此外,Rudi L.C.等利用信息論、壓縮原理、柯爾莫哥洛夫復雜性、語義學等知識,把Internet作為一個大型的語料庫,以Google搜索返回的結果數做為計算的數據依據,提出了一種語義相關性計算方法,設NGD(Normalized Google Distance,介于0與1之間)表示標準谷歌距離,用以衡量語義相關性的大小,f(x)和f(y)分別表示包含概念x和y的網頁數,N表示Google引用的互聯(lián)網上網頁總數,那么概念x和y間的語義相關性計算公式可以表示稱:
2 基于語義資源的詞語相似度算法
詞語所處的語境在一定程度上反映詞語語義,但基于語料庫的方法對訓練所用語料庫有很強的依賴性,而且計算量大,計算方法復雜,同時存在著數據稀疏的問題。如果采用人工標注的語義詞典計算詞語相似度,能夠較好地減少數據稀疏和數據噪音對計算結果產生的影響。語義詞典規(guī)范地描述了詞語之間的上下位關系、同義關系、反義關系等,是詞語相似度計算的重要依據。隨著互聯(lián)網技術的發(fā)展,維基百科作為一個公開的數據庫,蘊含豐富的語義知識,數據范圍廣,更新速度快,也同樣具有良好的結構化信息,目前已有許多學者選取維基百科作為數據資源進行詞語相似度的相關研究。endprint
2.1基于傳統(tǒng)語義詞典的算法
2.1.1基于WordNet的算法
WordNet是一個包含了語義信息的英語詞典,是一個在線的詞匯參照系統(tǒng)。R.Rada等利用WordNet,提出了一種基于距離的語義相關度計算方法,其基本思想是通過兩個詞語在本體樹狀分類體系或者語義詞典中的最短路徑長度來計算它們之間的相關度,二者距離越小,那么它們的相關度越大,反之,距離越大,其相關度越小。Richardson又在此基礎上,加入權重值,對最短路徑法提出了改進。考慮詞語在WordNet中的層次信息和邊所表征的關聯(lián)度,將表示該詞語涉及的邊的進行加權求和,這樣得到的詞語語義相關度的結果也將更準確。
Hirst等從一個新的角度來闡述基于距離的計算方法,如果兩個詞語相關,那么它們之間存在一條較短路徑,并且遍歷過程不需要或者很好改變路徑,并提出獨立的計算公式來證明結果確實具有一定的優(yōu)化。Jiang等在使用共享父節(jié)點和被比較詞語包含的信息的同時,直接通過語義距離計算詞語的相關度,充分結合了距離和信息內容,較之以往的方法,它的效果更好。Philip Resnik提出了一種基于節(jié)點共享信息內容概念的語義相似性度量方法,在解決句法和語義模糊的問題上充分利用了分類相似,針對人類相似性基準集的判斷實驗表明,該方法的性能優(yōu)于傳統(tǒng)的邊緣統(tǒng)計方法。Agirre等提出了一種針對詞匯歧義的解決方法,該方法依賴于WordNet中名詞分類的使用,同時定義了概念密度公式。該自動計算的方法不需要手工編碼的詞匯條目,手工標注的文字,也不需要任何一種培訓過程。吳思穎等利用中文WordNet,在其同義詞集的上下位關系圖中,引入了距離、密度、深度3個因素來估計同義詞集之間的相似度。Sussna在考察WordNet詞義網密度、節(jié)點深度、鏈接類型等因素后,提出了一種基于詞義網邊的詞語之間的相似度量方法。除WordNet外,其他應用較為廣泛的語義詞典還包括MindNet和FrameNet等,但應用思想都是一樣的。
2.1.2基于知網(HowNet)、《同義詞詞林》的算法
近年來,隨著“知網”等本體知識模型的出現(xiàn)和不斷完善,針對漢語詞語相似度方面的研究又開始盛行起來。該技術的基本假設是,在本體中距離越近的義原或詞匯,它們的相似度越大。國內學者一般是借助于知網或者《同義詞詞林》來進行研究。
劉群等提出一種基于知網的詞匯語義相似度計算方法。該方法在計算兩個概念的語義表達式之間的相似度時,采用了“整體的相似度等于部分相似度加權平均”的做法。對于兩個義原的相似度,采用根據上下位關系得到語義距離并進行轉換的方法。夏天提出了一種基于知網、面向語義的相似度計算方法,并通過概念切分解決了知網中未登錄詞的語義相似度計算的難題。王斌采用樹形圖中節(jié)點之間路徑的方法,利用《同義詞詞林》來計算漢語詞語之間的相似度?!锻x詞詞林》將所有的詞組織在一棵或幾棵樹狀的層次結構中,在一棵樹形圖中,任何兩個節(jié)點之間有且只有一條路徑,在計算詞語相似度時,通過計算這條路徑的長度來計算概念語義距離,進而作為詞語相似度的一種度量。呂立輝等利用《同義詞詞林》,綜合考慮詞語在詞典中的密度信息和路徑信息,并模擬計算函數來計算相似度。李素建等人提出了一種綜合利用了知網和《同義詞詞林》來計算漢語詞語語義相似度的方法。許云提出了一種利用知網來計算語義相關度的方法。知網中描述語義的基本單位是義原,所以該算法通過計算義原相關度和義原關聯(lián)度來計算詞語的語義相關度。
2.2基于維基百科的算法
維基百科是一種基于Web2.0技術的合作型知識庫。維基百科可以被看作含有語義詞典功能的大型語料庫,其獨特的信息組織方式,使它成為了科研中重要的語義數據資源。維基百科作為詞語相似度計算的資源基礎,比搜索引擎的知識結構更合理,比WordNet覆蓋范圍更廣泛。
自然語言語義相關度的計算需要訪問大量特定領域或者常識性的世界知識。Strube等最早利用維基百科計算詞語相似度,通過實驗在不同的基準數據集上比較了基于維基百科的算法與基于WordNet的算法,利用WikiRelate!算法可以比較不同詞性的詞語之間的語義相似度,同時發(fā)現(xiàn)當應用于最大可用數據集時,維基百科優(yōu)于WordNet。隨后,Gabrilovich等提出了基于維基百科文章內容的顯性語義分析法(ESA)。ESA是一種基于來自維基百科高維空間文本概念的新的方法,使用機器學習技術將文本的含義表達為基于維基百科概念的加權向量。由于自然概念的使用,ESA模型更容易被用戶理解?;诰S基百科的詞語相似度算法取得了領域內最精確的結果,得到了廣泛應用,許多學者也在已有算法基礎上進行了改進。Milne提出了利用維基百科文檔內鏈接信息計算詞語相關度的方法WLVM(Wikipedia Link Vector Model),這種方法與ESA和WikiRelate!方法相似,不同的是,該方法只利用了鏈接結構和文章標題等信息來計算相關度,而沒有利用維基百科中所有的文本內容,雖然計算方法變得更加簡單,但其準確性遠遠落后于ESA方法。Yeh等為了解決資源整合問題,通過運用基于維基百科圖形的個性化的PageRank來計算詞語相似度。該研究評估了圖形建立,包括鏈路選擇策略的方法,以及用于表示圖形節(jié)點分布的輸入文本的兩種方法。Radinsky等認為通過研究隨著詞語時間推移的使用模式也可以獲取大量的相關信息,進而提出了一種新的語義關聯(lián)模型,即時空語義分析(TSA)。ESA方法將詞語語義表示為概念向量,而在TSA方法中,每個概念被表示為文檔語料庫中的時間序列。這是第一次將時間信息引入到語義關聯(lián)模型的研究中。實驗表明,TSA比ESA方法取得了更好的效果。盛志超等通過研究發(fā)現(xiàn),WikiRelate!算法僅依靠類別信息作為背景知識,而ESA算法雖然在精度上有了較大提高,但其并沒有充分利用類別信息以及內鏈接信息,于是提出了基于維基百科頁面網的詞語相似度算法,結合了頁面的內容信息、網絡信息以及類別信息,提高了計算結果的準確率。endprint
2.3基于百度百科的算法
百度百科是一個基于Web2.0技術的中文百科全書,現(xiàn)已成為互聯(lián)網上規(guī)模最大、使用最廣泛的開放式中文電子百科全書,也成為由互聯(lián)網用戶以自由貢獻、共同協(xié)作的方式構建大規(guī)模知識資源的典范。作為語料庫,百度百科包含了數百萬的文檔資源,質量上和數量上都有著其它語料庫無法比擬的優(yōu)勢。
詹志建等提出了一種新的基于百度百科的詞語相似度量方法,通過分析百度百科詞條信息,從表征詞條的解釋內容方面綜合分析詞條相似度,并定義了詞條間的相似度計算公式,通過計算部分之間的相似度得到整體的相似度。作者具體討論應用這種算法在百科名片、詞條正文、開放分類和相關詞條部分的相似度計算,對其再加權就得到整體的相似度結果。與傳統(tǒng)的基于語義詞典和大規(guī)模語料庫的方法不同,這種方法通過計算表征百科詞條各個部分內容的相似度加權得到詞條的相似度,實驗結果也表明,與已有的相似度計算方法對比,提出的算法更加有效合理。
3 基于混合技術的詞語相似度算法
綜上可見,基于統(tǒng)計的方法比較客觀,但依賴于訓練所用的語料庫,受數據稀疏和數據噪聲的干擾較大?;谡Z義資源的方法簡單有效,但得到的結果受研究者的主觀意識影響較大。若將基于統(tǒng)計和基于語義資源的方法結合起來,發(fā)揮兩種算法各自的優(yōu)勢進行詞匯間的語義相似度計算,有可能彌補各自算法的不足,達到更符合人們客觀需要的計算結果。
Li等探討了基于多個信息源的詞語相似度計算方法,其中包括語義詞典的結構化語義信息以及語料庫中的信息內容,將詞語在層次樹中最短路徑和密度等信息進行非線性結合來計算詞語相似度,實驗證明該方法優(yōu)于傳統(tǒng)的相似度度量方法。魏(韋華)等從基于信息量的方法、基于距離的方法和混合方法3個角度分類總結了基于本體的術語間語義相似度的計算方法。在此基礎上,提出了基于有向無環(huán)圖和內在信息量的混合方法。該方法避免了分析語料庫的問題,具有比較高的準確度。郭麗等綜合應用了傳統(tǒng)基于知網和基于互信息的方法,從語義和統(tǒng)計相融合的角度提出了詞語相似度的算法,結果表明本算法可以得到更符合人們預期的結果。蔡東風等人結合知網提出了一種基于語境的詞語相似度算法,通過構造隸屬函數計算詞語上下文信息的模糊重要度,有效地解決數據噪聲問題。
通過分析前人研究成果發(fā)現(xiàn),將基于統(tǒng)計和基于語義資源的方法結合起來,能夠在一定程度上彌補兩種算法的不足,得到與客觀實際符合程度更大的詞語相似度。但是這兩類方法也包含很多不同的方法,具體的融合技術還有待深入研究,這也可以成為詞語相似度研究的一個分支。
4 分析與結論
基于上述研究綜述,表1從類別、數據來源、主要優(yōu)缺點等角度對詞語相似度的算法進行了分析總結,并介紹了各個類別中的代表算法及其研究者。得到以下兩點結論:
4.1基于維基百科的詞語相似度算法具有潛在的發(fā)展趨勢
與傳統(tǒng)的語義詞典相比,維基百科具有知識覆蓋范圍廣,結構化程度高等優(yōu)點,同時其語義資源還可以及時更新,提高相似度計算的準確率。研究表明,在大數據集上,基于維基百科的算法遠好于WordNet的算法。目前基于維基百科的算法利用了維基百科分類圖、文檔圖以及內鏈接等信息,未來的研究可以進一步探索對維基百科中其他語義知識的運用。另外,由于分類圖在結構上與語義詞典比較相似,而且其記錄的語義關系比較精確,可以將基于傳統(tǒng)語義詞典的方法應用到維基百科的分類圖資源上來因此,基于維基百科分類圖的相似度算法值得進一步的探索和研究。
4.2基于混合技術的詞語相似度算法存在很大的發(fā)展空間
在詞語相似度算法中,由于基于統(tǒng)計的方法依賴于所用語料庫,計算量大,計算方法復雜,同時存在著數據稀疏和數據噪音的問題;而基于語義資源的方法受所用語義詞典的限制,無法反應客觀實際情況。目前相關研究表明,基于混合技術的算法,利用本體知識彌補基于統(tǒng)計算法中的數據稀疏和數據噪音問題,可以取得比較客觀和精確的計算結果。將語料庫以及語義詞典合理融合作為背景信息,可以綜合考慮詞匯之間的多種語義關系,使各種語義信息進行優(yōu)勢互補,從而提高詞語相似度計算結果的精確度。然而,語料庫以及語義詞典畢竟是兩類結構組織不同的數據資源,基于統(tǒng)計和基于語義的算法的原理也存在著根本性的不同,因此,在不同方法的融合技術上還有待進一步研究和實踐。
4.3信息技術影響下的算法將為詞語相似度研究提供新的思路
隨著信息技術的發(fā)展和研究的不斷深入,詞語相似度的計算精確度逐步提高。從前面關于基于Web語料庫以及基于維基百科的詞語相似度算法介紹即可看出這種趨勢。基于Web語料庫的算法利用了搜索引擎技術,把利用詞語共現(xiàn)信息計算相似度的方法應用在廣泛豐富的Web文本資源中;而基于維基百科的算法把維基百科看作具有語義詞典功能的大型語料庫,利用其獨特的信息組織方式來計算詞語相似度,目前有學者在維基百科和其他語義資源融合算法方面的研究中也取得了不錯的成果,這些方法將為詞語相似度的計算提供新的觀點和平臺。
4.4語義網技術的最新發(fā)展為詞匯相似度的計算開辟了新的途徑
隨著語義網技術的不斷深化,Tim Berners-Lee于2006年提出關聯(lián)數據(Linked Data)的概念,它是一種適用于語義網(Semantic Web)的數據存在形式。關聯(lián)開放數據(Linking Open Data)運動啟動后,LOD集中數據量不斷擴大,這些數據集應用在包括信息檢索、推薦系統(tǒng)等多個領域中,而將LOD數據集應用在相似性計算必然是未來的發(fā)展方向之一。目前在利用WordNet進行相似性計算中,WordNet由于自身的限制,容納的詞匯量具有一定的限度,在這種情況下,可以利用關聯(lián)數據來實現(xiàn)對WordNet的補充,因此在映射本體時,可以增加概念匹配度,增強詞匯相似度計算的準確性。
(本文責任編輯:孫國雷)endprint