©PaperWeekly 原创 · 作者 | 回亭风
单位 | 北京邮电大学
研究方向 | 自然语言理解
论文标题:
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
总览
真实场景下的对话系统的用户输入通常存在各类扰动,例如人类在对话过程中通常伴有简化、冗余等口语化、非正式的表达。这种自由的表达通常会造成模型性能的严重下降。本文以对话系统中的槽填充任务(Slot Filling)为切入点,探索在输入存在扰动的情况下,生成式模型的表现。
什么是输入扰动?
在真实的模型使用场景下,人类与系统交互时的输入是完全“自由”的。以对话系统为例,针对在线对话系统,人类输入可能存在拼写错误;针对语音交互的对话系统,在 ASR 识别过程中可能存在部分词的识别错误;人类自由的表达方式也会存在部分省略、冗余等。
我们将以上不符合常规语法或存在错误的输入称为输入扰动。在本文中,我们将输入扰动分为三类:字符级(如拼写错误)、词级(如 ASR 识别错误)和句子级(如简化、冗余等),数据集采用 RADDLE 和 SNIPS。对于 RADDLE,我们对五种扰动数据(Typos,Speech Error,Simplification,Verbose,Paraphrase)进行人工标注和校准,对于 SNIPS,我们使用 TextFlint 进行增强,并人工标注并校对。
基于多任务演示的生成式框架
为了解决输入扰动带来的问题,本文提出了一个基于多任务演示的生成式框架,名为 DemoNSF,框架包括三个有噪声的辅助任务,即噪声恢复(NR)、随机掩码(RM)和多噪声分类(HD),以提高对不同水平的输入扰动的性能。在下游过程中,本文将 SF 任务制定为由噪声任务演示指导的序列到序列生成。
3.1 问题定义
给定一个输入 及其对应的槽类型集 ,槽填充任务的目的是提取 中所有的实体。对于有噪声的槽填充任务,我们将真实场景中的输入扰动过程表示为 ,模型的鲁棒性是在扰动测试数据集 上进行评估的,但在训练阶段没有访问输入扰动过程 或扰动数据。在本文中 、 和 分别表示干净数据、增强数据和测试数据。
2.2 噪声辅助任务
噪声恢复(NR):给定一个字符级增强输入 ,其中 表示带有字符级增强的增强标记,NR 任务的目标是将 恢复到相应的干净输入 。该任务旨在使模型能够旨在捕获细粒度噪声数据和干净数据之间的映射关系,从而增强模型表示细粒度噪声数据的能力。因此,损失函数可以表述为:
其中, 和 分别表示批处理大小和序列长度。
随机掩码(RM):受 BERT 中引入的掩码语言建模(MLM)概念的启发,本文提出了随机掩模任务。该任务给定 中的一个输入,用特殊的 符号随机掩码一个实体,得到 。目标是将标记恢复到其原始值。随机掩模过程旨在使模型能够隐式学习扰动数据的槽实体分布。因此,RM 任务的损失函数可以定义为:
其中, 表示原始标记。
多噪声分类(HD):为了进一步解决粗粒度的输入扰动,本文提出了混合鉴别任务。该任务结合 和 来创建一个混合数据集,表示为 。从 中随机选择输入,并根据所选的输入是干净的还是有不同程度的扰动来分配不同的标签。如图所示,生成模型可以在区分有扰动和无扰动的输入时考虑全局信息,同时隐式地捕获扰动数据所特有的语义特征。损失函数 与 相同。因此,总体损失函数 被定义为:
3.3 扰动演示构建
与之前基于演示的工作不同,本文对于每个输入 ,我们从 而不是 中选择示例 ,以将扰动语义信息纳入模型;对于检索,我们使用 SBERT,它独立地为 和 生成嵌入表示,并计算它们的相似度得分以对 进行排序,随后,我们选择 top-k 个示例来构建带噪声的演示 ,并将它们与输入 连接起来,形成完整的输入 。
演示模板如下所示:
“Demonstrations: [Retrieved noisy utterances]. [text span] is [slot type]. Input Utterance: [Original input].”
实验结果
4.1 主实验
表 1 展示了在单一扰动设置下的 DemoNSF 和其他 baseline 的主要结果。可以观察到,DemoNSF 无论是在细粒度的扰动,还是在粗粒度扰动方面均保持了很强的性能,具有显著的优势。这些结果清楚地表明,DemoNSF 有效地捕获了细粒度噪声数据和干净数据之间的映射关系,同时也考虑了泛化到粗粒度全局语义扰动的能力。
DemoNSF 是一个即插即用的方法,在不同的生成式模型上均可以达到很好的效果。在 BART 和 GPT-2 得到的结果与 baseline 相比性能也有显著提高。通过消融实验的结果进一步证明,该方法在面对扰动时显著增强了生成模型的鲁棒性。
4.2 混合扰动实验
在真实的对话场景中,混合扰动经常同时出现在一个话语中。为了进一步验证 DemoNSF 在更现实的场景下的有效性,本文进行了混合扰动实验。
实验结果如表 2 所示,DemoNSF 在所有双扰动中,特别是在细粒度混合扰动中都显著优于其他 baseline。即使有三种扰动的混合场景,DemoNSF 仍能保持更好的性能。
4.3 演示示例的影响
图 3 显示了在单一扰动下不同类型的演示数量的影响。可以发现:
(1)DemoNSF 在只有两个增强样本的情况下表现出显著的性能增益,而随着样本数量的增加,其性能会严重下降。这可能是因为多样化的增强实例可以帮助模型明确融合有噪声的语义分布,而超过一定阈值的样本多样性甚至可能带来额外的噪声。
(2)随着数量的增加,clean 演示只带来轻微的改善,这表明 clean 样本只提供一些任务一般信息(例如实体分布、槽-值映射)来进行提示。
(3)从混合数据池中检索到的演示显示出稳定的性能增益,进一步证实了噪声语义分布与任务一般信息之间的相互促进,并为基于提示的生成模型的鲁棒性提供了指导。
4.4 ChatGPT评估
为了进一步验证我们提出的噪声示例策略的有效性,我们在 ChatGPT 和 Text-davinci-003 上进行评估实验。结果如下:
可以看出,无论是 Text-davinci-003 还是 ChatGPT,在扰动槽填充任务上表现都不尽人意。与传统的召回 clean 示例相比,增强示例和混合示例的策略在扰动任务的性能上有明显改善,这也证明了我们的示例策略在解决输入扰动问题中的有效性。
除此之外,从结果中可以看出,两种演示的策略在细粒度扰动上有显著的提升,但是在粗粒度中改善并不明显。即拼接示例这种上下文学习的方式更适配于细粒度扰动,至于如何大幅改善粗粒度扰动下的生成式模型的性能,是未来研究工作的一项挑战。
结论
在本文中,我们提出了一个统一的基于多任务演示的生成框架的噪声槽填充任务,引入了三种新的有噪声的辅助任务和一种有噪声的演示构造策略,旨在从显式和隐式两个层面学习扰动的语义结构。在两个基准上的实验证明了 DemoNSF 的有效性,进一步的分析为生成框架的实际应用提供了经验指导。
但是,我们的工作还是存在其局限性,在训练前阶段引入三种新的噪声辅助任务,这可能比传统方法消耗更多的 GPU 内存和计算时间。此外,我们的方法主要集中于插槽填充任务。然而,我们相信有可能将我们的工作扩展到其他场景,如小样本和零样本的场景。我们也将它作为我们未来的研究以及改善的目标,欢迎大家多多留言多多交流。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·