两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種通過深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行短文本間相似度計算的方法與流程

文檔序號:12464620閱讀:1631來源:國知局
一種通過深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行短文本間相似度計算的方法與流程

本發(fā)明涉及對文本間相似度的計算方法,具體涉及一種通過深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行短文本間相似度計算的方法。



背景技術(shù):

隨著社區(qū)問答類網(wǎng)站的發(fā)展,大量不同類型的問題和回答在一起,讓用戶很難找到有用或感興趣的內(nèi)容。解決上述問題的方法之一是對社區(qū)問答系統(tǒng)的問題和回答進(jìn)行分類,方便用戶直接在自己感興趣的話題中進(jìn)行搜索和瀏覽。而人工對這些問題和回答進(jìn)行分類,需要他們在知識領(lǐng)域具有很強的專業(yè)知識,同時會消耗相當(dāng)大的時間和精力。而且隨著社區(qū)問答系統(tǒng)的廣泛應(yīng)用,問題和回答出現(xiàn)的速度逐步加快,人工標(biāo)注的速度無法適應(yīng)問題和回答出現(xiàn)的速度。為此,針對社區(qū)問答類系統(tǒng)的大量碎片化知識,尋求一種有效的短文本表示方法并對文本間進(jìn)行相似度計算是一個緊迫的任務(wù)。

現(xiàn)有技術(shù)中公開的,專利號為CN201310661778.2的中國專利“基于語義的文本相似度計算方法”包括三個步驟:(1)對文本集進(jìn)行預(yù)處理,提取出初始特征詞,將其表示成由關(guān)鍵詞和概念兩部分組成的向量模型;(2)然后分別計算關(guān)鍵詞部分的語義相似度和概念部分的語義相似度,通過對兩部分進(jìn)行求和最終得到文本的語義相似度。

上述專利通過分別計算關(guān)鍵詞部分的語義相似度和概念部分的語義相似度來計算文本之間的相似度,關(guān)鍵詞和概念不能代替全部文本。因此,上述專利進(jìn)行文本相似度計算的依據(jù)是不完整的,不能完全代表兩段文本之間的相似度。



技術(shù)實現(xiàn)要素:

為了解決現(xiàn)有技術(shù)中的問題,本發(fā)明提出一種通過深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行短文本間相似度計算的方法,能夠利用短文本中出現(xiàn)的每一個詞語計算短文本間的相似度,使相似度的值計算的更加準(zhǔn)確。

為了實現(xiàn)以上目的,本發(fā)明所采用的技術(shù)方案為:包括以下步驟:

1)將若干個短文本表示成若干個矩陣:爬取Wikipedia上全部知識領(lǐng)域相關(guān)頁面中出現(xiàn)的詞語作為詞表,對詞表進(jìn)行訓(xùn)練,每個詞語得到一個詞向量,用相應(yīng)的詞向量依次替換短文本中的每個單詞,得到一個有序的向量序列,視為一個矩陣;

2)對若干個短文本進(jìn)行兩兩組合,并對每組的兩個短文本的矩陣生成其相似矩陣:對于每組的兩個短文本,取其相對應(yīng)的兩個矩陣,依次計算其詞向量之間的余弦相似度,對余弦相似度進(jìn)行排列,得到每組兩個短文本的相似矩陣;

3)將相似矩陣的行和列平鋪成相同維度:統(tǒng)計已有所有相似矩陣的行數(shù)和列數(shù),分別找到最大的行數(shù)和最多的列數(shù),以最多的行數(shù)和列數(shù)作為基準(zhǔn),平鋪所有的相似矩陣,使其具有相同的行數(shù)和相同的列數(shù),稱為同維度的相似矩陣;

4)將相似矩陣降維成一個值作為相似度:對于所有同維度的相似矩陣,通過深度卷積神經(jīng)網(wǎng)絡(luò)對相似矩陣進(jìn)行訓(xùn)練降維,再通過多層感知機(jī)計算相似程度,來代表相似度的值,完成短文本間相似度計算。

所述步驟1)中采用Google在網(wǎng)上發(fā)布的word2vec的開源代碼對詞表進(jìn)行訓(xùn)練。

所述步驟1)中爬取Wikipedia上全部知識領(lǐng)域相關(guān)頁面中出現(xiàn)的詞語時消除重復(fù)出現(xiàn)的詞語和字母與數(shù)字組合的詞語。

所述步驟1)中用詞向量依次替換短文本中的單詞前對短文本進(jìn)行預(yù)處理:首先去除字母與數(shù)字組合的詞語和標(biāo)點符號,然后定義停用詞,并消除停用詞。

所述步驟2)中對每組的兩個短文本的矩陣生成其相似矩陣的具體步驟如下:

2.1)從兩個矩陣中各取一個詞向量,兩個向量分別為a、b,則余弦相似度的計算公式如下:

其中,a·b表示向量a與向量b的點積;||a||和||b||分別表示向量a和向量b的模;

2.2)對于兩個矩陣的每一個行向量,依次計算其余弦相似度,并作為相似矩陣相應(yīng)位置上面的值,計算公式如下:

σij=cos(Qi,Wj)

其中,Qi表示矩陣Q第i行的行向量,Wj表示矩陣W第j行的行向量,σij代表相似矩陣第i行、第j列上對應(yīng)的值,所得的相似矩陣的行數(shù)與矩陣Q的行數(shù)相同,相似矩陣的列數(shù)與矩陣W的行數(shù)相同。

所述步驟2.1)中詞向量維度固定,則兩個向量a、b的余弦相似度的計算公式為:

其中,xk表示向量x中第k維所對應(yīng)的值。

所述步驟3)中將相似矩陣的行和列平鋪成相同維度的具體過程如下:

3.1)針對所有的相似矩陣,統(tǒng)計其行數(shù)和列數(shù),找到最大的行數(shù)rowmax和最大的列數(shù)colmax;

3.2)平鋪矩陣時,把矩陣緊密排列,直到行數(shù)為rowmax,列數(shù)為colmax,若無法恰好得到需要的維度,則把多余的部分刪除掉。

所述步驟4)中將相似矩陣降維成一個值作為相似度的具體過程如下:

4.1)利用深度卷積神經(jīng)網(wǎng)絡(luò)對所有同維度的相似矩陣進(jìn)行訓(xùn)練,依次經(jīng)過兩個卷積層,兩個池化層,以及一個全連接層之后,每個相似矩陣被降維成一個向量;

4.2)用多層感知機(jī)處理經(jīng)過深度卷積神經(jīng)網(wǎng)絡(luò)降維得到的向量,最后每個向量降維得到兩個值,分別是相似程度和不相似程度,相似程度的值即代表了短文本之間相似度的值。

與現(xiàn)有技術(shù)相比,本發(fā)明利用深度卷積神經(jīng)網(wǎng)絡(luò)計算短文本之間的相似度,通過訓(xùn)練把詞語表示成向量形式,實現(xiàn)了文本的量化,通過詞向量之間余弦相似度的計算構(gòu)建了相似矩陣,平鋪所有的相似矩陣使其具有相同維度,平鋪過程中不會產(chǎn)生特征的丟失,最后采用深度卷積神經(jīng)網(wǎng)絡(luò)和多層感知機(jī)計算相似度。將若干個短文本表示成若干個矩陣,把不可量化表示的短文本表示成可量化的矩陣形式,方便對文本間的相似度進(jìn)行計算。對若干個短文本進(jìn)行兩兩組合,并對每組的兩個短文本的矩陣生成其相似矩陣,通過依次計算詞向量之間的余弦相似度來生成兩段短文本之間的相似矩陣,余弦相似度計算簡單,相似矩陣為計算相似度奠定基礎(chǔ)。將相似矩陣的行和列平鋪成相同維度使用平鋪的方法把相似矩陣的行和列統(tǒng)一成相同維度,不會導(dǎo)致特征的丟失。將相似矩陣降維成一個值作為相似度通過深度卷積神經(jīng)網(wǎng)絡(luò)和多層感知機(jī)訓(xùn)練相似矩陣并計算相似度,使得計算文本相似度的模型可以很好的被訓(xùn)練出來,提高了相似度的值計算的準(zhǔn)確度。

附圖說明

圖1是本發(fā)明的流程框圖;

圖2是本發(fā)明中相似矩陣的生成模型圖;

圖3是本發(fā)明矩陣的平鋪方法圖。

具體實施方式

下面結(jié)合具體的實施例和說明書附圖對本發(fā)明作進(jìn)一步的解釋說明。

本發(fā)明包括以下步驟:

(1)把若干短文本表示成若干個矩陣:首先,選取Wikipedia上全部知識領(lǐng)域相關(guān)頁面中出現(xiàn)的詞語作為詞表;然后,利用Google在網(wǎng)上發(fā)布的word2vec的開源代碼對詞表進(jìn)行訓(xùn)練,每個詞語都表示為一個向量;最后,用詞表中相應(yīng)的詞向量依次替換文本中的每個單詞,每個詞向量占一行,得到一個有序的向量序列,可以把其看成一個矩陣,行數(shù)是單詞數(shù)目;

(2)對若干個短文本進(jìn)行兩兩組合,并對每組的兩個短文本的矩陣生成其相似矩陣:首先,對于兩段文本,取其在步驟(1)中相對應(yīng)的兩個矩陣,從兩個矩陣中各取一個向量,計算這兩個向量的余弦值,就可以得到對應(yīng)的兩段文本在統(tǒng)計學(xué)方法中的相似度情況;其次,對于兩個相似矩陣的每一個行向量之間都計算其余弦相似度,并作為相似矩陣相應(yīng)位置上面的值;最后,得到一個完整填充的相似矩陣;

(3)把相似矩陣的行和列平鋪成相同維度:首先,統(tǒng)計步驟(2)中現(xiàn)有相似矩陣的行數(shù)和列數(shù),找到最大的行數(shù)和最大的列數(shù);其次,以最大的行數(shù)和最大的列數(shù)作為基準(zhǔn),平鋪所有的相似矩陣,從而使相似矩陣具有相同的維度;

(4)把相似矩陣降維成一個值作為相似度:對于所有步驟(3)中得到的同維度的相似矩陣,通過深度卷積神經(jīng)網(wǎng)絡(luò)對相似矩陣進(jìn)行訓(xùn)練降維,再通過多層感知機(jī)計算相似程度,來代表相似度的值。

參見圖1,本發(fā)明具體包括如下四個過程:

(1)把若干短文本表示成若干個矩陣,包括4個步驟:

第1步:爬取Wikipedia頁面上全部知識領(lǐng)域相關(guān)頁面中出現(xiàn)的詞語;消除重復(fù)出現(xiàn)的詞語,消除像“t1”這種字母與數(shù)字組合的詞語;

第2步:利用Google在網(wǎng)上發(fā)布的開源代碼對詞表進(jìn)行訓(xùn)練,每個詞語都表示為一個向量,最終得到詞表;

第3步:對于短文本數(shù)據(jù)進(jìn)行預(yù)處理,先把類似于“t1”這樣的字母與數(shù)字的組合給去除掉,把文本中的標(biāo)點符號去掉,然后定義停用詞,并進(jìn)行停用詞的消除;

第4步:用詞表中的詞向量依次替換短文本中的每個單詞,每個詞向量占一行,可以得到一個有序的向量序列,可以把其看成一個矩陣,行數(shù)就是單詞數(shù)目;

(2)對兩個表示目標(biāo)短文本的矩陣生成其相似矩陣,包括2個步驟:

第1步:假設(shè)兩個向量分別為a,b,則其之間余弦相似度的計算方法如下:

其中,a·b表示向量a與向量b的點積;||a||和||b||分別表示向量a和向量b的模。由于詞向量維度固定(假設(shè)是n維),故計算方法可以表示如下:

其中,xk表示向量x中第k維所對應(yīng)的值;

第2步:對于兩個矩陣的每一個行向量,依次計算其余弦相似度,并作為相似矩陣相應(yīng)位置上面的值,計算方法如下:

σij=cos(Qi,Wj) (3)

其中,Qi表示矩陣Q第i行的行向量,Wj表示矩陣W第j行的行向量,σij代表相似矩陣第i行、第j列上對應(yīng)的值,所得的相似矩陣的行數(shù)與矩陣Q的行數(shù)相同,相似矩陣的列數(shù)與矩陣W的行數(shù)相同,如圖2所示;

(3)把相似矩陣的行和列平鋪成相同維度,包括2個步驟:

第1步:針對現(xiàn)在所有的相似矩陣,統(tǒng)計其行數(shù)和列數(shù),找到最大的行數(shù)rowmax和最大的列數(shù)colmax;

第2步:平鋪矩陣時,把矩陣緊密排列,直到行數(shù)為rowmax,列數(shù)為colmax。若無法恰好得到需要的維度,則把多余的部分刪除掉,如圖3所示;

(4)把相似矩陣降維成一個值作為相似度,包括2個步驟:

第1步:利用深度卷積神經(jīng)網(wǎng)絡(luò)對所有同維度的相似矩陣進(jìn)行訓(xùn)練,經(jīng)過兩個卷積層,兩個池化層,一個全連接層之后,每個相似矩陣被降維成一個向量;

第2步:用多層感知機(jī)處理經(jīng)過深度卷積神經(jīng)網(wǎng)絡(luò)降維得到的向量,最后每個向量降維得到兩個值,分別是相似程度和不相似程度,相似程度的值即代表了短文本之間相似度的值。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永福县| 子洲县| 旺苍县| 毕节市| 宝鸡市| 柞水县| 胶南市| 横峰县| 焦作市| 翁牛特旗| 林口县| 双辽市| 彰化市| 榕江县| 澄迈县| 杭锦旗| 苏尼特右旗| 洞口县| 南安市| 藁城市| 九龙县| 沁源县| 隆安县| 苍南县| 大庆市| 道孚县| 丰镇市| 松溪县| 太康县| 青铜峡市| 东至县| 鄱阳县| 濮阳县| 当阳市| 壤塘县| 锦屏县| 湖州市| 金华市| 神池县| 积石山| 上栗县|