Участница:DespairedController/Черновик:Распознавание речи
Распознавание речи (англ. Speech Recognition) — процесс преобразования речевого сигнала в цифровую информацию.
Задачей распознавания является сопоставление набору акустических признаков речевого сигнала или наблюдений
последовательности слов , имеющих наибольшую вероятность правдоподобия среди всех кандидатов. Для этого используется формула Байеса:Причем, в процессе распознавания вероятность уже полученных признаков Р(Х) не подлежит оптимизации и знаменатель в формуле не испльзуется:
Содержание
Классификация систем распознавания речи
Системы распознавания речи классифицируются[1]:
- по размеру словаря (ограниченный набор слов, словарь большого размера);
- по зависимости от диктора (дикторозависимые и дикторонезависимые системы);
- по типу речи (слитная или раздельная речь);
- по назначению (системы диктовки, командные системы);
- по используемому алгоритму (нейронные сети, скрытые Марковские модели, динамическое программирование);
- по типу структурной единицы (фразы, слова, фонемы, дифоны, аллофоны);
- по принципу выделения структурных единиц (распознавание по шаблону, выделение лексических элементов).
Структура систем распознавания речи
Системы распознавания речи впервые появились в 1952 году. С тех пор методы распознавания не раз менялись. Ранее использовались такие методы и алгоритмы, как:
- Динамическое программирование (Dynamic Time Warping) - временные динамические алгоритмы, выполняющие классификацию на основе сравнения с эталоном.
- Методы дискриминантного анализа, основанные на Байесовской дискриминации (Bayesian discrimination).
- Скрытые Марковские Модели (Hidden Markov Model).
- Нейронные сети (Neural Networks).
В настоящее время, перечисленные выше методы как правило комбинируются. Их сочетание позволяет получить более высокое качество распознавания, чем использование каждой модели отдельно.
Системы распознавания речи имеют следующие основные модули:
- Акустическая модель
- Языковая модель
- Декодер
Акустическая модель
Фонема (phoneme) — элементарная единица человеческой речи. Примерами фонем являются транскрипции в формате IPA — так, слово hello состоит из фонем [hɛˈləʊ].
Акустическая модель — это функция, принимающая на вход признаки на небольшом участке акустического сигнала (фрейме) и выдающая распределение вероятностей различных фонем на этом фрейме. Таким образом, акустическая модель дает возможность по звуку восстановить, что было произнесено — с той или иной степенью уверенности.
Самой популярной реализацией акустической модели является скрытая Марковская модель (СММ), в которой скрытыми состояниями являются фонемы, а наблюдениями — распределения вероятностей признаков на фрейме.
Рассмотрим подробнее акустическую модель на основе СММ для слова six:
![]() Акустическая модель для слова six. Источник |
В круглых (скрытых) состояниях изображены фонемы, а в квадратных (наблюдениях) — распределения вероятностей признаков (для упрощения, здесь изображено одномерное распределение). Фонемы часто разбивают на 3 этапа — начало, середину и конец, — потому что фонема может звучать по-разному в зависимости от момента времени её произнесения. Каждое скрытое состояние содержит переход само в себя, так как время произнесения одной фонемы может занять несколько фреймов. Вероятности перехода между фонемами в СММ являются обучаемыми параметрами, и для их настройки используют алгоритм Баума-Велша. Последовательность фонем по набору распределений на фреймах восстанавливают по алгоритму Витерби.
![](/wiki/images/thumb/4/4c/GMM_acoustic.jpeg/300px-GMM_acoustic.jpeg)
В качестве функции распределения вероятностей признаков часто выбирают смешанную гауссову модель (англ. Gaussian Mixture Model, GMM): дело в том, что одна и та же фонема может звучать по-разному, например, в зависимости от акцента. Так как эта функция является по сути суммой нескольких нормальных распределений, она позволяет учесть различные звучания одной и той же фонемы.
Языковая модель
Языковая модель — позволяет узнать, какие последовательности слов в языке более вероятны, а какие менее. Здесь в самом простом случае требуется предсказать следующее слово по известным предыдущим словам. В традиционных системах применялись модели типа N-грамм, в которых на основе большого количества текстов оценивались распределения вероятности появления слова в зависимости от N предшествующих слов. Для получения надежных оценок распределений параметр N должен быть достаточно мал: одно, два или три слова — модели униграмм, биграмм или триграмм соответственно. Внедрение языковой модели в систему распознавания речи позволило значительно повысить качество распознавания за счет учета контекста.
Декодер
В ходе работы системы автоматического распознавания речи задача распознавания сводится к определению наиболее вероятной последовательности слов, соответствующих содержанию речевого сигнала. Наиболее вероятный кандидат должен определяться с учетом как акустической, так и лингвистической информации. Это означает, что необходимо производить эффективный поиск среди возможных кандидатов с учетом различной вероятностной информации. При распознавании слитной речи число таких кандидатов огромно, и даже использование самых простых моделей приводит к серьезным проблемам, связанным с быстродействием и памятью систем. Как результат, эта задача выносится в отдельный модуль системы автоматического распознавания речи, называемый декодером. Декодер должен определять наиболее грамматически вероятную гипотезу для неизвестного высказывания – то есть определять наиболее вероятный путь по сети распознавания, состоящей из моделей слов (которые, в свою очередь, формируются из моделей отдельных фонов). Правдоподобие (likelihood) гипотезы определяется двумя факторами, а именно вероятностями последовательности фонов, приписываемыми акустической моделью, и вероятностями следования слов друг за другом, определяемыми моделью языка.
Рассмотрим математическую основу декодеров.
Отбрасывая несущественный на этапе распознавания знаменатель, запишем:
где
– последовательность векторов признаков входного сигнала, – последовательность слов, принадлежащих словарю размером . Первый множитель P(W) описывает вклад лингвистического модуля, второй P(X|W) – лексического, фонетического и акустического источников знаний. В соответствии с концепцией марковских цепей, второй множитель представляет собой сумму вероятностей всех возможных последовательностей состояний, что приводит к уравнению:где [2]. – ищется последовательность состояний, дающая максимальный вклад в сумму:
– одна из последовательностей состояний, порождаемых последовательностью слов . На практике применяется критерий ВитербиРазличают систему раннего и систему позднего предсказания. В первой выполняется предсказание для акустической и языковой модели независимо, а затем оба предсказания поступают в декодер. При позднем предсказании, вычисленные признаки речи в акустической и языковой моделях без предсказания поступают в декодер и уже на основе их совместного декодирования выполняется предсказание.
Этапы распознавания:
- Обработка речи начинается с оценки качества речевого сигнала. На этом этапе определяется уровень помех и искажений.
- Результат оценки поступает в модуль акустической адаптации, который управляет модулем расчета параметров речи, необходимых для распознавания.
- В сигнале выделяются участки, содержащие речь, и происходит оценка параметров речи. Происходит выделение фонетических и просодических вероятностных характеристик для синтаксического, семантического и прагматического анализа. (Оценка информации о части речи, форме слова и статистические связи между словами.)
- Далее параметры речи поступают в основной блок системы распознавания — декодер. Это компонент, который сопоставляет входной речевой поток с информацией, хранящейся в акустических и языковых моделях, и определяет наиболее вероятную последовательность слов, которая и является конечным результатом распознавания.
Признаки
![](/wiki/images/thumb/6/62/Frame_division.jpeg/300px-Frame_division.jpeg)
Входные данные представляют собой непрерывную осциллограмму звуковой волны. В задачах распознавания речи эту осциллограмму разбивают на фреймы — фрагменты звукового потока длительностью около 20 мс и шагом 10 мс. Такой размер соответствует скорости человеческой речи: если человек говорит по 3 слова в секунду, каждое из которых состоит примерно из 4 звуков и каждый звук разбивается на 3 этапа, то на этап выходит около 28 мс. Каждый фрейм независимо трансформируется и подвергается извлечению признаков, тем самым образуя векторизированный набор данных для задачи машинного обучения.
Признаки речевых событий, используемые при распознавании речи:
- Спектр Фурье.
- Спектр Фурье в шкале мел.
- Коэффициенты линейного предсказания.
- Кепстр.
Спектр Фурье
Спектр Фурье получают, используя алгоритм БПФ (Быстрого Преобразования Фурье) с длиной окна равной 2-4 периода основного тона, что составляет около 20 мс. При частоте квантования 10-16 кГц выбирается окно 256 отсчетов.
Для ослабления искажений сигнала, вызванных применением к непрерывному сигналу конечного окна анализа, чаще всего используется окно Хэмминга по формуле:
где n = 1..N, N – размерность окна, S(n) – отсчеты речевого сигнала.
Спектр Фурье в шкале мел
К каждому кадру, полученного Фурье спектра применяется блок мел-фильтров — треугольных пересекающихся фильтров, расположенных наиболее плотно в области нижних частот. Количество фильтров — 26. Для расчета фильтров выбирается верхняя и нижняя частота. Затем осуществляется переход от частотной шкалы к мел-шкале по формуле:
На мел-шкале выбираются линейно расположенные точки (28 точек для 26 фильтров), после чего, производится обратный переход в частотную область.
Коэффициенты линейного предсказания
Модель линейного предсказания речи предполагает, что передаточная функция голосового тракта представляется полюсным фильтром с передаточной функцией:
где p – число полюсов и
; Фильтр с такой передаточной функцией позволяет описать поведение сглаженного спектра речевого сигнала с хорошей точностью, за исключением назализованных звуков. Коэффициенты фильтра { } – выбираются путем минимизации среднеквадратичной ошибки предсказания, просуммированной на окне анализа.Кепстр
Кепстр (cepstrum) сигнала на основе спектра Фурье вычисляется путем применения косинусного Фурье преобразования к логарифму спектра:
где
– логарифм спектра, N – количество отсчётов спектра, – унитарная матрица косинусного преобразования.Кепстральные коэффициенты, полученные приведённым способом из мел спектра Фурье, широко используются для распознавания с помощью марковских моделей и носят название MFCC (Mel-frequency cepstral coefficients).
Показатели оценки качества распознавания речи
Существуют различные по сложности и прикладному значению задачи распознавания: изолированных слов (команд); ключевых слов в потоке речи; связанной речи (тщательное проговаривание текста с паузами между словами); слитной речи (разделяют диктовку в узкой тематической области, и спонтанную речь, например, в диалоге между людьми).
Оценка системы, распознающей отдельные команды, не представляет каких-либо трудностей – количество неправильно распознанных команд делится на общее количество испытаний и получается процент ошибки. Для систем, распознающих слитную речь, ситуация не столь проста.
Основными показателями качества распознавания слитной речи являются:
- процент правильно распознанных слов (WRR - Word Recognition Rate);
- процент неправильно распознанных слов (WER - Word Error Rate);
- процент неправильно распознанных предложений/фраз (SER - Sentence Error Rate);
Поскольку с развитием речевых технологий показатель WER все более приближается к нулю, то значение улучшения WER более наглядно, чем улучшение точности распознавания слов.
где T - количество слов в распознаваемой фразе, S - количество замененных слов, D - количество удаленных слов, I - количество вставленных слов. Показатель WER может быть больше 100%.
Другим важным критерием оценки систем распознавания слитной речи является - скорость обработки речи. Она вычисляется с помощью показателя скорости (Real-Time Factor, Speed Factor):
- время, необходимое для обработки сигнала.
Если - то распознавание речи ведется в режиме реального времени.
Обучение с частичным привлечением учителя для автоматического распознавания речи
Conformer encoder
wav2vec
Noisy student
Вариация классического алгоритма самообучения: на каждой итерации модель-ученик обучается на аугментированных данных.
Данные
1. Размеченные данные $\{(x_1, y_1), \dots, (x_n, y_n)\}$
2. Неразмеченные данные $\{\tilde{x}_1, \dots, \tilde{x}_m\}$
Алгоритм
1. Обучить модель-учителя $M$ на размеченных аугментированных данных.
2. Разметить $\{\tilde{x}_1, \dots, \tilde{x}_m\}$ с помощью $M$.
3. Обучить модель-ученика $M'$ на полученных на предыдущем шаге метках $\{\tilde{y}_1, \dots, \tilde{y}_m\}$ и $\{x_1, \dots, x_m\}$.
4. $M = M'$, вернуться к шагу 2.
Noisy student и распознавание речи
В применении к распознаванию речи, алгоритм будет несколько отличаться: на каждой итерации модель-учитель $M$ сначала будет сливаться(англ. fuse) с предобученной языковой моделью $LM$. Для аугментации данных используется метод SpecAugment. SpecAugment применяет к мел спектрограмме три вида деформаций: искажение времени, маскировка блока последовательных временных шагов и маскировка блока последовательных частотных каналов. Таким образом, при обучении на зашумленных с помощью SpecAugment данных сеть обучается на признаках, устойчивых к деформации во времени, частичной потере частотной информации и потере небольших сегментов речи.
Применение
Системы распознавания речи начали развиваться как специальные сервисы для людей с ограниченными возможностями, но также нашли применение в различных сферах бизнеса, таких как:
- Телефония: системы голосового самообслуживания;
- "Умный дом": голосовой интерфейс управления;
- Роботы: голосовой интерфейс электронных роботов;
- РС, ноутбуки, телефоны: голосовой ввод команд, диктовка текста;
- Автомобили: голосовое управление в салоне автомобиля.
Основные отрасли применения:
- Голосовое управление
- Голосовые команды
- Голосовой ввод текста
- Голосовой поиск
См. также
- Байесовская классификация
- Распознавание образов
- Распознавание речи от Яндекса
- Субвокальное распознавание
Примечания
Источники информации
- [1] - статья на Википедии
- Тампель И.Б, Карпов А.А. Автоматическое распознавание речи. Учебное пособие. — СПб: Университет ИТМО, 2016. — 138 с.
- [2] - статья "Классификация систем распознавания речи".
- [3] - статья "Выделение границ фонем речевого сигнала с помощью мел-частотных спектральных коэффициентов".