Выбор оптимального алфавита марковских моделей для распознавания речи (отчет)
Материал из MachineLearning.
Введение в проект
Описание проекта
Цель проекта
Построение дерева скрытых марковских моделей (СММ) аллофонов.
Обоснование проекта
Полученные данные могут быть использованы в качестве словаря аллофонов в масштабных дикторонезависимых системах распознавания слитной русской речи.
Описание данных
В качестве речевого материала используется обучающая выборка базы данных TeCoRus, предназначенная для приложений, использующих телефонный канал связи. Обучающая выборка представляет собой шестичасовую запись чтения 6 дикторами и состоит из 510 отдельных предложений, отсегментированных и размеченных вручную. Звуковые данные перведены в мел-кепстральное представление, т.е. последовательность 12 компонентных мел-кепстральных векторов с шириной окна квантования 512 точек.
Критерии качества
Критерием качества служит логарифм правдоподобия контрольной выборки относительно модели.
Требования к проекту
Логарифм правдоподобия для нашего дерева должн быть больше логарифма правдоподобия для базового. В качестве базового выбран набор марковских моделей соответсвующих фонемам русского языка.
Выполнимость проекта
Сложность распознавания ухудшается высокой вариативностю произношения одних и тех же звуков, а так же различными артикулярными характеристиками речевого аппарата у разных дикторов. Так же в данных присутсвует фоновый шум.
Используемые методы
В данной работе для статистического моделирования спектральной динамики гласных и согласных звуков применяется скрытая марковская модель (СММ) из 3-х последовательных состояний. Классификация аллофонов осуществляется с помощью бинарных деревьев. Построение дерева осуществляется алгоритмом ID3.
Постановка задачи
Вход:
-  Обучающая выборка 
, элементы которой
, где
последовательность 12 мел-кепстральных векторов соответствует звуковой реализации фонемы, а
- правый, левый контекст аллофона и центральный элемент.
 
-  Список бинарных вопросов 
адресованных к центральному элементу аллофона. Служит множеством элементарных предикатов при построении бинарного дерева.
 
Выход:
-  Бинарное дерево скрытых марковских моделей аллофонов 
.
 
Функционал качества:
-  Логарифм правдоподобия выборки 
относительно модели
есть
 
Критерии останова:
-  Приращение 
меньше порога, или число элементов выборки в вершине меньше порогового.
 
Базовые предположения или гипотезы, лежащие в основе алгоритма
В настоящей работе для моделирования спектральной динамики гласных и согласных используется СММ, которая позволяет представить звук в виде последовательных состояний, соотносимых счленением звука на сегменты (субаллофоны). Внашем случае фонема разделяется на три отрезка (начальный и конечный формантные переходы плюс вокалическое ядро). Поэтому СММ имеет три состояния  и лево-правую матрицу переходных вероятностей 
.
Математическое описание алогритмов
Обучение скрытой марковской модели (СММ)
Составляющие СММ:
1.  — общее количество состояний в модели. В нашей задаче 
. Мы обозначим совокупность состояний модели множеством 
, а текущее состояние в момент времени 
 как 
.
2. Матрица вероятностей переходов , где
то есть это вероятность того, что система, находящаяся в состоянии , перейдет в состояние 
. В контексте нашей задачи используется лево-правая матрица переходов. То есть 
 и 
 для 
. В остальных состояниях вероятность перехода 
.
3. ,
где  - моделируемый вектор наблюдений, 
 - весовой коэффициент 
-й компоненты в состоянии 
.
 - гауссова плотность вероятности с вектором средних значений 
 и ковариационной матрицей 
.
4. Распределение вероятностей начального состояния , где
то есть вероятность того, что 
 это начальное состояние модели.
В нашем случае всегда начинаем с 1-го состояния т.е. 
Совокупность значений  и 
  - это скрытая марковская модель, которая может сгенерировать наблюдаемую последовательность.
Для решения задачи обучения СММ требуется подобрать параметры модели  таким  образом, чтобы максимизировать 
.
В этой работе используется метод Баума-Уэлча, EM-метод переоценки параметров СММ. Формулы повторного оценивания для коэффициентов  
, 
 и 
, составляющих плотности имеют вид.
,
где штрих означает транспонирование вектора, а  - вероятность того,что (при заданной последовательности наблюдений) в момент времени 
 модель находиться в состоянии 
, причём наблюдаемый в этот момент вектор 
 порождён 
-й компонентой смеси плотности, т.е.
,
где  - прямая переменная, а 
 - обратная переменная.
Алгоритм построения решающего дерева ID3
В качетсве основного алгоритма использовался рекурсивный алгоритм синтеза бинарного решающего дерева ID3. Идея заключается в последовательном дроблении выборки на две части до тех пор, пока дальнейшее расщепление не перестанет давать достаточное приращение информативности.
Процедура LearnID3 выглядит следующим образом
Вход:
-  
- выборка из последовательностей мел-кепстральных векторов соответсвующих фонеме;
 
-  
- множество вопросов к контесту фонемы, расщепляющих выборку на 2 класса.
 
Выход:
-  возвращает корневую вершину дерева 
 
-  найти предикат с максимальной информативностью:  
 -  разбить выборку на две части 
по предикату
;
 -  eсли (
= ∅ или
= ∅ ) или
≤
то
-  создать новый лист 
.
 
-  создать новый лист 
 
 -  иначе
-  создать новую вершину 
;
 -  
; (построить левое поддерево)
 -  
; (построить правое поддерево)
 
-  создать новую вершину 
 
 -  вернуть 
 
Для построения полного дерева рекурсивная процедура LearnID3 применяется ко всей выборке.
В качаестве критерия ветвления используется максимум приращения логарифма правдоподобия при ращеплении , где 
 - логарифм правдоподобия родительской вершины, а 
 и 
 - логарифм правдоподобия левой и правой дочерней вершин соответственно. Логарифм правдоподобия выборки 
 относительно СММ 
 есть 
 считается алгоритмом прямого-обратного хода. Т.е для каждого вопроса выборка из родительского узла разбивается на 2 части, на каждой части обучается СММ. Считается приращение 
 и выбирется вопрос дающий максимальное приращение информативности.
Множество вопросов к контексту фонемы (элементарных предикатов)  задается шаблоном:
left-center+right,
где left и right - названия классов левого и правого контекста, а center - имя класса центрального элемента, * - любая фонема. Например вопрос выделяющий все гласные:
*-ALL_VOWELS+*.
Предредукция или критерий раннего останова досрочно прекращает ветвление, если максимальное приращение информативности  меньше порогового 
.
Описание системы
Описание системы находится в файле Systemdocs.doc Файлы системы можно скачать здесь: BuildTreeAllophone
Отчет о вычислительных экспериментах
Выбор оптимальных значений параметров алгоритма
Выбор оптимального количества компонент смеси. Вычисления проводились дважды, видно что есть небольшой разброс. Оптимальный параметр M = 6.
Выбор минимального размера представительной выборки для гласных (фонемы А) и согласных (Т) минимальный размер равен примерно 200 фонем.
Отчет о полученных результатах
Фрагмент дерева (первые 3 уровня), правая ветвь ответ на вопрос к контексту фонемы ДА, левая - НЕТ Формат представления вершин следующий:
- для узлов
 
название_вопроса [NNNNx -xx.x]
где NNNNx - число элементов в вершине, -xx.x - нормированный логарифм правдоподобия
- для терминальных вершин
 
{список превалирующих фонем} 
[NNNNx -xx.x]
                                             ALL_HARD_CONS_FRONT
                                             [1696x, -10.6]
                              ALL_NASAL
                              [7345x, -13.4]
                              |              ALL_LATERALS
                              |              [5649x, -13.5]
               ALL_HARD_CONS_VOICED
               [26379x, -14.5]
               |              |              ALL_SOFT_CONS_VOICELESS
               |              |              [6476x, -13.7]
               |              ALL_SOFT_CONS
               |              [19034x, -14.0]
               |                             ALL_HARD_CONS
               |                             [12558x, -13.4]
ALL_CONS
[39983x, -15.0]
               |                             { W  I  E  A  O }
               |                             [820x, -12.3]
               |              L_ALL_SOFT_NASAL
               |              [5308x, -12.8]
               |              |              L_ALL_SOFT_CONS_VOICELESS
               |              |              [4488x, -12.5]
               L_ALL_SOFT_CONS
               [13604x, -14.1]
                              |              { A  U  JA  Y  O }
                              |              [635x, -12.2]
                              R_PHRASE_BOUNDARY
                              [8296x, -14.0]
                                             L_ALL_HARD_BILAB
                                             [7661x, -13.7]
Вопрос представляет собой следующее (* - любая фонема) например:
L_ALL_SOFT_CONS = ALL_SOFT_CONS-*+*
где ALL_SOFT_CONS класс фонем
ALL_SOFT_CONS = {B' P' D' T' G' K' CH' JH' V' F' Z' S' X' XV' ZH' SH' M' N' L' R' J'}
Список литературы
- К. В. Воронцов, Лекции по логическим алгоритмам классификации
 - Л. Рабинер, Скрытые марковские модели, ТИИЭР №2, февраль 1989
 - Рабинер, Шафер, Цифровая обработка речевых сигналов, М., Радио и связь, 1980
 - X. Huang, A. Acero, H. Hon, Spoken Language Processing, A Guide to Theory, Algorithm and System Development, Prentice-Hall Inc, 2001
 
|   |  Данная статья была создана в рамках учебного задания.
 
 См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.  | 




