12 月 15 日, 由腾讯云主办的首届 "腾讯云 + 社区开发者大会" 在北京举行. 本届大会以 "新趋势 • 新技术 • 新应用" 为主题, 汇聚了超 40 位技术专家, 共同探索人工智能, 大数据, 物联网, 小程序, 运维开发等热门技术的最新发展成果, 吸引超过 1000 名开发者的参与. 以下是大数据 AI 分会场的演讲内容, 稍作整理, 分享给大家.
随着机器学习与大数据技术的发展, 人机自动对话系统已经逐渐应用于多种场景. 本次演讲将会整体概述人机对话系统模型, 并针对任务型与非任务型对话系统特点, 分别介绍其体系框架和技术要点.
首先我可能先介绍一下腾讯小微这款对话产品, 我们深入讨论对华话术, 还有对话系统应用, 再介绍一下这套案例, 最后是期望与展望.
腾讯小微
腾讯小微并不是一个单一的对话模型, 是我们为合作伙伴设计的, 以对话为核心能力的, 易于接入的开放式平台. 下面是一个例子, 展示使用腾讯小微来接入一些智能硬件, 比如说用户对这些智能设备, 包括像智能音箱, 智能车载, 智能电视, 比如说发一些指令, 比如说询问天气, 播放音乐, 然后这些指令会通过智能终端会上传到腾讯云上, 然后我们对它做语音识别和语义分析. 了解到用户的意图, 然后把相关的内容返回到智能终端, 告诉用户, 这是一个示意图.
腾讯小微这款产品是微信部门和腾讯云部门联合打造的一款对话产品, 我们希望能够连接用户和应用, 这款产品可以直接提供高频对话场景的完整支持, 另外也允许客户定义自己的对话场景, 对话逻辑, 腾讯小微能够精准的语义分析, 另一方面也可以得到腾讯各种资源, 特别是内容资源的支持.
我们有内容生态, 有 QQ 音乐, 腾讯视频等资源, 还有服务生态, 依托于微信, 公众号, 小程序提供丰富而且强大的服务资源, 我们希望腾讯小微通过对话技术联接用户与应用.
对话系统由来已久, 可以分为 3 个阶段. 上世纪六十年代就有了基于规则的对话系统. 本世纪初, 随着机器学习技术和信息检索技术的发展, 数据驱动的对话系统兴起, 特别是机器翻译模型被应用到对话系统上. 近年, 人们开始尝试, 用对话系统真正去解决现实中的问题, 主要体现在智能硬件和智能客服上的应用.
小微的核心的对话模型, 包括自然语言理解, 对话管理, 和对话生成, 我们希望打造一个平台组, 底层是用户画像, 核心是多轮对话技术, 中间是大量的内容资源. 两边, 一边是软件技能, 一边是各种技能的硬件.
小微的核心还是 NLP, 能够精准的识别单意图和多意图, 对关键词, 关键信息抽取, 可以提供精准的支持. 另外一方面可以提供很好的多轮对话管理, 包括支持用户的多轮业务逻辑.
这是小微处理问题的一个流程. 当问题来的时候, 我们先根据上下文理解这个问题, 一般来获得用户意图和信息, 根据用户对问题的理解, 我们到数据库里拿答案备选, 包括一些用户服务和知识图谱, 或者是生成模型. 这些备选答案在上下文理解, 情感分析和个性化的基础上, 我们做重新排序, 然后把最合适的答案发给用户. 这是问题处理的大致流程.
流程里面涉及几个关键技术. 一种是意图分类, 包括常见意图包括查询天气, 提醒, 股票, 点播音乐以及控制智能硬件, 这些意图在市面上的智能音箱上能够用到的, 小微支持多层级上百种意图.
一般来讲做意图分类的一些常用模型. 意图分类大意上是短文本分类, 做自然语言的很熟悉, 左边 Pasttext, 中间是 RNN, 神经循环网络, 通过神经网络计算整个句式的语义, 用最后的状态表达基本语义, 这是双向的 RNN, 然后来预测意图的结果. 最右边是 CNN, 使用不同的尺寸的核函数, 最后做一个预测结果. 常用的意图模型都是这三种模型引伸出来的.
有好的模型或者比较合理的模型是第一步, 能达到很好的结果还有距离, 小微在模型上有大量的标注数据, 对数据的清洗做了大量的工作, 通过这样的准备, 模型的性能会大幅度提高. 另一方面是参数模型要做调整, 随着这些参数的调整, 模型性能可以进一步提升. 在我们看来, 当这些参数得到比较好的调整, 到一个比较好范围的时候, 这些模型大致上都能够得到比较好的结果.
刚才介绍了我们有时候自己可以调比较好的模型, 也有比较好的标注资源, 有很多数据, 我们可以训练一些比较好的意图训练的模型. 另外小微并不仅仅是一个对话的产品和对话的模型, 我们希望它是一个平台, 让我们的合作伙伴到这个平台来卖他们的产品, 制作自己的机器人. 于是我们做了主动学习的平台, 在这个平台上可以帮助大家做标注数据, 告诉大家哪些数据值得标注, 降低数据标注的代价. 另外还另外了一些很方便的训练部署工具. 希望我们合作伙伴在这个平台上可以比较自由的来制作他们自己的机器人.
刚才我们说的是意图理解, 理解会话还是蛮难的一件事情, 之所以难, 有一个重大的问题是要理解上下文. 这里是一个上下文的技术, 当有当前的问题和上下文, 希望这个问题做改写, 能够把问题中的指代能够被名词代替. 要知道替词是谁, 否则机器人会乱答. 另外一个例子是你住哪儿? 机器人说不二寺, 最好要知道那是不二寺, 否则机器人识别很困难. 用 RNN 对技术建模, 对每个词的语音变量来表达这个词, 相应对于这个例子而言, 通过 RNN 的计算, 我们可以得到陈奕迅和张学友来建模, 来解决指代消息的模型.
指代消息就是对话理解多轮对话的小问题, 只有多轮对话还涉及到更加复杂的对话状态的改革, 对话状态的语义表示, 以及涉及到大量外部的例子.
这是 DSTCT7, 是对话技术系统竞赛, 现在已经举办了第七届, 他们发布的数据集, 这里边有大量的学生和老师的对话. 基本上这是学习跟老师回报当前的学习状态, 他们一些学习的计划, 老师给他们一些选课, 修课的建议. 首先这是多轮的, 每段对话至少有十几轮. 提供的学生学业的背景, 修过哪些课, 是哪个系的, 学习成绩如何. 最后对每门课提供了一些介绍, 包括这门课的介绍以及课程之间的关联, 比如说要想修课 A, 要先修课 B. 每段话最多有 100 个答案, 让你挑一下哪句话是老师真实的回答, 其他的需要虚假回答. 数据集很有意思, 有上下文, 用户画像和外部知识, 我们可以拿这个知识来看待什么样的技术, 可以比较好的理解上下文, 也可以比较好的利用知识.
围绕这个数据, 我们也试了一些非常流行的深度模型, 特别是比较了记忆神经网络和 H-LSTM, 发现记忆神经网络在利用上下文和知识理解对话方面, 可以有不错的效果.
我们也尝试了其他一些比较通用的, 描述上下文的模型, 到底哪种模型比较合适. LSTM 的功效是通过一个词计算出一个句子, 在每句话的基础上再进行计算, 最后进行对比. 加了门的记忆网络效果最好, 但也只是针对于特定的数据集, 并不代表普遍的意义.
案例介绍
这里大概介绍一下腾讯小微所用的一些技术点, 当有的技术怎么做, 怎么样处理上下文以及知识.
这是一些案例, 小微已经发布了, 而且很多产品已经上市了, 包括音箱, 电视和客服应用.
这是 JBL 首款 AI 智能耳机. 这是外交部的公众号, 后面是小微机器人, 大家在海外上遇到一些需求的话, 可以访问这个公众号.
期待与展望
我们还希望小微能够持续打通各种硬件中断和软件终端, 持续提供更加精准的对话理解的服务, 可以更好的利用内容资源.
谢谢大家.
牛成: 机器学习在人机对话系统中的应用. PDF
来源: https://www.qcloud.com/developer/article/1375948