基于《知网》的词汇语义相似度计算以及复现
基于《知網(wǎng)》的詞匯語(yǔ)義相似度計(jì)算復(fù)現(xiàn)源碼:點(diǎn)擊下載
源來(lái)自gittub:https://github.com/daishengdong/WordSimilarity
問(wèn)題描述:
“西紅柿”和“茄子”這兩個(gè)詞,基于字面檢測(cè)相似度為0,但是我們都知道它是一個(gè)東西,所以引入基于語(yǔ)義的相似度檢測(cè)。1
1.語(yǔ)義相似定義
兩個(gè)任意的詞語(yǔ)如果在不同的上下文中可以相互替換且不改變文本的語(yǔ)義的可能性越大,那么兩者之間的相似度就越高,否則相似度就越低。2
2.語(yǔ)義距離
定義:數(shù)值在0到正無(wú)窮,0表示相似度為1,正無(wú)窮表示相似度為0。
檢測(cè)方法:
1.基于世界知識(shí)。根據(jù)世界知識(shí)方法一般是利用一部同義詞詞典來(lái)計(jì)算詞語(yǔ)語(yǔ)義距離,現(xiàn)在常用的同義詞詞典有同義詞詞林、WordNet 和 HowNet 等,其中同義林詞林和 WordNet 都是將所有的概念歸結(jié)到一個(gè)樹狀的概念層次體系中,而 HowNet 是將用來(lái)描述概念的義原組織在多棵樹狀的層次體系中,處于同一棵樹狀圖中的任意兩個(gè)節(jié)點(diǎn)之間有且只有一條可達(dá)路徑,因此,兩個(gè)概念之間的語(yǔ)義距離就可以通過(guò)這條可達(dá)路徑的長(zhǎng)度來(lái)表示。
2.基于大規(guī)模語(yǔ)料庫(kù)。根據(jù)詞匯上下文信息的概率分布計(jì)算詞語(yǔ)語(yǔ)義相似度,該方法所計(jì)算得到的詞語(yǔ)語(yǔ)義相似度結(jié)果精確度較高,但是計(jì)算量比較大,計(jì)算方法也比較復(fù)雜,因?yàn)樵摲椒ㄐ枰蕾囉谟?xùn)練所用的語(yǔ)料庫(kù),此外,由于數(shù)據(jù)稀疏和數(shù)據(jù)噪聲等因素對(duì)基于統(tǒng)計(jì)的方法干擾較
大,故該方法一般很少使用。
3.知網(wǎng)(Hownet)簡(jiǎn)介
知網(wǎng)是由機(jī)器翻譯專家董振東借助計(jì)算機(jī)建立的一個(gè)基于知識(shí)的系統(tǒng),創(chuàng)建知網(wǎng)的本意是為了解決機(jī)器翻譯的問(wèn)題,它是一個(gè)以漢語(yǔ)和英語(yǔ)詞語(yǔ)所代表的概念為描述對(duì)象的知識(shí)庫(kù)和常識(shí)庫(kù)。
知網(wǎng)中主要包含義項(xiàng)和義原兩個(gè)概念。
義項(xiàng)(概念):對(duì)詞語(yǔ)語(yǔ)義的一種描述。例如“組織”這個(gè)詞,其義項(xiàng)為‘組織’活動(dòng)這個(gè)動(dòng)詞以及世界衛(wèi)生‘組織’這個(gè)名詞等。
義項(xiàng)(概念)組成,即三元組:〈W_X = 詞語(yǔ) G_X = 詞語(yǔ)詞性 DEF = 概念定義〉(表達(dá)一個(gè)詞語(yǔ)的其中一個(gè)意思)
義原是用于描述義項(xiàng)(概念)的最小意義單位。2
一個(gè)義項(xiàng)(概念)由多個(gè)義原構(gòu)成。
《知網(wǎng)》的知識(shí)描述語(yǔ)言2
《知網(wǎng)》對(duì)概念的描述是比較復(fù)雜的。在《知網(wǎng)》中,每一個(gè)概念用一個(gè)記錄來(lái)表示,如下所示:
NO.=017144
W_C=打
G_C=V
E_C=~ 網(wǎng)球, ~ 牌,~ 秋千,~ 太極,球~得很棒
W_E=play
G_E=V
E_E=
DEF=exercise|鍛練,sport|體育
其中NO.為概念編號(hào),W_C,G_C,E_C分別是漢語(yǔ)的詞語(yǔ)、詞性和例子,W_E、G_E、E_E分別是英語(yǔ)的詞語(yǔ)、詞性和例子,DEF是知網(wǎng)對(duì)于該概念的定義,我們稱之為一個(gè)語(yǔ)義表達(dá)式。其中DEF是知網(wǎng)的核心。我們這里所說(shuō)的知識(shí)描述語(yǔ)言也就是DEF的描述語(yǔ)言。
注:表中描述符號(hào)含義可以參考2
每個(gè)義原是有層次結(jié)構(gòu)的。
4.基于《知網(wǎng)》的語(yǔ)義相似度計(jì)算方法
4.1.把詞語(yǔ)相似度等價(jià)于第一獨(dú)立義原的相似度。
優(yōu)點(diǎn):簡(jiǎn)單。
缺點(diǎn):沒(méi)有充分利用知網(wǎng)的其他語(yǔ)義。
4.2.詞語(yǔ)語(yǔ)義相似度計(jì)算
思路:比較兩個(gè)詞語(yǔ)所有概念的相似度,找出最相似的那個(gè)。
注:考慮的是獨(dú)立詞語(yǔ),如果有上下文,則可以排除一些概念在比較。
4.3.義原相似度比較
由于所有的概念都最終歸結(jié)于用義原(個(gè)別地方用具體詞)來(lái)表示,所以義原的相似度計(jì)算是概念相似度計(jì)算的基礎(chǔ)。
其中p1和p2表示兩個(gè)義原(primitive),d是p1和p2在義原層次體系中的路徑長(zhǎng)度,是一個(gè)正整數(shù)。α是一個(gè)可調(diào)節(jié)的參數(shù)。
缺點(diǎn):1)只利用了義原的上下位關(guān)系,可以考慮其他關(guān)系,如:具有反義或者對(duì)義關(guān)系的兩個(gè)義原比較相似,因?yàn)樗鼈冊(cè)趯?shí)際的語(yǔ)料中互相可以互相替換的可能性很大。2)一些義原可能再出現(xiàn)具體詞(概念),容易造成無(wú)限遞歸,增加算法復(fù)雜度。
解決2):
具體詞與義原的相似度一律處理為一個(gè)比較小的常數(shù)(γ);
具體詞和具體詞的相似度,如果兩個(gè)詞相同,則為1,否則為0。
4.4虛詞概念的相似度的計(jì)算
我們認(rèn)為,在實(shí)際的文本中,虛詞和實(shí)詞總是不能互相替換的,因此,虛詞概念和實(shí)詞概念的相似度總是為零。
由于虛詞概念總是用“{句法義原}”或“{關(guān)系義原}”這兩種方式進(jìn)行描述,所以,虛詞概念的相似度計(jì)算非常簡(jiǎn)單,只需要計(jì)算其對(duì)應(yīng)的句法義原或關(guān)系義原之間的相似度即可。
4.5實(shí)詞概念的相似度的計(jì)算
思路:
假設(shè)兩個(gè)整體A和B都可以分解成以下部分:A分解成A1,A2,……,An,B分解成B1,B2,……,Bm,那么這些部分之間的對(duì)應(yīng)關(guān)系就有m×n種。問(wèn)題是:這些部分之間的相似度是否都對(duì)整體的相似度發(fā)生影響?如果不是全部都發(fā)生影響,那么我們應(yīng)該如何選擇那些發(fā)生影響的那些部分之間的相似度?選擇出來(lái)以后,我們又如何得到整體的相似度?
我們認(rèn)為:一個(gè)整體的各個(gè)不同部分在整體中的作用是不同的,只有在整體中起相同作用的部分互相比較才有效。例如比較兩個(gè)人長(zhǎng)相是否相似,我們總是比較它們的臉型、輪廓、眼睛、鼻子等相同部分是否相似,而不會(huì)拿眼睛去和鼻子做比較。
對(duì)于實(shí)詞概念的語(yǔ)義表達(dá)式,我們將其分成四個(gè)部分:
1)第一獨(dú)立義原描述式:我們將兩個(gè)概念的這一部分的相似度記為Sim1(S1,S2);
2)其他獨(dú)立義原描述式:語(yǔ)義表達(dá)式中除第一獨(dú)立義原以外的所有其他獨(dú)立義原(或具體詞),我們將兩個(gè)概念的這一部分的相似度記為Sim2(S1,S2);
3)關(guān)系義原描述式:語(yǔ)義表達(dá)式中所有的用關(guān)系義原描述式,我們將兩個(gè)概念的這一部分的相似度記為Sim3(S1,S2);
4)符號(hào)義原描述式:語(yǔ)義表達(dá)式中所有的用符號(hào)義原描述式,我們將兩個(gè)概念的這一部分的相似度記為Sim4(S1,S2)。
分成的部分各自比較,按照第一義原權(quán)重最高,其余各自對(duì)應(yīng)添加權(quán)重進(jìn)行比較。具體參考2
李蕾, 大數(shù)據(jù)環(huán)境下相似重復(fù)記錄數(shù)據(jù)清洗關(guān)鍵技術(shù)研究, 2019, 南京郵電大學(xué). ??
劉群, 李素建. 基于《 知網(wǎng)》 的詞匯語(yǔ)義相似度計(jì)算[J]. 中文計(jì)算語(yǔ)言學(xué), 2002. ?? ?? ?? ?? ??
總結(jié)
以上是生活随笔為你收集整理的基于《知网》的词汇语义相似度计算以及复现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 不带缓存的I/O和标准(带缓存的)I/O
- 下一篇: C++ Primer 第Ⅲ部分笔记——类