Подключенный распознаватель цифр с HTK

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

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

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

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

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

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


person Sriram    schedule 09.06.2011    source источник


Ответы (1)


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

person Neil    schedule 07.07.2011