2017-03-08 2 views
0

Lecture de l'autre Q & A qui sont sur stackoverflow et les informations sur le site officiel de CMUSphinx, j'ai lu que je dois ajuster le seuil, mais personne ne dit exactement, quel est le seuil. J'ai compris que si la valeur du seuil est plus grande alors vous avez plus de chances d'avoir des résultats valides mais vous pouvez en perdre, si le seuil est plus petit alors vous ne perdez pas de résultats mais vous en obtenez des qui sont invalides ... beaucoup d'entre eux dans certains cas). J'ai essayé de faire une recherche par mot-clé, mais je n'ai pas trouvé les valeurs appropriées pour les seuils de mes mots-clés. Quelqu'un pourrait-il expliquer comment cette chose fonctionne?Quelle est la valeur minimale de seuil de mot-clé

question spécifique: lorsque vous effectuez une recherche de mot-clé vous ajustez le seuil pour le mot clé, puis lorsque vous définissez le reconnaisseur comme ceci:

recognizer = SpeechRecognizerRecorderSetup.defaultSetup() 
      .setAcousticModel(new File(appDir, "models/hmm/en-us-semi")) 
      .setDictionary(new File(appDir, "models/lm/cmu07a.dic")) 
      .setRawLogDir(appDir) 
      .setKeywordThreshold(1e-40) 
      .setAudioStorageDirectory("SpeechTutor") 
      .getRecognizer(); 

Quel est le sens de la méthode setKeywordThreshold() si vous avez déjà définir le seuil pour chaque mot-clé?

Une autre question: Quelle est la plage du seuil? J'ai trouvé que le maximam est 1.0. Mais le minimum?

Répondre

1

Quelle est la signification de la méthode setKeywordThreshold() si vous avez déjà défini le seuil pour chaque mot-clé?

Il est ignoré

Une autre question: Quelle est la rage du seuil? J'ai trouvé que le maximam est 1.0. Mais le minimum?

1e-50 est une valeur minimale. Il est documenté dans le tutoriel

http://cmusphinx.sourceforge.net/wiki/tutoriallm#keyword_lists

que je vous recommande de lire.