Split-Hypothese zu einzelnen Schlüsselwörtern

Ich verwende Pocketsphinx in meiner Android-App. Ich habe einen relativ kleinen Satz von Befehlen, die unabhängig voneinander erkannt werden sollen. Daher habe ich eine Schlüsselwortsuche in einer Datei durchgeführt, die so aussieht:

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

Die aktuelle Liste ist nicht in Englisch, daher werden diese Schlüsselwörter aus Gründen des Beispiels willkürlich ausgewählt. Mir ist klar, dass diese Schwellenwerte möglicherweise nicht optimal sind und kurze Wörter zu Fehlanpassungen neigen.

Das Problem tritt bei dieser Methode auf:

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

Beachten Sie, dass einige Wörter ziemlich ähnlich klingen. Die Sache ist

"One" ergibt"done one" recognized "Fertig" ergibt"one done" recognized

Leider konnte ich keine Dokumentation zu @ findhypstr_get (Ich würde mich freuen, wenn Sie mich darauf hinweisen könnten), aber effektiv scheint es eine verbundene Folge wahrscheinlicher Übereinstimmungen in aufsteigender Reihenfolge der Wahrscheinlichkeit zurückzugeben.

Wie kann ich aktuelle Befehle von @ abrufehypothesis? Ich kann nicht einfach aufteilenhypothesis.getHypstr() durch Leerzeichen, da einige Befehle eher Schlüsselbegriffe als Schlüsselwörter sind. Ich möchte nur ein einziges, wahrscheinlichstes Ergebnis.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage