на главную POISK-IT
 СобытияО компанииПродукцияРешенияТехнологииКонтактыПубликации
poisk-it
На главную Публикации

Алгоритм формирования структуры эталона для пословного дикторонезависимого распознавания команд ограниченного словаря журнал "Искусственный интелект" №4 - 2009 год

В статье описан алгоритм формирования структуры эталонов для дикторонезависимой системы распознавания изолированно произносимых слов ограниченного словаря (около 100 слов), позволяющий в автоматическом режиме определять структуру марковских моделей распознаваемых речевых единиц и формировать для них эталонные модели. Алгоритм может быть использован как при подготовке прототипов моделей для исследовательского программного пакета HTK (HiddenMarkovModelToolkit), так и для формирования законченных эталонных моделей распознаваемых речевых единиц.

Постановка задачи: разработка алгоритма подготовки системы эталонов для дикторонезависимой системы распознавания изолированно произносимых слов словаря объёмом до 100 слов в условиях офисных шумов. В данной постановке целесообразно использовать аппарат марковских моделей, и в качестве распознаваемых речевых единиц брать целые слова.

Первичная обработка речевого сигнала

Для формирования системы эталонов применялась первичная обработка аналогичная описанной в статье "Дикторозависимая система распознавания изолированных команд ограниченного словаря, реализованная на звуковом микроконтроллере фирмы ООО «Юникор микросистемы», г. Москва" (см. в данном номере). Можно отметить, что в ходе первичной обработки, определяются границы речевого сигнала и происходит преобразование отсчетов в последовательность векторов параметров.

Формирование эталонов слов

В системах, построенных на базе скрытых марковских моделей, предполагается, что речевой сигнал может быть представлен в виде последовательности сегментов, каждый из которых, рассматривается как стационарный на своём протяжении, переход между такими сегментами осуществляется мгновенно. Несмотря на то, что такое предположение в целом не корректно, скрытые марковские модели (СММ) служат основой для большинства современных систем распознавания речи.

Обычная марковская модель состоит из цепочки состояний, между которыми определены оценки вероятностей перехода. При формировании акустических моделей речевых единиц, как правило, используются лево-правые модели, для которых невозможен переход в предыдущие состояния. На рисунке 1 изображена лево-правая модель Маркова, состоящая из шести состояний.

модель Маркова
Рисунок 1.
Скрытая марковская модель

Если состояние задано смесью Гауссовых распределений в пространстве признаков, для вычисления значения  используется формула (1):

Начальные и конечные состояния (1 и 6) обозначены для удобства возможного последующего соединения моделей друг с другом, для этих состояний не определена Гауссова смесь, а вероятность перехода  всегда равна единице. Оценить вероятности переходов для остальных состояний  можно разными способами. Можно пользоваться классическим определением вероятности и подсчитывать значение напрямую, что удобно для дискретных моделей. В режиме обучения (дообучения) для оценки параметров непрерывных моделей, традиционно используется алгоритм Баума-Уелша, модификация которого для задачи распознавания речи хорошо описана в работе [1].

            Можно считать, что модель задана, если определены следующие параметры:

  1.   - матрица переходных вероятностей;
  2.  - Гауссовы смеси состояний;
  3.       - начальное распределение состояний модели:,

где  означает номер состояния, а  - номер первого состояния. Применительно к моделям, у которых есть дополнительные состояния (начальное и конечное), данное распределение относится ко второму состоянию.

При использовании марковских моделей для описаний распознаваемых речевых единиц приходится задавать начальную структуру моделей. Под структурой моделей Маркова в данной статье подразумевается число состояний модели, а также конфигурация и количество мод состояний. Обычно структура модели задаётся приблизительно (для простоты очень часто одинаково для всех речевых единиц так, как это описано, например в работе [2]) в уповании на то, что в процессе обучения структура примет желаемую форму, оптимальную в некотором смысле, обусловленном алгоритмом обучения и обучающим материалом. К сожалению, процедура переоценки параметров модели Баума-Уэлша, как и многие другие процедуры обучения часто выдают локально-оптималтьный результат. Вероятность попасть в локальный минимум тем выше, чем дальше отстоит заданный прототип модели от действительного. Поэтому актуальной задачей является определение структуры моделей адекватных соответствующим речевым единицам.

Определение структуры моделей

Поскольку рассматривается система распознавания изолированно произносимых слов, как уже было замечено, целесообразно в качестве речевых единиц брать целые слова. Формирование структуры моделей слов сводится к определению числа состояний и их конфигурации. Конфигурация состояний характеризуется количеством, формой и координатами центров входящих в него мод (компонент смеси). В работе использовались моды сферической формы, описываемые радиально-базисной функцией гауссова вида:

Для определения структуры моделей слов был разработан алгоритм, позволяющий решать данную задачу практически в автоматическом режиме (конечно, не исключена возможность последующей коррекции моделей). Алгоритм состоит из нескольких этапов:

Этап 1. Кластерный анализ

Последовательности векторов параметров (ВП), полученные в результате первичной обработки обучающего речевого материала, отображаются в многомерное пространство признаков в виде множества точек. Используя алгоритм кластерного анализа, разбиваем исходное множество точек на кластеры сферической формы. В результате имеем область признакового пространства, размеченную на кластеры. Каждый кластер характеризуется вектором координат центра (), средним разбросом вокруг него () и весом кластера (), который пропорционален его частоте встречаемости.

Этап 2. Вычисление эталонной (средней) траектории всех реализаций

Среди всего множества реализаций речевой единицы, для которой формируется модель, выбирается "средняя", такая, для которой среднее расстояние от всех остальных реализаций, вычисленное методом динамического программирования (ДП), будет минимальным. Затем, выбранная траектория реализации, перемещается в пространстве признаков таким образом, чтобы еще более минимизировать среднее расстояние до нее от траекторий всех реализаций. Данная процедура выполняется итеративно: каждая точка преобразуемой траектории перемещается в направлении уменьшения среднего расстояния до остальных реализаций до тех пор, пока оценка среднего расстояния не перестанет уменьшаться на некоторую, заранее заданную величину.

Этап 3. Определение числа состояний модели (формирование начальной модели)

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

Этап 4. Согласование реализаций по времени

Согласование всех реализаций по времени выполняется методом ДП. Каждая реализация согласуется с полученной на этапе 2 средней траекторией (назовём ее эталонной). В результате имеем матрицы согласования по времени реализаций и средней траектории, элементы которой равны единицы вдоль траектории деформации времени. Все остальные элементы равны нулю (см. рисунок 2):


Рисунок 2.
Матрица согласования по времени реализации и средней траектории

Этап 5. Согласование реализаций по времени с начальной моделью

Начальная модель имеет число состояний, определённое в пункте 3. Начальные моды состояний соответствуют кластерам, по которым проходит средняя траектория. Используя полученные на предыдущем этапе матрицы согласования по времени всех реализаций со средней траекторией, определяем матрицу согласования реализаций с начальной моделью. Графически, требуемую матрицу можно представить в виде, как это изображено на рисунке:


Рисунок 3.
Определение состава состояний начальной модели

Этап 6. Определение модального состава состояний модели

Структура марковской модели распознаваемых речевых единиц в основном определяется количеством и конфигурацией входящих в нее состояний, а конфигурация состояний определяется количеством и конфигурацией входящих в нее мод (или кластеров). Заполнение состояний кластерами (или, что здесь эквивалентно: определение модального состава состояний) осуществляется в соответствии с матрицей, полученной на предыдущем этапе.

Каждая точка эталонной траектории, как было определено на этапе 3, принадлежит тому или иному состоянию начальной модели. С каждой точкой эталонной траектории, посредством упомянутой матрицы согласования по времени, связаны точки реализаций речевых единиц из обучающего множества. Поскольку реализации могут быть представлены в виде последовательностей кластеров, не сложно определить какие кластеры какому интервалу времени вдоль средней траектории (или, другими словами, какому состоянию начальной модели) принадлежат.

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

Этап 7. Коррекция моделей

При необходимости, если на взгляд эксперта полученная модель не является оптимальной (например, один кластер попал в соседние состояния), имеется возможность коррекции модели. На основе собранной статистической информации о модели, и имея возможность увидеть форму вектора координат на плоскости любого центра кластера, не трудно внести необходимые коррекции в структуру модели. Для систем распознавания речи слов ограниченного словаря эта процедура не обременительна, и более того, необходима для получения моделей слов, максимально соответствующих реальной структуре речевого сигнала данного слова, если, конечно, руководствоваться данным подходом.

Распознавание (алгоритм Витерби)

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

Наиболее удачно с практической точки зрения реализация данного алгоритма была рассмотрена в работе [3].

Реализация алгоритма распознавания в технических системах может быть различной и отличия в основном обусловлены характеристиками вычислительной среды. Вычисление вероятностей принадлежности сигнала модели подразумевает большое число операций умножений чисел много меньших единицы, поэтому, как правило, используется логарифм вероятностей. При этом операция умножения заменяется сложением, а ноль становится минус бесконечностью. Далее приводится алгоритм, который для удобства изложения, выполняется путём перемещения фишек по состояниям модели:

  1. Инициализация моделей. В начальный момент времени, первое состояние любой модели имеет фишку со значением 0. В это же время, все остальные состояния имеют фишку со значением минус бесконечность.
  2. В каждый момент времени, для каждого состояния i, переносим-копируем фишку из предыдущего состояния во все связанные состояния j, модифицируя значение фишки на величину: .
  3. После того как перенесли-скопировали все фишки из предыдущих состояний, некоторые состояния имеют по несколько фишек. Оставляем только фишки с наибольшим значением, все остальные убираем. Повторяем пункты 1, 2, 3 для всех моделей, до последнего момента времени распознаваемой последовательности ВП.
  4. Проверяем все финальные состояния моделей. Фишка с наибольшим накопленным значением указывает на модель, больше остальных соответствующей распознаваемой последовательности.

Экспериментальные исследования

Тестирование проводилось с целью оценить эффективность подхода, основанного на алгоритме автоматического определения структуры марковских моделей. Для этого были получены модели средствами пакета HTK, и модели, полученные при помощи представленного в статье алгоритма. Все прочие условия были идентичны.

Обучающая выборка состояла из слов словаря объёмом в 100 слов. Каждое слово было произнесено 5 раз каждым диктором. Всего 10 дикторов (мужчины). Тестирующая выборка состояла из 10-ти реализаций каждого слова каждым диктором (те же дикторы, что и для обучения). Всего 10.000 реализаций слов для тестирования.

Модели, полученные средствами пакета HTK (алгоритм Баума-Уелша, моды имеют различный разброс по осям параметров, структура модели общая, наилучшая из 3-х опробованных: 7 состояний по четыре моды на состояние), продемонстрировали точность распознавания 92.2%. Модели, полученные алгоритмом формирования структуры (без последующего дообучения, одинаковый разброс по осям параметров) продемонстрировали точность 99.8%.

Выводы

При формировании марковских моделей слов (по акустическим параметрам) необходимо учитывать реальную акустическую структуру данного слова. Подбор структуры даёт существенный прирост показателя точности, особенно в условиях ограниченной обучающей выборки.

Литература:

1. Rabiner L.R. A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition //Proc. Of IEEE. – 1989. –Vol.77, №2. – P. 257-286

2. The HTK Book /Steve Young, Gunnar Evermann, Mark Gales, et al. (http://nesl.ee.ucla.edu/projects/ibadge/docs/ASR/htk/htkbook.pdf)

3. Young S.J., Russell N.H., Thornton J.H.S. Token Passing: a Simple Conceptual Model for Connected Speech Recognition Systems /Technical Report CUED/F-INFENG/TR38, Cambridge University. – 1989.

сотрудник ЗАО НТЦ «ПОИСК-ИТ» Кандидат технических наук Д.А. Кушнир

26.07.2009