999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CNN和BiLSTM的短文本相似度計算方法

2019-06-11 08:48:52浩,許偉,盧凱,唐
關(guān)鍵詞:語義單詞利用

郭 浩,許 偉,盧 凱,唐 球

(華北計算機(jī)系統(tǒng)工程研究所,北京 100083)

0 引言

文本語義相似度在不同的自然語言處理任務(wù)中扮演著重要角色,例如在自動文本摘要[1]、信息檢索、機(jī)器翻譯、問答系統(tǒng)等領(lǐng)域中都有著非常廣泛的應(yīng)用。

深度神經(jīng)網(wǎng)絡(luò)近年來發(fā)展迅速,并且已經(jīng)在文本語義相似度的任務(wù)中得到應(yīng)用。其中卷積神經(jīng)網(wǎng)絡(luò)CNN[2]和循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Networks)是深度神經(jīng)網(wǎng)絡(luò)的兩種結(jié)構(gòu)。CNN是一種層次結(jié)構(gòu)模型,RNN是一種序列式模型。CNN能有效地提取局部特征和組合數(shù)據(jù)的重要特征,然而在解決變長的序列問題上存在缺陷。RNN通過傳遞和記住序列的歷史信息,能很好地處理時序問題。最近,結(jié)合CNN和RNN各自優(yōu)勢,構(gòu)建混合網(wǎng)絡(luò)結(jié)構(gòu)的方法被普遍應(yīng)用。

本文利用CNN和雙向LSTM[3]來提取句子的特征,結(jié)合attention機(jī)制賦予單詞不同大小的權(quán)重,得到句子的語義表示向量,根據(jù)此表示向量計算兩個句子的相似度評分,判斷其是否語義相同。實驗結(jié)果表明本文的方法在對比CNN、LSTM和attention-LSTM時,在性能上都得到了提升。

本文主要工作如下:(1)提出了基于CNN和BiLSTM的短文本相似度計算混合模型;(2)利用注意力機(jī)制使更重要的單詞得到更多的權(quán)重,同時減小無關(guān)單詞的注意力;(3)在Quora數(shù)據(jù)集上對比了多個模型的結(jié)果。

1 相關(guān)工作

文本語義相似度的研究任務(wù)為給定兩個句子作為輸入,判定兩個文本的語義是否相同,即提出一個有效的方法和模型來學(xué)習(xí)和計算兩個句子的相似性。先前的研究工作中通常利用句子的多種統(tǒng)計特征(例如單詞重合度、同義詞、句子長度等)來訓(xùn)練分類器(如SVM、樹模型等)。傳統(tǒng)的基于特征工程的方法只能提取文本的淺層語義,并且不能處理那些沒有相同單詞重疊卻表達(dá)同樣語義的句子,例如:“Obama speaks to the media in Illinois”和“The president greets the press in Chicago”兩句話表達(dá)同樣語義,利用傳統(tǒng)的基于特征工程的方法則不合適。

相比于傳統(tǒng)機(jī)器學(xué)習(xí)方法,深度學(xué)習(xí)模型是目前處理文本相似度效果更好的方法。Mikolov等人在2013年提出的word2vec方法提供了包含語義的預(yù)訓(xùn)練的詞向量。可以利用詞向量的加權(quán)平均來對句子進(jìn)行語義表示,進(jìn)而度量兩個句子的相似度。但此方法和詞袋模型一樣沒有考慮句子間的每個單詞的相互關(guān)系,不能表達(dá)深層語義。基于神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)模型,如CNN、LSTM等主流的網(wǎng)絡(luò)結(jié)構(gòu)對文本提取語義特征,在文本語義相似度計算任務(wù)上相比傳統(tǒng)方法表現(xiàn)更好。KIM Y[4]第一次將CNN用來進(jìn)行文本特征提取以對文本分類。此后,卷積神經(jīng)網(wǎng)絡(luò)也應(yīng)用在文本相似度計算任務(wù)上,文獻(xiàn)[5]中利用CNN進(jìn)行復(fù)述識別任務(wù),在MSRP和SICK數(shù)據(jù)集上的準(zhǔn)確率分別達(dá)到了78.9% 和86.2%。此外,LSTM模型由于其能處理序列數(shù)據(jù),在自然語言處理任務(wù)上應(yīng)用更加普遍。MULLER J[6]在2015年提出基于LSTM的Siamese(孿生)網(wǎng)絡(luò)結(jié)構(gòu)框架來學(xué)習(xí)文本相似度,利用LSTM對句子進(jìn)行語義特征提取,得到句子語義表示向量,然后比較兩個向量的Manhattan(曼哈頓)距離來判斷其是否表達(dá)相同的語義,此模型在數(shù)據(jù)集SICK達(dá)到了0.882 2的皮爾遜相關(guān)系數(shù)。BAHDANAU D等[7]在2015年將attention機(jī)制應(yīng)用到機(jī)器翻譯任務(wù)中,在解碼階段利用attention來處理源語言句子。此后,attention機(jī)制在文本分類、自然語言生成等任務(wù)中都扮演著重要角色。JACOB D等[8]在2018年利用self-attention預(yù)訓(xùn)練語言模型,在此基礎(chǔ)上進(jìn)行微調(diào)(fine-tune),在數(shù)據(jù)集MRPC上達(dá)到了84.5%的準(zhǔn)確率。

本文提出利用神經(jīng)網(wǎng)絡(luò)表示句子的CNN-BiLSTM模型,該模型采用對稱的孿生網(wǎng)絡(luò)結(jié)構(gòu),其輸入是兩個句子的word2vec[9]預(yù)訓(xùn)練詞向量,采用CNN和LSTM共同學(xué)習(xí)句子語義的結(jié)構(gòu)化表示,同時結(jié)合attention機(jī)制來捕獲重要的特征,利用相似度函數(shù)輸出句子的相似度。

2 模型結(jié)構(gòu)

本文提出的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)由兩個相同的網(wǎng)絡(luò)結(jié)構(gòu)network1和network2組成,即network1和network2的權(quán)重相等(稱之為孿生網(wǎng)絡(luò)結(jié)構(gòu))。神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示,主要包括如下幾個部分:

(1)輸入層:兩個句子;

(2)嵌入層:將句子的每一個單詞映射為一個低維的稠密向量;

(3)CNN-LSTM層:結(jié)合CNN和LSTM分別提取句子的深層語義特征;

(4)Attention層:產(chǎn)生權(quán)重向量,將單詞級別的特征拼接成句子級別的語義表示向量;

(5)匹配層:計算句子語義表示向量的相似度得到輸出。

圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)架構(gòu)圖

2.1 輸入層和嵌入層

在輸入層對句子進(jìn)行預(yù)處理后輸入到模型。預(yù)處理的過程為:首先對文本進(jìn)行正規(guī)化,即去除停用詞,拼寫校正,縮寫的改寫,去除特殊字符等。規(guī)定句子的最大長度為L,對于單詞數(shù)大于L的句子進(jìn)行截斷,長度不足L的進(jìn)行填補(bǔ),即利用字符 填補(bǔ)在序列的末尾使長度達(dá)到L。在本模型中,L選取為20。

在嵌入層,得到等長的句子序列s=(w1,w2,…,wL),每一個單詞wi都需要被轉(zhuǎn)換成一個詞嵌入向量Ei作為后面神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的輸入。此處,采用word2vec的預(yù)訓(xùn)練詞向量,根據(jù)look-up矩陣M來映射每個單詞的詞嵌入向量。即:

Ei=viM

(1)

其中矩陣M是Google利用大規(guī)模語料預(yù)訓(xùn)練得到的具有語義信息的參數(shù)矩陣[9],M∈Rd×|V|,d為詞向量嵌入的維度,|V|為詞表的長度;vi為單詞基于詞表索引的獨熱編碼向量,在索引處為1,其他位置為0。經(jīng)過詞嵌入后,句子被表示為E=(L×d)的矩陣,再輸入到后面的神經(jīng)網(wǎng)絡(luò)層。

2.2 CNN-LSTM層

首先介紹CNN提取句子特征的過程[4]。CNN利用卷積核對句子矩陣E從上到下進(jìn)行一維卷積,得到大小為L×f的特征映射,其中L為序列長度,f為卷積核的數(shù)量,卷積層后面接入一個最大池化層,提取出局部的重要特征,可以得到CNN提取的單詞級別的特征。

LSTM是一個序列模型,其能解決RNN中的梯度消失和梯度爆炸問題,同時對長短時記憶有所控制。雙向LSTM是從兩個方向?qū)渥舆M(jìn)行編碼,既能利用從前往后的歷史信息,也能利用反方向的信息。本模型采取雙向的LSTM對句子進(jìn)行特征提取,并采用兩層的堆疊結(jié)構(gòu),即將第一層的每一個時間步的輸出作為下一層LSTM的輸入,將第二層的輸出作為LSTM層提取到的單詞級別的特征。

2.3 Attention層

在文本中,不同的單詞對整個文本語義的貢獻(xiàn)不同,例如當(dāng)人讀到一句話時,通常會將注意力放到幾個重要的單詞或短語上,所以利用attention機(jī)制將單詞級別的特征組合成句子級別的特征,能更準(zhǔn)確地表達(dá)句子的語義。

本文根據(jù)attention思想,將對句子語義有更重要貢獻(xiàn)的單詞賦予較大權(quán)重,貢獻(xiàn)較少的單詞則反之。

CNN網(wǎng)絡(luò)結(jié)構(gòu)的輸出向量表示為[C1,C2,…,Cn],式(2)先對卷積得到的特征Ci利用tanh激活函數(shù)進(jìn)行一次非線性變換得到vi,對輸出特征加入非線性因素以提升模型的表達(dá)能力。式(3)利用softmax函數(shù)得到各個分量vi的attention權(quán)重Wcnn=(α1,α2,…,αn),權(quán)重大小則代表單詞的重要程度大小。最后式(4)對CNN結(jié)構(gòu)輸出的向量[C1,C2,…,Cn]加權(quán)和,得到CNN提取的句子級別的語義向量表示Scnn。

vi=tanh(WcCi+bc)

(2)

αi=softmax(Wαvi)

(3)

(4)

同理,雙向LSTM網(wǎng)絡(luò)結(jié)構(gòu)的輸出向量表示為[h1,h2,…,hn],式(5)對LSTM編碼得到的特征hi利用tanh激活函數(shù)進(jìn)行一次非線性變換得到ui,式(6)利用softmax函數(shù)得到各個分量ui的attention權(quán)重Wlstm=(β1,β2,…,βn),最后式(7)對雙向LSTM結(jié)構(gòu)輸出的向量[h1,h2,…,hn]加權(quán)和,得到LSTM提取的句子級別的語義向量表示Slstm。

ui=tanh (Whhi+bh)

(5)

βi=softmax(Wβui)

(6)

(7)

最后,將CNN和LSTM分別提取到的語義向量表示進(jìn)行拼接,即[Scnn,Slstm],將其作為后面匹配層的輸入,這樣就結(jié)合了CNN和LSTM兩個神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)各自的優(yōu)勢,提取了更加豐富的特征。

2.4 相似度匹配層

這一階段,得到兩個句子的語義表示s1和s2后,在句子的語義空間中計算兩個向量的相似度,從而判斷兩個文本是否語義相同。選取余弦相似度作為評價函數(shù),如式(8)所示,輸出相似度的值,其大小在[0,1]之間。

(8)

3 實驗

3.1 數(shù)據(jù)集

實驗選取Quora Question Pairs[10]數(shù)據(jù)集進(jìn)行驗證與測試,數(shù)據(jù)來源于Quora網(wǎng)站,共包含404 000個問題組合對,圖2為部分樣例數(shù)據(jù),具有相同語義的兩個句子標(biāo)簽為1,反之則為0。利用spacy工具對文本進(jìn)行分詞,并對文本進(jìn)行預(yù)處理,如去除停用詞、去除特殊字符等。

圖2 Quora Question Pairs樣例數(shù)據(jù)

3.2 基準(zhǔn)模型對比

本實驗選擇了其他模型來進(jìn)行對比實驗,包括傳統(tǒng)的機(jī)器學(xué)習(xí)模型Logistics Regression(LR)、深度學(xué)習(xí)模型CNN、雙向LSTM、基于attention的LSTM共四個模型。

3.3 實驗的參數(shù)設(shè)置

在詞嵌入層采用Google的word2vec預(yù)訓(xùn)練詞向量,通過在谷歌新聞數(shù)據(jù)集[9]上的訓(xùn)練,得到大約三百萬個單詞和短語的詞向量,其向量的維度為300。如果出現(xiàn)嵌入層預(yù)加載詞表以外的單詞時,即出現(xiàn)未登錄詞時,將其初始化為一個300維的0向量。優(yōu)化算法選取Adam[11](Adaptive Moment Estimation)優(yōu)化器通過反向傳播來更新參數(shù),學(xué)習(xí)率設(shè)為0.01。為了防止過擬合,在每一層加入dropout[12],參數(shù)值設(shè)為0.2。LSTM的隱節(jié)點數(shù)量設(shè)置為128,CNN的卷積核大小為3,濾波器的數(shù)量設(shè)置為128。在整個訓(xùn)練過程中,不更新預(yù)訓(xùn)練詞向量的權(quán)重,利用批處理的方法對其他參數(shù)進(jìn)行更新。批處理的參數(shù)大小設(shè)置為1 024,訓(xùn)練輪數(shù)設(shè)置為20。

3.4 實驗結(jié)果與分析

將數(shù)據(jù)集進(jìn)行分割,80%的數(shù)據(jù)用來訓(xùn)練,20%用來驗證。由于數(shù)據(jù)集正負(fù)樣本比較均衡,選取準(zhǔn)確率和F1值作為模型的評價指標(biāo)。各個模型結(jié)果的比較如表1所示,可以看出深度學(xué)習(xí)的方法都優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法LR。BiLSTM在此自然語言處理任務(wù)上的效果稍強(qiáng)于CNN,而結(jié)合attention機(jī)制的LSTM模型(Att-LSTM)能提升LSTM的效果,且優(yōu)于CNN和BiLSTM。

通過與其他模型對比,可以看出本文提出的方法效果最好。因為本文模型結(jié)合了CNN和BiLSTM的優(yōu)勢,提取了局部特征和總體特征,對句子的語義表達(dá)更加豐富。

表1 模型效果比較

4 結(jié)論

本文介紹了一種用于判斷兩個句子的語義相似度的方法。首先,運用CNN和BiLSTM來提取句子的語義特征。然后探究了基于attention機(jī)制的神經(jīng)網(wǎng)絡(luò)在此任務(wù)上的應(yīng)用。最后在Quora數(shù)據(jù)集上測試了本文提出的方法,取得了84.58%的準(zhǔn)確率和85.02%的F1值,而且本文提出的模型在準(zhǔn)確率和F1值上都優(yōu)于其他四個經(jīng)典模型。

猜你喜歡
語義單詞利用
利用min{a,b}的積分表示解決一類絕對值不等式
利用一半進(jìn)行移多補(bǔ)少
語言與語義
單詞連一連
利用數(shù)的分解來思考
Roommate is necessary when far away from home
看圖填單詞
“上”與“下”語義的不對稱性及其認(rèn)知闡釋
認(rèn)知范疇模糊與語義模糊
最難的單詞
主站蜘蛛池模板: 看国产一级毛片| 五月婷婷综合色| 日本人妻一区二区三区不卡影院 | 国产精选小视频在线观看| 国产成人禁片在线观看| 亚洲国产av无码综合原创国产| 美女被躁出白浆视频播放| 国产精品白浆在线播放| 久久人妻xunleige无码| 亚洲国产综合精品一区| 欧美中文字幕无线码视频| 国产福利微拍精品一区二区| 成人av手机在线观看| 免费人成在线观看成人片| 色窝窝免费一区二区三区| 亚洲色欲色欲www网| 91精品伊人久久大香线蕉| 欧美人与性动交a欧美精品| 国产剧情国内精品原创| 色窝窝免费一区二区三区 | 国产91透明丝袜美腿在线| 亚洲精品少妇熟女| 亚洲午夜片| 成人午夜网址| 欧美 亚洲 日韩 国产| 国产毛片基地| 亚洲第一黄色网| 在线观看亚洲成人| 2019国产在线| 99999久久久久久亚洲| 色噜噜狠狠色综合网图区| 91在线免费公开视频| 精品久久国产综合精麻豆| 国产a v无码专区亚洲av| 极品av一区二区| 国产在线八区| 97成人在线观看| 国产精品美乳| 激情五月婷婷综合网| www.youjizz.com久久| 影音先锋丝袜制服| 亚洲区视频在线观看| 欧美中文字幕一区| 99精品伊人久久久大香线蕉| 色悠久久久| 色亚洲激情综合精品无码视频| 欧美精品亚洲精品日韩专区va| 日韩精品亚洲精品第一页| 日韩AV手机在线观看蜜芽| 久久人搡人人玩人妻精品一| 视频在线观看一区二区| 精品久久久久久成人AV| 亚洲综合一区国产精品| 九色综合视频网| 又爽又大又光又色的午夜视频| 久操线在视频在线观看| 午夜啪啪福利| 2021国产精品自产拍在线观看 | 亚洲天堂网在线观看视频| 久久亚洲高清国产| 亚洲午夜天堂| 午夜a级毛片| 国产精品部在线观看| 超碰aⅴ人人做人人爽欧美 | 欧美激情一区二区三区成人| 国产成人你懂的在线观看| 亚洲欧美激情另类| 日本日韩欧美| av色爱 天堂网| 亚洲高清中文字幕在线看不卡| 99这里只有精品免费视频| 国产精品手机视频一区二区| 玩两个丰满老熟女久久网| 亚洲性视频网站| 色精品视频| 亚洲精品高清视频| 91 九色视频丝袜| 日本高清成本人视频一区| 亚洲首页在线观看| 亚洲av成人无码网站在线观看| 日韩av无码DVD| 欧美日韩国产综合视频在线观看 |