全部产品
云市场

语音识别问题排查

更新时间:2019-08-23 10:08:14

排查语音识别错误的步骤

  1. 先使用cooledit或者Adobe Audition打开查看语音格式,播放试听并查看分轨情况、波形、能量和频谱图。ASR识别标准格式是:8KHz或16KHz采样率、16bit采样位数、单声道的语音数据(录音文件识别服务可上传双声道语音数据)。

  2. 检查管控台项目中使用的模型是否支持音频的采样率和场景。

  3. 听:播放声音进行试听。

    • 一听是否存在噪音,若存在,是人噪(人发出的声音或者远场非主说话人的声音)还是非人噪(如敲桌子、开门、汽车鸣笛等)。

    • 二听是否发音清晰、是否可以听清或辨识度高,是否存在吞音、过于快语速或者重口音、方言等(切记主观语义判断,以听为主进行判断)。

  4. 看:查看波形、能量和频谱图,对于录音文件识别服务,查看分轨情况

    • 一看波形幅度是否过小或过大。以8KHz语音为例,图0为正常语音波形;图1为波形幅度不大,说话声音能量过低;图2为波形幅度过大,有可能截幅,超出系统的线性范围。下图为正常语音波形(绿色部分)和频域信息(红色部分):

      正常的波形

      下图为波形幅度过小,说话声音能量过低:

      幅度过低

      下图为波形幅度过大,有可能截幅,超出系统的线性范围:

      幅度过大

    • 二看频段信息,是否是音段信息完整的8K或16K数据(频段对应数字乘以2是实际多少K的数据)。下图为数据格式虽为8K数据,实际频段信息只有3*2=6K,6K以上频域信息丢失。

      频段不完整

    • 对于使用录音文件识别服务,三看是合轨数据还是分轨数据(以客服场景为例,合轨指客户和客服的声音存在一个声道,不免会有语音重叠的时刻。分轨指客户和客服两个声道的声音分开存储在两个声道)。

  5. 查:检查是否有用过热词或者使用自学习模型。

    • 一查是否使用过类热词和泛热词,泛热词的权重不宜太高。
    • 二查是否有用自学习模型优化,检查是否有将识别不佳的句子进行多复制几遍的操作。

语音识别错误的解决方案

说明: 语音识别不可能达到100%识别准确,不是所有的badcase都能解掉。

  1. 在项目中选择支持音频采样率和场景的模型。

  2. 以上吞音、辨识度不高、听不懂等情况无法解决,听不清无法认定是ASR的识别错误。

    • 如果是存在方言和重口音等,有可能asr的训练数据覆盖不全造成识别错误。
    • 如果有大量的重口音(非方言)识别需求,可以联系阿里智能语音交互同学进一步评估。
  3. 如果存在人噪被误识别,此问题很难解决,噪声模型优先考虑只要是人发出的声音就会被送进ASR识别。

  4. 如果存在非人声噪声被误识别,可以多收集一些噪声数据,提供给阿里同学进行噪声模型优化。

  5. 如果是波形幅度不大,能量过低,造成识别丢失,有可能声音太小被噪声模型当成噪声处理掉,建议调整收音设备,或者说话人离收音设备近些。

  6. 如果是波形幅度过大,能量过高,造成识别错误,有可能声音太大截幅,语音失真造成识别错误。建议调整收音设备,或者说话人离收音设备远些。

  7. 如果是因为频段信息不完整,有可能会造成识别不准确,ASR模型的标准训练数据为频段完整的8K或16K数据。建议您确认是否可以存储频段完整的8K或16K数据,另外建议对识别不准的地方使用自学习模型优化。

  8. 如果使用了热词,热词权重不宜太高,权重太高有可能会引起截断,导致后边的语音没有被识别出来。

  9. 针对一般的识别错误,可以使用自学习模型优化,并且将识别不佳的句子(非单个词)进行多复制几遍,进而增加语言模型的权重。

  10. 对于使用录音文件识别服务,如果是合轨数据,两个人说话重叠造成识别不准确,此问题ASR无法解决,建议采用分轨进行存储。

如果以上条件都不符合,或者尚未能解决您的问题,请提交工单,并补充以下完整信息:

  1. 部署方式:公共云1.0还是公共云2.0?

  2. 调用服务:一句话识别、实时语音识别、录音文件转写?

  3. 业务使用场景?

  4. 数据采样率:8K还是16K?

  5. 是否使用热词?

  6. 是否有做过自学习模型优化,是否有将识别不佳的句子多进行复制几遍的操作。

  7. 请确认以上信息补充完整,并且第6步已经操作过。如果还有问题,请提供识别有问题的语音数据,以及该数据的正确识别结果和错误识别结果,简单描述下识别问题。