让机器听懂你的意图:首届中文人机对话技术评测用户意图领域分类比赛参赛历程

  1. 云栖社区>
  2. paperweekly>
  3. 博客>
  4. 正文

让机器听懂你的意图:首届中文人机对话技术评测用户意图领域分类比赛参赛历程

技术小能手 2017-09-21 16:15:05 浏览2540
展开阅读全文

本文讲的是让机器听懂你的意图:首届中文人机对话技术评测用户意图领域分类比赛参赛历程

1. 前言

近年来,人机对话技术,也称为口语对话系统(spoken dialogue system,SDS)受到了学术界和产业界的广泛关注。在第六届全国社会媒体处理大会(SMP 2017)上,由中国中文信息学会社会媒体处理专委会主办,哈尔滨工业大学和科大讯飞股份有限公司承办的 SMP 2017 中文人机对话技术评测(ECDT),为人机对话技术相关的研发人员提供了一个良好的沟通平台。

我们华南农业大学口语对话系统研究室(scau_SIGSDS)参加了这次评测的用户意图领域分类任务。主办方根据是否仅允许使用其提供的评测数据进行训练和开发分为封闭式和开放式两项评测。在最后的评测测试中,我们的系统取得了封闭式和开放式两项第一名。单项(封闭式和开放式)比赛前三名的结果如下所示。前十名平均评测 F 值分别是 0.8993(开放式)和 0.8995(开放式)。详细的比赛结果可见官方发布的排行榜[1]。

  • 封闭式评测

image

  • 开放式评测


image


口语语言理解(spoken language understanding, SLU)是 SDS 中的重要环节,而话语领域分类(domain classification)则是 SLU 的关键任务之一[2]。话语领域分类的任务是把话语划分到定义好的不同领域标签[3],进而将话语正确地分进不同的 SLU 子系统。如用户提出“帮我写一封邮件”,系统则应该将其划分到“邮件”领域之中,对该话语进行专门针对“邮件”领域的语言理解。

由于口语对话具有长度短小的特点,领域分类通常会被看作是短文本分类。早期的领域分类多采用较为复杂的人工特征,如语法信息、韵律信息、词汇信息等4,分类模型采用传统的统计学习模型,如随机森林、隐马尔科夫、条件随机场等。

深度学习流行以来,许多研究者开始用深度学习方法解决自然语言处理(natural language processing, NLP)任务,许多任务得到了长足的发展,也包括了领域分类3[7]。代表性的模型包括了深度置信网络(deep belief network, DBN)、卷积神经网络(convolutional neural networks, CNN)和长短期记忆网络(long and short-term memory, LSTM)等。

我们也采用了 LSTM 分类模型,并针对样本训练集数量有限的特点,采用基于数据的领域关键词提取算法以及构建外部领域知识表(在开放式评测中),进一步提升领域分类效果。

2. 方案及结果

任务概述

用户意图领域分类比赛数据集包含 31 个话语类别,包括聊天类(chat)和垂类(30 个垂直领域)。任务很明确,就是正确地将用户的输入话语分类到相应的领域中,如:


image


特征表达和模型选择

我们尝试了多种特征表达方式,包括 BOW、onehot、词向量等,并对比了随机森林、CNN、LSTM 等分类模型。为了方便,在验证和开发我们采用了正确率的评价指标。

通过十折交叉验证,我们发现采用词向量(由 1.5G 微博数据训练)特征表达以及 LSTM 模型的 31 分类器取得了最佳的验证结果,分类正确率达到 91.38%。在进一步增加到 10G 微博数据训练词向量并结合词汇分类体系(如 Hownet)进行词语向量表达修正后分类正确率达到 91.73%。

基于LSTM的领域分类

相比于 CNN,循环神经网络(Recurrent Neural Networks, RNN)有利于学习到句子中字词间的长距离依赖关系,但存在梯度消失/发散问题。目前常用的是 RNN 的一些变体,如 LSTM、GRU(Gated Recurrent Unit)等,他们通过门控机制很大程度上缓解了 RNN 的梯度消失问题,并防止梯度发散。

我们在给定数据集上验证了不同 RNN 变体的领域分类效果,包括普通的 LSTM、GRU 以及带隐层的 LSTM。而他们的验证分类正确率分别是 91.73%、91.91%、92.04%。因此,我们选择了在正确率上略有优势的带隐层的 LSTM。

在开发集做预测时,我们采用最佳 10 折交叉验证的超参数组合的 10 个模型进行集成投票,正确率达到 92.22%。然而,在对模型结果的 badcase 分析时,我们依然发现了一些在人看来类别显而易见的样例被模型错分。这主要是由于数据量的不足引起的,一些具有分类作用的特征字词组合无法在模型中起足够的作用。

针对这个问题,在技术架构中,我们在 LSTM 分类器前面增加一个基于领域关键词的领域识别模块,并针对开放式测试额外添上了基于领域知识表的领域识别模块。

基于领域关键词的领域识别

对于封闭式评测,我们采用了基于数据的领域关键词提取算法,通过对训练集和开发集进行统计,抽取足够置信度和支持率的 2 和 3 字“词”构成的领域关键词表。对于开放式评测,我们进一步结合人工知识扩展了领域关键词表,增添了主办方提供的原始数据以外的领域关键词。在开发集上的测试表明,分类正确率由之前的 92.22% 分别提升到 92.74%(封闭式)和 92.87%(开放式)。

基于领域知识表的领域识别

对于开放式评测,通过分析领域话语特点,我们针对若干个领域(如health),结合外部信息构建了领域知识表(如疾病名列表)。通过基于领域知识表的领域识别,开发集上的测试结果进一步提升到了 93%。

3. 参考文献

[1] http://ir.hit.edu.cn/SMP2017-ECDT-RANK
[2] Tur G, Deng L, Hakkani-Tür D, et al. Towards deeper understanding: Deep convex networks for semantic utterance classification[C]// Proceedings of the 37th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2012), 2012:5045-5048.
[3] Ravuri S, Stolcke A. A comparative study of recurrent neural network models for lexical domain classification C]// Proceedings of the 41th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2016), 2016: 6075-6079.
[4] Haffner P, Tur G, Wright J H. Optimizing SVMs for complex call classification[C]// Proceedings of the 28th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2003), 2003: I-632-I-635.
[5] Chelba C, Mahajan M, Acero A. Speech utterance classification[C]// Proceedings of the 28th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2003), 2003:I-280-I-283.
[6] Sarikaya R, Hinton G E, Deoras A. Application of deep belief networks for natural language understanding[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2014, 22(4):778-784.
[7] Ravuri S, Stoicke A. A comparative study of neural network models for lexical intent classification[C]// Proceedings of the 2015 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU 2015), 2015: 368-374.

原文发布时间为:2017-09-21
作者丨唐杰聪
本文来自云栖社区合作伙伴“PaperWeekly”,了解相关信息可以关注“PaperWeekly”微信公众号

网友评论

登录后评论
0/500
评论
技术小能手
+ 关注
所属云栖号: paperweekly