順序匹配網絡:基於檢索的聊天機器人中多回合響應選擇的新架構

3 順序匹配網絡(Sequential Matching Network)

3.1 問題形式

假定,我們有一個數據集D={(yi,si,ri)}i=1N\mathcal{D}=\left\{\left(y_{i}, s_{i}, r_{i}\right)\right\}_{i=1}^{N}
其中si=ui,1,,ui,nis_i={u_i,1,\ldots,u_{i,n_i}}表示具有{ui,k}k=1ni\left\{u_{i, k}\right\}_{k=1}^{n_{i}}作爲表達的會話上下文。
rir_i表示候選回覆,yi0,1y_i\in{0,1}代表標籤。yi=1y_i=1表示rir_isis_i適當的回覆,否則yi=0y_i=0
我們的目標是學到一個針對數據集D\mathcal{D}的匹配模型g(,)g(\cdot, \cdot)
對於任意一個背景-響應對(s,r)(s,r)g(s,r)g(s,r)測量s,rs,r之間的距離。

3.2 模型概述

我們提出了一個順序匹配模型(SMN)來對g(,)g(\cdot,\cdot)建模。圖1給出了他的結構。

tu1

SMN首先將上下文-響應匹配分解爲若干個話語-響應對匹配,然後通過遞歸神經網絡將所有匹配對累加爲基於上下文的匹配。
SMN由三個層組成。
第一層在單詞級別和片段級別上將響應候選與上下文中的每個話語進行匹配,
並通過卷積、池化來提取來自這兩個級別的重要匹配信息,並將其編碼在匹配向量中。
然後,匹配向量被送到第二層,他們被積累在RNN的隱藏狀態中,其中的GRU遵循上下文中話語的時間順序。
第三層根據第二層的隱藏狀態來計算最終的匹配分數。

與現有模型相比,SMN具有多個優勢。
首先,候選應答可以在最開始的時候匹配上下文中的每個話語,從而可以充分提取每個話語響應對中的匹配信息,並以最小的損失得到最後的匹配得分。
其次,從每個話語中提取信息是在不同的粒度級別上進行的,並且
是在應答的充分監督下進行的,因此可以很好地識別和提取每個話語中對應答選擇有用的語義結構。

第三,匹配和話語的關係是耦合的,而不是單獨建模的,
因此話語關係(例如,順序關係)作爲一種知識,可以監督匹配分數的形成。

通過考慮話語關係,SMN將已被證明在單輪響應選擇的文本匹配中有效的“2D”匹配擴展到在多輪對話對話的響應選擇中基於上下文的順序的“2D”匹配。
在接下來的部分中,我們將描述這三個層的詳細信息。

3.3話語-應答匹配

給定上下文ss的話語uu和候選應答rr,模型查找嵌入表,並將
uurr表示爲U=[eu,1,,eu,nu]\mathbf{U}=\left[e_{u, 1}, \ldots, e_{u, n_{u}}\right]R=[er,1,,er,nr]\mathbf{R}=\left[e_{r, 1}, \ldots, e_{r, n_{r}}\right],其中eu,i,er,iRde_{u, i}, e_{r, i} \in \mathbb{R}^{d}
分別是u,ru,r的第ii個單詞表示。
URd×nu\mathbf{U} \in \mathbb{R}^{d \times n_{u}}
RRd×nr\mathbf{R} \in \mathbb{R}^{d \times n_{r}}會用來構建
詞與詞之間的相似度矩陣M1Rnu×nr\mathbf{M}_{1} \in \mathbb{R}^{n_{u} \times n_{r}}和序列-序列相似度矩陣M2Rnu×nr\mathbf{M}_{2} \in \mathbb{R}^{n_{u} \times n_{r}}他們是CNN\text{CNN}的兩個輸入通道。
CNN從矩陣中提取重要的匹配信息,並將該信息編碼成匹配向量vv

特別地,i,j\forall i, jM1\mathbf{M}_1的第(i,j)(i,j)個元素定義如下:

e1,i,j=eu,ier,j(1)e_{1, i, j}=e_{u, i}^{\top} \cdot e_{r, j} \tag{1}

M1\mathbf{M}_1在單詞級別上對uurr的匹配建模。

爲了構造M2\mathbf{M}_2我們首先使用GRU\text{GRU}U\mathbf{U}R\mathbf{R}變換爲隱藏向量。
假定Hu=[hu,1,,hu,nu]\mathbf{H}_{u}=\left[h_{u, 1}, \ldots, h_{u, n_{u}}\right]U\mathbf{U}的隱藏向量,i,hu,iRm\forall i, h_{u, i} \in \mathbb{R}^{m}定義如下:

zi=σ(Wzeu,i+Uzhu,i1)ri=σ(Wreu,i+Urhu,i1)h~u,i=tanh(Wheu,i+Uh(rihu,i1))hu,i=zih~u,i+(1zi)hu,i1(2)\begin{array}{l} z_{i}=\sigma\left(\mathbf{W}_{\mathbf{z}} e_{u, i}+\mathbf{U}_{\mathbf{z}} h_{u, i-1}\right) \\ r_{i}=\sigma\left(\mathbf{W}_{\mathbf{r}} e_{u, i}+\mathbf{U}_{\mathbf{r}} h_{u, i-1}\right) \\ \tilde{h}_{u, i}=\tanh \left(\mathbf{W}_{\mathbf{h}} e_{u, i}+\mathbf{U}_{\mathbf{h}}\left(r_{i} \odot h_{u, i-1}\right)\right) \\ h_{u, i}=z_{i} \odot \widetilde{h}_{u, i}+\left(1-z_{i}\right) \odot h_{u, i-1} \end{array} \tag{2}
其中uu,0=0u_{u,0}=0ziz_irir_i分別爲更新門和重置門,σ()\sigma(\cdot)是sigmoid函數,
Wz,Wh,Wr,Uz,Ur,Uh\mathbf{W}_{\mathbf{z}}, \mathbf{W}_{\mathbf{h}}, \mathbf{W}_{\mathbf{r}}, \mathbf{U}_{\mathbf{z}}, \mathbf{U}_{\mathbf{r}}, \mathbf{U}_{\mathbf{h}}是參數。
相似地,我們有Hr=[hr,1,,hr,nr]\mathbf{H}_{r}=\left[h_{r, 1}, \ldots, h_{r, n_{r}}\right]
作爲R\mathbf{R}的隱藏向量。然後i,j\forall i, j,M2\mathbf{M}_2的第(i,j)(i,j)個元素定義爲:

e2,i,j=hu,iAhr,j(3) e_{2, i, j}=h_{u, i}^{\top} \mathbf{A} h_{r, j} \tag{3}

其中ARm×m\mathbf{A} \in \mathbb{R}^{m \times m}是線性變換。
i\forall i,GRU對直到位置ii的單詞之間的順序關係和依賴關係進行建模,並將直到第ii個單詞的文本段落編碼爲隱藏向量。

因此,M2\mathbf{M}_2在段落級別上對uurr之間的匹配進行建模。

M1,M2\mathbf{M}_1,\mathbf{M}_2CNN\text{CNN}處理形成uu
f=1,2\forall f=1,2CNN\text{CNN}Mf\mathbf{M}_f來代表輸入通道,
並且交替進行卷積核池化操作。
假定z(l,f)=[zi,j(l,f)]I(l,f)×J(l,f)z^{(l, f)}=\left[z_{i, j}^{(l, f)}\right]_{I^{(l, f)} \times J^{(l, f)}}
代表輸出的特徵映射由類型ff到層ll,其中z(0,f)=Mf,f=1,2z^{(0, f)}=\mathbf{M}_{f},\forall f=1,2

在卷積層上,我們使用具有窗口大小rw(l,f)×rh(l,f)r_{w}^{(l, f)} \times r_{h}^{(l, f)}的2D卷積運算,定義zi,j(l,f)z_{i, j}^{(l, f)}:

zi,j(l,f)=σ(f=0Fl1s=0rw(l,f)t=0(l,f)Ws,t(l,f)zi+s,j+t(l1,f)+bl,k)(4)z_{i, j}^{(l, f)}=\sigma\left(\sum_{f^{\prime}=0}^{F_{l-1}} \sum_{s=0}^{r_{w}^{(l, f)}} \sum_{t=0}^{(l, f)} \mathbf{W}_{s, t}^{(l, f)} \cdot z_{i+s, j+t}^{\left(l-1, f^{\prime}\right)}+\mathbf{b}^{l, k}\right)\tag{4}
其中σ()\sigma(\cdot)ReLU\text{ReLU}W(l,f)Rrw(l,f)×rh(l,f)\mathbf{W}^{(l, f)} \in \mathbb{R}^{r_{w}^{(l, f)} \times r_{h}^{(l, f)}},
bl,k\mathbf{b}^{l, k}
是參數,Fl1F_{l-1}是在第(l1)(l-1)層的特徵映射的數量。最大池化運算跟隨卷積運算,可表示爲

zi,j(l,f)=maxpw(l,f)>s0maxph(l,f)>t0zi+s,j+t(5)z_{i, j}^{(l, f)}=\max _{p_{w}^{(l, f)}>s \geq 0} \max _{p_{h}^{(l, f)}>t \geq 0} z_{i+s, j+t} \tag{5}

其中pw(l,f)p_{w}^{(l, f)}ph(l,f)p_{h}^{(l, f)}分別是二維池化的寬度和高度。
最終特徵映射的輸出通過連接和線性變換映射到低維空間來作爲匹配向量vRqv \in \mathbb{R}^{q}

根據公式1、3、4、5,我們可以看到通過從訓練數據中學習單詞嵌入和GRU\text{GRU}的參數,話語中的單詞或片段對於識別響應適應性很有用,可能與響應中的某些單詞或段落有很高的相似度,並導致相似矩陣中的高值區域。
這些區域將通過卷積和池化操作進行轉換和選擇,並在話語中將重要信息攜帶到匹配向量中。
這就是我們的模型如何在上下文中識別重要信息並在響應的監督下利用它進行匹配。

我們考慮多個通道,因爲我們想在多個粒度級別上捕獲重要的匹配信息。

3.4 匹配積累

假定[v1,,vn]\left[v_{1}, \dots, v_{n}\right]是第一層的輸出(對應於nn對),在第二層,GRU\text{GRU}接受[v1,,vn]\left[v_{1}, \dots, v_{n}\right]作爲輸入並且將匹配序列編碼爲具有類似於公式22的詳細參數化的隱藏狀態Hm=[h1,,hn]Rq×nH_{m}=\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right] \in \mathbb{R}^{q \times n}
這一層有兩個功能:
(1)它對上下文中話語的依賴關係和時態關係進行建模;
(2)作爲基於上下文的匹配,它利用時間關係來監督pair matching的積累。

此外,由公式(2)可知重置門rir_i和更新門ziz_i控制以前的隱藏狀態和當前的輸入流入到當前隱藏狀態的信息量,
因此可以積累重要的匹配向量(對應重要的話語),同時過濾掉
向量中的噪聲。

3.5 匹配預測與學習

已知[h1,,hn]\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right],我們定義g(s,r)g(s,r)爲:

g(s,r)=softmax(W2L[h1,,hn]+b2)(6) g(s, r)=\operatorname{softmax}\left(\mathbf{W}_{2} L\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right]+\mathbf{b}_{2}\right) \tag{6}
其中W2,b2\mathbf{W_2,b_2}是參數。
我們考慮L[h1,,hn]L\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right]的三個參數:

  1. 只使用最後一個隱藏狀態。L[h1,,hn]=hnL\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right]=h_{n}^{\prime}
  2. 對隱藏狀態進行線性組合。L[h1,,hn]=i=1nwihiL\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right]=\sum_{i=1}^{n} w_{i} h_{i}^{\prime}
  3. 我們遵循(Yang et al., 2016),採用一種注意力機制來合併隱藏狀態。
    L[h1,,hn]L\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right]定義如下:

ti=tanh(W1,1hui,nu+W1,2hi+b1)αi=exp(tits)i(exp(tits))L[h1,,hn]=i=1nαihi(7)\begin{array}{l} t_{i}=\tanh \left(\mathbf{W}_{1,1} h_{u_{i}, n_{u}}+\mathbf{W}_{1,2} h_{i}^{\prime}+\mathbf{b}_{1}\right) \\ \alpha_{i}=\frac{\exp \left(t_{i}^{\top} t_{s}\right)}{\sum_{i}\left(\exp \left(t_{i}^{\top} t_{s}\right)\right)} \\ L\left[h_{1}^{\prime}, \ldots, h_{n}^{\prime}\right]=\sum_{i=1}^{n} \alpha_{i} h_{i}^{\prime} \end{array}\tag{7}

其中,W1,1Rq×m,W1,2Rq×q,b1Rq\mathbf { W } _ { \mathbf { 1 } , \mathbf { 1 } } \in \mathbb { R } ^ { q \times m } , \mathbf { W } _ { \mathbf { 1 } , \mathbf { 2 } } \in \mathbb { R } ^ { q \times q },\mathbf{b_1}\in \mathbb{R}^q爲參數。hi,hui,nuh_i^{'},h_{u_i,n_u}分別是第ii個匹配向量,第ii個話語的最終隱藏狀態。
tsRqt _ { s } \in \mathbb { R } ^ { q }是一個在訓練中隨機初始化並共同學習的虛擬上下文向量。

(2)和(3)都是爲了從訓練數據中學習{h1,,hn}\left\{ h _ { 1 } ^ { \prime } , \ldots , h _ { n } ^ { \prime } \right\}的權重,
並突出了重要匹配向量在最終匹配中的作用。
不同的是,(2)中的權重是靜態的,因爲權重完全由話語的位置決定,而(3)中的權重是通過匹配向量和話語向量動態計算的。
我們用
L[h1,,hn]L \left[ h _ { 1 } ^ { \prime } , \ldots , h _ { n } ^ { \prime } \right]
的三個參數來表示我們的模型,分別爲SMNlast,SMNstatic,SMNdynamic\mathrm { SMN } _ { \text {last} } , \mathrm { SMN } _ { \text {static} } , \mathrm { SMN } _ { \text {dynamic} }
並在實驗中對它們進行實證比較。

我們通過最小化與D\mathcal{D}的交叉熵,來學習g(,)g(\cdot,\cdot)
Θ\Theta來代表SMN\text{SMN}的參數,然後學習的目標函數可以定義爲

i=1N[yilog(g(si,ri))+(1yi)log(1g(si,ri))](8) \sum _ { i = 1 } ^ { N } \left[ y _ { i } \log \left( g \left( s _ { i } , r _ { i } \right) \right) + \left( 1 - y _ { i } \right) \log \left( 1 - g \left( s _ { i } , r _ { i } \right) \right) \right]\tag{8}

4. 候選應答檢索

在實踐中,基於檢索的聊天機器人要將匹配方法應用於響應選擇,需要預先從索引中檢索多個候選響應。
雖然候選檢索不是本文的重點,但它是實際系統中的重要一步。
在這項工作中,我們使用啓發式方法從索引中獲得候選響應。
給定具有
{u1,,un1}\left\{ u _ { 1 } , \ldots , u _ { n - 1 } \right\}前幾輪的發言的信息unu_n
我們從{u1,,un1}\left\{ u _ { 1 } , \ldots , u _ { n - 1 } \right\}提取前5個關鍵字根據他們的TF-IDF分數
並且使用關鍵詞展開unu_n
然後,我們將擴展消息發送到索引,並使用索引的內聯檢索算法檢索響應候選。
最後,我們使用g(s,r)g(s,r)來對候選重新排序,並返回頂部的候選作爲對上下文的響應。

5. 實驗

我們在公開可用的英文數據集和本文發表的中文數據集上對我們的模型進行了測試。

5.1 Ubuntu語料

英文數據集是Ubuntu語料庫(Lowe等人,2015年),其中包含從Ubuntu論壇的聊天日誌中收集的多輪對話。
數據集包括用於訓練的100萬對上下文-響應對、用於驗證的50萬對和用於測試的50萬對。
積極的反應是來自人類的真實反應,消極的反應是隨機抽樣的。
在訓練中,正負之比爲1:1,而在驗證和測試中爲1:9。
我們使用了徐等人分享的副本(2016)2其中數字、URL和路徑由特殊佔位符替換。
我們遵循(Lowe et al., 2015),採用n個候選中k位的召回率(Rn@k)作爲評價指標。

5.2 豆瓣會話語料庫

Ubuntu語料庫是一個特定於領域的數據集,響應候選是在沒有人爲判斷的情況下從負抽樣中獲得的。
爲了進一步驗證我們模型的有效性,我們創建了一個新的具有開放領域對話的數據集,稱爲豆瓣對話語料庫。
豆瓣會話語料庫測試集中的應答候選按照基於檢索的chatbot程序收集,並由人工判斷標記。
它模擬了一個基於檢索的聊天機器人的真實場景。
我們將其發佈給研究社區,以促進多輪對話的研究。

具體來說,我們從豆瓣小組(在中國很受歡迎的社交網絡服務)中抓取了超過2個回合的110萬次雙向對話(兩個人之間的對話)。
我們隨機抽取了50萬個用於創建訓練集的對話,2.5萬個用於創建驗證集的對話和1000個用於創建測試集的對話,並確保這三個集之間沒有重疊。

對於訓練和驗證中的每一個對話,我們將最後一個回合作爲一個積極的迴應,將前一個回合作爲一個背景,並從110萬數據中隨機抽取另一個迴應作爲一個消極的迴應

訓練集中有100萬個上下文-響應對,驗證集中有5萬個上下文-響應對。
爲了創建測試集,我們首先從中國最大的微博服務新浪微博抓取了1500萬對post-reply對,並用Lucene對這些對進行了索引。

我們將測試集中每個豆瓣二元對話的最後一輪作爲消息,按照第4節中的方法從索引中檢索到10個響應候選,最終形成了一個具有10,000個上下文-響應對的測試集。
我們招募了三名標籤員來判斷候選人是否對上下文做出了適當的反應。

正確的響應意味着在給定整個上下文的情況下,響應可以自然地回覆消息。
每一對收到三個標籤,其中大部分標籤被作爲最終決定。

表二列出了這三組的統計數字。注意,標籤的Fleiss‘kappa(Fleiss,1971)爲0.41,這表明三個標註者達成了相對較高的一致性。

t2

除了Rn@ksR _ { n } @ k s,我們還遵循了信息檢索的慣例,採用了
平均精度均值 (MAP)、平均倒數排名(MRR)和在第一位的精度
(P@1)( \mathrm { P } @ 1 )作爲評價指標。

我們沒有計算R2@1\mathrm{R_2}@1是因爲在豆瓣語料庫中,一個語境可能有多個正確答案,因此我們不得不隨機抽取一個樣本用於R2@1\mathrm{R_2}@1,這樣可能會給評估帶來偏差。

當使用標記集時,我們刪除了所有負面響應或所有正面響應的對話,因爲模型對它們沒有影響。

測試集中還剩下6670個上下文響應對。

5.3 基線

我們考慮了以下基線:

Basic models: (Lowe等人,2015)和(Kadlec等人,2015)中的模型,包括TF-IDF、RNN、CNN、LSTM和BiLSTM。

Multi-view: Zhou等人提出的模型(2016)利用分層遞歸神經網絡對話語關係進行建模。

Deep learning to respond (DL2R): Yan等人提出的模型 (2016)用上下文中的其他話語重新表達了信息。

Advanced single-turn matching models: 由於BiLSTM不代表最先進的匹配模型,我們在上下文中串聯話語,並使用更強大的模型將長文本與應答候選進行匹配,這些模型包括MV-LSTM(wan等人,2016)(2D匹配)、Match-LSTM(Wang和醬,2015)、Attentive-LSTM(Tan等人,2015)(兩個基於注意力的模型)和多通道,如第3.3節所述。

多通道是我們模型的一個簡單版本,沒有考慮話語關係。
我們還將上下文中的前5個TF-IDF單詞附加到輸入消息中,並計算擴展消息與具有多通道的響應之間的分數,表示爲
Multi-Channelexp\text{Multi-Channel}_ { e x p }

5.4 參數調整

對於基線模型,如果它們的結果在現有文獻中可用(例如,在Ubuntu語料庫上的結果),我們只複製數字,否則我們按照文獻中的設置實現模型。
所有模型都是使用Theano實現的(Theano開發團隊,2016)。單詞嵌入由word2vec(Mikolov等人,2013年)的結果初始化,該結果運行在訓練數據上,詞向量的維數爲200。
對於我們的模型中的多通道和第一層,我們將GRU的隱藏狀態的維數設置爲200。
我們在{(2,2),(3,3)(4,4)}中調整了卷積和池化的窗口大小,最終選擇了(3,3)。
特徵映射的數量是8個。
在第二層中,我們將匹配向量的維數和GRU的隱藏狀態設置爲50。
在單個Tesla K80 GPU上,使用Adam算法(Kingma和Ba,2014)通過隨機梯度下降法更新了參數。
初始學習率爲0.001,Adam的參數,β1,β2\beta_1,\beta_2分別爲0.9,0.999。
我們採用了提前停止作爲正則化策略。

對模型進行小批量訓練,批大小爲200個,最大話語數量爲50個。
我們將最大上下文長度(即話語數量)設置爲10,因爲超過10的上下文不會提高模型的性能(詳細信息見第5.6節)。

如果上下文中的話語數量少於10個,我們將填充零,否則我們將保留最後10個話語。

5.5 評估結果

表3顯示了對這兩個數據集的評估結果。

t3

我們的模型在兩個數據集的所有指標上要由於baseline,改進在統計上是顯著的(用p值≤0.01進行t檢驗,除了豆瓣語料庫上的R10@5)。
即使是最先進的單輪匹配模型,其性能也比我們的模型差得多。
結果表明,人們不能忽視話語關係,可以簡單地將話語串聯起來進行多輪對話響應的選擇。
我們的模型比Multi-View有了重大改進,這證明了我們的“匹配優先”策略是合理的。

DL2R比我們的模型差,說明使用啓發式規則的話語重構不是一種很好的利用上下文信息的方法。

Rn@ksR _ { n } @ k s在豆瓣語料庫上較低,因爲對於上下文有多個正確的候選(例如,如果有3個正確的響應,則最大R10@1R_{10}@1爲0.33)。

SMNdynamic\text{SMN}_ { d y n a m i c }僅略好於SMNstatic\text{SMN}_ { static}
SMNlast\text{SMN}_ {last}

這可能是由於GRU可以通過其門機制從匹配序列中選擇有用的信號,並在最終狀態下將它們累加,從而導致注意力機制對手頭任務的效果不明顯。

5.6 進一步分析

可視化: 我們可視化了相似矩陣和GRU在第二層的門通過使用來着Ubuntu語料的樣例,
來進一步闡明我們模型是如何識別語境中的重要信息,如何通過GRU的門控機制來選擇重要的匹配向量,如3.3節和3.4節中所說的那樣。
樣例:

  • u1: how can unzip many rar(_number_for example) files at once;
  • u2: sure you can do that is bash
  • u3: okey how?
  • u4: are the files all in the same directory?
  • u5: yes thay all are;
  • r: then the command glebihan should extract them all from/to that directory

它來自測試集,我們的模型成功地將正確的回答排在了最前面。

由於空間限制,我們只可視化了M1,M2\mathbf { M } _ { 1 } , \mathbf { M } _ { 2 }
和更新門(i.e.z)(\text{i.e.} z)在圖2中。

圖2

我們可以看到,在u1u_1中,包括"unzip",“rar”,“files"等重要單詞
rr中的"command”,“extract”,"directory"識別進行匹配,
u3u_3幾乎毫無用處,因此從中提取的信息很少。

u1u_1對響應的選擇至關重要,來自u1u_1rr的近乎所有信息都流向了
GRU的隱藏狀態,而且其他話語的信息較少,並且相應的門幾乎是關閉的,
以保持來自u1u_1rr的信息直到最終狀態。

模型消融: 我們通過將SMN\text{SMN}的不同部分逐一從SMNlast\text{SMN}_{last}中移除
來研究SMN\text{SMN}的不同部分的影響,如表4所示。

t4

首先,用神經張量網絡(NTN)(Socher等人,2013)
取代多通道的“2D”匹配(表示爲ReplaceMReplace_{M})會使性能急劇下降。
這是因爲NTN僅通過話語向量和響應向量匹配一對,並且丟失該對中的重要信息。

結合可視化,我們可以得出結論,“2D”匹配在“匹配優先”策略中起着關鍵作用,因爲它以最小的損失捕捉到每對匹配中的重要匹配信息。
其次,當用多層感知器替換用於匹配積累的GRU時,性能略有下降
(表示爲ReplaceA\text{Replace}_A)。
這表明話語關係是有用的。

最後,我們只留下一個通道進行匹配,發現M2比M1稍微強大一些,並且兩者都達到了最好的效果(除了豆瓣語料庫上的R10@5R _ { 10 } @ 5)。

跨上下文長度的性能:
我們研究了我們的模型(SMNlast\text{SMN}_{last})在整個上下文中的表現。
圖3顯示了豆瓣語料庫上不同長度間隔的MAP上的比較。

圖3

我們的模型始終比基線執行得更好,並且當上下文變長時,差距會變得更大。

實驗結果表明,該模型能夠很好地捕捉上下文中話語之間的依賴關係,尤其是長依賴關係。

最大上下文長度: 我們研究了最大上下文長度對SMN的影響。
圖4顯示了在最大上下文長度方面,SMN在Ubuntu Corpus和Douban Corpus上的性能。

f4

從圖4中,我們發現,當最大上下文長度小於5時,性能將顯着提高,並且在上下文長度達到10後變得穩定。

這表明上下文信息對於多輪響應選擇很重要,我們可以將最大上下文長度設置爲10,以平衡有效性和效率。

錯誤分析: 儘管SMN在這兩個數據集上的表現優於基線方法,但仍有一些無法完美解決的問題。

(1)邏輯一致性。SMN在語義級別上對上下文和響應進行建模,但很少關注邏輯一致性。這導致了豆瓣語料庫中的多個DSAT
例如,給定上下文:

  • a: Does anyone know Newton jogging shoes?
  • b: 100 RMB on Taobao.
  • a: I know that. I do not want to buy it because that is a fake which is made in Qingdao
  • b: Is it the only reason you do not want to buy it?

SMN對響應It is not a fake. I just worry about the date of manufacture 給予高分。

該響應與邏輯上下文不一致,因爲它聲稱慢跑鞋不是假貨。
將來,我們將探討基於檢索的聊天機器人中的邏輯一致性問題。

(2)檢索後沒有正確的候選項。在實驗中,我們準備了1000個上下文進行測試,但是隻有667個上下文在候選響應檢索後具有正確的候選。
這表明候選檢索組件仍有改進的空間,僅在上下文中使用幾個關鍵字擴展輸入消息可能不是候選檢索的理想方法。
將來,我們將考慮用於檢索候選的高級方法。

6. 結論與未來工作

我們提出了一個新的基於上下文的模型,用於基於檢索的聊天機器人中的多輪迴複選擇。
在開放數據集上的實驗結果表明,該模型可以大大優於現有方法。
此外,我們還向研究社區發佈了第一個人類標記的多輪迴複選擇數據集。
將來,我們將研究如何對響應的邏輯一致性進行建模並改善候選檢索。


做了什麼?

  1. 提出了順序匹配網絡,從單詞級和段落級兩個粒度考慮整個會話與回覆的相似度
  2. 第一層使用GRU按照時間順序來得到語義向量
  3. 第二層的CNN有兩個輸入通道,分別對應於單詞級和段落級

解決了什麼?

解決了當前工作中沒有考慮整個對話中每個話語之間關係和重要的語境信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章