程序员

【技术揭秘】高性能粤语语音识别模型构建方案

作者:admin 2021-07-09 我要评论

来源 阿里语音AI 公众号 随着人工智能技术的飞速发展,语音识别(Automatic SpeechRecognition)的应用越来越广泛,对于多语种多口音语音识别的需求也在日渐增加...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
来源 阿里语音AI 公众号

随着人工智能技术的飞速发展,语音识别(Automatic SpeechRecognition)的应用越来越广泛,对于多语种多口音语音识别的需求也在日渐增加。虽然语音识别系统的基本原理和框架是不受限于语种的,在建立一个新语种的ASR模型时,还是需要结合到语言本身的特点,才能得到较好的效果。

粤语流通于广东、广西、香港、澳门及海外华人社区,全球有近1.2亿人口使用粤语。在香港和澳门,大多数人口使用粤语为母语,具有官方语言的地位。粤语的代表音约定俗成以广州粤语口音为标准。香港和澳门粤语跟广州粤语在口音并无明显分别,但是因香港和澳门在不同社会体制下的影响,以致一些用词有所不同。而广州以外的其他广东及广西地区的粤语与广州粤语在口音上则存在着不同程度的差异。本文主要介绍阿里巴巴粤语语音识别引擎的开发过程中的一些体会。

声学模型方面,粤语识别引擎是基于阿里巴巴自研的DFSMN-CTC建模方法。CTC(Connectionist Temporal Classification) 是目前建立端到端系统最常用的方法。CTC提出一个基于序列的建模方法,利用一个循环网络来表示不同长度的输入序列跟输出序列之间的映射关系。而语音识别的目标是把语音特征和输出的文本序列之间的对应关系进行建模,因而CTC准则对于语音识别的场景特别适用。FSMN(Feedforward Sequential Memory Networks)提出在传统的全连接神经网络中添加可学习的记忆模块(memory block),用来在层之间来传递上下文相关的信息。而DFSMN(Deep FSMN)是一种改进的FSMN结构,主要解决在训练深层网络时容易发生的梯度消失问题:通过在记忆模块之间添加跳转连接(skip connection),从而使得低层记忆模块的输出会被直接累加到高层记忆模块里。

粤语和普通话同属于汉语系,在基本语法和发音单元上有一些共同点。因此我们在建立粤语ASR的时候,是基于已有的普通话模型,通过迁移学习(Transfer Learning)的方法来得到的。迁移学习是属于机器学习的一个方法,主要的启发来自人类的知识获取过程。人类在学习新知识的时侯,是一个循序渐进的积累过程:从已掌握的知识通过推理和抽象,结合新的样本掌控新的知识。简单来说,迁移学习的具体方法是把训练好的模型参数迁移到新的领域,以帮助新领域模型训练。迁移学习的方法被证明对数据量缺乏的场景有明显帮助,例如在多语言ASR和低资源语种ASR的建设。由于深层神经网络的特点是从低级到高级逐步表示语言信息,较低层的网络表征的是低级的语言相关特征,如基础发音单元等,所以训练好的普通话模型已经包含了汉语言相关的基础声学信息。图1给出了我们建立粤语声学模型的示意图。在训练粤语模型时,首先去除普通话模型的softmax输出层,仅保留普通话模型的低层网络,然后利用这个网络作为初始模型来进行粤语模型训练和迭代。这种方法的好处是我们可以用相对较少量的粤语标注数据得到较好的模型效果。

尽管粤语和跟普通话作为同语系有一些共性,可是粤语作为一个有悠久历史,且在多个地区使用的方言有其自身的特点:1)各地区的用词和发音方式存在着不同程度的差异。例如,在广东会更多使用‘上课’,而香港会更多使用‘上堂’。另外,香港不少人的粤语不区分/n/声母与/l/声母,不过这两个声母在广东某些地区的粤语中可以清晰地区分。2)符合粤语语法,词汇的粤语白话文文本的获取困难。粤语使用者在正式场合里普遍使用普通话书写系统,因此其语法,词汇与标准汉语或普通话相符,但是与粤语白话文的词汇和语法差异很大。3)粤语白话文缺乏官方标准,书写比较混乱。在非正式场合如网上讨论区,人们书写粤语白话文时,用字一般依从民间约定俗成的惯例,错别字、以借音字书写粤语的情况时常出现,还有一些字词存在不同书写方法。

image.png

针对上述列举出的粤语的特点,为了尽可能的覆盖粤语本身的多样性,在数据采集方面,我们有目标的采集和抓取在口音和用字等方面有代表性地区的数据。在建模单元的选取方面,我们采用粤语单字为基本的建模单元。考虑到单字的使用频繁程度,同音不同字的情况,我们把粤语文本参考对应的粤拼 (JyutPing) 进行聚类,对于同音字统一选取出现率最高的单字来表示发音。对于多音字的情况,根据上下文决定发音。

如何获取大量的粤语白话文文本是建立粤语ASR模型的一个关键和难点。为了解决这个问题,我们利用少量平行文本,训练出一个普通话到粤语的机器翻译模型,利用该模型大规模生产出粤语白话文文本。例如:

image.png

为解决书写混乱的问题,我们在标注音频或处理文本时,对存在不同书写方法的字词采用“歧义最小”原则,从而达到容易转换以满足不同场景和应用的需要。

为了评估ASR模型的性能,我们收集了粤语电话信道,多个不同领域和场景上的对话类测试集。口音方面主要包括香港和广东口音,录音条件既包含每个说话人占用不同轨道的分轨录音,也包括多个说话人同轨的录音,内容则覆盖了电商,金融和政务等领域。

利用上述所说的DFSMN-CTC建模方法,配合迁移学习、也得益于DFSMN在深层模型训练上的优势,粤语识别系统在上述电话粤语测试集的识别效果上,得到了相对基础模型20%的相对提升。目前最新的粤语语音识别模型已经在公共云官网正式上线,欢迎前往体验。

智能语音产品官网链接:https://ai.aliyun.com/nls

image.png


本文转自网络,原文链接:https://developer.aliyun.com/article/785180

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 【技术揭秘】高性能粤语语音识别模型构

    【技术揭秘】高性能粤语语音识别模型构

  • 「阿里语音AI」十篇论文入选语音顶会IN

    「阿里语音AI」十篇论文入选语音顶会IN

  • 【技术揭秘】任务型语音对话中的纠错系

    【技术揭秘】任务型语音对话中的纠错系

  • “喊一嗓子”就能买票!北京机场地铁全

    “喊一嗓子”就能买票!北京机场地铁全

腾讯云代理商
海外云服务器