Pocketsphinx-добавление слов и повышение точности

мне удалось, наконец, построить и запустить pocketsphinx (pocketsphinx_continuous). Проблема я бегу в том, как к повышению точности. Из того, что я понимаю, вы можете указать файл словаря (-dict test.ДВС-синдром.) Поэтому я взял файл словаря по умолчанию и добавил еще несколько произношений тех же слов, например:

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

тем не менее pocketsphinx по-прежнему не распознает ни одно слово вообще. Я знаю, что есть файл jsgf, который вы также можете указать , но это кажется больше для фразы и грамматика. Как я могу заставить pocketsphinx распознавать общие слова, такие как карандаш и спагетти?

спасибо

-Майк

4 ответов


что-то вроде этого, вы не можете быть уверены, но я могу предложить следующие рекомендации:

  1. возможно, языковая модель каким-то образом имеет низкие вероятности для "спагетти" и "карандаша". Как вы предложили, вы можете использовать JSGF, чтобы проверить, как он работает для распознавания, если он не использует N-граммовые модели, а вместо этого делает простую грамматику (дайте ей двадцать слов, включая спагетти и карандаш). Таким образом, вы можете увидеть, если это возможно, модель языка, которая это затрудняет распознавание этих слов, и это может сделать хорошо, если он считает, что все слова имеют равную вероятность.

  2. возможно, вы просто произносите эти слова плохо, даже с альтернативной словарных статей. Попробуйте либо A. тестирование голосов других людей, либо B. адаптация акустической модели к вашему голосу (см.http://cmusphinx.sourceforge.net/wiki/tutorialam)

  3. кроме того, что он распознает их, как когда это провал? Если возможно, удалите слов misrecognizes как из словаря.

опять же, для общей точности, только три вещи действительно помогут вам: ограничение грамматики, адаптация акустической модели и, возможно, получение более высокого качества записи.


для повышения точности вы можете попробовать адаптировать акустическую модель к вашему голосу. http://cmusphinx.sourceforge.net/wiki/tutorialadapt

чтобы узнать, как добавить новые слова:http://ghatage.com/tech/2012/12/13/Make-Pocketsphinx-recognize-new-words/


убедитесь, что вы поставили вкладку (не пробел) после слова и до начала произношения.


может быть проблема с Pocketsphinx. Я тоже не получал хороших результатов с Pocketsphinx. Но я получал очень хорошую точность с Sphinx4 (для американского динамика с шумоподавляющим микрофоном.) Поэтому я провел сравнение между ними, используя одни и те же аудиозаписи. Для pocketsphinx я использовал pocketsphinx_batch с аудиомоделью WSJ и небольшую языковую модель и словарь (созданный онлайн с помощью CMU Cambridge language modelling toolkit.) Для Sphinx4 я написал небольшая Java-программа с использованием библиотеки Sphinx4. В результате Сфинкс оказался гораздо точнее. Все кровавые подробности на http://www.jaivox.com/pocketsphinx.html.