【问题标题】:Split hypothesis on individual keyphrases个别关键短语的分裂假设
【发布时间】:2016-11-03 23:19:09
【问题描述】:

我在我的 Android 应用中使用 Pocketsphinx。我有一组相对较少的命令需要独立识别,所以我最终使用了来自如下文件的关键字搜索:

one/1.0/
done/1.0/
recognition on/1e-10/
recognition off/1e-10/

实际列表不是英文的,因此为了示例,这些关键字是任意选择的。我意识到这些阈值可能不太理想,而且短词容易出现不匹配。

这个方法出现的问题:

@Override
public void onPartialResult(Hypothesis hypothesis) {
    if (hypothesis != null) {
        Log.d(
                "Sphinx",
                "\"" + hypothesis.getHypstr() + "\" recognized"
        );
    }
}

请注意,有些词听起来非常相似。问题是,

  • “一”结果为"done one" recognized
  • “完成”结果为"one done" recognized

不幸的是,我在 hypstr_get 上找不到任何文档(如果您能指导我,我将不胜感激)但实际上它似乎返回了一个以概率递增的顺序连接的可能匹配字符串。

如何从hypothesis 检索实际命令?我不能只用空格分割hypothesis.getHypstr(),因为有些命令是关键短语而不是关键字。我只想要一个最可能的结果。

谢谢。

【问题讨论】:

    标签: android voice-recognition cmusphinx pocketsphinx-android


    【解决方案1】:

    您可以遍历段,每个段都是一个关键字

        for (Segment seg : recognizer.getDecoder().seg()) {
            System.out.println(seg.getWord() + " " + seg.getProb());
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多