Как телефоны понимают человеческую речь

Следующий шаг в процессе сближения человека и компьютера – это управление последним при помощи собственного голоса. Наиболее известные примеры реализаций такой технологии – голосовой помощник Apple Siri и Google Voice. Как же удается смартфонам распознавать речь своего владельца? Попробуем разобраться.

Даже не имея соответствующих телефонов и живя далеко от США, можно попробовать командовать цифровым гаджетом, разговаривая с ним. Современные веб-браузеры, такие как Opera и Chrome, поддерживают эту технологию. А выключать компьютер двумя хлопками в ладоши совсем не сложно – достаточно лишь поставить Voice Commander. Увидеть, как работают голосовые ассистенты на мобильниках можно на этом видео:

Демонстрация работы Siri и Voice

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

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

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

Разберем каждый этап детально:

1.    Превращаем движение молекул воздуха в цифровой сигнал


Если частота вибрации подходящая – мы слышим звук

Звук – это колебание вещества, в случае человеческой речи – воздуха. Когда мы говорим, голосовые связки в горле вибрируют с частотой от 80 до 1400 раз в секунду, передавая колебания выдыхаемому из легких воздуху. Движущиеся слои воздуха соприкасаются с соседними, те – со своими соседями, и так передается звук со скоростью 330 м/с.

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

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

Процессор компьютера записывает поступающие сигналы со скоростью 44100 раз в секунду. Если сохранять импульсы с меньшей скоростью, тогда потеряется слишком много полезной информации. А запись с большей скоростью, например, 48 кГЦ или 96 кГц, неразличима для среднего человека, но требует больше памяти для хранения.

2.    Вычленяем из общего шума полезный сигнал

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

3.    Анализируем полезный цифровой сигнал и строим осмысленную фразу

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

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

4.    Получаем осмысленные слова

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

5.    Выстраиваем осмысленную фразу

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

Также компьютер применяет специально разработанные статистические модели, с помощью которых он может сказать, какая вероятность того, что одно слово должно соседствовать с другим. Например, фразы «что коты едят на завтрак» и «чтока ты едят назав трак» равносильны по смыслу. Но вторая не пройдет пункты №4 и №5 анализа.

6.    Выполняем команду

Получив, наконец, осмысленное предложение, компьютер может выполнить какое-то действие. Это может быть как заранее заданный набор действий (например, услышав слово «поиск», компьютер откроет поисковую страницу), так и динамический анализ по ключевым словам (например, услышав фразу «найти фотографии Анжелины Джоли», алгоритм уловит команду поиска и параметры для него).

Подводя итог

Распознавать человеческую речь – довольно сложная и ресурсоемкая задача. Поэтому такие голосовые помощники, как Siri и Voice, записывают звук и отправляют его в «облако», не делая анализ на мобильном гаджете.

Но за подобными технологиями будущее. Одно из самых востребованных направлений – автомобили. Голосовое управление уже давно используется в машинах для уменьшения нагрузки на водителя. Однако начиная с будущего года диктовать своему автомобилю указания смогут не только покупатели бизнес-моделей, но и владельцы бюджетного Chevrolet Spark. А попробовать разговаривать с машиной можно хоть сейчас благодаря «Яндекс.Навигатору», который доступен для iOS и Android.

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я