希尔贝壳和出门问问合作,在 WeNet 中更新了对 AISHELL-2 数据集的支持,开放数据准备、训练和解码测试和部署等流程,并开放基于 AISHELL-2 的预训练模型。其中,AISHELL-2 数据由希尔贝壳提供。希尔贝壳开源数据致力于共享数据,助力人工智能发展。感谢希尔贝壳对语音行业的支持,对 WeNet 的支持。以下是本次更新数据集实验的具体内容。
数据描述
希尔贝壳中文普通话语音数据库AISHELL-2[1]的语音时长为1000小时,其中718小时来自 AISHELL-ASR0009-[ZH-CN],282小时来自 AISHELL-ASR0010-[ZH-CN]。录音文本涉及唤醒词、语音控制词、智能家居、无人驾驶、工业生产等12个领域。录制过程在安静室内环境中, 同时使用3种不同设备:高保真麦克风(44.1kHz,16bit);Android系统手机(16kHz,16bit);iOS系统手机(16kHz,16bit)。AISHELL-2 采用iOS系统手机录制的语音数据。1991名来自中国不同口音区域的发言人参与录制。经过专业语音校对人员转写标注,并通过严格质量检验,此数据库文本正确率在96%以上。(支持学术研究,未经允许禁止商用。)
数据处理
在 AISHELL-2 数据中已整理好 wav.scp 和 trans.txt 文件,其中 wav.scp 中保存了 utterance ID 与对应的音频的相对路径,trans.txt 中保存了 utterance ID 与对应的标注文本。与 AISHELL-1 不同的是 AISHELL-2 中存在部分中英混的数据,英文部分使用与中文相同的字进行建模,首先需要把英文字母统一转化为大写,然后将英文单词间的分隔符(空格)替换为特殊的字符(▁)并作为建模单元之一,最终使用标注文本中的中文字、大写英文字母以及▁作为训练的字典,并在字典中加入训练所需的 blank、sos、eos 等标签。
模型结构
模型使用 Joint CTC/Attention 结构。输入特征为80维 FBank,并用 SpecAug 对特征进行增强,然后经过 Convolution SubSampling 将采样率缩小为原来的4倍;Encoder 使用12层 Transformer encoder layer,每个 Block 中 Attention 维度为256,Feedforward 维度为2048;Decoder 包含了两种方式,一种是 CTC Decoder,另一种是 Attention Decoder,CTC Decoder 使用一层 Linear layer 将 Encoder 的输出转为词典大小计算 CTC Loss,Attention Decoder 包含了6层 Transformer decoder layer,每层维度与 Encoder 相同,同样需要通过一层 Linear layer 将 Attention Decoder 的输出转为词典大小计算 Attention Loss,最终使用 Adam optimizer 对 CTC 和 Attention Loss 联合进行优化。在训练中使用Dynamic chunk[2]的方式训练了一个 streaming 的模型。

实验结果

和其他语音识别工具在 test_ios 测试集上的对比:

关于希尔贝壳
北京希尔贝壳科技有限公司成立于2017年,是一家专注人工智能大数据的创新公司。利用机器学习平台,在语音数据评测、辅助标注、数据分析等场景业务建立了领先的核心技术体系。希尔贝壳的愿景:以开放数据、技术变革创新为理念,实现人工智能民主化。
参考资料
- AISHELL-2:http://www.aishelltech.com/aishell_2
- Unified Streaming and Non-streaming Two-pass End-to-end Model for Speech Recognition:https://arxiv.org/pdf/2012.05481.pdf
- WeNet: Production First and Production Ready End-to-End Speech Recognition Toolkit:https://arxiv.org/pdf/2102.01547.pdf
