Система автоматического распознавания
речевых команд
Гладышев
Константин Константинович,
аспирант Санкт-Петербургского
государственного университета телекоммуникаций им. проф.М.А.Бонч-Бруевича
Научный руководитель – доктор
технических наук, профессор
Шульгин
Евгений Александрович.
Современные системы
распознавания речи, как правило, состоят из множества тесно связанных между
собой уровней [2,5,9]. Эффективность работы таких систем напрямую зависит от
качества реализации каждого уровня. Подобное построение систем основано на
бионический модели восприятия речи человеком. На выходе слухового аппарата
человека формируется набор сигналов, которые в дальнейшем обрабатываются мозгом
и преобразуются в последовательность осмысленных речевых единиц.
Выделяют следующие уровни понимания речи
человеком [8]:
·
Физическое
восприятие колебаний звука с помощью специального клиновидного органа уха –
улитки.
·
Преобразование
звуковых колебаний в определенную последовательность информативных импульсов и
передача их через нервные окончания в головной мозг.
·
Трансформация
в головном мозге полученных от уха сигналов в дискретную последовательность
некоторых речевых единиц. Производится с учетом словаря используемого языка.
·
Осмысленное
восприятие речевого сообщения. Данный уровень тесно связан с семантической
моделью языка и окружающего смыслового контекста фразы.
·
В
искусственных системах автоматического распознавания речи можно выделить
следующие уровни или модули обработки речевого сигнала:
·
Преобразование
голосового сигнала в последовательность значений амплитуд - оцифровка сигнала.
·
Сегментация
входного сигнала на отдельные речевые единицы.
·
Формирование
набора векторов информативных признаков сигнала.
·
Поиск по
словарям наиболее близкого эталона распознаваемой речевой единицы.
·
Выстраивание
осмысленных предложений, их коррекция в соответствии с вероятностной моделью
языка и окружающим смысловым контекстом.
Данные, получаемые на выходе каждого модуля,
являются входной информацией для следующего уровня системы. Возможно наличие
обратной связи между различными уровнями для уточнения полученной информации.
В разработанной автором статьи системе
распознавания речевых команд решается упрощенная задача. Диктором произносится
отдельная речевая команда. Таким образом, не требует производить сегментацию
входного сигнала. Также не используется модуль семантической и логической коррекции
распознанной последовательности речевых единиц. Однако, после успешного решения
задачи распознавания отдельных слов, можно перейти к более сложной проблеме
распознавания слитной речи.
Запись и оцифровка звукового сигнала выполняется
через микрофон, подключенный к обычной звуковой карте персонального компьютера.
Согласно [7] основная информация сигнала, необходимая для распознавания речи,
лежит в области частот до 4 КГц. Соответственно, достаточной частотой
дискретизации является 8 КГц. Количество уровней квантования современной
звуковой карты – 16 бит вполне достаточно для нормального восприятия человеком
оцифрованного сигнала. Результат работы данного модуля представлен в виде
гистограммы на рисунке 1. Далее оцифрованный сигнал в виде массива
значений амплитуд передается на следующий уровень системы.
Рис. 1. Временная гистограмма слова
«настройки».
Одним из основных моментов в задачах распознавания речи является проблема формирования набора компактных эффективных признаков, позволяющих выделить необходимую информацию о речевом сигнале. В современных проектах для получения информативных признаков используют спектральный, корреляционный, кепстральный анализ, вейвлет-преобразования, линейное предсказание речи.
В разработанной автором статьи системе в качестве информативных признаков используются линейные спектральные корни (ЛСК). На протяжении многих лет ЛСК используются в различных задачах, где необходимо экономно передавать, хранить и достаточно точно воспроизводить информацию о звуковых сигналах [4]. ЛСК позволяют получить информацию о ряде важных параметров речевого сигнала, таких как частота основного тона, ширина полос формантных частот, различные параметры состояния голосового тракта [6]. Данные признаки компактны, независимы от уровня сигнала, слабо чувствительны к смене диктора. Кроме того, алгоритмы расчета ЛСК удобны в реализации на ЭВМ и позволяют производить вычисления в реальном масштабе времени.
Набор из векторов ЛСК формируется на окне сигнала определенной длины. Размер окна определяется опытным путем. Как правило, он включает в себя несколько периодов основного тона распознаваемого сигнала. Результаты работы модуля по выделению первичных признаков представлены на рисунке 2. Далее массив векторов ЛСК передается на следующий уровень системы.
Рис. 2. Набор векторов 5 ЛСК для слова
«настройки».
Следующей проблемой является задача выбор эталонной базы. В работе [3] приводится информация о том, что чем больший по длительности звучания эталон используется в системе, тем выше качество распознавания. Для решения поставленной автором статьи задачи дикторонезависимого распознавания команд из ограниченного словаря (10-50 слов), целесообразно использование в качестве эталонов целых слов. В данной системе это позволяет добиться максимальной эффективности работы.
Перед началом процесса распознавания система должна пройти первичное обучение. Диктором записывается набор эталонных речевых команд. Для каждого слова рассчитывается набор векторов ЛСК. Массивы ЛСК эталонов сохраняются в базе данных.
Для подаваемого на вход распознаваемого командного слова производится расчет набора векторов ЛСК. После этого производится поиск по эталонной базе. Процесс поиска заключается в последовательном сравнении массива ЛСК входного сигнала с массивом ЛСК каждого эталона.
Процедура
сравнения выполняется с помощью алгоритмов динамического программирования (ДП).
Автор динамического программирования Р.
Беллман сформулировал принцип оптимальности: «Каково бы ни было начальное
состояние на любом шаге и решение, выбранное на этом шаге, последующие решения
должны выбираться оптимальными относительно состояния, к которому придет
система в конце данного шага» [1].
Пусть сравниваются два образа, которые
описываются последовательностью векторов:
;
Различие между векторами двух образов
определяется последовательностью состояний и обозначается:
где:
- начальное состояние,
- конечное состояние,
- функция временного выравнивания, которая
проектирует временную область одного образа на временную область другого
образа.
Метод ДП заключается в том, что ищется такая
функция , при
которой путь из состояния в состояние ,
будет оптимальным, и при этом будет найдено минимальное накопленное расстояние
между двумя образами. При построении оптимального пути, на каждом шаге
алгоритма используется основная формула ДП:
, где
В качестве расстояния между векторами
используется взвешенная Евклидова метрика:
, где N_SEC – размерность векторов признаков.
Данный метод позволяет выполнять
автоматическое масштабирование во времени для разных по длительности сигналов. На
выходе процедуры сравнения получается число, характеризующее степень различия
между двумя сравниваемыми образцами.
Результатом выполнения процедуры поиска по
словарю является таблица расстояний до каждого эталона. Данные в таблице
сортируются по возрастанию степени различия между входной командой и текущим
эталоном. Первый элемент в таблице является результатом распознавания. На
таблице 1 приведен пример поиска по словарю для команды «журнал». Видно, что
ближайший эталон найден правильно, система успешно распознала команду.
Таблица 1.
Результат
поиска по словарю для команды «журнал».
Эталон |
Степень
различия |
журнал |
0,744 |
офис |
1,322 |
режимы |
1,553 |
контакты |
1,773 |
темы |
1,903 |
средства |
1,941 |
настройки |
1,959 |
Разработанная система успешно прошла
тестирование для нескольких дикторов на словаре объемом 30 слов, представляющим
собой набор команд по управлению мобильным телефоном. Количество неправильно
распознанных команд составило порядка 5%. В настоящее время ведутся работы по
увеличению словаря команд при сохранении независимости от диктора и обеспечения
высокого качества работы системы.
Литература.
1.
Беллман
Р. Динамическое программирование – М.: Иностранная литература, 1960
2.
Галунов
В.И. и Галунов Г.В. Один подход к автоматическому распознаванию речи // Международная
конференция по компьютерной лингвистике «Диалог 2000» [Электронный ресурс] - Режим доступа: http://www.dialog-21.ru/materials/archive.asp?id=6434&y=2000&vol=6078,
свободный. — Загл. с экрана.
3.
Гладышев К.К. Проблема выбора эталонной единицы при
распознавании речи // Журнал научных публикаций аспирантов и докторантов. 2008
№9.
4.
Ланнэ А.А. Новая теория линейных спектральных
корней // Труды 3-ей Международной конференции «Цифровая обработка сигналов и
ее применение», Москва,
5.
Лукьяница А.А. Разработка программы распознавания русской речи для процессора SuperH
RISK (Hitachi). // МГУ им.М.В.Ломоносова ф-т ВМиК, каф.автоматизации научных
исследований [Электронный ресурс] - Режим доступа: http://leader.cs.msu.su/~luk/ContinuousSpeech_rus.html,
свободный. — Загл. с экрана.
6.
Маркел Дж., Грей А.Х. Линейное предсказание речи – М.:Связь, 1980.
7.
Фланаган Д. Анализ, синтез
и воприятие речи – М.: Связь, 1968.
8.
Чистович
Л.А. Венцов А.В. Физиология Речи. Восприятие речи человеком. – Л.: Наука, 1976.
9.
Ямов С.И., Кабак И.С., Курочкин С.Н., Бродин А.Г.
Многоуровневая система распознавания речи. // Автоматизация и управление в
машиностроении. 1997 №1.
Поступила в редакцию 11.11.2008 г.