首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sphinx4 -自定义语言模型

Sphinx4 -自定义语言模型
EN

Stack Overflow用户
提问于 2015-10-08 21:44:15
回答 1查看 613关注 0票数 1

我有一个非常具体的要求。我正在开发一个应用程序,允许用户在应用程序中使用格式为HN56C12345 (任意字母数字字符序列)的员工号码。我已经浏览了链接:http://cmusphinx.sourceforge.net/wiki/tutoriallm,但我不确定这对我的用法是否有效。

所以我的问题是三倍:

  1. 在我的例子中,Sphinx4能识别像emp数字那样的高精度字母数字序列吗?
  2. 如果是的话,有人能告诉我一个具体的示例/参考页面,其中有人从零开始就在Sphinx4中构建了自定义语言支持。我还没有找到详细的一步一步的文档。是否有人研究基于字母数字序列的字典或语言模型?
  3. 如何为这个场景建立声学模型?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-08 22:42:31

你不需要一个新的声学模型,而是一个自定义语法。请参阅grammarhttp://cmusphinx.sourceforge.net/doc/sphinx4/edu/cmu/sphinx/jsgf/JSGFGrammar.html以了解更多信息。如果将字符分隔在语法中,Sphinx4就能很好地识别它们:

代码语言:javascript
复制
#JSGF V1.0
grammar jsgf.emplID;
<digit> = zero | one | two | three | four | five | six | seven | eight | nine ;
<digit2> = <digit> <digit>   ;
<digit4> = <digit2> <digit2> ;
<digit5> = <digit4> <digit>  ;
// This rule accepts IDs of a kind: hn<2 digits>c<5 digits>.
public <id> = h n <digit2> c <digit5> ;

至于准确性,有两种方法来提高它。如果员工人数不是太大,您可以使用所有可能的员工If来制定语法。如果这不是你的情况,那么拥有一个通用语法是你唯一的选择。尽管可以定制一个记分器,它将使用上下文信息比一般算法更好地预测员工ID。这种方法需要一些ASR和CMU代码方面的知识。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33026460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档