u013339851
疯狂de攻城狮
采纳率25%
2021-03-03 11:29

sphinx 调整中文声学模型失败

50
已结题

最近有个语音转文本的项目,网上有人推荐说使用sphinx,我比较熟悉Java语音,所以项目引入了sphinx4,后面在网上下载了cmusphinx-zh-cn-5.2(中文声学模型、语言模型和字典)加入到项目,按照官网的做法输入一段里面只有讲中文的音频,结果发现输出的文本识别率很低,经网上翻阅博客,有人说可以对中文声学模型做自适应以提高中文汉字识别率,于是我又按照官网给的https://cmusphinx.github.io/wiki/tutorialadapt/操作起来,结果到Accumulating observation counts这一步时,一直出现以下错误

 INFO: cmn.c(133): CMN: 59.71 16.07 -10.29 -0.39 -2.66 6.16 -8.25 -8.67 5.68 -9.06 -3.69 -4.92 -5.56 WARN: "mk_phone_list.c", line 178: Unable to lookup word '我们先来看右边的这个图' in the dictionary WARN: "next_utt_states.c", line 83: Unable to produce phonetic transcription for the utterance ' 我们先来看右边的这个图 ' WARN: "main.c", line 826: Skipped utterance ' 我们先来看右边的这个图 ' utt> 0 arctic_0001 398 0 0 utt 0.000x 0.986e upd 0.000x 0.834e fwd 0.000x 0.000e bwd 0.000x 0.000e gau 0.000x 0.000e rsts 0.000x 0.000e rstf 0.000x 0.000e rstu 0.000x 0.000e

因为我识别的是句子,所以我的自适应语料库里准备了20个句子,以及对应的20个音频,我刚开始以为出现上述错误是句子中含有标点,后面我按标点分割句子,每个句子都是独立的无标点,重新准备自适应语料库后再训练的时候还是同样的问题,我再想想是不是字典中(zh_cn.dic)缺少句子中的某个字或词,我打开字典(zh_cn.dic),发现20个句子中有些句子中的字和词完全可以在字典中找到,但20个句子均报出以上错误,这时我就纳闷了,请网上的大佬帮我指导指导,感谢。

  • 点赞
  • 收藏
  • 复制链接分享

1条回答

  • u013339851 疯狂de攻城狮 1月前

    问题已解决,是我在执行bw命令时,-dictfn 参数值给错了,我用的是原始的zh_cn.dic,实际上要用自定义的字典

    点赞 评论 复制链接分享