在使用speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch ,进行语音识别时 ,在一群音频中发现其中有一个音频报错了,报错信息如下 RuntimeError: Calculated padded input size per channel: (10). Kernel size: (11). Kernel size can't be greater than actual input size , 后排经过排查发现该音频是粤语,猜测是这个原因导致报错,想咨询,这种能一起按照中文识别吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
随着人工智能技术的飞速发展,语音识别(Automatic SpeechRecognition)的应用越来越广泛,对于多语种多口音语音识别的需求也在日渐增加。虽然语音识别系统的基本原理和框架是不受限于语种的,在建立一个新语种的ASR模型时,还是需要结合到语言本身的特点,才能得到较好的效果。 声学模型方面,粤语识别引擎是基于阿里巴巴自研的DFSMN-CTC建模方法。CTC(Connectionist Temporal Classification) 是目前建立端到端系统最常用的方法。CTC提出一个基于序列的建模方法,利用一个循环网络来表示不同长度的输入序列跟输出序列之间的映射关系。而语音识别的目标是把语音特征和输出的文本序列之间的对应关系进行建模,因而CTC准则对于语音识别的场景特别适用。FSMN(Feedforward Sequential Memory Networks)提出在传统的全连接神经网络中添加可学习的记忆模块(memory block),用来在层之间来传递上下文相关的信息。而DFSMN(Deep FSMN)是一种改进的FSMN结构,主要解决在训练深层网络时容易发生的梯度消失问题:通过在记忆模块之间添加跳转连接(skip connection),从而使得低层记忆模块的输出会被直接累加到高层记忆模块里。 粤语和普通话同属于汉语系,在基本语法和发音单元上有一些共同点。因此我们在建立粤语ASR的时候,是基于已有的普通话模型,通过迁移学习(Transfer Learning)的方法来得到的。迁移学习是属于机器学习的一个方法,主要的启发来自人类的知识获取过程。人类在学习新知识的时侯,是一个循序渐进的积累过程:从已掌握的知识通过推理和抽象,结合新的样本掌控新的知识。 在训练粤语模型时,首先去除普通话模型的softmax输出层,仅保留普通话模型的低层网络,然后利用这个网络作为初始模型来进行粤语模型训练和迭代。这种方法的好处是我们可以用相对较少量的粤语标注数据得到较好的模型效果。 利用上述所说的DFSMN-CTC建模方法,配合迁移学习、也得益于DFSMN在深层模型训练上的优势,粤语识别系统在上述电话粤语测试集的识别效果上,得到了相对基础模型20%的相对提升。目前最新的粤语语音识别模型已经在公共云官网正式上线,欢迎前往体验。
智能语音产品官网链接:https://ai.aliyun.com/nls