Как сделать распознавание речи. Слово — не воробей! Обзор программ для распознавания голоса. Сравнительный тест сервисов

С момента, когда был изобретен компьютер, человечество мечтает общаться с ним на привычном языке - с помощью голоса. Рядовой житель планеты Земля знать не хочет ни о каких клавиатурах и мышах. Ему надо, чтобы компьютер понимал его с полуслова - причем в буквальном смысле. Просто, быстро, понятно! В то время как фантасты придумывают истории про то, как компьютеры через сотню-другую лет начнут по приказу ходить в магазины, массировать нам пятки и чесать спинки, разработчики программного обеспечения медленно, но верно движутся к реализации этой задумки. И если без чесания под лопаткой придется пока обойтись, то управлять различными приложениями с помощью голоса и даже надиктовывать компьютеру целые текстовые файлы уже очень даже можно. Программ для панибратского отношения с ПК пока не очень много, но те, что есть, стремительно развиваются. Еще год назад описанные в статье утилиты - более ранние их версии - представляли из себя весьма печальное зрелище. Сегодня же они подросли, возмужали - это уже не какие-то затравленные мокрые и голодные щенки, а жизнерадостные волчата, которые через год-два превратятся в волков голосового управления компьютером.

Dragon Naturally Speaking 8
Уникальная в своем роде утилита. Титаник и цеппелин “речевых” программ в одном флаконе. Адская смесь из распознавателя голоса, звукового управления компьютером и учителя правильного произношения английских слов. Но давайте обо всем по порядку.
Утилита англоязычная, потому и работать умеет исключительно с английскими словоформами. Теоретически, можно научить Dragon Naturally Speaking великому и могучему, но, увы и ах, использовать это можно только для голосового управления РС. Выступить в роли русской стенографистки утилита не сможет - на какие бы ухищрения вы не пошли. Зато разговорный английский схватывает на раз. По заявлениям разработчиков, программа распознает до 95% слов. Цифра, конечно, завышена, но не так сильно, как у конкурентов. Натаскав DNS на тембр своего голоса (для этого придется потратить около часа времени, надиктовывая различные слова), вы научите его понимать даже очень сложные мозгодробительные обороты, включая английский мат. Вот только одно “но”... Произносить любую фразу нужно предельно четко. Как, вы не проходили курсов артикуляции? Тогда придется потренироваться самостоятельно. Будьте уверены - через пару-тройку дней лингвистических сражений с DNS вы любого англичанина поразите чистотой произношения. Думаете, шутим? Нисколько! DNS - идеальное средство для тренировки правильного произношения - чуть где сфальшивили, сразу выдает предупреждение.
Теперь что касается голосового управления. Здесь DNS тоже не подкачал. Программку удалось натравить почти на все имеющиеся у нас на редакционных компьютерах утилиты. Сначала он мертвой хваткой вцепился в горло всем составляющим пакета MS Office . Открыл после голосового приказа Excel и Word, а также все остальные приложения. Затем настало время сетевых программ. The Bat! , ICQ , различные интернет-браузеры покорились DNS с первого раза. В завершение мы испытали утилиту в работе с разномастными утилитами того же класса - cправился и глазом не моргнул. Забавно, когда одна программа управления голосом запускает другую такую же утилиту. Кстати, обратите внимание: ничего не стоит настроить DNS на запуск любимых игр. Произносите в микрофон “Warcraft” - и он тут же загружается. Главное, не забывайте перед тем как командовать, научить программу связывать конкретное слово с той или иной утилитой (настраивается в меню Accuracy Center ).
Помимо упомянутого, в программу встроено множество разных мелких вкусностей, вроде бы необязательных, но которые заметно расширяют возможности утилиты. Как вам, например, распознавание текста из wav или mp3-файла? Загружаете англоязычную песню, в которой не можете разобрать какие-то слова, а DNS выдает вам их в текстовом виде.
Петь дифирамбы DNS можно почти до бесконечности. Это единственная программа в обзоре, которая справилась почти со всеми текстами и продемонстрировала даже больше возможностей, чем мы от нее ждали. Однозначный “мастхев” и “испешелиюз”.
Плюсы: Просто, удобно, со множеством наворотов и вкусностей.
Минусы: За регистрацию 30-дневной trial-версии просят почти $200 , что, мягко говоря, не скромно. Утилита не понимает русского - но это беда почти всех аналогичных программ.
Резюме: Пожалуй, лучшая программа для распознавания речи и голосового управления компьютером. Если бы не высокая цена, то была бы просто идеальной.
Realize Voice 4.1
Несмотря на то что создатели позиционируют Realize Voice как эдакий мультикомбайн, одинаково легко справляющийся с распознаванием речи, управлением приложениями и синтезом речитатива, детальное тестирование показало, что создатели, мягко говоря, преувеличивают возможности продукта. Как распознаватель речи утилита показала себя весьма слабо. Процент точного определения слов с последующим переводом в текстовую форму - очень низок. Даже длительные экзекуции над обучающим модулем ни к чему не привели. Многие слова и выражения программа понимать отказывается. И быть бы RV незамедлительно линчеванным и распятым, если бы не... уникальные возможности в области голосового управления различными приложениями. Тут RV поднатужился и дал такую фору другим утилитам, что мы разве что не аплодировали стоя. Программа с легкостью настраивается на запуск любой сторонней утилиты (хоть Word, хоть ICQ, хоть какой-нибудь драйвер) да еще и поддерживает работу с макросами. С их помощью можно вытворять такое, что и подумать страшно. На одну голосовую команду, которую, кстати, вполне можно сделать русской, разрешено повесить, например, такую многоступенчатую функцию: открыть почтовый клиент, подгрузить спам-фильтр, зайти на сервер, скачать все письма с заголовками на русском языке, все с заголовками на английском и с заголовками длиннее 20 символов - удалить. Это только для примера. Вообще же сложность макросов ничем не ограничена. Главное только успевать фантазировать. Единственное, на что Realize Voice натаскать не удалось, - на голосовое управление внутри компьютерных игр. Но в обычных приложениях - никаких проблем.
В качестве бонуса RV предлагает, как бы это помягче выразиться, интегральную функцию голосовой организации рабочего пространства. Это по-научному, а если на русском, то голосом можно не только запускать приложения и управлять их работой, но и в любой момент подгружать другие утилиты, переключаться между окнами, закрывать программы... Иными словами, Бобик по команде “Апорт!” не только сбегает за косточкой, но еще по пути заглянет в магазин за молоком, выбросит мусор, оплатит телефонный счет и купит вашей девушки цветы.
Плюсы: Уникальные функции голосового управления, поддержка сложных макросов, простота использования.
Минусы: Слабый модуль распознавания речи. Цена $50.
Резюме: Программа просто создана для голосового управления компьютером. Жаль, что разработчики пожертвовали другими важными функциями утилиты.
Dictation 2004 v. 4.4
Утилита-середнячок. Тот самый случай, когда и придраться, вроде бы, не к чему, но на фоне конкурентов смотрится не очень. Dictation 2004 неплохо справляется с распознаванием устной речи, хотя тягаться, например, с Dragon Naturally Speaking не может: последний бьет по самому незащищенному месту Dictation 2004 - по проценту правильного угадывания слов. С этим у программы не все в порядке, дополнительное обучение болезнь лечит, но не полностью. Можно поставить утилите “пять” за умение управлять приложениями, но это будет оценка за прилежание, а не за мастерское владение предметом, как это делает Realize Voice . Разработчики напирают на то, что программа тесно интегрирована с Word, но мы этого не заметили - от работы с другими утилитами ничем не отличается. Наконец, Dictation 2004 хочется почесать за ушком за то, что он умеет неплохо распознавать речь из wav-файлов, но Dragon Naturally Speaking делает это не в пример лучше. Единственная же уникальная функция “Диктанта” - умение распознавать речь напрямую из различных внешних источников (диктофона, плеера, музыкального центра - вряд ли кому-то понадобится). Вот и выходит, что ну всем хорош Dictation 2004, а отдавать за него “зеленый полтинник” ($50) жалко.
Плюсы: Умеет распознавать речь напрямую с различных внешних устройств.
Минусы: Средние показатели по всем функциям.
Резюме: Дешево, но не очень сердито. Утилита-середнячок, серая мышка в мире программ распознавания речи.
Горыныч ПРОФ 3.0
“Горыныч” - отечественная разработка. Уже за одно умение работать с великим и могучим программу можно водружать на пьедестал. Но - будем объективными. Утилита построена на двух модулях, отвечающих за распознавание надиктованной в микрофон речи и за команды различным приложениям. Жесткое тестирование показало, что проблемы с русским языком у “Горыныча”, увы, имеются - если проводить аналогии с зарубежными программами и их уровнем знания английского, то отечественный продукт работает где-то на уровне Dictation 2004 . То есть все здорово, но запинки случаются. Важный момент - в утилиту встроен блок самообучения: чем больше вы уделяете внимание “Горынычу”, тем лучше он вас понимает и меньше возмущается вашему неправильному русскому произношению. Мы испытывали нрав утилиты лишь несколько часов, и за это время, как нам показалось, программа действительно стала понятливей. Возможно, при более длительном общении результаты будут еще лучше.
Тестирование “командных” умений “Горыныча” прошло без сучка, без задоринки. Утилита не пытается претендовать на мега-интегральную систему, реализованы только основные функции управления программами - никаких сложносочиненных макросов писать не придется, но то, что есть, - на твердую пятерку. Запуски, отключения программ, вызовы дополнительных окошек - сказочный змей со всем справился и от демонстрации норовистости воздержался.
В природе встречается две версии коварного Горыныча - облегченная (Light), продающаяся в jewel-упаковке по цене около $5 (идеально подходит для домашнего пользования) и полноценный коробочный вариант за $49 (для дома функций явный перебор).
Плюсы: Русскоязычность, эргономичный интерфейс, функция самообучения, наличие недорогой облегченной версии.
Минусы: Средние показатели по всем функциям, но только на фоне зарубежных конкурентов, среди отечественных утилит аналогов нет.
Резюме: Отличная русскоязычная программа. За неимением достойных отечественных аналогов - чуть ли не единственный вариант для тех, кто совсем не дружит с английским.
Чего ждать? Чего бояться?
Несмотря на относительную схожесть “голосовых” программ, они используют разные алгоритмы распознавания речи, ее декодирования и выведения на экран в виде текста. Обычно в одну утилиту встроено несколько алгоритмических ядер, отвечающих за различные функции утилит. В зависимости от того, какой из компонентов в данной программе спрограммирован тщательнее, утилита справляется лучше с теми или другими функциями. Чаще всего “голосовые” приложения умеют работать по двум основным направлениям.
1) Распознавание русской или английской речи и конвертация голоса в текстовый файл. Самая сложная в реализации функция - разумеется, для разработчиков. Программ, владеющих этим навыком в совершенстве, увы, пока не существует.
2) Голосовое управление компьютером. Какое-то простое - или не очень простое, а многоступенчатое - действие “ассоциируется” с какой-то голосовой командой. После этого достаточно произнести заветное слово или фразу, и компьютер незамедлительно проделает соответствующую операцию.
Обратите внимание, что даже демоверсии описанных в статье программ занимают не менее 50 Мб. Это обусловлено большим объемом “словарного запаса” - чтобы понять произнесенное слово, утилита уже должна его “знать”. Не надейтесь, что “речевые” программы будут шустро бегать на слабых машинах. Для комфортной работы с большинством подобных утилит необходимо иметь вполне современный компьютер и хорошего качества микрофон.

* * *
В теории вы подкованы, дело - за практикой. Запасайтесь утилитами, инсталлируйте, осваивайте. Рынок программ распознавания речи молод, потому утилиты ведут себя как дети малые. За ними нужно ухаживать, вовремя менять им подгузники, следить, чтобы они вовремя узнавали новые слова (во всех программах есть модуль обучения новым выражениям), холить и лелеять. Что вырастет из скачанного из Сети или купленного дистрибутива - зависит только от вас. Если не будете уделять достаточно времени настройке и обучению программы - вырастет строптивый и хулиганистый отрок. Потратите несколько часов на изучение документации, лазанию по менюшкам, работе с микрофоном - взрастите прилежного юнца, который будет везде ходить за вами и глаголить: “Чего желаете, папенька?! Кашки? Огурчиков малосольных? ”.

Если Вы слишком медленно печатаете на клавиатуре, а учиться десятипальцевому методу набора лень, можете попробовать воспользоваться современными программами и сервисами голосового ввода текста.

Клавиатура, бесспорно, достаточно удобный инструмент управления компьютером. Однако, когда дело доходит до наборки длинного текста, мы понимаем всё её (а, если быть честными, то наше:)) несовершенство... На ней ещё нужно уметь быстро печатать!

Пару лет назад я, желая упростить себе работу по написанию статей, решил найти такую программу, которая бы позволяла преобразовать голос в текст. Я думал, как было бы хорошо, если бы я просто говорил всё что нужно в микрофон, а компьютер печатал вместо меня:)

Каково же было моё разочарование, когда я понял, что на тот момент никаких реально работающих (а тем более бесплатных) решений для этого дела не существовало. Были, правда, отечественные разработки, вроде "Горыныча" и "Диктографа". Они понимали русский язык, но, увы, качество распознавания речи имели довольно низкое, требовали долгой настройки с созданием словаря под свой голос, да ещё и стоили довольно недёшево...

Потом на свет появился Android и ситуация немного сдвинулась с мёртвой точки. В этой системе голосовой ввод появился в качестве встроенной (и довольно удобной) альтернативы ввода с виртуальной экранной клавиатуры. И вот недавно в одном из комментариев меня спросили, есть ли возможность голосового ввода для Windows? Я ответил, что пока нет, но решил поискать и оказалось, что, может и не совсем полноценная, но такая возможность существует! О результатах моих изысканий и будет сегодняшняя статья.

Проблема распознавания речи

Перед тем как начать разбор существующих на сегодняшний день решений для голосового ввода в Windows, хотелось бы немного осветить суть проблемы распознавания речи компьютером. Для более точного понимания процесса предлагаю взглянуть на следующую схему:

Как видим, преобразование речи в текст происходит в несколько этапов:

  1. Оцифровка голоса . На этом этапе качество зависит от чёткости дикции, качества микрофона и звуковой карты.
  2. Сравнение записи с записями в словаре . Здесь работает принцип "чем больше - тем лучше": чем больше записанных слов содержит словарь, тем выше шансы того, что Ваши слова будут распознаны правильно.
  3. Вывод текста . Система автоматически, ориентируясь по паузам, пытается выделить из потока речи отдельные лексемы, соответствующие шаблонным лексемам из словаря, а затем выводит найденные соответствия в виде текста.

Главная проблема, как нетрудно догадаться, кроется в двух основных нюансах: качестве оцифрованного отрезка речи и объёме словаря с шаблонами. Первую проблему реально минимизировать даже при наличии дешёвого микрофона и стандартной звуковой карты. Достаточно просто говорить не спеша и внятно.

Со второй проблемой, увы, не всё так просто... Компьютер, в отличие от человека, не может корректно распознать одну и ту же фразу, сказанную, например, женщиной и мужчиной. Для этого в его базе должны существовать оба варианта озвучки разными голосами!

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

Я не зря упомянул про Андроид чуть выше. Дело в том, что Гугл, который его разрабатывает, создал и единственный на сегодня общедоступный глобальный онлайн-словарь для распознавания речи (причём многоязычный!) под названием Google Voice API . Подобный словарь для русского языка также создаёт Яндекс, но пока он, увы, ещё непригоден для использования в реальных условиях. Поэтому практически все бесплатные решения, которые мы рассмотрим ниже, работают именно со словарями Google. Соответственно, все они имеют одинаковое качество распознавания и нюансы заключаются лишь в дополнительных возможностях...

Программы голосового ввода

Полноценных программ для голосового ввода под Windows не так уж много. Да и те, которые есть и понимают русский язык, в основном являются платными... Например, стоимость популярной пользовательской системы преобразования голоса в текст RealSpeaker стартует с отметки 2 587 руб, а профессионального комплекса Цезарь-Р аж с 35 900 руб!

Но среди всего этого дорогого софта имеется одна программка, которая не стоит и копейки, но при этом предоставляет функционал, более чем достаточний для большинства пользователей. Называется она MSpeech :

Основное окно программы имеет максимально простой интерфейс - индикатор уровня звука и всего три кнопки: включить запись, остановить запись и открыть окно настроек. Работает MSpeech также весьма просто. Вам нужно нажать кнопку записи, установить курсор в окно, в которое должен выводиться текст и начать диктовать. Для большего удобства запись и её остановку лучше производить горячими клавишами, которые можно задать в Настройках:

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

Вообще же MSpeech - довольно удобная программа, которая позволяет набирать текст голосом в любом окне Windows. Единственный нюанс в её использовании - компьютер должен быть подключён к Интернету для доступа к словарям Гугла.

Голосовой ввод онлайн

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

Ну и, естественно, первым делом стоит упомянуть о "родном" сервисе Google под названием Web Speech API :

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

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

По окончании записи распознанный текст будет автоматически выделен и Вы сможете скопировать его в буфер обмена или отправить по почте.

Из недостатков стоит отметить лишь возможность работы сервиса только в браузере Google Chrome старше 25-й версии, а также отсутствие возможности мультиязычного распознавания.

Кстати, на нашем сайте вверху Вы найдёте полностью русифицированную версию этой же формы распознавания речи. Пользуйтесь на здоровье;)

На базе сервиса Гугла существует достаточно аналогичных онлайн-ресурсов распознавания речи. Одним из представляющих для нас интерес можно назвать сайт Dictation.io :

В отличие от Web Speech API, Dictation.io имеет более стильное оформление в виде блокнота. Основным его преимуществом перед сервисом Гугла является то, что он позволяет остановить запись, а затем снова запустить и при этом введённый ранее текст сохранится пока Вы сами не нажмёте кнопку "Clear".

Как и сервис Google Dictation.io "умеет" ставить точки, запятые, а также восклицательный знак и знак вопроса, но не всегда начинает новое предложение с большой буквы.

Если же Вы ищете сервис с максимальным функционалом, то, наверное, одним из лучших в этом плане будет :

Главные преимущества сервиса:

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

Единственным недостатком сервиса (кроме уже описанных общих недостатков Web Speech API) является не совсем привычный для подобных сервисов алгоритм работы. После нажатия кнопки записи и надиктовки текста, его нужно проверить, выбрать вариант, наиболее соответствующий тому, что Вы хотели сказать, а затем перенести в текстовый редактор внизу. После чего процедуру можно повторить.

Плагины для Хрома

Кроме полноценных программ и онлайн-сервисов, существует ещё один способ распознать речь в текст. Этот способ реализовывается за счёт плагинов для браузера Google Chrome.

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

Одним из лучших расширений для перевода речи в текст является SpeechPad :

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

  • поддержка голосовых команд управления компьютером;
  • улучшенная поддержка расстановки знаков препинания;
  • функция отключения звуков на ПК;
  • интеграция с Windows (правда, на платной основе);
  • возможность распознавания текста с видео или аудиозаписи (функция "Транскрибация");
  • перевод распознанного текста на любой язык;
  • сохранение текста в текстовый файл, доступный для скачивания.

Что же касается плагина, то он предоставляет нам максимально упрощённый функционал сервиса. Установите курсор в нужное Вам поле ввода, вызовите контекстное меню и нажмите на пункт "SpeechPad". Теперь подтвердите доступ к микрофону и, когда поле ввода станет розовым, надиктуйте нужный текст.

После того, как Вы прекратите говорить (пауза более чем в 2 секунды), плагин сам остановит запись и выведет в поле всё, что Вы сказали. При желании Вы можете зайти в настройки плагина (правый клик на иконке плагина вверху) и изменить параметры по умолчанию:

Как ни странно, но во всём Интернет-магазине расширений Гугла мне больше не попалось ни одного стоящего плагина, который бы позволял реализовать голосовой ввод в любом текстовом поле. Единственным похожим расширением было англоязычное . Оно добавляет иконку микрофона ко всем полям ввода на веб-странице, но не всегда правильно располагает её, поэтому она может оказаться вне экрана...

«Хотелось бы сразу сказать, что с сервисами распознавания имею дело впервые. И поэтому расскажу о сервисах, с обывательской точки зрения» - отметил наш эксперт – «для тестирования распознавания я использовал пользовался тремя инструкциями: Google, Yandex и Azure».

Google

Небезызвестная IT-корпорация предлагает протестировать свой продукт Google Cloud Platform в режиме онлайн. Опробовать работу сервиса может бесплатно любой желающий. Сам продукт удобен и понятен в работе.

Плюсы:

  • поддержка более чем 80 языков;
  • быстрая обработка имен;
  • качественное распознавание в условиях плохой связи и при наличии посторонних звуков.

Минусы :

  • есть трудности при распознавании сообщений с акцентом и плохим произношением, что делает систему трудной в использовании кем-то кроме носителей языка;
  • отсутствие внятной технической поддержки сервиса.

Yandex

Распознавание речи от Yandex предоставляется в нескольких вариантах:

  • Облако
  • Библиотека для доступа с мобильных приложений
  • «Коробочная» версия
  • JavaScript API

Но будем объективными. Нас, в первую очередь, интересует не разнообразие возможностей использования, а качество распознавания речи. Поэтому, мы воспользовались пробной версией SpeechKit .

Плюсы:

  • простота в использовании и настройке;
  • хорошее распознавание текста на Русском языке;
  • система выдаёт несколько вариантов ответов и через нейронные сети пытается найти самый похожий на правду вариант.

Минусы:

  • при потоковой обработке некоторые слова могут определяться некорректно.

Azure

Система Azure разработана компанией Microsoft. На фоне аналогов она сильно выделяется за счёт цены. Но, будьте готовы столкнуться с некоторыми трудностями. Инструкция, представленная на официальном сайте то ли неполная, то ли устаревшая. Адекватно запустить сервис нам так и не удалось, поэтому пришлось воспользоваться сторонним окном запуска. Однако, даже здесь для тестирования вам понадобится ключ от сервиса Azure.

Плюсы:

  • относительно других сервисов, Azure очень быстро обрабатывает сообщения в режиме реального времени.

Минусы:

  • система очень чувствительна к акценту, с трудом распознает речь не от носителей языка;
  • система работает только на английском языке.

Итоги обзора:

Взвесив все плюсы и минусы мы остановились на Яндексе. SpeechKit дороже чем Azure, но дешевле чем Google Cloud Platform. В программе от Google было замечено постоянное улучшение качества и точности распознавания. Сервис самосовершенствуется за счет технологий машинного обучения. Однако, распознавание русскоязычных слов и фраз у Яндекса на уровень выше.

Как использовать распознавание голоса в бизнесе?

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

Не так давно, нашим клиентом стал один, известный всем SaaS сервис (по просьбе компании, имя сервиса не разглашается). С помощью F1Golos они записали два аудиоролика, один из которых был нацелен на продление жизни тёплых клиентов, другой – на обработку запросов клиентов.

Как продлить жизнь клиентов с помощью распознавания голоса?

Зачастую, SaaS сервисы работают по ежемесячной абонентской плате. Рано или поздно, период пробного пользования или оплаченного трафика - заканчивается. Тогда появляется необходимость продления услуги. Компанией было принято решение предупреждать пользователей об окончании трафика за 2 дня до истечения срока пользования. Оповещение пользователей происходило через голосовую рассылку. Ролик звучал так: «Добрый день, напоминаем, что у вас заканчивается период оплаченного пользования сервисом ХХХ. Для продления работы сервиса скажите - да, для отказа от предоставляемых услуг скажите нет».

Звонки пользователей, которые произнесли кодовые слова: ДА, ПРОДЛИТЬ, ХОЧУ, ПОДРОБНЕЕ; были автоматически переведены на операторов компании. Так, порядка 18% пользователей продлили регистрацию благодаря лишь одному звонку.

Как упростить систему обработки данных с помощью распознавание речи?

Второй аудиоролик, запущенный той же компанией, носил другой характер. Они использовали голосовую рассылку для того, чтобы снизить издержки на верификацию номеров телефона. Ранее они проверяли номера пользователей с помощью звонка-роботом. Робот просил пользователей нажать определенные клавиши на телефоне. Однако с появлением технологий распознавания, компания сменила тактику. Текст нового ролика звучал следующим образом: «Вы зарегистрировались на портале ХХХ, если вы подтверждаете свою регистрацию, скажите да. Если вы не направляли запрос на регистрацию, скажите нет». Если клиент произносил слова: ДА, ПОДТВЕРЖДАЮ, АГА или КОНЕЧНО, данные об этом моментально переводились в CRM-систему компании. И запрос на регистрацию подтверждался автоматически за пару минут. Внедрение технологий распознавания снизило время одного звонка с 30 до 17 секунд. Тем самым, компания снизила издержки почти в 2 раза.

Если вам интересны другие способы использования распознавания голоса, или вы хотите узнать подробнее о голосовых рассылках, переходите по ссылке. На F1Golos вы сможете оформить первую рассылку бесплатно и узнать на себе, как работают новые технологии распознавания.

Энциклопедичный YouTube

  • 1 / 5

    Работы по распознаванию речи берут начало с середины прошлого века. Первая система была создана в начале 1950 годов: её разработчики поставили перед собой задачу распознавания цифр . Разработанная система могла идентифицировать цифры, но сказанные одним голосом, как, например, система «Audrey» компании Bell Laboratories . Она работала на основе определения форманты в спектре мощности каждого речевого отрывка . В общих чертах система состояла из трех главных частей: анализаторов и квантователей, шаблонов согласователей сети и, наконец, датчиков. Создано было, соответственно, на элементной базе различных частотных фильтров, переключателей, так же в составе датчиков были газонаполненные трубки [ ] .

    К концу десятилетия появились системы, распознающие гласные независимо от диктора . В 70-х годах начали использоваться новые методы, позволившие добиться более совершенных результатов - метод динамического программирования и метод линейного предсказания (Linear Predictive Coding - LPC). В вышеупомянутой компании, Bell Laboratories были созданы системы, использующие именно эти методы . В 80-х годах следующим шагом в развитии систем распознавания голоса стало использование скрытых марковский моделей (Hidden Markov Models - HMM). В это время начинают появляться первые крупные программы по распознаванию голоса, как например, Kurzweil text-to-speech . В конце 80-х также стали применяться методы искусственных нейронных сетей (Artificial Neural Network - ANN) . В 1987 году на рынке появились куклы Worlds of Wonder’s Julie doll, которые были способны понимать голос . А ещё через 10 лет Dragon Systems выпустила программу «NaturallySpeaking 1.0» .

    Надежность

    Основными источниками ошибок распознавания голоса являются:

    Распознавание пола можно выделить в отдельный тип задач, который довольно успешно решается - при больших объёмах начальных данных пол определяется практически безошибочно, а на коротких отрывках вроде ударного гласного звука вероятность ошибки - 5,3 % для мужчин и 3,1 % для женщин .

    Также рассматривалась проблема имитации голоса. Исследования France Telecom показали, что профессиональная имитация голоса практически не увеличивает вероятность ошибки определения личности - имитаторы подделывают голос лишь внешне, подчеркивая особенности речи, но базовую канву голоса подделать не способны. Даже голоса близких родственников, близнецов будет иметь различие, как минимум, в динамике управления . Но с развитием компьютерных технологий возникла новая проблема, требующая использования новых способов анализа, - трансформация голоса, которая увеличивает вероятность ошибки до 50 % .

    Для описания надежности системы есть два используемых критерия: FRR (False Rejection Rate) - вероятность ложного отказа в доступе (ошибка первого рода) и FAR (False Acceptance Rate) - вероятность ложного допуска, когда система ошибочно опознает чужого как своего (ошибка второго рода). Также иногда системы распознавания характеризуются таким параметром, как EER (Equal Error Rates), представляющим точку совпадения вероятностей FRR и FAR. Чем надежней система, тем более низкий EER имеет .

    Значения ошибок идентификации для различных биометрических модальностей

    Применение

    Распознавание можно разделить на два главных направления: идентификацию и верификацию . В первом случае система должна самостоятельно установить личность пользователя по голосу; во втором случае система должна подтвердить или опровергнуть идентификатор, который предъявляет пользователь . Определение исследуемого диктора состоит в попарном сравнении голосовых моделей, которые учитывают индивидуальные особенности речи каждого диктора. Таким образом, нам необходимо для начала собрать достаточно большую базу данных. А по результатам этого сравнения может быть сформирован список фонограмм, являющихся с некоторой вероятностью речью интересующего нас пользователя .

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

    Анализ

    Весь процесс обработки речевого сигнала можно разбить на несколько главных этапов:

    • предобработка сигнала;
    • выделение критериев;
    • распознавание диктора.

    Каждый этап представляет алгоритм или некоторую совокупность алгоритмов, что в итоге дает требуемый результат .

    Главные черты голоса формируются тремя главными свойствами: механикой колебаний голосовых складок, анатомией речевого тракта и системой управления артикуляцией. Кроме этого, иногда есть возможность пользоваться словарем говорящего, его оборотами речи . Главные признаки, по которым принимается решение о личности диктора, формируются с учетом всех факторов процесса речеобразования: голосового источника, резонансных частот речевого тракта и их затуханий, а также динамикой управления артикуляцией. Если рассмотреть источники подробнее, то в свойства голосового источника входят: средняя частота основного тона, контур и флюктуации частоты основного тона и форма импульса возбуждения. Спектральные характеристики речевого тракта описываются огибающей спектра и его средним наклоном, формантными частотами , долговременным спектром или кепстром . Кроме того, рассматривается также длительность слов, ритм (распределение ударений), уровень сигнала, частота и длительность пауз . Чтобы определить эти характеристики приходится использовать довольно сложные алгоритмы, но так как, к примеру, погрешность формантных частот довольно велика, для упрощения используются коэффициенты кепстра, вычисляемые по огибающей спектра или передаточная функция речевого тракта, найденная методом линейного предсказания. Кроме упомянутых коэффициентов кепстра также используются их первые и вторые разности по времени . Этот метод был впервые предложен в работах Дэвиса и Мермельштейна .

    Кепстральный анализ

    В работах по распознаванию голоса наиболее популярен метод кепстрального преобразования спектра речевых сигналов . Схема метода такова: на интервале времени в 10 - 20 мс вычисляется текущий спектр мощности, а затем применяется обратное преобразование Фурье от логарифма этого спектра (кепстр) и находятся коэффициенты: c n = 1 Θ ∫ 0 Θ ∣ S (j , ω , t) ∣ 2 exp − j n ω Ω ⁡ d ω {\displaystyle c_{n}={\frac {1}{\Theta }}\int _{0}^{\Theta }{\mid S(j,\omega ,t)\mid }^{2}\exp ^{-jn\omega \Omega }d\omega } , Ω = 2 2 π Θ , Θ {\displaystyle \Omega =2{\frac {2\pi }{\Theta }},\Theta } - верхняя частота в спектре речевого сигнала, ∣ S (j , ω , t) ∣ 2 {\displaystyle {\mid S(j,\omega ,t)\mid }^{2}} - спектр мощности. Число кепстральных коэффициентов n зависит от требуемого сглаживания спектра, и находится в пределах от 20 до 40. Если используется гребенка полосовых фильтров , то коэффициенты дискретного кепстрального преобразования вычисляются как c n = ∑ m = 1 N log ⁡ Y (m) 2 cos ⁡ π n M (m − 1 2)) {\displaystyle c_{n}=\sum _{m=1}^{N}\log {Y(m)^{2}}\cos {{\frac {\pi n}{M}}(m-{\frac {1}{2}}))}} , где Y(m) - выходной сигнал m-го фильтра, c n {\displaystyle c_{n}} - n-й коэффициент кепстра.

    Свойства слуха учитываются путем нелинейного преобразования шкалы частот, обычно в шкале мел . Эта шкала формируется исходя из присутствия в слухе так называемых критических полос, таких, что сигналы любой частоты в пределах критической полосы неразличимы. Шкала мел вычисляется как M (f) = 1125 ln ⁡ (1 + f 700) {\displaystyle M(f)=1125\ln {(1+{\frac {f}{700}})}} , где f - частота в Гц, M - частота в мелах. Либо используется другая шкала - барк , такая, что разность между двумя частотами, равная критической полосе, равна 1 барк. Частота B вычисляется как B = 13 a r c t g (0 , 00076 f) + 3 , 5 a r c t g f 7500 {\displaystyle B=13\operatorname {arctg{(0,00076f)}} +3,5\operatorname {arctg{\frac {f}{7500}}} } . Найденные коэффициенты в литературе иногда обозначаются как MFCC - Mel Frequiency Cepstral Coefficients. Их число лежит в диапазоне от 10 до 30. Использование первых и вторых разностей по времени кепстральных коэффициентов втрое увеличивает размерность пространства принятия решений, но улучшает эффективность распознавания диктора .

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

    Методы

    Метод GMM следует из теоремы о том, что любая функция плотности вероятности может быть представлена как взвешенная сумма нормальных распределений:

    P (x | λ) = ∑ j = 1 k ω j ϕ (χ , Θ j) {\displaystyle p(x|\lambda)=\sum _{j=1}^{k}{\omega _{j}\phi (\chi ,\Theta _{j})}} ; λ {\displaystyle \lambda } - модель диктора;k - количество компонентов модели; ω j {\displaystyle {\omega _{j}}} - веса компонентов такие, что ∑ j = 1 n ω j = 1. {\displaystyle \sum _{j=1}^{n}{\omega _{j}}=1.} ϕ (χ , Θ j) {\displaystyle \phi (\chi ,\Theta _{j})} - функция распределения многомерного аргумента χ , Θ j {\displaystyle \chi ,\Theta _{j}} . ϕ (χ , Θ j) = p (χ ∣ μ j , R j) = 1 (2 π) n 2 ∣ R j ∣ 1 2 exp ⁡ − 1 (χ − μ j) T R j − 1 (χ − μ j) 2 {\displaystyle \phi (\chi ,\Theta _{j})=p(\chi \mid \mu _{j},R_{j})={\frac {1}{({2\pi })^{\frac {n}{2}}{\mid R_{j}\mid }^{\frac {1}{2}}}}\exp {\frac {-1(\chi -\mu _{j})^{T}R_{j}^{-1}(\chi -\mu _{j})}{2}}} , ω j {\displaystyle \omega _{j}} - её вес, k - количество компонент в смеси. Здесь n - размерность пространства признаков, μ j ∈ R n {\displaystyle \mu _{j}\in \mathbb {R} ^{n}} - вектор математического ожидания j-й компоненты смеси, R j ∈ R n × n {\displaystyle R_{j}\in \mathbb {R} ^{n\times n}} - ковариационная матрица.

    Очень часто в системах с этой моделью используется диагональная ковариационнная матрица. Она может использоваться для всех компонент модели или даже для всех моделей. Чтобы найти матрицу ковариации, веса, векторы средних часто используют EM-алгоритм . На входе имеем обучающую последовательность векторов X = {x 1 , . . . , x T } . Параметры модели инициализируются начальными значениями и затем на каждой итерации алгоритма происходит переоценка параметров. Для определения начальных параметров обычно используют алгоритм кластеризации такой, как алгоритм К-средних . После того как произошло разбиение множества обучающих векторов на M кластеров, параметры модели могут быть определены так: начальные значения μ j {\displaystyle \mu _{j}} совпадают с центрами кластеров, матрицы ковариации рассчитываются на основе попавших в данный кластер векторов, веса компонентов определяются долей векторов данного кластера среди общего количества обучающих векторов.

    Переоценка параметров происходит по следующим формулам:

    GMM можно также назвать продолжением метода векторного квантования (метод центроидов). При его использовании создается кодовая книга для непересекающихся областей в пространстве признаков (часто с использованием кластеризации методом K-means). Векторное квантование является простейшей моделью в системах распознавания, независимых от контекста .

    Метод опорных векторов (SVM) cтроит гиперплоскость в многомерном пространстве, разделяющую два класса - параметров целевого диктора и параметров дикторов из референтной базы. Гиперплоскость вычисляется c помощью опорных векторов - выбранных особым образом. Будет выполняться нелинейное преобразование пространства измеренных параметров в некоторое пространство признаков более высокой размерности, так как разделяющая поверхность может и не соответствовать гиперплоскости. Разделяющая поверхность в гиперплоскости строится методом опорных векторов, если выполняется условие линейной разделимости в новом пространстве признаков. Таким образом успех применения SMM зависит от подобранного нелинейного преобразования в каждом конкретном случае. Метод опорных векторов применяется часто с методом GMM или HMМ. Обычно для коротких фраз длительностью в несколько секунд для контестно-зависимого подхода лучше применяются фонемно-зависимые HMM .

    Популярность

    По информации консалтинговой компании International Biometric Group из Нью-Йорка, наиболее распространенной технологией является сканирование отпечатков пальцев. Отмечается, что из 127 млн долларов, вырученных от продажи биометрических устройств, 44 % приходится на дактилоскопические сканеры. Системы распознавания черт лица занимают второе место по уровню спроса, который составляет 14 %, далее следуют устройства распознавания по форме ладони (13 %), по голосу (10 %) и радужной оболочке глаза (8 %). Устройства верификации подписи в этом списке составляют 2 %. Одни из самых известных производителей на рынке голосовой биометрии - Nuance Communications, SpeechWorks, VeriVoice .

    В феврале 2016 года The Telegraph опубликовала статью, в которой сообщается, что клиенты британского банка HSBC смогут получать доступ к счетам и проводить транзакции с помощью идентификации по голосу. Переход должен был состояться в начале лета

    Человека всегда привлекала идея управлять машиной естественным языком. Возможно, это отчасти связано с желанием человека быть НАД машиной. Так сказать, чувствовать свое превосходство. Но основной посыл - это упрощение взаимодействия человека с искусственным интеллектом. Управление голосом в Linux с переменным успехом реализуется без малого уже четверть века. Давай разберемся в вопросе и попробуем сблизиться с нашей ОС настолько, насколько это только возможно.

    Суть дела

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

    Следует различать собственно системы распознавания речи (перевод речи в текст или в команды), такие как, например, CMU Sphinx, Julius, а также приложения на основе этих двух движков, и голосовые ассистенты, ставшие популярными с развитием смартфонов и планшетов. Это, скорее, побочный продукт систем распознавания речи, дальнейшее их развитие и воплощение всех удачных идей распознавания голоса, применение их на практике. Для Linux-десктопов таких пока мало.

    Надо понимать, что движок распознавания речи и интерфейс к нему - это разные вещи. Таков базовый принцип архитектуры Linux - разделение сложного механизма на более простые составные части. Самая сложная работа ложится на плечи движков. Обычно это скучная консольная программа, работающая незаметно для пользователя. Пользователь же взаимодействует в основном с программой-интерфейсом. Создать интерфейс несложно, поэтому основные усилия разработчики направляют именно на разработку открытых движков распознавания речи.

    Что было раньше

    Исторически сложилось так, что все системы работы с речью в Linux развивались не спеша и скачкообразно. Причина не в криворукости разработчиков, а в высоком уровне вхождения в среду разработки. Написание кода системы для работы с голосом требует высокой квалификации программиста. Поэтому, перед тем как начать разбираться с системами работы с речью в Linux, необходимо сделать небольшой экскурс в историю. Была когда-то в IBM такая чудесная операционная система - OS/2 Warp (Merlin). Вышла она в сентябре далекого уже 1996 года. Кроме того, что она обладала очевидными преимуществами перед всеми остальными операционками, OS/2 была укомплектована весьма продвинутой системой распознавания речи - IBM ViaVoice . Для того времени это было очень круто, учитывая, что ОС работала на системах с 486-м процессором с объемом ОЗУ от 8 Мбайт (!).

    Как известно, OS/2 проиграла битву Windows, однако многие ее компоненты продолжили существовать независимо. Одним из таких компонентов стала та самая IBM ViaVoice, превратившаяся в самостоятельный продукт. Так как IBM всегда любила Linux, ViaVoice была портирована на эту ОС, что дало детищу Линуса Торвальдса самую передовую для своего времени систему распознавания речи.

    К сожалению, судьба ViaVoice сложилась не так, как хотели бы линуксоиды. Сам движок распространялся бесплатно, но его исходники оставались закрытыми. В 2003 году IBM продала права на технологию канадо-американской компании Nuance. Nuance, разработавшая, пожалуй, самый успешный коммерческий продукт для распознавания речи - Dragon Naturally Speeking , здравствует и ныне. На этом бесславная история ViaVoice в Linux практически закончилась. За то короткое время, что ViaVoice была бесплатной и доступной линуксоидам, к ней разработали несколько интерфейсов, таких, например, как Xvoice. Однако проект давно заброшен и ныне практически неработоспособен.

    INFO

    Самое сложное звено в машинном распознавании речи - естественный человеческий язык.

    Что сегодня?

    Сегодня все гораздо лучше. В последние годы, после открытия исходников Google Voice API, ситуация с развитием систем распознавания речи в Linux значительно улучшилась, выросло качество распознавания. Например, проект Linux Speech Recognition на основе Google Voice API показывает очень неплохие результаты для русского языка. Все движки работают примерно одинаково: сначала звук с микрофона устройства юзера попадает в систему распознавания, после чего либо голос обрабатывается на локальном устройстве, либо запись отправляется на удаленный сервер для дальнейшей обработки. Второй вариант больше подходит для смартфонов или планшетов. Собственно, именно так и работают коммерческие движки - Siri, Google Now и Cortana.

    Из всего многообразия движков для работы с человеческим голосом можно выделить несколько активных на данный момент.

    WARNING

    Установка многих из описанных систем распознавания речи - нетривиальная задача!

    CMU Sphinx

    Большая часть разработки CMU Sphinx ведется в университете Карнеги - Меллона. В разное время над проектом работали и Массачусетский технологический институт, и покойная ныне корпорация Sun Microsystems. Исходники движка распространяются под лицензией BSD и доступны как для коммерческого, так и для некоммерческого использования. Sphinx - это не пользовательское приложение, а, скорее, набор инструментов, который можно применить в разработке приложений для конечных пользователей. Sphinx сейчас - это крупнейший проект по распознаванию речи. Он состоит из нескольких частей:

    • Pocketsphinx - небольшая быстрая программа, обрабатывающая звук, акустические модели, грамматики и словари;
    • библиотека Sphinxbase, необходимая для работы Pocketsphinx;
    • Sphinx4 - собственно библиотека распознавания;
    • Sphinxtrain - программа для обучения акустическим моделям (записям человеческого голоса).

    Проект развивается медленно, но верно. И главное - его можно использовать на практике. Причем не только на ПК, но и на мобильных устройствах. К тому же движок очень хорошо работает с русской речью. При наличии прямых рук и ясной головы можно настроить распознавание русской речи с помощью Sphinx для управления домашней техникой или умным домом. По сути, можно обычную квартиру превратить в умный дом, чем мы и займемся во второй части этого обзора. Реализации Sphinx имеются для Android, iOS и даже Windows Phone. В отличие от облачного способа, когда работа по распознаванию речи ложится на плечи серверов Google ASR или Яндекс SpeechKit, Sphinx работает точнее, быстрее и дешевле. И полностью локально. При желании можно научить Sphinx русской языковой модели и грамматике пользовательских запросов. Да, придется немного потрудиться при установке. Равно как и настройка голосовых моделей и библиотек Sphinx - занятие не для новичков. Так как основа CMU Sphinx - библиотека Sphinx4 - написана на Java, можно включать ее код в свои приложения для распознавания речи. Конкретные примеры использования будут описаны во второй части нашего обзора.

    VoxForge

    Особо выделим понятие речевого корпуса. Речевой корпус - это структурированное множество речевых фрагментов, которое обеспечено программными средствами доступа к отдельным элементам корпуса. Иными словами - это набор человеческих голосов на разных языках. Без речевого корпуса невозможна работа ни одной системы распознавания речи. В одиночку или даже небольшим коллективом создать качественный открытый речевой корпус сложно, поэтому сбором записей человеческих голосов занимается специальный проект - VoxForge .

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


    HTK, Julius и Simon

    HTK - Hidden Markov Model Toolkit - это инструментарий для исследования и разработки средств распознавания речи с использованием скрытых марковских моделей, разрабатывается в Кембриджском университете под патронажем Microsoft (Microsoft когда-то выкупила этот код у коммерческого предприятия Entropic Cambridge Research Laboratory Ltd, а затем вернула его Кембриджу вместе с ограничивающей лицензией). Исходники проекта доступны всем желающим, но использование кода HTK в продуктах, предназначенных для конечных пользователей, запрещено лицензией.

    Однако это не означает, что HTK бесполезен для Linux-разработчиков: его можно использовать как вспомогательный инструмент при разработке открытых (и коммерческих) средств распознавания речи, что и делают разработчики открытого движка Julius, который разрабатывается в Японии. Julius лучше всего работает с японским языком. Великий и могучий тоже не обделен, ведь в качестве голосовой базы данных используется все тот же VoxForge.

    Продолжение доступно только участникам

    Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

    Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!