«Поставь будильник на семь», — говоришь ты телефону. Через мгновение команда выполнена. Но что именно успевает сделать голосовой помощник за это время? Микрофон улавливает звук, устройство переводит его в цифровые данные, система распознаёт речь и определяет смысл запроса. Ошибка на любом этапе может изменить результат. Разберёмся, как голосовой помощник понимает речь, что происходит внутри устройства после команды и почему иногда помощник слышит совсем не то, что ему сказали.
Как голосовой помощник понимает речь
Разберём этот процесс по шагам — от момента, когда микрофон улавливает голос, до готового ответа системы.
Шаг 1. Микрофон улавливает звук
Когда человек говорит, он заставляет воздух колебаться — так возникает звуковая волна. Она достигает микрофона, который преобразует эти колебания в электрический сигнал.
На этом этапе многое зависит от условий. Разговор рядом с устройством и команда из другого конца шумной комнаты дают записи разного качества. Влияют и характеристики самого микрофона.
Шаг 2. Звук превращается в цифровые данные
Теперь электрический сигнал нужно перевести в цифровую форму, чтобы с ним могли работать алгоритмы. Для этого устройство много раз в секунду измеряет сигнал и записывает каждое значение числом. За секунду таких измерений могут быть тысячи или десятки тысяч. Так получается цифровая запись голоса.
Дальше система ищет в цифровой записи признаки, по которым можно различать звуки речи. Например, она может учитывать, какие частоты в звуке выражены сильнее и как они меняются со временем. У разных звуков эта картина отличается, и модель использует такие различия, чтобы распознавать речь. Как именно она это делает, зависит от устройства модели.
Шаг 3. ASR распознаёт речь
Теперь система должна превратить запись голоса в слова. Этим занимается автоматическое распознавание речи — Automatic Speech Recognition (ASR). Но сначала системе нужно понять, где человек говорит, а где пауза или тишина. Для этого может использоваться детектор речевой активности — Voice Activity Detection (VAD). А если вместе с голосом в запись попали посторонние звуки, например гул улицы или шум работающей техники, с ними работает шумоподавление. Это отдельная задача обработки звука.
Если голосовой помощник запускается по фразе, сначала устройство должно распознать, что обращаются именно к нему. Такой фразой может быть, например, «Окей, Google». За её распознавание отвечает детектор активационной фразы. На многих устройствах он работает локально — прямо на самом устройстве. Но запустить голосовой ввод можно и другими способами, например кнопкой.
Шаг 4. Система определяет смысл запроса
Теперь системе нужно понять, что делать с распознанным текстом. Например, команды «включи будильник на семь» и «разбуди меня в семь» состоят из разных слов, но задача у них одна — поставить будильник на семь.
Система анализирует фразу и определяет, чего хочет пользователь. Если возможны разные варианты, ей помогает контекст. Например, он может подсказать, какой вариант распознанного слова подходит к остальным словам во фразе. Для такого анализа используются языковые модели. Они могут помогать системе как во время распознавания речи, так и после него — при работе с уже полученным текстом.
Шаг 5. Система формирует и озвучивает ответ
Когда смысл запроса определён, помощник выполняет нужное действие или готовит ответ. Если его нужно произнести вслух, используется синтез речи из текста — Text-to-Speech (TTS). Эта технология превращает готовый текст в звучащую речь, формирует паузы и интонацию.
Сколько времени займёт весь процесс, зависит от того, где и как обрабатывается запрос, а также от производительности системы. Если часть вычислений происходит на удалённых серверах, на скорость влияет и интернет-соединение. Поэтому в разных ситуациях помощник может отвечать с разной скоростью.
Насколько точно современные системы распознают речь
Точность распознавания проверяют на тестовых записях, и результат зависит от языка, качества аудио, условий записи и способа оценки. Поэтому показатели разных систем можно сравнивать только с учётом того, как именно их получили.
Например, в 2013 году Яндекс сообщал, что его технология правильно распознавала 94% слов в «Яндекс Навигаторе» и мобильных «Яндекс Картах» и 84% слов в мобильном «Яндекс Браузере». Эти цифры показывают, что даже одна технология могла давать разные результаты в разных продуктах. Сегодня T-Bank указывает для VoiceKit точность транскрибации до 96%. Сервис рассчитан в том числе на некачественное аудио, просторечия и особенности произношения.
Почему голосовой помощник иногда ошибается
На точность распознавания влияет и качество звука, и сама речь. Помощнику может быть сложнее разобрать команду:
- если вокруг шумно;
- человек говорит с акцентом, слишком быстро или непривычно для системы;
- микрофон плохо записывает звук;
- речь идёт на специальную или редкую тему;
- встречаются новые или редкие слова.
Допустим, в учебных материалах почти не было людей с определённым акцентом. Тогда их произношение система может распознавать хуже. Исследования ASR показывают, что разница в точности между акцентами действительно существует.
Разработчики стараются заранее подготовить модель к речи, с которой она встретится после запуска. Для этого её дообучают на подходящем аудио, добавляют нужную лексику в словари и используют контекстные подсказки. В VoiceKit, например, советуют брать для дообучения записи, сделанные примерно в тех же условиях, в которых затем предстоит распознавать речь.
Приватность и безопасность голосовых помощников
Голосовому помощнику нужен доступ к микрофону, иначе он не услышит команду. Пользователь может контролировать этот доступ: в iOS и Android можно выбрать, каким приложениям разрешено использовать микрофон, а каким — нет.
После голосовой команды запись может обрабатываться прямо на устройстве или передаваться на сервер. Передача на сервер ещё не означает, что запись останется там надолго. Например, в Google сохранение аудио в аккаунте регулируется отдельной настройкой. Если оно включено, сохранённые голосовые записи и активность «Google Ассистента» можно просматривать и удалять.
Разработчики также стараются уменьшить объём аудио, который нужно передавать или хранить. Google использует для этого разные способы:
- Федеративное обучение. Модель обучается прямо на устройстве, поэтому исходная запись голоса не отправляется на сервер.
- Временное обучение. Аудиозапись используют для обучения модели только в течение короткого времени. Запись хранится в оперативной памяти, пока система с ней работает, а после этого удаляется и не остаётся в постоянном хранилище.
Безопасность голосовых помощников связана не только с хранением записей. Исследователи проверяют, можно ли заставить помощника выполнить команду без ведома владельца. В лабораторных экспериментах это удалось сделать с помощью ультразвука: человек такой сигнал не слышал, а микрофон и система распознавания могли на него отреагировать. Это экспериментальная атака. Такие опыты помогают исследователям находить слабые места голосовых систем и изучать способы их защиты.
Как разговаривают «Алиса», Siri и «Google Ассистент»
Когда дома одной умной колонкой пользуется вся семья, возникает новая задача: помощнику нужно не только разобрать слова, но и понять, кто их произнёс.
Для этого голосовые помощники могут запоминать особенности голоса. У «Алисы» есть голосовые профили, у «Google Ассистента» — Voice Match, а у Siri на HomePod — Recognize My Voice. Так помощник может отличить одного члена семьи от другого. Например, «Алиса» учитывает, кто просит включить музыку, чтобы не смешивать предпочтения разных людей. Siri может определить пользователя и обратиться к его сообщениям или календарю.
Есть и другая задача: понять, когда разговор ещё не закончен. Представим, что человек спрашивает о погоде, получает ответ и сразу уточняет: «А завтра?» Некоторые помощники позволяют не произносить своё имя перед каждой такой репликой. У «Google Ассистента» для этого есть Continued Conversation, у «Алисы» — режим непрерывного диалога, а Siri тоже может принять следующий запрос без повторного обращения.
Получается, во время разговора помощник работает не только со словами. Иногда ему приходится отвечать ещё на два вопроса: «Кто со мной говорит?» и «Это новая команда или продолжение предыдущей?»
Главное
Голосовой помощник за несколько секунд превращает звук в команду и готовит ответ. Для этого ему нужно распознать слова, разобраться в их смысле и понять, что от него требуется. С этой работой помогают справляться нейронные сети.
Даже хорошая система распознавания иногда ошибается. Шумная улица, непривычный акцент, плохая запись или редкое слово могут помешать ей правильно разобрать фразу. Многое зависит и от того, какую речь модель встречала во время обучения.
По мере развития речевых технологий помощники учатся работать с разными голосами, словами и условиями записи. Но задача остаётся прежней: превратить человеческую речь в данные, которые компьютер сможет обработать, а затем выполнить то, о чём его попросили.