返回信息流不知道这里用HTK做语音识别的人多不多。
我现在刚开始用HTK做连续流普通话识别(级别比较低,刚把dtkbook的第三章试验做会),想建立一个错音辨识网络,从而实现错音定位和检测。
我猜大概是在建语言模型和识别时做些变动,但不知道具体怎么改。请达人指教!
若还能推荐错音定位(检测)方面的中文资料(我有Truong的硕士论文,这个对error detection有一定的调研,在英文资料里算比较全面的了吧),则更加感激不尽![em21]
若有同学跟我研究方向类似,有兴趣我们可以互相交流。有需要Truong的硕士论文的,可以留邮箱,我发给你:)
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #814同步于 2008/1/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
请教如何用HTK建立一个错音辨识网?
apple1019
2008/1/7镜像同步26 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你的错音网络是指什么?错音的检测性能在很大程度上取决于你的Phone Set的定义,和你采用的前端技术以及Language Model训练的充分度。
目前的HTK3.4只能支持Bi-gram的Language Model,不知道你们的研究计划是什么样子的?
最笨笨的方法是decode后在language层作工作,当然这样应该是没必要的。我只知道有做
keyword spotting。
Truong是谁啊?
【 在 speaker 的大作中提到: 】
: 你的错音网络是指什么?错音的检测性能在很大程度上取决于你的Phone Set的定义,和你采用的前端技术以及Language Model训练的充分度。
: 目前的HTK3.4只能支持Bi-gram的Language Model,不知道你们的研究计划是什么样子的?
: 最笨笨的方法是decode后在language层作工作,当然这样应该是没必要的。我只知道有做
: ...................
有篇中文资料,《應用錯誤型態分析於英語發音輔助學習》不知你是不是看过?
Truong在Automatic pronunciation error detection方面写过几篇文章,我也是在网上查到这个人的,在德国某大学(记不清学校名)研究语音识别方向。
不知你提的前端技术具体指什么?我们实验室对语音识别的研究还主要停留在声学模型钻研的层面上。对语言模型接触的也不多……看来我懂的太少了。
那篇文章我少扫了一眼,讲的很清晰。
1、你需要的错音辨识网络实际上就是Veterbi解码是所用的词图,也就是Network(HVite 的 -w选项要的那个)
2、你需要做的工作:
(1)统计音素级别的常见的发音错误,比如汉语里把平舌音发成翘舌音等等。
(2)根据发音错误表,建一个新的Network,由于decoding路径有限,所以用HParse就行
(3)然后就是用识别器识别啦,根据识别得到的音素序列去查表,就知道把X音读成Y了。注意啊,识别器用的模型要用标准的native speaker的数据集。PhoneSet的定义如果只用MonoPhone的话很简单的,相信你们应该有人做过了!
3、至于Sentence Verification,可以先跳过。识别器的性能比较重要!
原来是在HParse指令上改动。。。
我研究研究。
利用识别器只是做错音检测的方法之一吧,早期的检测方法基本上就是机器打分。不知道speaker是不是还知道其他方法。有没有这方面的中文资料推荐。
哈哈,问题有点多。
如果你要在连续语音中做到错音的定位,只在Sentence level上打分是肯定不行的。打分实际上是采用alignment来做的,一般是结合声学层的、韵律层的、语言层的等等。
我没有做过这方面的研究,所以没有相关的资料。只是几年前,和科大讯飞的一些人聊到过,他们有做这个东西。IBM和SRI的系统值得参考,他们的识别器做的应该是领域里出类拔萃的。IBM的系统一向很复杂,这是他们的风格。SRI的系统有不错的韵律层打分的方法,我觉得很好,但最基本的还是声学层的打分,斯坦福的系统应该还是比较简单实用的。
我的建议是,从最基本的声学系统做起,这是最简单也是目前用的最广泛的。