在2016杭州云栖大会的“开发者技术峰会”上,来自阿里巴巴的高级技术专家陈海青带来了题为《基于机器学习的阿里智能助理在电商领域的架构构建与实践》。本次分享主要包括阿里小蜜平台介绍、智能人机交互构建技术实践、挑战与未来三部分。
以下内容根据演讲PPT及现场分享整理。
阿里小蜜平台介绍
当今人工智能的领域是从感知到认知领域发展,将会带来拟人化体验的提升;同时,这也会带来行业模式的变化,应用领域成本的降低。现阶段,自然语言交互型的私人助理已经成为人工智能的热点领域之一,如微软的小冰、苹果的Siri等,未来更是会成为入口级领域,各大公司竞争必将十分激烈。
目前阿里推出了电商领域的私人助理——阿里小蜜,它基于阿里海量消费数据,结合线上、线下的生活场景需求,以智能+人工的模式提供智能导购、服务、助理的业务体验。目前阿里形成了两个大的生态圈:一个是买家卖家的生态圈;另一个是钉钉企业级生态圈。因此阿里对应地在电商领域的两种平台化开放:商家开放——千牛平台、企业开放——钉钉平台。
上图是阿里小蜜及平台输出的展示页面,最左侧是阿里小蜜;中间是店小蜜,用于商家店铺,目前几个较大流量的商家已经部署;最右侧是企业钉小蜜。
阿里小蜜的整体结构体系如上图所示,架构采用水平切分的方式:虚线上侧是前端部分,主要的任务是多终端部署和多场景识别以及多轮交互、多模交互、推荐预测;虚线下侧涉及到多种模型,如客户模型、文本模型、语音识别、图像识别;最底层分为三个领域:客服领域、导购领域和助手领域。
上图是阿里小蜜平台,其中输出平台目前包括:阿里小蜜、千牛店小蜜、钉钉企业小蜜;服务层按照领域划分为服务、导购、物流、聊天和其他;中间的技术层包含多轮交互、多模交互、推荐预测、用户模型等;数据层用于数据回流和机器学习训练以及数据挖掘、多维数据分析等。
智能人机交互构建技术实践
上图是通用的智能人机交互的基本技术流程:语音输入之后进行语音识别(ASR),转成文本的方式进行自然语言理解(NLU);再通过语义表示和上下文进入对话管理(DM);此后根据上下文和语义表示进行自然语言生成(NLG);再将生成的文本转语音(TTS)输出给用户。
可以将简单的一问一答按领域拆解为语义识别和对话匹配两部分。由于意图非常复杂,因此需要进一步拆分。在对话领域中,可以按照面向目标和非面向目标拆分,例如“我要订一张机票”这类的问题就属于面向目标型,而“我心情不好”这类的输入就属于非面向目标型。意图又可以分为明确意图和隐式意图,例如“我心情不好”这个输入的意图是隐式的、不明确的。总结来看,在意图层面的领域模型拆解时会分为面向目标、非面向目标和明确意图、隐式意图,不同的领域有着各自不同的技术选型和算法方案。
在问答匹配流程中,可以划分为三个类型:问答型,一问一答,通常需要知识输入,如“密码忘记怎么办?”;任务型,例如“我想订一张明天从北京到杭州的机票”;语聊型,例如“我心情不好”。
语义意图
语义意图识别的基本技术流程如上图所示:输入是Query+Context;之后进行自然语言的基本处理,进行分词词性标准及NER;在对话管理中,需要数据沉淀与积累,因此需要上下文模型和领域数据模型;在整个技术流程中,意识识别分类和意识属性抽取是其中的重头戏;最后通过意图语义表示再输出给对话管理系统。
下面来具体看下技术选型和技术架构的思考。
如果构建的是相对简单对话系统,采用传统的机器学习方法即可,这里不再详细阐述。传统的方式由于部分情况用户的意图表述的并不清楚,在进行文本标注、分类时会丢失大量信息。基于深度学习以及结合用户行为可以解决传统方式无法完成的难题,这种方式适用于较大数据量积累场景:采用结合用户行为特征的深度学习意图预测模型,在文本缺失、不明确或者不完整的情况下,增加用户行为特征进行意图分类预测。
深度学习模型需要大量意图数据积累,数据必须保证相关性和多样性:
用户点击数据结合用户相关特征、用户行为序列、Query+Context构建成深度学习模型。
上图是两种深度学习模型的实现方案。第一种方案是多分类的方案,将因子+行为相关的用户特征构建成N,文本特征构建成V;再将这两个维度的特征向量化;之后在中间层简单地将两个向量进行拼接;最后再通过Softmax进行多分类;第二种方案的底层操作和第一种方案完全相同,两者的不同之处在于后者采用多个二分类。
第一种方案的优点是性能很快,但如果分类不稳定时,会直接导致成本的增加;第二种方案隐层的分类是可以复用的。
四种主流的问答匹配技术
在人工交互对话领域,问答匹配技术主要分为:基于模板式匹配(Rule-Based)、基于检索的模型(Retrieval model)、基于统计机器翻译模型(SMT)、基于深度学习模型(Deep leaning)四类。在实际实践中,根据不同分策略模块分别进行技术选型:
问答型领域技术构建
问答型领域首先需要构建知识图谱,知识图谱构建的第一步需要进行语义挖掘,语义挖掘又分为同义语义挖掘和词和短语挖掘,在同义语义挖掘中会采用文本相似度计算、潜在语义分析、聚类等相关技术;词和短语挖掘通过种子词获取、深度挖掘;此外,还可以通过Pattern构造模板匹配。
上图是知识图谱的构建体系,主要分为词和短句两个维度。这里采用了主题模型不断地进行模型构建,构建成短句库或实体库放到词数据库或索引中使用。
构建完成的知识图谱示例图如上所示,该示意图由实体—关系—实体的RDF三元组构成,天然支持实体间上下文与推理;同时,把核心知识的维护带给业务的成本降到最小,不需要维护复杂相似问法,通过技术挖掘生成可扩展图结构。该知识图谱精确匹配率相比之前的机器人匹配模型提升10%,用户体验得到进一步提升。
但该结构也存在一定的缺点:在模型构建初期会损失一定的覆盖率。
知识图谱构建完成后也可以用在检索计算模型中,上图是经典的检索计算模型架构,主要分为提问处理模块、搜索召唤模块、索引模块、计算模块、答案处理模块。为保证精准度会提升检索模型的阀值,目前检索模型的匹配量占到全局匹配的5%-10%。
任务型领域技术构建
任务型领域构建主要采用Slots Filling的方式,首先需要构建领域意图树,例如检索到输入“机票”:首先需要确定是否是“购买”行为;再确定对应的“出发地”、“到达地”、“时间”等信息。第二步通过Slots Filling的方式在Query中slot属性的抽取;之后进行获取意图树的属性进行填充,填槽之后判断意图树种填写状态;根据设定的状态结果进行返回,进行不断判断、填充、转移和完结。
语聊型领域技术构建
语聊型领域技术构建采用了传统检索模型+Deep Learning两种方案相结合的方式,这是因为传统的检索模型的答案跳不出知识图谱语料库;而Seq2Seq模型(Deep Learning模型)序列化生成的答案尽管跳出了知识图谱语料库的限制,但答案的合理性和语言的连贯性存在明显问题。
语聊型领域技术并非简单地将在传统检索模型和Deep Learning进行结合,其具体方案如图所示。左侧模块是传统的检索模型,将IR模型作为候选结果,对搜索答案进行二次排序。具体来说是先通过搜索的方式找到一百条答案;这一百条答案通过检索模型本身进行排序;之后在通过Seq2Seq模型对答案基于语义维度重新进行排序,如果最后的分值大于置信度阀值,则认为答案合理,可以用于回答;如果分值不高,再通过深度学习模型进行答案生成。
上图是Rerank Generation离线数据结果图,横轴是数据集。从图中可以看出:80%的结果选型是Rerank方式;20%的结果选型是Generation;置信度阀值为0.21。
挑战与未来
尽管人工智能领域发展十分迅速,但目前智能人机交互机器人的智能程度还比较低,还有很长一段路要走;同时工业领域由于设计的领域及复杂度情况很多,需要进行不断的细分并通过不同的方案来解决。
展望未来,人工智能交互技术领域知识体系的不断构建完善,以及与Deep Learning更好的结合与发展是未来一段时间的方向;同时,随着学术界和工业领域的不断紧密结合,未来人机交互会在更多的场景被应用,并且会进一步提升。