大数据频道 频道

苏宁机器人平台——会话商务系统实践

  【IT168 评论】本文根据【创客168】第12期《人工智能技术与智慧办公》现场演讲嘉宾李伟老师分享内容整理而成,文字整理@IT168钰莹

  讲师简介

苏宁机器人平台——会话商务系统实践
▲李伟

  李伟,清华大学人工智能方向博士,在数据、算法、架构等方面拥有多年经验,曾任雅虎公司科学家,负责个性化首页、推荐、广告等算法业务;百度资深工程师,负责贴吧、知道等相关算法。目前担任苏宁技术研究院人工智能实验室技术总监,兼北京负责人,主要负责智能机器人平台,主导智能商务、智能家居等智能渠道业务的研发工作。之前分别在Intel、微软公司实习和工作,对机器学习、数据挖掘、自然语言处理、深度学习和计算机视觉等有着丰富的经验,目的是利用人工智能技术助推智慧零售。

  正文

  大家好,我是苏宁技术研究院北京分院的负责人李伟,我今天分享的主题是《苏宁机器人平台——会话商务系统实践》,主要分为以下几个部分:

苏宁机器人平台——会话商务系统实践

  第一部分:回顾什么是会话系统;第二部分:介绍基于搜索的问答系统的基本架构;第三部分:基于槽填充模型的意图理解;第四部分:基于回归模型的智能客服系统,三、四两部分目前已成功集成到苏宁智能家居以及内部员工财务、IT等平台,之后将逐步推广到易购客服系统;第五部分:苏宁目前采用的人机协同基本架构是AI+HI,大部分情况下,在线和离线数据标注都需要人工参与,整个会话系统架构离不开数据积累,因此不完全是AI或AI-First战略;最后是苏宁智能机器人平台的简单架构介绍。

  首先回顾一下信息检索的趋势变化。目前,会话系统、自动问答系统的很多架构以及数据都源于信息检索系统。

苏宁机器人平台——会话商务系统实践

  七十年代,人们非常熟悉图书馆检索,根据书号寻找并借阅自己感兴趣的书。九十年代,互联网兴起,第一批互联网还未出现检索系统,美国雅虎最开始做3W,但这并不是检索系统而是以分类方式给用户提供便利的信息访问,当用户想寻找某类信息时,首先进入大众分类体系,逐级向下查询所需信息,但这种方式存在明显的弊端,该分类体系难以创建,若作为静态结构又难以维护,当长尾信息非常多的时候难以分类,通过人工维护也相当不方便,这让雅虎、谷歌、百度都投身于搜索引擎研发之中,自动问答会话系统的雏形应运而生。2015年,随着大数据时代的到来以及深度学习的发展,会话系统以及整个会话时代才慢慢开启。

苏宁机器人平台——会话商务系统实践

  问答系统的基本定义是机器或者某个程序自动回答用户问题,问答系统的类型大概分为以下维度:一是根据问题类型划分,比如事实类问题、观点类问题,是否类问题等,二是根据内容划分,分成文本会话系统以及可视化会话系统。实际上,自动问答基本是会话系统背后的核心技术,会话系统中的很多架构以及算法都是从自动问答里借鉴过来的。以下是问答系统的基本架构:

苏宁机器人平台——会话商务系统实践

  用户提出问题之后,系统会首先有一个Query understanding的过程,这之中可能涉及问题的扩展以及意图理解,接下来会同时做问题的类型检测和判断,为什么要同时做这两件事情呢?比如,用户想买苹果手机,系统反馈回来的是一箱富士苹果的价钱,用户会觉得非常不相关。所以,首先要判断问题的类型,判断属于数码手机还是水果,接下来做一系列和检索系统或模型相关的事情。

  常见的检索排序模型有文档检索、相关文档抽取、段落检索等,我们从中获取想要的答案再返回给用户,这是目前比较常用的一套Q&A架构。

苏宁机器人平台——会话商务系统实践

  当前会话系统基本可分为两类,一类是闲聊陪伴机器人,可以与用户在某个特定或开放领域内自由聊天,比如微软小冰;一类是面向任务的机器人,帮用户解决特定领域的任务,比如苹果的Siri。当然,这之间的界限并不是特别清晰,也有很多机器人是混合型的,两种功能都具备。

苏宁机器人平台——会话商务系统实践

  以上是Task Bot的架构,很多Task Bot不具备语音识别功能,苏宁的Task Bot具备该功能,同时可通过文本方式完成用户需求。如果用户通过语音会话系统提出需求,第一步就进行语音识别,这就存在一个识别准确性的问题,如果识别有误,我们将进行语意纠错。如果识别正确,则继续执行。

  接下来就是理解部分,这包括三部分内容:一是领域分类,二是用户意图理解,三是槽填充模型,最后会识别成用户所需要的语意框架模型。之后,主要是会话管理,对会话状态进行跟踪,根据当前状态及所观测的用户行为决定会话系统的下一步动作。然后是NLG(Natural language Generation),根据模板生成一段自然语言返回给用户,以响应用户发出的指令。

  例如,用户希望机器人播放本周比较流行的爵士乐,机器人通过语音识别了解用户需求,在识别正确的情况下,继续理解用户意图。领域分类明显属于音乐播放,用户意图是爵士乐,接下来运用槽填充模型完善所需属性,在音乐库中对条件进行检索,最后返回给用户。

苏宁机器人平台——会话商务系统实践

  接下来,我们进行简单细化。当然,重点是谈NLU用户意图理解部分,包括三大子模块:领域分类、意图理解、槽填充模型。在讲整个NLU用户意图理解之前,我们首先看一下语意框架模型:

苏宁机器人平台——会话商务系统实践

  假设用户需求是:买一个黑色的、适用于男性用户的苹果手机。

  首先识别用户意图是购物,品牌是苹果,颜色是黑色,适用人群是男性,我们将这些属性填充到对应的槽值中,当然具体商品可能不止这三个属性,我们可以通过多轮交互的方式明确用户需求,在满足条件之后触发结束当前场景,调用搜索系统,把相关产品推荐给用户。

苏宁机器人平台——会话商务系统实践

  领域分类实际上是比较直接的,分类模型很大程度上依赖于人工标注的领域知识库,我们根据用户话术明确用户需求,领域分类完成以后就是意图理解部分。

苏宁机器人平台——会话商务系统实践

苏宁机器人平台——会话商务系统实践

  然后是槽填充,通过用户需求和多轮互动的方式完成属性的槽填充,用户完全通过文本或自然语言的方式描述需求,相对之前的方式提供了一些便利,但这种方式一旦理解不精准就会产生很大偏差,目前苏宁也在不断开发和优化过程中。

苏宁机器人平台——会话商务系统实践

  接下来具体介绍一下槽填充模型,槽填充模型类似信息和关系抽取,这是自然语言数据里的经典任务,定义是在给定的实体或具体任务里把丢失的信息和属性回填上去,基本完成的事情是entity/task,slot和filler,entity/task可以是一个实体也可以是具体任务,针对任务和实体会有一些待填充的槽,目的是通过会话系统用filler把槽填充完成。我们在设计会话系统时,会收集用户信息再将信息返回给用户进行确认,这就是一个简单的slot filling的例子。

苏宁机器人平台——会话商务系统实践

  这种槽填充模型的应用场景非常广泛,我们希望通过单轮或多轮交互以及会话系统将槽填充完成。而这种会话系统在其他领域也可以用到,比如,在商品领域中,我们会用到属性填充以及属性纠错。

  当我们发现某件商品的属性在易购或京东上有缺失,而在天猫上比较完备时,我们会将天猫上的属性抓取过来,与易购或京东上的商品进行匹配,若匹配成功,则将缺失属性回填上去,这就是槽填充模型的具体应用。该模型还可应用于实体画像的完善,比如,当我们百度“刘德华”时,发现其在搜搜问问中的画像不是很完整,而在知乎或其他地方可提取到缺失属性,经匹配成功后便可填充到缺失的槽中。

苏宁机器人平台——会话商务系统实践

  槽填充模型的具体方法分为很多种,一类是完全基于模板匹配,这些模板是固定的响应模板,比如我喜欢、我想听某类人的歌,如果判定属于该模板,则只需将缺失的歌手信息填充进去即可,这类方法的使用也比较广泛。另一类是将其形式化成序列标注任务,该方法会将每个词都打上标签,比如,给我买一张明天一早从北京到上海的机票,用户意图识别为买机票,待填充的槽值为起始时间、起始地点。在不确定用户具体时间的情况下,机器会给出明天一早从北京到上海的所有航班信息,询问用户的具体选择。

苏宁机器人平台——会话商务系统实践

  当然,在某些情况下,既可以当作序列标注的任务去做,也可以当分类任务进行分解,将具体的词用序列标注的方式打标签,这是传统分类模型的任务。用分类模型对对应的槽和值做交叉组合,可以运用一些回归或向量积的方式解决槽与值之间的匹配问题。

苏宁机器人平台——会话商务系统实践

  苏宁目前基于语意框架模型,slot filling技术已经实现了苏宁智能家居中的家电控制和场景控制,苏宁现在可控制大概十五种家电设备,后续还在不断扩充。目前的QPS非常短,响应时间在三毫秒以内,同时准确率和召回率也非常高,我们有部分用到了语音识别,但效果并不是特别好,影响了家电控制的准确率。

苏宁机器人平台——会话商务系统实践

  以上是苏宁家电控制的演示图,比如,将空调调成20度,控制设备是空调,具体动作是调温。解析结果中的对应设备类型是空调,给用户返回TTS,完成需求之后会给用户响应,通过文本或语音合成方式告知用户具体行为。

苏宁机器人平台——会话商务系统实践

  接下来是智能客服领域,目前来说该领域2B的应用场景非常多,比如,银行和电商平台的智能客服,智能客服的目的不是为了替代人工客服,而是在特定场景和领域下帮助人工客服更好地完成用户需求。

  智能客服的几种应用场景如下:一是机器人优先模式,在任何情况下,机器人都先于人工客服回答用户问题;二是机器人辅助应答模式,无论人工客服是否繁忙,机器人都不优先回答客户问题,而是将答案优先返回给人工客服,由人工客服来判断答案好坏,选择是否直接将答案返回给用户,这在一定程度上缓解了人工客服的压力,同时保证了服务质量;三是排队,在人工客服繁忙时,机器人优先接入;四是离线,当人工客服处于离线状态时,可接入机器人及时回答用户问题。

苏宁机器人平台——会话商务系统实践

  以上是苏宁基于回归模型搭建智能客服的简单例子。首先,我们把问题形式化成回归模型,对问题进行分类,比如有标准问、相似问等,还有答案以及话术具备的标签。这是苏宁内部员工平台的简单客服,基于一些具体数据,用一个二分类的回归模型训练智能客服模型,具体架构大概如下:

苏宁机器人平台——会话商务系统实践

  具体问题中也包括一些相似问,我们可对数据进行筛选,提取不相关的非相似问,经过预处理、特征提取和选择以后,再训练模型,问题和相似问的标签是1,问题和非相似问的标签是0,我们可以训练一个binary regression模型。

苏宁机器人平台——会话商务系统实践

  该模型目前在苏宁内部的应用效果还是不错的,机器交互的优点也很明显,7*24小时在线的同时还满足高并发需求。但是,当询问某类问题的员工较多时,还是会出现延迟。

苏宁机器人平台——会话商务系统实践

  智能客服在苏宁内部提供的服务包括IT服务、财务服务还有人事服务,目前的准确率和召回率尚未达到满意的程度,苏宁后期将会持续优化。

苏宁机器人平台——会话商务系统实践

  以上是苏宁内部的智能机器人服务号,它具备闲聊陪伴、互动聊天和百科问答等功能,也涉及一些简单的购物场景,购物场景将涉及多轮交互,目前还未完全开发完毕。

苏宁机器人平台——会话商务系统实践

  苏宁内部提出了一个AI+HI=MI的观点,这里的MI指的是Mix Intelligence,实际上目前大部分人工智能应用都离不开人的参与,智能化离不开协同化,这里涉及人机协同,比如在线和离线数据标注,都需要很多人工参与,不断循环迭代。HI的参与让AI得以不断完善,AI完全依靠算法优化以及冷启动策略是很难快速成长起来的。以下是苏宁内部智能机器人平台的基本架构:

苏宁机器人平台——会话商务系统实践

  该架构底层是基本数据层,我们可能会爬取很多百科、竞品或社区数据;第二层是知识库和知识图谱层;第三层是整个智能机器人平台的核心层;最后是技能层,该层会对家庭机器人、金融机器人、财务机器人和直播机器人进行划分。苏宁目前有六大产业,基本涵盖了云商、置业、文创、投资地产等,实际上很多场景均可接入智能机器人。

苏宁机器人平台——会话商务系统实践

  以上是智能助理的简单架构,分为响应型助理和主动型助理,响应型助理需要人为唤醒,比如云之声的魔方, 需要用户语音“魔方魔方”来唤醒,唤醒之后才可完成某项特定任务,其余时间不会主动骚扰用户,这是响应型机器人。

  主动型机器人会对前期对话进行记录,主动跟进并与用户沟通,比如,你向机器人倾诉与女朋友吵架了,过几天,机器会主动询问你与女朋友的关系是否有改善。这类机器人会主动与用户聊天,但存在是否骚扰到了用户生活的问题。因此,该功能的投放会更加谨慎。

  我今天的分享到此结束,谢谢大家!

0
相关文章