Pocketsphinx-ajouter des mots et améliorer la précision

j'ai finalement réussi à construire et exécuter pocketsphinx (pocketsphinx_continuous). Le problème que je rencontre, c'est comment améliorer la précision. Ce que je comprends, vous pouvez spécifier un fichier de dictionnaire (-dict test.DIC.) J'ai donc pris le fichier du dictionnaire par défaut et j'ai ajouté quelques prononciations des mêmes mots, par exemple:

pencil P EH N S AH L
pencil(2) P EH N S IH L

spaghetti S P AH G EH T IY
spaghetti(2) S P UH G EH T IY

mais pocketsphinx ne reconnaît toujours aucun mot. Je sais qu'il est un jsgf fichier, vous pouvez spécifier en tant que bien , mais cela semble de plus pour phrases et grammaire. Comment puis-je obtenir pocketsphinx pour reconnaître les mots communs tels que crayon et spaghetti?

merci

- Mike

17
demandé sur f3lix 2010-12-26 23:02:17

4 réponses

avec quelque chose comme ça, vous ne pouvez pas en être certain, mais je peux vous proposer les suggestions suivantes:

  1. peut-être que le modèle de langage a en quelque sorte de faibles probabilités pour "spaghetti" et "Crayon". Comme vous l'avez suggéré, vous pourriez utiliser un JSGF pour tester comment il fait pour la reconnaissance si elle n'utilise pas les modèles de n-gram, mais plutôt fait une grammaire simple (donnez-lui comme vingt mots, y compris spaghetti et Crayon). De cette façon, vous pouvez voir si il est peut-être le modèle de langue qui rend difficile de reconnaître ces mots, et il peut faire bien si elle considère tous les mots d'avoir une probabilité égale.

  2. peut-être vous prononcez simplement ces mots mal, même avec les entrées de dictionnaire alternatives. Essayez A. tester la voix d'autres personnes, ou B. adapter le modèle acoustique à votre voix (voir http://cmusphinx.sourceforge.net/wiki/tutorialam)

  3. en outre, qu'est-ce qui les reconnaît comme étant échec? Dans la mesure du possible, supprimer les mots qu'il reconnaît erronément du dictionnaire.

encore une fois, pour une précision globale, seulement trois choses vont vraiment vous aider: restreindre la grammaire, adapter le modèle acoustique, et peut-être obtenir des entrées d'enregistrement de meilleure qualité.

7
répondu Jeremy Salwen 2011-05-18 04:10:43

Pour améliorer la précision, vous pouvez essayer d'adapter le modèle acoustique de votre voix. http://cmusphinx.sourceforge.net/wiki/tutorialadapt

Pour savoir comment ajouter de nouveaux mots: http://ghatage.com/tech/2012/12/13/Make-Pocketsphinx-recognize-new-words/

5
répondu Anup 2017-01-20 17:49:31

assurez-vous de mettre un onglet (pas d'espace) après le mot, et avant le début de la prononciation.

2
répondu MountainRider 2012-12-15 01:58:04

Peut-être que le problème est avec Pocketsphinx. Moi aussi, je n'obtenais pas de bons résultats avec Pocketsphinx. Mais j'étais très bonne précision avec Sphinx4 (pour un haut-parleur avec un microphone anti-bruit.) Donc j'ai fait une comparaison entre les deux en utilisant les mêmes enregistrements audio. Pour pocketsphinx, j'ai utilisé pocketsphinx_batch avec le modèle audio WSJ et un petit dictionnaire de vocabulaire et de langage (créé en ligne avec le Cambridge language modelling toolkit.) Pour Sphinx4 j'ai écrit un petit programme Java utilisant la bibliothèque Sphinx4. Le résultat était que Sphinx4 était beaucoup plus précis. Tous les détails sanglants sont à http://www.jaivox.com/pocketsphinx.html.

2
répondu vjaivox 2013-01-08 02:12:54