Result API

来源:互联网 发布:四柱汉诺塔 python 编辑:程序博客网 时间:2024/05/18 03:51

public class Result

提供识别的结果。结果可以是局部的,也可以是最终的。一个result结果在它是最终结果之前不应该被修改。注意一个result结果也许不会保护所有可能的信息。

The following methods arenot yet defined but should be:

 * <pre>

 * public Result getDAG(intcompressionLevel);

本类的属性:

 private final ActiveList activeList;与此结果result对象相关的活动列表

private final List<Token> resultList;与此结果result对象相关的结果列表

    private AlternateHypothesisManageralternateHypothesisManager;

    private boolean isFinal;此结果result是否是final最终结果result。是的话就意味着在语言片段中的最后一帧已经被解码。

    private final int currentFrameNumber;此结果的帧数。

    private String reference;

private final LogMath logMath;此result使用的logmath。

本类的构造方法:

 PublicResult(AlternateHypothesisManageralternateHypothesisManager, ActiveListactiveList, List<Token> resultList, int frameNumber,boolean isFinal, LogMathlogMath);创建一个结果对象。

 public Result(ActiveListactiveList, List<Token> resultList,int frameNumber,boolean isFinal, LogMath logMath);创建一个结果对象。

本类的方法:

 public boolean isFinal();决定此结果是否为最终结果,最终结果是不能在被产生此结果的搜索管理所改动的。非最终结果是能够通过调用搜索管理的recognize方法来改动的,修改。是为true。

 public LogMath getLogMath();返回此结果使用的logmath。

 public ActiveList getActiveTokens();返回此结果result的活动列表token列表。列表包含0个或多个活动token对象,此表示了在结果中所有活动分支的左节点。(有时指的是网格)。

网格lattice是由搜索管理在识别时实时产生和改动的。一定结果是最终的,那么网格也就确定了下来,将不能在被搜索管理所修改。应用程序能够修改网格(例如为了进行在识别处理)仅在isfinal返回为真后。返回的是此结果的包含活动token的列表。

 public List<Token>getResultTokens();返回的是此结果的结果token列表。此列表包括0个或多个result结果token对象,此表示了在结果中所有活动分支的左节点。(有时指的是网格)。

网格lattice是由搜索管理在识别时实时产生和改动的。一定结果是最终的,那么网格也就确定了下来,将不能在被搜索管理所修改。应用程序能够修改网格(例如为了进行在识别处理)仅在isfinal返回为真后。返回的是此结果的包含最终result结果token的列表。返回的resultlist属性。

public AlternateHypothesisManagergetAlternateHypothesisManager();返回的是用于构建一个lattice网格的可选择的假设管理器。即返回的是alternateHypothesisManager属性。

 public int getFrameNumber();返回的是当前的帧数。即currentFrameNumber属性。

 public Token getBestFinalToken();返回的是在结果中的最好得分的最终token。一个final token是在当前帧中达到了一个终止状态的token。即是resultlist中的最高得分的token。

 public Token getBestToken();返回的是在结果中的最高得分的token。首先,最高得分的最终token被获得,一个最终token是在搜索空间中已经达到终止状态的token。如果没有最终token被发现,则非终止token被返回为活动列表中的最高得分的token。

 public Token getBestActiveToken();返回在活动集中的最高得分的token。即activelist中的最好得分token。

 public Token findToken(String text);搜索n-best 列表来查找与给定字符串相匹配的分支。输入为text:要搜索的字符串。返回的是在分支头位置的token。是通过resultlist的每一个token来获得其前token来完成。Resultlist中的token数即为n-best数。

public List<Token>findPartialMatchingTokens(String text);搜索n-best列表来查找匹配与给定字符串的开头的分支。为activelist中token,即token分支表示的字符串是输入字符串的从0开始的那部分,字符串只能大于token分支的字符串。把此分支头token加入到列表输出。

public Token getBestActiveParitalMatchingToken(String text);返回匹配输入字符串开始的最高得分的token。为在active列表中的并且是匹配的。

public FrameStatistics[] getFrameStatistics();返回此结果的详细的帧统计信息。此结果的帧的统计为一个数组,数组中的每一项对应与一帧的信息,或null如果没有帧的统计信息可用。

public int getStartFrame();获得此result结果的开始的帧数。即第几帧开始的。注意此方法目前并没有实现,并且经常返回为0.

public int getEndFrame() ;获得此结果的结束的帧数,注意此方法目前并没有实现,并且经常返回为0.

 public List<Data>getDataFrames();获得与此结果相关的特征帧,返回的是与此结果相关的特征帧的集合,没有特征可用返回为null。返回的是最好token分支相关的特征帧的集合。 即getBestToken()方法返回的token的那条分支。

 public StringgetBestResultNoFiller();返回的是最好结果的字符串表示,移除了任何的填充字。首先,最高得分的最终结果被获得,一个最终结果是在搜索空间中已经达到终止状态的结果。如果没有最终结果被发现,则非终止token被返回为活动列表中的最高得分的结果。

 public StringgetBestFinalResultNoFiller();返回的是最好的最终结果字符串,移除了任何填充字。一个最终结果是一条已达到最终状态的路径。一结果对象能够包含没有达到终止状态的路径。那些路径不是此方法所返回的。

public StringgetBestPronunciationResult();此方法被使用当应用程序想获得在最好最终路径上的音素时调用。注意字有可能包含多余一个的发音,所以此方法并不等价于字路径。one[HH,W,AH,N] to[T,UW]three[TH,R,IY]返回的是字和在最好最终路径上的相关音素的字符串。

private StringgetTimedWordPath(Token token,boolean wantFiller);返回的是此token的有着时间标签的字字符串。此方法假设字token在其它类型的token的前面。输入参数为: 如果我们想要填充字,此wantFiller为true,其它情况为false。返回的是字字符串。

private StringgetTimedWordTokenLastPath(Token token,boolean wantFiller);返回的是此token的字字符串。每一字都有以开始的采样数当做时间标签的标签。此方法假设字token在单元和hmm token的后面?。

private voidaddWord(StringBuilder sb, Word word,FloatData startFeature, FloatDataendFeature);添加给定的字及给定特征的开始时间和结束时间到给定的字符串 builder建造者中。输入参数:sb为字被添加入的字符串builder。Word为要被添加的字。startFeature为特征的开始时间。endFeature为特征矢量的结束时间。

 public String toString();返回的是此对象的字符串表示。

 void setFinal(boolean finalResult);设置此结果为一个最终结果。

 public boolean validate();决定此结果是否是合法的。此方法用来测试和调式。

 public void setReferenceText(String ref);设置参考文本。

 public String getReferenceText();获得参考文本。此参考文本被当做是被说文本的一个脚本。

 

 

 

 

 

 

 

public String getTimedBestResult(boolean wantFiller,booleanwordTokenFirst);

转自:http://blog.csdn.net/taiyb/article/details/42610295