您的位置:首页 > 其它

Sphinx语音识别学习记录 (三)-小范围语音英文识别

2015-09-06 17:34 363 查看
http://www.cnblogs.com/yin52133/archive/2012/07/12/2587419.html


Sphinx语音识别学习记录 (三)-小范围语音英文识别



http://www.cnblogs.com/yin52133/archive/2012/06/21/2557219.html - (一)基本运行测试
 http://www.cnblogs.com/yin52133/archive/2012/07/12/2587282.html - (二)自然语言处理原理研究
 http://www.cnblogs.com/yin52133/archive/2012/07/12/2587419.html - (三)小范围语音英文识别
 http://www.cnblogs.com/yin52133/archive/2012/07/12/2588201.html - (四)小范围语音中文识别
 http://www.cnblogs.com/yin52133/archive/2012/06/22/2558806.html - (五)错误调试
 http://www.cnblogs.com/yin52133/archive/2012/07/12/2588418.html - (六)我的目标和几个想像的方案(闲置中)


那我们该如何提高准确率呢?
根据第四章的分析,我们需要建立好一点的语音模型,而好一点的语音模型需要几个句子或者几个单词组合类型做出来的
因为我们统计的概率就是连续的单词,出现的概率和,出现某个单词后接着出现另外的单词的概率
语言模型的建立和使用可以参考http://cmusphinx.sourceforge.net/wiki/tutoriallm
为了说明
我重新做了一个文本
4906.txt
open browser

open music

open note

close window

close music
然后直接用http://www.speech.cs.cmu.edu/tools/lmtool.html这个在线工具,生成lm文件和dic文件
然后声学模型使用默认的hub4wsj_sc_8k
直接用pocketsphinx_continuous调用

pocketsphinx_continuous -hmm hub4wsj_sc_8k -lm 4906.lm -dict 4906.dic


以下是测试结果

结果发现准确率立马提高到90%以上了。。。
而且我的一开始文本库是
open browser

open music

open note

close window

close music
然后我测试的时候想测试下效果读了下open window和close note ,他竟然都准确识别出来了
不过正常口音下准确率虽然很高,但是你如果故意拖长发音那还是会识别不准确的
比如我拖长音节将近5秒读了 opennote 结果是

000000020: CLOSE OPEN NOTE OPEN NOTE


为什么能提高这么多准确率,就是跟统计模型的识别方法有关
记得它经过运算获取到两个连续的单词的出现的概率后,再计算相对频度
而我以前傻傻测试的单个单词族,因为没有什么相对频度之类的,都是单个单词
组合读取后也没有前后关系统计数据,所以准确率就很低了,只能靠dic的发音匹配

文章出处:http://www.cnblogs.com/yin52133/ 本文可自行转载,但转载时记得给出原文链接

分类: 自然语言处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: