BERT for Joint Intent Classification and Slot Filling 论文阅读

BERT for Joint Intent Classification and Slot Filling 论文阅读

  • Abstract
  • 1 Introduction
  • 2 Related work
  • 3 Proposed Approach
    • 3.1 BERT
    • 3.2 Joint Intent Classification and Slot Filling
    • 3.3 Conditional Random Field
  • 4 Experiments and Analysis
    • 4.1 Data
    • 4.2 Training Details
    • 4.3 Results
    • 4.4 Ablation Analysis and Case Study
  • 5 Conclusion
  • 阅读总结

文章信息:

在这里插入图片描述

原文链接:https://arxiv.org/abs/1902.10909

源码:https://github.com/monologg/JointBERT

Abstract

意图分类和槽填充是自然语言理解中两个重要的任务。它们通常受制于规模较小的人工标记训练数据,导致泛化能力较差,特别是对于罕见词汇。最近,一种新的语言表示模型BERT(Bidirectional Encoder Representations from Transformers)在大规模未标记语料库上进行了深度双向表示的预训练,通过简单微调后为各种自然语言处理任务创建了最先进的模型。然而,对于自然语言理解,尚未有太多关于探索BERT的努力。在本工作中,我们提出了一种基于BERT的联合意图分类和槽填充模型。实验结果表明,与基于注意力的递归神经网络模型和槽门控模型相比,我们提出的模型在几个公共基准数据集上实现了意图分类准确性、槽填充F1值以及句子级语义框架准确性的显著改进。

1 Introduction

在这里插入图片描述
表1:用户查询到语义框架的示例。

近年来,各种智能音箱已经被部署并取得了巨大成功,例如Google Home、Amazon Echo、天猫精灵等,它们促进了目标导向的对话,并通过语音交互帮助用户完成任务。自然语言理解(NLU)对于目标导向的口语对话系统的性能至关重要。NLU通常包括意图分类和槽填充任务,旨在为用户的话语形成语义解析。意图分类专注于预测查询的意图,而槽填充则提取语义概念。表1展示了用户查询“找一部史蒂文·斯皮尔伯格的电影”进行意图分类和槽填充的示例。

意图分类是一个分类问题,它预测意图标签 y i y^i yi,而槽填充是一个序列标注任务,将输入词序列 x = ( x 1 , x 2 , ⋯   , x T ) x=(x_1,x_2,\cdots,x_T) x=(x1,x2,,xT) 标记为槽标签序列 y s = ( y 1 s , y 2 s , ⋯   , y T s ) y^s=(y_{1}^{s},y_{2}^{s},\cdots,y_{T}^{s}) ys=(y1s,y2s,,yTs)。基于循环神经网络(RNN)的方法,尤其是门控循环单元(GRU)和长短期记忆(LSTM)模型,已经在意图分类和槽填充方面取得了最先进的性能。最近,提出了几种用于意图分类和槽填充的联合学习方法,以利用和建模两个任务之间的依赖关系,并改善独立模型的性能(Guo等,2014年; Hakkani-Türet al.,2016年; Liu和Lane,2016年; Goo等,2018年)。先前的工作表明,注意力机制(Bahdanau等,2014年)有助于RNN处理长距离依赖关系。因此,提出了基于注意力的联合学习方法,并在联合意图分类和槽填充方面取得了最先进的性能(Liu和Lane,2016年; Goo等,2018年)。

NLU和其他自然语言处理(NLP)任务中缺乏人工标注数据导致了泛化能力的不足。为了解决数据稀缺的挑战,提出了各种技术用于训练通用语言表示模型,使用大量未标记的文本,例如ELMo(Peters等,2018)和生成式预训练Transformer(GPT)(Radford等,2018)。预训练模型可以在NLP任务上进行微调,并且相对于在特定任务的标注数据上训练,已经取得了显著的改进。最近,提出了一种预训练技术,即双向编码器表示的转换器(BERT)(Devlin等,2018),并且已经为各种NLP任务(包括问答(SQuAD v1.1)、自然语言推理等)创建了最先进的模型。

然而,关于探索BERT用于NLU方面的努力并不多。本工作的技术贡献有两个方面:
1)我们探索了BERT预训练模型以解决NLU的泛化能力不足问题;

2)我们提出了基于BERT的联合意图分类和槽填充模型,并且证明了与基于注意力的RNN模型和槽门控模型相比,所提出的模型在几个公共基准数据集上的意图分类准确性、槽填充F1分数以及句级语义框架准确性上均取得了显著的改进。

2 Related work

深度学习模型在自然语言理解领域得到了广泛的探索。根据意图分类和槽填充是否分别建模,我们将NLU模型分为独立建模方法和联合建模方法两类。

意图分类的方法包括CNN(Kim,2014; Zhang等,2015)、LSTM(Ravuri和Stolcke,2015)、基于注意力的CNN(Zhao和Wu,2016)、分层注意力网络(Yang等,2016)、对抗多任务学习(Liu等,2017)等。槽填充的方法包括CNN(Vu,2016)、深度LSTM(Yao等,2014)、RNNEM(Peng等,2015)、编码器-标签器深度LSTM(Kurata等,2016)以及联合指针和注意力(Zhao和Feng,2018),等等。

联合建模方法包括CNNCRF(Xu和Sarikaya,2013)、RecNN(Guo等,2014)、联合RNN-LSTM(Hakkani-Tur等,2016)、基于注意力的BiRNN(Liu和Lane,2016)和基于槽门的注意力模型(Goo等,2018)。

3 Proposed Approach

在这里插入图片描述

图1:所提出模型的高级视图。输入查询是“play the song little robin redbreast”。

3.1 BERT

输入表示是WordPiece嵌入(Wu等人,2016)、位置嵌入和段嵌入的串联。特别地,对于单句分类和标记任务,段嵌入没有区别。一个特殊的分类嵌入([CLS])被插入为第一个标记,一个特殊的标记([SEP])被添加为最后一个标记。给定一个输入标记序列 x = ( x 1 , … , x T ) x=(x_1,\ldots,x_T) x=(x1,,xT),BERT的输出是 H = ( h 1 , … , h T ) \mathbf{H}=(\boldsymbol{h}_1,\ldots,\boldsymbol{h}_T) H=(h1,,hT)

3.2 Joint Intent Classification and Slot Filling

BERT 可以很容易地扩展为一个联合意图分类和槽填充模型。根据第一个特殊标记([CLS])的隐藏状态,记为 h 1 h_1 h1,可以预测意图为:

在这里插入图片描述
对于槽填充,我们将其他标记的最终隐藏状态 h 2 , … , h T \boldsymbol{h}_2,\ldots,\boldsymbol{h}_T h2,,hT 输入到一个 softmax 层中,以对槽填充标签进行分类。为了使这个过程与 WordPiece 分词兼容,我们将每个标记化的输入词输入到一个 WordPiece 分词器中,并使用对应于第一个子标记的隐藏状态作为 softmax 分类器的输入。

在这里插入图片描述
其中, h n  是与单词  x n  的第一个子标记对应的隐藏状态。 \begin{aligned}&\mathrm{其中,}\boldsymbol{h}_n\text{ 是与单词 }x_n\text{ 的第一个子标记对应的隐藏状态。}\end{aligned} 其中,hn 是与单词 xn 的第一个子标记对应的隐藏状态。

同时建模意图分类和槽填充,其目标被形式化为:
在这里插入图片描述
学习目标是最大化条件概率 p ( y i , y s ∣ x ) p(y^i,y^s|x) p(yi,ysx)。通过最小化交叉熵损失 l o s s loss loss来端到端地微调模型。

3.3 Conditional Random Field

槽标签的预测依赖于周围单词的预测。已经证明结构化预测模型可以提高槽填充性能,例如条件随机场(CRF)。Zhou和Xu(2015)通过为BiLSTM编码器添加CRF层来改进语义角色标注。在这里,我们调查了在联合BERT模型之上添加CRF来建模槽标签依赖性的效果。

4 Experiments and Analysis

我们在两个公开基准数据集ATIS和Snips上评估了提出的模型。

4.1 Data

ATIS数据集(Tür等,2010年)在NLU研究中被广泛使用,其中包括人们进行航班预订的音频录音。我们对这两个数据集使用了与Goo等人(2018年)相同的数据划分。训练、开发和测试集分别包含4,478、500和893个话语。训练集共有120个槽标签和21个意图类型。我们还使用了Snips数据集(Coucke等人,2018年),该数据集收集自Snips个人语音助手。训练、开发和测试集分别包含13,084、700和700个话语。训练集共有72个槽标签和7个意图类型。

4.2 Training Details

我们使用英文的uncased BERT-Base模型,它具有12层、768个隐藏状态和12个注意头。BERT是在BooksCorpus(800M字)和英文维基百科(2,500M字)上进行预训练的。对于微调,所有超参数都在开发集上进行调优。最大长度为50。批量大小为128。使用Adam进行优化,初始学习率为5e-5。丢失概率为0.1。最大迭代次数从[1, 5, 10, 20, 30, 40]中选择。

4.3 Results

表2显示了在Snips和ATIS数据集上的模型性能,包括slot填充F1分数、意图分类准确率和句子级语义框架准确率。

在这里插入图片描述

表2:Snips和ATIS数据集上的NLU性能。指标包括意图分类准确率、槽填充F1值和句子级语义框架准确率(%)。第一组模型的结果引自Goo等人(2018年)的研究。

第一组模型是基线模型,由最先进的联合意图分类和槽填充模型组成:使用BiLSTM的基于序列的联合模型(Hakkani-T¨ur等,2016)、基于注意力的模型(Liu and Lane,2016)和槽门控模型(Goo等,2018)。

第二组模型包括提出的联合BERT模型。从表2中可以看出,联合BERT模型在两个数据集上明显优于基线模型。在Snips数据集上,联合BERT的意图分类准确率达到了98.6%(从97.0%)、槽填充F1值达到了97.0%(从88.8%),句级语义框架准确率达到了92.8%(从75.5%)。在ATIS数据集上,联合BERT的意图分类准确率达到了97.5%(从94.1%)、槽填充F1值达到了96.1%(从95.2%),句级语义框架准确率达到了88.2%(从82.6%)。联合BERT+CRF将softmax分类器替换为CRF,其性能与BERT相当,可能是由于Transformer中的自注意机制已足够地对标签结构进行建模。

与ATIS相比,Snips包含多个领域并且具有更大的词汇量。对于更复杂的Snips数据集,联合BERT在句级语义框架准确率方面取得了巨大的提升,从75.5%提高到了92.8%(相对增加了22.9%)。这表明了联合BERT模型具有强大的泛化能力,考虑到它是在来自不同领域和类型(书籍和维基百科)的大规模文本上进行预训练的。在ATIS上,联合BERT在句级语义框架准确率方面也取得了显著的提升,从82.6%提高到了88.2%(相对增加了6.8%)。

4.4 Ablation Analysis and Case Study

我们在Snips数据集上进行了消融分析,如表3所示。如果没有联合学习,意图分类的准确率会降低到98.0%(从98.6%),而槽填充的F1值会降低到95.8%(从97.0%)。我们还比较了使用不同微调时期的联合BERT模型。仅经过1个时期的微调的联合BERT模型已经优于表2中第一组模型。

在这里插入图片描述

表3:Snips数据集的消融分析。

我们进一步从Snips中选择了一个案例,如表4所示,展示了联合BERT如何通过利用BERT的语言表示能力来提高泛化能力,从而优于槽门模型(Goo等人,2018)。在这种情况下,“mother joan of the angels”被槽门模型错误地预测为一个对象名称,并且意图也是错误的。然而,联合BERT正确地预测了槽标签和意图,因为“mother joan of the angels”是维基百科中的一个电影条目。BERT模型部分在维基百科上进行了预训练,并可能学习到了这个罕见短语的信息。

在这里插入图片描述

表4:Snips数据集中的一个案例。

5 Conclusion

我们提出了一种基于BERT的联合意图分类和槽填充模型,旨在解决传统NLU模型泛化能力差的问题。实验结果表明,我们提出的联合BERT模型优于单独建模意图分类和槽填充的BERT模型,显示了利用两个任务之间关系的有效性。我们提出的联合BERT模型在ATIS和Snips数据集上的意图分类准确率、槽填充F1和句子级语义框架准确率上显著优于先前的最先进模型。未来的工作包括在其他大规模和更复杂的NLU数据集上评估所提出的方法,并探索将外部知识与BERT结合的有效性。

阅读总结

简单来说就是使用BERT将意图分类和槽填充任务一起训练了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【董晓算法】动态规划之背包DP问题(2024.5.11)

前言: 本系列是学习了董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 动态规划系列 【董晓算法】动态规划之线性DP问题-CSDN博客 01背包 步骤: 分析容量j与w[i]的关系,然后分析是否…

FreeRTOS消息队列queue.c文件详解

消息队列的作用 消息队列主要用来传递消息,可以在任务与任务之间、中断与任务之间传递消息。 传递消息是通过复制的形式,发送方发送时需要不断复制,接收方接收时也需要不断复制。虽然会有内存资源的浪费,但是可以保证安全。 假…

为什么descriptor和data分离可以内存高效率

以下为例,需要有前面的6个bytes开始,用来处理数据,一旦这6个bytes有了即可以处理了。 Descriptor和data是同样的,只有descriptor有了,即可以开始处理data了。所以data不需要停留更长时间。

函数递归练习

目录 1.分析下面选择题 2.实现求第n个斐波那契数 3.编写一个函数实现n的k次方,使用递归实现。 4.写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和 5.递归方式实现打印一个整数的每一位 6.实现求n的阶乘 1.分析下面选择…

vs2022中添加头文件和声明

总结帖 数组存储 matlab中3维数组–>C中1维数组 数组转置函数 #include <stdio.h>// 转置二维数组 void transpose(int *src, int *dest, int rows, int cols) {for (int i 0; i < rows; i) {for (int j 0; j < cols; j) {dest[j * rows i] src[i * col…

解析C++ 网络输入输出缓冲区Buffer类的设计与实现(muduo库)

网络输入输出缓冲区&#xff08;Buffer&#xff09;是为了优化网络通信性能而设计的。通过将数据存储在缓冲区中&#xff0c;可以减少对网络的频繁访问&#xff0c;提高数据传输效率。缓冲区还可以帮助处理数据流中的突发性和短时延&#xff0c;使得数据的发送和接收更加稳定和…

最新版Ceph( Reef版本)块存储简单对接k8s(上集)

当前ceph 你的ceph集群上执行 1.创建名为k8s-rbd 的存储池 ceph osd pool create k8s-rbd 64 642.初始化 rbd pool init k8s-rbd3 创建k8s访问块设备的认证用户 ceph auth get-or-create client.kubernetes mon profile rbd osd profile rbd poolk8s-rbd部署 ceph-rbd-csi c…

C++map容器关联式容器

Cmap 1. 关联式容器 vector、list、deque、forward_list(C11)等STL容器&#xff0c;其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身&#xff0c;这样的容器被统称为序列式容器。而map、set是一种关联式容器&#xff0c;关联式容器也是用来存储数据的&#xff0…

专“蜀”盛会!CGT Asia 2024 第六届亚洲细胞与基因治疗创新峰会(成都站)7月火热相邀

在细胞与基因治疗领域&#xff0c;我们正站在一个科技革命的风口上。中国的CGT市场预计将持续快速增长。根据相关分析&#xff0c;预计到2025年整体市场规模将达到25.9亿美元&#xff0c;显示出276%的复合年增长率。这一增长趋势预计将持续到2030年&#xff0c;细胞与基因治疗领…

【利用数组处理批量数据-谭浩强配套】(适合专升本、考研)

无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 完整资料如下&#xff1a;纯干货、纯干货、纯干货&#xff01;&#xff01;…

电子邮箱是什么?付费电子邮箱和免费电子邮箱有什么区别?

注册电子邮箱前&#xff0c;有付费电子邮箱和免费电子邮箱两类选择。付费的电子邮箱和免费的电子邮箱有什么区别呢&#xff1f;区别主要在于存储空间、功能丰富度和售后服务等方面&#xff0c;本文将为您详细介绍。 一、电子邮箱是什么&#xff1f; 电子邮箱就是线上的邮局&a…

等保2.0|定级、备案、整改、测评流程

从个人数据泄露&#xff0c;到企业遭到黑客攻击&#xff0c;网络安全风险已经越发严重。随着互联网的不断发展&#xff0c;数字化经济的普及&#xff0c;信息安全等级保护既是行业标准&#xff0c;又是国家要求。如果企业不做等保&#xff0c;轻则罚款、重则停业。 我国等级保…

练习题(2024/5/15)

1有多少小于当前数字的数字 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且 nums[j] < nums[i] 。 以…

【ARMv8/v9 系统寄存器 5 -- ARMv8 Cache 控制寄存器 SCTRL_EL1 使用详细介绍】

关于ARM Cache 详细学习推荐专栏&#xff1a; 【ARM Cache 专栏】 【ARM ACE Bus 与 Cache 专栏】 文章目录 ARMv8/v9 Cache 设置寄存器ARMv8 指令 Cache 使能函数测试代码 ARMv8/v9 Cache 设置寄存器 关于寄存器SCTRL_EL1 的详细介绍见文章&#xff1a;【ARMv8/v9 异常模型入…

Nacos+GateWay 搭建微服务架构

文章目录 1.当前项目架构分析1.请求多个模块的方式1.请求renren-fast模块开发环境生产环境 2.请求sunliving-commodity模块1.使用环境变量资源路径的方式2.开发环境 dev.env.js3.生产环境 prod.env.js 3.文件上传请求 sunliving-service模块1.请求后端接口&#xff08;开发环境…

Leetcode - 周赛397

目录 一&#xff0c;3146. 两个字符串的排列差 二&#xff0c;3147. 从魔法师身上吸取的最大能量 三&#xff0c;3148. 矩阵中的最大得分 四&#xff0c;3149. 找出分数最低的排列 一&#xff0c;3146. 两个字符串的排列差 本题就是求同一个字符在两个字符串中的下标之差的…

一物一码数字化营销进军调味品行业,五丰黎红“星厨俱乐部”火啦!

近日&#xff0c;由五丰黎红联合纳宝科技精心打造的小程序“星厨俱乐部”火啦&#xff01;一经上线就吸引了大量用户注册和参与&#xff0c;可以说取得了非常成功的市场反馈&#xff0c;那究竟是一个什么样的小程序&#xff0c;竟然有这么大的吸引力呢&#xff1f; 介绍小程序之…

C++ requires关键字简介

requires 是 C20 中引入的一个新关键字&#xff0c;用于在函数模板或类模板中声明所需的一组语义要求&#xff0c;它可以用来限制模板参数&#xff0c;类似于 typename 和 class 关键字。 requires关键字常与type_traits头文件下类型检查函数匹配使用&#xff0c;当requires后…

视频监控系统中,可变码率和固定码率对录像文件存储大小的影响,如何配置比较好?

目录 一、问题描述 二、视频监控的录像文件计算 &#xff08;一&#xff09;计算方法 &#xff08;二&#xff09;计算工具 三、原因分析 &#xff08;一&#xff09;检查配置 1、IPCa配置 2、IPCb配置 3、录像文件存储大小的理论值 &#xff08;二&#xff09;实际情…

五丰黎红引领新营销模式:布局一物一码数字化营销,提高调味品销量和复购率

调味品行业的销售渠道主要有餐饮、家庭消费和食品加工&#xff0c;按销售额的占比约为6&#xff1a;3&#xff1a;1&#xff0c;餐饮行业是调味品行业的供需主力。在餐饮行业中&#xff0c;“大厨”这一角色具有十分重要的地位。因此&#xff0c;借助大厨的力量成为了许多调味品…