Чат-боты и их способность поговорить на любую тему

Picture

Статья, в которой ML-разработчик рассказывает все о чат-ботах: для чего они нужны, как создаются и как научить их общаться на свободные темы. А еще – почему не все боты действительно умные.

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

Александр Константиновский – старший разработчик в департаменте машинного обучения MTS AI. Он отвечает за создание чат-ботов, которые могут не только помочь пользователю решить его вопрос, но и просто поддержать разговор. Разработчики называют такие боты «болталками». Умение поговорить на любую тему – прерогатива человека, но скоро искусственный интеллект научится разговаривать так, что не отличишь. Что важно учесть при создании чат-бота для общения и как понять, что результат на уровне? Об этом поговорили с Сашей.

Кто такие чат-боты?

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

Например, боту под силу понимать, когда пользователь говорит что-то грубое. Такую задачу можно решать как с машинным обучением, так и без него. Решить это без ML можно, составив список плохих слов. Бот будет понимать, что клиент грубит только в том случае, когда в речи пользователя присутствует слово из этого списка. А если использовать алгоритмы ML, чат-бот сможет читать между строк, улавливая смысл того, что говорит человек, даже если он не использует в речи ненормативную лексику.

Picture

По каким признакам можно классифицировать чат-ботов?

Выделяют две большие группы чат-ботов: ориентированные на решение конкретной задачи – task oriented bot – и не ориентированные. Первый класс очень широкий, он включает в себя работу с разным типом задач – от анализа тональности общения до бронирования столиков в ресторанах. Чат-боты из второй группы – мультимодальные системы, которые могут решить несколько разных запросов пользователя. Наиболее яркий пример – это умные ассистенты, которые и свет включают, и музыку ставят, и диалог на свободную тему поддерживают.

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

Чат-бот для чего угодно

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

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

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

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

Искусство small talk

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

Picture

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

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

Многие известные решения используют глубокие нейросети, которые обучаются на огромных объемах данных. Чем больше данных, тем лучше работает нейросеть – здесь не может быть определенного ограничения количества данных, которое бы гарантировало качество работы системы. Работа с данными в процессе создания любых ИИ-моделей – основная и сложная часть. И здесь есть свои проблемы: низкое качество данных, к которым есть открытый доступ, малое количество датасетов на русском языке, отсутствие регулирования в этой области.

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

Как создается чат-бот?

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

Picture

Количество итераций, которые нужно пройти для обучения нейросети, зависит от сложности задачи, самой модели и объема данных. Размер нейросети напрямую влияет на ее способность действовать сложнее и запоминать. Чем больше нейросеть, тем больше нужно данных для обучения, и тем больше ей нужно времени на тренировку. Например, небольшую нейросеть, которая должна отличать кошек от собак, можно быстро обучить на домашнем компьютере. А нейросеть AlphaGo от Google, которая победила чемпиона мира в Го, училась несколько недель на суперкомпьютере.

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

Уровень человечности общения. Как понять, что чат-бот качественный?

Выбор метрик оценки качества чат-бота зависит от формулировки задачи. Если говорить про боты-болталки, то здесь используются как автоматические критерии, так и те, которые требуют ручной работы.

Уже много лет ученые пытаются разработать автоматическую метрику, которая бы показывала уровень адекватности или человечности общения: оценивается текст, который выдает чат-бот. Самая популярная метрика называется «перплексия», ее можно считать промежуточной оценкой. Перплексия отражает неспособность бота понять запрос человека. Чем этот показатель меньше, тем лучше общается чат-бот.  Инженеры следят за показателем перплексии на протяжении всей тренировки, а после обучения нескольких разных нейросетей выбирают лучшую по этому показателю. Следующий этап – живой тест с использованием метрик из второй категории, для оценки которых нужны люди.

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

Второй вариант, в котором используются абсолютные критерии оценки: человек переписывается с ботом и оценивает два показателя – sensibleness (разумность) и специфичность. Люди проверяют, насколько ответы бота имеют смысл в контексте, не сказал ли бот ерунду невпопад и насколько эти ответы оригинальны и интересны. Среднее из двух показателей – финальная абсолютная оценка, по которой можно сравнивать боты-болталки.

Для task oriented ботов критерии оценки будут другими. Если задача бота-болталки – поддержать разговор, то в случае с ботом, ориентированным на определенную задачу, – решить конкретную проблему пользователя.  Когда задача бота – выдавать информацию по запросам пользователя, то мы можем не знать наверняка, попал ли бот в цель, дал ли он именно ту информацию, которая была нужна. Чтобы понять, успешно ли справился бот с решением задачи, пользователей часто просят поставить оценку или смайлик в конце взаимодействия с системой. Это позволяет разработать точные метрики: например, рассчитать процент пользователей, которым бот помог. Такой подход также помогает проанализировать, какие запросы удается решить реже, какие чаще, и скорректировать работу системы на основе этих данных.

Поговорить как с лучшим другом

Один из отличных примеров чат-ботов, способных поговорить с пользователем о чем угодно, – Replika AI. Создатели утверждают, что их чат-бот психологически помогает миллионам людей, поддерживает их эмоционально, и благодаря такому общению люди не чувствуют себя одинокими. Удивительно, что есть люди, которые по-настоящему общаются с вовлеченной машиной, ведь их диалог – результат перемножения матриц.

Picture

Почему не все боты умные?

Машинное обучение никогда не работает на 100% точно. Его природа такова, что мы аппроксимируем насколько можно ближе, но не можем полностью попасть в предпочтения конкретного человека. Качество многих ботов снижает цензура, боязнь навредить собственному имиджу. Классификатор запретных тем сильно влияет на работу чат-ботов, способных говорить на свободные темы, ограничивает их.

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

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

Новости
Главное за последнее время
Смотреть все

Инвестиции

MTS AI в медиа

Новости команды

Партнерство

Кейсы

Решения

ВобъективеИИ

События

Технологии

ВобъективеИИ
ИИ спасает животных и помогает понять медицинские тексты
События
Вебинар от MTS AI: узнайте больше о возможностях Audiogram
ВобъективеИИ
Робот-патрульный и ИИ для создания архитектурных шедевров
События
MTS AI стала стратегическим партнером Machines Can See
События
Датасет RuPAWS представили на конференции LREC 2022
Технологии
NLP-исследователи разработали датасет для идентификации парафразов
MTS AI в медиа
Как превратить «дело безумцев» в единорога? История успеха Александра Ханина
Решения
Как голосовые и текстовые боты меняют клиентский сервис
MTS AI в медиа
Как заработать на искусственном интеллекте в России
Новости команды
MTS AI провела специальную оценку условий труда