• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    孿生網(wǎng)絡(luò)中文語義匹配方法的研究

    2021-03-13 06:00:46于碧輝王加存
    關(guān)鍵詞:語義損失編碼

    于碧輝,王加存

    (中國科學(xué)院大學(xué),北京 100049)

    (中國科學(xué)院 沈陽計(jì)算技術(shù)研究所,沈陽 110168)

    1 引 言

    基于自然語言理解的問答系統(tǒng)在過去幾年的人工智能中一直是一個(gè)熱門話題,而問答系統(tǒng)的基本任務(wù),通常被認(rèn)為是語義匹配任務(wù),該任務(wù)的目標(biāo)是從現(xiàn)有的數(shù)據(jù)庫中搜索與輸入問題具有相似意圖的問題,語義匹配任務(wù)通??梢员灰暈槎诸悊栴},其輸入是問題Q和候選答案A,系統(tǒng)被要求判斷兩個(gè)句子是否表達(dá)相同的含義.

    1990年Bromley和LeCun提出孿生(Siamese)[1]神經(jīng)網(wǎng)絡(luò)模型用于解決公鑰數(shù)字簽名的驗(yàn)證問題.Siamese 神經(jīng)網(wǎng)絡(luò)是指結(jié)構(gòu)相似或者結(jié)果相同的兩個(gè)神經(jīng)網(wǎng)絡(luò),模型的特點(diǎn)為:在訓(xùn)練過程中,兩個(gè)結(jié)構(gòu)相同的神經(jīng)網(wǎng)絡(luò)會被分開訓(xùn)練,然而,神經(jīng)網(wǎng)絡(luò)模型的參數(shù)權(quán)重是共享的,最后將兩個(gè)神經(jīng)網(wǎng)絡(luò)的輸出連接起來,將拼接結(jié)果輸入到一個(gè)全連接層或其他層,最后連接一個(gè)全連接層或者其他層.孿生神經(jīng)網(wǎng)絡(luò)在人臉識別等相似度問題中,效果非常好,而句子與句子之間的語義匹配問題在本質(zhì)上和圖像領(lǐng)域中的人臉識別比較相似,所以在語義匹配任務(wù)中,應(yīng)用孿生網(wǎng)絡(luò)來計(jì)算句子相似度也是可行的.

    為了訓(xùn)練孿生神經(jīng)網(wǎng)絡(luò)模型,需要定義模型的目標(biāo)函數(shù),由于語義匹配不是常規(guī)的分類問題,因此,常用的目標(biāo)函數(shù)并不適合孿生神經(jīng)網(wǎng)絡(luò)模型.目前,孿生神經(jīng)網(wǎng)絡(luò)常用的損失函數(shù)為對比損失函數(shù)(Contrastive Loss),令句子S1和句子S2 為孿生神經(jīng)網(wǎng)絡(luò)的輸入,Y為指示 S1 和 S2 是否匹配的標(biāo)簽,其中Y?0,1.如果句子S1 和 S2是匹配的,則Y=1,如果句子S1和S2是不匹配的,則Y=0.對比損失函數(shù)如公式(1)所示.

    (1)

    其中Dw為孿生神經(jīng)網(wǎng)絡(luò)輸出的兩個(gè)特征向量的距離,即Dw(s1,s2)=‖Gw(s1)-Gw(s2)‖.由Gw表示孿生神經(jīng)網(wǎng)絡(luò)對輸入向量編碼之后的輸出的特征向量,m代表對于Gw的懲罰的邊界值,只有距離Dw小于m的負(fù)樣本才會被加入到損失函數(shù)中.所有樣本的損失函數(shù)如公式(2)所示.

    (2)

    圖1表示的就是損失函數(shù)值與樣本特征的歐式距離之間的關(guān)系,其中虛線表示的是相似樣本的損失值,實(shí)線表示的不相似樣本的損失值.從圖1可以看出目標(biāo)函數(shù)很好的表現(xiàn)出文本的匹配程序,但是其有一個(gè)缺點(diǎn),由于采用歐式距離,因此分類邊界比較寬泛,因此,在語義匹配任務(wù)中,對比代價(jià)損失函數(shù)是有缺點(diǎn)的.

    圖1 代價(jià)交叉熵Fig. 1 Cost cross entropy

    在語義匹配模型中,除了需要考慮分類的正確性,還需要考慮答案的排序性,所以在使用交叉熵和對比代價(jià)損失函數(shù)的時(shí)候,其分類限制比較寬泛,導(dǎo)致相近的一些在邊界存在誤差,對于這種問題,其解決方法為margin loss,常見的改進(jìn)的margin loss有L-softmax,A-softmax、AM-softmax等等,由于AM-softmax對損失邊界誤差的限制,使得類間的邊界更加清晰,因此,在本文中,使用am-softmax替換代價(jià)損失函數(shù)應(yīng)用到孿生網(wǎng)絡(luò)來進(jìn)行短文本語義匹配.

    2 相關(guān)工作

    目前,已經(jīng)有很多研究者探索關(guān)于孿生神經(jīng)網(wǎng)絡(luò)的語義匹配模型.一個(gè)最早的將孿生神經(jīng)網(wǎng)絡(luò)應(yīng)用到文本匹配的模型是深度語義結(jié)構(gòu)模型(Deep Struc-tured Semantic Model,DSSM)[2],該模型建模對象是查詢內(nèi)容和文檔之間的相似度,每個(gè)文檔對象和查詢內(nèi)容都是分別通過5層神經(jīng)網(wǎng)絡(luò)進(jìn)行向量化編碼,然后將輸出結(jié)果拼接輸入到一個(gè)全連接層中,計(jì)算查詢內(nèi)容和文檔之間的相似度.Tan等人[3]嘗試將CNN和LSTM等模型應(yīng)用到孿生神經(jīng)網(wǎng)絡(luò)中,實(shí)驗(yàn)結(jié)果證明,在孿生神經(jīng)網(wǎng)絡(luò)模型中應(yīng)用LSTM網(wǎng)絡(luò)要比CNN網(wǎng)絡(luò)效果更好.為了進(jìn)一步提供孿生神經(jīng)網(wǎng)絡(luò)的匹配能力,有一些研究者[4,5]將注意力機(jī)制引入到孿生神經(jīng)網(wǎng)絡(luò)模型中,并證明了注意力機(jī)制的有效性.深度模型中存在有限記憶的瓶頸問題,而注意力機(jī)制可以通過引入額外的權(quán)重參數(shù)來矯正兩個(gè)向量序列之間的相關(guān)性.Santos等人將注意力應(yīng)用到孿生神經(jīng)網(wǎng)絡(luò)模型模型中,提出Attentive Pooling-Convolutional Neural Network(AP-CNN)和 AP-BiLSTM 模型,這是一種雙向注意力模型,模型通過在兩個(gè)句子編碼的表示層后面加上注意力池化層,使得聚合層能夠感知到兩個(gè)輸入句子之間的相互依存關(guān)系,這樣能夠加深兩個(gè)句子間的聯(lián)系,可以影響彼此的表示計(jì)算.Wang[5]等人提出了“匹配融合”結(jié)構(gòu),首先在表示層使用BiLSTM層對輸入的句子向量進(jìn)行編碼,然后對兩個(gè)編碼向量進(jìn)行匹配運(yùn)算,最后將運(yùn)算結(jié)果通過BiLSTM進(jìn)行聚合運(yùn)算,將匹配結(jié)果聚合成向量.模型最大的特點(diǎn)是采用了雙向多角度匹配,這種結(jié)構(gòu)可以在多個(gè)角度捕捉兩個(gè)句子之間的交互信息.Yichen Gong[6]等人提出Densely Interactive Inference Network (DIIN)模型,DIIN模型和其他匹配模型的結(jié)構(gòu)都很接近,也是采用CNN與LSTM來做特征提取,但是在其輸入層,作者提出了很多想法,同時(shí)采用了詞向量、字向量,并且添加了一些額外的特征例如詞性等,其本意在于能額外輸入一些句法特征,CNN部分也采用了DenseNet的結(jié)構(gòu),實(shí)驗(yàn)表明DIIN具有比所有其他模型更好的性能,并且集合得分也比較高.Seonhoon Kim[7]提出了,Densely-Connected Co-attentive Recurrent Neural Network(DRCN),DRCN模型和DIIN的結(jié)構(gòu)十分相似,包括輸入層與特征提取層,DRCN在特征提取階段結(jié)合了DenseNet的連接策略與Attention機(jī)制,在interaction階段,也采取了更加多樣化的交互策略,論文的主要創(chuàng)新點(diǎn)有兩點(diǎn):1.借鑒ResNet和DenseNet,運(yùn)用到stack RNN中;2. 利用AutoEncoder來壓縮向量,減少參數(shù)迅速增加的壓力.實(shí)驗(yàn)結(jié)果證明,DRCN比DIIN有小幅度的提升.

    孿生神經(jīng)網(wǎng)絡(luò)在人臉識別領(lǐng)域除了修改網(wǎng)絡(luò)結(jié)構(gòu)之外,損失函數(shù)的改進(jìn)也會對結(jié)果有很大的提升,傳統(tǒng)的softmax損失函數(shù)會將整個(gè)分類超空間,按照類別個(gè)數(shù)進(jìn)行劃分,確保類別是分開的,然而,對于每個(gè)類別的類間距離和類內(nèi)距離不做要求.對于損失函數(shù)的優(yōu)化,Sun[8]等人提出了雙約束loss function,該損失函數(shù)的優(yōu)化目標(biāo)是希望同一類別的類內(nèi)距離盡可能小,不同類別的類間距離大于margin,Schroff[9]等人提出了Triple Loss,在模型的輸入層輸入 三元組(a,p,n),在模型的最后一層去除softmax,該模型的優(yōu)化目標(biāo)是不同類別的類間距離要比相同類別的類間距離大于margin,這樣能夠獲得類內(nèi)距離緊湊和類間距離分離的效果.Liu[10]等人開創(chuàng)性的提出一種新的損失函數(shù)-large softmax,L-softmax加強(qiáng)分類條件,強(qiáng)制讓對應(yīng)類別的W和x夾角增加到原來的m倍,L-softmax用乘性margin使不同類別更加分離,特征相似度采用cos距離,由于此loss函數(shù)會導(dǎo)致loss很難收斂,因此需要在實(shí)際訓(xùn)練過程中使用退火方法來加速收斂.Wang[11]等人基于L-softmax損失函數(shù),使用乘性margin距離替換加性margin距離,即使用cosθ-m替換cos(mθ),并同時(shí)對權(quán)重W和特征F做歸一化,采用固定尺度因子s=30,實(shí)驗(yàn)結(jié)果證明,與L-softmax相比,模型的性能有所提升,此方法最大的特點(diǎn)是訓(xùn)練難度比L-softmax低,收斂速度也快.

    在語義匹配的任務(wù)里面,我們期望每個(gè)匹配的句子對,都是一個(gè)類別,也就是匹配的句子對,相似度盡可能的大,不匹配的句子對,相似度盡可能的小.所以代價(jià)損失函數(shù)和am-softmax損失函數(shù)比原始的softmax損失函數(shù)更適合.在本論文中,我們以孿生神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),引入注意力機(jī)制和am-softmax損失函數(shù),將其應(yīng)用在語義匹配任務(wù)上.

    3 Siamese Network and Am-Softmax

    3.1 基礎(chǔ)孿生神經(jīng)網(wǎng)絡(luò)模型

    基本的孿生神經(jīng)網(wǎng)絡(luò)模型,由以下幾部分構(gòu)成:

    3.1.1 預(yù)處理

    通過預(yù)處理獲得包含上下文信息的句子S1和句子S2的表示,句子中的每個(gè)詞語都將得到一個(gè)詞向量表示.

    3.1.2 共享神經(jīng)網(wǎng)絡(luò)

    在得到句子的向量表示后,首先會經(jīng)過一個(gè)LSTM層,通過LSTM可以得到句子向量的編碼信息,這里使用標(biāo)準(zhǔn)的LSTM,其公式如下所示.

    (3)

    詞語在句子的位置不同,其重要程度也不一樣,而每個(gè)句子在文檔的位置和表達(dá)的語義不同,重要程度也不同.除此之外,相同的詞語和句子在不同的文本語境中的重要性也不相同.因此在改進(jìn)模型的LSTM層后面,加入了注意力機(jī)制. 權(quán)值共享的孿生神經(jīng)網(wǎng)絡(luò)包含上面的LSTM層以及注意力機(jī)制層.

    3.1.3 信息聚合

    經(jīng)過注意力機(jī)制層之后的兩個(gè)句子信息,需要進(jìn)行信息融合,常用的融合方法有前饋神經(jīng)網(wǎng)絡(luò)的全連接,兩個(gè)向量的歐式距離以及余弦相似度.

    3.2 改進(jìn)模型

    在本論文中,改進(jìn)的Siamese network如圖2所示.

    圖2 模型結(jié)構(gòu)圖Fig.2 Model structure diagram

    考慮到中文語言本身的特性,中文的單個(gè)字也蘊(yùn)含了大量的語義信息,因此在輸入層,不只是單單使用句子的詞向量,同時(shí)也需要考慮句子的字向量,句子的詞向量包含了句子的粗粒度的語義信息,句子的字向量包含了與子的細(xì)粒度語義信息.

    在傳統(tǒng)的循環(huán)網(wǎng)絡(luò)模型中,隱藏層的狀態(tài)是從上一時(shí)刻向下一時(shí)刻傳遞的,是單向傳遞的.然而,實(shí)際上,隱藏層當(dāng)前時(shí)刻的輸出不但和上一時(shí)刻的狀態(tài)有關(guān)聯(lián),也和下一時(shí)刻的狀態(tài)有關(guān)聯(lián).因此,使用單向的循環(huán)神經(jīng)網(wǎng)絡(luò),會只編碼單向的信息,忽略了反向的信息,因此,為了更好的編碼信息,可以使用雙向RNN(Bi-RNN)來解決此問題.Bi-RNN是由前向RNN和后向RNN組成的,在每個(gè)t時(shí)刻,輸入信息xt分別輸入到前向RNN和后向RNN中,而輸出信息這是由兩個(gè)RNN共同編碼組成.因此在本論文中的改進(jìn)模型里面,我們在使用雙向LSTM(BiLSTM)替換單向的LSTM.

    BiLSTM層編碼的在一定程度上可以有效地涵蓋文本語義信息,但是由于這種辦法很難將輸入文本的所有信息編碼在一個(gè)固定長度的向量中,降低了文本信息中重要詞匯的貢獻(xiàn)度,因此在本文中,我們在BiLSTM層后面加入注意力(Attention)機(jī)制,用Attention機(jī)制來提取對句子含義重要的詞的信息,對BiLSTM輸出結(jié)果重新編碼.

    孿生神經(jīng)網(wǎng)絡(luò)常用的損失函數(shù)是對比代價(jià)函數(shù),而在對比代價(jià)損失函數(shù)中,需要定義距離函數(shù),常見的有:曼哈頓距離、歐式距離和余弦相似度.在本文的模型中,我們將使用am-softmax來替換對比代價(jià)損失函數(shù).Am-softmax公式如下所示.

    (4)

    (5)

    其中θi代表z和ci的夾角,z是樣本,ci是分類的類別,s是縮放因子,m是margin.

    所以,在本實(shí)驗(yàn)中,模型改進(jìn)的地方有以下幾點(diǎn):

    1)字向量加詞向量的輸入表示;

    2)使用Bi-LSTM替換單向LSTM;

    3)修改損失函數(shù),用am-softmax損失函數(shù)代替對比代價(jià)損失函數(shù).

    4 實(shí) 驗(yàn)

    4.1 實(shí)驗(yàn)數(shù)據(jù)與實(shí)驗(yàn)設(shè)置

    本文的實(shí)驗(yàn)采用的數(shù)據(jù)集是哈爾濱工業(yè)大學(xué)在自然語言處理國際頂會COLING2018 構(gòu)建的中文問題語義匹配數(shù)據(jù)集(LCQMC)[12],此數(shù)據(jù)集用搜索引擎收集來自不同領(lǐng)域的高頻詞相關(guān)的大規(guī)模問題對,然后通過Wasserstein距離過濾不相關(guān)的問題對,最后通過手工驗(yàn)證,因此是一個(gè)高質(zhì)量的數(shù)據(jù)集.數(shù)據(jù)集的大小為260068,其中包含238766個(gè)問題對的訓(xùn)練集和12500個(gè)問題對的測試集.

    在本論文中,既用到詞向量又用到字向量,因此,我們使用整個(gè)語料庫來自行訓(xùn)練詞向量和字向量.雖然每個(gè)句子長度不相同,但是基本上比較接近,在實(shí)驗(yàn)中,我們設(shè)置句子的詞語的個(gè)數(shù)為40,句子的字的個(gè)數(shù)為100,孿生網(wǎng)絡(luò)中的LSTM和Bi-LSTM的輸出維度均設(shè)置為128,在LSTM后面加入dropout,學(xué)習(xí)方法使用Adam,學(xué)習(xí)率設(shè)置為0.001,在實(shí)驗(yàn)中,使用EarlyStop來防止過擬合.

    4.2 實(shí)驗(yàn)結(jié)果與分析

    在本實(shí)驗(yàn)中,我們采用準(zhǔn)確率,召回率以及精確率以及F1值,為將本文模型與其它模型效果進(jìn)行對比實(shí)驗(yàn),所有模型均采用LCQMC數(shù)據(jù)集,模型用到的詞向量用W表示,字向量用C表示,實(shí)驗(yàn)結(jié)果如表1所示.

    表1 Test resultTable 1 Test result

    ·連續(xù)詞匯(CBOW)模型[13]:首先用詞向量來表示一個(gè)句子中的每個(gè)字符或單詞.詞向量使用原始句子預(yù)先訓(xùn)練的.其次,每個(gè)句子表示為詞向量的總和.最后,將兩個(gè)句子的輸出連接表示送到softmax分類器來預(yù)測輸出.

    ·卷積神經(jīng)網(wǎng)絡(luò)(CNN)[14]:每個(gè)句子都表示為一個(gè)詞向量矩陣,該矩陣經(jīng)過一個(gè)卷積神經(jīng)網(wǎng)絡(luò). 在本實(shí)驗(yàn)中,兩個(gè)句子向量矩陣共享相同的卷積層權(quán)重.

    ·雙向長期短期記憶(BiLSTM)[15]:首先,兩個(gè)句子經(jīng)過相同的LSTM單元,并使用LSTM編碼器在向前和向后方向編碼為句子向量. 其次,連接兩個(gè)句子的向量表示,使用softmax進(jìn)行分類.

    ·雙邊多視角匹配(BiMPM)[16]:BiMPM在其輸入表示層使用基于字符的LSTM,BiLSTM層用于計(jì)算上下文信息,4種不同類型的多視角匹配層,附加到BiLSTM聚合層,然后輸入兩層前饋網(wǎng)絡(luò)進(jìn)行預(yù)測.

    以上4種模型相比,本文提出的方法在準(zhǔn)確率上達(dá)到86.8%,精確率為81.3%,召回率為94.1%,F(xiàn)1值達(dá)到87.2%,均高于其他3個(gè)模型.本文的模型與以上3個(gè)模型相比,在Embedding層面,聯(lián)合使用詞向量與字向量,與CNN模型相比,本文神經(jīng)網(wǎng)絡(luò)結(jié)果采用雙向LSTM,比CNN更能捕獲具有長期依賴的信息,更適合文本序列,與BiLSTM模型相比,本文在BiLSTM層后面加入了Attention機(jī)制,進(jìn)一步提高了模型的特征表達(dá)能力.與BiMPM模型相比,本文采用am-softmax損失函數(shù),與contrastive loss函數(shù)和softmax函數(shù)相比,am-softmax對分類邊界限制更嚴(yán)格,收斂速度更快,通過實(shí)驗(yàn)驗(yàn)證,本文方法進(jìn)一步提高了文本匹配的準(zhǔn)確度.

    5 結(jié) 論

    本文從現(xiàn)有的孿生神經(jīng)網(wǎng)絡(luò)出發(fā),基于基礎(chǔ)的孿生神經(jīng)網(wǎng)絡(luò),使用詞向量與字向量聯(lián)合表示輸入,并使用Bi-LSTM對文本進(jìn)行建模,同時(shí)為了提升模型的準(zhǔn)確度,引入am-softmax損失函數(shù)替換contrastive loss函數(shù),在公共評測語料上的實(shí)驗(yàn)結(jié)果證明該方法相較于其他深度學(xué)習(xí)模型性能有進(jìn)一步提升.未來的工作可考慮如何進(jìn)一步修改網(wǎng)絡(luò)結(jié)構(gòu),以及嘗試其他更好的損失函數(shù)應(yīng)用到模型上.

    猜你喜歡
    語義損失編碼
    少問一句,損失千金
    胖胖損失了多少元
    基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
    《全元詩》未編碼疑難字考辨十五則
    語言與語義
    子帶編碼在圖像壓縮編碼中的應(yīng)用
    電子制作(2019年22期)2020-01-14 03:16:24
    玉米抽穗前倒伏怎么辦?怎么減少損失?
    Genome and healthcare
    “上”與“下”語義的不對稱性及其認(rèn)知闡釋
    一般自由碰撞的最大動能損失
    盐亭县| 兰考县| 太白县| 枣庄市| 盘锦市| 嫩江县| 定结县| 长春市| 灵宝市| 靖边县| 金华市| 扎囊县| 东阿县| 旌德县| 高州市| 崇义县| 临颍县| 化隆| 沙坪坝区| 南京市| 揭阳市| 涟源市| 温宿县| 达州市| 嘉定区| 阿拉善左旗| 平凉市| 界首市| 潍坊市| 射洪县| 新源县| 博客| 平谷区| 洱源县| 五寨县| 惠州市| 平凉市| 康定县| 盐亭县| 泽州县| 湘阴县|