双十一蚂蚁金服自助服务量超 500 万,语音转文本服务成关键

2024-05-31
来源:网络整理

双11当天,蚂蚁金服客服中心总服务量超过500万,其中94%以上是通过人工智能技术驱动的自助服务解决的。而在整个自助服务中,很重要的一个部分就是呼叫中心的语音转文字服务,也就是典型的电话语音识别问题。

电话语音识别是当今语音识别领域最复杂、最困难的问题之一,说话者的自然随意风格、口音、影响(重复、修改自己的用词)、复杂多样的传输渠道等各种不利因素都集中在这一场景中。随着深度学习等技术的发展,电话语音识别的准确率如今已经达到了不错的水平,这在几年前是不可想象的。

我们采用了基于LC--DNN的语音识别声学模型。为了测试这个模型的效果,我们特意邀请了一位技术过硬、普通话流利的学生拨打支付宝客服热线,体验了阿里巴巴最近升级上线的iDST最新语音识别技术。效果非常惊艳。据我们所知,这也是这个模型结构在语音识别领域的首次工业应用。本文将介绍这个声学模型的背景以及我们具体的实现工作。

传统上,语音识别声学模型一般采用GMM-HMM建模。近年来,随着深度学习技术的发展,基于DNN-HMM的建模方法取得了长足的进步,与传统方法相比,语音识别准确率可相对提高20%-30%,已取代前者成为学术界和工业界的主流配置。DNN的优势在于通过增加神经网络的层数和节点数,扩大了网络对于复杂数据的抽象和建模能力,但同时DNN也存在一些不足,例如DNN一般采用拼接帧的方式考虑上下文相关信息对当前语音帧的影响,并不是体现语音序列间相关性的最佳方式。自回归神经网络(RNN)在一定程度上解决了这一问题,它通过网络节点的自连接,达到了利用序列数据间相关性的目的。 进一步,有研究者提出了长短期记忆网络(LSTM-RNN),可以有效缓解单纯 RNN 容易出现的梯度爆炸和梯度消散问题。之后研究者对 LSTM 进行了扩展,采用双向长短期记忆网络(-RNN)进行声学模型建模,充分考虑上下文信息的影响。

它可以有效提升语音识别的准确率,相比DNN模型,相对性能提升可达15%-20%。不过,也存在两个非常重要的问题:

1. 模型在句子级别更新时收敛较慢,另外由于逐帧计算量较大,无法有效利用GPU等并行计算工具的算力,训练非常耗时。

2、由于需要用整句话来递归计算每帧的后验概率,导致解码时延和实时率得不到有效保证,难以应用于实际业务。

针对这两个问题,文献[1]首先提出了(CSC-)的方法来解决,随后文献[2]提出了改进版本(LC-),更好更高效的缓解了这两个问题。在此基础上,我们利用LC-DNN混合结构结合多机多卡、量化等训练优化手段对声学模型进行建模,取得了相对DNN模型约17-24%的识别错误率降低。目前该模型已在电话语音识别中率先应用,并将在我们支持的其他语音识别服务中陆续上线。

什么是” ”

典型的LSTM节点结构如下图所示,不同于一般DNN或者RNN所采用的简单激活函数节点,LSTM由三个门组成:门、门、门和单元。输入输出节点与单元以及各个门之间均有连接;门与门之间、门与单元之间也有连接,单元内部也有自连接。这样通过控制不同门的状态,可以实现更好的长期和短期信息保存以及误差传播。

LSTM 可以像 DNN 一样逐层堆叠成为 Deep LSTM。为了更好地利用上下文信息,Deep LSTM 也可以通过逐层堆叠的方式构建,其结构如下图所示。网络中沿时间轴有两个信息传递过程,正向和反向。每个时间帧的计算依赖于所有之前时间帧和所有之后时间帧的计算结果。对于语音信号这样的时间序列,该模型充分考虑了上下文对当前语音帧的影响,可以大大提高音素状态的分类准确率。

但是由于标准是对整句语音数据进行建模,训练和解码过程存在收敛慢、延迟高、实时性不高的问题。针对这些弊端,我们采用了一种解决方案。不同于标准方法使用整句语音进行训练和解码,我们使用了类似BPTT的更新方式,在cell中间状态处理和数据使用上都有自己的特点。如下图所示,训练时每次更新都使用一小段数据,该数据由中心和右侧加法组成,右侧加法只用于cell中间状态的计算,误差只在中心传播。对于在时间轴上向前移动的网络,以中心处上一个数据段末尾的cell中间状态作为下一个数据段的初始状态。对于在时间轴上向后移动的网络,在每个数据段开始时将cell中间状态设置为0。这种方法可以大大加快网络的收敛速度,有助于获得更好的性能。 解码阶段的数据处理和训练基本一致,不同之处在于中心和右侧加法的维度可以根据需要进行调整,并不一定要使用和训练相同的配置。

基于LC-DNN混合模型结构的声学模型

基于DNN的语音识别声学模型的大致结构如下图所示。DNN的输入一般采用传统频谱特征及其改进特征(如MFCC、PLP等)拼接得到,拼接长度一般选取在9-15帧之间,时间在10ms左右。输出一般采用各种粒度的音素声学单元,包括单音素音素()、单音素音素状态、三音素音素()绑定状态。输出层标注一般采用GMM-HMM基线体系进行强对齐(-)得到。

和DNN类似,我们可以通过堆叠LC-得到Deep LC-,但单纯使用多层LC-构建声学模型,不仅在计算复杂度方面会带来很大压力,更重要的是无法达到最好的识别性能。经过多组实验尝试,我们决定采用LC-DNN混合模型结构。输入的语音特征先经过3层1000个节点的LC-变换(正向+反向),再经过2层DNN全连接和2048个节点的层得到输出,如下图所示。识别结果与最好的DNN 对比如下表所示。网络规模和参数配置还在不断优化中。

核算减值%

产品线A

产品线B

产品线C

深度神经网络

15.4

11.1

12.4

深度神经网络

12.7(17.5%)

人工客服支付宝_支付宝人工客服号码多少_支付宝人工客服

8.51(23.4%)

9.4(24.2%)

多机多卡实现大数据下的模型训练

我们采用团队成员研发的多机多卡训练工具来训练LC--DNN声学模型,在使用6机12卡,训练数据集大小为2100小时时,加速效果如下表所示:

处理一个所需时间(小时)

单机单卡()

65.6

6台机器和12张牌()

6.5(x10.1)

可以看到6机12卡的加速比大概在10.1倍左右,而且一般在5-6次迭代后收敛,也就是一天半内就可以完成模型训练。可以预计,即使未来训练数据达到1万小时,一周内也可以完成模型训练。如果进一步增加机器数和卡数,加速比还会进一步提升。可以说,LC--DNN训练耗时问题已经被这款多机多卡训练工具很好的解决了。

解码延迟及实时率优化

由于DNN需要用到拼接技术,解码时延一般在5-10帧左右,约50-150帧。标准要求整句话的延迟,而在LC--DNN中,由于使用了数据计算技术,解码时延可以控制在20帧左右,约150-250帧。对于对时延要求更严格的在线服务任务,可以将时延控制在识别性能损失较小(绝对值约0.2%-0.3%)的前提下,完全可以满足各类任务的需求。

在解码实时率方面,虽然我们设计的LC--DNN模型结构相比普通的Deep已经降低了很多计算复杂度,但是未经任何优化的LC--DNN依然不能满足需求。为此我们尝试从两个方面解决这个问题,一方面通过很多工程化技术进行优化,包括使用量化技术处理特征数据和网络权重,在不损失识别性能的情况下大大提升了计算效率,还利用了lazy技术对最后一层的计算进行了优化,进一步提升了实时率,现有模型在普通笔记本电脑上可以达到1.1倍左右的实时率。另一方面,我们从模型结构和算法层面入手,尝试利用跳帧、层、SVD分解、模型分辨率调整等技术加速模型的计算,初步取得了不错的效果。目前还有很多工作在进行中。

技术讨论与展望

近一两年语音识别技术在原有的DNN技术基础上取得了可喜的进展。例如CTC技术,普遍认为CTC与LSTM的结合可以帮助模型学习到后续信息,达到与LSTM相当的识别效果。但是由于后续信息已经可以学习,因此CTC与LSTM的结合已经不能带来明显的性能提升。LSTM+CTC在计算复杂度和解码速度上有一定的优势,但是很多研究者也发现LSTM+CTC模型存在音素时间边界估计不准的问题,这对于一些需要准确估计音素边界的任务,比如语音数据脱敏,是一个很大的问题。还有一些技术如-模型,在研究中也取得了不错的进展。相信未来会有更多优秀的模型结构和算法不断提高语音识别的准确率,智能语音交互也会在此基础上不断进步。

参考

[1]陈凯,闫志军,霍倩.基于BPTT的深度LSTM/CNN研究[C].2015年13期(8):134-136.IEEE,2015:411-415.

[2] Yu,Chen,Dong Yu,Yao,,长期RNN。

下载

1、【华创证券】机械设备:机器人是大趋势

2.【东吴证券】大国崛起:中国智能制造值得中长期投资

3. 【广发证券】清洁机器人:曾是权贵殿堂里的必需品,如今已进入寻常百姓家

4.【民生证券】人工智能+适用应用场景

5.【图书推荐】

如何下载?

分享