阿里云智能语音交互技术实践干货分享

简介: 阿里云技术总监/研发总监陈一宁博士通过直播分享了《阿里云智能语音交互技术实践》。他首先介绍了智能语音面临的技术挑战,然后对智能语音技术做了详细介绍。其中,他主要分享了阿里云使用的BLSTM & LFR声学模型的优化过程,并对基于深度学习的自然语言理解的不同场景进行了详细分享。

阿里云技术总监/研发总监陈一宁博士通过直播分享了《阿里云智能语音交互技术实践》。他首先介绍了智能语音面临的技术挑战,然后对智能语音技术做了详细介绍。其中,他主要分享了阿里云使用的BLSTM & LFR声学模型的优化过程,并对基于深度学习的自然语言理解的不同场景进行了详细分享。

 

以下内容根据直播视频整理而成。

 

阿里云智能语音概述

阿里云智能语音交互=语音+自然语言处理,语音包括语音识别、语音合成、声纹等,自然语言处理包括自然语言理解、对话系统、问答系统等。阿里云智能语音团队不是一个简单的算法团队,其把算法包装成引擎提供服务,在引擎之上有离线的pipeline与在线服务,在此之上包装成各种各样的产品对终端客户提供服务。阿里云主要是以to B为主的企业,会做很多to B对应的工作。

智能语音技术挑战

在阿里集团内部,优势是大量的数据,强大的计算能力,优秀的人才队伍;挑战是大量的业务,受限的人力。在公共云服务上遇到的挑战是个性化的需求和公共云服务之间的矛盾。

c6ef979bc339052dcf79d76a70628e653ea308e5

上图列举了一些阿里云语音能力支撑内部客户需求的一些场景,包括了客服类的产品等。

阿里集团内部技术的挑战

首先,大量的、多种多样的业务,要求阿里云平台化发展,Scale永远是一个问题,体现在采样率包括8K、16K,录音设备包括电话、手机、演讲、车载、智能设备,场景上包括天猫魔盒、手机淘宝、蚂蚁电话客服。在这种情况下,在阿里云内部形成了天生的ISV模式,即提供基础的能力赋能给业务合作伙伴,和业务团队共同成长。

90af00614cc62750d3054de19e1943222a2d9d23

阿里云不会直接面对终端客户,一般都是通过合作伙伴对外提供服务,合作伙伴会对产品做进一步的包装,封装成对应的自己的产品,满足客户的需求。这样,阿里云就可以用一个核心的引擎服务各种各样的用户。

73ac365e27c6ccb1bc57cd010b77ced8ce6f5d3e

对于自然语言处理,必须要对语音做深入的理解。上图中横向是各种领域,纵向上各种不同的业务也会对自然语言理解有不同的要求。比如在车载环境就必须解决离线的问题。

de24bc2115de4926a067cead03321b17c0663adf

NUI平台架构如上图所示,最右端是Speech Services,总的来看是一个基础的架构。最上方是一些SDK等端上的服务,通过这些服务就可以服务不同的场景。

阿里云智能语音技术详解

语音识别

模型训练的Infrastructure

161527d30d5d4b3f2a83465ae6139ed7f45db15c

上图展示了GPU多机多卡训练架构,GPU多机多卡架构在深度学习中非常常见。阿里云将GPU多机多卡抽象了一层中间件,通过这个中间件把开源工具文件的读写、通讯之类的接口改写掉。最下方是一些基础设施,MaxCompute进行计算(CPU、GPU统一进行管理),在通信方面以太网和Infiniband均使用,数据可以存储在OSS或者MaxCompute上。

GPU Middleware功能特点包括:提供了API接口使得我们可以通过对训练工具的简单修改实现并行训练;具有灵活性,自主管理任务队列、数据分发、通信、同步等;Master-slave模式, 支持MA / SGD / ASGD等;不同GPU间通过API直接快速通信。

e064ca5c9e9f15db704cd3d2056c365d15ea7885

硬件图是如上图所示,右边是GPU集群,集群之间通过Infiniband进行连接。集群和左边存储节点之间由超级交换机来连接。在实际的操作过程中,GPU集群的存储能力比较差,整体的做法是:当需要数据的时候,就从存储节点拉下来使用,用完之后再删掉,通过不断的交换来保证不会等待。

2223d2439105d8ade9e657ee895e265c73552d30

举个例子,比如使用Kaldi + GPU middleware,不管是8 GPUs还是16 GPUs,加速比和全量相比没有太大的差异。

BLSTM & LFR

a1453dd5a1de2e70ff128947e69ffad927989c75

从上图中可以看出,声学模型对于语音识别的准确率提高有至关重要的作用。不论是工业界还是学术界,在声学模型方面都做了大量的工作。近些年来,基于深度学习的声学模型主导了语音识别的进步。阿里云使用了双向的LSTM,2015年12月上线所有客服业务,全世界第一个产品落地;2016年3月阿里云年会实时字幕,是BLSTM全世界第一个实时业务落地。

afcbe4695391061f2f4209c240e3fd4925a5b149

LC-BLSTM,Latency control是要使双向的LSTM反向部分的时延变得可控。在操作过程中分为两段,中间表示实际运算的部分,蓝色部分是用来计算反向的BLSTM的信息,这样就不用需要看到整句的所有信息,可以通过BLSTM数据训练得到很好的近似。

837d9079811be6285880dc298bd8435439dce534

从上图中可以看出, WindowLength中的所有数据都用来计算,但是最终有效产出的是黄色部分WindowShift。

3d2c16c6174837e8d78d9385059686e21d618069

其实,蓝色的部分没有别的用处,只是帮助黄色部分最右边的节点初始化了其状态信息,对其传送的状态做了重新设定。所以,可以用一个更简单的模型来做(因为只需要做初始化)。即使用Full Connect网络+非线性函数做模型,对这个网络进行初始化,由于是多层的LSTM,所以上方需要做近似,在原先的网络基础上再加一层,或者跳过刚才的网络直接从底层预测上去。

36e6e1ba8618814c67e88d6396d87e5c526cb4c5

更进一步,反向的LSTM直接使用RNN,简单的RNN可以使运算量有很好的提升。优点是只在WindowLength内部使用RNN,即使出现问题也不会传播很远,对梯度等进行控制可以有效避免出现问题。

0f3684ad8f46cb3d5fff19c6abb600343f1095df

上图回顾了语音识别解码的过程,有一个传统观点:短时平稳信号做短时傅里叶变换,帧移是10ms,帧长是20ms或者25ms,这是一个标准的模式。

c107edad944d7250eb9dbc0ec4b35623c90adf02

新的思路是,每3帧抽取一次特征做语音识别,立竿见影的好处是运算量变为原来的三分之一。但是,测试结果表明,错误率发生了明显的提升。出现这种情况的原因是,中间两帧的信号完全没有使用,对于语音的完整性有损伤,特征不足不能得到一个很好的识别率。

8b7ad6561639de6cfcf9e49896d74ad855b58677

第一种优化是将帧加长,如上图所示做了一个SuperFrame。超长帧可以描述更多的语音信息,这样就可以得到一个比较好的识别效果。

4d36ee6986b93a42412e65bdcaeb9653fc4cb3cd

传统的一个Phone、三个State是一个经典的做法,可能分到一个State上的帧会很少。因此对应的想法是, 将一个Phone用一个State来表示, 或者去掉State信号直接用Phone, 结果是错误率有进一步的减小。

7a91b9ca2ad7c75ef60aa5bba0fa8891d4ad3edc

在此基础上,发现30ms太容易跨越一个因素的边界了,对多目标进行优化,识别率和原先方法区别不大,而且速度提升了三倍。

0f28f5c301bbcf55902ca1c3a66f8fbc9f706371

其实可以上来直接做SuperFrame,直接走训练过程,把三个状态直接变成一个状态,可以避免中间做一层一层变化带来的潜在的各种问题。得到最终的End-to-end效果计算量为BaseLine的三分之一,错误率比BaseLine更好。

模型的鲁棒性与个性化

提高模型鲁棒性的方法是训练更多的数据,具体过程包括:数据筛选(删去重复的、没有必要的数据)、+加性噪声、+乘性噪声(模拟不同场景信道情况)、+快语速数据、进行模型训练测试和与结果分析。

5a7583ef2d6ca3a3f5711358dd7b4bd5c336e657

即使完成上述操作,模型已经相当鲁棒了,但是在真实的情况下,每个租户都有自己的需求,而且是五花八门的。所以,在基础模型会摞上领域模型,在其上摞上租户模型,在其上摞上用户模型。

自然语言处理

46be3450b4c001bb202aa57b3780cf8a94e536cc

上图是人机交互的经典图,首先进行语音识别,然后自然语言理解,接着对话管理,最后进行服务。最终的结果分为两种情况:面向Task的对话,用户主动,聊天,机器主动。阿里更多是面向Task的对话,这与其To B的业务模式有关。面向Task意味着有多个领域、多个场景。如何做呢?答案是做云+端有机协同的NUI平台(前文已提到,这里不再赘述)。

d8a76bb559128baac271cc296bd9aaff21c94969

这个平台里比较核心的内容是Open Dialogue。里面有两个重要的部分:JSGF(理解),对话部分(执行对话)。当一个文本进来之后,需要理解其属于哪一个Intention,从Intention中将内容抽出来,根据内容做各种各样的操作,然后拿外部数据、JS脚本来执行。Open Dialogue的核心能力包括:语言理解能力,基于语法脚本和深度学习模型的语言理解,内置时间/地点/数量词组件公共属性的抽取组件,内置确认/取消/下一页等公共意图的处理组件;对话能力,用脚本驱动对话逻辑,支持自定义打断和恢复机制;平台能力,提供运行脚本的引擎和服务,统一部署和监控,日志采集和数据回流。

6a00d26b26ca6083616fe10725b38b0b7693b6a3

上图是一个很常见的面向任务的自然语言理解任务。我们首先需要进行分类其属于的领域(飞机票领域),Intend是搜索机票,抽取里面的属性(包括时间、目的地、航空公司选择)。实际应用中碰到的问题比较多:多样性的挑战、鲁棒性的挑战、歧义性。

基于深度学习的自然语言理解

b3a98d42bb81d3149dba056009426941df26c629

在已知的领域上基本都采用深度学习的方式来做自然语言理解。在意图判定上基本都是采用CNN的方式来判定,在属性抽取上基本采用BLSTM的方式。

对话引擎

d10c75a9f7451a74a0fe72fc742f3b92657ed829

理解只是对话的第一步,在此基础上会做很多对话的管理。对话的管理可以通过云端生成、调一个服务、让客户端做执行的工作。在整个对话的脚本语言里面,阿里云想解决的一个问题是任务之间切换的问题,即做任务边界的划分。基于Task Flow的对话脚本语言描述了任务的起始、中间步骤、扭转和结束,可以指导上述工作。

d457549a5b04774bc3df810c14ab2b5ce3767a6c

上图是一个典型案例,其中涉及到了属性的Carry-over,当搜索火车票的时候选择目的地、车次、时刻、购买,是一个正常的流程。中间过程中可能突然关心到天气状况。其实,问到目的地的时候,这些信息已经有了,就可以直接带入后一个问题中获得目的地的天气状况。此外,对于任务的打断和返回,我们希望的是之前问过的信息仍然存在。

问答引擎

f716406e760bc659a7e1a02008db24d44e10b3d3

在问答领域,单轮问答是最常见的场景,其关键点在于Q-Q的相似性计算。当一个Question进来之后,我们在库里面找到一个相似的问题,将其返回去作为有效的结果。其中,CNN、BLSTM方法都会用到。右图的流程图是一个比较古老的方式,实际使用的过程中发现上述流程并不是非常有效的。因为真实用户如果是一个自由提问的场景,那么Query一般比较长,很难通过抽取关键词进行匹配,使得识别效果差很多,所以现在一般是直接在库里面做相似度计算。多轮问答也是比较典型的场景,比如退货的场景,同样可以通过Open Dialog的方式完成任务。用户可以指定自己的客服领域。

聊天引擎

阿里云也做了聊天引擎,其是基于<k,v>对的聊天引擎,具备让用户定制的能力,并且是基于深度学习模型的seq2seq聊天引擎,解决的问题包括:非任务性(如chat)的query占比60%左右;基于key-value的聊天模块无法对用户的任意chat输入都能够给出回复。

NUI平台定制能力

总结来说,NUI的定制能力包括:业务领域的语言理解Grammar、业务领域的对话过程、真实情况下可以做卡片和文本展示方式、问答系统。

智能语音技术未来展望/应用

在技术方面,首先是越来越大的建模单元,然后是更加深度的网络,最后是泛化能力更好的自然语言理解(从举一反三变成举一反十)。在应用方面,主要有两大场景:人机交互、数据价值挖掘。
相关实践学习
一键创建和部署高分电影推荐语音技能
本场景使用天猫精灵技能应用平台提供的技能模板,在2-5分钟内,创建一个好玩的高分电影推荐技能,使用模板后无须代码开发,系统自动配置意图、实体等,新手0基础也可体验创建技能的乐趣。
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
2天前
|
关系型数据库 分布式数据库 数据库
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
近日,阿里云旗下的自研云原生数据库PolarDB在2024年中国数据库流行度排行榜中夺冠,并刷新了榜单总分纪录,这一成就引起了技术圈的广泛关注。这一成就源于PolarDB在数据库技术上的突破与创新,以及对开发者和用户的实际需求的深入了解体会。那么本文就来分享一下关于数据库流行度排行榜的影响力以及对数据库选型的影响,讨论PolarDB登顶的关键因素,以及PolarDB“三层分离”新版本对开发者使用数据库的影响。
18 3
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
|
5天前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
26天前
|
大数据 数据中心 云计算
连续4年 阿里云液冷技术论文入选DesignCon 2024和ECTC 2024
连续4年 阿里云液冷技术论文入选DesignCon 2024和ECTC 2024
|
27天前
|
人工智能 运维 Cloud Native
阿里云祝顺民:云网络领域关键技术创新
2023年10月31日,云栖大会,阿里云技术主论坛带来了一场关于阿里云主力产品与技术创新的深度解读,阿里云网络产品线负责人祝顺民带来《云智创新,网络随行》的主题发言,针对阿里云飞天洛神云网络(下文简称洛神网络)领域产品服务创新以及背后的技术积累进行了深度解读,不少背后的创新技术系首次重磅披露。
180 2
|
4天前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
211 0
|
12天前
|
人工智能 监控 Cloud Native
阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态
阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态
|
2月前
|
云安全 弹性计算 Linux
无需懂技术,阿里云上3分钟幻兽帕鲁服务器搭建教程
幻兽帕鲁最近非常火。有些小伙伴可能不喜欢跟陌生人一起玩,那么你可以搭建一个专有服务器和朋友一起联机游戏。自己搭建服务器不仅更私密,还能自定义游戏里的一些选项,比如调整工作速度倍率、经验获取倍率等。这篇教程将引导你在3分钟左右快速完成幻兽帕鲁服务器的搭建。
|
1天前
|
弹性计算 NoSQL 关系型数据库
2024年将是最艰难的一年?不怕,阿里云带头降价,与百万客户共享技术红利!
2024年将是最艰难的一年?不怕,阿里云带头降价,与百万客户共享技术红利!
|
1天前
|
弹性计算 NoSQL 关系型数据库
阿里云降价:与百万全球客户共享阿里云15年技术突破与规模积累
阿里云降价:与百万全球客户共享阿里云15年技术突破与规模积累
|
1天前
|
弹性计算 NoSQL 关系型数据库
阿里云大降价,规模效应释放技术红利,这波福利你接不接?
阿里云大降价,规模效应释放技术红利,这波福利你接不接?百款产品直降,平均降幅20%,阿里云希望通过此次大规模降价,让更多企业和开发者用上先进的公共云服务,加速云计算在中国各行各业的普及和发展。这次降价包括云服务器ECS、对象存储OSS、云数据库都降价了,真降价,直降价:百款产品直降,平均降幅20%,阿里云百科分享阿里云2024年降价信息汇总表

热门文章

最新文章

相关产品