Подтвердить что ты не робот

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

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

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 для распознавания общих слов, таких как карандаш и спагетти?

спасибо

-Mike

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

Чтобы добиться хорошей точности с помощью карманной шеи:

  • Важный! Убедитесь, что ваш микрофон, аудиоустройство, файл поддерживает 16 кГц, в то время как общая модель обучается на акустических примерах 16 кГц.
  • Вы должны создать свой собственный ограниченный словарь, вы не можете использовать cmusphinx-voxforge-de.dic, в то время как точность значительно снижается.
  • Вы должны создать свою собственную языковую модель.

Вы можете найти проект Jasper на GitLab, чтобы увидеть, как он реализован. Кроме того, пожалуйста, проверьте документацию

Ответ 6

Это на сайте CMUSphinx

"Существуют различные телефонные аппараты для представления телефонов, такие как IPA или SAMPA. CMUSphinx пока не требует использования каких-либо известных телефонных аппаратов, более того, он предпочитает использовать только буквенные имена телефонов без специальных символов. Это требование упрощает некоторые алгоритмы обработки Например, вы можете создавать файлы с именами телефонов как частью имен файлов без какого-либо нарушения требований к имени файла ОС.

Словарь должен содержать все интересующие вас слова, иначе распознаватель не сможет их распознать. Однако недостаточно иметь слова в словаре. Распознаватель ищет слово как в словаре, так и в языковой модели. Без языковой модели слово не будет распознано, даже если оно присутствует в словаре. " Https://cmusphinx.github.io/wiki/tutorialdict/