人工智能零代码上线小布对话技能:技能平台的实践与思考OPPO小布助手

小布助手做为新兴交互入口,是OPPO万物互融战略的关键节点,通过小布可以为用户提供丰富的技能体验、全面又贴心的对话能力。

同时,由于现有技能&对话多数形态固定、技术相对通用且以量盖面的特点。迫切需要降低对话技能算法研发的门槛,支撑内外部开发者大量建设对话技能。小布助手团队于19年底开始布局技能平台,过程中也积累部分对于平台化的思考。

平台化的优势是:降低研发成本、加速上线、提升稳定性、加速能力扩散、统一数据资产、集团资源高效利用。

平台化潜在的风险:

因此,小布技能平台的构建思路是:

中台不是万能的,它仅仅适用于在高确定性和通用性的场景。

技能平台的定位:面向通用对话&技能,提供免代码、高效、低成本的技能及对话全流程研发能力,助力无处不在的小布助手技能生态建设。

首先我们看一下完整的对话流程,如上图所述,共分为8个环节。

技能平台主要负责其中右边3、4、5、6的4个环节,而其中如何做到有效的数据流转、低成本能力建设就是我们所需要解决的核心问题。当然,其中也面临着不少的挑战。

对话系统(DialogSystem)是“让机器理解并处理人类对话的系统”,核心是模仿及抽象人与人之间沟通的方式,将对话抽象成具体的任务模块:TTS(倾听)、NLU(理解)、Policy(记忆、见人说人话)、Action(组织语言)。

为了保证对话系统主体链路的稳定性及灵活性,小布的整体思路是“轻中控,重模块化”。目前的算法工作主要围绕NLU、Policy两个模块展开,其中Policy目前主要以规则及产品策略为主,因此下面重点介绍语义理解部分的一些算法事件经验。

语义理解主要是将Query映射到具体的动作空间,并且提取动作执行所能识别的标准值,具体算法建模为意图理解和槽位解析。

小布技能平台覆盖了分类、语义匹配、文本匹配等三类意图理解方式,以及若干槽位解析能力,下面将展开详解。

文本分类:通过文本分类的方式进行意图理解,能够在有限域内完成更精细化的意图理解。其准召的天花板较高,业内及小布技能平均准召在反复迭代优化后普遍能够做到90%以上。

意图理解的文本分类,其本质是一个N+1分类的多分类任务。

N:指域内需要理解的用户意图,如音乐领域包含:点播歌手的歌曲、随机播放歌曲、查询信息、点播类型音乐等等。

1:是指的域外的other意图,所有非该领域意图的query都需要分类模型能够拒绝,避免无论用户说什么问题都会一定分类到域内意图。

由于“other”意图近乎无穷,因此意图理解分类同时也是一个严重样本不均衡任务。

为了解决实体知识依赖问题。我们借鉴EmbeddingConcat的方式,构建了以Tinymodel为核心骨架的知识嵌入model。

在实际探索过程中会发现:

同时为了保证嵌入特征及文本分类的效果,进一步降低模型训练成本。

围绕数据对抗做了一系列的特征及数据增强:

预训练模型蒸馏会很大程度上提升小模型的泛化能力。

分类的方式适用于语料充分、准召要求高的场景。但是分类算法需要掌握较多的算法及调优知识。

业内语义匹配算法主要分为语义表征及交互匹配两种技术方案。

前者可以通过ANN等算法大量降低Query-Query匹配的计算量及匹配次数,缺点是需要在query->model->embedding的过程中将不相似query在embedding层面进行区分,embeddinglearning的难度较高。

后者则能同时捕捉交互信息,因此在准确性上会明显优于语义表征的方式,但是计算代价较高。因此往往配合方案为:语义表征(召回)+语义交互(精排)。

但是由于技能平台的特殊性:面向场景不定、领域数众多。无法针对每一个技能都单独训练一个交互匹配模型。因此技能平台在语义匹配方案主要以语义表征为主。

在实际业务使用过程中,我们发现仅通过700w左右的数据预训练已经能达到80%左右的准召,也证实了无监督预训练任务的确能过为语义表征带来一定的收益。但是无监督预训练任务的天花板也较为明显。

上图分别列举了word2vec与PTM两种方式的部分case及优缺点。

常规语义匹配及分类虽然已经能够满足大部分应用场景,但是在新闻、客服等领域存在许多不含有上下文、或上下文与标准主体相差很大的匹配问题。因此,我们同样利用ES构建了基于文本主体的匹配算法。

对query、template都分别进行分词、筛词、滤词。保留文本主体后在进行文本pattern层面的匹配。同语义表征匹配一同解决意图匹配的问题。

以及基于DAG+DP、AC双数组匹配等多种的词典匹配算法能力。

同时为了解决部分任意槽位的抽取,基于bilstm+CRF构建了一整套模板数据生成、特征增强的算法解决方案。

通过上述解析器、模型、词典等槽位解析共同构建了整套算法槽位解析能力。同时为了针对多槽位、歧义槽位等问题,构建了槽位消解、槽位映射以及上图所示的语义槽功能。

技能平台通过抽象现有语义理解及槽位解析能力,提供了一整套的技能研发算法解决方案,使得非算法人员也能够通过有限的培训后,自主的完成技能的创建、迭代及上线。

整体采用分层架构设计,整体架构具有可伸缩性,支持通用化能力的任意组合满足多种业务需求。

基础数据层

将数据管理进行抽象,保证语音助手内部数据统一性和稳定性。基础数据接入流程标准化,通过文件分发系统支持任意接入系统可以获取到需要的业务配置数据。打通多套业务环境,数据上线流程标准化,实现数据发布平台可视化流转。

基础组件层

现有已经支持的组件包括:

业务编排层和业务层

业务编排层根据业务层想要实现的效果进行整体业务的分解,形成一个一个独立的业务单元,每一个业务单元实现一个独立的业务逻辑。例如:cds实现云端技能平台的意图理解。每一个业务单元都是进行一定编排方式将组件层中一个或者多个组件组合起来。目前主要落地了两类业务单元——通用NLU和通用DM。

开放平台NLU

并行流水线设计,支持业务水平扩展。充分利用底层组件,结合实际业务需求进行业务逻辑编排。每一条业务流水线代表一个业务单元。实现平台通用语义理解可配置化接入。新业务逻辑快速接入。

具体收益:代码复用率达到70%,新业务接入提效超过100%(原来需要二周左右开发,现在3-4天可以完成)。性能从平响20ms提升到不到10ms,整体性能提升100%。

通用DM

业务单元模块化设计,将原子化组件能力加上业务逻辑组合为一个个业务单元,经过统一的编排层实现通用的dm能力。支持多重条件判断,支持多种格式的协议转换。用户可以配置化实现多种回复类型,可以通过简单的配置实现多轮对话流。

具体收益:多种dm通用能力沉淀为组件,代码服用率提高40%,实现dm能力可配置化实现。简化协议解析流程,通过简单的公式配置就可以实现协议转化,节约90%的协议转化逻辑。整体稳定性提升,半年内故障数为0。

算法模型作为语义理解核心组成部分,其生命周期的管理在技能平台完成自动化流转。模型的生命周期分为几个部分数据准备——模型训练——模型测试——模型上线——模型下线。

在技能平台完成数据准备,触发机器学习平台部署的训练脚本完成模型训练,生成算法模型。通过发布系统将模型推送到在线模型serving服务,加载最新模型,对外提供分类服务。

技能平台将小布助手的全部基础数据进行统一管理,隔离数据源操作,保证数据的安全性。隔离离线数据和在线数据,用户在平台管理端产生离线数据,通过发布流程将数据发布到在线环境,影响在线服务。数据隔离保证在线数据的稳定性,所有在线服务加载的基础数据都是经过验证的快照数据。同时发布系统通过文件发布打通了线上线下各个环境,保证数据上线过程经过各个环境进行了严格的验证。

数据在技能平台具有一个完整的生命周期,每一个阶段都分别对应一个环境。

接下来将会以云端技能平台为例简述平台的使用方式

技能上线流程如下:

技能平台为技能上线提供了一套标准流程,完整流程中的各个节点都可以根据实现需要进行一定的调整。

技能上线主要分为三个步骤:

1.领域管理

2.技能管理

3.数据发布

用户在平台管理端创建的全部数据都属于离线数据,这些数据的变化不会影响在线服务。数据上线需要通过发布流程进行,用户可以将数据发到各个验证环境进行测试验证,并且在预发和灰度环境进行真实流量充分验证后即可将数据部署到生产环境。所有环境数据的推送都可以通过平台进行可视化操作,用户可以实时跟进数据的发布状态,并且根据验证的结果决定是否继续进行发布流程。

接下来以简单的实例带入平台的使用。

1.在平台创建需要的领域,选择具体的召回方案

召回方案分类两类:文本分类:需要训练算法模型,适合语料较多,高精准召回场景文本匹配:采用通用语言模型进行句向量转换,利用检索方案进行召回。适合少语料,召回要求不高的场景

2.在领域下创建意图

默认的other意图做拒绝使用,其他意图可以手动任意添加,每一个意图即表示一个召回节点。

3.在意图下创建槽位

槽位提取主要支持两种方式自建词典:用户可以在词典管理界面新增和上传自建词典通用提槽:平台提供通用的槽位提取能力

设置为纯实体的槽位,具有纯实体召回能力

4.新增语料

平台支持三种召回语料规则:用户可以输入正则表达式,平台的规则引擎将会加载这些规则语料实现召回。规则适用于确定场景的召回,编写正则表达式的时候需要注意对范围的限制防止对其他意图的误召回。训练语料:用户可以新增或者导入需要召回的语料。如果训练方案选择的是文本分类,这里的语料将会用于模型训练,适用语料较多的场景。如果训练方案选择的是文本匹配,这里的语料将会用于建立向量空间,后续召回通过检索的方式实现,该方式适用于语料较少的场景。用户可以根据实际情况按需选择。关键词增强:增加召回能力,通过关键词的添加可以增加召回的准确度

在完成召回语料的创建后,用户可以上传测试语料,用于对语义部分的测试使用。

5.进行召回模型训练

在完成各种语料的创建之后,就可以进入到模型训练阶段。

这一阶段根据训练方案的不同将会产生不同的行为:文本分类:触发部署在机器学习平台的训练脚本进行模型训练,训练完成后上传模型文件到指定目录,推送数据到对话测试环境,通知对话测试环境的在线模型服务更新模型。文本匹配:推送数据到对话测试环境,通知该环境的检索服务进行向量空间的构建。

模型训练完成后,用户就可以通过批量测试验证语义理解部分,测试完成后将会生成测试报告用户下载报告进行查看。根据测试报告可以持续对语义部分进行调校。

6.创建技能,订阅意图

在完成语义部分后就可以进入对话部分,首先创建新的技能。然后进入技能选择该技能需要订阅的意图。

7.设置回复

这一步用户可以根据自己的实际需求进行回复配置,每一条回复都可以增加各类限制条件,只有当全部限制条件都满足的情况下才会出对应的回复。目前平台主要之处文字卡片和payload两种回复形式,后续平台还会支持更多的回复形式,敬请期待。

8.数据发布

在完成了语义和对话数据的创建和测试后,就可以进入到发布阶段。首先进行发布单的创建,当前发布可以通过三种维度进行。

发布流程需要按照标准流程在每一个环境进行验证工作,只有验证通过后才能进入到下一个阶段。

9.数据回滚

如果在上线之后发现新上线的数据产生了问题可以进行回滚操作,将数据回滚到上一个稳定版本。

10.数据下架

某个技能或者领域数据不再需要,或者需要紧急删除时可以进行下架操作。新建一个下架单,选择一个数据维度进行下架操作。

下架和回滚操作也属于部署操作的一部分,所以也需要遵循发布流程,在每一个环境进行验证验证后才能最终发布到线上。

未来平台的发展方向依然是以能力输出为主,同时也会有一些不同的变化。主要体现在以下几个方面。

算法能力

工程能力

组件服务化,在平台发展过程中将部分通用化能力拆分为独立的服务沉淀为原子化能力,可以提供业务无关功能,达到组件最大化复用。

开放生态,对外依托开放平台吸引更多的开发者来丰富小布的技能生态。对内提供平台化解决方案,帮助业务提升技能开发效率。

THE END
1.一些机器学习的学习资源推荐:专知:http://www.zhuanzhi.ai/,专业可信的人工智能知识分发平台,包含众多AI 主题、荟萃、链路等资料; GitHub:有许多机器学习相关的开源项目和代码库; CSDN 博客:可以搜索到大量机器学习的技术文章和学习心得。 你可以根据自己的学习需求、基础和偏好,选择适合自己的学习资源。在学习过程中,多实践、多动手,结合实际项https://blog.csdn.net/weixin_44975687/article/details/144258348
2.机器学习青少年人工智能资源与创新平台飞桨大规模分类(PLSC: PaddlePaddle Large Scale Classification)库是基于飞桨平台构建的超大规模分类库,为用户提供从训练到部署的大规模分类问题全流程解决方案 28 04月 机器学习 Transformer 加速工具 TurboTransformers TurboTransformers 来自于深度学习自然语言处理基础平台 TencentNLP Oteam,旨在搭建统一的深度学习https://yuanzhuo.bnu.edu.cn/article/category/ML
3.机器学习平台机器学习平台是面向机器学习应用开发者,提供开发机、自定义任务、实验管理等丰富的建模调试工具以及多框架高性能推理服务的企业级云原生机器学习平台https://www.volcengine.com/product/ml-platform
4.云原生AI平台建设实践数据工程模型训练在线服务是机器学习数据工程、模型训练、在线服务是机器学习技术实现的三驾马车,这个流程中处理的数据量大,计算量大、训练框架和版本多样、底层依赖复杂,资源算力管理,需要人工介入解决很多问题,给AI落地带来了比较困难。针对这一系列的问题,货拉拉大数据智能平台组从2020年开始就在探索提供一套完整的云原生的一站式AI解决方案,并从那时起https://juejin.cn/post/7213636024101765181
5.Dlearn机器学习平台远舢Dlearn机器学习平台,是集AI算法、模型、训练、推演于一体的“一站式”平台,通过接入模型构建与训练需要的样本数据,构建数据预处理、大规模分布式训练、自动化模型生成及端-边-云模型按需部署能力,支撑AI模型的快速构建、训练、部署和应用,实现AI模型工作流的全周期管理。 https://5gai.cctv.com/special/companies/yuanshan/p002/index.shtml
6.人工智能平台PAI机器学习建模训练部署智能推荐人工智能人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是 AI Native 的大模型与 AIGC 工程平台,提供包含数据集管理、算力管理、模型工具链、模型开发、模型训练、模型部署、AI资产管理在内的功能模块,内置100+种大模型最佳实践,为用户提供高性能、高稳定、企业级的大模型工程化能力。 https://www.aliyun.com/product/bigdata/learn
7.机器学习平台可视化建模模型部署深度学习机器学习机器学习平台 为AI开发者打造一站式、高性能的企业级分析建模平台。功能覆盖算法开发、模型训练评估、在线推理预测建模全流程。开放大模型生态,为企业用户打通大模型接入、微调、部署及应用的全链路流程。 免费试用 架构师咨询 深入算法建模场景,一站式助力企业AI转型升级https://sf.163.com/product/ml
8.基于云原生打造分布式机器学习平台(分布式训练篇)基于PS架构的分布式模型训练 虽然基于RingAllReduce的模式在训练的性能方面会比PS架构要好很多,但是上面我也有提到过在推荐、广告、搜索等这种超大规模场景及需要做在线实时训练场景下PS架构是很适应的,所以在机器学习平台对这种分布式训练场景的支持是非常有必要的。 http://cdn.modb.pro/db/474536
9.cubestudio开源云原生一站式机器学习/深度学习/大模型AI平台cube studio开源云原生一站式机器学习/深度学习/大模型AI平台,支持sso登录,多租户,大数据平台对接,notebook在线开发,拖拉拽任务流pipeline编排,多机多卡分布式训练,超参搜索,推理服务VGPU,边缘计算,serverless,标注平台,自动化标注,数据集管理,大模型微调,vlhttps://github.com/tencentmusic/cube-studio
10.产品狗实践日记——OCR训练平台因为“XX训练/学习平台"的概念也是近几年才兴起的概念,关于它究竟是什么。业内定义还无法很好的统一。对自家平台的命名,根据市场功能侧重点不同又经常被称之为:数据科学平台、机器学习平台、深度学习平台、甚至针对某一具体细分问题场景又衍生了OCR训练平台、NLP训练平台等等。 https://www.douban.com/note/766370797/
11.机器学习平台面向数据科学家和数据分析人员,为传统机器学习和深度学习提供了从数据准备、数据预处理、模型训练、模型评估到在线预测的端到端数据智能平台。 关于机器学习平台 作为AI赋能工具,面向业务智能化转型的需求,通过自动机器学习、可视化拖拽实验、交互式编码等多种方式,提供从数据洞察处理 、探索性分析、建模分析、模型部署、https://cloud.inspur.com/data-cloud/data-product/machine-learning/
12.智能钛机器学习平台TIONE训练平台文档中心TI-ONE 训练平台是为 AI 工程师打造的一站式机器学习平台,为用户提供从数据接入、模型训练、模型管理到模型服务的全流程开发支持。TI-ONE 训练平台支持多种训练方式和算法框架,满足不同 AI 应用场景的需求。 了解 产品简介 产品概述 客户价值 应用场景 https://cloud.tencent.com/document/product/851
13.算法服务平台算法模型服务平台是一个面向企业用户的数字化服务平台,旨在为用户提供高效、先进的算法模型。它以数据为核心,利用机器学习、深度学习等前沿技术,为用户提供行业定制化的算法模型解决方案。 应用场景 用户情感分析 使用情感分析模型,对文本进行情感分析,用于市场调研,客户服务和社交媒体监测。 https://www.wakecloud.com/wakeAI.html
14.TOP8无代码平台:2020年,这些机器学习平台不容错过除了模型训练之外,数据处理也占用了开发机器学习项目的大量时间。清理和标记数据肯定会耗费大量时间,尤其是在处理成千上万张图片的时候。 SuperAnnotate是一个人工智能注释平台,它通过机器学习功能(尤其是迁移学习)来加快数据注释过程。通过使用其图像和视频注释工具,用户可以在内置预测模型的帮助下快速注释数据。这样一来,https://www.51cto.com/article/628727.html
15.算法在线训练平台训练算法华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:算法在线训练平台。https://support.huaweicloud.com/topic/1082125-1-S
16.火山引擎发布大模型训练云平台:支持万卡训练,集群性能提升3倍4月18日,火山引擎在其举办的“原动力大会”上发布自研DPU等系列云产品,并推出新版机器学习平台:支持万卡级大模型训练、微秒级延迟网络,让大模型训练更稳更快。火山引擎总裁谭待表示,AI大模型有巨大潜力和创新空间,火山引擎会服务客户做好大模型,共同推动各行业的智能化升级。 https://m.caijing.com.cn/api/show?contentid=4931707
17.RunwayRunway,AI机器学习工具平台,能够帮助用户快速创建和发布预先训练好的机器学习模型,用于生成逼真的图像或视频等应用。https://www.aizhinan.cn/tools/2115.html
18.机器学习PAI人人都用得起的机器学习平台天润智力机器学习平台PAI(Platform of Artificial Intelligence),为传统机器学习和深度学习提供了从数据处理、模型训练、服务部署到预测的一站式服务。 立即购买 产品与服务 PAI-DSW 交互式云端机器学习开发环境,内置深度优化过的Tensorflow框架、流式处理框架以及多种机器学习组件,同时用户支持安装第三方软件库。 https://www.cnet99.com/ai/learn.htm
19.Scorpio机器学习平台竹间Scorpio人工智能机器学习平台,具备机器学习全流程开发所需步骤,提供一站式机器自学服务,具有自定义预训练模型、自动化机器学习模型训练等优势,敬请访问【竹间智能】官网.https://www.emotibot.com/product/scorpio.html
20.模型训练平台模型训练平台是基于多种机器学习框架开发的人工智能云平台,具有强大的硬件资源管理能力以及高效的模型开发能力,可进行模型开发、分布式训练与服务发布,降低AI使用门槛,提升开发效率,助力车企加速智能化转型。https://www.z-one.tech/products/modeltraining/
21.模法师机器学习平台模法师(Magic Model)机器学习平台,是全周期、普惠化、持续化、专注金融的机器学习平台,提供从数据处理、特征工程、模型开发和训练以及模型上线服务等一站式生产支撑能力,可为用户提供高性能、低门槛、企业级的AI开发与服务平台。https://www.gientech.com/product/23.html
22.机器学习建模平台SophonMLDevSophon MLDev作为企业级一站式机器学习建模平台,集成了Sophon Data数据管理、Sophon VLab可视化建模、Sophon Discover编程式建模三大功能模块,覆盖了从数据接入、数据预处理,到模型训练、模型评估、模型迭代的机器学习建模的全生命周期流程,助力企业客户实现人工智能产https://www.transwarp.cn/subproduct/sophon-mldev