УДК 004.432.4 ОБ АВТОМАТИЧЕСКОМ РАСПОЗНАВАНИИ РЕЧИ Головинов Михаил Викторович Магистрант ЕНУ им. Л.Н. Гумилева, Астана Научный руководитель – Шарипбаев А. А. Попытки научить компьютер «понимать» речь и «разговаривать» предпринимаются с тех пор, как только появились первые ЭВМ. Что такое речь? Прежде всего, это звук, меняющийся по частоте и амплитуде во времени. Речь производит и воспринимает в первую очередь человек, поэтому на основе особенностей физического строения и характеристики «инструментов» речи человека следует строить алгоритмы ее распознавания и синтеза. В данной статье мы проведем обзор некоторых имеющихся техник распознавания речи. Органы речи человека имеют некоторую инертность, т.е. они не могут перейти из одного состояния в другое (например, после звука «а» сразу же произнести «о»). Переход будет в некотором роде плавный, из этого следует, что достаточно короткие (например, 15мс) участки звукового сигнала мы можем считать неизменяемые /6/. На этом предположении и основывается первая стадия почти всех алгоритмов распознавания речи – выборка «окон», или «кадров». Как правило, кадры извлекают с перекрытием друг друга как минимум наполовину. Получается так называемое «скользящее окно» с определенным шагом (Рисунок 1). 132 3-й кадр 1-й кадр 6-й кадр 4-й кадр 2-й кадр 5-й кадр … Рисунок 1. Разбивка исходного звукового сигнала на «кадры» После раскадровки звук представлен набором векторов с размерностью в величину кадра, что предполагает солидный объем вычислений при дальнейшей его обработке. Однако речевой сигнал помимо речи содержит информацию о дикторе: его настроение в момент произнесения слова, пол, высоту голоса, и т.д. Поэтому прибегают к процедуре уменьшения размерности векторов – извлечения только той информации, которой все еще будет достаточно для распознавания речи («Future Extraction»). Имеется ряд алгоритмов, которые позволяют это сделать. Среди них БПФ в мел-масштабе /3/, мел-частотные кепстральные коэффициенты (MFCC), коэффициенты линейного предсказания (LPC) /5/, метод Шелепова и Старушко /8/ и др. Большинство из перечисленных методов имеют дело с частотным представлением сигнала. Характерным является то, что некоторые из выше определенных учитывают особенности слуховой системы человека (как, например, MFCC), пропуская спектр сигнала через банк фильтров в мел-масштабе (т.е. в таком масштабе, при котором нижние частоты учитываются линейно, а верхние – логарифмически). Теперь мы имеем набор векторов относительно небольшой размерности и можем подать их на обработку в ядро системы распознавания. Прежде всего, метод дальнейшей обработки зависит от того, должна ли система распознавать лишь изолированные слова, либо отдельные слова в слитной речи (т.е. без явного определения начала и конца слова), или же слитную речь. Как вы могли заметить, задачи перечислены по возрастанию сложности. Итак, рассмотрим первый вариант – распознавание изолированных слов. Для того, чтобы распознать слово, мы должны первым делом определить его границы, т.е. участки, начала и конца слова. Далее мы сравниваем полученное слово со всеми записанными ранее эталонами и выдаем наиболее близкий вариант. Но метод сравнения должен учитывать возможную временную разность между эталоном и исходным словом, например, эталон «один», а сказанное слово «оди-и-и-н». Эту задачу прекрасно решает алгоритм динамического программирования DTW (Dynamic Time Warping – динамическая свертка времени) /3, 6/. Для распознавания слов слитной речи требуются более сложные приемы. Одним из наиболее мощных и широко распространенных инструментов в этой области являются Скрытые Марковские Модели (СММ) /3/. СММ прекрасно подходят для моделирования временных характеристик сигналов, к коим относится речь. Ключевые понятия в СММ – это «состояние» и «переход» к следующему состоянию. В качестве состояния могут выступать векторы признаков, описанные выше. А переходы характеризуются вероятностями и могут указывать либо на исходное состояние, либо на следующие, но ни в коем случае не на предыдущие состояния, т.к. время движется только «вперед». Суть применения СММ состоит в том, что сначала по исходным образцам «обучают» СММ – т.е. определяют состояния и вероятности переходов для N классов, формируют N моделей, после чего обученную СММ применяют для распознавания новых образцов. В этом и заключается смысл «скрытых» марковских моделей – сами состояния и переходы между ними наблюдать мы не можем, но по наблюдаемой последовательности можем определить с определенной степенью уверенности, какой из известных моделей такая последовательность могла бы быть получена. Обучение обычно ведется по алгоритму «прямого-обратного хода» /3/. Для распознавания слитной речи используется алгоритм Витерби, для изолированных слов подходит алгоритм «прямого хода» /3/. Результатом распознавания считается класс из N имеющихся с максимальным значением произведения вероятности появления этого класса и 133 вероятности того, что наблюдаемый образец был порожден моделью данного класса. Часто СММ применяют для пофонемного метода распознавания речи. В этом случае классы – это фонемы (минимальные звуковые единицы речи небольшой длительности), а результатом распознавания является фонетическая транскрипция речи /5/. Далее осуществляется поиск наиболее близкого соответствия полученной транскрипции из заранее подготовленного словаря. Для повышения качества распознавания речи требуется учитывать контекстную информацию анализируемых участков, правила грамматики распознаваемого языка, порядок слов в предложении и другие факторы, зависящие от конкретного языка, что в разы увеличивает число входных параметров для системы распознавания и соответствующий объем вычислений. В таблице 1 для примера приведены характеристики некоторых систем. Таблица 1. Сравнительные результаты систем для базы Resource Management (/3/) Точность Система Число параметров Число моделей распознавания CI-Sphinx 111,000 48 84.4% CI-Decipher 126,000 69 86.0% Decipher 5,500,000 3,428 95.1% Sphinx-II 9,217,000 7,549 96.2% Во всех перечисленных в таблице 1 системах «ядром» является СММ. В первых двух используется контекстно-независимые фонемные модели, в третьей и четвертой – контекстно-зависимые фонемные модели, поэтому у последних наблюдается лучшая точность наряду с резким увеличением числа анализируемых параметров. Еще одним мощным инструментом для решения задач распознавания речи служат искусственные нейронные сети. В особенности, гибриды многослойного персептрона /7/ и СММ. Гибриды появились путем расширения задач персептрона из классификации статичных образов (с коими он прекрасно справляется) на решение задач в динамичной области. Нейронные сети с временной задержкой (TDNN – Time-Delay Neural Networks) были предложены и опробованы на задаче дикторозависимого распознавания фонем «B» «D» «G» в /4/. Развитием идеи TDNN являются нейронные сети с временной задержкой и множеством состояний (MS-TDNN – Multi State Time-Delay Neural Networks), которые применимы для распознавания на уровне слов (Рисунок 2). Уровень слов Слой DTW копирование весов → Слой фонем 5 временных задержек → Скрытый слой 3 временные задержки → Входной слой Рисунок 2. Нейронная сеть MS-TDNN (/3/) 134 MS-TDNN для слитной речи с большим словарем применил Tebelskis и достиг точности 90.5% с числом параметров в 67 тыс. /3/. Примечательно, что MS-TDNN успешно применяется не только в распознавании речи, но и в распознавании рукописных букв в реальном времени /2/. Отличительной особенностью MS-TDNN является то, что в нее интегрирован слой DTW для определения слов. Обучают нейронные сети часто при помощи алгоритма обратного распространения ошибки и его вариаций. Относительно новым направлением являются импульсные нейронные сети (Spiking Neural Networks – SNN), предназначенные для временной классификации образов /1/. Принцип действия SNN состоит в более качественном имитировании естественных нейронов по сравнению с классическим персептроном. Сеть получает на входы серию импульсов и выдает на выходе импульсы (Рисунок 3). входной слой скрытый слой входные сигналы выходной слой выходные сигналы Рисунок 3. Импульсная нейронная сеть с одним скрытым слоем (/1/) Каждый нейрон в составе сети в каждый момент времени обладает неким значением, аналогичным электрическому потенциалу в биологическом нейроне. При превышении определенного порога нейрон посылает «импульс» и обретает потенциал ниже среднего, имитирую процесс реабилитации. Значение потенциала в нейроне всегда стремиться к некоторому среднему и плавно приближается к нему, если выведено из равновесия. Весовые связи импульсного нейрона характеризуются такими параметрами, как время задержки, и величина веса. Для импульсных сетей еще нет мощной математической базы, как, например, для персептрона и СММ. Тем не менее, в /1/ приводится адаптированный алгоритм обратного распространения ошибки для обучения сети, а так же проведен эксперимент распознавания цифр по серии изображений губ («чтение по губам»). В заключение хотелось бы отметить, что обзор в данной статье охватывает далеко не все способы и методы распознавания речи, а лишь некоторые известные на данный момент. Тем не менее, это дает общее представление о том, каким образом может происходить процесс распознавания слов и речи. Литература 1. Booij O. «Temporal Pattern Classification using Spiking Neural Networks», 2004 2. Hild H. and Waibel A., «Connected Letter Recognition with a Multi-State Time Delay Neural Network». Advances in Neural Network Information Processing Systems (NIPS-5). Morgan Kaufmann, 1993. 3. Tebelskis J, «Speech Recognition using Neural Networks», 1995 4. Waibel A., Hanazawa T., Hinton G., Shikano K., Lang K.J. «Phoneme Recognition Using Time-Delay Neural Networks», IEEE Transactions On Accoustics, Speech And Signal Processing, Vol. 37, 1989 135 5. Аграновский А.В., Леднов Д.А. «Теоретические аспекты алгоритмов обработки и классификации речевых сигналов», М. «Радио и связь», 2004 6. Винцюк Т.К. «Анализ, распознавание и интерпретация речевых сигналов», Наукова Думка, 1987 7. Минский М. Л., Пейперт С. «Персептроны», М: Мир, 1971 8. Шелепов В.Ю., Старушко Д.Г., «Новая система признаков для распознавания речевых единиц», «Искусственный интеллект» 4`2002.