Result API

Result API 是用于处理识别结果的类,包含了获取最终和非最终结果的方法,如是否为最终结果、最佳得分Token等。它还提供了访问活动列表、结果列表以及相关帧数的功能,允许对识别后的数据进行操作和分析。
摘要由CSDN通过智能技术生成

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, ActiveList activeList, 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, FloatData endFeature);添加给定的字及给定特征的开始时间和结束时间到给定的字符串 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);

### 回答1: ThinkPHP 是一个开源的 PHP 开发框架,它可以帮助你快速开发 PHP 应用程序。写 API 的话,你可以利用 ThinkPHP 提供的控制器和路由功能,在控制器中编写代码,返回 JSON 数据作为 API 的响应。 具体实现方法如下: 1. 定义路由,确定 API 的 URL 地址。 2. 创建控制器,在控制器中实现 API 的业务逻辑。 3. 在控制器中使用 `$this->response()` 方法返回 JSON 数据。 示例代码: ``` // 定义路由 Route::get('api/test', 'index/test'); // 创建控制器 class Test extends Controller { public function index() { $data = [ 'code' => 0, 'message' => 'success', 'data' => [], ]; return $this->response($data, 'json'); } } ``` 这样,当请求 URL 为 `api/test` 时,就可以返回 JSON 格式的数据作为 API 的响应了。 ### 回答2: thinkphp 是一款流行的PHP开发框架,可用于构建高效、可扩展的Web应用程序。ResultAPI 是一个基于 thinkphp 的模块,用于处理应用程序的响应结果。 在 thinkphp 中,我们可以使用 ResultAPI 来处理控制器方法的返回结果。它可以将数据转换成 JSON、XML 或其他格式,并添加适当的响应头部。这样,我们就可以方便地将数据发送给前端或其他应用程序。 在编写 ResultAPI 时,我们可以定义统一的数据格式和错误码。例如,可以定义成功状态码为 200,错误状态码为 400,并在不同情况下返回相应的状态码和信息。这样,前端或其他应用程序就能根据状态码来判断请求是否成功或失败,并相应地进行处理。 另外,ResultAPI 还可以支持数据分页、异常处理和权限验证等功能。我们可以在 ResultAPI 中封装这些通用的处理逻辑,以提高代码的复用性和开发效率。 最后,通过在控制器方法中使用 ResultAPI,我们可以轻松地返回处理后的结果。例如,我们可以使用 `$this->result()` 方法将数据转换成 JSON 格式,并添加适当的响应头部。这样,我们就可以快速地实现数据的处理和返回。 总而言之,ResultAPI 是基于 thinkphp 的一个模块,用于处理应用程序的响应结果。它提供了方便的方法来处理数据格式转换、错误处理和权限验证等功能,使我们能够更高效地开发和管理 Web 应用程序。 ### 回答3: ThinkPHP 是一款基于 PHP 的轻量级开发框架,它提供了一种快速开发和简化编码的方式。在 ThinkPHP 中,我们可以使用 ResultAPI 进行结果的返回。 ResultAPI 是指返回给客户端的结果,可以是成功或失败的信息、数据等。在 ThinkPHP 中,可以通过以下步骤编写 ResultAPI。 首先,创建一个 ResultAPI 类,该类用于处理结果的返回。可以在应用目录的 common 文件夹下创建一个 ResultAPI.php 文件。 在 ResultAPI 类中,我们可以定义一些方法来处理不同类型的结果返回。比如,可以有一个 success 方法,用于返回成功的结果。在该方法中,可以传入一些参数,如状态码、提示信息等,并将它们封装成一个数组。 接下来,可以创建一个 error 方法,用于返回失败的结果。在该方法中,可以传入一些参数,如错误码、错误信息等,并将它们封装成一个数组。 除了这两种方法,还可以根据具体的需求创建其他方法来处理不同类型的结果返回,如重定向、异常等。 完成 ResultAPI 类的编写后,可以在控制器中调用该类来返回结果。可以根据不同的业务需求选择使用成功或失败的方法,然后将返回的结果赋值给一个变量。 最后,可以将该变量返回给客户端,方便客户端根据不同的结果进行相应的处理。 总之,使用 ThinkPHP 写 ResultAPI 需要创建一个 ResultAPI 类,并定义一些方法来处理不同类型的结果返回。然后,在控制器中调用该类,将结果返回给客户端。这样能够方便地进行结果的处理和返回。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值