阅读 A New Architecture for Multi-turn Response Selection in Retrieval-Based Chatbots

Abstract

  已经存在的工作要么将句子联结起来并入上下文要么用一个高密度的上下文向量匹配回复,这样会损失掉句子之间的相关性,或者是重要的上下文语境信息,因此提出序列化匹配网络解决这两个问题。
  SMN首先在对话中的每一个句子以多粒度的方式与回复进行匹配,然后从每一对句子中用卷积核池化操作蒸馏出重要匹配信息并用向量表示,之后通过RNN网络建模句子之间的关系,以时间的顺序将向量累计起来,最终用RNN隐藏层状态计算匹配分数。

Introduction

  在多轮对话中,关键性问题是:1、怎么在上下文中分别出关键信息出来(关键字、关键词、关键句子),这个对于选择合适的回复以及利用相关信息进行匹配非常关键。2、在上下文中如何建模多轮对话间的关系
现有模型的缺陷:在上下文中容易丢失重要信息,因为他们首先将整个上下文表示为向量,然后将该上下文与response sentence向量进行匹配
为了避免信息丢失,SMN在开始的时候将回复sentence与上下文中的每条语句进行匹配,并将匹配的每对中重要信息编码入匹配向量(注:这是CNN阶段,解决上述难点1);然后按照话语的时间顺序,对匹配的向量进行堆积,以对其关系进行建模(注:即构建GRU2,解决上述难点2),在最后的匹配阶段,就是计算这些堆积的匹配向量。

模型图:

在这里插入图片描述

Sequential Matching Network

1 . Sequential Matching Network

   D为数据集合,D=(yi,si,ri)i=1ND ={(y_{i},s_{i},r_{i})}_{i=1}^{N}D=(yi,si,ri)i=1Nsi={ui,1,...,ui,ni}s_{i} = \{ u_{i,1},...,u_{i,n_{i}} \}si={ui,1,...,ui,ni} 表示对话上下文,其中{ui,k}k=1ni\{u_{i,k} \}_{k=1}^{n_{i}}{ui,k}k=1ni 表示为句子;rir_{i}ri 表示为候选response;yi∈{0,1}y_{i} \in \{0,1 \}yi{0,1}当$y_{i} = 1 $时,表示rir_{i}ri为合适的回复,否则是不合适的回复。g(s, r) 表示 context-response对匹配等级

2、Model Overview

   SMN首先对context-response 匹配对分解为一系列utterance-response 匹配对,之后通过RNN将一系列的utterance-response匹配对累积,SMN有三层组成:第一层:使用对话的每一句与response在word level 和segment level进行匹配,然后通过CNN和pool对这两个level提取关键信息编码为匹配向量,匹配向量输入第二层;第二次层利用GRU以时间顺序将匹配向量进行堆积,将隐层状态输入第三层;第三层计算最终的匹配secore

3、Utterance-Response Matching Given

  首先将上下文中的句子与response进行嵌入表示,之后构建word-word相似度矩阵和sequence-sequence相似度矩阵,这两个channel输入到CNN中,CNN通过卷积和pool提取关键信息。

4、Matching Accumulation

   主要两个任务:1、在建模上下文中的依赖关系和时间关系;2、以时间顺序将匹配向量进行累积

5、Matching Prediction and Learning

将GRU隐层的输出先进性注意力操作,之后接一个MLP

Response Candidate Retrieval

   本篇paper是在用启发式方法获取response候选集合,给定上下文的句子,选择出现频率最好的前5个关键词,将这些关键词扩展为一个句子,然后使用索引的内联检索算法检索reponse候选集合,最终根据候选response集合的匹配secore来选择最终的回复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值