Кейс: Мультиязычный чат-бот поддержки для WhatsApp и других каналов в Битрикс24

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

Кейс: Мультиязычный чат-бот поддержки для WhatsApp и других каналов в Битрикс24

Перед нами стояли следующие цели:

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

Обращения от наших пользователей поступают 24/7 во всех часовых поясах на 4-х языках: русском, английском, португальском и испанском.

Каналы, по которым обращаются наши пользователи: WhatsApp, Онлайн-чат Битрикс24, Битрикс24 Network. Все каналы подключаем к Открытым линиям в Битрикс24.

1. Подключение каналов

Для поддержки канала WhatsApp, мы используем официальный WhatsApp Business API, предоставляемый официальным партнером Facebook - сервисом Gupshup.

Официальный WhatsApp Business API от Gupshup
Официальный WhatsApp Business API от Gupshup

Для интеграции WhatsApp Business API с Битрикс24 мы разработали приложение WhatsApp Business API Gupshup для Битрикс24.

Приложение WhatsApp Business API Gupshup для Битрикс24
Приложение WhatsApp Business API Gupshup для Битрикс24

Подключить и настроить приложение WhatsApp Business API Gupshup поможет наша подробная пошаговая инструкция.

Пошаговая инструкция: Как подключить официальный WhatsApp бизнес API через Gupshup и интегрировать с Битрикс24
Пошаговая инструкция: Как подключить официальный WhatsApp бизнес API через Gupshup и интегрировать с Битрикс24

Онлайн-чат Битрикс24, Битрикс24 Network и другие необходимые каналы, можно подключить по инструкциям от Битрикс24.

Подключение каналов Открытых линий в Битрикс24
Подключение каналов Открытых линий в Битрикс24

2. Установка приложения для чат-ботов

Для создания и обучения чат-ботов, мы разработали приложение ChatBotDialogflow для Битрикс24, которое интегрируется с сервисом машинного обучения Dialogflow от компании Google.

Приложение ChatBotDialogflow для Битрикс24, которое интегрируется с сервисом машинного обучения Dialogflow от компании Google
Приложение ChatBotDialogflow для Битрикс24, которое интегрируется с сервисом машинного обучения Dialogflow от компании Google

Подключить и настроить приложение ChatBotDialogflow поможет наша подробная пошаговая инструкция.

Пошаговая инструкция: Как создать чат-бота для бизнеса
Пошаговая инструкция: Как создать чат-бота для бизнеса

3. Реализация мультиязычности

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

Агенты в Dialogflow поддерживают мультиязычность
Агенты в Dialogflow поддерживают мультиязычность

Перед нами стояла задача, определять язык сообщения от пользователя при передаче сообщения из Битрикс24 в Dialogflow и передавать вместе с сообщением код языка, для того, чтобы в Dialogflow срабатывали интенты нужного языка.

Для этого в приложение ChatBotDialogflow мы добавили новую функцию определения языка сообщения на основе сервиса перевода от компании Google.

4. Реализация меню готовых ответов на частые вопросы

Так как в WhatsApp Business API пока нет функционала для создания кнопок в сессионных сообщениях (сообщения, отправляемые в течении 24-х часов с момента отправки пользователем последнего сообщения; кнопки можно создавать только в шаблонных сообщениях и их количество может быть не более 3-х), то реализовать меню можно только в текстовом виде, где выбор пункта меню происходит отправкой пользователем в чат соответствующей цифры.

Пример текстового меню в WhatsApp
Пример текстового меню в WhatsApp

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

5. Реализация автоматического перевода диалога на сотрудников поддержки без удаления бота из чата

По умолчанию, в бот-системе Битрикс24, перевод диалога на операторов очереди Открытой линии производится отправкой пользователем цифры 0 (ноль) в чат с ботом, либо может осуществляться автоматический перевод диалога по истечении некоторого времени с момента начала диалога, которое устанавливается в настройках Открытой линии.

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

Для реализации этой задачи мы разработали и добавили в приложение ChatBotDialogflow соответствующие новые функции для этого.

Для управления этим функционалом, мы задействовали переключатель "Set this intent as end of conversation" в интентах Dialogflow. То есть, если нужно переключить диалог автоматически на сотрудников, при срабатывании какого-либо интента, то нужно в этом интенте просто включить данный переключатель.

Переключатель "Set this intent as end of conversation" в интентах Dialogflow
Переключатель "Set this intent as end of conversation" в интентах Dialogflow

Для нашей задачи, мы настроили Fallback Intent (интент, который срабатывает, если бот не знает ответа).

В поле "Text Response" интента мы ввели следующий текст:

Ваше сообщение мне пока не понятно. Я же бот и еще только учусь :-)

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

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

Также, этот текст был переведен на остальные языки и добавлен в соответствующие интенты для других языков.

Если переключатель "Set this intent as end of conversation" включить в интенте приветствия, то сотрудникам будет приходить уведомление о начале диалога бота с пользователем и появится возможность присоединиться к диалогу в любой момент.

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

6. Обучение чат-бота

Обучение производится на стороне сервиса Dialogflow путем добавления и корректировок интентов. Подробнее об этом в нашей инструкции.

Интенты в Dialogflow
Интенты в Dialogflow

Итог

Мы получили мультиязычную автоматизированную систему поддержки пользователей 24/7 во всех часовых поясах со следующими результатами запуска в работу:

  • Нагрузка на сотрудников поддержки заметно снизилась.
  • Возросла конверсия пробного использования в постоянное за счет получения пользователями моментальных ответов на частые вопросы и возможность оперативного подключения к диалогам сотрудников поддержки.
  • Реализация мультиязычности чат-бота и поддержка любых каналов коммуникации, в частности самого популярного во всем мире мессенджера WhatsApp, позволили расширить границы и повысить эффективность нашего бизнеса.
1
7 комментариев