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

简介: 本文讲的是让机器听懂你的意图:首届中文人机对话技术评测用户意图领域分类比赛参赛历程,近年来,人机对话技术,也称为口语对话系统(spoken dialogue system,SDS)受到了学术界和产业界的广泛关注。

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

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”微信公众号

相关文章
|
6月前
|
人工智能 前端开发 程序员
「我的AIGC咒语库:分享和AI对话交流的秘诀——如何利用Prompt和AI进行高效交流?」2
Prompt的基本原则 Prompt的编写模式 AI 可以帮助程序员做什么? 技术知识总结 拆解任务 阅读代码/优化代码 代码生成 生成单测 更多 AI 应用/插件
1628 0
|
机器学习/深度学习 搜索推荐 自然语言处理
KDD 2019 | 基于知识的个性化推荐理由生成解析
当前电商场景之下,单纯的商品推荐已不足以满足用户需求,基于内容的推荐应运而生。那么其中的关键问题就是我们要为推荐的商品产出优质的推荐理由,从而可以:帮助消费者做出选择;开拓用户对商品的兴趣;引导多种产品以提高多样性。
3218 0
|
25天前
|
机器学习/深度学习 人工智能 监控
面向中文大模型价值观的评估与对齐研究:“给AI的100瓶毒药”并解毒,守护AI纯净之心
面向中文大模型价值观的评估与对齐研究:“给AI的100瓶毒药”并解毒,守护AI纯净之心
面向中文大模型价值观的评估与对齐研究:“给AI的100瓶毒药”并解毒,守护AI纯净之心
|
6月前
|
人工智能 自然语言处理 Kubernetes
「我的AIGC咒语库:分享和AI对话交流的秘诀——如何利用Prompt和AI进行高效交流?」1
前言 基础介绍 什么是Prompt? 什么是 Prompt Engineering? 为什么需要 Prompt Engineering? 如何进行 Prompt Engineering? Prompt的基本原则 Prompt的编写模式 AI 可以帮助程序员做什么? 技术知识总结 拆解任务 阅读代码/优化代码 代码生成 生成单测 更多 AI 应用/插件
1684 1
|
2月前
|
数据采集 人工智能 JSON
跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)
跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)【2月更文挑战第1天】
 跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)
|
8月前
|
算法 安全 测试技术
中文竞技场大模型体验报告
本次测评的主要目标是评估中文竞技场提供的大模型在写作创作相关、知识常识和代码相关方面的表现。我们进入“中文竞技场”体验了这些模型,并在以下方面进行了测试和评估。
191 30
|
6月前
|
程序员 数据安全/隐私保护 开发者
《开发者评测》之中文竞技场大模型评测获奖名单
中文竞技场大模型评测自2023年8月15日启动以来,收到了100+开发者的投稿,经审核,现公布一二三等奖及争优奖获奖名单!
1323 12
《开发者评测》之中文竞技场大模型评测获奖名单
|
8月前
|
大数据 开发者 UED
精品活动 | 中文竞技场大模型评测召集令
8月,魔搭社区联合香港中文大学(深圳)、深圳市大数据研究院、阿里云开发者社区、阿里云开发者评测发布中文竞技场大模型评测活动,汇聚了包括Baichuan-13B、ChatGLM2-6B、Qwen-Chat-7B、moss-moon-003-sft、Ziya-LLaMa-13B-v1等十余款开源大模型在中文对话场域同台PK。
|
10月前
|
人工智能 Serverless 异构计算
【有奖体验】这个 AI 智能回答,就一个字“绝”!
【有奖体验】这个 AI 智能回答,就一个字“绝”!