October 4, 2023

В паутине Интернета роль мух и пауков всё успешнее исполняют боты

Авторский коллаж

Это продолжение, а начало тут. Лет пять назад руководитель группы разработки диалоговых систем Борис Янгель поведал публике об основе работы Алисы — голосовой помощницы Яндекса. То есть о том, как его команда учит Алису понимать желания пользователя, находить ответы на самые неожиданные вопросы и вести себя прилично при этом. Голосовой помощник запустили 10 октября 2017 года, когда на рынке уже были представлены Siri от Apple и другие. Алиса есть в приложении Яндекса на iOS и Android, в мобильном браузере и в виде отдельного приложения под Windows. Была предусмотрена киллер-фича — конкретная особенность или определенная функция продукта, отсутствующая у конкурентов. Происходит от английского выражения «killer feature» — убийственная особенность, делающая продукт уникальным...

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

Разница между machine learning и Deep Learning: машинное обучение — методология искусственного интеллекта (ИИ). Не всё машинное обучение — это глубокое обучение, поскольку считается, что глубокое обучение — это самая передовая методология машинного обучения. Всё глубокое обучение — это машинное обучение (наука об обучении компьютерной программы или системы выполнению задач без чётких инструкций).

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

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

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

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

Модели глубокого обучения могут обучаться самостоятельно, используя обратную связь в виде известных ошибок. Если вы обматерили того, кто вас выбесил звонком или при переписке, программа поймёт, что допустила ошибку. Хотите бесплатно дрессировать Алису или Ирис? Реагируйте, хозяевам это понравится! Учтём, есть спецмодель, именуемая семантический теггер. Задача модели — выделить полезные крупицы информации в спиче пользователя. Любая реплика раскладывается по смыслам и попадает в модуль dialog manager. Модуль знает текущий контекст диалога, знает, что происходило до этого момента. Ему на вход поступают результаты разбора реплики, и он должен принять решение, что с ними сделать — например, родить текст и отправить на модуль синтеза речи. Или текста. Кто видел или даже сам пытался подрессировать свою домашнюю Алису, сможет поведать много интересного. Кто путает, с ботом переписывается или с живым человеком, тому печалька...

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

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

Сценарные диалоги тоже могут быть частью контекста: если вы говорили про погоду, а потом сказали что-то непонятное, сработает «болталка». Рискните поговорить с роботом о патриотизме! Или вступите с ботом в переписку на эту или совсем уж философскую тему. Будут сюрпризы.

«Болталка» — DSSM-подобная нейронная сеть, где есть две башни энкодера. Один энкодер кодирует текущий контекст диалога, другой — ответ-кандидат. У вас получается два embedding-вектора для ответа и контекста, и сеть обучается так, чтобы чтобы развести их. Скажем, оценив разницу — чем уместнее данный ответ в контексте и чем неуместнее. Литераторы, уличные попрошайки и лохотронщики этим приёмом пользуются много веков, и особенно преуспевают смешливые.

И как реагировали на эти радости в 2018 году в чате яндекс-клиентов? «Все эти замечательные разработки становятся невостребованными, когда замечаешь, что Алиса подслушивает твои оффлайновые разговоры и Яндекс впоследствии выдает релевантную им рекламу. Я после этого попрощался с болтливой девушкой. И (чтоб второй раз не вставать) — разработчики потратили время и нашли, видимо, действительно замечательное решение, чтобы Алису нельзя было удалить даже из списка процессов по Ctrl-Alt-Del (ведь завершить программу штатными средствами невозможно...), а надо ли оно голосовому помощнику? Пишу о ранней версии, знакомиться с последующими желания не возникло».

Прошло около пяти лет...

В паутине Интернета 2 (роли мух и пауков исполняют боты)

(продолжение следует)