新年快乐呀~~
过完年之后又要开始学习啦,因为我还有一个课的作业是要写一个综述,所以最近会经常看与任务型对话相关的综述或文章啦~
今天分享的是针对任务型对话中SLU任务的一篇综述,提取感谢各位批评指正啦~
Review of Research on Task-Oriented Spoken Language Understanding(综述)
论文主要内容(包含创新点以及不足)
-
任务型对话的基本流程(跟我了解到的分类有一点点不一样,为了保持一致我还是按照之前我的分类方法啦),本文主要是介绍SLU的,主要介绍了SLU下两个关键子任务,分别是意图识别和槽填充,意图识别是分类任务,槽填充类似命名实体识别。
-
主要介绍了解决这两个子任务的方法以及发展过程
- 从传统方法到深度神经网络方法
- 从两个任务的独立模型到联合模型(因为考虑到意图识别和槽填充之间有相互依赖的关系)
-
独立模型
- 槽填充:传统方法有三种,主要是基于词典的方法(字符串匹配,但是没有完整的实体库,且耗时)、基于规则的方法(词汇、句法、语义规则,但是需要制定规则,成本高且不易改变)、统计方法(多重迭代损失函数调整参数,需要人工标注的数据和人工构造特征),但是效果不如DNN好;DNN方法主要有CNN、RNN及其变体
- 意图识别:传统方法主要是SVM、NB、Adaboost等方法;DNN方法也是CNN、RNN等,也可用两者结合的方法,这里的输入有两种形式,一种是将语篇中所有词的平均向量作为输入,一种是将每个词的向量作为输入
-
联合模型
-
三角链-CRF联合模型,采用级联的方法,前者的结果可以作为先验知识,帮助产生后者的结果。这是传统机器学习的方法,虽然有助于联合识别,但是耗时费力,且需要语料库充足。
-
CNN-TriCRF联合模型,CNN用于提取文本特征,该特征向量由两个任务共享,TriCRF用于归一化将意图识别任务中全部文本,考虑全局信息结果更准确,可以找全局最优解。与传统方法相比,训练参数更多,模型更加复杂。
-
门控循环单元联合模型,使用GRU和CNN联合解决两个任务,用GRU学习预测槽填充的标签,同时用最大池化捕获意图分类的全局特征。性能有提升但是也有很多问题,对意图识别,最大池化的方法会导致信息丢失,应该获取更高层次的语法和语义信息去实现意图识别。
-
BiLSTM-Attention联合模型,用注意力机制捕获隐藏层无法捕获的额外信息,h和c都是两个任务的输入,加入了Attention,可以注意到不同的输入序列对输出的影响。但是也有缺点,对意图识别,简单的取最大值会丢失信息熵;对槽填充,没有考虑到输出序列的全局归一化,易出现偏差。
-
基于注意力的slot-gated联合模型,BiLSTM-Attention并没有说明两个任务的相互作用,因此加入了slot-gated。(这个设计好巧妙)
-
-
未来改进
- 目前对大规模语料效果还可以,对小规模不行,如何进行迁移学习
- 深度神经网络模型需要学习更好的语法和语义信息,否则模型会很复杂
- 用注意力机制效果会变好,但是因为要考虑到其他时序的信息,模型会更复杂,可以用强化学习训练文本特征,达到简化学习的目的。
学到的点
- 对SLU和下面两个子任务(意图识别和槽填充)有了更深的了解
不懂的点
- 综述里提到的一些方法的原理和模型结构还不是特别了解,需要继续看