近日,阿里 AI 開源了新一代人機(jī)對(duì)話模型 Enhanced Sequential Inference Model(ESIM)。ESIM 是一種專為自然語言推斷而生的加強(qiáng)版 LSTM,據(jù)阿里介紹,該算法模型自 2017 年被提出之后,已被谷歌、facebook 在內(nèi)的國際學(xué)術(shù)界在論文中引用 200 多次,更曾在國際頂級(jí)對(duì)話系統(tǒng)評(píng)測(cè)大賽(DSTC7)上獲得雙料冠軍,并將人機(jī)對(duì)話準(zhǔn)確率的世界紀(jì)錄提升至 94.1%。
ESIM 模型在智能客服、導(dǎo)航軟件、智能音箱等場(chǎng)景均具有廣泛的應(yīng)用前景。阿里 AI 發(fā)布了相關(guān)論文介紹了該模型,雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng)) AI 科技評(píng)論將其編譯如下。
ESIM 引入背景
極具潛力和商業(yè)價(jià)值的人機(jī)對(duì)話系統(tǒng)正在受到越來越多的關(guān)注。隨著近來深度學(xué)習(xí)模型的引入,我們?cè)跇?gòu)建端到端的對(duì)話系統(tǒng)過程中有了更高的成功幾率。然而這一對(duì)話系統(tǒng)的構(gòu)建仍然充滿了挑戰(zhàn),它要求系統(tǒng)記憶并理解多輪對(duì)話文本,而不是像單輪對(duì)話系統(tǒng)那樣僅僅考慮當(dāng)前的話語內(nèi)容。
多輪對(duì)話系統(tǒng)建模可分為基于生成文本的方法和基于檢索的方法。基于檢索的方法將從多輪對(duì)話的候選池中選擇最佳回復(fù),該方法可視為對(duì)多輪回復(fù)文本選擇任務(wù)的執(zhí)行。選擇回復(fù)文本的典型方法主要包括基于序列的方法和基于層級(jí)信息的方法。基于序列的方法通常將對(duì)話連接成一個(gè)長序列,而基于層級(jí)信息的方法通常會(huì)分別對(duì)每個(gè)對(duì)話文本進(jìn)行建模,然后再對(duì)話語之間的交互進(jìn)行建模。
最近,有研究工作稱基于層級(jí)信息的方法與復(fù)雜神經(jīng)網(wǎng)絡(luò)結(jié)合可以實(shí)現(xiàn)比基于序列方法更顯著的增益效果。但在本文中,我們依然選擇研究基于序列的方法即增強(qiáng)序列推理模型(ESIM)的有效性,該模型最初是為了自然語言推理(NLI)任務(wù)而開發(fā)。
在 DSTC7 對(duì)話回復(fù)選擇挑戰(zhàn)賽中,我們的模型在兩個(gè)數(shù)據(jù)集(即 Advising 和 Ubuntu 數(shù)據(jù)集)中都排名第一。除此之外,我們的模型在兩個(gè)大型公共基準(zhǔn)數(shù)據(jù)集(Lowe's Ubuntu)上都比以前所有模型的效果更好,其中也包括上面所提到的最先進(jìn)的基于層級(jí)信息的模型。我們的開源代碼可在 https://github.com/alibaba/ESIM 上獲得。
基于層級(jí)信息的方法通常會(huì)使用額外的神經(jīng)網(wǎng)絡(luò)來對(duì)多輪對(duì)話之間的關(guān)系進(jìn)行模擬,該方法需要將多輪對(duì)話中的文本進(jìn)行分段截取,使其具有相同的長度并且短于最大長度。然而,每輪對(duì)話的長度通常在實(shí)際任務(wù)中會(huì)有很大的變化,當(dāng)使用較大的最大長度值時(shí),我們則需要在基于層級(jí)信息的方法中添加大量的 0 進(jìn)行填充,這將極大地增加計(jì)算復(fù)雜性和內(nèi)存成本;而當(dāng)使用較小的最大長度時(shí),我們則可能在多輪對(duì)話環(huán)境中丟失一些重要信息。
我們建議在多輪對(duì)話回復(fù)選擇任務(wù)中使用基于序列的 ESIM 模型來有效地解決基于層級(jí)信息方法所遇到的上述問題。該方法將多輪對(duì)話內(nèi)容連接成一個(gè)長序列,并將多輪對(duì)話回復(fù)選擇任務(wù)轉(zhuǎn)換為一個(gè)句子對(duì)的二進(jìn)制分類(即下一個(gè)句子是否是當(dāng)前對(duì)話的回復(fù))任務(wù)。
與基于層級(jí)信息的方法相比,ESIM 有兩個(gè)主要優(yōu)點(diǎn)。首先,由于 ESIM 不需要使每個(gè)話語具有相同的長度,因此它具有較少的零填充,可以比基于層級(jí)信息的方法更具計(jì)算效率。其次,ESIM 以一種有效的方式隱式地模擬對(duì)話中話語之間的交互,而并沒有使用額外復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),詳情如下文中「模型說明」部分所述。
任務(wù)描述
對(duì)話系統(tǒng)技術(shù)挑戰(zhàn)賽(DSTC7)劃分了三個(gè)不同的賽道,而我們提出的方法則是針對(duì)「端到端的回復(fù)選擇」主題的賽道。該賽道側(cè)重于面向目標(biāo)的多輪對(duì)話,著重于從一組對(duì)話候選文本中選擇正確的回復(fù)。參與該賽道的比賽系統(tǒng)不能使用基于人工數(shù)據(jù)或基于規(guī)則的數(shù)據(jù),而需要使用比賽方提供的 Ubuntu 和 Advising 這兩個(gè)數(shù)據(jù)集,這些在「實(shí)驗(yàn)部分」我們會(huì)做詳細(xì)的介紹。
「端到端的回復(fù)選擇」賽道提供了一系列具有相似結(jié)構(gòu)的子任務(wù),但在輸出部分和可用于對(duì)話部分的任務(wù)各不相同。在圖 1 中,「√」表示在標(biāo)記的數(shù)據(jù)集上評(píng)估任務(wù),「×」表示未在該數(shù)據(jù)集上進(jìn)行任務(wù)評(píng)估。
模型說明
多輪回復(fù)選擇任務(wù)是在給定多輪對(duì)話的情況下,從候選池中選擇下一對(duì)話內(nèi)容。我們將問題轉(zhuǎn)換為二進(jìn)制分類任務(wù),即對(duì)于給定多輪對(duì)話和候選回復(fù),我們的模型只需要確定候選回復(fù)是否正確。在本節(jié)中,我們將介紹這個(gè)起初專為自然語言推理開發(fā)的模型——增強(qiáng)順序推理模型(ESIM)。該模型由三個(gè)主要組成部分組成,即輸入編碼(Input Encoding)、局部匹配(Local Matching)和匹配合成(Matching Composition),如圖 2 所示。
輸入編碼
輸入編碼部分則執(zhí)行對(duì)對(duì)話信息進(jìn)行編碼,以及在對(duì)話含義中的做標(biāo)記的任務(wù)。ESIM 和基于層級(jí)信息的方法不同,后者通過復(fù)雜的層級(jí)信息來編碼對(duì)話信息,而 ESIM 則是像這樣簡單地編碼對(duì)話信息——首先,將多輪對(duì)話內(nèi)容連接為長序列,其被標(biāo)記為 c =(c1 ;:::;cm);候選回復(fù)被標(biāo)記為 r =(r1 ;:::; rn);然后使用預(yù)訓(xùn)練的字嵌入 E ∈ R de×|V|(其中 |V| 是詞匯量大小,de 是詞語嵌入的維度)將 c 和 r 轉(zhuǎn)換為兩個(gè)矢量序列 [E(c1);:::;E(cm)] 和 [E(r1);:::; E(rn)]。其中有許多類型的預(yù)訓(xùn)練詞嵌入,在這里我們提出了一種利用多個(gè)嵌入的方法——給定 k 個(gè)預(yù)訓(xùn)字嵌入 E1 ;:::; Ek,我們連接單詞 i 的所有嵌入,如:E(ci)= [E1(ci);:::; EK(CI)];然后再使用具有 ReLU 的前饋層將詞語嵌入的維度從(de1 + + dek)減小到 dh。
為了在其對(duì)話含義中表示標(biāo)記,我們將對(duì)話和回復(fù)輸入 BiLSTM 編碼器來獲得依賴于對(duì)話隱藏狀態(tài)的 cs和 rs:
其中 i 和 j 分別表示對(duì)話中的第 i 個(gè)標(biāo)記和回復(fù)中的第 j 個(gè)標(biāo)記。
局部匹配
對(duì)話和回復(fù)之間的局部語義關(guān)系建模是確定回復(fù)是否正確的關(guān)鍵組件。因?yàn)檎_的回復(fù)通常與文本中的一些關(guān)鍵字有關(guān),它可以通過對(duì)局部語義關(guān)系建模來獲得。我們并不是直接將對(duì)話和回復(fù)編碼為兩個(gè)密集向量,而是使用交叉注意力機(jī)制將標(biāo)記與對(duì)話對(duì)齊并重新回復(fù),然后計(jì)算標(biāo)記層級(jí)的語義關(guān)系。注意力機(jī)制的權(quán)重計(jì)算如下:
軟對(duì)齊用于獲得對(duì)話與回復(fù)之間的局部相關(guān)性,其由上述等式中的注意力機(jī)制力矩陣 e ∈ R m×n 計(jì)算而得。然后,對(duì)于對(duì)話中第 i 個(gè)標(biāo)記的隱藏狀態(tài),即 cis(已編碼標(biāo)記本身及其對(duì)話含義),候選回復(fù)中的相關(guān)語義被識(shí)別為向量 cid,在此稱為雙向量,它是所有回復(fù)狀態(tài)的加權(quán)組合,公式如下所示:
其中α ∈ R m×n 和 β ∈ R m×n 是相對(duì)于軸 2 和軸 1 的歸一化注意力機(jī)制權(quán)重矩陣。我們對(duì)回復(fù)中每個(gè)標(biāo)記的隱藏狀態(tài) rjs,執(zhí)行類似的計(jì)算,公式如下:
通過比較矢量對(duì)<>,我們可以模擬對(duì)齊標(biāo)記對(duì)之間的標(biāo)記層級(jí)語義關(guān)系。類似的計(jì)算也適用于矢量對(duì)<
>。我們收集如下的局部匹配信息:
在這里,我們使用了一種啟發(fā)式的差分匹配方法和基于元素的產(chǎn)物來分別獲得對(duì)話和回復(fù)的局部匹配向量 和
。其中 F 是一個(gè)單層前饋神經(jīng)網(wǎng)絡(luò),可以使用 RELU 減少維數(shù)。
匹配合成
匹配合成的實(shí)現(xiàn)如下:為了確定回復(fù)是否是當(dāng)前對(duì)話的下一個(gè)話語,我們探索了一個(gè)集成層來集成所得的局部匹配向量(cl 和 rl):
我們?cè)俅问褂?BiLSTM 作為集成圖層的構(gòu)建塊,但 BiLSTMs 的作用與輸入編碼圖層的作用完全不同。這里的 BiLSTM 讀取局部匹配向量(cl 和 rl)并學(xué)習(xí)對(duì)關(guān)鍵局部匹配向量進(jìn)行區(qū)分從而獲得總體對(duì)話的層級(jí)關(guān)系。
BiLSTM2 的輸出隱藏向量通過集成的操作轉(zhuǎn)換為固定長度向量,并饋送到最終的分類器以確定整體關(guān)系;其中最大值和平均值將被使用并連接在一起,來獲得一個(gè)固定長度的向量;最后一個(gè)矢量被送入有一個(gè)隱藏層、TANH 激活層和 SOFTMAX 輸出層的多層感知器(MLP)分類器中;整個(gè)過程通過端到端的方式來最小化交叉熵?fù)p失,從而訓(xùn)練整個(gè) ESIM 模型。
基于句子編碼的方法
對(duì)于 Ubuntu 數(shù)據(jù)集中的子任務(wù) 2,我們需要從 120000 個(gè)句子的候選池中選擇下一個(gè)回復(fù)話語;如果我們直接使用基于交叉注意力機(jī)制的 ESIM 模型,則計(jì)算成本是讓人難以接受的。相反,我們先使用基于句子編碼的方法從 120000 個(gè)句子中選擇前 100 個(gè)候選話語,然后使用 ESIM 重新排列它們,這樣的方式也是行之有效的。
基于句子編碼的方法使用了圖 3 所示的 Siamese 架構(gòu),它應(yīng)用參數(shù)綁定神經(jīng)網(wǎng)絡(luò)來編碼對(duì)話和回復(fù);然后再使用神經(jīng)網(wǎng)絡(luò)分類器來確定兩個(gè)句子之間的關(guān)系。在這里,我們使用具有多頭自注意力機(jī)制池中的 BiLSTM 來對(duì)句子進(jìn)行編碼,以及用 MLP 進(jìn)行分類。
我們使用與 ESIM 相同的輸入編碼過程。為了將可變長度句子變換為固定長度矢量表示,我們使用所有 BiLSTM 隱藏向量(H)的加權(quán)求和:
是權(quán)重矩陣;
是偏差; da 是關(guān)注網(wǎng)絡(luò)的維度,dh 是 BiLSTM 的維度。
是 BiLSTM 的隱藏向量,其中 T 表示序列的長度。
是多頭注意力機(jī)制權(quán)重矩陣,其中 dm 是需要使用保持集調(diào)整的頭數(shù)的超參數(shù)。我們不是使用最大池或平均池,而是根據(jù)權(quán)重矩陣 A 對(duì) BiLSTM 隱藏狀態(tài) H 求和,以得到輸入句子的向量表示:
其中矩陣 可以轉(zhuǎn)換為矢量表示
。為了增強(qiáng)句子對(duì)之間的關(guān)系,與 ESIM 類似,我們將兩個(gè)句子的嵌入及其絕對(duì)差異和元素乘積連接為 MLP 分類器的輸入:
MLP 有 ReLU 激活層、快捷連接層和 softmax 輸出層,并能夠通過最小化交叉熵?fù)p失對(duì)整個(gè)模型進(jìn)行端到端的訓(xùn)練。
實(shí)驗(yàn)
數(shù)據(jù)集
我們?cè)?DSTC7「端到端的回復(fù)選擇」賽道的兩個(gè)數(shù)據(jù)集上測(cè)試了我們的模型,即 Ubuntu 和 Advising 數(shù)據(jù)集。此外,為了與以前的方法進(jìn)行比較,我們還在兩個(gè)大規(guī)模的公共回復(fù)選擇基準(zhǔn)數(shù)據(jù)集上測(cè)試了我們的模型,即 Lowe 的 Ubuntu 數(shù)據(jù)集和電子商務(wù)數(shù)據(jù)集。
Ubuntu 數(shù)據(jù)集。Ubuntu 數(shù)據(jù)集包括了來自 Ubuntu Internet Relay Chat(IRC)的雙人對(duì)話數(shù)據(jù)。在這個(gè)挑戰(zhàn)下,每個(gè)對(duì)話框包含了超過 3 個(gè)回合的對(duì)話,系統(tǒng)被要求從給定的候選句子集中選擇下一個(gè)回復(fù)話語,其中 Linux 手冊(cè)頁會(huì)作為外部知識(shí)提供給參賽者。我們使用了與 Lowe 提出的類似數(shù)據(jù)增強(qiáng)策略,即我們將每個(gè)話語(從第二個(gè)開始)視為潛在回復(fù),而先前的話語作為其對(duì)話;因此,長度為 10 的對(duì)話將產(chǎn)生 9 個(gè)訓(xùn)練樣例。為了訓(xùn)練二進(jìn)制分類器,我們需要從候選池中抽取負(fù)面(錯(cuò)誤)的回復(fù)。最初,我們使用正負(fù)回復(fù)比率為 1:1 來平衡樣本;后來我們發(fā)現(xiàn)使用更多的負(fù)面回復(fù)將能夠有效改善結(jié)果,如 1:4 或 1:9。考慮到效率因素,我們?cè)谒凶尤蝿?wù)的最終配置中除了子任務(wù) 2 采用了 1:1 的正負(fù)回復(fù)比率,其余均選擇了 1:4 的正負(fù)回復(fù)比率。
Advising 數(shù)據(jù)集。Advising 數(shù)據(jù)集包括了模擬學(xué)生和學(xué)術(shù)顧問之間討論的雙人對(duì)話數(shù)據(jù);結(jié)構(gòu)化信息則作為數(shù)據(jù)庫提供,包括了課程信息和角色;其中數(shù)據(jù)還包括了句子的釋義和目標(biāo)回復(fù)。我們使用類似的數(shù)據(jù)增強(qiáng)策略,基于原始對(duì)話及其釋義的 Ubuntu 數(shù)據(jù)集,正面回復(fù)之間的比率是 1:4.33。
Lowe 的 Ubuntu 數(shù)據(jù)集。此數(shù)據(jù)集類似于 DSTC7 Ubuntu 數(shù)據(jù),訓(xùn)練集包含了一百萬個(gè)對(duì)話-回復(fù)對(duì),正負(fù)回復(fù)之間的比率為 1:1。在開發(fā)和測(cè)試集上,每個(gè)對(duì)話關(guān)聯(lián)了一個(gè)肯定回復(fù)和 9 個(gè)否定回復(fù)。
電子商務(wù)數(shù)據(jù)集。電子商務(wù)數(shù)據(jù)集是從中國最大的電子商務(wù)平臺(tái)淘寶網(wǎng)的客戶與客戶服務(wù)人員之間的真實(shí)對(duì)話中收集的。訓(xùn)練和開發(fā)集中的正負(fù)回復(fù)之間的比率為 1:1,測(cè)試集中的比率為 1:9。
數(shù)據(jù)訓(xùn)練
我們使用 spaCy3 來標(biāo)記兩個(gè) DSTC7 數(shù)據(jù)集的文本,并使用原始標(biāo)記化文本,這過程中無需對(duì)兩個(gè)公共數(shù)據(jù)集進(jìn)行任何進(jìn)一步的預(yù)處理;然后再對(duì)多輪對(duì)話內(nèi)容進(jìn)行連接并插入兩個(gè)特殊標(biāo)記 eou 和 eot,其中 eou 表示話語結(jié)束,eot 表示結(jié)束。
超參數(shù)基于開發(fā)集進(jìn)行調(diào)整。我們使用 GloVe 和 fastText 作為預(yù)訓(xùn)練的單詞嵌入。對(duì)于 Ubuntu 數(shù)據(jù)集的子任務(wù) 5,我們用 word2vec 從所提供的 Linux 手冊(cè)頁中訓(xùn)練了單詞嵌入。詳細(xì)信息如圖 4 所示。
請(qǐng)注意,對(duì)于 Advising 數(shù)據(jù)集的子任務(wù) 5,我們嘗試使用建議的課程信息作為外部知識(shí),但并沒有觀察到任何有效提升;因此,我們?cè)诓皇褂萌魏瓮獠恐R(shí)的情況下提交了 Advising 數(shù)據(jù)集的結(jié)果。對(duì)于 Lowe 的 Ubuntu 和電子商務(wù)數(shù)據(jù)集,我們使用 word2vec 對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練的單詞嵌入。在兩個(gè) DSTC7 數(shù)據(jù)集的訓(xùn)練過程中,預(yù)先訓(xùn)練的嵌入是固定的,但是我們針對(duì) Lowe 的 Ubuntu 和電子商務(wù)數(shù)據(jù)集進(jìn)行了微調(diào)。
Adam 算法則被用于訓(xùn)練過程中的優(yōu)化。已知 Lowe 的 Ubuntu 數(shù)據(jù)集的初始學(xué)習(xí)率為 0.0002,其余為 0.0004 的情況下;對(duì)于 DSTC7 數(shù)據(jù)集,小批量數(shù)據(jù)的大小設(shè)置為 128,對(duì)于 Lowe 的 Ubuntu 數(shù)據(jù)集,小批量數(shù)據(jù)的大小設(shè)置為 16,對(duì)于電子商務(wù)數(shù)據(jù)集,小批量數(shù)據(jù)的大小為 32。BALTMS 和 MLP 的隱藏大小設(shè)置為 300。
為了使序列小于最大長度,我們切斷了回復(fù)的最后一個(gè)標(biāo)記,但同時(shí)對(duì)上下文進(jìn)行了反向切斷;這是因?yàn)槲覀兗僭O(shè)上下文中的最后幾句話比前幾句話更重要。對(duì)于 Lowe 的 Ubuntu 數(shù)據(jù)集,上下文序列和回復(fù)序列的最大值分別為 400 和 150;對(duì)于電子商務(wù)數(shù)據(jù)集,對(duì)應(yīng)最大值為 300 和 50;其余數(shù)據(jù)集分別為 300 和 30。
更詳細(xì)的方法細(xì)節(jié)為:對(duì)于 DSTC7 Ubuntu 的子任務(wù) 2,我們使用 BILSTM 的隱藏序列長度為 400,并用 4 個(gè)頭來進(jìn)行句子編碼方法。對(duì)于子任務(wù) 4,候選池可能不包含正確的下一個(gè)話語,因此我們需要選擇一個(gè)閾值;當(dāng)正面標(biāo)記的概率低于閾值時(shí),我們預(yù)測(cè)候選池不包含正確的下一個(gè)話語。閾值則基于開發(fā)集從 [0:50; 0:51; ::; 0:99] 中進(jìn)行選擇。
結(jié)果
圖 5 總結(jié)了所有 DSTC7 回復(fù)選擇子任務(wù)的結(jié)果。挑戰(zhàn)排名考慮了 recall@10 效果和平均倒數(shù)排名(Mean Reciprocal Rank,簡稱 MRR,是一種用于衡量搜索之類的指標(biāo))的平均值,在 advising 數(shù)據(jù)集上,因?yàn)闇y(cè)試用例 1(advising1)對(duì)訓(xùn)練數(shù)據(jù)集有一定的依賴性,因此則根據(jù)測(cè)試用例 2(advising2)結(jié)果進(jìn)行排名。我們的結(jié)果在 7 個(gè)子任務(wù)中排名第一,在 Ubuntu 的子任務(wù) 2 中排名第二,在 DSTC7 回復(fù)選擇挑戰(zhàn)賽的兩個(gè)數(shù)據(jù)集中總體排名第一。子任務(wù) 3 可能包含多個(gè)正確的回復(fù),因此平均精度(MAP)被視為附加的衡量標(biāo)準(zhǔn)。
圖 5 針對(duì) DSTC7 回復(fù)選擇挑戰(zhàn)的隱藏測(cè)試集的提交結(jié)果。其中 NA 表示不適用。總共有 8 個(gè)測(cè)試條件。
消融分析
對(duì)于 Ubuntu 和 Advising 數(shù)據(jù)集,分別在圖 6 和圖 7 中顯示了消融分析。對(duì)于 Ubuntu 子任務(wù) 1,ESIM 達(dá)到 0.854 的 R @ 10 和 0.6401 的 MRR。如果我們移除局部匹配和匹配組合以加速訓(xùn)練過程(「-CtxDec」),則 R @ 10 和 MRR 分別下降到 0.845 和 0.6210;再進(jìn)一步舍棄最后一個(gè)單詞而不是對(duì)話的前幾個(gè)詞(「-CtxDec&-Rev」),R10 和 MRR 將降低到 0.840 和 0.6174。
通過對(duì)不同參數(shù)初始化和不同結(jié)構(gòu)訓(xùn)練的模型的輸出進(jìn)行平均來對(duì)上述三種模型進(jìn)行集成(「Ensemble」),得到 0.887 的 R @ 10 和 0.6790 的 MRR。而對(duì)于 Ubuntu 子任務(wù) 2,使用基于句子編碼的方法(「Sent-based」)可達(dá)到 0.082 的 R @ 10 和 0.0416 的 MRR。在使用不同的參數(shù)初始化集成幾個(gè)模型后(「Ensemble1」),R @ 10 和 MRR 將會(huì)增加到 0.091 和 0.0475。使用 ESIM 重新排列「Ensemble1」預(yù)測(cè)的前 100 名候選人,將獲得 0.125 的 R @ 10 和 0.0713 的 MRR。移除對(duì)話的局部匹配和匹配組合(「-CtxDec」)會(huì)將 R @ 10 和 MRR 降低為 0.117 和 0.0620。對(duì)上述兩種 ESIM 方法進(jìn)行集成(「Ensemble2」),將得到 0.134 R @ 10 和 0.0770 MRR。
對(duì)于 Ubuntu 子任務(wù) 4,我們觀察到與子任務(wù) 1 相似的趨勢(shì)。ESIM 達(dá)到 0.887 R @ 10 和 0.6434 MRR;而使用「-CtxDec」,則性能降低到 0.877 R @ 10 和 0.6277 MRR;如果使用「-CtxDec&-Rev」,則性能進(jìn)一步降低至 0.875 R @ 10 和 0.6212 MRR。上述三個(gè)模型「Ensemble」的集成將達(dá)到 0.909 R @ 10 和 0.6771 MRR。
對(duì)于 Ubuntu 子任務(wù) 5,除了使用 Linux 手冊(cè)頁的外部知識(shí)外,數(shù)據(jù)集與子任務(wù) 1 相同。從 Linux 手冊(cè)頁(「+ W2V」)中添加預(yù)訓(xùn)練的字嵌入將得到 0.858 的 R @ 10 和 0.6394 的 MRR,在沒有外部知識(shí)的情況下與 ESIM 相比,對(duì)子任務(wù) 1(0.887 R @ 10 和 0.6790 MRR)的集成模型與「+ W2V」模型進(jìn)行集成,將帶來了進(jìn)一步的增益,使其效果分別達(dá)到 0.890 R @ 10 和 0.6817 MRR。
圖 7 顯示了 DSTC7 中 Advising 數(shù)據(jù)集的開發(fā)集消融分析。我們使用了移除局部匹配和匹配組合的 ESIM 來提高計(jì)算效率,并觀察到該數(shù)據(jù)集與 Ubuntu 數(shù)據(jù)集有類似的趨勢(shì)。「-CtxDec&-Rev」的 R@10 和 MRR 效果降低值會(huì)比「-CtxDec」更多,但總體來看,兩個(gè)模型的整體會(huì)比單個(gè)模型產(chǎn)生更顯著增益。
與以前的工作比較
圖 8 總結(jié)了兩個(gè)公共回復(fù)選擇基準(zhǔn)數(shù)據(jù)集的結(jié)果。第一組模型包括基于句子編碼的方法,他們使用了人工特征或神經(jīng)網(wǎng)絡(luò)特征數(shù)據(jù)來對(duì)回復(fù)和對(duì)話進(jìn)行編碼,然后應(yīng)用余弦分類器或 MLP 分類器來確定兩個(gè)序列之間的關(guān)系。之前的工作則使用了 TF-IDF,RNN 和 CNN,LSTM,BiLSTM 來編碼對(duì)話和回復(fù)。
圖 8 兩個(gè)大型公共基準(zhǔn)數(shù)據(jù)集上不同模型的比較。除了我們做的研究結(jié)果之外,其他所有結(jié)果都來自以前的工作
第二組模型由基于序列的匹配模型組成,通常使用注意力機(jī)制,包括 MV-LSTM,Matching-LSTM,Attentive-LSTM 和多渠道。這些模型比較了對(duì)話與回復(fù)之間的標(biāo)記層級(jí)關(guān)系,而不是像在基于句子編碼的方法中那樣直接比較兩個(gè)密集向量。這些模型比第一組模型具有更好的性能。
第三組模型包括更復(fù)雜的基于層級(jí)信息的模型,它們通常明確地模擬標(biāo)記層級(jí)和話語層級(jí)信息。Multi-View 模型利用了話語關(guān)系——來自單詞序列視圖和話語序列視圖。DL2R 模型采用了神經(jīng)網(wǎng)絡(luò),并在對(duì)話中用其他話語重新表達(dá)最后一個(gè)話語。SMN 模型則使用了 CNN 和注意力機(jī)制來匹配對(duì)話中每個(gè)話語的回復(fù)。DUA 和 DAM 模型則采用了與 SMN 類似的框架,其中一個(gè)改進(jìn)了封閉式自注意力機(jī)制,另一個(gè)改進(jìn)了 Transformer 結(jié)構(gòu)。
雖然之前基于層級(jí)信息的工作聲稱他們通過使用多輪對(duì)話內(nèi)容的層級(jí)信息,能夠?qū)崿F(xiàn)最先進(jìn)的性能,但我們的 ESIM 序列匹配模型效果優(yōu)于所有先前的模型,包括基于層級(jí)的模型。在 Lowe 的 Ubuntu 數(shù)據(jù)集中,ESIM 模型在性能方面比 DAM 模型先前的最佳結(jié)果有更顯著的提高,效果高達(dá) 79.6%(從 76.7%)R @ 1,89.4%(從 87.4%)R @ 2 和 R@5 為 97.5%(從 96.9%)。對(duì)于電子商務(wù)數(shù)據(jù)集,ESIM 模型也通過 DUA 模型完成了對(duì)先前技術(shù)水平的實(shí)質(zhì)性改進(jìn),高達(dá) 57.0%(從 50.1%)R @ 1,76.7%(從 70.0%)R @ 2 和 R@5 為 94.8%(從 92.1%)。這些結(jié)果均證明了 ESIM 模型(一種順序匹配方法)對(duì)多輪回復(fù)選擇的有效性。
結(jié)論
先前最先進(jìn)的多輪回復(fù)選擇模型使用基于層級(jí)的(話語級(jí)和標(biāo)記級(jí))神經(jīng)網(wǎng)絡(luò)來準(zhǔn)確地模擬不同回合對(duì)話之間的相互作用,從而實(shí)現(xiàn)對(duì)對(duì)話進(jìn)行建模。但在本文中,我們證明了僅基于序列的順序匹配模型也可以表現(xiàn)得比所有先前的模型更好,其中包括最先進(jìn)的基于層級(jí)的方法。這表明這種采用順序匹配的方法在過去尚未得到充分的利用;而且值得注意的是,該模型在 DSTC7 的端到端回復(fù)選擇挑戰(zhàn)賽中,在兩個(gè)數(shù)據(jù)集測(cè)試上都取得了第一名的結(jié)果,并在兩個(gè)大規(guī)模的公共回復(fù)選擇基準(zhǔn)數(shù)據(jù)集上都產(chǎn)生了最優(yōu)的性能。我們?cè)谖磥淼亩噍喕貜?fù)選擇研究中,也將考慮探索外部知識(shí)的有效性,如:知識(shí)圖譜和用戶概況。
論文鏈接:
https://arxiv.org/abs/1901.02609
開源地址:
https://github.com/alibaba/esim-response-selection
來源 | 雷鋒網(wǎng) AI 科技評(píng)論
作者 | 楊鯉萍