日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于《知网》的词汇语义相似度计算

發布時間:2023/12/9 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于《知网》的词汇语义相似度计算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于《知網》的詞匯語義相似度計算[1]

劉群??李素建?

{liuqun,lisujian}@ict.ac.cn

? 中國科學院計算技術研究所

? 北京大學計算語言學研究所
摘要:

《知網》是一部比較詳盡的語義知識詞典。在基于實例的機器翻譯中,詞語相似度計算是一個重要的環節。不過,由于《知網》中對于一個詞的語義采用的是一種多維的知識表示形式,這給詞語相似度的計算帶來了麻煩。這一點與WordNet和《同義詞詞林》不同。在WordNet和《同義詞詞林》中,所有同類的語義項(WordNet的synset或《同義詞詞林》的詞群)構成一個樹狀結構,要計算語義項之間的距離,只要計算樹狀結構中相應結點的距離即可。而在《知網》中詞語相似度的計算存在以下問題:

1.每一個詞的語義描述由多個義原組成,例如“暗箱”一詞的語義描述為:part|部件,%tool|用具,body|身,“寫信”一詞的語義描述為:#TakePicture|拍攝write|寫,ContentProduct=letter|信件;

2.詞語的語義描述中各個義原并不是平等的,它們之間有著復雜的關系,通過一種專門的知識描述語言來表示。

我們的工作主要包括:

1.研究《知網》中知識描述語言的語法,了解其描述一個詞義所用的多個義原之間的關系,區分其在詞語相似度計算中所起的作用;

2.提出利用《知網》進行詞語相似度計算的算法;

3.通過實驗驗證該算法的有效性,并與其他算法進行比較。

關鍵詞:《知網》 詞匯語義相似度計算 自然語言處理
1 引言

在基于實例的機器翻譯中,詞語相似度的計算有著重要的作用。例如要翻譯“張三寫的小說”這個短語,通過語料庫檢索得到譯例:

1)李四寫的小說/the novel written by Li Si

2)去年寫的小說/the novel written last year

通過相似度計算我們發現,“張三”和“李四”都是具體的人,語義上非常相似,而“去年”的語義是時間,和“張三”相似度較低,因此我們選用“李四寫的小說”這個實例進行類比翻譯,就可以得到正確的譯文:

the novel written by Zhang San

如果選用后者作為實例,那么得到的錯誤譯文將是:

  • the novel written Zhang San

通過這個例子可以看出相似度計算在基于實例的機器翻譯中所起的作用。

在基于實例的翻譯中另一個重要的工作是雙語對齊。在雙語對齊過程中要用到兩種語言詞語的相似度計算,這不在本文所考慮的范圍之內。

除了基于實例的機器翻譯之外,詞語相似度計算在信息檢索、信息抽取、詞義排歧等領域都有著廣泛的應用。
2 詞語相似度及其計算的方法
2.1 什么是詞語相似度

什么是詞語相似度?

我們認為,詞語相似度是一個主觀性相當強的概念。脫離具體的應用去談論詞語相似度,很難得到一個統一的定義。因為詞語之間的關系非常復雜,其相似或差異之處很難用一個簡單的數值來進行度量。從某一角度看非常相似的詞語,從另一個角度看,很可能差異非常大。

不過,在具體的應用中,詞語相似度的含義可能就比較明確了。例如,在基于實例的機器翻譯中,詞語相似度主要用于衡量文本中詞語的可替換程度;而在信息檢索中,相似度更多的要反映文本或者用戶查詢在意義上的符合程度。

本文的研究主要以基于實例的機器翻譯為背景,因此在本文中我們所理解的詞語相似度就是兩個詞語在不同的上下文中可以互相替換使用而不改變文本的句法語義結構的程度。兩個詞語,如果在不同的上下文中可以互相替換且不改變文本的句法語義結構的可能性越大,二者的相似度就越高,否則相似度就越低。

相似度是一個數值,一般取值范圍在[0,1]之間。一個詞語與其本身的語義相似度為1。如果兩個詞語在任何上下文中都不可替換,那么其相似度為0。

相似度這個概念,涉及到詞語的詞法、句法、語義甚至語用等方方面面的特點。其中,對詞語相似度影響最大的應該是詞的語義。
2.2 詞語相似度與詞語距離

度量兩個詞語關系的另一個重要指標是詞語的距離。

一般而言,詞語距離是一個[0,∞)之間的實數。

一個詞語與其本身的距離為0。

詞語距離與詞語相似度之間有著密切的關系。

兩個詞語的距離越大,其相似度越低;反之,兩個詞語的距離越小,其相似度越大。二者之間可以建立一種簡單的對應關系。這種對應關系需要滿足以下幾個條件:

  • 兩個詞語距離為0時,其相似度為1;

  • 兩個詞語距離為無窮大時,其相似度為0;

  • 兩個詞語的距離越大,其相似度越小(單調下降)。

  • 對于兩個詞語W1和W2,我們記其相似度為Sim(W1,W2),其詞語距離為Dis(W1,W2),那么我們可以定義一個滿足以上條件的簡單的轉換關系:

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

    這種轉換關系并不是唯一的,我們這里只是給出了其中的一種可能。

    在很多情況下,直接計算詞語的相似度比較困難,通常可以先計算詞語的距離,然后再轉換成詞語的相似度。所以在本文后面的有些章節,我們只談論詞語的距離,而沒有提及詞語的相似度,讀者應該知道這二者是可以互相轉換的。
    1.1 詞語相似度與詞語相關性

    度量兩個詞語關系的另一個重要指標是詞語的相關性。

    詞語相關性反映的是兩個詞語互相關聯的程度。可以用這兩個詞語在同一個語境中共現的可能性來衡量。

    詞語相關性也是一個[0,1]之間的實數。

    詞語相關性和詞語相似性是兩個不同的概念。例如“醫生”和“疾病”兩個詞語,其相似性非常低,而相關性卻很高。可以這么認為,詞語相似性反映的是詞語之間的聚合特點,而詞語相關性反映的是詞語之間的組合特點。

    同時,詞語相關性和詞語相似性又有著密切的聯系。如果兩個詞語非常相似,那么這兩個詞語與其他詞語的相關性也會非常接近。反之,如果兩個詞語與其他詞語的相關性特點很接近,那么這兩個詞一般相似程度也很高。
    1.2 詞語相似度的計算方法

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

    根據世界知識(Ontology)計算詞語語義距離的方法,一般是利用一部同義詞詞典(Thesaurus)。一般同義詞詞典都是將所有的詞組織在一棵或幾棵樹狀的層次結構中。我們知道,在一棵樹形圖中,任何兩個結點之間有且只有一條路徑。于是,這條路徑的長度就可以作為這兩個概念的語義距離的一種度量。

    王斌(1999)采用這種方法利用《同義詞詞林》來計算漢語詞語之間的相似度(如圖1所示)。有些研究者考慮的情況更復雜。Agirre & Rigau (1995)在利用Wordnet計算詞語的語義相似度時,除了結點間的路徑長度外,還考慮到了其他一些因素。例如:

  • 概念層次樹的深度:路徑長度相同的兩個結點,如果位于概念層次的越底層,其語義距離較大;比如說:“動物”和“植物”、“哺乳動物”和“爬行動物”,這兩對概念間的路徑長度都是2,但前一對詞處于語義樹的較高層,因此認為其語義距離較大,后一對詞處于語義樹的較低層,其語義距離更小;
  • 概念層次樹的區域密度:路徑長度相同的兩個結點,如果位于概念層次樹中高密度區域,其語義距離應大于位于低密度區域。由于Wordnet中概念描述的粗細程度不均,例如動植物分類的描述及其詳盡,而有些區域的概念描述又比較粗疏,所以加入了概念層次樹區域密度對語義距離的影響。
  • 另一種詞語相似度的計算方法是大規模的語料來統計。例如,利用詞語的相關性來計算詞語的相似度。事先選擇一組特征詞,然后計算這一組特征詞與每一個詞的相關性(一般用這組詞在實際的大規模語料中在該詞的上下文中出現的頻率來度量),于是,對于每一個詞都可以得到一個相關性的特征詞向量,然后利用這些向量之間的相似度(一般用向量的夾角余弦來計算)作為這兩個詞的相似度。這種做法的假設是,凡是語義相近的詞,他們的上下文也應該相似。李涓子(1999)利用這種思想來實現語義的自動排歧;魯松(2001)研究了如何如何利用詞語的相關性來計算詞語的相似度。Dagan(1999)使用了更為復雜的概率模型來計算詞語的距離。

    這兩種方法各有特點。基于世界知識的方法簡單有效,也比較直觀、易于理解,但這種方法得到的結果受人的主觀意識影響較大,有時并不能準確反映客觀事實。另外,這種方法比較準確地反映了詞語之間語義方面的相似性和差異,而對于詞語之間的句法和語用特點考慮得比較少。基于語料庫的方法比較客觀,綜合反映了詞語在句法、語義、語用等方面的相似性和差異。但是,這種方法比較依賴于訓練所用的語料庫,計算量大,計算方法復雜,另外,受數據稀疏和數據噪聲的干擾較大,有時會出現明顯的錯誤。

    本文主要研究基于《知網(Hownet)》的詞語相似度計算方法,這是一種基于世界知識的方法
    1 《知網(Hownet)》簡介

    按照《知網》的創造者――董振東先生自己的說法(杜飛龍,1999):

    《知網》是一個以漢語和英語的詞語所代表的概念為描述對象,以揭示概念與概念之間以及概念所具有的屬性之間的關系為基本內容的常識知識庫。

    《知網》中含有豐富的詞匯語義知識和世界知識,為自然語言處理和機器翻譯等方面的研究提供了寶貴的資源。不過,在我們真正試圖利用《知網》來進行計算機處理時,發現還是會遇到不少困難。我們的感覺是,《知網》確實是一座寶庫,但另一方面,《知網》的內容又非常龐雜。盡管《知網》的提供了詳細的文檔,但由于這些文檔不是以一種形式化的方式說明的,很多地方多少顯得有些混亂。當我們閱讀這些文檔時,很容易一下子陷入大量的細節之中,而很難對《知網》有一個總體的把握。這使得我們在進行計算的時候覺得很不方便。因此,我們在試圖利用《知網》進行計算的過程中,也在逐漸加深我們對于《知網》的認識,并試圖整理出一個關于《知網》的比較清晰的圖象。

    本節中,我們對于《知網》的描述是按照我們自己的語言來組織的,很多地方加入了我們的理解,并不一定都是《知網》文檔中描述。我們希望通過這種方法,使讀者更快地了解《知網》,對《知網》有一個比較清晰而全面的印象。當然,我們的理解也難免有錯誤和遺漏之處,歡迎《知網》的作者和其他讀者批評指正。
    1.1 《知網》的結構

    董振東先生反復強調,《知網》并不是一個在線的詞匯數據庫,《知網》不是一部語義詞典。

    在介紹《知網》的結構之前,我們首先要理解《知網》中兩個主要的概念:“概念”與“義原”。

    “概念”是對詞匯語義的一種描述。每一個詞可以表達為幾個概念。

    “概念”是用一種“知識表示語言”來描述的,這種“知識表示語言”所用的“詞匯”叫做“義原”。

    “義原”是用于描述一個“概念”的最小意義單位。

    與一般的語義詞典(如《同義詞詞林》,或Wordnet)不同,《知網》并不是簡單的將所有的“概念”歸結到一個樹狀的概念層次體系中,而是試圖用一系列的“義原”來對每一個“概念”進行描述。

    《知網》一共采用了1500義原,這些義原分為以下幾個大類:

  • Event|事件

  • entity|實體

  • attribute|屬性值

  • aValue|屬性值

  • quantity|數量

  • qValue|數量值

  • SecondaryFeature|次要特征

  • syntax|語法

  • EventRole|動態角色

  • 10)EventFeatures|動態屬性

    對于這些義原,我們把它們歸為三組:第一組,包括第1到7類的義原,我們稱之為“基本義原”,用來描述單個概念的語義特征;第二組,只包括第8類義原,我們稱之為“語法義原”,用于描述詞語的語法特征,主要是詞性(Part of Speech);第三組,包括第9和第10類的義原,我們稱之為“關系義原”,用于描述概念和概念之間的關系(類似于格語法中的格關系)。

    除了義原以外,《知網》中還用了一些符號來對概念的語義進行描述,如下表所示:

    ,

    多個屬性之間,表示“和”的關系

    表示“與其相關”

    %

    表示“是其部分”

    $

    表示“可以被該‘V’處置,或是該“V”的受事,對象,領有物,或者內容

    表示“會‘V’或主要用于‘V’,即施事或工具

    對V類,它表示它所標記的角色是一種隱性的,幾乎在實際語言中不會出現

    &

    表示指向

    ~

    表示多半是,多半有,很可能的

    @

    表示可以做“V”的空間或時間

    ?

    表示可以是“N”的材料,如對于布匹,我們標以“?衣服”表示布匹可以是“衣服”的材料

    {}

    (1) 對于V類,置于 [ ] 中的是該類V所有的“必備角色”。如對于“購買”類,一旦它發生了,必然會在實際上有如下角色參與:施事,占有物,來源,工具。盡管在多數情況下,一個句子并不把全部的角色都交代出來

    (2) 表示動態角色,如介詞的定義

    ()

    置于其中的應該是一個詞表記,例如,(China|中國)

    ^

    表示不存在,或沒有,或不能

    !

    表示某一屬性為一種敏感的屬性,例如:“味道”對于“食物”,“高度”對于“山脈”,“溫度” 對于“天象”等

    []

    標識概念的共性屬性

    表1: 《知網》知識描述語言中的符號及其含義
    我們把這些符號又分為幾類,一類是用來表示語義描述式之間的邏輯關系,包括以下幾個符號:, ~ ^ ,另一類用來表示概念之間的關系,包括以下幾個符號: # % $ * + & @ ? ! ,第三類包括幾個無法歸入以上兩類的特殊符號:{} () [] 。

    我們看到,概念之間的關系有兩種表示方式:一種是用“關系義原”來表示,一種是用表示概念關系的符號來表示。按照我們的理解,前者類似于一種格關系,后者大部分是一種格關系的“反關系”,例如“$”我們就可以理解為“施事、對象、領有、內容”的反關系,也就是說,該詞可以充當另一個詞的“施事、對象、領有、內容”。

    義原一方面作為描述概念的最基本單位,另一方面,義原之間又存在復雜的關系。在《知網》中,一共描述了義原之間的8種關系:上下位關系、同義關系、反義關系、對義關系、屬性-宿主關系、部件-整體關系、材料-成品關系、事件-角色關系。可以看出,義原之間組成的是一個復雜的網狀結構,而不是一個單純的樹狀結構。不過,義原關系中最重要的還是的上下位關系。根據義原的上下位關系,所有的“基本義原”組成了一個義原層次體系(如圖2)。這個義原層次體系是一個樹狀結構,這也是我們進行語義相似度計算的基礎。

    從表面上看,其他的語義詞典,如《同義詞詞林》和Wordnet,也有一個樹狀的概念層次體系,好像《知網》和它們很相似,但實際上有著本質的不同。在《同義詞詞林》和Wordnet種,概念就是描寫詞義的最小單位,所以,每一個概念都是這個概念層次體系中的一個結點。而在《知網》中,每一個概念是通過一組義原來表示的,概念本身并不是義原層次體系中的一個結點,義原才是這個層次體系中的一個結點。而且,一個概念并不是簡單的描述為一個義原的集合,而是要描述為使用某種專門的“知識描述語言”來表達的一個語義表達式。也就是說,在描述一個概念的多個義原中,每個義原所起到的作用是不同的,這就給我們的相似度計算帶來了很大的困難。下面我們就對這個描述概念的知識描述語言進行一些考察。
    1.1 《知網》的知識描述語言

    《知網》對概念的描述是比較復雜的。在《知網》中,每一個概念用一個記錄來表示,如下所示:

    其中NO.為概念編號,W_C,G_C,E_C分別是漢語的詞語、詞性和例子,W_E、G_E、E_E分別是英語的詞語、詞性和例子,DEF是知網對于該概念的定義,我們稱之為一個語義表達式。其中DEF是知網的核心。我們這里所說的知識描述語言也就是DEF的描述語言。

    在《知網》的文檔中,對知識描述語言做了詳盡的介紹。不過,由于該文檔過于偏重細節,不易從總體上把握。本節中我們試圖對于這種知識描述語言給出一個簡單的概括。

    我們看幾個例子:

    打 017144 exercise|鍛練,sport|體育

    男人 059349 human|人,family|家,male|男

    高興 029542 aValue|屬性值,circumstances|境況,happy|福,desired|良

    表2:《知網》知識描述語言實例
    從這些例子我們可以看到,《知網》的知識描述語言是比較復雜的。我們將這種知識描述語言歸納為以下幾條:

  • 《知網》收入的詞語主要歸為兩類,一類是實詞,一類是虛詞;
  • 虛詞的描述比較簡單,用“{句法義原}”或“{關系義原}”進行描述;
  • 實詞的描述比較復雜,由一系列用逗號隔開的“語義描述式”組成,這些“語義描述式”又有以下三種形式:
  • a) 獨立義原描述式:用“基本義原”,或者“(具體詞)”進行描述;

    b) 關系義原描述式:用“關系義原=基本義原”或者“關系義原=(具體詞)”或者“(關系義原=具體詞)”來描述;

    c) 符號義原描述式:用“關系符號 基本義原”或者“關系符號(具體詞)”加以描述;

  • 在實詞的描述中,第一個描述式總是一個基本義原,這也是對該實詞最重要的一個描述式,這個基本義原描述了該實詞的最基本的語義特征。
  • 2 基于《知網》的語義相似度計算方法

    從上面的介紹我們看到,與傳統的語義詞典不同,在《知網》中,并不是將每一個概念對應于一個樹狀概念層次體系中的一個結點,而是通過用一系列的義原,利用某種知識描述語言來描述一個概念。而這些義原通過上下位關系組織成一個樹狀義原層次體系。我們的目標是要找到一種方法,對用這種知識描述語言表示的兩個語義表達式進行相似度計算。

    利用《知網》計算語義相似度一個最簡單的方法就是直接使用詞語語義表達式中的第一獨立義原,把詞語相似度等價于第一獨立義原的相似度。這種方法好處是計算簡單,但沒有利用知網語義表達式中其他部分豐富的語義信息。

    Li Sujian, et al. (2002)中提出了一種詞語語義相似度的計算方法,計算過程綜合利用了《知網》和《同義詞詞林》。在義原相似度的計算過程中,不僅考慮了義原之間的上下文關系,還考慮了義原之間的其他關系。在計算詞語相似度時,加權合并了《同義詞詞林》的詞義相似度、《知網》語義表達式的義原相似度和義原關聯度。這種算法中,《同義詞詞林》和《知網》采用完全不同的語義體系和表達方式,詞表也相差較大,把它們合并計算的合理性值得懷疑。另外,把語義關聯度加權合并計入義原相似度中,也未必合理。

    1.1 詞語相似度計算

    對于兩個漢語詞語W1和W2,如果W1有n個義項(概念):S11,S12,……,S1n,W2有m個義項(概念):S21,S22,……,S2m,我們規定,W1和W2的相似度各個概念的相似度之最大值,也就是說:

    …… (2)

    這樣,我們就把兩個詞語之間的相似度問題歸結到了兩個概念之間的相似度問題。當然,我們這里考慮的是孤立的兩個詞語的相似度。如果是在一定上下文之中的兩個詞語,最好是先進行詞義排岐,將詞語標注為概念,然后再對概念計算相似度。
    1.2 義原相似度計算

    由于所有的概念都最終歸結于用義原(個別地方用具體詞)來表示,所以義原的相似度計算是概念相似度計算的基礎。

    由于所有的義原根據上下位關系構成了一個樹狀的義原層次體系,我們這里采用簡單的通過語義距離計算相似度的辦法。假設兩個義原在這個層次體系中的路徑距離為d,根據公式(1),我們可以得到這兩個義原之間的語義距離:

    其中p1和p2表示兩個義原(primitive),d是p1和p2在義原層次體系中的路徑長度,是一個正整數。α是一個可調節的參數。

    用這種方法計算義原相似度的時候,我們只利用了義原的上下位關系。實際上,在《知網》中,義原之間除了上下位關系外,還有很多種其他的關系,如果在計算時考慮進來,可能會得到更精細的義原相似度度量,例如,我們可以認為,具有反義或者對義關系的兩個義原比較相似,因為它們在實際的語料中互相可以互相替換的可能性很大。對于這個問題這里我們不展開討論,留給以后的研究工作來處理。

    另外,在知網的知識描述語言中,在一些義原出現的位置都可能出現一個具體詞(概念),并用圓括號( )括起來。所以我們在計算相似度時還要考慮到具體詞和具體詞、具體詞和義原之間的相似度計算。理想的做法應該是先把具體詞還原成《知網》的語義表達式,然后再計算相似度。這樣做將導入函數的遞歸調用,甚至可能導致死循環,這會使算法會變得很復雜。由于具體詞在《知網》的語義表達式中只占很小的比例,因此,在我們的實驗中,為了簡化起見,我們做如下規定:

    l 具體詞與義原的相似度一律處理為一個比較小的常數(γ);

    l 具體詞和具體詞的相似度,如果兩個詞相同,則為1,否則為0。
    1.1 虛詞概念的相似度的計算

    我們認為,在實際的文本中,虛詞和實詞總是不能互相替換的,因此,虛詞概念和實詞概念的相似度總是為零。

    由于虛詞概念總是用“{句法義原}”或“{關系義原}”這兩種方式進行描述,所以,虛詞概念的相似度計算非常簡單,只需要計算其對應的句法義原或關系義原之間的相似度即可。
    1.2 實詞概念的相似度的計算

    由于實詞概念是用一個語義表達式來描述的,因此其相似度計算變得非常復雜。

    如何計算兩個語義表達式的相似度呢?

    我們的基本設想是:整體相似要建立在部分相似的基礎上。把一個復雜的整體分解成部分,通過計算部分之間的相似度得到整體的相似度。

    假設兩個整體A和B都可以分解成以下部分:A分解成A1,A2,……,An,B分解成B1,B2,……,Bm,那么這些部分之間的對應關系就有m×n種。問題是:這些部分之間的相似度是否都對整體的相似度發生影響?如果不是全部都發生影響,那么我們應該如何選擇那些發生影響的那些部分之間的相似度?選擇出來以后,我們又如何得到整體的相似度?

    我們認為:一個整體的各個不同部分在整體中的作用是不同的,只有在整體中起相同作用的部分互相比較才有效。例如比較兩個人長相是否相似,我們總是比較它們的臉型、輪廓、眼睛、鼻子等相同部分是否相似,而不會拿眼睛去和鼻子做比較。

    因此,在比較兩個整體的相似性時,我們首先要做的工作是對這兩個整體的各個部分之間建立起一一對應的關系,然后在這些對應的部分之間進行比較。我們把這種做法比喻成古代的戰場的兩軍對壘:兵對兵、將對將,捉對廝殺。

    還有一個問題:如果某一部分的對應物為空,如何計算其相似度?我們的處理方法是:

    l 將任何義原(或具體詞)與空值的相似度定義為一個比較小的常數(δ);

    整體的相似度通過部分的相似度加權平均得到。

    對于實詞概念的語義表達式,我們將其分成四個部分:

  • 第一獨立義原描述式:我們將兩個概念的這一部分的相似度記為Sim1(S1,S2);
  • 其他獨立義原描述式:語義表達式中除第一獨立義原以外的所有其他獨立義原(或具體詞),我們將兩個概念的這一部分的相似度記為Sim2(S1,S2);
  • 關系義原描述式:語義表達式中所有的用關系義原描述式,我們將兩個概念的這一部分的相似度記為Sim3(S1,S2);
  • 符號義原描述式:語義表達式中所有的用符號義原描述式,我們將兩個概念的這一部分的相似度記為Sim4(S1,S2)。
  • 于是,兩個概念語義表達式的整體相似度記為:

    其中,βi(1≤i≤4)是可調節的參數,且有:β1+β2+β3+β4=1,β1≥β2≥β3≥β4。后者反映了Sim1到Sim4對于總體相似度所起到的作用依次遞減。由于第一獨立義原描述式反映了一個概念最主要的特征,所以我們應該將其權值定義得比較大,一般應在0.5以上。

    在實驗中我們發現,如果Sim1非常小,但Sim3或者Sim4比較大,將導致整體的相似度仍然比較大的不合理現象。因此我們對公式(4)進行了修改,得到公式如下:

    其意義在于,主要部分的相似度值對于次要部分的相似度值起到制約作用,也就是說,如果主要部分相似度比較低,那么次要部分的相似度對于整體相似度所起到的作用也要降低。

    下面我們再分別討論每一部分的相似度。

  • 第一獨立義原描述式:就是兩個義原的相似度,按照公式(3)計算即可;
  • 其他獨立義原描述式:由于其他獨立義原描述式不止一個,所以計算較為復雜。我們還是按照上面的思想,把整體相似度還原為部分相似度的加權平均。困難在于,各個獨立義原描述式之間沒有分工,所以很難找到對應關系。我們按照如下步驟對這些獨立義原描述式分組:
  • a) 先把兩個表達式的所有獨立義原(第一個除外)任意配對,計算出所有可能的配對的義原相似度;

    b) 取相似度最大的一對,并將它們歸為一組;

    c) 在剩下的獨立義原的配對相似度中,取最大的一對,并歸為一組,如此反復,直到所有獨立義原都完成分組。

  • 關系義原描述式:關系義原描述式的配對分組較為簡單,我們把關系義原相同的描述式分為一組,并計算其相似度;
  • 符號義原描述式:符號義原描述式的配對分組與關系義原描述式類似,我們把關系符號相同的描述式分為一組,并計算其相似度。
  • 在以上2)、3)、4)的計算中,最后求加權平均時,各部分取相等的權值。
  • 到此為止,我們已經討論了基于《知網》的詞語相似度計算的所有細節,具體的算法我們不再詳細說明。
    1 實驗及結果

    根據以上方法,我們實現了一個基于《知網》的語義相似度計算程序模塊。

    詞語相似度計算的結果評價,最好是放到實際的系統中(如基于實例的機器翻譯系統),觀察不同的相似度計算方法對實際系統的性能的影響。這需要一個完整的應用系統。在條件不具備的情況下,我們采用了人工判別的方法。

    我們設計了兩個對比實驗。

    第一個實驗,采用本文中提出的詞語相似度計算方法,我們計算一個詞和另外任意選取的一組詞的相似度,由人來判斷這個詞和這一組詞的相似度大小是否與人的直覺相符合;

    第二個實驗,我們使用了三種方法來計算詞語相似度,并把它們的計算結果進行比較:

    方法1:僅使用《知網》語義表達式中第一獨立義原來計算詞語相似度;

    方法2:Li Sujian et al. (2002) 中使用的詞語語義相似度計算方法;

    方法3:本文中介紹的語義相似度計算方法;

    在實驗中,幾個參數的取值如下:

    α= 1.6;

    β1 = 0.5, β2 = 0.2,β3 = 0.17,β4 = 0.13

    γ= 0.2

    δ= 0.2

    兩個實驗結果如下表所示:

    詞語1

    詞語2

    詞語2的語義

    方法1

    方法2

    方法3

    男人

    女人

    人,家,女

    1.000

    0.668

    0.833

    男人

    父親

    人,家,男

    1.000

    1.000

    1.000

    男人

    母親

    人,家,女

    1.000

    0.668

    0.833

    男人

    和尚

    人,宗教,男

    1.000

    0.668

    0.833

    男人

    經理

    人,#職位,官,商

    1.000

    0.351

    0.657

    男人

    高興

    屬性值,境況,福,良

    0.016

    0.024

    0.013

    男人

    收音機

    機器,*傳播

    0.186

    0.008

    0.164

    男人

    鯉魚

    0.347

    0.009

    0.208

    男人

    蘋果

    水果

    0.285

    0.004

    0.166

    男人

    工作

    事務,$擔任

    0.186

    0.035

    0.164

    男人

    責任

    責任

    0.016

    0.005

    0.010

    表3:實驗結果

    考察實驗1的結果,也就是上面方法3的結果,我們可以看到,“男人”和其他各個詞的相似度與人的直覺是比較相符合的。

    考察實驗2的結果,也就是將方法3和方法1、方法2的結果相比較,可以看到:方法1的結果比較粗糙,只要是人,相似度都為1,顯然不夠合理;方法2的結果比方法1更細膩一些,能夠區分不同人之間的相似度,但有些相似度的結果也不太合理,比如“男人”和“工作”的相似度比“男人”和“鯉魚”的相似度更高。從可替換性來說,這顯然不合理,至少“男人”和“鯉魚”都是有生命物體,而“工作”只可能是一個行為或者一個抽象事物。方法2出現這種不合理現象的原因在于其計算方法把部分相關度數值加權計入了相似度中。另外,方法2的結果中,“男人”和“和尚”的相似度比“男人”和“經理”的相似度高出近一倍,而方法3的結果中,這兩個相似度的差距更合理一些。
    2 結論

    與傳統的語義詞典不同,《知網》采用了1500多個義原,通過一種知識描述語言來對每個概念進行描述。

    為了計算用知識描述語言表達的兩個概念的語義表達式之間的相似度,我們采用了“整體的相似度等于部分相似度加權平均”的做法。首先將一個整體分解成部分,再將兩個整體的各個部分進行組合配對,通過計算每個組合對的相似度的加權平均得到整體的相似度。通過對概念的語義表達式反復使用這一方法,可以將兩個語義表達式的整體相似度分解成一些義原對的相似度的組合。對于兩個義原的相似度,我們采用根據上下位關系得到語義距離并進行轉換的方法。

    實驗證明,我們的做法充分利用了《知網》中對每個概念進行描述時的豐富的語義信息,得到的結果與人的直覺比較符合,詞語相似度值刻劃也比較細致。
    參考文獻:

    Agirre E. and Rigau G. (1995), A proposal for word sense disambiguation using conceptual distance, in International Conference “Recent Advances in Natural Language Processing” RANLP’95, Tzigov Chark, Bulgaria,.

    Dagan I., Lee L. and Pereira F. (1999), Similarity-based models of word cooccurrence probabilities, Machine Learning, Special issue on Machine Learning and Natural Language, 1999

    Li Sujian, Zhang Jian, Huang Xiong and Bai Shuo (2002), Semantic Computation in Chinese Question-Answering System, Journal of Computer Science and Technology (Accepted)

    李涓子(1999),漢語詞義排歧方法研究,清華大學博士論文

    王斌(1999),漢英雙語語料庫自動對齊研究,中國科學院計算技術研究所博士學位論文

    魯松(2001),自然語言中詞相關性知識無導獲取和均衡分類器的構建,中國科學院計算技術研究所博士論文

    董振東,董強(1999),“知網”, http://www.keenage.com

    杜飛龍 (1999),《知網》辟蹊徑,共享新天地——董振東先生談知網與知識共享,《微電腦世界》雜志,1999年第29期

    總結

    以上是生活随笔為你收集整理的基于《知网》的词汇语义相似度计算的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。