【论文阅读】Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network

本文主要是介绍【论文阅读】Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、简介
  • 二、方法
    • 1. 任务: 多轮对话回复选择
    • 2. 模型架构
      • attention 模块
      • Representation:
      • Matching:
      • Aggregation:
  • 三、实验
    • 1. 数据集
    • 2. 评价指标
    • 3. 实验设置
    • 4. 实验结果
  • 四、结果分析
    • 1. 实验结果分析
    • 2. 注意力可视化
    • 3. 错误分析

在这里插入图片描述


一、简介

研究了使用依赖信息来匹配回复和它的多回合上下文,以两种方式扩展了Transformer的注意机制:

(1)使用堆叠的自注意来获取多粒度的语义表示。

(2)利用交叉注意对依赖信息进行匹配。


二、方法

1. 任务: 多轮对话回复选择

给定对话数据集 D = { ( c , r , y ) Z } Z = 1 N D = \{(c, r, y)Z\}_{Z=1}^{N} D={(c,r,y)Z}Z=1N

其中 c = { u 0 , … , u n − 1 } c = \{u0,…, un−1\} c={u0un1}表示会话上下文,其中 { u i } n − 1 i = 0 \{ui\}_{n−1}^{i=0} {ui}n1i=0作为话语,r 作为回复候选。 y ∈ { 0 , 1 } y∈\{0,1\} y{0,1}是一个二进制标签,表示r是否是c的合适回复。

目标: 学习一个与D匹配的模型g(c, r),它可以度量任何上下文c与候选回复r之间的相关性。

2. 模型架构

DAM,(主要基于Transformer)使用representation-matching-aggregation架构来匹配回复和多轮上下文:
在这里插入图片描述

attention 模块

和transformer相似,attention 模块有三个输入句:query sentence,key sentence,value sentence:
在这里插入图片描述
在这里插入图片描述
其中Q[i]是query sentence,Q 中的第i个embedding, V a t t [ i ] V_{att_[i]} Vatt[i] a t t [ i ] att_[i] att[i]的第i行,存储是value sentence中可能与query sentence中第i个单词有依赖关系的单词的融合语义信息。对于每个i, V a t t [ i ] V_{att_[i]} Vatt[i]和Q[i]被加在一起,将它们组合成一个包含它们联合意义的新表示。

然后应用图层归一化,防止梯度消失或爆炸。对归一化结果应用具有RELU 激活的前馈网络FFN,进一步处理融合的嵌入:
在这里插入图片描述
x是query sentence,Q形状相同的一个二维张量,FFN(x)是一个与x形状相同的二维张量,然后将FFN(x)残加到x中,融合结果归一化为最终输出。

整个注意模块可以捕获跨query sentence和key sentence的依赖关系,并进一步使用依赖关系信息将查询句中的元素和值句复合成复合表示。我们利用细心模块的这个属性来构造多粒度语义表示,并与依赖项信息匹配。

Representation:

输入词向量embedding,对话历史以句子为单位, 与response一起通过L个Attentive Module, L个相同的自关注层被分层堆叠,每个第L个自关注层将第L - 1层的输出作为其输入,并将输入的语义向量组合成更复杂的基于自我注意的多粒度表示。通过这种方式,每个utterance和response都逐渐构造出 u i u_{i} ui和r的多粒度表示(L个矩阵 , [ U i l ] l = 0 L [U_{i}^{l}]_{l=0}^{L} [Uil]l=0L [ R l ] l = 0 L [R^{l}]_{l=0}^{L} [Rl]l=0L )。
在这里插入图片描述

l l l的取值范围为0 ~ l − 1 l−1 l1,表示粒度的不同。通过这种方式,每个话语或反应中的单词重复地作用在一起,合成越来越整体的表征。

Matching:

DAM使用 self-attention 和 cross-attention 来提取 response 和 context 的特征。在每一级粒度 l l l上构造两种段-段匹配矩阵,即自注意力匹配矩阵 M s e l f u i , r , l M_{self}^{u_i, r, l} Mselfui,r,l 、交叉注意力匹配矩阵 M c r o s s u i , r , l M_{cross}^{u_i, r, l} Mcrossui,r,l

自注意矩阵:
在这里插入图片描述
交叉注意矩阵:
在这里插入图片描述

Aggregation:

经过深层匹配后,把所有话语和回复的匹配聚合成类似3D图像Q,有三个维度(utterance、utterance中的每个词、response中的每个词)
在这里插入图片描述
每个像素点 Q i , k , t Q_{i, k, t} Qi,k,t为:
在这里插入图片描述
⊕为拼接运算,每个像素有2(L + 1)个通道,存储不同粒度的某一段对之间的匹配度。

通过对最大池化操作进行卷积,提取多回合上下文片段对与候选响应之间的重要匹配信息,并通过单层感知器融合为一个匹配得分,表示候选响应与整个上下文的匹配程度。
在这里插入图片描述
损失函数为:
在这里插入图片描述


三、实验

1. 数据集

1、Ubuntu对话语料库,是最大的公共多轮对话语料库,包含了特定领域的大约一百万次对话。

2、DouBan对话语料库,中文开放域对话语料库,包含50万个多回合上下文,每个上下文都有一个由人类产生的积极反应和一个随机抽样的消极反应。

2. 评价指标

  • Rn@k,n选k的召回率

  • MAP ,Mean Average Precision,平均准确率。单个对话的平均准确率是检索出目标回复后的准确率的平均值。对话系统的平均准确率是每个对话的平均准确率的平均值。MAP 是反映系统在全部相关回复上性能的单值指标。系统检索出来的相关回复越靠前(rank 越高),MAP就可能越高。如果系统没有返回相关回复,则准确率默认为0。

例如,假设有两个对话,对话1有4个相关回复,对话2有5个相关回复。某系统对于对话1检索出4个相关回复,其rank分别为1, 2, 4, 7;对于对话2检索出3个相关回复,其rank分别为1,3,5。对于对话1,平均准确率为(1/1+2/2+3/4+4/7)/4=0.83。对于对话2,平均准确率为(1/1+2/3+3/5+0+0)/5=0.45。则MAP= (0.83+0.45)/2=0.64。

  • MRR ,Mean Reciprocal Rank,把标准答案在被评价系统给出结果中的排序取倒数作为它的准确度,再对所有的问题取平均。

  • P@1,Precision-at-one

3. 实验设置

  • 最多考虑9个回合和每条话语(回复)50个单词,用word2vec 预先训练word embedding

  • 使用zero-pad来处理可变大小的输入,FFN中的参数规格设为200,与ord embedding大小相同。

  • 我们测试了1-7个自我注意层,展示了在验证集上获得最好结果的情况(5个自注意层)。

  • 使用adam优化器调整DAM和其他消融模型,学习率初始化为1e-3,并在训练过程中逐渐降低,batch-size为256

4. 实验结果

在这里插入图片描述


四、结果分析

1. 实验结果分析

DAM能够很好地匹配含有4个以上话语的长语境的反应,对于只有2个回合的短语境仍能稳定地匹配反应。
在这里插入图片描述
堆叠自注意可以持续提高具有不同平均话语文本长度上下文的匹配性能,这意味着使用多粒度语义表示具有稳定性优势

  1. 短话语的匹配性能明显低于长话语。这是因为话语文本越短,包含的信息就越少,选择下一个话语就越困难,而堆叠自我关注在这种情况下仍然有帮助。
  2. 对于包含30个以上单词的长话语,叠加自我注意可以显著提高匹配性能,即一个话语包含的信息越多,就越需要叠加自我注意来捕获其内部语义结构。

2. 注意力可视化

在这里插入图片描述
在实际应用中对自注意匹配和交叉注意匹配应用了softmax,以检验在叠加自注意和交叉注意时支配匹配对的方差。

自注意匹配和交叉注意匹配在话语与回复的匹配中捕获互补信息,回复片段在话语和回复中通常会捕捉到结构-语义信息,放大了它们相对于其他片段的匹配分数。

3. 错误分析

主要出现的错误类型:

  1. fuzzy-candidate,模糊候选,除了一些不恰当的细节外,回复的候选基本上适合会话上下文。
  2. logical-error,逻辑错误,应试者由于逻辑不匹配而出现错误。

paper地址:https://www.aclweb.org/anthology/P18-1103.pdf

代码地址:https://github.com/baidu/Dialogue

参考:IR的评价指标-MAP,NDCG和MRR


有帮助的话可以点个赞喔~
在这里插入图片描述

这篇关于【论文阅读】Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843009

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

什么是 Flash Attention

Flash Attention 是 由 Tri Dao 和 Dan Fu 等人在2022年的论文 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 中 提出的, 论文可以从 https://arxiv.org/abs/2205.14135 页面下载,点击 View PDF 就可以下载。 下面我

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已