概述
阿里小蜜是电子商务领域的智能私人助理,基于阿里海量消费和商家数据,结合线上、线下的生活场景需求,以智能+人工的模式提供智能导购、服务、助理的拟人交互业务体验。
- 在跨终端、多场景领域支持多轮交互、多模交互(文本、语音和图像)和问题推荐预测;
- 支持多模型(文本模型、客户模型、语音识别和图像识别)识别客户意图;
- 支持多领域识别和路由分流;
阿里小蜜整体体系图如下:
阿里小蜜平台结构图如下:
技术方案
将对话系统从分成两层:
意图识别层:识别语言的真实意图,将意图进行分类并进行意图属性抽取。意图决定了后续的领域识别流程,因此意图层是一个结合上下文数据模型与领域数据模型不断对意图进行明确和推理的过程;
-
问答匹配层:对问题进行匹配识别及生成答案的过程。在阿里小蜜的对话体系中我们按照业务场景进行了3种典型问题类型的划分,并且依据3种类型会采用不同的匹配流程和方法:
a) 问答型:例如“密码忘记怎么办?”→ 采用基于知识图谱构建+检索模型匹配方式
b) 任务型:例如“我想订一张明天从杭州到北京的机票”→ 意图决策+slots filling的匹配方式
c) 语聊型:例如“我心情不好”→ 检索模型与Deep Learning相结合的方式
意图识别
意图识别可看作是分类问题。
阿里小蜜采用如下要素进行意图识别,并通过深度学习方案构建模型
- 文本特征
- 用户行为
- 用户相关特征
在分类预测模型上,有两种方案
- 多分类模型:性能快,但对需要扩展分类领域是整个模型需要重新训练
- 二分类模型
- 优点:扩展领域场景时原来的模型都可以复用,可以平台进行扩展。
- 缺点:要不断的进行二分,整体的性能上不如多分类好
匹配技术
目前主流的智能匹配技术分为如下4种方法:
- 基于模板匹配(Rule-Based)
- 基于检索模型(Retrieval Model)
- 基于统计机器翻译模型(SMT)
- 基于深度学习模型(Deep Learning)
阿里小蜜采用基于模板匹配,检索模型以及深度学习模型为基础的方法原型来进行分场景(问答型、任务型、语聊型)的会话系统构建。
问答型:基于知识图谱构建+检索模型匹配方式
- 特点:有领域知识的概念,且知识之间的关联性高,并且对精准度要求比较高
- 技术:知识图谱构建+检索模型
知识图谱构建
知识图谱构建从以下两个角度抽象,通过在淘宝平台上积累的大量属于以及互联网数据,通过主题模型的方式进行挖掘、标注与清洗,再通过预设定好的关系进行实体之间关系的定义最终形成知识图谱。
- 实体维度
- 短句维度
优点:
- 在对话结构和流程的设计中支持实体间的上下文会话识别与推理
- 准确率高
缺点:
- 模型构建初期可能会存在数据的松散和覆盖率问题,导致匹配的覆盖率缺失
- 比传统的QA Pair对知识的维护上的成本高
检索模型
- 在线流程
- 提问预处理:分词、指代消解、纠错等基本文本处理流程;
- 检索召回:通过检索的方式在候选数据中召回可能的匹配候选数据;
- 计算:通过Query结合上下文模型与候选数据进行计算,采用文本之间的距离计算方式(余弦相似度、编辑距离)以及分类模型相结合的方式进行计算;
- 最终根据返回的候选集打分阈值进行最终的产品流程设计
- 离线流程
- 知识数据的索引化;
- 离线文本模型的构建:例如Term-Weight计算等;
如下图:
任务型:意图决策+slot filling的匹配方式
特点:有领域知识的概念,每个任务负责独立的业务流程,任务之间相对互斥性强,精准度要求高。
技术:意图决策+slot filling
流程:
-
首先按照任务领域进行本体知识的构建,例如机票的领域本体知识场景如下:
-
在问答匹配过程中结合上下文模型和领域数据模型不断在Query中进行slot属性的提取,并循环进行本体意图树的不断填充和修改,直到必选意图树填充完整后进行输出
语聊型:检索模型与Deep Learning结合
特点:非面向目标,语义意图不明确,通常期待的是语义相关性和渐进性,对准确率要求相对较低
技术:生成式模型+检索式模型
流程:
- 先通过传统的检索模型检索出候选集数据
- 然后通过Seq2Seq Model对候选集进行Rerank,重排序后超过制定的阈值就进行输出,不到阈值就通过Seq2Seq Model进行答案生成
生成式模型
优点:通过深层语义方式进行答案生成,答案不受语料库规模限制
缺点:模型的可解释性不强,且难以保证一致性和合理性回答
检索模型
优点:答案在预设的语料库中,可控,匹配模型相对简单,可解释性强
缺点:在一定程度上缺乏一些语义性,且有固定语料库的局限性