英特尔 OpenVINO™ 助力端到端语音识别模型 Conformer:中英文混合语音识别方案全面升级...

点击蓝字

关注我们,让开发变得更有趣

排版 | 李擎

英特尔OpenVINO™

助力端到端语音识别模型Conformer:

中英文混合语音识别方案全面升级

PaddleSpeech 又带着新功能和大家见面了。本次更新,为开发者们带来了基于端到端语音识别模型 Conformer 的中英文混合语音识别方案,通过命令行和Python可以快速体验,也可以根据 PaddleSpeech 模型训练方案定制与业务场景相关的语音识别模型。欢迎广大开发者基于英特尔OpenVINO™,体验 PaddleSpeech 的新特性。

本次 PaddleSpeech 发布的中英文语音识别预训练模型 Conformer_talcs 可以通过 PaddleSpeech 封装的命令行工具 CLI 或者 Python 接口快速使用,开发者们可以基于此搭建自己的智能语音应用,也可以参考示例训练自己的中英文语音识别模型。

  • 示例链接

https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/tal_cs/asr1

快速体验

  • 示例音频

https://paddlespeech.bj.bcebos.com/PaddleAudio/ch_zh_mix.wav

使用命令行工具CLI 快速体验语音识别效果,命令如下:

```bash
paddlespeech asr --model conformer_talcs --lang zh_en --codeswitch True --input ./ch_zh_mix.wav -v


# 终端输出:今天是monday 明天是tuesday
```

Python 接口快速体验,代码实现如下:

```python
>>> import paddle
>>> from paddlespeech.cli.asr import ASRExecutor
>>> asr_executor = ASRExecutor()
>>> text = asr_executor(
    model='conformer_talcs',
    lang='zh_en',
    sample_rate=16000,
    config=None,
    ckpt_path=None,
    audio_file='./ch_zh_mix.wav',
    codeswitch=True,
    force_yes=False,
    device=paddle.get_device())
>>> print('ASR Result: \n{}'.format(text))
ASR Result:
今天是 monday 明天是tuesday
```

1.中英文语音识别技术

1.1中英文语音识别难点

中英文语音识别相较于单语言的语音识别而言,主要难点如下:

1) 数据量少

中英混合数据相较于单语言的数据更少。目前开源的中文语音识别数据集如WenetSpeech(10000小时有监督,2500小时弱监督,10000小时无监督)、英文语音识别数据集Giga Speech(10000小时有监督,33000小时无监督)都达到了万小时级别,但是混合的开源中英文语音识别数据只有SEAME(120小时)和TAL_CSASR(587小时)两个开源数据,混合数据集比单语言数据集会更少。

2) 中英相似发音易混淆

中英文语音识别需要一个单一的模型来学习多种语音,相似但具有不同含义的发音通常会导致模型的复杂度和计算量增加,同时由于它需要区分处理不同语言的类似发音,因此在模型建模时就需要按照不同语言区分不同的建模单元。

1.2 PaddleSpeech 中英文语音识别方案

1.2.1模型选择与介绍

本方案使用了一种端到端语音识别模型Conformer U2模型,其采用了Joint CTC/Attention with Transformer or Conformer的结构。训练时使用CTC 和 Attention Loss 联合优化,并且通过dynamic chunk的训练技巧,使Shared Encoder能够处理任意大小的chunk(即任意长度的语音片段)。其还使用CTC-Prefix Beam Search和Attention Decoder的方式进行解码,得到最终结果,同时实现了流式和非流式的语音识别,支持控制推理延迟。

本次PaddleSpeech开源的预训练模型,是非流式的端到端识别Conformer U2模型,chunk中包含全部上下文信息,需要整句输入进行识别。如果你想训练流式中英文语音识别模型,也可以参考PaddleSpeech的Conformer U2/U2++模型流式语音识别的示例训练自己的流式中英文语音识别模型。

  • 示例链接

https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/wenetspeech/asr1 

c8006b5098769aba14d68e6c9cc1f6e1.png

Conformer U2 结构示意图[1]

1.2.2数据集介绍

本次使用了TAL_CSASR中英混合语音数据集。语音场景为语音授课音频,包括中英混合讲课的情况,总计587小时语音。

数据集下载地址:https://ai.100tal.com/dataset

6f599db4c60aa3784acd6dd35639a6fa.png

数据集介绍[2]

1.2.3中英混合语音识别建模单元

在中文语音识别系统中,常采用音素、汉字、词等作为声学模型的建模单元,在英文语音识别系统中则常采用英文音素、国际音标、子词等作为声学模型的建模单元。

本次PaddleSpeech开源的预训练中英文语音识别模型是采用端到端语音识别模型Conformer U2,未接入语言模型,使用了中文字/词加英文子词的建模方法,将中英文分开建模,通过模型推理,直接得到识别后的结果。

73a39dd7b66e4c4295374b590443a0f8.png

1.2.4试验结果对比

由于本项目使用的是中英文混合数据集,所以我们选择混合错误率(MER,Mix Error Rate)作为评价指标,中文部分计算字错误率(CER,Character Error Rate),英文部分计算词错误率(Word Error Rate)。测试数据集选择TAL_CSASR中已经划分好的测试集。由于不同的解码方式识别的效果不同,这里我们使用 Attention、CTC Greedy Search、CTC Prefix Beam Search、Attention Rescoring 四种解码方式进行试验,解码效果最佳为Attention Rescoring,混合错误率MER为0.084,折算为我们常说的语音识别正确率91.6%。

fd7c4557bbf9a9e0deaa53bc26bcba06.png

1.2.5进一步优化与效果提升

当前中英文语音识别方案的效果还有进一步提升的空间,比如在Conformer U2 模型后面加入Language Model,通过语言模型学习中英文语言信息,PaddleSpeech中提供了基于N-Gram的语言模型训练方案。此外,可以在训练过程中加入Language ID,使用token级别或者帧级别的语言ID标注信息,可以进一步提高中英文语音识别的效果。如果你有更大的中英文混合数据集或者是场景相关的数据集,可以通过微调或者进一步训练,提高在业务场景中的识别效果。

2.PaddleSpeech 语音识别技术介绍

除了中英文混合的Conformer U2模型以外,飞桨语音模型库PaddleSpeech中包含了多种语音识别模型,能力涵盖了声学模型、语言模型、解码器等多个环节,支持多种语言。目前PaddleSpeech已经支持的语音识别声学模型包括DeepSpeech2、Transfromer、Conformer U2/U2 ++,支持中文和英文的单语言识别以及中英文混合识别;支持CTC前束搜索(CTC Prefix Beam Search)、CTC贪心搜索(CTC Greedy Search)、注意力重打分(Attention Rescoring)等多种解码方式;支持 N-Gram语言模型、有监督多语言大模型Whisper、无监督预训练大模型wav2vec2;同时还支持服务一键部署,可以快速封装流式语音识别和非流式语音识别服务。

通过PaddleSpeech提供的命令行工具CLI和Python接口可以快速体验上述功能。通过PaddleSpeech精品项目合集,可以在线体验PaddleSpeech的优秀项目,上面更有核心开发者精心打造的《飞桨PaddleSpeech语音技术课程》,帮助开发者们快速入门。

项目传送门:https://aistudio.baidu.com/aistudio/projectdetail/4692119?contributionType=1

22b84813543a36b7a30120da92a3cf6b.png

如果想了解更多有关PaddleSpeech的内容,欢迎前往PaddleSpeech主页学习PaddleSpeech的更多用法,Star 关注,了解PaddleSpeech最新资讯。

  • PaddleSpeech地址:https://github.com/PaddlePaddle/PaddleSpeech

欢迎微信扫码加入PaddleSpeech社区,与核心开发者们一起交流。

 3. 英特尔® 发行版 OpenVINO™ 工具套件

英特尔® 发行版 OpenVINO™ 工具套件使用高性能深度学习推理,快速并准确地得到真实世界的结果,并在各种英特尔® 硬件和环境、本地和设备、浏览器或云中进行部署。

英特尔® 发行版 OpenVINO™ 工具套件官方支持百度飞桨模型,开发者们可以直接将部分飞桨训练后的静态模型导入OpenVINO™进行部署,多项飞桨算子的适配工作已经完成,非常多的业界模型得到验证,覆盖目标检测,图像分类,语义分割、OCR等多个领域。

高性能,深度学习

训练时考虑到推理,从 TensorFlow* 和 PyTorch* 等常见框架着手,并使用用于英特尔发行版 OpenVINO 工具套件的神经网络压缩框架 (NNCF)。

简化开发

借助训练后优化工具将您的模型导入到 OpenVINO 中,以进行训练后量化和优化。

一次写入,处处部署

在主机处理器和加速器 (CPU、GPU、VPU) 和环境(本地、设备、浏览器或云端)的组合中部署相同的应用程序。

ef403760959dd19d9682767fc177f7ed.png


--END--

你也许想了解(点击蓝字查看)⬇️➡️ 开发者实战系列资源包来啦!➡️ 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC
➡️ 还不知道如何用OpenVINO™作画?点击了解教程。➡️ 如何给开源项目做贡献? | 开发者节日福利➡️ 几行代码轻松实现对于PaddleOCR的实时推理,快来get!➡️ 使用OpenVINO 在“端—边—云”快速实现高性能人工智能推理➡️ 图片提取文字很神奇?试试三步实现OCR!➡️【Notebook系列第六期】基于Pytorch预训练模型,实现语义分割任务➡️使用OpenVINO™ 预处理API进一步提升YOLOv5推理性能
扫描下方二维码立即体验 
OpenVINO™ 工具套件 2022.3

点击 阅读原文 立即体验OpenVINO 2022.3

9bdaefd63087fed9a8910b856d332443.png

文章这么精彩,你有没有“在看”?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值