<span style="font-size:24px;"> abstract class LexTreeState implements SearchState, SearchStateArc
Lex树语言专家返回语言状态给搜索管理。此类形成了所有返回的语言状态的基本的实现。此LexTreeState 跟踪了进入此状态的概率(语言概率加插入概率)以及单元历史。单元历史由与左,中心,右场景相关的lextree 节点。
此为一个抽象类,子类必须实现getSuccessorss 方法。
本类的属性:
private final Node node;与状态相关的节点。
private final WordSequence wordSequence;为历史字字的历史是直到此点指针。
protected final boolean collapsed;是否收缩。
final float currentSmearTerm;当前的smear项。
final float currentSmearProb;当前的smear概率。
本类的构造方法:
LexTreeState(Node node, WordSequence wordSequence, float smearTerm,float smearProb, boolean collapsed);给定属性参数创建此类对象。
本类的方法:
public String getSignature();为此状态获得独特的签名。签名建立代码是缓慢的,仅被用于对时间不是很敏感的任务如画状态。返回的是字符串。
public float getSmearTerm();获得当前的smear项。即currentSmearTerm
public float getSmearProb();获得当前的smear概率。
public int hashCode();为此对象产生一个hashcode。
public boolean equals(Object o);决定给定的对象是否等于此对象。等于为true。此需要比较器决定,是否收缩等。
public SearchState getState();返回的是这个搜索状态的一个后续。本方法返回的就本对象本身。
public float getProbability() ;获得进入此状态的组合概率为语言概率加插入概率之和。
public float getLanguageProbability();返回的是进入此状态的语言概率,在本类中返回的是logone,为log域的。一般需要子类实现。
public float getInsertionProbability();获得进入此状态的插入概率,本类返回的是logone,一般由子类重新实现。
public boolean isEmitting();决定此状态是否为一个发射状态,本类此方法返回的是false,一般由子类重载。
public boolean isFinal();决定此状态是否是一个终止状态。是为true,本类返回的是false,一般应由子类重载实现。
protected Node getNode();获得hmm树节点表示的单元。返回的是单元 lex节点。本方法返回的是node属性。
public WordSequence getWordHistory();返回的此状态的字序列。即历史字。wordSequence
public Node getLexState();返回的是node属性。
public SearchStateArc[] getSuccessors();返回的是此状态的后续列表。为搜索状态弧列表。
protected SearchStateArc[] getSuccessors(Node theNode);返回此状态的连接后续的弧。
Protected SearchStateArc createWordStateArc(WordNode wordNode,
HMMNode lastUnit, LexTreeState previous);为给定的字节点创建一个字搜索弧。wordNode为字节点。lastUnit为前一hmm节点,previous为前一状态。返回的其实是实现了搜索状态弧接口的状态。本方法返回的2种状态中的一种:
LexTreeWordState,LexTreeEndWordState。本方法需要考虑三种情况。
SearchStateArc createUnitStateArc(HMMNode hmmNode, LexTreeState previous) ;为给定的单元节点创建一个单元搜索状态。输入为hmmNode单元节点。Previous前一状态。如果我们想要一个单元状态则创建它,否则的话获得此单元的第一个hmm状态。
SearchStateArc createEndUnitArc(EndNode endNode, LexTreeState previous);为给定的单元状态创建一个单元搜索状态。endNode输入为endnode单元节点。Previous为前一状态。返回的是LexTreeEndUnitState。
public String toString();返回的是此对象的字符串表示。
public String toPrettyString();返回的是此对象的字符串的pretty版本。
SearchStateArc[] getCachedArcs();从缓存中得到此状态的后续弧。返回的是此状态的后续弧集。如果在缓存中没有发现则返回为null。
void putCachedArcs(SearchStateArc[] arcs);把给定的弧的集合为数组放入缓存中。即arccache。
abstract public int getOrder();获得状态的阶。
</span>
LexTreeState API
最新推荐文章于 2024-08-29 19:07:51 发布