Сплит гипотеза на отдельные ключевые фразы

Я использую Pocketsphinx в своем приложении для Android. У меня есть относительно небольшой набор команд, которые нужно распознавать независимо, поэтому я использовал поиск по ключевым словам из файла, который выглядит следующим образом:

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() пробелами, поскольку некоторые команды являются ключевыми фразами, а не ключевыми словами. Я хочу только один, наиболее вероятный результат.

Благодарю.