关于FAQ-QA算法中台的思考和实践

简介: 在2019年8月17日的阿里巴巴AI智能专场中,聚集了阿里云,阿里小蜜、阿里文娱的多位AI技术专家,共同探索阿里巴巴的人工智能。本文整理自小蜜FAQ算法团队智能服务事业部算法专家空崖先生的精彩演讲,将为大家分享关于FAQ-QA算法中台的思考和实践。

摘要:聚焦AI最前沿技术,产业和行业应用,与国内AI尖端企业探索行业的发展,最新技术方向。在2019年8月17日的阿里巴巴AI智能专场中,聚集了阿里云,阿里小蜜、阿里文娱的多位AI技术专家,共同探索阿里巴巴的人工智能。本文整理自小蜜FAQ算法团队智能服务事业部算法专家空崖先生的精彩演讲,将为大家分享关于FAQ-QA算法中台的思考和实践。

演讲嘉宾简介:高星(空崖),阿里巴巴算法专家,阿里巴巴智能服务事业部算法专家, 致力于智能人机交互领域的算法研究和业务落地,先后参与阿里小蜜、店小蜜的核心算法研发工作。目前在阿里小蜜团队担任 FAQ-QA算法中台负责人, 推动深度学习模型更低成本更广泛的应用,提升业务支持效率,助力业务高速发展。

以下内容根据演讲视频以及PPT整理而成。

点击查看阿里巴巴AI智能专场直播

本次的分享主要围绕以下四个方面:

一、背景介绍
二、角色和流程
三、中台架构
四、展望未来

一、背景介绍

阿里小蜜是阿里巴巴2015年对外推出的2C的智能客服产品,后来也在2B方向拓展赋能,向阿里平台商家、钉钉组织、阿里云企业提供整体的智能客服解决方案。在整体产品方案中我们探索了很多方向,比如面向平台商家提供了对话式的智能导购和营销能力,面向热线渠道做了呼入和外呼的语音机器人,但FAQ知识问答依然是较为基础不可缺的部分。

1.要解决的问题

问答系统的技术演进:FAQ-QA算法中台的核心课题是FAQ知识问答。智能客服解决方案中的知识类型,常见的有几类,比如一类是文档型知识,基于说明书或者百科信息等文档知识,通过机器阅读技术进行问答;另一类是QA对形式的知识, 将用户可能的问法和相应的答案组织在一起,通过分类或检索匹配的技术进行知识定位。通过下图也可以看到其中的技术演进路线,尽管FAQ经历了多年的演进,但因为易用和可控的特点,现在依然是智能客服解决方案中的基础。

image.png

2.面临的挑战

image.png

复杂的业务生态,高速的业务发展:智能服务在集团内部是一个横向的线,需要支持淘宝、天猫、盒马、飞猪等各种BU的业务。而阿里巴巴本身是一个平台,平台上面有商家,商家也面临着越来越多的服务方面的压力,对智能服务有很强的诉求。我们面向不同的客户群体,分别通过经济体小蜜、店小蜜、云小蜜等产品来支持。
高昂的协作成本,低效的业务支持:FAQ知识问答的算法支持也遇到了很多挑战, 比如我们目前有多个算法团队,有的面向阿里内部BU,有的面向平台商家,不同团队之间如何避免低质量的重复建设?此外,算法工程师与业务之间的协作成本也较高,比如阿里巴巴内部有些钉钉群就叫做xx号车间,车间内存在几个角色,包括业务运营、标注人员和算法工程师,大家通过项目组的形式协作,互相依赖,通过数据标注、模型训练等步骤攒出一个模型发布上线, 属于小作坊式的模型生产,没有形成自动化的高效流水线。

image.png

二、角色和流程

1. 流程

实现一个业务需求的流程,一般是提出需求、分析需求、定义问题、分析问题到解决问题。业务提出需要满足的业务指标,算法工程师定义方案、设计模型、进行训练、最后进行部署。但整个步骤抽象一下,其实只有两步:归纳业务场景,选择或开发算法能力;我们希望通过这两步,可以让业务经验和算法能力可复用,很快地批量应用到其他地方,产出更大的价值。归纳业务场景,可以从多个维度来看,比如数据积累情况,运营的投入成本等,这些都是影响算法方案的关键因素。算法则可以更专注,有更高的视野,面向一类业务场景去设计方案。

2. 角色

如下图所示,可以将整个业务支持流程中的角色拆分为三个层次。首先,算法能力的提供方指算法团队;算法能力的使用方表示其它算法团队,或是零基础的业务运营团队。中台运营方指面向算法能力提供技术支持的角色,目前和能力提供方是同一拨人。

image.png

三、中台架构

FAQ-QA中台包含技术框架、运营平台、业务分析方法论、以及运营服务团队构成的体系,提供各业务方能够快速,低成本创新的能力。中台通过技术框架,定义出“中台能力”的标准和协议,可与其他算法团队共建某项能力。

1. 技术框架

技术框架在FAQ-QA中台中是一个很重要的部分。如果把我们的工作比作工厂的生产, 那么算法模型是成品,而这里的技术框架属于工厂设备,数据标注人员属于流水线工人, 算法工程师属于设备制造、维修人员。我们框架设计的第一个要求是对算法模型全生命周期的支持, 从定义到训练、评测、部署等各个节点;如图所示,在技术框架中,最上面一层是面向应用的支持,需要提供API,以及在各个业务场景下合适的模型和调参的模板。其中核心的概念包含Problem和Model,其实面对业务需求,算法不只是做Model的设计,更需要基于业务理解对Problem进行定义。我们期望通过框架这个载体,基于其中内置的SOTA模型、最佳实践及一些工具库,提高算法工程师的工作效率。

image.png

2. 能力地图

能力地图,是算法中台的核心, 在其中我们基于之前的一些积累,面向不同的业务场景沉淀不同的算法能力。大多数的业务,“用户咨询”的数据分布是比较稳定,而且数据分布一般呈现“二八定律”,最重要的知识只占其中一小部分。比如服装行业做对话机器人,最先要解决的就是尺码、掉色等这类咨询,但单做好高频咨询是不够的,基于能力地图我们可以提供组合拳。

image.png

例1-TopK知识定位能力-文本分类:TopK知识定位能力, 提供针对“少数最重要的知识”
精准定位的能力。深度学习的文本分类模型的设计基本是固定套路, 结构上包含Embedding,Encoder,Aggregation和Prediction这四层,每一层上会有一些不同的设计;我们技术框架中将这个套路理出来,提供我们的最佳实践,当然基于此也可以定制每一层的实现。

image.png

如下图所示,店小蜜的后台给商家提供的订阅中心针对50多个行业内置了高频的知识包。用户只需要配置高频知识下的答案,如尺码,物流等。

image.png

例2-LongTail知识定位能力-文本匹配-EEIAP:除了“少数关键的知识”之外,剩下的“长尾”的知识,具有非常灵活的特点,随时可能新增、删除和变更。LongTail知识定位能力, 提供针对“大多数的知识”低成本维护且准确定位的能力。同样深度学习的文本匹配模型也有些套路, 如下图所示EEIAP分为几层,第一层是Embedding Layer,将原始词转换成稠密的矩阵;Encoder层考虑上下文之后的编码;Interaction层是当前文本考虑了要匹配的文本后重新编码; 最后两层是通过聚合得到匹配特征,基于匹配特征预测出结果。

image.png

FAQ-QA中台中根据上面的模型套路, 也做了一些创新型的设计, 相关工作也被ACL2019收录(https://www.aclweb.org/anthology/P19-1465
)。整个模型最大的优势在于模型效果和模型性能兼具, 在工业界生产环境大规模应用有比较大的竞争力。

image.png

image.png

例3-LongTail知识定位能力-少样本文本匹配:业务产出“足够的高质量的标注样本”的成本是比较挺高的,而由于业务发展的速度很快,所以存在很多业务场景无法承担起标注成本。足够高质量的标注样本对模型是一个很大的阻碍。FAQ-QA算法中台也在迁移学习、多任务学习、训练语言模型、半监督学习等方面做了较多的探索。下图是在2018年年底做的一份工作,图中的7列分别表示服装、美食、美妆、零食等七个行业。

image.png

业务定制BERT:一般做法是,基于官方模型在领域Unlabel数据上进一步pretrain,作为领域相关的BERT模型。这里的下游任务主要是文本匹配任务,所以我们也利用小蜜的用户点击数据和商家配置问法等平台产生的弱标签数据进一步pretrain,得到最终的领域&任务定制的BERT模型。
多任务学习:由于包含七个Domain,但是部分Domain数据量非常少,这里通过多任务学习提升小样本场景的效果。
模型蒸馏:最后得到的BERT模型非常大,我们通过模型蒸馏方式将模型蒸馏到小模型上面。

image.png

3. 业务分析方法论

FAQ-QA算法平台除了提供算法基础框架、算法模型和算法能力之外,也将之前的业务经验沉淀成方法论。业务可以从数据分布情况、业务发展阶段、自身的运营成本、业务目标、是否依赖上下文、是否小语种等等方面进行拆分和分析,关联到中台的算法能力。

image.png

4. 运营平台

当业务场景关联到算法能力之后,我们通过运营平台将算法工作流程产品化,希望零基础运营人员能够完成算法工作流程中的一些常规操作。比如首先是可以了解算法中台已有的能力,判断并选择某个业务场景适合的算法能力;然后完成标注、训练、评测和部署等动作;最后对解决方案的效果跟踪,对算法能力监控、干预以及优化。

image.png

四、展望未来

目前的FAQ-QA算法中台还需要更丰富的能力地图,获得更好的能力覆盖度,以及更高质量更易用的能力。算法能力对于中台来说是一个商品,需要物美价廉,需要更少的运营成本,更高的效果,这样才可以有竞争力,应用到各类前台业务里。

image.png

阿里云开发者社区整理

相关文章
|
27天前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
51 4
|
26天前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。
|
26天前
|
机器学习/深度学习 人工智能 Rust
MindSpore QuickStart——LSTM算法实践学习
MindSpore QuickStart——LSTM算法实践学习
39 2
|
18天前
|
机器学习/深度学习 算法 数据建模
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
21 0
|
2月前
|
数据采集 算法 物联网
【算法精讲系列】阿里云百炼SFT微调实践分享
本内容为您提供了百炼平台SFT微调的实践案例,帮助您方便并快速借助模型微调定制化您自己的专属模型。
|
3月前
|
DataWorks 算法 调度
B端算法实践问题之配置脚本以支持blink批处理作业的调度如何解决
B端算法实践问题之配置脚本以支持blink批处理作业的调度如何解决
37 1
|
3月前
|
SQL 算法 Serverless
B端算法实践问题之使用concat_id算子获取用户最近点击的50个商品ID如何解决
B端算法实践问题之使用concat_id算子获取用户最近点击的50个商品ID如何解决
24 1
|
3月前
|
存储 SQL 消息中间件
B端算法实践问题之设计一套实时平台能力如何解决
B端算法实践问题之设计一套实时平台能力如何解决
36 1
|
3月前
|
存储 SQL 算法
B端算法实践问题之Blink在实时业务场景下的优势如何解决
B端算法实践问题之Blink在实时业务场景下的优势如何解决
44 1