Выбор оптимального алфавита марковских моделей для распознавания речи (отчет)
Материал из MachineLearning.
Строка 7: | Строка 7: | ||
=== Обоснование проекта === | === Обоснование проекта === | ||
- | Полученные данные могут быть использованы в качестве словаря аллофонов в масштабных дикторонезависимых системах распознавания слитной русской речи. | + | Полученные данные могут быть использованы в качестве словаря [http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%BB%D0%BE%D1%84%D0%BE%D0%BD аллофонов] в масштабных дикторонезависимых системах распознавания слитной русской речи. |
=== Описание данных === | === Описание данных === | ||
- | В качестве речевого материала используется обучающая выборка базы данных TeCoRus, предназначенная для приложений, использующих телефонный канал связи. Обучающая выборка представляет собой шестичасовую запись чтения 6 дикторами и состоит из 510 отдельных предложений, отсегментированных и размеченных вручную | + | В качестве речевого материала используется обучающая выборка базы данных TeCoRus, предназначенная для приложений, использующих телефонный канал связи. Обучающая выборка представляет собой шестичасовую запись чтения 6 дикторами и состоит из 510 отдельных предложений, отсегментированных и размеченных вручную. Звуковые данные перведены в [http://en.wikipedia.org/wiki/Mel-frequency_cepstrum мел-кепстральное] представление, т.е. последовательность 12 компонентных мел-кепстральных векторов с шириной окна квантования 512 точек. |
=== Критерии качества === | === Критерии качества === | ||
Строка 22: | Строка 22: | ||
=== Используемые методы === | === Используемые методы === | ||
- | В данной работе для статистического моделирования спектральной динамики гласных и согласных звуков применяется скрытая марковская модель (СММ) из 3-х последовательных состояний. Классификация аллофонов осуществляется с помощью бинарных деревьев. | + | В данной работе для статистического моделирования спектральной динамики гласных и согласных звуков применяется [http://ru.wikibooks.org/wiki/%D0%A1%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B5_%D0%BC%D0%B0%D1%80%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8#.D0.A2.D1.80.D0.B8_.D0.BE.D1.81.D0.BD.D0.BE.D0.B2.D0.BD.D1.8B.D1.85_.D0.B7.D0.B0.D0.B4.D0.B0.D1.87.D0.B8_.D0.A1.D0.9C.D0.9C скрытая марковская модель] (СММ) из 3-х последовательных состояний. Классификация аллофонов осуществляется с помощью бинарных деревьев. Построение дерева осуществляется алгоритмом ID3. |
== Постановка задачи == | == Постановка задачи == | ||
Строка 28: | Строка 28: | ||
'''Вход: ''' | '''Вход: ''' | ||
- | Обучающая выборка <tex>X</tex>, элементы которой <tex>x_i = \{ M, C \}</tex>, где <tex>M</tex> последовательность 12 мел-кепстральных векторов соответствует звуковой реализации фонемы, а <tex>C = \{c_{left}, c_{center}, c_{right} \}</tex> - правый, левый контекст аллофона и центральный элемент. | + | * Обучающая выборка <tex>X</tex>, элементы которой <tex>x_i = \{ M, C \}</tex>, где <tex>M</tex> последовательность 12 мел-кепстральных векторов соответствует звуковой реализации фонемы, а <tex>C = \{c_{left}, c_{center}, c_{right} \}</tex> - правый, левый контекст аллофона и центральный элемент. |
- | Список бинарных вопросов <tex>Q</tex> адресованных к центральному элементу аллофона. Служит множеством элементарных предикатов при построении бинарного дерева. | + | * Список бинарных вопросов <tex>Q</tex> адресованных к центральному элементу аллофона. Служит множеством элементарных предикатов при построении бинарного дерева. |
'''Выход:''' | '''Выход:''' | ||
- | Бинарное дерево скрытых марковских моделей (СММ) аллофонов <tex>T</tex>. | + | * Бинарное дерево скрытых марковских моделей (СММ) аллофонов <tex>T</tex>. |
'''Функционал качества:''' | '''Функционал качества:''' | ||
- | Логарифм правдоподобия выборки <tex>\{X\}_1^n</tex> относительно модели <tex>\lambda</tex> есть <tex>LL = \sum_{i=1}^n \log P(M_i|\lambda)</tex> | + | * Логарифм правдоподобия выборки <tex>\{X\}_1^n</tex> относительно модели <tex>\lambda</tex> есть <tex>LL = \sum_{i=1}^n \log P(M_i|\lambda)</tex> |
'''Критерии останова: ''' | '''Критерии останова: ''' | ||
- | Приращение <tex>\Delta LL</tex> меньше порога, или число элементов выборки в вершине меньше порогового. | + | * Приращение <tex>\Delta LL</tex> меньше порога, или число элементов выборки в вершине меньше порогового. |
== Базовые предположения или гипотезы, лежащие в основе алгоритма == | == Базовые предположения или гипотезы, лежащие в основе алгоритма == | ||
- | + | В настоящей работе для моделирования спектральной динамики гласных и согласных используется скрытая марковская модель СММ, которая позволяет представить звук в виде последовательных состояний, соотносимых счленением звука на сегменты (субаллофоны). Внашем случае фонема разделяется на три отрезка одинаковой длины (начальный и конечный формантные переходы плюс вокалическое ядро). Поэтому СММ имеет три состояния <tex>Q = 3</tex> и лево-правую матрицу переходных вероятностей <tex>A = \{a_{ij}\}</tex>. | |
- | В настоящей работе для моделирования спектральной динамики гласных используется скрытая марковская модель СММ, которая позволяет представить звук в виде последовательных состояний, соотносимых счленением звука на сегменты (субаллофоны). Внашем случае | + | |
==Математическое описание алогритмов== | ==Математическое описание алогритмов== | ||
Строка 56: | Строка 55: | ||
'''Составляющие СММ:''' | '''Составляющие СММ:''' | ||
- | 1. <tex>Q</tex> — общее количество состояний в модели. В нашей задаче <tex>Q = 3</tex> Мы обозначим совокупность состояний модели множеством <tex>S = \left\{ S_1, S_2, \ldots S_N \right\}</tex>, а текущее состояние в момент времени <tex>t</tex> как <tex>q_t</tex>. | + | 1. <tex>Q</tex> — общее количество состояний в модели. В нашей задаче <tex>Q = 3</tex>. Мы обозначим совокупность состояний модели множеством <tex>S = \left\{ S_1, S_2, \ldots S_N \right\}</tex>, а текущее состояние в момент времени <tex>t</tex> как <tex>q_t</tex>. |
- | 2. Матрица вероятностей переходов <tex>A = | + | 2. Матрица вероятностей переходов <tex>A = \{ a_{ij} \}</tex>, где |
- | <tex>a_{ij} = P \left[ q_{t+1} = S_j | q_t =S_i \right], | + | <tex>a_{ij} = P \left[ q_{t+1} = S_j | q_t =S_i \right],\; 1 \le i, j \le N,</tex> |
- | то есть это вероятность того, что система, находящаяся в состоянии <tex>S_i</tex>, перейдет в состояние <tex>S_j</tex>. В контексте нашей задачи используется лево-правая матрица переходов. То есть <tex>a_{ii} > 0</tex> и <tex>a_{ | + | то есть это вероятность того, что система, находящаяся в состоянии <tex>S_i</tex>, перейдет в состояние <tex>S_j</tex>. В контексте нашей задачи используется лево-правая матрица переходов. То есть <tex>a_{ii} > 0</tex> и <tex>a_{j,j+1} > 0</tex> для <tex>1 \le i \le N,\; 1 \le j \le N-1</tex>. В остальных состояниях вероятность перехода <tex>a_{ii} = 0</tex>. |
- | 3. <tex>b_i(O) = \sum_{m=1}^M c_{jm} N(O, \mu_{jm}, \Sigma_{jm}), | + | 3. <tex>b_i(O) = \sum_{m=1}^M c_{jm} N(O, \mu_{jm}, \Sigma_{jm}), 1 \le i, j \le N</tex>, |
- | где <tex> | + | где <tex>O</tex> - моделируемый вектор наблюдений, <tex>c_{jm}</tex> - весовой коэффициент <tex>m</tex>-й компоненты в состоянии <tex>j</tex>. |
<tex>N(O, \mu_{jm}, \Sigma_{jm})</tex> - гауссова плотность вероятности с вектором средних значений <tex>\mu_{jm}</tex> и ковариационной матрицей <tex>\Sigma_{jm}</tex>. | <tex>N(O, \mu_{jm}, \Sigma_{jm})</tex> - гауссова плотность вероятности с вектором средних значений <tex>\mu_{jm}</tex> и ковариационной матрицей <tex>\Sigma_{jm}</tex>. | ||
У нас используется <tex>M = 6</tex> компонет смеси. | У нас используется <tex>M = 6</tex> компонет смеси. | ||
Строка 98: | Строка 97: | ||
В качетсве основного алгоритма использовался рекурсивный алгоритм синтеза бинарного решающего дерева ID3. Идея заключается в последовательном дроблении выборки на две части до тех пор, пока дальнейшее расщепление не перестанет давать достаточное приращение информативности. | В качетсве основного алгоритма использовался рекурсивный алгоритм синтеза бинарного решающего дерева ID3. Идея заключается в последовательном дроблении выборки на две части до тех пор, пока дальнейшее расщепление не перестанет давать достаточное приращение информативности. | ||
- | Процедура LearnID3 выглядит следующим образом | + | Процедура ''LearnID3'' выглядит следующим образом |
'''Вход:''' | '''Вход:''' | ||
- | <tex>U</tex> - выборка из последовательностей мел-кепстральных векторов соответсвующих фонеме; | + | * <tex>U</tex> - выборка из последовательностей мел-кепстральных векторов соответсвующих фонеме; |
- | <tex>Q</tex> - множество вопросов к контесту фонемы, ращепляющих выборку на 2 класса. | + | * <tex>Q</tex> - множество вопросов к контесту фонемы, ращепляющих выборку на 2 класса. |
'''Выход:''' | '''Выход:''' | ||
- | возвращает корневую вершину дерева | + | * возвращает корневую вершину дерева <tex>T</tex> |
- | |||
# найти предикат с максимальной информативностью: <tex>q = \arg\max_{q\in Q} I(q,U)</tex> | # найти предикат с максимальной информативностью: <tex>q = \arg\max_{q\in Q} I(q,U)</tex> | ||
# разбить выборку на две части <tex>U = U_0 \cup U_1</tex> по предикату <tex>q</tex>; | # разбить выборку на две части <tex>U = U_0 \cup U_1</tex> по предикату <tex>q</tex>; | ||
- | # eсли (<tex>U_0 = | + | # '''eсли''' (<tex>U_0 = ∅ </tex> или <tex>U_1 = ∅ </tex>) или <tex>I(q,U) ≤ I_0</tex> '''то''' |
- | # ::создать новый лист <tex>v</tex>. | + | #:: создать новый лист <tex>v</tex>. |
- | # иначе | + | # '''иначе''' |
#:: создать новую вершину <tex>v</tex>; | #:: создать новую вершину <tex>v</tex>; | ||
#:: <tex>L_v = LearnID3(U_0)</tex>; (построить левое поддерево) | #:: <tex>L_v = LearnID3(U_0)</tex>; (построить левое поддерево) | ||
Строка 121: | Строка 119: | ||
# вернуть <tex>(v)</tex> | # вернуть <tex>(v)</tex> | ||
- | Для построения полного дерева рекурсивная процедура LearnID3 применяется ко всей выборке. | + | Для построения полного дерева рекурсивная процедура ''LearnID3'' применяется ко всей выборке. |
- | В качаестве критерия ветвления используется максимум приращения логарифма правдоподобия <tex>\Delta LL = (LL_l + LL_r) - LL_p</tex>, где <tex>LL_p</tex> - логарифм правдоподобия родительской вершины, а <tex>LL_l</tex> и <tex>LL_r</tex> - логарифм правдоподобия левой и правой дочерней вершин соответственно. Логарифм правдоподобия выборки <tex>\{X\}_1^n</tex> относительно СММ <tex>\lambda</tex> есть <tex>LL = \sum_{i=1}^n \log P(M_i|\lambda)</tex> считается алгоритмом прямого-обратного хода. | + | В качаестве критерия ветвления используется максимум приращения логарифма правдоподобия при ращеплении <tex>\Delta LL = (LL_l + LL_r) - LL_p</tex>, где <tex>LL_p</tex> - логарифм правдоподобия родительской вершины, а <tex>LL_l</tex> и <tex>LL_r</tex> - логарифм правдоподобия левой и правой дочерней вершин соответственно. Логарифм правдоподобия выборки <tex>\{X\}_1^n</tex> относительно СММ <tex>\lambda</tex> есть <tex>LL = \sum_{i=1}^n \log P(M_i|\lambda)</tex> считается алгоритмом прямого-обратного хода. Т.е для каждого вопроса выборка из родительского узла разбивается на 2 части, на каждой части обучается СММ. Считается приращение <tex>\Delta LL</tex> и выбирется вопрос дающий максимальное приращение информативности. |
Множество вопросов к контексту фонемы (элементарных предикатов) <tex>Q</tex> задается шаблоном: | Множество вопросов к контексту фонемы (элементарных предикатов) <tex>Q</tex> задается шаблоном: |
Версия 09:36, 23 февраля 2010
Введение в проект
Описание проекта
Цель проекта
Цель проекта -- выбор оптимального набора марковских моделей для распознавания речи.
Обоснование проекта
Полученные данные могут быть использованы в качестве словаря аллофонов в масштабных дикторонезависимых системах распознавания слитной русской речи.
Описание данных
В качестве речевого материала используется обучающая выборка базы данных 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+*.
Предредукция или критерий раннего останова досрочно прекращает ветвление, если максимальное приращение информативности меньше порогового
.
Варианты или модификации
Описание системы
- Ссылка на файл system.docs
- Ссылка на файлы системы
Отчет о вычислительных экспериментах
Визуальный анализ работы алгоритма
Анализ качества работы алгоритма
Анализ зависимости работы алгоритма от параметров
Отчет о полученных результатах
Список литературы
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |