LMGrammar API

<span style="font-size:24px;">public class LMGrammar extends Grammar
定义了一个简单的语法基于一个语言模型。本类对每个字都产生一个语法节点。本LM语法能够处理多达1000字的unigram and bigram grammars 单元语法和2元语法。注意所有的概率都是log域的。
本类的属性:
@S4Component(type = LanguageModel.class)
public final static String PROP_LANGUAGE_MODEL = "languageModel";此LM语法使用的语言模型。
配置属性:
private LanguageModel languageModel;
本类的构造方法:
  public LMGrammar(LanguageModel languageModel, boolean showGrammar, boolean optimizeGrammar, boolean addSilenceWords, boolean addFillerWords, Dictionary dictionary);给定参数来构造对象。
public LMGrammar();空的构造方法.
本类的方法:
public void newProperties(PropertySheet ps);对属性进行设置。
protected GrammarNode createGrammar();从语言模型产生一个语法图。此LM语法每个语法节点包含一个字。每一个通过给定的概率连接到其它字。返回的是初始化语法节点。本方法构建时采用的是for(GrammarNode prevNode : nodes){
   for(GrammarNode nextNode : nodes){
prevNode.add(nextNode, logProbability);
}
}
来构造语法图的。
Word[] wordArray = {getDictionary().getWord(prevWord),
                        getDictionary().getWord(nextWord)};
                float logProbability = languageModel
                        .getProbability((new WordSequence(wordArray)));</span>

你可能感兴趣的:(sphinx,语音识别)