下面,
请允许紫冬君不厚道地
转播一则
灾难现场
。。。
N+1分钟后......
手滑星人求解
从技术角度分析,以上笑(惨)话(剧)主要由输入法联想功能对用户下一词的预判失误引发。这一问题能不能得到解决呢?
自动化所提出一种新的用于对话理解的多任务联合学习框架,同时对用户意图和语义槽标签进行预测,精准预判用户下一步即将输入词的词性;并通过共享LSTM层,充分利用不同任务间的相关性,实现彼此间相互促进提升。ATIS数据集实验表明该框架在多项常用指标上已达到最优水平。
对话理解(Spoken Language Understanding, SLU)是对话系统的重要组件,主要包括意图识别(Intent Determination)和语义槽填充(Slot Filling)两个任务。
意图识别指的是确定用户的意图,可以视作分类问题。传统方法多使用最大熵模型(Maximum Entropy)或线性支持向量机(LinearSVM)来处理这一问题。语义槽填充指的是提取用户话语中的语义成分,可以视作序列标注问题。传统机器学习方法一般使用隐马尔科夫模型(HMM)或条件随机场(CRF)来处理这一问题。两项任务通常分别进行。这两项任务通常在对话理解系统中同时出现,并且都基于对用户话语中语义含义的理解,因此它们可能会共享相同的信息。
近日,对槽填充任务和意图识别任务进行联合学习(Joint Learning)被实验证明有效。本文提出的框架在对两项任务进行联合学习的基础上,将词性预测作为辅助任务,并在预测过程中使用意图信息和语义成分信息。通过这样的机制,在模型训练时引入了额外的语义信息,因此可以更好地训练神经网络。
该框架由嵌入层、LSTM层、槽填充层(Slot Filling Layer, SFL)、意图识别层(Intent Determination Layer, IDL)及词性预测层(POS Prediction Layer)组成。
在获取到用户输入词后,嵌入层将词映射到向量空间,获取代表语义信息的词向量。当前的词向量和上一时刻的意图标签、槽标签一同作为LSTM层的输入,并输出代表当前状态的语义表示。
意图识别层和槽填充层使用当前状态的语义表示作为输入,并分别获得当前时刻的意图标签和语义槽标签。这两层具有相似的结构,均由一个多层前馈神经网络和一个柔性最大激活函数(Softmax)构成。当前时刻的意图标签和语义槽标签连接(Concatenate)后,作为上下文信息传递给下一时刻得LSTM层。
词性预测层也由多层前馈神经网络和柔性最大激活函数构成,并且将当前时刻的语义表示、意图标签和语义槽标签同时作为输入,预测下一时刻用户输入词的词性。使用、、分别代表真实的词性标签、意图标签和语义槽标签(图中使用、、代表预测获得的标签),根据链式法则,词性标签序列的概率可以表示成如下的形式:(其中,表示时刻之前的所有词)
我们在ATIS(Airline Travel Information Systems)数据集上进行实验,结果表明:该框架在多项常用指标上达到了最优水平(State-of-the-art)。
ATIS数据集由航空旅行信息系统收集的真实对话构成,在SLU研究中被广泛使用。该数据集包含4978条对话、127种不同的槽标签和18种不同的意图标签。为了方便比较,我们使用三种指标来衡量实验效果:意图识别错误率(Intent Error Rate)、槽填充F1值和语言模型复杂度(LM PPL)。
由实验结果可以看到,本框架(第16、17行)在意图识别错误率和语言模型复杂度两个指标上优于所有其他模型;槽填充F1值超过了所有联合学习模型(第6至15行),略低于独立槽填充模型(第4行)。考虑到联合学习框架可以同时对多个任务进行训练,提供了极大便利,我们认为该框架的整体表现是十分优秀的。
本文提出的用于自然语言理解的多任务联合学习框架,将预测用户意图标签和语义槽标签作为主任务,将预测下一个词的词性标签作为辅助任务;通过共享的LSTM层,该框架可以充分利用不同任务之间的相关性,实现彼此间相互促进提升。
更多精彩内容,欢迎关注
中科院自动化所官方网站:
http://www.ia.ac.cn
欢迎后台留言、推荐您感兴趣的话题、内容或资讯,小编恭候您的意见和建议!如需转载或投稿,请后台私信。
编辑:鲁宁、欧梨成
排版:智慧
中科院自动化研究所
微信:casia1956
欢迎搭乘自动化所AI旗舰号!