一種句子相似度的計(jì)算方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種句子相似度的計(jì)算方法及系統(tǒng),通過(guò)利用word2vec算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ)料庫(kù)中所有詞語(yǔ)的向量;對(duì)待計(jì)算相似度的兩個(gè)句子進(jìn)行智能分詞,并從語(yǔ)料庫(kù)中查找出所述第一句子和第二句子中各個(gè)分詞所對(duì)應(yīng)的向量,依次計(jì)算第一句子每個(gè)分詞與第二句子各個(gè)分詞之間的相似度;獲取分詞之間的相似度超過(guò)預(yù)定閾值的兩組分詞集合,并根據(jù)所述每組分詞位于句子位置的偏移量,計(jì)算每組分詞在整個(gè)句子中相似度的貢獻(xiàn)值;將兩個(gè)句子中分詞的貢獻(xiàn)值相加,得到句子之間的相似度。本發(fā)明所述方法及系統(tǒng)利用word2vec計(jì)算詞語(yǔ)的語(yǔ)義相似度,通過(guò)大量語(yǔ)料庫(kù)自動(dòng)訓(xùn)練,為更為準(zhǔn)確的進(jìn)行信息檢索、文檔分類或者回答系統(tǒng)提供方便。
【專利說(shuō)明】
-種句子相似度的計(jì)算方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及語(yǔ)言信息處理領(lǐng)域,尤其設(shè)及的是一種句子相似度的計(jì)算方法及系 統(tǒng)。
【背景技術(shù)】
[0002] 文本相似度計(jì)算在自然語(yǔ)言處理領(lǐng)域是一個(gè)重要部分,在信息檢索,文檔分類,問(wèn) 答系統(tǒng)等有重要的作用。文本相似度根據(jù)文本長(zhǎng)度又可W分為長(zhǎng)文本(篇章級(jí)別),短文本 (語(yǔ)句級(jí)別,詞語(yǔ)級(jí)別)相似度計(jì)算。長(zhǎng)度不同的文本使得各種計(jì)算方法各有優(yōu)劣。對(duì)于句子 級(jí)別的相似度,不僅要考慮到句子內(nèi)各個(gè)詞語(yǔ)的含義,還要考慮到詞語(yǔ)組合的順序,使得該 類研究比較復(fù)雜。
[0003] 傳統(tǒng)計(jì)算句子相似度方法主要是將句子向量化,通過(guò)對(duì)每個(gè)詞語(yǔ)在句子中的權(quán) 重,構(gòu)成權(quán)重向量,進(jìn)而計(jì)算向量之間的相似度。還有僅僅考慮句子文本的編輯距離 化evenshtein距離),該類計(jì)算方法沒(méi)有考慮到詞語(yǔ)的含義。從句法分析著手的方法,通過(guò) 發(fā)現(xiàn)句子中詞語(yǔ)之間的語(yǔ)法關(guān)系來(lái)計(jì)算其相似度,該類方法考慮到詞語(yǔ)的語(yǔ)義,也更能體 現(xiàn)句子的語(yǔ)義相似度,但是該類方法需要提前人工構(gòu)建大量的語(yǔ)法訓(xùn)練庫(kù),工作量大。
[0004] 因此,現(xiàn)有技術(shù)有待于進(jìn)一步的改進(jìn)。
【發(fā)明內(nèi)容】
[0005] 鑒于上述現(xiàn)有技術(shù)中的不足之處,本發(fā)明的目的在于為用戶提供一種句子相似度 的計(jì)算方法及系統(tǒng),克服現(xiàn)有技術(shù)中句子相似度計(jì)算中工作量大或者相似度準(zhǔn)確率低的缺 陷。
[0006] 本發(fā)明解決技術(shù)問(wèn)題所采用的技術(shù)方案如下:
[0007] -種句子相似度的計(jì)算方法,其中,包括W下步驟:
[000引步驟A、利用word2vec算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ)料庫(kù)中所有詞 語(yǔ)的向量;
[0009] 步驟B、對(duì)待計(jì)算相似度的第一句子和第二句子進(jìn)行智能分詞,并從語(yǔ)料庫(kù)中查找 出所述第一句子和第二句子中各個(gè)分詞所對(duì)應(yīng)的向量,依次計(jì)算第一句子中每個(gè)分詞與第 二句子各個(gè)分詞之間的相似度;
[0010] 步驟C、獲取第一句子和第二句子中分詞的相似度超過(guò)預(yù)定闊值的兩組分詞集合, 并根據(jù)所述每組分詞位于句子位置的偏移量,計(jì)算每組分詞在整個(gè)句子中相似度的貢獻(xiàn) 值;
[0011] 步驟D、將第一句子和第二句子中分詞的貢獻(xiàn)值相加后取平均,得到所述第一句子 與第二句子之間的相似度。
[0012] 所述句子相似度的計(jì)算方法,其中,所述步驟A之前還包括:
[0013] AO、通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取海量詞語(yǔ),組建語(yǔ)料庫(kù)。
[0014] 所述句子相似度的檢測(cè)方法,其特征在于,所述步驟D還包括:
[0015] Dl、獲取第一句子中分詞相當(dāng)于第二句子中分詞的第一相似度貢獻(xiàn)值,W及第二 句子中分詞相對(duì)于第一句子中分詞的第二相似度貢獻(xiàn)值;
[0016] D2、計(jì)算所述第一相似度貢獻(xiàn)值和第二相似度貢獻(xiàn)值所對(duì)應(yīng)的第一相似度和第二 相似度,取所述第一相似度和第二相似度的平均值作為所述第一句子和第二句子最終的相 似度。
[0017] 所述句子相似度的計(jì)算方法,其中,所述步驟B還包括:
[0018] 通過(guò)W下公式計(jì)算分詞之間的相似度:
[0019]
[0020] 其中,Vii和VW代表兩個(gè)待計(jì)算相似度分詞的向量,i和j表示所述兩個(gè)待計(jì)算相似 度分詞分別排列在第一句子第i位置和第二句子的第j位置,Sim(wordi,wor山)代表待計(jì)算 相似度分詞的相似度。
[0021] 所述句子相似度的計(jì)算方法,其中,所述步驟C中相似度貢獻(xiàn)值的計(jì)算公式為:
[0022]
[0023] 其中,Sim(WAi,WbO為第一句子和第二句子中任意兩個(gè)分詞Wm和WBk之間的相似度;
[0024] M(A,i,B) =化向111(胖41,胖8〇>〇},0<〇<1為第二句子中第1^位分詞胖81<與第一句子 中第i位分詞Wm相似度大于預(yù)設(shè)闊值的分詞位置集合;
[00巧]
對(duì)第二句子B中序號(hào)在M(A,i,B) 的分詞與第一句子A中分詞Wm的偏移量;N為所述第一句子和第二句子中含有的分詞數(shù)中較 大的分詞數(shù)。
[0026] -種句子相似度的計(jì)算系統(tǒng),其中,包括:
[0027] 語(yǔ)料庫(kù)訓(xùn)練模塊,用于利用word2vec算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ) 料庫(kù)中所有詞語(yǔ)的向量;
[0028] 詞相似度計(jì)算模塊,用于對(duì)待計(jì)算相似度的第一句子和第二句子進(jìn)行智能分詞, 并從語(yǔ)料庫(kù)中查找出所述第一句子和第二句子中各個(gè)分詞所對(duì)應(yīng)的向量,依次計(jì)算第一句 子每個(gè)分詞與第二句子各個(gè)分詞之間的相似度;
[0029] 貢獻(xiàn)值計(jì)算模塊,用于獲取第一句子和第二句子中分詞的相似度超過(guò)預(yù)定闊值的 兩組分詞集合,并根據(jù)所述每組分詞位于句子位置的偏移量,計(jì)算每組分詞在整個(gè)句子中 相似度的貢獻(xiàn)值;
[0030] 句間相似度計(jì)算模塊,用于將第一句子和第二句子中分詞的貢獻(xiàn)值相加后取平 均,得到所述第一句子與第二句子之間的相似度。
[0031] 所述句子相似度的計(jì)算系統(tǒng),其中,包括:
[0032] 語(yǔ)料庫(kù)組建模塊,用于通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取海量詞語(yǔ),組建語(yǔ)料庫(kù)。
[0033] 所述句子相似度的計(jì)算系統(tǒng),其中,所述句間相似度計(jì)算模塊還包括:
[0034] 貢獻(xiàn)值獲取單元,用于獲取第一句子中分詞相當(dāng)于第二句子中分詞的第一相似度 貢獻(xiàn)值,W及第二句子中分詞相對(duì)于第一句子中分詞的第二相似度貢獻(xiàn)值;
[0035] 相似度平均單元,用于計(jì)算所述第一相似度貢獻(xiàn)值和第二相似度貢獻(xiàn)值所對(duì)應(yīng)的 第一相似度和第二相似度,取所述第一相似度和第二相似度的平均值作為所述第一句子和 第二句子最終的相似度。
[0036] 所述句子相似度的計(jì)算系統(tǒng),其中,所述貢獻(xiàn)值計(jì)算模塊,用于通過(guò)W下公式計(jì)算 分詞之間的相似度:
[0037]
[0038] 其中,Vii和VW代表兩個(gè)待計(jì)算相似度分詞的向量,i和j表示所述兩個(gè)待計(jì)算相似 度分詞分別排列在第一句子第i位置和第二句子的第j位置,Sim(wordi,wor山)代表待計(jì)算 相似度分詞的相似度。
[0039] 所述句子相似度的計(jì)算系統(tǒng),其中,所述句間相似度計(jì)算模塊中相似度貢獻(xiàn)值得 計(jì)算公式為:
[0040]
[004"1]其中,Sim(WAi, WbO為第一句子和第二句子中任意兩個(gè)分詞WAi和WBk之間的相似度; [00創(chuàng) 1(44,8)=化向111(胖41,胖80>0},0<0<1為第二句子中第1^位分詞胖81<與第一句子 中第i位分詞Wm相似度大于預(yù)設(shè)闊值的分詞位置集合;
[0043]
為第二句子B中序號(hào)在M(A,i,B) 的分詞與第一句子A中分詞Wm的偏移量;N為所述第一句子和第二句子中含有的分詞數(shù)中較 大的分詞數(shù)。
[0044] 有益效果,本發(fā)明提供了一種句子相似度的計(jì)算方法及系統(tǒng),通過(guò)利用word2vec 算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ)料庫(kù)中所有詞語(yǔ)的向量;對(duì)待計(jì)算相似度的第 一句子和第二句子進(jìn)行智能分詞,并從語(yǔ)料庫(kù)中查找出所述第一句子和第二句子中各個(gè)分 詞所對(duì)應(yīng)的向量,依次計(jì)算第一句子每個(gè)分詞與第二句子各個(gè)分詞之間的相似度;獲取分 詞之間的相似度超過(guò)預(yù)定闊值的兩組分詞集合,并根據(jù)所述每組分詞位于句子位置的偏移 量,計(jì)算每組分詞在整個(gè)句子中相似度的貢獻(xiàn)值;將第一句子和第二句子中分詞的貢獻(xiàn)值 相加,得到第一句子和第二句子之間的相似度。本發(fā)明所述方法及系統(tǒng)利用word2vec計(jì)算 詞語(yǔ)的語(yǔ)義相似度,較少的人工干預(yù),通過(guò)大量語(yǔ)料庫(kù)自動(dòng)訓(xùn)練,為更為準(zhǔn)確的進(jìn)行信息檢 索、文檔分類或者回答系統(tǒng)提供方便。
【附圖說(shuō)明】
[0045] 圖1是本發(fā)明的一種句子相似度的計(jì)算方法步驟流程圖。
[0046] 圖2是本發(fā)明的一種句子相似度的計(jì)算系統(tǒng)的原理結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0047] 為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,W下參照附圖并舉實(shí)施例對(duì) 本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,并不用 于限定本發(fā)明。
[004引本發(fā)明提供了 一種句子相似度的計(jì)算方法,如圖1所示,所述方法包括:
[00例 S1、利用word2vec算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ)料庫(kù)中所有詞語(yǔ)的 向量。
[(K)加]語(yǔ)料庫(kù)訓(xùn)練
[0051 ] word2vec訓(xùn)練獲取詞語(yǔ)的向量,訓(xùn)練的語(yǔ)料庫(kù)越大所獲取的詞向量也越準(zhǔn)確;該 步驟的語(yǔ)料庫(kù)獲取可W通過(guò)網(wǎng)上爬取相關(guān)新聞資訊等作為訓(xùn)練語(yǔ)料庫(kù)。
[0052] 可W想到的是,本領(lǐng)域技術(shù)人員可W根據(jù)需要,在設(shè)置專用某一個(gè)技術(shù)領(lǐng)域的語(yǔ) 料庫(kù),只通過(guò)獲取訓(xùn)練包含某一個(gè)或者多個(gè)領(lǐng)域可能會(huì)使用的詞語(yǔ)的語(yǔ)料庫(kù),來(lái)提高訓(xùn)練 的效率和提高匹配詞語(yǔ)向量的準(zhǔn)確度,實(shí)現(xiàn)更好的計(jì)算句子之間的相似度。
[0053] S2、對(duì)待計(jì)算相似度的第一句子和第二句子進(jìn)行智能分詞,并從語(yǔ)料庫(kù)中查找出 所述第一句子和第二句子中各個(gè)分詞所對(duì)應(yīng)的向量,依次計(jì)算第一句子每個(gè)分詞與第二句 子各個(gè)分詞之間的相似度。
[0054] 通過(guò)訓(xùn)練得到的結(jié)果格式: 「nnc;c;1
[0056] L為每個(gè)詞向量的長(zhǎng)度。
[0057] 通過(guò)上述訓(xùn)練結(jié)果,定義詞與詞之間的相似度如下:
[0化引
Cl)
[0059] 其中,Vii和VW代表兩個(gè)待計(jì)算相似度分詞的向量,i和j表示所述兩個(gè)待計(jì)算相似 度分詞分別排列在第一句子第i位置和第二句子的第j位置,Sim(wordi,wor山)代表待計(jì)算 相似度分詞的相似度。
[0060] 分別將第一句子和第二句子中含有的詞進(jìn)行一一智能劃分出,并從上述步驟Sl中 訓(xùn)練好的語(yǔ)料庫(kù)中一一獲取劃分出的分詞相對(duì)應(yīng)的向量,并使用上式(1)計(jì)算兩個(gè)句子之 間每個(gè)分詞之間的相似度。
[0061] S3、獲取第一句子和第二句子中分詞的相似度超過(guò)預(yù)定闊值的兩組分詞集合,并 根據(jù)所述每組分詞位于句子位置的偏移量,計(jì)算每組分詞在整個(gè)句子中相似度的貢獻(xiàn)值。
[0062] 分別計(jì)算第一句子中每個(gè)分詞與第二句子中各個(gè)分詞之間的相似度,獲取相似度 超過(guò)預(yù)定闊值的兩組分詞集合,所述預(yù)定闊值可W根據(jù)需要自定義設(shè)置,也可W系統(tǒng)默認(rèn) 設(shè)置,較佳的,所述預(yù)定闊值可W設(shè)置為:70%-85%之間的任何值,優(yōu)選的,可W設(shè)置為 75%。
[0063] 具體的,本步驟中相似度貢獻(xiàn)值得計(jì)算公式為:
[0064] ,?
[0065] 其中,Sim(WAi,WbO為第一句子和第二句子中任意兩個(gè)分詞Wm和化k之間的相似度; M(A,i,B)=化I Sim(WAi,WBk) >a},0<〇< 1為第二句子中第k位分詞WBk與第一句子中第i位 分詞Wm相似度大于預(yù)設(shè)闊值的分詞位置集合;
[0066]
%第二句子B中序號(hào)在M(A,i,B) 的分詞與第一句子A中分詞Wm的偏移量;N為所述第一句子和第二句子中含有的分詞數(shù)中較 大的分詞數(shù)。
[0067] 本步驟中,首先獲取相似度超過(guò)預(yù)定闊值的兩組分詞集合,然后根據(jù)所述兩組分 詞集合中兩組分詞各個(gè)在句子中位置的偏移量計(jì)算該分詞為該句子貢獻(xiàn)的相似度分量,最 后再將運(yùn)個(gè)句子中分詞貢獻(xiàn)的相似度分量進(jìn)行相加后,得到運(yùn)個(gè)句子相對(duì)于另一個(gè)句子的 相似度。
[006引具體的,首先記{Wai,. . .,Wm} IWbi, . . .,WBn}分別為句子A,B句子分詞后的按先后順 序排列的詞語(yǔ),記第一句子A,第二句子B任意兩個(gè)分詞的相似度記為Sim(WAi,WBk);
[0069] M(A,i,B) = {k|Sim(WAi,WBk)>a},0<a<l, (2)
[0070] M(A,i,B)為句子B中分詞WBk與句子A中第i個(gè)詞語(yǔ)WAi相似度大于a的詞語(yǔ)位置集 合。
[0071 ] 并且記B中序號(hào)在M(A, i ,B)中的分詞與A中分詞WAi的偏移量為:
[0075] 其中,C(A,i,B)為第一句子A中分詞Al為句子A相對(duì)于第二句子B總體相似度的貢
[0072] )
[0073]
[0074] W 獻(xiàn)值,其中N=max(m,n),為第一句子和第二句子中劃分出的分詞數(shù)較大的一個(gè)。
[0076] S4、將第一句子和第二句子中分詞的貢獻(xiàn)值相加后取平均,得到所述第一句子與 第二句子之間的相似度。
[0077] 在上述步驟S3中計(jì)算出了第一句子或者第二句子中分詞為所屬句子提供的相似 度貢獻(xiàn)值,則將每個(gè)分詞所提供的相似度貢獻(xiàn)值相加,得到句子與句子之間的相似度值。 [007引因此,定義:
[0079]
(5)
[0080] 為句子A相對(duì)于句子B的相似度,它表征A相對(duì)于B的相似程度,用同樣的方法計(jì)算 得到Sim(B,A),它表征B相對(duì)于A的相似程度。一般情況下,Sim(A,B)聲Sim(B,A),最后定義 句子A,B的總體相似度為:
[0081 ]
(6)
[0082] 也即是,為了更準(zhǔn)確的得到第一句子和第二句子的相似度,本步驟取兩個(gè)句子相 對(duì)應(yīng)相似度的平均值。
[0083] 為了實(shí)現(xiàn)更好的組建語(yǔ)料庫(kù),所述步驟Sl之前還包括:
[0084] SO、通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取海量詞語(yǔ),組建語(yǔ)料庫(kù)。由于網(wǎng)絡(luò)上含有海量詞語(yǔ),而且還 是實(shí)時(shí)更新,因此從網(wǎng)絡(luò)中可W獲取較多較新的詞語(yǔ)信息,為準(zhǔn)確的查找出待計(jì)算相似度 句子中分詞的向量提供技術(shù)支持。
[0085] 所述步驟S4還包括:
[0086] S41、獲取第一句子中分詞相當(dāng)于第二句子中分詞的第一相似度貢獻(xiàn)值,W及第二 句子中分詞相對(duì)于第一句子中分詞的第二相似度貢獻(xiàn)值。
[0087] S42、計(jì)算所述第一相似度貢獻(xiàn)值和第二相似度貢獻(xiàn)值所對(duì)應(yīng)的第一相似度和第 二相似度,取所述第一相似度和第二相似度的平均值作為所述第一句子和第二句子最終的 相似度。
[0088] 由于第一句子中分詞相對(duì)于第二句子中分詞在計(jì)算相似度貢獻(xiàn)值時(shí),排列的順序 不同,其相似度貢獻(xiàn)值可能不同,因此為了更加準(zhǔn)確的獲取第一句子與第二句子的相似度, 本步驟中分別計(jì)算第一句子相對(duì)于第二句子的相似度和第二句子相對(duì)于第一句子的相似 度,并取兩者的平均值作為第一句子和第二句子的最終相似度。
[0089] 下面W網(wǎng)絡(luò)商品評(píng)價(jià)相似度計(jì)算為例,對(duì)本發(fā)明所述方法及系統(tǒng)做進(jìn)一步的說(shuō) 明。
[0090] 計(jì)算評(píng)價(jià)A:"送貨員也很贊",B:"快遞服務(wù)很給力"的相似度。
[0091] 分詞后分別為:A("送貨員","也","很","贊"),B("快遞","服務(wù)","很","給力"), 通過(guò)網(wǎng)上爬取獲得相關(guān)評(píng)價(jià)語(yǔ)料庫(kù),通過(guò)word2vec訓(xùn)練,獲得詞語(yǔ)間相似度如下。
[0092]
[0093]
[0094]
[OOM]通過(guò)公式(4)可W計(jì)算得到貢獻(xiàn)值矩陣為:
[0096]
[0097] 同理可計(jì)算得到:
[00981
[0104] 在上述方法的基礎(chǔ)上,本發(fā)明還提供了一種句子相似度的計(jì)算系統(tǒng),如圖2所示, 所述系統(tǒng)包括:
[0105] 語(yǔ)料庫(kù)訓(xùn)練模塊100,用于利用word2vec算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得 到語(yǔ)料庫(kù)中所有詞語(yǔ)的向量;其功能如步驟Sl所述。
[0106] 詞相似度計(jì)算模塊200,用于對(duì)待計(jì)算相似度的第一句子和第二句子進(jìn)行智能分 詞,并從語(yǔ)料庫(kù)中查找出所述第一句子和第二句子中各個(gè)分詞所對(duì)應(yīng)的向量,依次計(jì)算第 一句子每個(gè)分詞與第二句子各個(gè)分詞之間的相似度;其功能如步驟S2所述。
[0107] 貢獻(xiàn)值計(jì)算模塊300,用于獲取第一句子和第二句子中分詞的相似度超過(guò)預(yù)定闊 值的兩組分詞集合,并根據(jù)所述每組分詞位于句子位置的偏移量,計(jì)算每組分詞在整個(gè)句 子中相似度的貢獻(xiàn)值;其功能如步驟S3所述。
[0108] 句間相似度計(jì)算模塊400,用于將第一句子和第二句子中分詞的貢獻(xiàn)值相加后取 平均,得到所述第一句子與第二句子之間的相似度,其功能如步驟S4所述。
[0109] 所述句子相似度的計(jì)算系統(tǒng),還包括:
[0110] 語(yǔ)料庫(kù)組建模塊,用于通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取海量詞語(yǔ),組建語(yǔ)料庫(kù)。
[0111] 所述句間相似度計(jì)算模塊還包括:
[0112] 貢獻(xiàn)值獲取單元,用于獲取第一句子中分詞相當(dāng)于第二句子中分詞的第一相似度 貢獻(xiàn)值,W及第二句子中分詞相對(duì)于第一句子中分詞的第二相似度貢獻(xiàn)值;
[0113] 相似度平均單元,用于計(jì)算所述第一相似度貢獻(xiàn)值和第二相似度貢獻(xiàn)值所對(duì)應(yīng)的 第一相似度和第二相似度,取所述第一相似度和第二相似度的平均值作為所述第一句子和 第二句子最終的相似度。
[0114] 所述貢獻(xiàn)值計(jì)算模塊,用于通過(guò)W下公式計(jì)算分詞之間的相似度:
[0115]
[0116] 其中,Vii和VW代表兩個(gè)待計(jì)算相似度分詞的向量,i和j表示所述兩個(gè)待計(jì)算相似 度分詞分別排列在第一句子第i位置和第二句子的第j位置,Sim(wordi,wor山)代表待計(jì)算 相似度分詞的相似度。
[0117] 所述句間相似度計(jì)算模塊中相似度貢獻(xiàn)值得計(jì)算公式為:
[011 引
[0119] 其中,Sim(WAi,WbO為第一句子和第二句子中任意兩個(gè)分詞Wm和WBk之間的相似度;
[0120] M(A,i,B) =化向111(胖41,胖8〇>〇},0<〇<1為第二句子中第1^位分詞胖81<與第一句子 中第i位分詞Wm相似度大于預(yù)設(shè)闊值的分詞位置集合;
[0121]
為第二句子B中序號(hào)在M(A,i,B) 的分詞與第一句子A中分詞Wm的偏移量;N為所述第一句子和第二句子中含有的分詞數(shù)中較 大的分詞數(shù)。
[0122] 有益效果,本發(fā)明提供了一種句子相似度的計(jì)算方法及系統(tǒng),通過(guò)利用word2vec 算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ)料庫(kù)中所有詞語(yǔ)的向量;對(duì)待計(jì)算相似度的第 一句子和第二句子進(jìn)行智能分詞,并從語(yǔ)料庫(kù)中查找出所述第一句子和第二句子中各個(gè)分 詞所對(duì)應(yīng)的向量,依次計(jì)算第一句子每個(gè)分詞與第二句子各個(gè)分詞之間的相似度;獲取分 詞之間的相似度超過(guò)預(yù)定闊值的兩組分詞集合,并根據(jù)所述每組分詞位于句子位置的偏移 量,計(jì)算每組分詞在整個(gè)句子中相似度的貢獻(xiàn)值;將第一句子和第二句子中分詞的貢獻(xiàn)值 相加,得到第一句子和第二句子之間的相似度。本發(fā)明所述方法及系統(tǒng)利用word2vec計(jì)算 詞語(yǔ)的語(yǔ)義相似度,較少的人工干預(yù),通過(guò)大量語(yǔ)料庫(kù)自動(dòng)訓(xùn)練,為更為準(zhǔn)確的進(jìn)行信息檢 索、文檔分類或者回答系統(tǒng)提供方便。
[0123] 可W理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可W根據(jù)本發(fā)明的技術(shù)方案及其發(fā) 明構(gòu)思加 W等同替換或改變,而所有運(yùn)些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保 護(hù)范圍。
【主權(quán)項(xiàng)】
1. 一種句子相似度的計(jì)算方法,其特征在于,包括以下步驟: 步驟A、利用W〇rd2vec算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ)料庫(kù)中所有詞語(yǔ)的 向量; 步驟B、對(duì)待計(jì)算相似度的第一句子和第二句子進(jìn)行智能分詞,并從語(yǔ)料庫(kù)中查找出所 述第一句子和第二句子中各個(gè)分詞所對(duì)應(yīng)的向量,依次計(jì)算第一句子中每個(gè)分詞與第二句 子各個(gè)分詞之間的相似度; 步驟C、獲取第一句子和第二句子中分詞的相似度超過(guò)預(yù)定閾值的兩組分詞集合,并根 據(jù)所述每組分詞位于句子位置的偏移量,計(jì)算每組分詞在整個(gè)句子中相似度的貢獻(xiàn)值; 步驟D、將第一句子和第二句子中分詞的貢獻(xiàn)值相加后取平均,得到所述第一句子與第 二句子之間的相似度。2. 根據(jù)權(quán)利要求1所述句子相似度的計(jì)算方法,其特征在于,所述步驟A之前還包括: AO、通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取海量詞語(yǔ),組建語(yǔ)料庫(kù)。3. 根據(jù)權(quán)利要求1所述句子相似度的檢測(cè)方法,其特征在于,所述步驟D還包括: D1、獲取第一句子中分詞相當(dāng)于第二句子中分詞的第一相似度貢獻(xiàn)值,以及第二句子 中分詞相對(duì)于第一句子中分詞的第二相似度貢獻(xiàn)值; D2、計(jì)算所述第一相似度貢獻(xiàn)值和第二相似度貢獻(xiàn)值所對(duì)應(yīng)的第一相似度和第二相似 度,取所述第一相似度和第二相似度的平均值作為所述第一句子和第二句子最終的相似 度。4. 根據(jù)權(quán)利要求1所述句子相似度的計(jì)算方法,其特征在于,所述步驟B還包括: 通過(guò)以下公式計(jì)算分詞之間的相似度:其中,Vii和Vji代表兩個(gè)待計(jì)算相似度分詞的向量,i和j表示所述兩個(gè)待計(jì)算相似度分 詞分別排列在第一句子第i位置和第二句子的第j位置,Sim(wordi,wordj)代表待計(jì)算相似 度分詞的相似度。5. 根據(jù)權(quán)利要求1所述句子相似度的計(jì)算方法,其特征在于,所述步驟C中相似度貢獻(xiàn) 值的計(jì)算公式為:其中,Sim(WAi,WbiO為第一句子和第二句子中任意兩個(gè)分詞A和B之間的相似度; 1(八4,8)=仏|3址(^^,恥1〇>€1},0<€[<1為第二句子中分詞與第一句子中第1位分詞 Wm相似度大于預(yù)設(shè)閾值的分詞位置集合;為第二句子B中序號(hào)在M(A,i,B)的分 詞與第一句子A中分詞Wm的偏移量;N為所述第一句子和第二句子中含有的分詞數(shù)中較大的 分詞數(shù)。6. -種句子相似度的計(jì)算系統(tǒng),其特征在于,包括: 語(yǔ)料庫(kù)訓(xùn)練模塊,用于利用w〇rd2vec算法,對(duì)預(yù)先建立的語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,得到語(yǔ)料庫(kù) 中所有詞語(yǔ)的向量; 詞相似度計(jì)算模塊,用于對(duì)待計(jì)算相似度的第一句子和第二句子進(jìn)行智能分詞,并從 語(yǔ)料庫(kù)中查找出所述第一句子和第二句子中各個(gè)分詞所對(duì)應(yīng)的向量,依次計(jì)算第一句子每 個(gè)分詞與第二句子各個(gè)分詞之間的相似度; 貢獻(xiàn)值計(jì)算模塊,用于獲取第一句子和第二句子中分詞的相似度超過(guò)預(yù)定閾值的兩組 分詞集合,并根據(jù)所述每組分詞位于句子位置的偏移量,計(jì)算每組分詞在整個(gè)句子中相似 度的貢獻(xiàn)值; 句間相似度計(jì)算模塊,用于將第一句子和第二句子中分詞的貢獻(xiàn)值相加后取平均,得 到所述第一句子與第二句子之間的相似度。7. 根據(jù)權(quán)利要求6所述句子相似度的計(jì)算系統(tǒng),其特征在于,所述計(jì)算系統(tǒng)還包括: 語(yǔ)料庫(kù)組建模塊,用于通過(guò)網(wǎng)絡(luò)爬蟲(chóng)獲取海量詞語(yǔ),組建語(yǔ)料庫(kù)。8. 根據(jù)權(quán)利要求6所述句子相似度的計(jì)算系統(tǒng),其特征在于,所述句間相似度計(jì)算模塊 還包括: 貢獻(xiàn)值獲取單元,用于獲取第一句子中分詞相當(dāng)于第二句子中分詞的第一相似度貢獻(xiàn) 值,以及第二句子中分詞相對(duì)于第一句子中分詞的第二相似度貢獻(xiàn)值; 相似度平均單元,用于計(jì)算所述第一相似度貢獻(xiàn)值和第二相似度貢獻(xiàn)值所對(duì)應(yīng)的第一 相似度和第二相似度,取所述第一相似度和第二相似度的平均值作為所述第一句子和第二 句子最終的相似度。9. 根據(jù)權(quán)利要求6所述句子相似度的計(jì)算系統(tǒng),其特征在于,所述貢獻(xiàn)值計(jì)算模塊,通 過(guò)以下公式計(jì)算分詞之間的相似度:其中,Vii和Vji代表兩個(gè)待計(jì)算相似度分詞的向量,i和j表示所述兩個(gè)待計(jì)算相似度分 詞分別排列在第一句子第i位置和第二句子的第j位置,Sim(wordi,wordj)代表待計(jì)算相似 度分詞的相似度。10. 根據(jù)權(quán)利要求6所述句子相似度的計(jì)算系統(tǒng),其特征在于,所述句間相似度計(jì)算模 塊中相似度貢獻(xiàn)值得計(jì)算公式為:其中,Sim(WAi,WbiO為第一句子和第二句子中任意兩個(gè)分詞A和B之間的相似度; 1(八4,8)=仏|3址(^^,恥1〇>€1},0<€[<1為第二句子中分詞與第一句子中第1位分詞 Wm相似度大于預(yù)設(shè)閾值的分詞位置集合;J第二句子B中序號(hào)在M(A,i,B)的分 詞與第一句子A中分詞Wm的偏移量;N為所述第一句子和第二句子中含有的分詞數(shù)中較大的 分詞數(shù)。
【文檔編號(hào)】G06F17/27GK106021223SQ201610305004
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年5月9日
【發(fā)明人】吳成龍
【申請(qǐng)人】Tcl集團(tuán)股份有限公司