Кейс: Мультиязычный чат-бот поддержки для WhatsApp и других каналов в Битрикс24
Для автоматизации поддержки пользователей наших приложений по всему миру, мы реализовали сценарий, который подробно опишем в этом кейсе.
Перед нами стояли следующие цели:
- снизить нагрузку на нашу службу поддержки;
- отправлять сообщения пользователям без задержек;
- поддерживать несколько языков сообщений;
- иметь возможность включиться в диалог с пользователем, если бот не знает ответа;
- иметь возможность отслеживать диалоги бота с пользователями в режиме онлайн;
- оперативно обучать бота новым сообщениям.
Обращения от наших пользователей поступают 24/7 во всех часовых поясах на 4-х языках: русском, английском, португальском и испанском.
Каналы, по которым обращаются наши пользователи: WhatsApp, Онлайн-чат Битрикс24, Битрикс24 Network. Все каналы подключаем к Открытым линиям в Битрикс24.
1. Подключение каналов
Для поддержки канала WhatsApp, мы используем официальный WhatsApp Business API, предоставляемый официальным партнером Facebook - сервисом Gupshup.
Для интеграции WhatsApp Business API с Битрикс24 мы разработали приложение WhatsApp Business API Gupshup для Битрикс24.
Подключить и настроить приложение WhatsApp Business API Gupshup поможет наша подробная пошаговая инструкция.
Онлайн-чат Битрикс24, Битрикс24 Network и другие необходимые каналы, можно подключить по инструкциям от Битрикс24.
2. Установка приложения для чат-ботов
Для создания и обучения чат-ботов, мы разработали приложение ChatBotDialogflow для Битрикс24, которое интегрируется с сервисом машинного обучения Dialogflow от компании Google.
Подключить и настроить приложение ChatBotDialogflow поможет наша подробная пошаговая инструкция.
3. Реализация мультиязычности
Агенты в Dialogflow поддерживают мультиязычность. Мы создали новый агент с английским языком по умолчанию и добавили дополнительные языки: русский, португальский и испанский. При создании интента, он дублируется сразу для всех языков.
Перед нами стояла задача, определять язык сообщения от пользователя при передаче сообщения из Битрикс24 в Dialogflow и передавать вместе с сообщением код языка, для того, чтобы в Dialogflow срабатывали интенты нужного языка.
Для этого в приложение ChatBotDialogflow мы добавили новую функцию определения языка сообщения на основе сервиса перевода от компании Google.
4. Реализация меню готовых ответов на частые вопросы
Так как в WhatsApp Business API пока нет функционала для создания кнопок в сессионных сообщениях (сообщения, отправляемые в течении 24-х часов с момента отправки пользователем последнего сообщения; кнопки можно создавать только в шаблонных сообщениях и их количество может быть не более 3-х), то реализовать меню можно только в текстовом виде, где выбор пункта меню происходит отправкой пользователем в чат соответствующей цифры.
При отправке цифры у нас возникла задача, как определить язык диалога, в текущем сообщении которого только цифры. Мы нашли решение и добавили в приложение ChatBotDialogflow соответствующую функцию для этого.
5. Реализация автоматического перевода диалога на сотрудников поддержки без удаления бота из чата
По умолчанию, в бот-системе Битрикс24, перевод диалога на операторов очереди Открытой линии производится отправкой пользователем цифры 0 (ноль) в чат с ботом, либо может осуществляться автоматический перевод диалога по истечении некоторого времени с момента начала диалога, которое устанавливается в настройках Открытой линии.
У нас же стояла задача, автоматически переводить диалог на сотрудников поддержки в случае, если бот не знает ответа. При этом нужно было оставлять бота в чате, но не позволять ему отвечать на сообщения сотрудников поддержки. Также, бот не должен был отвечать пользователю, если предыдущее сообщение было от сотрудника поддержки, то есть бот не должен вмешиваться в диалог между пользователем и сотрудником поддержки. Если никто из сотрудников в этот момент не может ответить, то бот должен продолжить отвечать на последующие сообщения от пользователя.
Для реализации этой задачи мы разработали и добавили в приложение ChatBotDialogflow соответствующие новые функции для этого.
Для управления этим функционалом, мы задействовали переключатель "Set this intent as end of conversation" в интентах Dialogflow. То есть, если нужно переключить диалог автоматически на сотрудников, при срабатывании какого-либо интента, то нужно в этом интенте просто включить данный переключатель.
Для нашей задачи, мы настроили Fallback Intent (интент, который срабатывает, если бот не знает ответа).
В поле "Text Response" интента мы ввели следующий текст:
Ваше сообщение мне пока не понятно. Я же бот и еще только учусь :-)
Но я передам этот диалог специалистам нашей службы поддержки и как только появится возможность, они сразу свяжутся с Вами.
Во время ожидания ответа от наших специалистов, Вы можете продолжать отправлять мне сообщения, на которые я постараюсь ответить.
Также, этот текст был переведен на остальные языки и добавлен в соответствующие интенты для других языков.
Если переключатель "Set this intent as end of conversation" включить в интенте приветствия, то сотрудникам будет приходить уведомление о начале диалога бота с пользователем и появится возможность присоединиться к диалогу в любой момент.
Мы получили прозрачную систему, где все диалоги бота с пользователем находятся под контролем и всегда можно внести в них коррективы.
6. Обучение чат-бота
Обучение производится на стороне сервиса Dialogflow путем добавления и корректировок интентов. Подробнее об этом в нашей инструкции.
Итог
Мы получили мультиязычную автоматизированную систему поддержки пользователей 24/7 во всех часовых поясах со следующими результатами запуска в работу:
- Нагрузка на сотрудников поддержки заметно снизилась.
- Возросла конверсия пробного использования в постоянное за счет получения пользователями моментальных ответов на частые вопросы и возможность оперативного подключения к диалогам сотрудников поддержки.
- Реализация мультиязычности чат-бота и поддержка любых каналов коммуникации, в частности самого популярного во всем мире мессенджера WhatsApp, позволили расширить границы и повысить эффективность нашего бизнеса.