Проблема с Pocketsphinx setKeywordThreshold()

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

  1. Какова роль (использование) метода setKeywordThreshold(1e-5f). Какое минимальное и максимальное значение разрешено в этом методе.

  2. Я хочу сделать поддержку разных языков и найти встроенные акустические модели для некоторых языков по этой ссылке http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/. но я не могу понять, какая модель будет лучше для какого языка из-за отставания в документации. Может ли кто-нибудь предложить мне лучшие встроенные акустические модели для следующих языков:

    (а). Австралийский английский (б). Американский английский (с). Британский английский (д). Канадский английский (е). Европейский английский (ф). Индийский английский (г). Ирландский английский (h). Новозеландский английский (i). Южноафриканский английский (j). русский (к). испанский (л). Французский (м). голландский (сущ.). Немецкий

  3. Я просто хочу распознавать числа от 1 до 200 на каждом языке. Каков наилучший способ сделать это?

  4. Я создал файл digits.gram для распознавания цифр от 1 до 99, но он также распознает фоновый голос. Например, когда появляется какой-либо фоновый звук бурильной машины, он распознает его как один. Как мы можем распознавать цифры только тогда, когда эти конкретные цифры произносятся?

файл digits.gram

#JSGF V1.0;

grammar digits;

<single> = one | two | three | four | five | six | seven | eight | nine ;
<digit> = <single> |
          zero  |
          ten   |
          eleven |
          twelve |
          thirteen |
          fourteen |
          fifteen |
          sixteen |
          seventeen |
          eighteen |
          nineteen |
          twenty |
          thirty |
          forty |
          fifty |
          sixty |
          seventy |
          eighty |
          ninety |
          twenty <single> |
          thirty <single> |
          forty <single> |
          fifty <single> |
          sixty <single> |
          seventy <single> |
          eighty <single> |
          ninety <single> ;

person Kunal    schedule 30.10.2014    source источник


Ответы (1)


Лучший способ решить проблему 4 — добавить ключевое слово для запуска распознавания. Когда у вас есть ключевое слово, вы можете предположить, что пользователь знает, как использовать вашу систему, и скажет «привет, Pocketsphinx» перед реальной командой.

Итак, можете попробовать:

  • Используйте ключевое слово.
  • Отфильтруйте выходные данные достоверностью, которая должна быть возвращена декодером.
  • Также вы можете добавить еще несколько общих слов в качестве запасных в свой словарь, чтобы Pocketsphinx сопоставлял их вместо вашего «правильного» списка, возможно, это повысит точность. (но это может быть даже полезно, вы должны поиграть с ним, чтобы найти лучший способ решить ваш сценарий)
person Ievgen Naida    schedule 26.02.2019