Назад в библиотеку

Разработка речевого распознавателя на основе моделей языка в среде CMU Sphinx

Автор: Федяев О. И., Бакаленко В. С.
Источник: Информационные управляющие системы и компьютерный мониторинг — 2015 (ИУС и КМ — 2015) / Материалы Всеукраинской научно-техническая конференция студентов, аспирантов и молодых ученых — 20–24 мая 2015 — Донецк, ДонНТУ — 2015, с. 111–117.

Аннотация

Федяев О. И., Бакаленко В. С.Разработка речевого распознавателя на основе моделей языка в среде CMU Sphinx. Изучена архитектура верхнего уровня системы CMU Sphinx, указаны основные ее составляющие, определены условия применения системы распознавания речи к прикладной задаче распознавания кода программы.

Инструментальная среда CMU Sphinx

В современном мире актуальной проблемой для человечества остаётся проблема человеко-машинного общения, решением которой является внедрение технологий в различные сферы деятельности человека.

Цель данной работы заключается в анализе принципа и технологии, заложенной в инструментальной системе построения распознавателя речи на основе CMU Sphinx.

Вопросам применения и устройства CMU Sphinx посвящены многие научные публикации и статьи [1-7].

CMU Sphinx — открытый движок распознавания речи, который на сегодняний день, является самым популярным и работоспособным из открытых движков. Разработка ведется в университете Карнеги-Меллона, так же в разработке проекта участвовал Массачусетский технологический институт и Sun Microsystems. CMU Sphinx распространяется на условиях лицензии BSD, т.е. доступен для коммерческого и некоммерческого использования.

CMU Sphinx — комлекс, который включает в себя несколько видов систем [1]. Из существующих сегодня самыми популярными являются Sphinx 4 и PocketSphinx. Каждая система Sphinx состоит из двух компонентов: «тренера» (trainer) и декодера. Тренер необходим для создания акустической модели, адаптированной под конкретные потребности, а декодер выполняет собственно распознавание. Следует подчеркнуть, что trainer Sphinx выполняет построение акустической модели, а не адаптацию под конкретные речевые особенности. Тренер Sphinx предназначен для разработчиков, которые хорошо понимают, как устроено распознавание речи; с рядовым же пользователем система должна взаимодействовать без подготовки. Возможность работы в таком режиме очень полезна при создании общедоступных сервисов, например, автоматизированных телефонных служб и т.д.

Следует отметить, что на текущий момент разработчиками предпринимаются попытки по руссификации открытых средств распознавания речи. CMU Sphinx постоянно изменяется и на данный момент, на официальном сайте идет голосование о том, какую языковую модель следует добавить, пока что лидирует немецкая и русская. Есть уверенность, что разработчики возьмутся за русскую языковую модель, что бы качество распознавания русской речи было таким же, как и у английской.

Движок Sphinx 4 написан целиком на языке Java, это произошло явно не случайно, т.к. в разработке участвовала компания Sun Microsystems [1]. Sphinx 4 использует API Java Speech, хотя и не реализует стандартного интерфейса распознавателя речи этой системы. Для демонстрации возможностей системы разработчики предлагают небольшие словари, предназначенные для применения в специальных областях (например, распознавание числительных). Надо отметить, что входящие в состав Sphinx 4 демонстрационные программы справляются с распознаванием числительных гораздо увереннее, нежели прошлые версии Sphinx. В принципе, Sphinx 4 уже можно использовать на практике для распознавания, например, голосовых команд — при условии, что их общее число будет невелико. Архитектура верхнего уровня для Sphinx4 относительно проста. Как показано на рис.1, архитектура состоит из клиентской части, декодера, базы знаний и приложения [4].

Архитектура верхнего уровня CMU Sphinx

Рисунок 1 — Архитектура верхнего уровня CMU Sphinx

Блок Front End отвечает за сбор, аннотирование и обработку входных данных. Кроме того, он извлекает объекты из входных данных для чтения с помощью декодера.

База знаний содержит информацию необходимую для декодера. Эта информация включает в себя акустическую модель и модель языка. База знаний также может получить ответ от декодера, что позволяет базе знаний динамически изменяться себя на основе результатов поиска. Эти модификации могут включать в себя переключение акустических моделей и/или языка модели, а также обновлять параметры, такие как среднее и дисперсия преобразования для акустических моделей.

Декодер выполняет большую часть работы. Он считывает данные с Front End, сопоставляет их с данными из базы знаний и откликом приложения и выполняет поиск наиболее вероятных последовательностей слов, которые могли бы быть представлены рядом особенностей.

В отличии от множества архитектур распознавания речи, Sphinx4 позволяет приложению контролировать множество функций речевого движка. Во время декодирования, приложение может получать данные от декодера, в то время, когда он осуществляет поиск. Эти данные позволяют приложению отслеживать, как происходит процесс декодирования и также позволяет приложению влиять на процесс декодирования до его завершения. Кроме того, приложение может обновлять базу знаний в любое время.

Окно проекта системы речевого ввода текста
    программ

Рисунок 2 — Окно проекта системы речевого ввода текста программ

С помощью инструментальной среды CMU Sphinx проектируется система распознавания речи для ввода программ на языке Pascal (рис.2), который является первым языком для начинающих программистов. Опыт разработки данной системы показал, что эффективность распознавания речи зависит от ряда взаимозависимых факторов. Важное значение при оценке качества распознавания речи занимает сопоставление затраченных ресурсов и полученных результатов. По мнению разработчиков данная система повысит интеллектуальность взаимодействия с компьютером при вводе программ на языке Pascal.

Библиографический список

1. CMU Sphinx Open Source Toolkit For Speech Recognition Evaluation [Электронный ресурс]. — Режим доступа: http://cmusphinx.sourceforge.net/
2. Савкова Д. Г., Федяев О. И.Акустико-лингвистическая модель распознавания речи //Сборник материалов IV Всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых «Информационные управляющие системы и компьютерный мониторинг» ИУС и КМ — 2013 — Донецк, ДонНТУ — 2013, — В 2 тт. — Т.1. с. 442–445.
3. Савкова Д. Г., Бондаренко И. Ю.Опыт применения инструментальной системы Sphinx для решения задачи распознавания речевых команд управления компьютерными системами // Сборник материалом 3-й Всеукраинской научно- практической конференции «Информационные управляющие системы и компьютерный мониторинг» ИУС КМ–2012. — Донецк: ДонНТУ. — 2012. — с. 111–117.
4. Рабинер Л. Р.Скрытые марковские модели и их применение в избранных приложениях при распознавании речи// ТИИЭР. — 1984. — Т.72, № 2. — с. 86–120.
5. Welcome Russian Evaluation [Электронный ресурс]. — Режим доступа: http://www.voxforge.org/ru
6. Example of the Baum-Welch Algorithm [Электронный ресурс]. — Режим доступа: http://www.indiana.edu/~iulg/moss/hmmcalculations.pdf. — Заголовок с экрана.