Распознаватель подключенных цифр с HTK - PullRequest
1 голос
/ 09 июня 2011

Я пытаюсь разработать базовый распознаватель цифр с использованием HTK.На данный момент распознаватель должен распознавать цифры только от 0 до 10 и зависит от динамика (что сейчас не является проблемой).Вот как я выполняю распознавание:

  1. Получите wavfile, записанный пользователем, и создайте MFCC.
  2. Запустите HVite для файла mfcc с wordnet и словарем в качестве входных данных.

    Примечание по обучению для моделей hmm:

Базовые единицы для обучения начальных моделей HMM были выбраны из цепочек произносимых цифр.Я получаю около 20 единиц каждой цифры (прибл.), Которые входят в состав начальных моделей.Встроенные обучающие модели были синтезированы путем объединения базовых единиц (какая базовая единица для объединения выбирается случайным образом).Общее количество предложений, сгенерированных таким образом, составляет около 20000. Еще 109 предложений были взяты из реальных слов, произнесенных на этапе тестирования.

Проблема, с которой я сталкиваюсь, заключается в следующем:
1. В строке подключенных цифр длиной более 4 я получаю цифры, вставленные во входную строку на выходе.
Например.) Ввод: 99102, Выход: 989818082
Обратите внимание, что все цифры на входе распознаются правильно, просто есть посторонние цифры, введенные на выходе.Просмотр файла mlf показывает, что значения вероятности, связанные с этими словами, также похожи.Любая идея, почему это может происходить?

Я просмотрел сеть для решений этого, но не нашел ни одного.Любая помощь приветствуется.

1 Ответ

1 голос
/ 07 июля 2011

Вам нужно установить штраф за вставку слова (для опции HVite -p) - скорее всего, он установлен на 0.0 (по умолчанию).Вам придется поиграться с этим значением.Начните с -1,0 и идите более отрицательно.

...