一種基于信息量的句子相似度計算方法
【專利摘要】本發(fā)明涉及一種基于信息量的句子相似度計算方法,包括以下步驟:首先,通過兩個句子詞語間具有最大的信息量的概念確定詞語的詞義;然后利用語義網(wǎng)的層次結(jié)構(gòu)和語料庫統(tǒng)計來計算詞語的信息量和多詞語間的公共信息量;接下來應(yīng)用組合數(shù)學(xué)中容斥原理計算多個詞語的總信息量,從而分別得到兩個句子各自的信息量,以及兩個句子總共的信息量;最后根據(jù)Jaccard相似度原理定義并計算出句子的相似度。本發(fā)明能逼真的模擬人類對句子相似程度的判斷,并且不需要使用語料訓(xùn)練參數(shù)或使用經(jīng)驗參數(shù)、不依賴語料庫的規(guī)模、無需詞性標(biāo)注等其他自然語言處理技術(shù);時間性能優(yōu)秀,對一般長度的句子對,在當(dāng)前主流多核PC機(jī)上獲得準(zhǔn)實時計算效率。
【專利說明】一種基于信息量的句子相似度計算方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種句子相似度計算方法,具體涉及一種基于信息量的句子相似度計 算方法,屬于自然語言處理【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 句子或短文本相似度計算是自然語言處理的一項重要研究內(nèi)容,近年來在信息檢 索、機(jī)器翻譯、問答系統(tǒng)、自動文摘等應(yīng)用領(lǐng)域中的作用越來越重要。傳統(tǒng)的方法多采用文 檔相似度的計算方法,僅把句子詞語看成相互沒有關(guān)聯(lián)的無意義符號,對于計算含有少量 詞語的句子不夠精確。而目前常用的混合方法通常需要在相關(guān)數(shù)據(jù)集上訓(xùn)練參數(shù)或者使用 經(jīng)驗參數(shù),其缺點(diǎn)是依賴訓(xùn)練數(shù)據(jù)集,通用性不強(qiáng)。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明方法的目的在于解決上述問題,提供一種基于信息量的句子相似度計算方 法,通過使用信息量這個語言的本質(zhì)屬性,使用容斥原理獲得精確的多個詞語的總信息量, 從而得到更接近于人主觀判斷得到的句子相似度結(jié)果。
[0004] 本發(fā)明方法的思想是首先通過兩個句子詞語間具有最大的信息量的概念確定詞 語的詞義;然后利用語義網(wǎng)(比如WordNet)的層次結(jié)構(gòu)和語料庫(比如BNC語料庫或 Brown語料庫等)統(tǒng)計來計算詞語的信息量和多詞語間的公共信息量;接下來應(yīng)用組合數(shù) 學(xué)中容斥原理計算多個詞語的總信息量,從而分別得到兩個句子各自的信息量,以及兩個 句子總共的信息量;最后根據(jù)Jaccard相似度原理定義并計算出句子的相似度。
[0005] 為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案是:
[0006] -種基于信息量的句子相似度計算方法,包括以下步驟:
[0007] 步驟1 :輸入待計算的兩個句子sa和sb,記句子sa和sb分別為 :
【權(quán)利要求】
1. 一種基于信息量的句子相似度計算方法,其特征在于,包括以下步驟: 步驟1 :輸入待計算的兩個句子Sa和sb,記句子sa和sb分別為 :
其中,wf和wi分別表示句子sa和sb的第i個詞語,η和m分別表示句子sa和s b的 詞語數(shù); 步驟2 :對輸入句子中的詞語進(jìn)行詞義選擇,過程如下: 詞語wf的詞義按照式1確定: [式1]
其中,subsumh, c2)為在語義網(wǎng)中包含概&cdPc2的所有概念集合,《皿作吵'.)表示 在語義網(wǎng)中所有包含詞語< 的概念的集合,cons印ts(sb)表示語義網(wǎng)中包含句子sb中的所 有詞語的概念的集合,P (c)為概念c在語料庫中的頻率,特殊的,如果P (c)為0,則logP (c) 為0, P(c)的值按照式2確定: [式2] P(c) = Xwewords(c)count (w)/N 其中W〇rdS(C)表示語義網(wǎng)中概念c以及概念c的所有子概念中的所有詞語的集合, count (w)為詞語w在語料庫中的頻數(shù),N表示語義網(wǎng)中全部概念的頻數(shù)之和,而每個概念的 頻數(shù)為該概念中全部詞語在語料庫中的總頻數(shù)之和; 同理,將式1中wf替換成w丨,consepts(sb)替換成consepts(sa),可得句子s b中第i 個詞語的詞義cf; 詞義確定后句子83和sb可以記為:
步驟3 :根據(jù)步驟2所得確定詞義的句子,應(yīng)用組合數(shù)學(xué)中的容斥原理計算句子sa和sb 各自的信息量以及二者的總信息量,計算過程如下: 句子sa的信息量IC (sa)的計算公式如式3所示: [式3]
其中,cwwww/cg',<,···,<)表示通過語義網(wǎng)的層次結(jié)構(gòu)和語料庫統(tǒng)計共同構(gòu) 建的語義信息空間,《講,<;,···,<)根據(jù)式4計算: [式4]
其中,?-_(£: C …,C )為在語義網(wǎng)中包含概念",·.·,<的所有概念的集 ll l2 lk ll l2 lk 合; 同理,把式3和式4中所有字母a替換成b,n替換成m,可得句子sb的信息量; 把句子83和sb中所有不重復(fù)詞語的集合看成一個新的句子,則通過式5得到句子\和 sb的總信息量IC(sa U sb): [式5]
其中,P為句子sa和sb不重復(fù)的詞語的總數(shù); 步驟4 :由并集和交集之間的關(guān)系定義兩個句子sa和sb的公共信息量 COMMONIC (sa,sb),計算公式如式6所示: [式6] COMMONIC (sa, sb) = IC(sa)+IC(sb)-IC(sa U sb) 步驟5 :根據(jù)Jaccard相關(guān)性原理,定義句子sa和sb的相似度sim(sa, sb),計算公式如 式7所示: [式7]
步驟6 :輸出兩個句子的相似度sim(sa, sb)。
【文檔編號】G06F17/30GK104090918SQ201410268361
【公開日】2014年10月8日 申請日期:2014年6月16日 優(yōu)先權(quán)日:2014年6月16日
【發(fā)明者】吳昊, 黃河燕 申請人:北京理工大學(xué)