阿里巴巴小蜜将全面应用(阿里小蜜这一年)(1)

封面摄影:阿里摄影派

阿里妹导读:2017年,阿里小蜜从阿里走向行业,逐步赋能商家和企业;从中国开始走向世界,覆盖英语、葡语、西班牙、印尼语、泰语,赋能AE及Lazada海外业务;从PC、无线走向了PC、无线和热线,在多端进行赋能;阿里小蜜全面从智能人机交互走向智能人机协同。

今天,我们邀请了小蜜机器人X Lab 资深算法专家海青,分享小蜜技术演进的一年。

一、生态领域的思考与阿里小蜜平台

1.生态领域的思考

随着人工智能在全球领域的持续高涨,chatbot人机交互作为其中一个分支在智能助理、智能服务、IOT等领域进了白热化竞争态势,从全球大公司到创业公司纷纷加入战场并在一些独特的垂直领域开始精耕细作。在近两年的人机交互领域的发展中,一方面在To C端面向各个入口领域的竞争更加激烈(例如:在IOT领域的智能音箱)、垂直领域场景更加细分与丰富。另外一方面由To C市场的竞争开始转向To B市场的竞争,Google、Microsoft、Facebook、Amazon、百度、网易以及众多startups纷纷在To B领域通过IaaS、PaaS或者SaaS能力开始布局,并且基本围绕着如下两个体系进行输出:

2.面向生态的阿里小蜜平台

  • 在To C端,持续在智能 人的混合模式上逐步升级,并且把传统的服务往更大的泛服务领域扩展,除了传统服务的智能化、还拓展了智能导购服务、智能助理服务,闲聊服务等,以服务为基础向平台与多领域升级

  • 在To B端,阿里小蜜从淘宝到阿里行业生态、二环商家生态,以及三环企业平台逐步拓展

  • 阿里巴巴小蜜将全面应用(阿里小蜜这一年)(2)

    最终形成了整个阿里小蜜平台面向阿里生态圈、商家生态圈、企业生态圈的整个体系大图:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(3)

    在过去的2017年阿里小蜜从阿里走向行业,逐步赋能商家和企业;从中国开始走向世界,覆盖英语、葡语、西班牙、印尼语、泰语,赋能AE及Lazada海外业务;从PC、无线走向了PC、无线和热线,在多端进行赋能;阿里小蜜全面从智能人机交互走向智能人机协同。

    小蜜技术这一年


    在技术这一端,过去的一年围绕着平台化和领域化不断完善和增强整个阿里小蜜平台:

    架构体系端:围绕着SaaS和PaaS体系,逐步将前端和后端体系进行模块化处理,逐步完善和构建整个平台体系

    算法端:逐步在单个领域结合实际业务场景进行纵深探索,并且不断进行创新

    1.前后端架构体系

    前端架构体系

    为了快速响应业务以及快速接入其他业务场景,阿里小蜜平台在前端架构上使用的是 WebApp 的技术选型。虽然WebApp在体验和功能上略逊于 Native App,但在快速响应业务需求和快速接入其他 APP 两方面相对Native优势明显。在经过3个大版本的不断升级与改造后,形成了按照模块划分的7层前端架构体系,如下图:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(4)

    后端架构体系

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(5)

    2.算法体系

    在算法体系持续按照面向不同的场景优化和升级整个算法体系模型,在2017年阿里小蜜平台的算法体系同样也按照领域化和平台化体系持续升级发展,整个人机交互架构如下:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(6)

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(7)

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(8)

    下面选择几个比较有意思的工作做一下展开。

    迁移学习下的DeepQA探索

    随着阿里小蜜平台不断的扩展,不仅需要在面向C端的手淘上帮助用户解决服务咨询类问题,而且也需要在新领域和国际化中承担起任务,而这些领域中存在标注数据量不足或者难以获得的问题(例如在AliExpress中的西班牙语场景)。基于此,我们希望利用已有的标注数据来优化小数据领域的QA匹配效果,而迁移学习在这方面就能发挥重要的作用。它最核心的思想就是将从一个环境中学到的知识用来帮助新环境中的学习任务。因此,在该场景下我们提出DRSS-Adv的迁移学习模型,用来建模QA匹配问题。

    通常来说,TL的模型有两类,一种是unsupervised,另外一种是supervised。前者假设完全没有目标领域的标注数据,后者假设仅有少部分目标领域的标注数据。具体大家可以看下文献[2]的综述。在我们的业务中主要关注supervised的迁移学习技术,同时结合深度神经网络(DNN)。在这个设定下主要有两种框架,一个是Fully-shared(FS),另外一个是Specific-shared(SS),框架图如下:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(9)

    基于增强学习的智能导购

    智能导购主要通过支持和用户的多轮交互,不断的理解和明确用户的意图。并在此基础上利用深度强化学习不断的优化导购的交互过程。下图展示了智能导购的技术架构图:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(10)

    这里两个核心的问题:

    a:在多轮交互中理解用户的意图。

    b:根据用户的意图结果,优化排序的结果和交互的过程。 下面主要介绍 导购意图理解、以及深度增强学习的交互策略优化。

    智能导购的意图理解和意图管理

    智能导购下的意图理解主要是识别用户想要购买的商品以及商品对应的属性,相对于传统的意图理解,也带来了几个新的挑战:

    1.用户偏向于短句的表达。因此,识别用户的意图,要结合用户的多轮会话和意图的边界。

    2.在多轮交互中用户会不断的添加或修改意图的子意图,需要维护一份当前识别的意图集合。

    3商品意图之间存在着互斥,相似,上下位等关系。不同的关系对应的意图管理也不同。

    4.属性意图存在着归类和互斥的问题。

    针对短语表达,我们通过品类管理和属性管理维护了一个意图堆,从而较好的解决了短语表示,意图边界和具体的意图切换和修改逻辑。同时,针对较大的商品库问题,我们采用知识图谱结合语义索引的方式,使得商品的识别变得非常高效。下面我们分别介绍下品类管理和属性管理。

    基于知识图谱和语义索引的品类管理

    智能导购场景下的品类管理分为品类识别,以及品类的关系计算。下图是品类关系的架构图:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(11)

    品类识别

    采用了基于知识图谱的识别方案和基于语义索引及dssm的判别模型。

    a:基于商品知识图谱的识别方案: 基于知识图谱复杂的结构化能力,做商品的类目识别。是我们商品识别的基础。

    b:基于语义索引及dssm商品识别模型的方案: 知识图谱的识别方案的优势是在于准确率高,但是不能覆盖所有的case。因此,我们提出了一种基于语义索引和dssm结合的商品识别方案兜底。

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(12)

    语义索引的构造

    通常语义索引的构造有基于本体的方式,基于LSI的方式。我们用了一种结合搜索点击数据和词向量的方式构造的语义索引。主要包括下面几步:

    1.利用搜索点击行为,提取分词到类目的候选。

    2.基于词向量,计算分词和候选类目的相似性,对索引重排序。

    基于dssm的商品识别

    dssm是微软提出的一种用于query和doc匹配的有监督的深度语义匹配网络,能够较好的解决词汇鸿沟的问题,捕捉句子的内在语义。本文以dssm作为基础,构建了query和候选的类目的相似度计算模型。取得了较好的效果,模型的acc在测试集上有92%左右。

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(13)

    样本的构造:训练的正样本是通过搜索日志中的搜索query和点击类目构造的。负样本则是通过利用query和点击的类目作为种子,检索出来一些相似的类目,将不在正样本中的类目作为负样本。正负样本的比例1:1。

    品类关系计算

    品类关系的计算主要用于智能导购的意图管理中,这里主要考虑的几种关系是:上下位关系和相似关系。举个例子,用户的第一个意图是要买衣服,当后面的意图说要买水杯的时候,之前衣服所带有的属性就不应该被继承给水杯。相反,如果这个时候用户说的是要裤子,由于裤子是衣服的下位词,则之前在衣服上的属性就应该被继承下来。

    上下位关系的计算2种方案:

    1.采用基于知识图谱的关系运算。

    2.通过用户的搜索query的提取。

    相似性计算的两种方案:

    1.基于相同的上位词。比方说小米,华为的上位词都是手机,则他们相似。

    2.基于fast-text的品类词的embedding的语义相似度。

    基于知识图谱和相似度计算的属性管理

    下图是属性管理的架构图:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(14)

    整体上属性管理包括属性识别和属性关系计算两个核心模块,思路和品类管理较为相似。这里就不在详细介绍了。

    深度强化学习的探索及尝试

    强化学习是agent从环境到行为的映射学习,目标是奖励信号(强化信号)函数值最大,由环境提供强化信号评价产生动作的好坏。agent通过不断的探索外部的环境,来得到一个最优的决策策略,适合于序列决策问题。下图是一个强化学习的model和环境交互的展示:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(15)

    深度强化学习是结合了深度学习的强化学习,主要利用深度学习强大的非线性表达能力,来表示agent面对的state和state上决策逻辑。目前我们用DRL主要来优化我们的交互策略。因此,我们的设定是,用户是强化学习中的env,而机器是model。action是本轮是否出主动反问的交互,还是直接出搜索结果。 状态(state)的设计: 这里状态的设计主要考虑,用户的多轮意图、用户的人群划分、以及每一轮交互的产品的信息作为当前的机器感知到的状态。 state = ( intent1, query1, price1, isclick, queryitemsim, …, power, userinter, age) 其中intent1表明的是用户当前的意图,query1表示的用户的原始query。price1表示当前展现给用户的商品的均价,isclick表示本轮交互是否发生点击,queryitemsim表示query和item的相似度。power表示是用户的购买力,userinter表示用户的兴趣, age 表示用户的年龄。

    reward的设计: 由于最终衡量的是用户的成交和点击率和对话的轮数。因此reward的设计主要包括下面3个方面:

    a:用户的点击的reward设置成1

    b:成交设置成[ 1 math.log(price 1.0) ]

    c:其余的设置成0.1 DRL的方案的选型:这里具体的方案,主要采用了 DQN, policy-gradient 和 A3C的三种方案。

    基于可配置Bot Framework体系构建

    在阿里小蜜平台中还存在一种需要动态获取系统数据并且整个流程相对较为个性化的场景,这种场景的体系数据偏少甚至没有并且需要跟对应的ERP等系统打通,因此我们就构建以一套Bot Framework系统,来满足对应企业的运营或者开发同学完成个性化任务体系的定制。

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(16)

    整个BFW1.0的体系支持:

    1.自定义多轮对话流程

    2.自定义意图、实体以及实体值

    3.支持第三方接口在多轮交互平台的接入

    尽管如此,整个BFW1.0面向复杂业务以及面向开发者的灵活度不足,因此在2018年,我们将BFW1.0按照chatflow的体系思路进行升级成为BFW2.0。

    基于检索模型和深度学习模型相结合的聊天应用

    智能聊天的特点:非面向目标,语义意图不明确,通常期待的是语义相关性和渐进性,对准确率要求相对较低。面向open domain的聊天机器人目前无论在学术界还是在工业界都是一大难题,通常在目前这个阶段我们有两种方式来做对话设计: 一种是学术界非常火爆的Deep Learning生成模型方式,通过Encoder-Decoder模型通过LSTM的方式进行Sequence to Sequence生成,如下图:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(17)

    Generation Model(生成模型): 优点:通过深层语义方式进行答案生成,答案不受语料库规模限制 缺点:模型的可解释性不强,且难以保证一致性和合理性回答

    另外一种方式就是通过传统的检索模型的方式来构建语聊的问答匹配。 Retrieval Model(检索模型): 优点:答案在预设的语料库中,可控,匹配模型相对简单,可解释性强 缺点:在一定程度上缺乏一些语义性,且有固定语料库的局限性

    因此在阿里小蜜的聊天引擎中,我们结合了两者各自的优势,将两个模型进行了融合形成了阿里小蜜聊天引擎的核心。先通过传统的检索模型检索出候选集数据,然后通过Seq2Seq Model对候选集进行Rerank,重排序后超过制定的阈值就进行输出,不到阈值就通过Seq2Seq Model进行答案生成,整体流程图如下:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(18)

    机器阅读理解技术探索与实践

    在阿里小蜜平台的业务体系中,存在大量知识数据是无法通过先验知识结构化或者结构化效率极低的场景,例如淘宝双十一大促的活动、税务法律等等。因此我们通过机器阅读理解的运用,可以减少人工知识点拆解工作,让机器直接对规则进行阅读,为用户提供规则解读服务,是最自然的交互方式。因此在2017年阿里巴巴iDST团队与我们阿里小蜜团队合作共同在机器阅读领域进行了深入的探索和应用。

    例如,如下图是2017年淘宝双十一“群战队”一个活动的规则:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(19)

    运营同学在知识库中录入群战队的活动规则文本,阿里小蜜即可直接基于文本内容的阅读来提供问答服务

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(20)

    机器阅读理解技术机器阅读理解模型已经在学术界取得了相当大的突破,但由于学术界和工业界具体场景的巨大差异,要将机器阅读理解技术运用到实际业务场景中,还存在相当大到挑战。

    基于机器阅读理解模型的在线问答流程如下图所示,在解析用户问题到输出答案的过程中,共有4个模块参与处理:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(21)

    1.文章片段定位模块 文章片段定位模块针对用户问题,召回候选的文档段落集合供机器阅读产生答案。借助该模块,可帮助缩减机器阅读理解模型的计算量,同时在一定程度上提升准确率。例如用户提问「天猫造物节的活动什么时候开始?」,该模块需要返回所有与「天猫造物节」有关的文档段落。定位的方式可以通过文本分类、文本检索或者问题模板拦截来完成,文本分类需要提前标注数据训练模型,目前我们的流程中主要以无监督的文本检索或者人工维护的问题模板定位为主。

    2.预处理模块 预处理模块包含4个步骤,首先需要对用户问题和待阅读文章做文本分词,由于带阅读文章常常伴有多级段落、特殊标签等结构信息,需要做格式化处理。

    3.在线服务模块 DNN在线服务模块部署了本文前半部分描述的深度机器阅读理解模型,在接受第2步处理好的<question, doc>向量后,计算输出文章中的词语或者句子作为答案的概率。

    4.后处理模块 后处理模块负责具体答案的构建,根据在线服务模块输出的答案概率,其按照特定策略计算出最可能的答案

    模型结构如下图:

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(22)

    就在最近我们机器阅读模型已排到SQuAD榜的top1,且ExactMatch指标首次超越了人类表现。

    阿里巴巴小蜜将全面应用(阿里小蜜这一年)(23)

    三、未来的展望与挑战


    References


    ,