论文来源:CCFA类期刊
Soyeon Caren Han, Siqu Long, Huichun Li, Henry Weld, and Josiah Poon. 2021. Bi-directional Joint Neural Networks for Intent Classiication and Slot Filling. In Proc. Interspeech 2021. ISCA, Brno, Czech Republic, 4743-4747.
论文链接
论文视频链接
1 背景动机
1.1 题目分析
Bi-directional Joint Neural Networks for Intent Classification and Slot Filling
实际上,加粗的地方,表示论文中的2个任务和1个模型的设计思想。
- 意图识别任务(Intent Classification)
- 槽填充(Slot Filling)
- Joint设计思想
1.2 什么是意图识别
1.2.1引入
生活中,随处可见的天猫精灵、小爱同学等等,这类人机对话模型,就使用了大量的意图识别技术,去分辨和它们对话的人类,究竟想干什么?
而这类任务,我们叫做:口语语言理解(Spoken Language Understanding,SLU)任务。
1.2.2 概念
- 意图识别,是判断用户要做什么。
比如一个用户向机器人问了一个问题,机器人就需要判断这个用户问的是天气、是旅游还是问某部电影的信息。 - 意图识别就是一个文本分类的问题,首先需要将明确有哪几类意图。 但对比来看,他们之间还是有一定区别的:
文本情感分类:划分成积极、消极和中立情感; 不同场景下能够包含的感情可以是同样的。
意图识别任务:对应不同应用场景。比如医学,海洋领域。查询病情、用药这是2类意图,查询海洋面积、海洋项目是2类意图,不同场景下意图是可以不一样的。
1.2.3 意图识别的种类
意图识别主要有三种方法,规则模板、基于机器学习和基于深度学习方法。
- 规则模板方法:分析每个意图下的有代表性的例句总结出规则模板。
将用户的输入语句进行分词、词性标注、命名实体识别、语义分析等操作后套用已有的模板,当某个意图模板与之相似度达到一定的阈值之后就认为该输入就属于该意图类别。
- 基于机器学习:需要人工提取文本特征,比如词性特征、实体类型特征;提完特征后进行向量化表示,使用支持向量机、随机森林等算法训练。
- 基于深度学习:使用神经网络来建模做文本分类,它省略了人工设计特征、提取特征的过程,能借助预训练的词向量进行训练,但是依赖很多人工标注数据。
1.3 什么是槽位和槽位填充?
- 槽位是系统需要向用户收集的关键信息。
- 槽位值是用户表达的具体关键信息。
- 而槽位填充则是收集用户信息的过程,是将用户模糊或缺失的意图补全的过程。
1.4 Joint思想与pipline思想
- pipeline思想:先干啥,再干啥。先提取槽值,再识别意图,比较有条理。
- joint思想:两个任务同时做,还能做的更好。例如:输入层和中间层保持一致,只需要在输出层加多个输出即可,这样就能共享输入和中间层的特征表示,再输出层进行创新。让两个任务共享信息。
1.5 论文在研究什么
SLU任务共4个步骤,如下图:
本文将研究点落在了步骤2的内容。
2 模型框架
2.1 模型任务
- Slot Filling
- Intent Classification
2.2 模型框架
总共3部分构成,如下图:
- 对于第一部分的输入内容,是一个Position+Word Piece序列(详情见对于数据集的介绍):
- 第二部分作了一个bert模型下的隐藏层输出:
- 第三部分应用了Joint思想,利用损失函数
L=Ls+Li
联合训练两个子模型。
其中,两个子模型分别为Intent2Solt(用于填充槽位)以及 slot2Intent(用于识别意图)。
2.3 为什么槽填充任务能够辅助识别意图?
意图识别可以看做分类问题;槽位填充往往看做序列标注任务,一些经典的方法如LSTM, BERT等已经被探索。 而往往这两个任务是紧密联系的,如下图:
当预测出句子“watch action movie”时,模型可以学习到action movie是movie相关的槽位,很多value既可能是movie,也可能是music,如“悟空”这个value既可能是一个电影名字,也可能是一首歌曲。正确识别槽位一定程度上也能帮助我们预测意图,进行消歧。参考学习链接
3 实验验证
3.1数据集
- Dataset 1: ATIS (Airline Travel Information System) Dataset (Hakkani-Tur and Heck, 2010)
- Dataset 2: SNIPS-NLU (Natural Language Understanding) Dataset (DeepPavlov, 2016)
3.2评估标准
- Slot(F1): 槽填充的F1分数
- Intent(acc): 意图识别的准确率
- Sentence(acc): 语义识别的准确率
3.3实验结果
- Experiment 1: Result Evaluation
- Experiment 2: Ablation Testing
3.4实验缺陷
产生原因:后面的2类意图包含的槽位和前面的5类意图的槽位有重复,被前面的覆盖掉了,所以效果不好。
4 实验结论
- Proposed a Bi-directional Joint Intent Classification and Slot Filling Model which supports the Explicit and Direct Joint Integration using Intent2Slot Flow and Slot2Intent Flow
- Achieved the state-of-the-art results on Natural Language Understanding Benchmarks
- Found the proposed model was more effective in capturing global interrelationships between the semantic components in the NLU tasks than existing joint models