Hipótesis dividida en frases clave individuales

Yo uso Pocketsphinx en mi aplicación de Android. Tengo un conjunto relativamente pequeño de comandos para ser reconocido de forma independiente, así que terminé usando una búsqueda de palabras clave de un archivo que se ve así:

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

La lista real no está en inglés, por lo que estas palabras clave se eligen arbitrariamente por el bien del ejemplo. Me doy cuenta de que estos umbrales pueden ser algo menos que óptimos, y que las palabras cortas son propensas a los desajustes.

El problema surge en este método:

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

Tenga en cuenta que algunas palabras suenan bastante parecidas. La cosa es,

"Uno" da como resultado"done one" recognized"Hecho" da como resultado"one done" recognized

Desafortunadamente, no pude encontrar ninguna documentación sobrehypstr_get (Le agradecería que me lo dirija), pero efectivamente parece devolver una cadena unida de coincidencias probables en orden creciente de probabilidad.

¿Cómo puedo recuperar comandos reales dehypothesis? No puedo simplemente dividirmehypothesis.getHypstr() por espacios en blanco ya que algunos comandos son frases clave en lugar de palabras clave. Solo quiero un resultado único y más probable.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta