近年來(lái),智能對(duì)話還出現(xiàn)了新的應(yīng)用場(chǎng)景,例如可以將自然語(yǔ)言轉(zhuǎn)換為各種程序性語(yǔ)言,如SQL,從數(shù)據(jù)庫(kù)中找到相應(yīng)的答案,讓用戶和數(shù)據(jù)庫(kù)的交互變得更加直接和方便。
1問(wèn)題語(yǔ)義等價(jià)的重要性
盡管智能對(duì)話系統(tǒng)取得了長(zhǎng)足的進(jìn)展,但對(duì)于專業(yè)性非常強(qiáng)的對(duì)話系統(tǒng),自動(dòng)構(gòu)建回答對(duì)的技術(shù)尚不能保證其回答的絕對(duì)正確性。另一方面,專業(yè)性非常強(qiáng)的對(duì)話系統(tǒng)相比以閑聊為目的的對(duì)話系統(tǒng)而言,是更有業(yè)務(wù)價(jià)值的。對(duì)于專業(yè)性非常強(qiáng)的對(duì)話系統(tǒng),其挑戰(zhàn)在于,問(wèn)題回答稍有不慎,往小了說(shuō)可能對(duì)用戶造成困惑,往大了說(shuō)甚至?xí)鸱杉m紛,這種情況對(duì)于政府機(jī)構(gòu)、金融機(jī)構(gòu)和大型企業(yè)都是存在的。在這種情況下,目前最可靠的方法仍然是通過(guò)人工構(gòu)建問(wèn)答對(duì)來(lái)獲取答案。然而針對(duì)基于問(wèn)答對(duì)的問(wèn)答系統(tǒng),雖然我們可以采取人工擴(kuò)充問(wèn)答對(duì)的方式來(lái)提高系統(tǒng)系統(tǒng)匹配的準(zhǔn)確性,但是由于自然語(yǔ)言本身的復(fù)雜性,采用窮舉的方式去列出用戶對(duì)于同一問(wèn)題所有可能的問(wèn)法需要耗費(fèi)大量人力物力,這是不現(xiàn)實(shí)的。舉例來(lái)說(shuō),即使對(duì)于詢問(wèn)天氣這樣的簡(jiǎn)單問(wèn)題,其問(wèn)法可能也是多種多樣的。比如說(shuō),用戶可能會(huì)采用”請(qǐng)問(wèn),北京明天天氣怎么樣?”,”北京明天多少度?”,”北京明天天兒咋樣?”等等問(wèn)法。在這種情況下,所需要的算法是一種能夠判別給定的問(wèn)題和問(wèn)題庫(kù)中的問(wèn)題是否語(yǔ)義上等價(jià)的模型。
簡(jiǎn)單的看起來(lái),似乎只需要判斷兩個(gè)句子的相似度,例如其重合詞語(yǔ)的個(gè)數(shù)即可以解決。但事實(shí)上,判斷句子是否等價(jià)的任務(wù)要遠(yuǎn)遠(yuǎn)比單純的詞語(yǔ)匹配復(fù)雜。舉例來(lái)說(shuō),問(wèn)題”市政府的管轄范圍是什么?”和”市長(zhǎng)的管轄范圍是什么?”僅有兩個(gè)字的差異,但兩者語(yǔ)義是不相同的,因此其回答也應(yīng)該不一樣的。另一方面來(lái)說(shuō),”市政府的職責(zé)是什么”和”請(qǐng)問(wèn),從法律上來(lái)講,市政府究竟可以管哪些事情”這兩個(gè)問(wèn)題,除去在”市政府”一詞外,幾乎是沒(méi)有任何重合的,但兩者語(yǔ)義是等價(jià)的,因此其答案也應(yīng)該是一樣的。
從這幾個(gè)例子來(lái)看,句子匹配的任務(wù)需要模型能夠真正理解其句子的語(yǔ)義。而今天我們所介紹的模型就是如何讓機(jī)器更有效的理解和分析兩個(gè)句子的含義,并進(jìn)行語(yǔ)義等價(jià)比較。而我們采用的方法借鑒了MMD在圖像處理時(shí)用到的深度匹配思想,并將此思想運(yùn)用在了BERT多層網(wǎng)絡(luò)模型上。
2基于BERT和BIMPM的問(wèn)題語(yǔ)義等價(jià)新模型
在BERT等預(yù)訓(xùn)練模型出現(xiàn)之前,語(yǔ)義本身的表達(dá)一般是用word vector來(lái)實(shí)現(xiàn)。為了得到句子的深層語(yǔ)義表達(dá),所采用的方法往往是在上層架設(shè)網(wǎng)絡(luò),以BIMPM為例,BIMPM是一種matching-aggregation的方法,它對(duì)兩個(gè)句子的單元做匹配,如經(jīng)過(guò)LSTM處理后得到不同的time step輸出,然后通過(guò)一個(gè)神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)化為向量,然后再將向量做匹配。下面來(lái)詳細(xì)介紹一下BIMPM的大體流程,如圖中所示,從Word Representation Layer 開(kāi)始,將每個(gè)句子中的每個(gè)詞語(yǔ)表示成d維向量,然后經(jīng)過(guò)Context Representation Layer 將上下文的信息融合到需要對(duì)比的P和Q兩個(gè)問(wèn)題中的每個(gè)time-step表示。Matching Layer 則會(huì)比較問(wèn)題P和問(wèn)題Q的所有上下文向量,這里會(huì)用到multi-perspective 的匹配方法,用于獲取兩個(gè)問(wèn)題細(xì)粒度的聯(lián)系信息,然后進(jìn)入Aggregation Layer 聚合多個(gè)匹配向量序列,組成一個(gè)固定長(zhǎng)度的匹配向量,最后用于Prediction Layer 進(jìn)行預(yù)測(cè)概率。
通過(guò)BIMPM模型可以捕捉到句子之間的交互特征,但是這樣的匹配僅僅也只是在表層特征進(jìn)行比較,并不涉及深層次的特征比較。為了進(jìn)行深層次的特征比較,我們借鑒了圖像中的MMD思想,Maximum Mean Discrepancy,即最大平均差異,通過(guò)深度神經(jīng)網(wǎng)絡(luò)的特征變換能力,對(duì)變換后的特征分布進(jìn)行匹配。MMD的最大優(yōu)點(diǎn)在于它不僅進(jìn)行表層特征的匹配,還進(jìn)行深層次特征的匹配,這樣可以更精確地計(jì)算出特征之間的匹配程度,提升模型的效果。拿圖像對(duì)比來(lái)舉例,圖像中所蘊(yùn)含的信息不單單是由表層特征就可以來(lái)涵蓋的,往往是通過(guò)表層、多個(gè)隱藏層以及它們之間不同的參數(shù)相加得到的結(jié)果??墒菫槭裁催@種方法很少在NLP領(lǐng)域聽(tīng)聞呢?因?yàn)橹暗哪P腿鏐IMPM 是總結(jié)表層的特征,而并非深層特征。BIMPM將每個(gè)句子中的每個(gè)詞語(yǔ)表示成d維向量,然后經(jīng)過(guò)Context Representation Layer,將上下文的信息融合到需要對(duì)比的P和Q兩個(gè)句子中的time-step表示,最終比較句子P和句子Q的所有上下文向量,但它也只是對(duì)表層特征進(jìn)行匹配,從而忽略很多額外的語(yǔ)義特征,但是BERT 預(yù)訓(xùn)練模型的流行,讓深層特征匹配成為了現(xiàn)實(shí)。
如果我們將MMD的思想應(yīng)用到句子匹配的任務(wù)上,并用BERT預(yù)訓(xùn)練深層模型來(lái)實(shí)現(xiàn),就會(huì)得到一個(gè)重要的啟發(fā),MMD思想的主要效果來(lái)源于它將BERT預(yù)訓(xùn)練深層模型的不同層表示進(jìn)行匹配,形象地來(lái)說(shuō),這是一種”向下匹配”的思維。而B(niǎo)IMPM由于在BERT之前出現(xiàn),其語(yǔ)義表示只能通過(guò)詞(字)向量和LSTM等網(wǎng)絡(luò)進(jìn)行,因此它捕捉特征表示的方法只能通過(guò)”向上匹配”。這是否意味著自從BERT出現(xiàn)以后,將這兩種方式進(jìn)行結(jié)合呢?
基于這個(gè)思路,我們在本文中提出了問(wèn)題語(yǔ)義等價(jià)的層次匹配模型,它的思想是將特征”向下匹配”和”向上匹配”相結(jié)合。在具體的實(shí)現(xiàn)上,我們分別從BERT深層模型的最后幾層中提取特征通過(guò)加法進(jìn)行拼接,替代原始的字向量輸入到BIMPM模型當(dāng)中。這種做法是和MMD很相似的,只不過(guò)MMD中采用各種距離函數(shù),而在這里我們采用的是多種匹配函數(shù)。除此之外,我們對(duì)BIMPM模型也做了以下修改:
首先,我們?nèi)サ袅嗽糂IMPM模型中接在字向量層的Bi-LSTM模型,之所以這樣做,其原因在于LSTM并沒(méi)有設(shè)計(jì)機(jī)制保證梯度向深度模型的后向傳導(dǎo);其次,我們用Transformer模型替代了BIMPM最上層的Bi-LSTM模型。這樣做的原因主要是考慮到Bi-LSTM能夠捕捉數(shù)據(jù)當(dāng)中的序列特征。但是由于BIMPM采用多種匹配后,其序列性并不強(qiáng),所以Transformer更適合該模型。
3模型的實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)一:Quora數(shù)據(jù)集上的問(wèn)題語(yǔ)義等價(jià)我們提出的問(wèn)題層次匹配模型在公開(kāi)的Quora數(shù)據(jù)集達(dá)到了目前的State-of-the-art,這個(gè)數(shù)據(jù)集包括了超過(guò)400,000問(wèn)題組,專門(mén)用來(lái)研究?jī)蓚€(gè)句子是否語(yǔ)義等價(jià)的二分問(wèn)題。因?yàn)樵摂?shù)據(jù)集的標(biāo)注質(zhì)量非常高,它經(jīng)常用來(lái)測(cè)試語(yǔ)義理解的模型效果,我們按照7:2:1的比例來(lái)分配訓(xùn)練集、驗(yàn)證集和測(cè)試集,測(cè)試集上的具體實(shí)驗(yàn)結(jié)果如下:
為了進(jìn)行對(duì)比,我們第一個(gè)結(jié)果為BERT單模型的的結(jié)果,第二個(gè)、第三個(gè)則分別為BERT和ABCNN、BERT和BIMPM的結(jié)果。在配對(duì)深度方面,我們選擇了BERT預(yù)訓(xùn)練模型的表層一層、表面兩層和表面三層,隨著層數(shù)的增加我們應(yīng)用了橫向合并和縱向合并。
如上表中結(jié)果所示,BERT和BIMPM的結(jié)合已經(jīng)比兩個(gè)單模型的表現(xiàn)要出色。在BIMPM中,我們先去除了Bi-LSTM,其模型的表現(xiàn)降低到了88.55%,如果我們?cè)谂鋵?duì)層之后繼續(xù)去除Bi-LSTM,其模型的表現(xiàn)會(huì)降低到87.8%。我們還可以看出,在預(yù)訓(xùn)練模型中增加上層模型可以提升幾個(gè)點(diǎn)的表現(xiàn),隨著層數(shù)的增加,可以得到更高的F1值和準(zhǔn)確率。
實(shí)驗(yàn)二:SLNI子數(shù)據(jù)集上的問(wèn)題語(yǔ)義等價(jià)為了確保實(shí)驗(yàn)結(jié)論的有效性,除去Quora的數(shù)據(jù)集之外,我們還采用了SLNI數(shù)據(jù)集當(dāng)中包含句子等價(jià)性的數(shù)據(jù)集,該數(shù)據(jù)集包括55萬(wàn)條訓(xùn)練集和10000條測(cè)試集。很多學(xué)者都用了這些數(shù)據(jù)來(lái)測(cè)試他們的模型包效果,對(duì)比這些模型,我們的準(zhǔn)確率上有將近兩個(gè)點(diǎn)的提升,達(dá)到了目前的State-of-the-art,具體實(shí)驗(yàn)結(jié)果如下表所示:
在本文中,我們介紹了一種新的問(wèn)句語(yǔ)義匹配模型,在后BERT時(shí)代,該模型的核心思想是通過(guò)抽取語(yǔ)言模型中不同層的表示而達(dá)到更好的匹配效果。針對(duì)目前層出不窮的深層預(yù)訓(xùn)練語(yǔ)言模型,例如Roberta、ERNIE、XLNet等,這種思路無(wú)疑是值得嘗試和探索的。從簡(jiǎn)單的層面來(lái)說(shuō),對(duì)于一些不同的基礎(chǔ)NLP任務(wù),例如文本分類、序列標(biāo)注、關(guān)系提取、語(yǔ)義分析等,我們完全可以通過(guò)提取不同層面的特征來(lái)提升效果。從更廣的角度而言,MMD在計(jì)算機(jī)視覺(jué)領(lǐng)域的域遷移取得了良好的效果,而在NLP領(lǐng)域目前尚無(wú)采用深層提取特征的嘗試,而這種嘗試從邏輯上來(lái)說(shuō)應(yīng)該是完全可行的。在目前半監(jiān)督學(xué)習(xí)和域遷移正成為NLP研究熱點(diǎn)的情況下,這種思維可以作為一種重要的嘗試方向。從一個(gè)角度來(lái)說(shuō),對(duì)于問(wèn)句語(yǔ)義匹配來(lái)說(shuō),雖然我們提出的新模型達(dá)到了很好的效果,但是對(duì)于智能對(duì)話系統(tǒng)來(lái)說(shuō),僅僅應(yīng)用一個(gè)等價(jià)性模型并不能解決全部問(wèn)題。舉例來(lái)說(shuō),由于問(wèn)題庫(kù)當(dāng)中的候選問(wèn)句較多,如果每次用戶提出問(wèn)題都要匹配問(wèn)題庫(kù)中的全部問(wèn)句,顯然是不現(xiàn)實(shí)的。這種情況下,有至少兩種解決方案:一種是通過(guò)network distillation的方法或其它網(wǎng)絡(luò),降低單次推理所耗費(fèi)的算力和時(shí)間,但是這種方法所帶來(lái)的效果往往是有限的;更現(xiàn)實(shí)的一種方法是先通過(guò)簡(jiǎn)單的算法召回一部分候選問(wèn)題,但是這種情況下如何平衡召回率和效率卻并不簡(jiǎn)單。
此外,在本文中,我們只考慮了問(wèn)題語(yǔ)義等價(jià)或不等價(jià)的情況。但如果問(wèn)題庫(kù)不夠完整,在沒(méi)有識(shí)別出等價(jià)問(wèn)題的情況下,僅返回安全回答常常會(huì)降低用戶的體驗(yàn)。在這種情況下,通常的做法是返回相似或相關(guān)的問(wèn)題,這是一個(gè)問(wèn)句語(yǔ)義相似度的計(jì)算問(wèn)題,也是我們需要進(jìn)一步研究的。
來(lái)源:百分點(diǎn)認(rèn)知智能實(shí)驗(yàn)室