LMGrammar API

本文介绍了一种基于语言模型的语法生成方法,能够处理单词和双词语法单元,并在log域中计算概率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值