2014-07-14 2 views
0

우리는 CMU Sphinx4가 스페인어로 '예'와 '아니'라는 단어 사이에서만 인식되도록하려고합니다 (si 및 no). 우리는 sphinx4에 voxforge의 스페인어 모델 es_cont_2000을 사용했습니다. 우리는 아래에 첨부 된 언어 모델을 만들었으며 "아니오"라는 단어를 인식하면 거의 100 %의 정확성을 갖습니다. 그러나 "Si"(예)를 인식하면 약 50 %에 불과합니다.CMU Sphinx4 : 스페인어로 예/아니요로 인식하기

언어 모델 (http://cmusphinx.sourceforge.net/wiki/tutorialadapt)을 적용하는 것 외에도 단어 집합을 줄이면 더 나은 정확도를 얻는 방법에 대한 제안이 있습니까?

중남미 스페인어 또는 다른 방법에 대한 언어 모델이 더 좋습니까?

This is an ARPA-format language model file, generated by CMU Sphinx 
\data\ 
ngram 1=4 
ngram 2=4 
ngram 3=4 

\1-grams: 
-0.7782 </s> -0.1761 
-0.3010 <s> -0.5228 
-0.7782 no -0.3978 
-0.7782 si 0.0000 

\2-grams: 
-0.1761 </s> <s> -0.0791 
-0.3978 <s> no 0.1761 
-0.3978 <s> si -0.2217 
-0.1761 no </s> 0.1761 

\3-grams: 
-0.3010 </s> <s> si 
-0.3010 <s> no </s> 
-0.3010 <s> si </s> 
-0.3010 no </s> <s> 

\end\ 
+0

정확성에 대한 도움을 받으려면 문제를 재현 할 수있는 완전한 데이터 세트 (오디오 녹음, 정확한 디코더 설정 등)를 제공하는 것이 좋습니다. –

+0

감사합니다. Nikolay,이 파일에는 오디오 및 기타 변수가 포함되어 있습니다. https://www.dropbox.com/s/lzzcamoduc7uir3/sphinx.tar.gz 더 좋은 방법이 있거나 필요한 것이 있으면 알려주세요. 알고있다. – jblaya

답변

0

다음과 같은 명령 줄을 사용 할 수 있습니다

for f in *.wav ; do echo $f; pocketsphinx_continuous -infile $f -hmm es_cont_2000 -jsgf es.jsgf -dict es.dic -lw 1.0 -logfn /dev/null; done 

을 다음 es.dic

si S I 
no N O 

다음 JSGF 문법 :

#JSGF V1.0; 
grammar sino; 
public <sino> = si | no; 

결과가 될 woudl :

no_andrea_converted.wav 
000000000: no 
no_dani_converted.wav 
000000000: no 
no_IM_converted.wav 
000000000: no 
si_andrea_converted.wav 
000000000: si 
si_dani_converted.wav 
000000000: si 
si_IM_converted.wav 
000000000: si 

http://github.com/cmusphinx의 최신 pocketsphinx 및 sphinxbase를 사용해야합니다. -lw 1.0 매개 변수가 중요합니다.

+0

감사합니다 니콜라이,하지만 왜 첫 번째 줄에 pocketsphinx_continuous를 넣었습니까? 우리가 스핑크스 4를 사용하고 있기 때문에 스핑크스일까요? 내가 아는 한 pocketsphinx 또는 sphinx4를 사용합니다. – jblaya

관련 문제