
背景:在NLP中,對(duì)于兩個(gè)文本比較和分析的任務(wù),比如文本相似度或者問(wèn)答模型,因?yàn)樯婕暗絻蓚€(gè)輸入源,如果使用單一的神經(jīng)網(wǎng)絡(luò)模型,會(huì)使得神經(jīng)網(wǎng)絡(luò)需要花費(fèi)算例和算力去區(qū)分兩個(gè)輸入源的邊界,所以采用結(jié)構(gòu)上就能區(qū)分兩個(gè)輸入源的雙塔模型在效果上和效率上會(huì)更好。本文主要對(duì)主流和一些優(yōu)化改進(jìn)的DSSM模型進(jìn)行匯總和歸納。
1. DSSM
雙塔模型主要通過(guò)對(duì)兩段文本進(jìn)行編碼為固定長(zhǎng)度的向量,然后通過(guò)兩個(gè)向量間進(jìn)行計(jì)算相似度來(lái)計(jì)算兩段文本之間的關(guān)系。
一般的編碼方式可以采用簡(jiǎn)單的word2vec,DNN或者LSTM、CNN等復(fù)雜的編碼方式。
DSSM基本架構(gòu)
2. C-DSSM
通過(guò)使用CNN對(duì)局部信息進(jìn)行抽取,然后在上層采用max pooling的方式對(duì)全局信息進(jìn)行抽取歸納。優(yōu)點(diǎn)在于能夠?qū)⒆冮L(zhǎng)的文本信息固定變化為同等長(zhǎng)度的向量。
3. LSTM-DSSM
通過(guò)采用LSTM進(jìn)行編碼的方式,同樣將文本編碼為一段向量,但LSTM方式的缺點(diǎn)在于需要對(duì)文本長(zhǎng)度進(jìn)行預(yù)先的處理,同時(shí)對(duì)于長(zhǎng)文本的處理效果也不是很理想。
4. BERT
通過(guò)BERT對(duì)文本進(jìn)行編碼,輸出文本最后的代表向量的方式,也可以作為雙塔模型的輸出形式。但跟LSTM存在同樣的問(wèn)題,對(duì)于長(zhǎng)文本依賴(lài)存在問(wèn)題,但相對(duì)于LSTM模型的優(yōu)點(diǎn)是由于采用的是self-attention,所以在效率上比LSTM會(huì)相對(duì)高效很多。
5. 微軟改進(jìn)的DSSM結(jié)構(gòu):
最近,微軟的學(xué)者們又提出了一個(gè)觀點(diǎn):query與doc的相關(guān)程度是由query里的term與doc文本精準(zhǔn)的匹配,以及query語(yǔ)義與doc語(yǔ)義匹配程度共同決定。而且,term匹配與term在doc中的位置和緊密度有較大關(guān)系。因此,他們用一個(gè)local model來(lái)表達(dá)term匹配程度,distribute model表達(dá)語(yǔ)義匹配程度,把這兩個(gè)子模型放在同一個(gè)模型來(lái)訓(xùn)練。distribute model類(lèi)似與DSSM來(lái)學(xué)習(xí)語(yǔ)義匹配關(guān)系。Local model的輸入是一個(gè)nq?ndnq?nd的矩陣mm,nqnq是query中term個(gè)數(shù),ndnd是doc中term個(gè)數(shù),位置m(i,j)=0or1m(i,j)=0or1表示query里的第i個(gè)詞是否與doc里的第j個(gè)詞匹配,對(duì)這個(gè)輸入矩陣通過(guò)convolution抽取特征并向量化。據(jù)其實(shí)驗(yàn)結(jié)果,這種結(jié)合term匹配信息的模型效果要優(yōu)于DSSM等語(yǔ)義模型。
微軟改進(jìn)DSSM結(jié)構(gòu)
6. Google改進(jìn)的DSSM
Google的學(xué)者在用convolution對(duì)文本向量化是相比CDSSM做了些改進(jìn)。Convolution的方法參考了Nal Kalchbrenner等對(duì)文本用卷積來(lái)做分類(lèi)的方法。
首先,對(duì)句子中的每個(gè)詞做embedding, 然后將詞的embedding concat起來(lái)組合成一個(gè)矩陣,有點(diǎn)類(lèi)似圖像的表達(dá)。然后,在這個(gè)矩陣上通過(guò)不同feature map抽取特征,然后pooling生成一個(gè)維度的向量來(lái)表達(dá)句子。 對(duì)Query和Doc的語(yǔ)義向量, 再通過(guò)一個(gè)bilinear的模型計(jì)算其語(yǔ)義相似度:sim(xq,xd)=xq?M?xdsim(xq,xd)=xq?M?xd。 最終,語(yǔ)義相似度與其它相關(guān)排序特征,以及query和doc向量一起作為決定排序的因素,通過(guò)pointwise的DNN模型來(lái)訓(xùn)練。
Google改進(jìn)DSSM結(jié)構(gòu)
7. IBM Waston實(shí)驗(yàn)室改進(jìn)的DSSM模型
(1) Convolutional-pooling LSTM
用一個(gè)Bi-LSTM作為word embedding的方法,然后word embedding concat成矩陣表達(dá)句子,用卷積來(lái)抽取組合特征作為question和anwser的向量表達(dá),再計(jì)算cosin loss.
Convolutional-pooling LSTM
(2)Convolution-based LSTM
先對(duì)原始文本用卷積捕捉局部的N-gram信息, 然后在這個(gè)基礎(chǔ)上用Bi-LSTM來(lái)學(xué)習(xí)更大范圍的上下文依賴(lài)關(guān)系。
Convolution-based LSTM
(3) Attentive-LSTM
相比LSTM-DSSM, 在Attention機(jī)制上做了些改進(jìn),與NMT的Attention機(jī)制接近,即:通過(guò)Answer中的詞向量加權(quán)平均生成整個(gè)Answer的向量時(shí),每個(gè)詞的權(quán)重是由Question向量和詞向量來(lái)決定的。Question的表達(dá)仍由其所有詞向量的avg或sum,max來(lái)表示。
Attentive-LSTM
8. 淘寶改進(jìn)DSSM
(1) 對(duì)Query和標(biāo)題向量淘寶采用DNN + Char-LSTM組合的方式:DNN能高效地學(xué)到TOP詞的embedding, Char-LSTM能捕獲到較長(zhǎng)尾的字符組合。引入Char-LSTM后模型比較難訓(xùn)練,淘寶使用query和標(biāo)題文本語(yǔ)料pretraining LSTM-AutoEncoder, 獲得比較好的初始參數(shù);同時(shí)TOP詞的embedding采用word2vec初始化,模型能更快收斂。
(2) 在商品標(biāo)題的embedding上增加了一個(gè)類(lèi)目預(yù)測(cè)的輔助task, 使得不同類(lèi)目的商品在向量空間內(nèi)有更好的區(qū)分度,對(duì)模型效果和收斂速度都有比較好的提升。
(3) online ranking對(duì)latency要求比較高,除了工程優(yōu)化外,模型上也有優(yōu)化空間。在數(shù)據(jù)上實(shí)驗(yàn)發(fā)現(xiàn)compare function中全連層的深度和寬度對(duì)模型影響比較大。全連層寬一些效果會(huì)比較好,但計(jì)算量增加會(huì)很大;借鑒ResNet全連層設(shè)置窄一些,并加深模型,可以保證效果同時(shí)較大減少計(jì)算量。
淘寶改進(jìn)DSSM結(jié)構(gòu)
9. 基于詞語(yǔ)粒度的相似度矩陣
如下圖,Meng在其文章中直接基于詞向量計(jì)算輸入文本對(duì)兒在單詞粒度上的相似度(計(jì)算方式有多種:歐式距離、余弦距離、參數(shù)化的相似矩陣),并以此為后續(xù)深層卷積神經(jīng)網(wǎng)絡(luò)的輸入,最終學(xué)習(xí)得到的向量經(jīng)過(guò)全連接層和softmax層進(jìn)行預(yù)測(cè)。
相似度矩陣
10. LSF-SCNN
下圖展示了LSF-SCNN的整體框架圖,自底向上,LSF-SCNN模型由3個(gè)模塊組成:
(1)對(duì)于輸入的問(wèn)題和候選答案,利用詞匯語(yǔ)義特征技術(shù)為每個(gè)單詞計(jì)算LSF特征值,以此來(lái)表征問(wèn)題與答案之間的語(yǔ)義交互特征。LSF特征會(huì)和詞嵌入拼接在一起構(gòu)成詞語(yǔ)粒度上更加豐富的特征表達(dá),表達(dá)詞的向量再次拼接構(gòu)成句子矩陣。
(2)問(wèn)題和候選答案的句子矩陣經(jīng)過(guò)跳躍卷積層和K-Max均值采樣層,最終形成對(duì)問(wèn)題和答案各自的向量表達(dá),記作Xq和Xa 。
(3)Xq和Xa會(huì)根據(jù)學(xué)習(xí)得到的相似度計(jì)算矩陣M得到一個(gè)相似度分?jǐn)?shù)。最后,相似度分?jǐn)?shù)和Xq、Xa整合一起作為分類(lèi)器的輸入,最終得到輸入候選答案a被預(yù)測(cè)為正確答案和錯(cuò)誤答案的概率。
LSF-SCNN
11. 美團(tuán)改進(jìn)ClickNet模型
針對(duì)美團(tuán)場(chǎng)景設(shè)計(jì)的點(diǎn)擊相似度框架ClickNet,是比較輕量級(jí)的模型,兼顧了效果和性能兩方面,能很好推廣到線(xiàn)上應(yīng)用,如圖所示。
ClickNet









