0

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

    • "한"결과는 당신이 직접 할 수 있다면 (내가 감사하겠습니다, 내가 hypstr_get에있는 모든 문서를 찾을 수 없습니다 "완료"불행하게도 "one done" recognized

    결과입니다 나를 그것에) 그러나 효과적으로 확률이 높은 순서에있는 가능한 성냥의 결합한 끈을 돌려 보내는 것을 보인다.

    hypothesis에서 실제 명령을 검색하려면 어떻게해야합니까? 일부 명령은 키워드가 아닌 핵심 구절이므로 공백으로 hypothesis.getHypstr()을 나눌 수는 없습니다. 나는 단 하나의 가장 확실한 결과만을 원합니다.

    감사합니다.

  • 답변

    1

    당신은 세그먼트를 반복 수, 각 키워드

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