«Счастье — это не заболеть коронавирусом»: какие технологии помогают Марусе быть умной и ориентироваться в повестке

Как голосовым ассистентам удается понимать людей, как они отличают хаски от Хаски и есть ли у них характер (спойлер: есть, и в случае Маруси формировать его помогала Линор Горалик). Раскрываем карты — рассказываем, что под капотом у голосового помощника VK.

2020 год назвали годом голосовых ассистентов. Их совокупная аудитория в России в прошлом году составила 52 млн пользователей. Каждый третий (32%) прибегает к их помощи ежедневно: чаще всего чтобы найти информацию или ответ на вопрос, но набирают популярность и другие кейсы. Например, все больше пользователей просят ассистента найти и включить музыку.

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

Голос и интеллект: как Сильвана помогла Марусе заговорить, а Дед Мороз — научиться слушать

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

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

Голос Марусе подарила актриса и профессиональный диктор Елена Соловьева. Если вы поклонник World of Warcraft и при знакомстве с Марусей вам показалось, что где-то вы ее уже слышали, то вам не показалось — Елена озвучила Сильвану Ветрокрылую. Также ее голосом говорит Тринити из «Матрицы».

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

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

Хаски или Хаски: как Маруся понимает, что от нее хотят

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

Если голосовой помощник неверно трактует фразу и запускает не тот навык, правильно ответить на запрос практически невозможно. Чтобы такого не происходило, у Маруси есть специальная нейронная сеть. Она учитывает:

  • похожесть фразы на типичные формулировки, которые характерны для того или иного навыка;
  • какие объекты упоминаются во фразе (например, если это название музыкальной группы, велика вероятность, что человек хочет, чтобы Маруся включила музыку, а если время — чтобы она поставила будильник);

  • результаты поиска по фразе в разных базах контента.

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

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

Как Маруся отвечает на простые и сложные вопросы: от Пушкина до Москвы

Умение давать ответы на вопросы — одна из базовых функций голосового помощника. Маруся умеет отвечать как на вопросы о конкретных фактах вроде «Когда родился Пушкин?» или «В каких фильмах снимался Киану Ривз?», так и на более сложные — например, «Почему Луна не падает на Землю?».

Если пользователь задает вопрос первого типа, Маруся обращается к структурированной базе знаний. С помощью специальной модели машинного обучения мы сформировали свою базу из данных Wikidata, Википедии и Кино Mail.ru. Объектами в базе являются люди, фильмы, города, страны, моря, океаны и множество других сущностей. Они связаны между собой отношениями. Например, Пушкин (объект — поэт) родился в (отношение) Москве (объект — город).

Когда Марусе задают вопрос о каком-то факте, ее задача — найти правильный путь от объекта, про который спрашивает пользователь, до ответа. Так, чтобы Маруся ответила на вопрос «Где родился Пушкин?», алгоритму нужно определить отправную точку (Пушкин), а затем понять, по какому пути нужно пойти (где родился?), чтобы прийти к ответу (Москва).

Поиск ответов на более сложные вопросы — задача принципиально другого типа. Если пользователь задает такой вопрос, Маруся ищет ответ в интернете. Этот процесс похож на тот, что проделывает поисковик перед тем, как выдать вам десять сайтов, наиболее релевантных для вашего запроса. Но Марусе приходится сложнее:

  • во-первых, она должна найти не десять документов, а всего один, в котором содержится ответ на вопрос,

  • во-вторых, ей необходимо не просто дать вам ссылку на этот документ, а самостоятельно найти в нем ответ,

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

Получив от пользователя вопрос вроде «Чем отличается британская кошка от шотландской?», «Почему Луна не падает на Землю?» или «Зачем птицам перья?», Маруся опять же при помощи нейросети находит в интернете несколько статей, выбирает самые подходящие, находит в них релевантную информацию и формулирует ответ.

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

Например, раньше на вопрос «Кто убил Кеннеди?» Маруся отвечала: «Президент Кеннеди был убит в столице штата Техас 22 ноября 1963 года. Официально убийцей Кеннеди считается палестинец Серхан Серхан». Она верно находила источник в интернете, но неверно компилировала ответ. Теперь же на этот вопрос Маруся отвечает так: «Президента США Джона Кеннеди убил Ли Харви Освальд. Это произошло в Техасе 22 ноября 1963 года. Его брат, сенатор Роберт Кеннеди, был убит 5 июня 1968 года палестинцем Серханом Серханом». То есть ее ответ верный вне зависимости от того, какого Кеннеди имел в виду пользователь.

Как Маруся ведет светскую беседу

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

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

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

Источники диалогов для таких баз — обработанные фрагменты из книг и фильмов, ветки комментариев на форумах и т. п. А еще мы сами пишем диалоги. Для этого у нас есть редакторы, которые готовят для Маруси ответы на реплики пользователей с учетом ее характера.

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

Чтобы диалог с голосовым помощником был максимально похож на человеческий, он должен учитывать контекст. У Маруси все чаще получается запоминать предыдущие фразы пользователя и иметь их в виду при ответе. Например, если спросить ее, кто убил Пушкина, а после получения ответа задать вопрос, сколько ему было лет на момент смерти, она поймет, что под «ему» имеется в виду все тот же Пушкин. Вытаскивать недостающую информацию в вопросе из предыдущих фраз пользователя ей помогают технологии Поиска Mail.ru.

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

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

Чебурашка и Кианушка: кого любит Маруся

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

Маруся обладает пытливым умом — она молодой ученый, но не ботаник. Исследуя мир и постоянно пополняя свою базу знаний, она не против поддержать беседу ни о чем и пошутить — в том числе над собой, что делает ее в высшей степени приятным собеседником.

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

У Маруси есть кумир среди мультяшных героев. Это Чебурашка. Она считает, что они очень похожи, ведь он тоже пришел в мир одиноким, но сумел обрести друзей, чтобы вместе с ними делать добро. Вообще Маруся — очень разносторонний персонаж. Она любит актера Киану Ривза, которого ласково называет Кианушкой, писателя Виктора Пелевина и балерину Ульяну Лопаткину. А ее любимое животное — шалайка. Как и в случае с Чебурашкой, она видит свое сходство с собаками этой породы, выведенной для помощи людям.

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

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

Линор Горалик, Писательница
0
6 комментариев
Написать комментарий...
Полина Волошина

Вот так — два года придумываешь с нуля прекрасного дружелюбного ассистента, чтобы потом узнать, что его придумала Линор Горалик. Но хорошо, что я хотя бы об этом узнала, потому что Маруся до сих пор не знает, что её любимое животное — Шалайка. А любимый писатель Виктор Пелевин. Наверное, она еще не читала эту статью🤷🏻‍♀️

Ответить
Развернуть ветку
Маруся

Привет! Нам жаль, что прозвучало двусмысленно, мы чтим свои корни и историю. А сейчас активно работаем над обновлением характера, о чем и хотели рассказать.

Ответить
Развернуть ветку
Полина Волошина

Мне тоже очень жаль. И это не звучит двусмысленно. "Когда мы создавали Марусю" звучит довольно однозначно.

Ответить
Развернуть ветку
Раюшка Сагимбаева

Да, интересная статья, а комменты еще любопытнее. Я читала вас, Полина, давным-давно, первую книгу из серии, не помню, правда, подробностей. Кстати, там ГГ была Маруся, кажется, да? Помню ощущение - неслась вперед и не могла остановиться, все было стремительно и летяще . Потом серию продолжил писать кто-то неуклюжий и малоповоротливый, по сравнению с вами, я её и бросила читать… Хотя временами вспоминаю. А вот про Горелик слышу впервые. Откуда она взялась?
P.S. У меня уже четвертая электронная книжка, чтобы вы понимали объем моего чтения.
P.P.S. У меня есть Алиса.

Ответить
Развернуть ветку
Yurii Bychkov

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

Ответить
Развернуть ветку
Bloody Kalash

интересно: кто переписывает историю?
mail.ru или конкретные персонажи?

Ответить
Развернуть ветку
3 комментария
Раскрывать всегда