Клуб 4CIO
Чат-боты

Чат-боты

Что такое чат-боты

Чат-бот (или диалоговый робот) – это программа, которая имитирует человеческое общение.

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

По данным исследования Tidio общая экономия от внедрения чат-ботов составляет на 2023 год около $11 млрд и может позволить компаниям уменьшить расходы на поддержку клиентов более чем на 30%. Выгоду приносят несколько принципиальных преимуществ чат-бота:

• 

многозадачность

: обрабатывает до нескольких тысяч запросов одновременно, что существенно снижает время ожидания для клиента;

• 

доступность

: под рукой у клиента ежедневно в любое время дня и ночи;

• 

надежность

: отвечает по сценарию, не может нагрубить или сорваться на клиента.

Другим важным отличием ботов является простая интеграция с внутренними информационными системами заказчика, такими как CRM-системы и базы данных, причем не только для непосредственного взаимодействия с клиентами, но и для сбора данных. Голосовой бот сделает аудиозапись разговора, автоматически переведет его в текст и при желании выделит и запомнит нужные сущности (имя клиента, возраст, адрес, номер телефона и др.). Собранные данные можно использовать для улучшения пользовательского опыта: согласно исследованию Deloitte, компании с клиентоориентированной бизнес-моделью на 60% более прибыльны, чем те компании, для которых клиенты не находятся в центре внимания. Собирая данные о посетителях, чат-бот со временем становится более персонифицированным, а компания лучше узнает свою аудиторию.

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

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

Рынок чат-ботов

Рынок чат-ботов на сегодняшний день один из самых быстрорастущих – по данным Credence Research, на вторую половину 2023 года мировой спрос на чат-ботов оценивался в 4.9 миллиарда долларов, а в период с 2024 по 2032 год ожидается его рост до 37.4 миллиарда долларов. Немецкая компания Statista, специализирующаяся на изучении рынков и больших данных, прогнозирует к 2028 году увеличение общего количества устройств с виртуальными помощниками до 27 миллиардов.

Чат-боты уже применяются почти во всех сферах бизнеса, таких как транспорт, металлургия и IT. Однако лидирующие позиции занимают телеком, финансовые институты, ритейл и нефтегазовая отрасль, в которых больше половины компаний используют чат-ботов, и наиболее широко – в области продаж и поддержке. В 2023 году компания Naumen провела исследование по использованию голосовых и текстовых чат-ботов в клиентском сервисе ритейла. Было замечено, что количество организаций, использующих чат-боты и интегрировавших их с внутренними информационными системами, увеличилось до 48%. Это позволило клиентам управлять заказами, проверять количество баллов и статус карты, получать персонализированные данные прямо в диалоге и т.д.

Сфера чат-ботов имеет дело с естественным языком, из-за чего роль зарубежных ИТ-гигантов не столь высока, как в других технологических отраслях. Из-за различий в языках в работе с каждым из них нужен индивидуальный и точный подход. Кроме того, каждая страна имеет свои популярные сервисы и нишевые отрасли. Всё это открывает возможности для развития небольшим стартапам, которые могут конкурировать с IBM, Google и Amazon, превосходя их с точки зрения глубины проработки языковых и культурных особенностей. Также стартапы по природе своей более гибкие и позволяют найти решение под каждую сферу.

Мир чат-ботов переживает революцию, и в ее центре – генеративный искусственный интеллект (GenAI) и большие языковые модели (LLM), такие как GPT-4, PaLM 2, Llama 2 и другие. Аналитики McKinsey отметили, что на 2024 год уже 65% компаний используют GenAI хотя бы для одной бизнес-функции.

Согласно мнению экспертов The Boston Consulting Group, генеративный искусственный интеллект способен превратить общение с чат-ботами в нечто более полезное для потребителя, позволить бизнесу сэкономить ресурсы и увеличить количество собираемых для анализа данных.

Классификация диалоговых систем

Подходы и технологии, используемые при создании бота, зависят от типа и назначения системы. Традиционная классификация диалоговых систем опирается на 2 критерия:

• 

Ориентированность на задачу (goal-oriented) VS общее назначение.

• 

Закрытая VS открытая предметная область (домен).

Goal-oriented боты разрабатываются для решения конкретных задач ― выдачи информации по запросу, выполнения операций (проверка баланса, подключение тарифа и т.п.).

Диалоговые системы общего назначения (так называемые боты-«болталки») направлены исключительно на поддержание диалога и развлечение пользователя.

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

Системы с открытым доменом предполагают универсальные возможности использования ― к ним относятся ассистенты типа Алексы от Amazon или Алисы от Яндекса. Большинство таких систем выполняют роль интерфейса к специализированным сервисам (например, фраза «Алиса, давай закажем билет в кино» вызывает специализированный сервис по бронированию билетов в сети кинотеатров). Открытый домен здесь – инструмент продвижения интерфейса на рынке пользователей.

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

Рис. 1. Пример классификации чат-ботов.

Для большинства бизнес-задач достаточно goal-oriented бота с ограниченной областью знаний; стремление охватить все предметные сферы и создать универсального собеседника (AI) в теории может привести к созданию «настоящего» искусственного интеллекта.

Технологии

Классическая архитектура

Рассмотрим архитектуру классического бота (Рис. 2).

Рис. 2. Архитектура классического бота.

Модуль понимания естественного языка

Модуль понимания естественного языка (Natural Language Understanding, сокращенно NLU, NLP Engine) – один из ключевых модулей любой диалоговой системы. Он обеспечивает структуризацию и «понимание» (интерпретацию) сообщений пользователя. Существует несколько способов коммуникации с ботом: предопределенные диалоговые кнопки (например, «Да» и «Нет»), ключевые слова (/start, /bye и т.д.) и общение в свободной форме с использованием произвольного текста на естественном языке. В общем случае свободу общения можно представить в виде Рис. 3.

Рис. 3. Свобода общения.

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

Классификация сообщений (Intent Classification). Она может производиться с применением как нейронных сетей (наиболее популярны архитектуры на основе рекуррентных ячеек GRU/LSTM), так и классических алгоритмов машинного обучения (наивный байесовский классификатор, логистическая регрессия), которые успешно применяются в случае небольшого количества обучающих данных. Любому сообщению пользователя должен соответствовать определенный класс (интент). Например, сообщения «привет», «хай», «добрый день» могут быть классифицированы в один класс intent_hello, а сообщения «до свидания», «пока», «удачи» – в класс intent_bye. Сообщения, класс которых с достаточной вероятностью определить не удалось, относятся к классу no_match. В общем и целом, все интенты разделяют на General intents (например, интенты приветствия и прощания) и Domain intents (например, интенты заказа конкретной пиццы или бронирования гостиницы на определенный день).

Выделение именованных сущностей (Named Entity Extraction, Named Entity Recognition, Slot Filling). Сущности представляют собой единый лексический элемент определенного типа (географическое название, имя, дата и т.п.). Так, в сообщении «Покажи расписание рейсов из Москвы в Париж 12 августа» именованными сущностями являются «Москва», «Париж» и «12 августа». Выделение сущностей может быть реализовано как на основе регулярных выражений (шаблонов, паттернов) и справочников, так и посредством NER Network – специально обученной нейронной сети с архитектурой many-to-many.

Модуль управления диалогом

Модуль управления диалогом (Dialog Management Module, сокращенно DM) – ядро чат-бота, которое управляет текущим контекстом и реализует требуемый функционал. Контекст представляет собой «память» бота обо всех (или последних) действиях и сообщениях. Не все диалоговые модули поддерживают контекст, и не всегда в нем есть необходимость. Например, в простых вопросно-ответных системах нет необходимости поддерживать контекст. В случае примитивных диалогов используют следующие типы DM: switch statement (т.е. полное отсутствие контекста, аналогично поисковым системам) или FSM (finite-state machine) – конечный автомат, представляющий собой однонаправленный диалог без сохранения полученных от клиента данных для других диалогов в рамках той же сессии. В случае goal-oriented чат-бота использование контекста обязательно, и тогда DM включает в себя:

Dialog State Tracking (DST) – компонент, отслеживающий текущее состояние (state) диалоговой машины и допустимые переходы между стейтами. Сохраняет и отслеживает все сообщения клиента и ответные действия системы, чтобы помочь компоненту Policy Learning оптимально выбрать следующий шаг.

Policy Learning (Dialog Policy, PL, DP) – компонент, определяющий дальнейшие действия бота на основе текущего состояния и контекста. Вариантами последующих действий могут быть: формирование ответного сообщения, обращение во внешнюю информационную систему за дополнительной информацией, условный переход в другой стейт (context switching) и тому подобное. Policy Learning может быть реализован на основе правил (rule based), на основе предобученной классической нейронной сети (supervised learning), которая сама определяет, что лучше делать дальше, либо с использованием подхода обучения с подкреплением (reinforcement learning). Первый вариант получил наибольшее распространение из-за простоты реализации и отсутствия необходимости обучения на большом объеме дата-сетов.

Модуль генерации ответов

Модуль генерации ответов (Response Generator Module, Natural Language Generator, NLG) – формирование ответа клиенту в соответствии с данными, полученными из диалогового модуля и из внешних информационных систем. В общем случае выделяют следующие архитектуры RGM:

Извлечение данных (Retrieval Based Modelling) – в простейшем случае ответом является статичный текст. Для «оживления» сценария бот может случайным образом выбирать вариант из предописанного набора статичных текстов (например, для прощания с пользователем всякий раз использовать случайный вариант из доступного списка: «пока», «приятно было пообщаться», «до свидания» и т.д.). Ответ может быть динамическим, т.е. включать в себя результаты, полученные из внешних систем: к примеру, значение баланса счета или время вылета самолета. Варианты генерации ответа статичным или динамическим текстом являются самыми распространенными из-за простоты реализации, отсутствия необходимости обучения и предсказуемости результата.

Рис. 4. Архитектура RGM: извлечение данных.

Порождение (Generative Modelling) – формирование ответа на основе работы нейронной сети (как правило, архитектура кодировщика-декодера). В таком случае содержание ответа полностью формируется предобученной нейронной сетью. Подход нашел свое отражение в вопросно-ответных системах, но в классических чат-ботах он применяется крайне редко из-за сложности обучения и риска неожиданных ответов (пример ― известная ситуация с ботом Microsoft, который в результате бесконтрольного самообучения стал генерировать расистские высказывания).

Рис. 5. Архитектура RGM: порождение.

Извлечение с улучшением (Retrieve and Refine) ― гибридный метод. Известно, что генеративные модели склонны давать общие, более «безопасные» ответы («да», «нет», «не знаю»), в то время как Retrieval Based модели ограничены набором предзаписанных ответов, которые могут не полностью соответствовать контексту текущего диалога. Модель Retrieve and Refine комбинирует два описанных выше подхода. В гибридной модели Retrieve and Refine ответы, обнаруженные моделью Retrieval Based, подаются на вход генеративной модели в качестве дополнительного контекста. Генеративная модель формирует окончательный ответ бота.

Рис. 6. Архитектура RGM: извлечение с улучшением.

Интерфейс ввода-вывода

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

Рис. 7. Пример архитектуры текстового бота.

Как правило, используют следующие дополнительные интерфейсные модули:

• 

для голосовых ботов – системы синтеза (Text to Speech, TTS) и распознавания (Automatic Speech Recognition, ASR) речи. Их качество достигло такого уровня, что при общении отличить живого человека от синтезированного голоса не всегда просто (впрочем, во многих решениях используются предзаписанные реплики, сознательно имитирующие человеческую речь – с придыханием, паузами, фоновым шумом). Существует довольно много разработчиков этих решений в России (ЦРТ, Яндекс, АСМ-Решения) и в мире (IBM, Google, Microsoft, Nuance). Чтобы стандартизировать методы интеграции подобных систем, разработаны интерфейсы протокола управления медиаресурсами (MRCP) и удаленного вызова процедур (gRPC).

• 

для неголосовых систем широко применяются уже зарекомендовавшие себя протоколы HTTP REST/WebSocket. Они гораздо проще в реализации, т.к. не требуют распознавания голоса в режиме онлайн. Разработчики вправе как использовать общепринятые интерфейсы, так и создавать свои собственные – в случае, если новая разработка по каким-либо критериям лучше существующих.

Различия MRCPv1 и MRCPv2

Протокол MRCPv1 (RFC 4463) был разработан совместными усилиями компаний Cisco, Nuance и Speechworks в 2006 г. Последовавший за ним MRCPv2 (RFC 6787) стал развитием первой версии. Табл. 3.3.1 демонстрирует ключевые отличия двух протоколов.

RTSP и SIP/SDP являются клиент-серверными текстовыми протоколами (аналогичны HTTP) и достаточно схожи между собой по формату и параметрам сообщений. Также в обоих случаях транспорт голосового потока реализуется протоколом RTP (Real-time Transport Protocol).

Многие разработчики реализуют собственный стек MRCP, но в то же время существует кроссплатформенная реализация стека UniMRCP с открытым кодом, распространяемая по лицензии Apache License 2.0, которая нашла широкое применение у поставщиков решений синтеза и распознавания речи.

Табл. 1. Сравнительная характеристика протоколов MRCPv1/MRCPv2.

Сквозное обучение

Ранее была рассмотрена классическая архитектура goal-oriented бота и его ключевые компоненты. Как уже было отмечено, каждый из них может быть реализован как с применением нейронной сети, так и без нее. Классическая архитектура допускает также частичное использование нейронных сетей: например, компонент NLU может быть реализован нейросетью, а модули управления диалогом и генерации ответов ― на основе правил (rule-based). Таким образом, можно отметить гибкость и адаптируемость архитектуры классического бота, в которой каждый компонент может оптимизироваться и дорабатываться отдельно от других.

Развитие нейронных сетей и глубокого обучения привело к появлению новых подходов к реализации ботов:

• 

Сквозное обучение

(end-to-end learning) ― в этом подходе сохраняется классическая архитектура бота, но все ее компоненты представлены нейронными сетями. Обучение производится сквозным методом, т.е. на каждом экземпляре обучающего диалога все компоненты обучаются как единое целое, а не по отдельности.

• 

Диалоговые модели, полностью управляемые данными

(Fully data driven Conversation Models) ― в этом подходе уже не применяется классическая архитектура. Весь бот представляет собой одну глубокую нейронную сеть, классическим примером которой является ChatGPT

Практика применения LLM в чат-ботах

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

Если же говорить о конкретной задаче, которую требуется возложить на чат-бота, то как правило, любой диалог строится по какой-то согласованной схеме, когда клиента нужно последовательно провести через некоторый этап (путь) для сбора необходимых параметров и последующего предоставления сервиса (ответа). Компании, во-первых, строго согласовывают данный путь и используемые ботом фразы на каждом этапе и, с другой стороны, стремятся максимально эффективно решить возникшую у пользователя задачу. Т.е. становится очевидным, что должно использоваться rule-based ядро чат-бота, которое точно отслеживает текущее состояние (статус) пользователя и однозначно определяет, что делать дальше. Использование только LLM (пусть даже совместно с RAG) не позволяет реализовать данный, строго детерминированный функционал. Отсюда становится очевидным, что построение современного чат-бота для решения проблем и запросов заказчиков возможно только с применением синтеза традиционного механизма построения чат-ботов (которое было рассмотрено ранее) и точечного применения LLM.

Чат-боты 2.0: как большие языковые модели перевернули мир виртуального общения

Чат-бот ChatGPT, разработанный компанией OpenAI, по мнению издания Harvard Business Review стал настоящим прорывом в сфере искусственного интеллекта и значительно повлиял на развитие чат-ботов для бизнеса. Эта модель на основе машинного обучения способна генерировать «человекоподобный» текст, перевод, коды, составлять творческие тексты и многое другое. Появление ChatGPT вызвало настоящую революцию в области чат-ботов, сделав их более продвинутыми, эффективными и привлекательными для клиентов.

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

Теперь чат-боты, оснащенные LLM, могут:

• 

предоставлять более информативные и релевантные ответы на сложные запросы:

 ChatGPT может обрабатывать большие объемы данных и генерировать реалистичные ответы, близкие к таким, которые дает человек;

• 

узнавать и учитывать предпочтения клиентов:

 ChatGPT может анализировать историю переписки и предлагать индивидуализированные решения;

• 

общаться в более естественном и привлекательном стиле:

ChatGPT позволяет чат-ботам имитировать человеческую речь, делая взаимодействие с клиентами более приятным;

• 

предлагать более креативные и интерактивные решения:

 ChatGPT может генерировать развлекательный контент – истории или стихи, делая общение с чат-ботами более интересным.

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

Уже сегодня многие компании используют модели LLM для бизнеса и улучшения своих чат-ботов. Например:

• 

Интернет-магазин Amazon

 использует ChatGPT для предоставления индивидуальных рекомендаций и ответов на вопросы клиентов;

• 

Автомобильный концерн Volkswagen

заявил о планах внедрить GPT в голосовые помощники, благодаря чему водители оперативно смогут получать информацию о пробках, погоде или просчитать предполагаемые временные затраты на передвижение из пункта А в пункт Б;

• 

Производитель обуви Ralf Ringer

посредством интеграции LLM автоматизировал обработку отзывов клиентов о товарах, ответы на вопросы, касаемые наличия и стоимости продукции.

В Табл. 2 представлено сравнение пяти наиболее популярных моделей LLM.

Табл. 2. Сравнительная характеристика 5 самых популярных моделей LLM.

.

Русские модели

На сегодняшний день в России представлены три коммерческие большие языковые модели: YandexGPT и GigaChat, являющиеся собственными моделями компаний Yandex и Sber соответственно, а также JustGPT от JustAI, основанная на дообученной открытой модели Llama2. По заявлениям производителей, эти нейросети демонстрируют хорошие результаты при работе с русским языком и эффективнее решают практические задачи для русскоязычной аудитории по сравнению с их мультиязычными аналогами.

Табл. 3. Сравнительная характеристика русских языковых моделей.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.