淺談多輪檢索式對話最近的兩篇SOTA-『MRFN』&『IMN』

點這里 排版好

新年第一天更博 顯得很有 儀式感(破音~) (雖然已經(jīng)斷更一個月了 捂臉)
祝各位NLPer, 各位dalao 在新的一年里靈感爆棚 投的offer全中 萬肆如意 新年玉快

新年第一天 日常網(wǎng)上沖浪 竟然發(fā)現(xiàn)MRFN終于被放出來了 啊 啊 啊~~

這篇論文我從去年十月一直等到現(xiàn)在

在這期間中不乏有Bert這種神器爆出來

但并沒有打消我對這篇SOTA的期待

IMN 則是上個月中科院幾位博士在arXiv在線發(fā)表的一篇論文 主要是被數(shù)據(jù)嚇壞了 有、厲害??

粗粗看 可能覺得這兩篇文章沒什么關(guān)系 一個是多粒度fusion 一個是類似于Bert的深層次網(wǎng)絡(luò)處理

但仔細思考 IMN dot 之后的結(jié)構(gòu)與MRFN的FLS有異曲同工的作用 不負責的猜測 FLS的設(shè)計思路會成為今后一段時間follow的點

PS: 以上兩篇paper 都承諾開源code (雖然repository里面都沒有code??) 之后會跟一下code 看一下具體效果

概括一下 MRFN

  1. 在原來SMN DAM 兩粒度 基礎(chǔ)上提出三粒度6種表示
  2. 提出多表示匹配-合并(Matching-Aggregation)的三種策略
  3. 使用大量實驗驗證各個表示的作用,驗證context輪次、平均對話長度變化時各個表示的作用情況
  4. 提出的多表示匹配-合并策略可推廣到其他模型 并在SMN中進行試驗
  5. 比DAM快1.9x的訓練速度

IMN

  1. EMbedding層加入character-EMbedding 解決OOV
  2. EMbedding層后接類似ELMo思路的BiLSTM(paper中 這個結(jié)構(gòu)最work)
  3. dot之后做兩個粒度的分析

MRFN

MRFN = Multi-Representation Fusion Network

MRFN是嚴睿老師組里陶重陽博士,小冰組徐粲學長,武威dalao去年的工作 論文發(fā)表在WSDM2019

全文看下來 包括Motivation,實驗設(shè)計都給我一種很舒服的感覺 感覺一切都順理成章 一氣呵成

事實上 去年十月底 在EMNLP2018的tutorial上嚴老師和武威dalao就已經(jīng)把MRFN的結(jié)果秀出來了

之后徐學長回來分享的時候也提到這篇論文 但論文一直沒放出來

Motivation

這篇文章的Motivation是建立在最近幾年多輪檢索式對話基于的面向交互的思想

回想一下從Multi-view引入交互,到SMN完全基于交互,再到DAM多層交互

交互的粒度越多越work已經(jīng)是大家的共識了

但如何更好的設(shè)計各個粒度之間的層次關(guān)系 減少不必要的性能浪費

作者提出把粒度劃分為word, short-term, long-term三個粒度6種表示

  1. Word
  2. Contextual
    • Sequential: 借用GRU的結(jié)構(gòu)實現(xiàn)句子中間子串信息的獲取
      • RNN能保留短距離詞之間的關(guān)系 相對于sub-sequential
    • Local: 利用CNN獲取N-gram的信息
      • CNN中卷積和池化 相對于獲取中心詞周圍N-gram的信息
  3. Attention-based
    • self-Attention
    • cross-Attention

Model

但怎么把這些粒度有效的融合在一起

回想一下SMN在CNN之后才將wordshort-term兩個粒度的信息融合在一起

image

很自然的想到 如果在之前/之后做fuse效果會怎么樣?

這個思路 就很像NIPS14年那篇討論是應(yīng)該先dot還是應(yīng)該先做CNN的paper

作者就提出前中后三種fusion策略

image

其中左側(cè)是之前設(shè)計的6鐘表示

U->U*的過程是簡單的把多個矩陣拼接成一個矩陣

U^*_i \in R^{d^* \times n_i}(d^*=\sum d_k)

fusion則是利用類似CNN的公式

t_{i,j}=f(\hat{e_{i,j}},\bar{e_{i,j}})=ReLU(W_p[(\hat{e_{i,j}}-\bar{e_{i,j}}) \odot \hat{e_{i,j}}-\bar{e_{i,j}});\hat{e_{i,j}} \odot \bar{e_{i,j}}]+b_p)

其中

w_{j,k}^i=V_a^T tanh(W_a[\hat{e_{i,j}\oplus \hat{e_{r,k}}]+b_a})

\alpha_{j,k}^i=\frac{exp(\omega_{j,k}^i)}{\sum(exp(\omega_{j,k}^i))}

\bar{e_{i,j}}=\sum{\alpha_{j,k}^i}\hat{e_{r,k}}

之后就跟上GRUMLR得到相應(yīng)的score值

Experiment

本文做了大量的實驗 羨慕MSRA有用不完的機器 嗚嗚嗚

  1. 先是對比之前存在的一些模型
image

可以看出FLS效果比DAM提升比較顯著 即使是 FIS在Dubbo數(shù)據(jù)集上也比DAM略微好一點

  1. 然后還做了把模型結(jié)構(gòu)中各個部分去掉之后的一些結(jié)果
image

可以看出Contextual兩個部分效果略有重疊導致了去除其一掉點不會太多 總的來說Contextual在模型中提點最大

  1. 還做了模型拓展性方面的實驗 把fusion三策略移到SMN也得到了不錯的結(jié)果
image
  1. 最后還探究了多輪對話Context輪次 對話長度變化時各個表示的作用占比情況
image

全篇看下來 對于一個做系統(tǒng)出身的出身來看 十分舒服 可以說是比較Science 得到的結(jié)果也比較significantly

IMN

IMN = Interactive Matching Network

相對而言 IMN 論文寫得有點隨意 取名字也有、??(不是噴 吐槽一下)

image

同樣 IMN的作者也想到了用character來減緩OOV的問題

創(chuàng)新點在于 EMbedding層之后用了一個類似ELMo的處理策略 來獲取Sentence之間的信息

(當然 如果現(xiàn)在來做 用Bert做同樣的事情可能會更好)

除了上述的idea之外 作者還在dot完之后分成兩個粒度做處理

仔細一想 這和MRFN的FLS本質(zhì)上是一種思路 把fusion的過程往后推遲

image

然后這個result確實厲害 ym dalao

References

  1. Multi-Representation Fusion Network for Multi-turn Response Selection in Retrieval-based Chatbots. Chongyang Tao et al. WSDM2019.
  2. Interactive Matching Network for Multi-Turn Response Selection in Retrieval-Based Chatbots. Jia-Chen Gu et al. 2019
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容