Sphinx语音识别学习记录 (三)-小范围语音英文识别
2015-09-06 17:34
363 查看
转 http://www.cnblogs.com/yin52133/archive/2012/07/12/2587419.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调用
以下是测试结果
结果发现准确率立马提高到90%以上了。。。
而且我的一开始文本库是
open browser
open music
open note
close window
close music
然后我测试的时候想测试下效果读了下open window和close note ,他竟然都准确识别出来了
不过正常口音下准确率虽然很高,但是你如果故意拖长发音那还是会识别不准确的
比如我拖长音节将近5秒读了 opennote 结果是
为什么能提高这么多准确率,就是跟统计模型的识别方法有关
记得它经过运算获取到两个连续的单词的出现的概率后,再计算相对频度
而我以前傻傻测试的单个单词族,因为没有什么相对频度之类的,都是单个单词
组合读取后也没有前后关系统计数据,所以准确率就很低了,只能靠dic的发音匹配
文章出处:http://www.cnblogs.com/yin52133/ 本文可自行转载,但转载时记得给出原文链接
分类: 自然语言处理
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
以下是测试结果
而且我的一开始文本库是
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/ 本文可自行转载,但转载时记得给出原文链接
分类: 自然语言处理
相关文章推荐
- ZOJ 2872 Binary Partitions
- 开源视频图像处理算法
- 计算程序运行的时间一个函数
- 最快最简单的排序—桶排序
- spring security
- 颜色的意象
- spark1.4.1中sparkR的编译使用全过程
- strpbrk
- eclipse内存溢出错误
- JNI 字符串拼接方法
- Ajax乱码解决
- SecureCRT 连接 Ubuntu
- .NET String.Format 方法 线程安全问题
- IOS第18天(9,核心动画-动画组)
- 颜色“秀”
- Python编译器的选择与比较(入门必备)
- Qt Quick中的信号机制
- 数据库笔试题
- iOS--设置Launch Image 启动图片
- 微信公众号支付Java DEMO