Инфографика: Гостья из будущего

Инфографика: Гостья из будущего

Сегодня каждый, у кого есть смартфон, может пообщаться с роботом. Голосовой помощник «Яндекса» по имени Алиса не просто понимает, что хочет человек, а даже в состоянии поболтать с ним по душам. Алиса «очеловечилась» благодаря нейросетям — технологии, способной очень скоро породить настоящий искусственный интеллект.

infograph-1.jpg
Нажмите для увеличения

1. Чтобы не пропустить запрос, Алиса через микрофон в фоновом режиме «слушает», ожидая, когда появится речь. Распознав голос, она включает алгоритм, отслеживающий слова «Привет, Алиса». «Услышав» их, Алиса отправляет все последующие слова в виде цифровой аудиозаписи на серверы «Яндекса». До этого момента она ничего не отправляет в Интернет, используя маленькую нейросеть, работающую на телефоне или планшете.

2. Система распознавания текста (Automatic Speech Recognition) разбивает речь на перекрывающиеся «кусочки» по 25 мс и распознает в них фонемы — звуковые единицы. Каждую она «делит» на начало, середину и конец. Такие «обрывки» фонем называют сенонами. В русском языке их около 4000, и нейросеть обучают, зачитывая ей тексты, включающие как можно больше сочетаний фонем и сенонов и максимальное количество сочетаний разных частей речи. Обучившаяся на таком материале нейросеть «понимает», какой звук или слово наиболее вероятны в конкретном месте, даже если не до конца «расслышала» речь.

3. Нейросеть диалоговой системы определяет, к какому из возможных сценариев относится запрос: геолокация, погода, курс валют, поисковый запрос, требование открыть какой-нибудь сайт, предложение просто поболтать и т. д. Эту нейросеть обучали на миллионах запросов к «Яндексу», и теперь она самостоятельно, а не по заданным алгоритмам понимает, к каким сценариям отнести даже нетипичные запросы. Например, на вопрос «Как там на улице?» Алиса выдаст текущий прогноз погоды. Затем другая нейросеть выделяет из запроса все важные сущности. В вопросе о погоде это будут город и период, за который нужен прогноз.

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

5. Система обработки данных преобразует полученные данные в структурированный текстовый формат. Одновременно подбираются саджесты — предположения, что еще могло бы быть интересно пользователю, сделавшему такой запрос.

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

7. Сформированный диалоговой системой текстовый ответ поступает в нейросетевую систему TTS (text-tospeech). Она преобразует текст в последовательность фонем, которые озвучиваются по-разному, в зависимости от того, какие фонемы их окружают. В итоге речь создается с нуля. Алиса говорит голосом актрисы Татьяны Шитовой, которая и обучала «говорильную» нейросеть, зачитывая ей тексты.

Нюансы
Как создается контекст

Алиса «помнит», о чем она только что говорила с пользователем. Если, узнав «Какая погода завтра в Питере», затем спросить «А в Москве?», она выдаст соответствующий прогноз. Более того, иногда Алиса задает уточняющие вопросы. Чтобы удерживать контекст беседы, на этапе выделения ключевых сущностей заполняется специальная форма, которая содержит обязательные и необязательные для конкретного запроса поля. Если в следующем вопросе нет ключевых слов, явно отсылающих к другому сценарию (скажем, не погода, а курсы валют), Алиса по умолчанию считает, что он относится к тому же сценарию, что и предыдущий вопрос. Она определяет, какое из полей заполненной формы отличается. В примере с погодой в обязательном поле «Геолокация» «Санкт-Петербург» изменится на «Москву», а данные в остальных полях останутся теми же. Значит, необходимо предоставить пользователю прогноз погоды, но не для Петербурга, а для Москвы. Получив в системе обработки данных ответ, Алиса озвучивает его пользователю.

Детали
Строптивая девчонка

В отличие от других виртуальных голосовых помощников, у Алисы есть характер. Разработчики решили, что робот — девушка ироничная, но соблюдающая дистанцию и не спускающая оскорблений. Команда прописала сотни редакторских ответов на разные вопросы, которые бы отражали такой характер. Имя должно было соответствовать выбранному типажу и не вызывать трудностей даже у людей с дефектами речи. Решив, что робота зовут Алиса, разработчики проверили, соответствует ли имя характеру, спросив об этом у добровольцев, которые помогают обучать поиск «Яндекса» и оценивают адекватность ответов нейросетей. Алиса обогнала другие варианты с огромным отрывом.

Обучение
Человеческий фактор

«Яндекс» обучает нейросети понимать, чего хотят люди, используя гигантские выборки своих поисковых запросов. Нейросеть изучает их и «осознает», какие ответы адекватны тем или иным запросам. Строгих алгоритмов выбора, которые можно описать логической цепочкой, у нейросетей нет, и в этом их сила. Вместо заранее заданных программистами алгоритмов на каждом этапе обучения сложной нейросети уместность ее ответов оценивают люди. Получив от них подсказки, какие из ее действий были правильными, а какие нет, нейросеть корректирует свое «понимание». Эту работу для «Яндекса» за небольшую плату делают добровольцы, которых называют толокерами. Они же выполняют несложные задания вроде сортировки картинок или расшифровки коротких аудиозаписей. Ответы используются, чтобы задавать нейросетям правильное направление «мыслей». Изначально толокеров было несколько десятков, но сегодня их сообщество разрослось до 270 тысяч человек.

Фото: GETTY IMAGES (X3)

Материал опубликован в журнале «Вокруг света» № 1, январь 2018

 
# Вопрос-Ответ