Распознавание речи. Часть 1. Классификация систем распознавания речи
- Искусственный интеллект
Эпиграф
В России, направление систем распознавания речи действительно развито довольно слабо. Google давно анонсировала систему записи и распознавания телефонных разговоров… Про системы похожего масштаба и качества распознавания на русском языке, к сожалению, я пока не слышал.Но не нужно думать, что за рубежом все уже все давно открыли и нам их никогда не догнать. Когда я искал материал для этой серии, пришлось перерыть тучу зарубежной литературы и диссертаций. Причем статьи и диссертации эти были замечательных американских ученых Huang Xuedong; Hisayoshi Kojima; DongSuk Yuk и др. Понятно, на ком эта отрасль американской науки держится? ;0)
В России я знаю только одну толковую компанию, которой удалось вывести отечественные системы распознавания речи на коммерческий уровень: Центр речевых технологий . Но, возможно, после этой серии статей кому-нибудь придет в голову, что заняться разработкой таких систем можно и нужно. Тем более, что в плане алгоритмов и мат. аппарата мы практически не отстали.
Классификация систем распознавания речи
На сегодняшний день, под понятием “распознавание речи” скрывается целая сфера научной и инженерной деятельности. В общем, каждая задача распознавания речи сводится к тому, чтобы выделить, классифицировать и соответствующим образом отреагировать на человеческую речь из входного звукового потока. Это может быть и выполнение определенного действия на команду человека, и выделение определенного слова-маркера из большого массива телефонных переговоров, и системы для голосового ввода текста.
Признаки классификации систем распознавания речи
Каждая такая система имеет некоторые задачи, которые она призвана решать и комплекс подходов, которые применяются для решения поставленных задач. Рассмотрим основные признаки, по которым можно классифицировать системы распознавания человеческой речи и то, как этот признак может влиять на работу системы.- Размер словаря. Очевидно, что чем больше размер словаря, который заложен в систему распознавания, тем больше частота ошибок при распознавании слов системой. Например, словарь из 10 цифр может быть распознан практически безошибочно, тогда как частота ошибок при распознавании словаря в 100000 слов может достигать 45%. С другой стороны, даже распознавание небольшого словаря может давать большое количество ошибок распознавания, если слова в этом словаре очень похожи друг на друга.
- Дикторозависимость или дикторонезависимость системы. По определению, дикторозависимая система предназначена для использования одним пользователем, в то время как дикторонезависимая система предназначена для работы с любым диктором. Дикторонезависимость – труднодостижимая цель, так как при обучении системы, она настраивается на параметры того диктора, на примере которого обучается. Частота ошибок распознавания таких систем обычно в 3-5 раз больше, чем частота ошибок дикторозависимых систем.
- Раздельная или слитная речь. Если в речи каждое слово разделяется от другого участком тишины, то говорят, что эта речь – раздельная. Слитная речь – это естественно произнесенные предложения. Распознавание слитной речи намного труднее в связи с тем, что границы отдельных слов не четко определены и их произношение сильно искажено смазыванием произносимых звуков.
- Назначение. Назначение системы определяет требуемый уровень абстракции, на котором будет происходить распознавание произнесенной речи. В командной системе (например, голосовой набор в сотовом телефоне) скорее всего, распознавание слова или фразы будет происходить как распознавание единого речевого элемента. А система диктовки текста потребует большей точности распознавания и, скорее всего, при интерпретации произнесенной фразы будет полагаться не только на то, что было произнесено в текущий момент, но и на то, как оно соотносится с тем, что было произнесено до этого. Также, в системе должен быть встроен набор грамматических правил, которым должен удовлетворять произносимый и распознаваемый текст. Чем строже эти правила, тем проще реализовать систему распознавания и тем ограниченней будет набор предложений, которые она сможет распознать.
Различия методов распознавания речи
При создании системы распознавания речи требуется выбрать, какой уровень абстракции адекватен поставленной задаче, какие параметры звуковой волны будут использоваться для распознавания и методы распознавания этих параметров. Рассмотрим основные различия в структуре и процессе работы различных систем распознавания речи.- По типу структурной единицы. При анализе речи, в качестве базовой единицы могут быть выбраны отдельные слова или части произнесенных слов, такие как фонемы, ди- или трифоны, аллофоны. В зависимости от того, какая структурная часть выбрана, изменяется структура, универсальность и сложность словаря распознаваемых элементов.
- По выделению признаков. Сама последовательность отсчетов давления звуковой волны – чрезмерно избыточна для систем распознавания звуков и содержит много лишней информации, которая при распознавании не нужна, либо даже вредна. Таким образом, для представления речевого сигнала из него требуется выделить какие-либо параметры, адекватно представляющие этот сигнал для распознавания.
- По механизму функционирования. В современных системах широко используются различные подходы к механизму функционирования распознающих систем. Вероятностно-сетевой подход состоит в том, что речевой сигнал разбивается на определенные части (кадры, либо по фонетическому признаку), после чего происходит вероятностная оценка того, к какому именно элементу распознаваемого словаря имеет отношение данная часть и (или) весь входной сигнал. Подход, основанный на решении обратной задачи синтеза звука, состоит в том, что по входному сигналу определяется характер движения артикуляторов речевого тракта и, по специальному словарю происходит определение произнесенных фонем.
UPD: Перенес в «Искуственный интеллект». Если будет интерес, дальше публиковать буду в нем.
Под системами автоматического распознавания речи (САРР) понимают системы, преобразующие входную речь (речевой сигнал) в распознанное сообщение. При этом распознанное сообщение может быть представлено как в форме текста этого сообщения, так и
преобразовано сразу в форму, удобную для его дальнейшей обработки с целью формирования ответной реакции системы. Изначально перед системой автоматического распознавания речи ставится задача преобразования текста в речь. Поэтому в английской литературе эти системы называются Speech To Text System. Часто системы автоматического распознавания речи называют также просто системами распознавания речи (СРР).
Упрощенная структурная схема системы автоматического распознавания речи приведена на рис.
Под моделью анализа речевого сигнала понимают блок, в задачи которого входит анализ входного сигнала, во-первых, с целью отнесения его к числу речевых, а во-вторых, для выделения в составе полученного сигнала компонент, которые являются основными для
распознавания полученного сообщения. К таким компонентам относятся параметры, описывающие речь, аналогичные тем, которые формируются в процессе синтеза речи. Набор указанных параметров зависит от избранного метода распознавания.
Модель распознавания речи и принятия решения – это блок, в рамках которого осуществляется формирование распознанного сообщения на основе анализа последовательности параметров, полученных из первого блока. Например, если используется формантная модель описания речи, то на основе полученных в первом блоке частот формант строится последовательность распознанных фонем, составляющих входное сообщение. При этом осуществляется принятие решения о том, распознано ли входное сообщение правильно. При принятии решения, в частности, возможны следующие решения: сообщение распознано правильно (подтверждением этого является текст, соответствующий нормам естественного языка) либо
сообщение не распознано или распознано не правильно (такое решение принимается в случае наличия в распознанном сообщении явных, трудно исправимых автоматически ошибок или вообще полной бессмыслицы).
В качестве ограничений, накладываемых на САРР, можно привести следующие характеризующие их параметры:
Вид распознаваемой речи (пословное произношение с паузами в стиле речевых команд; четкое произношение без пауз в стиле “диктант”; спонтанная речь);
Объём словаря (ограниченный до 100, 200 и т.д. слов; неограниченный);
Степень зависимости от диктора (дикторозависимые; дикторонезависимые);
Синтаксические ограничения (отдельные слова; типовые фразы; искусственный язык; естественный язык);
Условия приёма речевых сигналов (контактные микрофоны; удаленные на расстояние более 1 м микрофоны);
Условия применения СРР (слабые или сильные помехи);
Надежность распознавания.
Практические приложения речевого интерфейса
Прежде чем перейти к рассмотрению примеров практического использования речевого интерфейса, сравним его с наиболее распространенными в настоящее время средствами взаимодействия пользователя с компьютером: клавиатурой и дисплеем. Следует отметить по крайней мере три принципиальных отличия речевого интерфейса:
1) явный недостаток клавиатуры и дисплея заключается в том, что для общения с компьютером человеку нужно пройти специальную подготовку. В то же время речь – это естественный интерфейс для любого, даже неподготовленного человека. Речь снижает в резкой степени психологическое расстояние между человеком и компьютером. Если появляется речевой интерфейс, то круг пользователей компьютером может стать неограниченным;
2) речь сама по себе никак механически не привязана к компьютеру и может быть связана с ним через системы коммуникаций, например, телефон. Речевой интерфейс сокращает физическое расстояние между человеком и компьютером. Это дополнительно расширяет круг потенциальных пользователей компьютеров и делает речевой интерфейс идеальным средством для оздания систем массового информационного обслуживания;
3) можно обращаться с компьютером в полной темноте, с закрытыми глазами, в условиях занятости рук рычагами управления, с завязанными руками и в другой экстремальной обстановке. Это свойство даёт оперативность и мобильность общения, освобождение рук и разгрузку зрительного канала восприятия при получении информации. Это исключительно важно, например, для диспетчера большой энергетической системы или пилота самолёта и водителя автомобиля. Кроме того, компьютерные системы становятся более доступными людям с нарушением зрения.
В настоящее время речевые компьютерные технологии уже достаточно широко распространены и развиваются в нескольких направлениях, основные из которых представлены на рис.
Когда мы слушаем, как кто-нибудь говорит, наше внутреннее ухо анализирует частотный спектр звука и мозг воспринимает слово. Некоторые компьютеры могут имитировать этот процесс при помощи анализатора спектра.
Звуковые сигналы поступают в анализатор через микрофон, и их спектральные характеристики анализируются. Затем компьютер сравнивает полученные сигналы с запрограммированным списком фонем, или строительных акустических блоков. Кратковременные сигналы сравниваются со стандартными образцами слов и соотносятся с правилами языка и синтаксиса.
Этот процесс помогает компьютеру идентифицировать произнесенные слова. Если программа достаточно сложная, она даже может определить по контексту, было ли произнесено слово «плод» или «плот». Но может ли компьютер действительно понимать речь, как это делают люди, - по сей день остается предметом жарких дебатов. Можно запрограммировать компьютер, чтобы он мог отвечать на определенные комбинации слов, но заменит ли это настоящее понимание? Некоторые специалисты в области искусственного интеллекта верят, что через несколько десятилетий компьютер сможет вести актуальную непринужденную беседу с человеком. Тем не менее многие специалисты убеждены, что компьютер будет всегда ограничен программой, заранее составленными ответами.
Распознавание голоса
Звуки, произносимые долее нескольких секунд, разбиваются на более короткие временные сегменты. Затем компьютер анализирует частотные компоненты каждого сегмента.
Акустический анализ
звуковой спектрограф представляет спектр звука в видимой форме. При одном методе анализа нормальная цепочка звуков человеческого голоса разбивается на сегменты, цветовой код которых указывает на силу и частоту их компонентов. Трехмерные графы, как на иллюстрации сверху, изображают еще один способ визуализирования подобной информации.
Принятие решения
По результатам анализа компьютер решает, было ли произнесено данное слово. Компьютер сравнивает записанный анализ со списком возможных кандидатов, затем применяет правила лексики и синтаксиса, чтобы определить, соответствует ли определенный звук определенному слову.
Стандартные речевые модели
Мельчайшие единицы речи определяются в терминах частотного спектра. Стандартные образцы речи указывают, какая единица имеется в данном слове.
Звуковой спектрограф (сверху) производит акустический анализ звуков в произносимых словах. Здесь гласный звук (наверху слева) сравнивается со спектром гласных (внизу).
Звуковые волны заставляют вибрировать барабанную перепонку. Эта вибрация передается нескольким маленьким косточкам и преобразуется в электрические сигналы, которые поступают в мозг.
Для того, чтобы распознать речь
и перевести её из аудио или видео в текст
, существуют программы и расширения (плагины) для браузеров. Однако зачем всё это, если есть онлайн сервисы? Программы надо устанавливать на компьютер, более того, большинство программ распознавания речи далеко не бесплатны.
Большое число установленных в браузере плагинов сильно тормозит его работу и скорость серфинга в интернет. А сервисы, о которых сегодня пойдет речь, полностью бесплатны и не требуют установки – зашел, попользовался и ушел!
В этой статье мы рассмотрим два сервиса перевода речи в текст онлайн . Оба они работают по схожему принципу: Вы запускаете запись (разрешаете браузеру доступ к микрофону на время пользования сервисом), говорите в микрофон (диктуете), а на выходе получаете текст, который можно скопировать в любой документ на компьютере.
Speechpad.ru
Русскоязычный онлайн сервис распознавания речи. Имеет подробную инструкцию по работе на русском языке.
- поддержку 7 языков (русский, украинский, английский, немецкий, французский, испанский, итальянский)
- загрузку для транскрибации аудио или видео файла (поддерживаются ролики с YouTube)
- синхронный перевод на другой язык
- поддержку голосового ввода знаков препинания и перевода строки
- панель кнопок (смена регистра, перевод на новую строку, кавычки, скобки и т.п.)
- наличие персонального кабинета с историей записей (опция доступна после регистрации)
- наличие плагина к Google Chrome для ввода текста голосом в текстовом поле сайтов (называется «Голосовой ввод текста — Speechpad.ru»)
Dictation.io
Второй онлайн сервис перевода речи в текст. Иностранный сервис, который между тем, прекрасно работает с русским языком, что крайне удивительно. По качеству распознавания речи не уступает Speechpad, но об этом чуть позже.Основной функционал сервиса:
- поддержка 30 языков, среди которых присутствуют даже венгерский, турецкий, арабский, китайский, малайский и пр.
- автораспознавание произношения знаков препинания, перевода строки и пр.
- возможность интеграции со страницами любого сайта
- наличие плагина для Google Chrome (называется «VoiceRecognition»)
В деле распознавания речи самое важное значение имеет именно качество перевода речи в текст. Приятные «плюшки» и вохможности – не более чем хороший плюс. Так чем же могут похвастаться в этом плане оба сервиса?
Сравнительный тест сервисов
Для теста выберем два непростых для распознавания фрагмента, которые содержат нечасто употребляемые в нынешней речи слова и речевые обороты. Для начала читаем фрагмент поэмы «Крестьянские дети» Н. Некрасова.
Ниже представлен результат перевода речи в текст каждым сервисом (ошибки обозначены красным цветом):
Как видим, оба сервиса практически с одинаковыми ошибками справились с распознаванием речи. Результат весьма неплохой!
Теперь для теста возьмем отрывок из письма красноармейца Сухова (к/ф «Белое солнце пустыни»):
Отличный результат!
Как видим, оба сервиса весьма достойно справляются с распознаванием речи – выбирайте любой! Похоже что они даже используют один и тот же движок — уж слижком схожие у них оказались допущенные ошибки по результатам тестов). Но если Вам необходимы дополнительные функции типа подгрузки аудио / видео файла и перевода его в текст (транскрибация) или синхронного перевода озвученного текста на другой язык, то Speechpad будет лучшим выбором!
Кстати вот как он выполнил синхронный перевод фрагмента поэмы Некрасова на английский язык:
Ну а это краткая видео инструкция по работе со Speechpad, записанная самим автором проекта:
Друзья, понравился ли Вам данный сервис? Знаете ли Вы более качественные аналоги? Делитесь своими впечатлениями в комментариях.