asr有时候识别的效果很差,包括有些噪音也会被误识别为文字,有什么优化的方法吗?
欢迎体验阿里云智能语音交互产品,支持3个月免费体验,1元即享200并发资源包尽情使用。 https://ai.aliyun.com/nls
语音识别的原理暂且不管,我们从结果直接分析,
一般会有哪几种识别不准的情况:
没描述,识别整体实在是太太太太差了!识别太灵敏,无效噪音都识别出来了;识别太不灵敏,很多声音比较小就没识别出来;特定行业或者业务的关键词识别不出来;遇到单字的情况识别效果一般;远场识别效果很差。……
####1.没描述,识别整体实在是太太太太差了! 一般来说,ASR模型识别率均有一定的保证。如果在所有情况下语音识别都不准确,或者识别率很低,往往需要整体考虑是否有什么地方配置错误,例如实际语音的采样率(在线识别场景ASR只支持8k 16bit或者16k 16bit)、调用时设置的采样率参数(8000或者16000)、ASR服务端模型(8k或者16k),这三者需要保持一致。
注意 如果是公共云ASR调用,需要确认阿里云控制台上该appkey所选择的模型采样率。
####2. 识别太灵敏,无效噪音都识别出来了 可以通过设定参数speech_noise_threshold的值来修改VAD噪声阈值。
speech_noise_threshold参数区间是[-1,1],取值越小越灵敏,可能会有更多噪音被当成语音被误识别;取值越大,可能更多语音段会被当成噪音而没有被识别。例如设为0.6,如果仍觉得太灵敏,可以继续尝试设置为0.7。如果发现有丢字、漏识别,需要将该值调小,例如0.5、0.2甚至是-0.2等。
代码示例:
Java
transcriber.addCustomedParam('speech_noise_threshold', -0.1); C++
request->setPayloadParam('speech_noise_threshold',-0.1);
####3. 识别太不灵敏,很多声音比较小就没识别出来 同上
####4. 特定行业或者业务的关键词识别不出来
阿里云语音识别模型主要是根据通用语料来训练的,如果涉及到特定行业或领域关键词,可以按照以下几种方式优化:
'点击这里体验热词&类热词 点击这里体验自学习模型 公共云以上功能永久免费;声学模型定制请私聊管理员'
####5. 遇到单字的情况识别效果一般 因为单字发音单元短,且没有上下文语义,所以单字的识别是难点,添加热词效果不一定好,建议采用定制化模型优化。您可以提交工单,将识别差的样例及语音(badcase)提供给技术人员,我们分析后会给您提供针对性建议。
####6. 远场识别效果很差 这是因为远、近场的VAD阈值不一样,建议调节参数speech_noise_threshold。speech_noise_threshold参数区间是[-1,1],取值越小越灵敏,可能会有更多噪音被当成语音被误识别;取值越大,可能更多语音段会被当成噪音而没有被识别。例如设为-0.2,如果丢字现象仍然比较严重,可以继续调小至如-0.3、-0.4;如果发现较多噪声被误识别了,也可以适当调大,例如-0.1、0等。
赞0
踩0