​EMNLP 2023 findings | 生成式框架下解决输入扰动槽填充任务

news2024/5/18 14:20:01

94412d5725d3a8e4e05c9597a7f4b101.gif

©PaperWeekly 原创 · 作者 | 回亭风

单位 | 北京邮电大学

研究方向 | 自然语言理解

102d8e64c83f7a4c0cf3783cad86f23f.png

论文标题:

DemoNSF: A Multi-task Demonstration-based Generative Framework for Noisy Slot Filling Task

论文链接:

https://arxiv.org/abs/2310.10169

代码链接:

https://github.com/dongguanting/Demo-NSF

095c1b75ed78cf67dee389abe7d70f04.png

总览

真实场景下的对话系统的用户输入通常存在各类扰动,例如人类在对话过程中通常伴有简化、冗余等口语化、非正式的表达。这种自由的表达通常会造成模型性能的严重下降。本文以对话系统中的槽填充任务(Slot Filling)为切入点,探索在输入存在扰动的情况下,生成式模型的表现。

e4e700f79a5a9caf4a35f33fb099d62a.png

什么是输入扰动?

在真实的模型使用场景下,人类与系统交互时的输入是完全“自由”的。以对话系统为例,针对在线对话系统,人类输入可能存在拼写错误;针对语音交互的对话系统,在 ASR 识别过程中可能存在部分词的识别错误;人类自由的表达方式也会存在部分省略、冗余等。

我们将以上不符合常规语法或存在错误的输入称为输入扰动。在本文中,我们将输入扰动分为三类:字符级(如拼写错误)、词级(如 ASR 识别错误)和句子级(如简化、冗余等),数据集采用 RADDLE 和 SNIPS。对于 RADDLE,我们对五种扰动数据(Typos,Speech Error,Simplification,Verbose,Paraphrase)进行人工标注和校准,对于 SNIPS,我们使用 TextFlint 进行增强,并人工标注并校对。

d8b6dc325c4accccec8c6fd29cc5e0ae.png

cf4af1c74c9591137f44af1f94178842.png

基于多任务演示的生成式框架

为了解决输入扰动带来的问题,本文提出了一个基于多任务演示的生成式框架,名为 DemoNSF,框架包括三个有噪声的辅助任务,即噪声恢复(NR)随机掩码(RM)多噪声分类(HD),以提高对不同水平的输入扰动的性能。在下游过程中,本文将 SF 任务制定为由噪声任务演示指导的序列到序列生成。

3.1 问题定义

给定一个输入 及其对应的槽类型集 ,槽填充任务的目的是提取 中所有的实体。对于有噪声的槽填充任务,我们将真实场景中的输入扰动过程表示为 ,模型的鲁棒性是在扰动测试数据集 上进行评估的,但在训练阶段没有访问输入扰动过程 或扰动数据。在本文中 、 和 分别表示干净数据、增强数据和测试数据。

2.2 噪声辅助任务

9170173177e3e4fb01fa3ee633b7a135.png

噪声恢复(NR):给定一个字符级增强输入 ,其中 表示带有字符级增强的增强标记,NR 任务的目标是将 恢复到相应的干净输入 。该任务旨在使模型能够旨在捕获细粒度噪声数据干净数据之间的映射关系,从而增强模型表示细粒度噪声数据的能力。因此,损失函数可以表述为:

8dd513e5ab2fdc77b50ee86b5e879198.png

其中, 和 分别表示批处理大小和序列长度。

随机掩码(RM):受 BERT 中引入的掩码语言建模(MLM)概念的启发,本文提出了随机掩模任务。该任务给定 中的一个输入,用特殊的 符号随机掩码一个实体,得到 。目标是将标记恢复到其原始值。随机掩模过程旨在使模型能够隐式学习扰动数据的槽实体分布。因此,RM 任务的损失函数可以定义为:

660c1f4393d25143370b74191a78f17b.png

其中, 表示原始标记。

多噪声分类(HD):为了进一步解决粗粒度的输入扰动,本文提出了混合鉴别任务。该任务结合 和 来创建一个混合数据集,表示为 。从 中随机选择输入,并根据所选的输入是干净的还是有不同程度的扰动来分配不同的标签。如图所示,生成模型可以在区分有扰动和无扰动的输入时考虑全局信息,同时隐式地捕获扰动数据所特有的语义特征。损失函数 与 相同。因此,总体损失函数 被定义为:

f62f84c4bc0ff47e5fb346932817e969.png

3.3 扰动演示构建

与之前基于演示的工作不同,本文对于每个输入 ,我们从 而不是 中选择示例 ,以将扰动语义信息纳入模型;对于检索,我们使用 SBERT,它独立地为 和 生成嵌入表示,并计算它们的相似度得分以对 进行排序,随后,我们选择 top-k 个示例来构建带噪声的演示 ,并将它们与输入 连接起来,形成完整的输入 。

演示模板如下所示:

“Demonstrations: [Retrieved noisy utterances]. [text span] is [slot type]. Input Utterance: [Original input].”

6513e3cb8f43689248a2f5ee65e1fb75.png

实验结果

4.1 主实验

表 1 展示了在单一扰动设置下的 DemoNSF 和其他 baseline 的主要结果。可以观察到,DemoNSF 无论是在细粒度的扰动,还是在粗粒度扰动方面均保持了很强的性能,具有显著的优势。这些结果清楚地表明,DemoNSF 有效地捕获了细粒度噪声数据和干净数据之间的映射关系,同时也考虑了泛化到粗粒度全局语义扰动的能力。

DemoNSF 是一个即插即用的方法,在不同的生成式模型上均可以达到很好的效果。在 BART 和 GPT-2 得到的结果与 baseline 相比性能也有显著提高。通过消融实验的结果进一步证明,该方法在面对扰动时显著增强了生成模型的鲁棒性。

fc428f27999be0b0d8effac6bb3cacb3.png

a54c6906122100a37be2355299f5bf0c.png

4.2 混合扰动实验

在真实的对话场景中,混合扰动经常同时出现在一个话语中。为了进一步验证 DemoNSF 在更现实的场景下的有效性,本文进行了混合扰动实验。

实验结果如表 2 所示,DemoNSF 在所有双扰动中,特别是在细粒度混合扰动中都显著优于其他 baseline。即使有三种扰动的混合场景,DemoNSF 仍能保持更好的性能。

e923ef665f5648fc17caae9db81ddcb2.png

4.3 演示示例的影响

图 3 显示了在单一扰动下不同类型的演示数量的影响。可以发现:

(1)DemoNSF 在只有两个增强样本的情况下表现出显著的性能增益,而随着样本数量的增加,其性能会严重下降。这可能是因为多样化的增强实例可以帮助模型明确融合有噪声的语义分布,而超过一定阈值的样本多样性甚至可能带来额外的噪声。

(2)随着数量的增加,clean 演示只带来轻微的改善,这表明 clean 样本只提供一些任务一般信息(例如实体分布、槽-值映射)来进行提示。

(3)从混合数据池中检索到的演示显示出稳定的性能增益,进一步证实了噪声语义分布与任务一般信息之间的相互促进,并为基于提示的生成模型的鲁棒性提供了指导。

bc73ab865c0360ba2a6a346661d1b9bc.png

4.4 ChatGPT评估

为了进一步验证我们提出的噪声示例策略的有效性,我们在 ChatGPT 和 Text-davinci-003 上进行评估实验。结果如下:

0406093a4afb9ed7e1d9acca36ec9daf.png

可以看出,无论是 Text-davinci-003 还是 ChatGPT,在扰动槽填充任务上表现都不尽人意。与传统的召回 clean 示例相比,增强示例和混合示例的策略在扰动任务的性能上有明显改善,这也证明了我们的示例策略在解决输入扰动问题中的有效性。

除此之外,从结果中可以看出,两种演示的策略在细粒度扰动上有显著的提升,但是在粗粒度中改善并不明显。即拼接示例这种上下文学习的方式更适配于细粒度扰动,至于如何大幅改善粗粒度扰动下的生成式模型的性能,是未来研究工作的一项挑战。

9a504e904a31d166348e01aa5301ddbd.png

结论

在本文中,我们提出了一个统一的基于多任务演示的生成框架的噪声槽填充任务,引入了三种新的有噪声的辅助任务和一种有噪声的演示构造策略,旨在从显式和隐式两个层面学习扰动的语义结构。在两个基准上的实验证明了 DemoNSF 的有效性,进一步的分析为生成框架的实际应用提供了经验指导。

但是,我们的工作还是存在其局限性,在训练前阶段引入三种新的噪声辅助任务,这可能比传统方法消耗更多的 GPU 内存和计算时间。此外,我们的方法主要集中于插槽填充任务。然而,我们相信有可能将我们的工作扩展到其他场景,如小样本和零样本的场景。我们也将它作为我们未来的研究以及改善的目标,欢迎大家多多留言多多交流。

更多阅读

04c1e7f52886d94cc26dce6d253053d0.png

70229bb27135f974e0a67a69c0a8a734.png

e34796a2c9f2e8de75c27728754636a5.png

837430ca5fa0e483ec35d89d47edbfed.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

57c9beaba97491612f37910098adf731.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

6812a4d238305925ea78dee49c422f4e.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1232281.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】套接字编程

目录 套接字 IP PORT TCP和UDP的介绍 TCP UDP 网络字节序 转换接口 UDP服务器的编写 服务器的初始化 socket bind sockaddr 结构 服务器的运行 数据的收发 业务处理 客户端的编写 运行效果 拓展 套接字 🌸首先,我们先思考一个问题…

11.4MyBatis(基础)

一.搭环境 1.创建完SSM项目,添加MySQL和MyBatis后,项目启动一定会报错,这是正常情况. 2.配置文件 properties: server.port9090 spring.datasource.urljdbc:mysql://127.0.0.1:3306/test1?characterEncodingutf8&useSSLfalse spring.datasource.usernameroot spring.d…

Linux内核的安装

1.通过tftp 加载内核和根文件系统 即sd内存卡启动: SD卡的存储以扇区为单位,每个扇区的大小为512Byte, 其中零扇区存储分区表(即分区信息),后续的扇区可自行分区和格式化; 若选择SD卡启动,处理器上电后从第一个扇区开…

开发仿抖音APP遇到的问题和解决方案

uni-app如何引入阿里矢量库图标/uniapp 中引入 iconfont 文件报错文件查找失败 uni-app如何引入阿里矢量库图标 - 知乎 uniapp 中引入 iconfont 文件报错文件查找失败:‘./iconfont.woff?t1673007495384‘ at App.vue:6_宝马金鞍901的博客-CSDN博客 将课件中的cs…

企业微信将应用安装到工作台

在上篇中介绍了配置小程序应用及指令、数据回调获取第三方凭证; 本篇将介绍如何将应用安装到企业工作台。 添加测试企业 通过【应用管理】->【测试企业配置】添加测试企业。 通过企业微信扫描二维码添加测试企业。 注意:需要扫描的账号为管理员权限…

让别人访问电脑本地

查看本地IP地址: 使用ipconfig(Windows)或ifconfig(Linux/macOS)命令来查看你的计算机本地网络的IP地址。确保*****是你的本地IP地址。 防火墙设置: 确保你的防火墙允许从外部访问*****。你可能需要在防火…

万字解析设计模式之代理模式

一、代理模式 1.1概述 代理模式是一种结构型设计模式,它允许通过创建代理对象来控制对其他对象的访问。这种模式可以增加一些额外的逻辑来控制对原始对象的访问,同时还可以提供更加灵活的访问方式。 代理模式分为静态代理和动态代理两种。静态代理是在编…

【机器学习】032_多种神经网络层类型

一、密集层 每一层神经元都是上一层神经元的函数,每层每个神经元都从前一层获得所有激活的输入。 整个神经网络前一层与后一层连接在一起,构造的网络密集。 二、卷积层 假设有一张大小为axb像素的图片,上面标着一些手写数字&#xff0c…

Apache Airflow (十二) :PythonOperator

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…

Java-equals方法

1.package com.msb.test02; 2. 3./** 4. * Auther: msb-zhaoss 5. */ 6.public class Phone {//手机类: 7. //属性: 8. private String brand;//品牌型号 9. private double price;//价格 10. private int year ;//出产年份 11. //方法&a…

Java基础-----正则表达式

文章目录 1.简介2.目的3.学习网站4.常用匹配字符5.String类中用到正则表达式的方法 1.简介 又叫做规则表达式。是一种文本模式,包括普通字符和特殊字符(元字符)。正则使用单个字符来描述、匹配一系列某个句法规则的字符串,通常用…

投资黄金:如何选择正确的黄金品种增加收益?

黄金一直以来都是备受投资者青睐的避险资产,然而,在庞大的黄金市场中,选择适合自己的黄金品种成为影响收益的关键因素。黄金投资并不只有一种方式,而是有很多种不同的黄金品种可以选择。每种黄金品种都有其独特的特点和风险&#…

Linux本地WBO创作白板部署与远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

启动dubbo消费端过程提示No provider available for the service的问题定位与解决

文/朱季谦 某次在启动dubbo消费端时,发现无法从zookeeper注册中心获取到所依赖的消费者API,启动日志一直出现这样的异常提示 Failed to check the status of the service com.fte.zhu.api.testService. No provider available for the service com.fte…

使用Python的turtle模块绘制玫瑰花图案(含详细Python代码与注释)

1.1引言 turtle模块是Python的标准库之一,它提供了一个绘图板,让我们可以在屏幕上绘制各种图形。通过使用turtle,我们可以创建花朵、叶子、复杂的图案等等。本博客将介绍如何使用turtle模块实现绘制图形的过程,并展示最终结果。 …

初始环境配置

目录 一、JDK1、简介2、配置步骤 二、Redis1、简介2、配置步骤 三、MySQL1、简介2、配置步骤 四、Git1、简介2、配置步骤 五、NodeJS1、简介2、配置步骤 六、Maven1、简介2、配置步骤 七、Tomcat1、简介2、配置步骤 一、JDK 1、简介 JDK 是 Oracle 提供的 Java 开发工具包&…

Java基础-----StringBuffer和StringBuilder

文章目录 1.StringBuffer1.1 构造方法1.2 常用方法 2.StringBuilder3.String、StringBuffer、StringBuilder的区别 1.StringBuffer 内容可变的字符串类,适应StringBuffer来对字符串的内容进行动态操作,不会产生额外的对象。StringBuffer在初始时&#x…

机器学习笔记 - Ocr识别中的CTC算法原理概述

一、文字识别 在文本检测步骤中,分割出了文本区域。现在需要识别这些片段中存在哪些文本。 机器学习笔记 - Ocr识别中的文本检测EAST网络概述-CSDN博客文章浏览阅读300次。在 EAST 网络的这个分支中,它合并了 VGG16 网络不同层的特征输出。现在,该层之后的特征大小将等于 p…

【计算机网络笔记】路由算法之链路状态路由算法

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

Redis高级特性和应用(发布 订阅、Stream)

目录 发布和订阅 操作命令 发布消息 订阅消息 查询订阅情况 查看活跃的频道 查看频道订阅数 使用场景和缺点 Redis Stream Stream总述 常用操作命令 生产端 消费端 单消费者 消费组 创建消费组 消息消费 在Redis中实现消息队列 基于pub/sub 基于Stream Re…