写点什么

3 年做到业界领先,OPPO 小布助手靠什么实现跨越?

  • 2022-03-04
  • 本文字数:5888 字

    阅读完需:约 19 分钟

3年做到业界领先,OPPO小布助手靠什么实现跨越?

10 年前,苹果发布其智能语音助手 Siri,开启了人机交互新时代。


此后十年,巨头纷纷入场,诞生了 Google Assistant、亚马逊 Alexa、百度度秘、天猫精灵、小爱同学、OPPO 小布助手和 vivo Jovi 等智能助手,整个行业变得热闹起来。与此同时,人工智能技术的大阔步前进,驱使着智能助手不断进化,从“智障”迈向智能。


纵观整个智能助手市场,OPPO 小布助手有点“不一样”:它出现比较晚,但发展迅猛,成绩突出


OPPO 小布助手 2019 年诞生,到 2021 年底,它已经累计搭载 2.5 亿设备,月活用户数突破 1.3 亿,月交互次数达 20 亿,成为国内首个月活用户数破亿的手机语音助手。出色的成绩也让 OPPO 小布助手一跃成为国内新一代智能助手的代表。


智能助手的关键是对话交互,而对话交互的核心能力之一是算法。算法决定了智能助手能达到的智能化水平,具有极高的技术挑战与价值。作为新一代智能助手代表,OPPO 小布助手的 AI 算法有何特点?过去三年,其 AI 算法如何演进?...... 为弄清上述问题,InfoQ 记者采访了 OPPO 小布助手首席研究员杨振宇博士。


OPPO 小布助手首席研究员杨振宇博士

从学术界到工业界的 AI 算法专家


2018 年,杨振宇加入 OPPO,主导小布助手 NLP 与对话算法系统建设。此前,他曾在华东师大、国防科大担任讲师。


在他看来,AI 算法领域,学术界和工业界的侧重点存在差异。学术界关注的是“你是针对新问题给出了一种很好的解决方案,还是针对老问题提供了一种有突破性的新解法”,面向的问题一般都是高度抽象化的、具有代表意义的。而工业界面对的问题则更实际些,它存在很多约束条件和资源限制,关注的是“你能不能综合所有受限资源提供可带来显著收益的解决方案”。



随着 AI 基础设施的逐渐成熟,学术界和工业界的差异在缩小,前沿算法应用落地的节奏在加速。以超大模型为例,这个领域,工业界反而走得比较靠前。


“有工业界积累的数据后,你就可以快速地进行验证,不像以前,一篇论文可能要在理论阶段停留数年,甚至十年或二十年,才能有机会等到其基础设施成熟,从而进行工业验证,再大规模应用”。


杨振宇对 InfoQ 表示,“现在,AI 基础设施已经非常完善,这为大规模应用带来了土壤,提供了很大便利性。另外,工业界也有一些诉求,因为竞争越来越激烈,大家希望可以更激进地引入一些新技术,带来一些差异化的竞争力”。


相比学术界,工业界在 AI 算法领域积累了与实际场景吻合的大量数据,面向真实案例的研究会更便利,而且在算力方面一般也能得到更好地支持。

小布助手,从 0 到 1


工业界在 AI 算法领域的优势和便利吸引杨振宇投身企业。他入职 OPPO 后,带领团队主导小布助手 NLP 与对话算法能力的建设。作为对话式 AI 产品,小布助手的交互流程与行业主流产品一致,由唤醒、语音识别、语义理解、对话管理、对话生成,以及语音播报多个环节组成



整个流程中,核心在于“用户可以方便地唤醒小布助手,小布助手不仅能听得清用户的话,而且还能听懂用户的诉求并给出令人满意的响应”。其中,每个环节对 AI 算法的依赖都比较强,算法的效果直接影响用户的体验。


2019 年 4 月,杨振宇所在团队快速构建并上线了小布助手第一个版本。当时的首要目标是尽快构建一个可面向用户的产品,再通过用户的实际使用促进产品的快速迭代。那么,如何快速构建一款智能助手产品?他们以快速组装为主,引入很多外部 AI 技术。但是,问题随之而来,由于很多环节都单独引入一些技术,导致各个环节相对割裂,相互之间的适配效果也不是很理想,从端到端看,效果的折损比较大。


其次,小布助手的第一个版本技能覆盖面也比较窄,主要是用户的高频、刚需的技能,比如对设备的一些基础操作控制。杨振宇表示,“更多的垂直域和开放域的技能,要么没来得及建设,要么建设了没精细打磨,体验不佳”。


他说:“在语义理解和对话交互上,当时我们做得很浅,也有很多不完善的地方。比如,针对一些问题的回答,会经常跳到浏览器,通过传统搜索的方式,把结果展示给用户。这会让用户觉得智能助手的体验比较割裂。”


那时,在对话交互上,他们使用了一些比较简单的算法。由于这些算法的效果天花板比较低,虽然能简单高效地解决一些问题,但是如果想获得更好的效果,它们明显会存在一些局限性,比如即使补充更多的数据,它们也会存在拟合能力不足等问题。另外,它们还表现出泛化能力比较脆弱的一些缺陷,“纯粹从量化评测指标看,它们能做到 90 分,甚至超过 90 分。但是,拿到实际场景中试验,面对大量用户的口语化表达时,效果就不是很好。因为实际场景要复杂得多,比如用户各种非标准的表达方式、环境噪声带来的输入干扰等”。

三年,小布助手 AI 算法的不断进化


第一个版本出来后,团队继续优化 AI 算法,不断迭代小布助手。据杨振宇介绍,小布助手 AI 算法的发展大致可从广度和深度两个维度看。


广度上,从指令型的操控类技能,拓展到到垂域资源型的技能(如音乐、影视等),以及开放域的技能。具体说来,指令型技能相对简单,因为用户输入往往已经包含足够的信息,智能助手可以判断出用户想干什么,比如打电话还是发短信,或者打开某个功能设置等。针对指令型技能,他表示,“使用教科书上的一些算法基本就能搞定,效果还不错”。


垂域资源型技能相对复杂些。既要基于用户输入的信息,也要结合一些领域知识,智能助手才能做出准确的判断,比如结合知识会发现“原子弹”原来还是一首歌。因此,智能助手只有具备领域知识,才能做出更准确的判断。


当然,最复杂的还是开放域。以知识问答为例,杨振宇他们正在持续建设中,但眼下还没有一个非常完美的解决方案,这也是行业存在的普遍问题。因为用户的问题五花八门,涉及各种各样不同的学科和领域,仅用单一算法很难解决所有问题,因此要融合多种技术手段。杨振宇解释,有些属于结构化问题,要基于知识图谱才能回答,比如询问姚明的身高、刘德华的年龄等;另一些问题要依赖大量问答库的积累,然后基于问答库做检索匹配等。此外,开放域聊天也存在很大的技术挑战,不仅要聊得相关,还要贴心、有趣,甚至有情感。


深度上,小布助手 NLP 与对话算法经历了从规则引擎、简单模型到强深度学习,再到预训练模型几个阶段。早期以规则引擎为主,优势是简单可控,缺点是天花板比较低。后来,过渡到强深度学习的方案,“以 CNN、RNN、Transformer 为代表的深度学习算法,我们都有实践、评测和落地的方案,效果提升了一个大台阶”。


现在,预训练模型备受他们关注。随着预训练模型在工业界应用的突破,杨振宇他们做了一些技术升级,在很多方向取得不错突破,比如面对特别复杂的百科,基于预训练模型做问题识别,取得一些非常显著的收益。


在小布助手不断演进过程中,杨振宇也坦承,他们遇到过不少挑战。对话系统并非单纯的算法问题,更多是系统架构的挑战。因为对话系统是一个系统工程。比如海量用户有多样化的复杂需求,针对这些需求如何高效迭代。这是一个很大的挑战。为解决这个问题,杨振宇他们采用分治和抽象统一的解决方案,针对不同设备、不同场景的数百项技能,按业务特点进行解耦,形成系统服务、泛娱乐、生活服务、知识问答、开放聊天等多个子业务,每一个子业务可以相对独立建设,高效迭代。


其次,他们早期采用一些定制方案来进行技能建设。但随着技能的增多和长尾技能的增加,这对研发人员的消耗很大,因此,他们后来引入平台化解决方案,构建了小布自己的技能平台和开放平台,让非技术人员、外部合作伙伴也能参与技能建设,降低研发门槛和成本。


具体到一些技术问题,比如语义理解,挑战在于目前算法还不能完美理解用户口语化的表达,总会遇到一些 badcase,“一旦出现 badcase ,用户可能就会质疑智能助手的智商,进而失去兴趣不太愿意再去使用”。得益于深度学习的发展,近几年业界出现了一些相对成熟的方案,不过深度学习方案也同样并非完美。因此,综合考量下,他们以深度学习的方案为主,保障基本面,再辅助一些传统的规则与策略来解决边角问题,最终让语义理解的效果整体相对较好、可控。而开放域问题则更复杂,因为这个领域特别广,“像聊天,用户可能希望助手可以给他解闷,有时也希望你能安慰他,甚至陪他玩点游戏,这就比较难处理。针对这些问题,我们针对性的通过检索式与生成式相结合的方式,提升话题覆盖的多样性。另外为提升智能性,我们也构建了记忆机制,让小布能记住曾经和用户交互过的内容,并影响后续的交互”。

多轮对话与多模态


过去几年,智能助手的发展有两大趋势:一是从单轮对话到多轮对话,二是从单模态到多模态。这两大趋势,标志着智能助手的巨大进步,并对 AI 算法有着完全不同的要求。


从单轮对话到多轮对话,意味着人机交互向前迈出一大步,但是复杂度也大大提升。在单轮对话中,每一轮对话拿到的信息比较完整,无论是识别用户意图,还是提取 Query 中的关键信息,比如人名、地名、歌名等,都能从源数据中获得。多轮对话则有所不同,这种对话方式中,用户不可避免地会对前面的对话进行省略、指代,此时理解用户当前这句话,要结合历史交互的信息,这时处理起来就相对比较复杂。


另外,在对话管理上,多轮对话也带来很大挑战。杨振宇指出,单轮对话一般不涉及特别复杂的策略,可能会有技能间的跳转,但也不会特别复杂。但是,多轮对话,要根据用户交互过程来处理这个流程,让它显得更自然、更流畅,难度很高。


此外,在多轮对话场景中,经常遇到用户不按套路出牌的情况。此时,如何应对变得非常重要,需要有一些灵活的过渡方案。



在多模态方向,复杂性同样是个巨大挑战。在输入上,单模是基于语音来理解用户诉求,一般流程是把语音转换成文本,再理解文本,从字面上分析用户意图。


升级多模态后,其信息量明显增大,既有语音,也有用户表情、肢体语言等,输入信息大大丰富。杨振宇指出,理论上,智能助手对用户意图的理解应该更准确。输出方面也类似,既可以用声音呈现,也可以用视觉形象展现。


这样,输入输出都会变得更复杂。一方面,其算法模型本身的容量要更大,以支撑更强的建模拟合能力需求,另外也需要更综合和更大量的优质数据支撑。不像单模态,通过少量数据样本就能获得相对可控的基于文本理解的信号。


现在,多模态对数据的要求也更高。并且,模型复杂度提升后,它在算力上的要求也会更高。甚至,它对端侧算力的要求也更高,比如多模态下,每个用户与智能助手交互时,可能会处在不同的阶段,很难低成本地做到全部通过云端渲染再推到端上,无论是交互的及时性,还是对网络流量带宽的要求,都不太现实。有些渲染的实现可能还依赖端侧算力的支撑,“对应的,也需要我们一些算法模型要有端侧适配的能力”。

创新、佳绩与隐私


通过三年的研究与沉淀,小布助手在对话交互的 AI 算法方面形成自己的创新。


据杨振宇介绍,小布助手起步相对较晚。与行业里的老大哥相比,典型的区别是“早期智能助手可以看成是搜索技术的延续和积累,其技术架构多少有搜索技术的影子。这时,它不可避免地会受到历史包袱的影响。而小布助手不同,在开始投入时,深度学习技术已经相对比较成熟,使得他们有机会来构建强深度学习驱动的对话系统。它不仅没有之前的历史包袱,而且其效果的天花板理论上更高。”


没有历史的包袱,让小布助手在 AI 算法上可以快速前进,采用成熟技术,试点前沿技术,这样迭代更快,效果更好。


此外,他们考虑到对话系统的一个典型特征是较难获得用户的反馈。


他说:“智能助手与用户交互,无论用户满意还是不满意,他一般都是用完即走,不会给你直接的反馈。它不像搜索推荐,通过点击、时长等行为数据获得直接反馈,再促进算法模型改进。为了应对这个问题,我们构建了一个自学习系统,通过它获得信号,促进算法更高速、更有效的迭代,让智能助手的效果越来越好。”



那么,小布助手的能力在行业处于何种水平?2020 年 12 月,小布助手的语义理解模型在行业最权威的中文语言理解测评基准(CLUE)总排行榜上位列前五,该语义由分类、文本相似度、阅读理解、上下文推理等多类共 10 个子任务组成。小布助手在文本相似度、上下文推理、成语阅读理解三个子任务上获得最高分,进入行业第一梯队。


三年,从 0 开始,水平做到行业前列,实属不易。针对这个成绩,杨振宇觉得“并不算特别突出”,参与这个排行榜主要是“想验证我们的技术水平和行业的差距怎么样”。他认为,应该保持持续快速的学习和进步。


据他透露,过去一年多,他们做了几件事,让小布助手效果得到较大提升。一是利用小布助手积累的海量用户数据,获得口语化的语言数据,促进算法模型对智能助手场景的语言有更好的理解。其次,团队保持着开放的成长型的心态,及时跟进学术界和工业界的最新进展,并加以实践,“结合我们自己的业务场景做适配和改进”。此外,小布助手与外部组织机构建立了广泛连接,比如清华大学、北京智源人工智能研究院等,让团队有更多的外部输入。最后,坚定地在最新预训练模型方向进行投入,完成了基础语料数据和算法的积累,并在实际场景中探索落地应用。


在采访中,杨振宇也谈到 OPPO 对用户隐私的敬畏。他说:“对 OPPO 来说,我们的要求非常高,一方面用户隐私安全是一个优先级非常高的红线,另一方面也是团队发自内心的对用户隐私的尊重。”具体而言,小布助手会从几个方面保护用户隐私安全。


第一,明显详细的用户隐私安全告知,只有用户确认后,才能使用智能助手与用户交互过程中产生的数据。


第二,对云端存储的数据进行严格脱敏。比如无法长期存储用户的语音数据,虽然这可能会给算法优化升级带来困难。实际工作中,他们会利用如数据增强的方式,用假数据拟合真实数据保证算法模型训练时不太受影响。


第三,针对必须要用到用户数据的场景,他们会限定采用一些端侧方案,确保用户隐私数据不会被上传和泄漏。

未来:持续探索,让智能助手更人性化


提到未来,杨振宇认为高智能的助手一定要懂情感,其交互过程能融合情感。通过情感,可以产生更好的信任度,让用户和助手间的黏性更高,让交互从低阶走向高阶。在这方面,他认为小布助手还需继续努力。


“从用户的行为和表达中分析其情感倾向,在交互中附加一些情感等,这些工作虽已落地,但远未达到水乳交融的状态。我们希望未来在情感方面做得更系统化、更有表现力”。


其次,在记忆方面有更深的建设与探索。在他看来,记忆是非常重要的一个体现人性化的智能维度,“虽然我们有一些探索,但还有很大的发挥空间。希望通过记忆技能,让用户与助手交互时有亲切感。它是专门为我服务,了解我的喜好和习惯,对用户有‘润物细无声’的影响”。


此外,在多模态方向,他们也会持续探索,通过更拟人化的形象,让助手与用户间的交互更有趣,更有表现力。同时提供一些个性化能力,让用户可以构建自己喜欢的智能助手形象。

2022-03-04 14:425989
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 359.4 次阅读, 收获喜欢 1801 次。

关注

评论 1 条评论

发布
用户头像
非常难用
2022-03-07 07:35
回复
没有更多了
发现更多内容

30个类手写Spring核心原理之自定义ORM(下)(7)

Tom弹架构

Java spring 源码

用EasyRecovery恢复手残误删的文件

淋雨

EasyRecovery

接口文档自动更改?百度程序员开发效率MAX的秘诀

百度Geek说

百度 前端 工具 后端 软件开发

实现一键部署与高效集群管理,SphereEx-Boot 正式上线

SphereEx

开源 开源社区 SphereEx ShadingSphere 一键安装

使用Docker Configs存储配置信息

yombo

Docker Docker Swarm

模块八作业

panxiaochun

架构实战营

整理了一些JPA常用注解

yombo

Java Spring JPA

2022 年你必须知道的 Serverless 云产品

开源之巅

Serverless 云开发

腾讯云容器安全获得云安全守卫者计划优秀案例

腾讯安全云鼎实验室

容器安全

Apsara Stack 技术百科|标准化的云时代:一云多芯

云计算 芯片 科技 混合云

How old are you | 尚硅谷大数据之Canal视频教程

编程江湖

大数据 canal

一文带你了解数据库安全基础

坚果

数据库 28天写作 12月日更

用300行代码手写1个Spring框架,麻雀虽小五脏俱全

Tom弹架构

Java spring 源码

基于Gradle的Spring源码下载及构建技巧

Tom弹架构

Java spring 源码

爆肝30天,肝出来史上最透彻Spring原理和27道高频面试题总结

Tom弹架构

Java spring 源码

Spring框架基础知识(03)

海拥(haiyong.site)

28天写作 12月日更

助车企升级,旺链科技与南方电网、联想等名企同斩获「创新案例奖」

旺链科技

区块链 产业区块链 供应链金融

seata分布式事务AT模式介绍(二)

恒生LIGHT云社区

分布式 分布式事务 seata

基于DataX的数据同步(下)-应用DataX进行数据同步

恒生LIGHT云社区

数据库 数据同步 DataX

揭秘字节跳动基于Hudi的实时数据湖平台

字节跳动数据平台

大数据 实时数据湖

人工智能(NLP)|社交网络中的网络表示学习技术研究

索信达控股

人工智能 算法 网络结构

网易有道项目实践技术分享合集

有道技术团队

技术分享 网易有道 技术专题合集

架构训练营 - 模块三作业

伊静西蒙

Dubbo 框架学习笔记十七

风翱

dubbo 12月日更

一次完整的渗透测试&仅供学习研究

H

黑客 网络安全 渗透测试·

社区原生的 Go Agent 即将开源

火线安全

DevSecOps IAST

三位一体,网易智企的融合与进击

ToB行业头条

域名基本信息查询小技巧

喀拉峻

网络安全 安全 信息安全

恒源云(GPUSHARE)_云GPU服务器如何使用SpaCy?

恒源云

gpu 服务器 自然语言

千万级日志回放引擎设计稿

FunTester

性能测试 测试框架 FunTester 流量回放 GOREPLAY

谈谈Golang的同步等待组

恒生LIGHT云社区

golang Go 语言

3年做到业界领先,OPPO小布助手靠什么实现跨越?_AI&大模型_万佳_InfoQ精选文章