當前位置:成語大全網 - 成語詞典 - 基於谷歌距離的語義相似度為多少時可確定兩者為同義詞

基於谷歌距離的語義相似度為多少時可確定兩者為同義詞

詞語的語義相似度計算主要有兩種方法 :

壹類是通過語義詞典,把有關詞語的概念組織在壹個樹形的結構中來計算;

另壹類主要是通過詞語上下文的信息,運用統計的方法進行求解。

1. 語義相似度

Dekang Lin認為任何兩個詞語的相似度取決於它們的***性(Commonality)和個性(Differences),然後從信息論的角度給出了定義公式:

其中,分子表示描述A,B***性所需要的信息量;分母表示完整地描述A,B所需要的信息量。

其中,Sl,S2表示兩個義原,S表示離它們最近的***同祖先,p(s)是該結點的子結點個數(包括自己)與樹中的所有結點個數的比值。

劉群、李素建以基於實例的機器翻譯為背景,認為語義相似度就是兩個詞語在不同的上下文中可以互相替換使用而不改變文本的句法語義結構的程度。兩個詞語,如果在不同的上下文中可以互相替換且不改變文本的句法語義結構的可能性越大,二者的相似度就越高,否則相似度就越低。

對於兩個詞語W1,W2,如果記其相似度為Sim(W1,W2) ,其詞語距離為Dis(W1,W2),根據劉群、李素建的公式:

其中a是壹個可調節的參數。n的含義是:當相似度為0.5時的詞語距離值。

詞語距離和詞語相似度是壹對詞語的相同關系特征的不同表現形式,如果兩個概念之間的語義距離越近,就認為它們越相似,因此二者之問可以給出壹個簡單對應關系:

其中,Dis(Wl,W2)為樹中W1,W2所代表的結點在樹中的距離,k為比例系數。

壹般地說,相似度壹般被定義為壹個0到1之間的實數。特別地,當兩個詞語完全壹樣時,它們的相似度為1;當兩個詞語是完全不同的概念時,它們的相似度接近於0

2. 語義相似度的計算方法

詞語距離有兩類常見的計算方法,壹種是根據某種世界知識(Ontology)或分類體系(Taxonomy)來計算,壹種利用大規模的語料庫進行統計。

2.1 根據分類體系計算詞語語義距離的方法

該方法又稱基於樹的語義相似度研究方法,基於樹的語義相似度計算的算法大體上分為兩種:壹是基於距離的語義相似性測度;二是基於信息內容的語義相似性測度。壹般是利用壹部語義詞典(如Wordnet,Hownet),語義詞典都是將所有的詞組織在壹棵或幾棵樹狀的層次結構中。在壹棵樹狀圖中,任何兩個結點之間有且只有壹條路徑。於是,這條路徑的長度就可以作為這兩個詞語概念間語義距離的壹種度量;而且隨著概念所處結點越深,其所包含的語義信息越豐富,越能準確地決定概念的性質,它們對語義相似度起著決定作用。

2.1.1 基於樹狀層次計算語義相似度的基本思想

例如,在圖1(取自Wordnet本體中的壹小部分)中,boy和girl之間的最短路徑是boy—male—person—female—girl,最小路徑長度為4。而teacher和boy之間的最小路徑長度為6。因此,girl比teacher在語義上更接近於boy。該測度算法在基於Wordnet的語義網中獲得了較好的計算結果。

2.1.2 基於《知網Hownet》的語義相似度計算

由於《知網Hownet》中詞語不是組織在壹個樹狀的層次體系中,而是壹種網狀結構;同時借助義原和符號對概念進行描述。對於兩個漢語詞語Wl和W2,如果W1有個n義項(概念):Sll,S12,…,S1n,W2有個m義項(概念):S21,S22,…,S2m,劉群、李素建認為W1和W2的相似度是各個概念的相似度之最大值,也就是說:

為了更加精確地計算出詞語的語義相似度,在《知網》中對壹個實詞的描述可以表示為壹個特征結構,該特征結構含有以下四個特征:

*第壹基本義原描述:其值為壹個基本義原,將兩個概念的這壹部分的相似度記為Siml(Sl,S2);

*其它基本義原描述:對應於語義表達式中除第壹基本義原描述式以外的所有基本義原描述式,其值為壹個基本義原的集合,將兩個概念的這壹部分的相似度記為Sim2(S1,S2);

*關系義原描述:對應於語義表達式中所有的關系義原描述式,其值是壹個特征結構,對於該特征結構的每壹個特征,其屬性是壹個關系義原,其值是壹個基本義原,或壹個具體詞。將兩個概念的這壹部分的相似度記為Sim3(S1,S2);

*關系符號描述:對應於語義表達式中所有的關系符號描述式,其值也是壹個特征結構,對於該特征結構的每壹個特征,其屬性是壹個關系義原,其值是壹個集合,該集合的元素是壹個基本義原,或壹個具體詞。將兩個概念的這壹部分的相似度記為Sim4(S1,S2)。

通過以上分析,可知在實際的《知網》結構中,由於各個義原所處的層次不壹樣,因而它們對詞語相似度的影響程度也不壹樣,也就是說部分相似性在整體相似性中所占的權重是不壹樣的,權重(百分比)用β表示,於是,在知網中,概念的整體相似度可以記為:

其中,β(1≤i≤4)是可調節的參數,且有:β1+β2+β3+β4=1,β1≥β2≥P3≥β4。後者反映了Siml(Sl,S2)到Sim4(Sl,S2)對於總體相似度所起到的作用依次遞減。由於第壹獨立義原描述式反映了壹個概念最主要的特征,所以應該將其權值定義得比較大,壹般應在0.5以上。在以上計算中,最後求加權平均時,各部分取相等的權值。這樣,就把兩個詞語之間的相似度問題歸結到了兩個概念之間的相似度問題。

2.2 利用大規模的語料庫進行統計

基於語料庫的詞語相似度研究大都采用了上下文語境的統計描述方法,即認同這樣壹個論斷:詞語的上下文可以為詞語定義提供足夠信息。詞語向量空間模型是目前基於統計的詞語相似度計算策略使用比較廣泛的壹種,算法復雜度也能夠實現的模型。該模型事先選擇壹組特征詞,然後計算這壹組特征詞與每壹個詞的相關性(壹般用這組詞在實際的大規模語料中以該詞在上下文中出現的頻率來度量),於是對於每壹個詞都可以得到壹個相關性的特征詞向量,然後利用這些向量之間的相似度作為這兩個詞的相似度。

由計算機自然語言處理專家RudiL.Cilibrasi和Paul M.B.Vitanyi[2007.12]提出的語義相似度計算方法,該方法理論基礎涉及信息論、壓縮原理、柯爾莫哥洛夫復雜性、語義WEB、語義學等,基本思想是把Intemet作為壹個大型的語料庫,以Google(對其它的搜索引擎如百度同樣適用)作為搜索引擎,搜索返回的結果數作為計算的數值依據,其計算公式如下:

其中,NGD(Normalized Google Distance,介於0與1之間)表示標準谷歌距離(以此衡量語義相似性大小),f(x),f(y)分別表示含概念x,y的網頁數,f(x,y)表示同時含有概念的網頁數,N表示Google引用的互聯網上的網頁總數。

可以以壹次實驗來說明,假設用Google搜索詞語'horse'返回46700000(記為f(x))條結果,搜索詞語'rider'返回結果數為12200ooo(記為f(y)),搜索同時含'horse,rider'的網頁數是2630ooo(記為f(x,y)),Google***引用的網頁數是N=8058044651,代入上述公式求得:

NGD(horse,rider)≈0.443

3. 兩類主要語義相似度計算方法的比較