Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa
Шрифт:
Анализ настроений дает понимание общего настроения, выраженного в блоке текста.
Классификация контента позволяет классифицировать документы по более чем 700 предварительно определенным категориям.
Многоязычная поддержка включает в себя возможность легко анализировать текст на нескольких языках.
Используя эти возможности и то, что разработчик предоставляет в качестве входных данных для обучения, Dialogflow создает уникальные алгоритмы для каждого конкретного собеседника, при этом постоянно обучаясь и настраиваясь, по мере того как все больше и больше пользователей
С Dialogflow вы можете быстро создать своего агента, начав с нескольких обучающих фраз или используя один из более чем 40 предварительно созданных агентов.
Эти предварительно созданные агенты могут использоваться непосредственно из коробки или импортироваться в ваш агент для создания и настройки вашего собственного варианта использования.
Они включают в себя все, от доставки еды до бронирования отелей, новостей и напоминаний.
И вы можете легко импортировать эти предварительно созданные агенты из консоли Dialogflow.
Встроенная аналитика Dialogueflow может многое рассказать вам о взаимодействии пользователей с вашим чат-ботом.
Например, она может показать вам, как часто срабатывают различные намерения.
Вы можете легко развернуть свой чат-бот на нескольких платформах, таких как Facebook Messenger, Twitter, и другие.
Давайте внимательнее посмотрим, как происходит диалог, чтобы понять, какие элементы понадобятся вашему чат-боту.
Естественно, диалог начинается с пользователя, которому что-то нужно от чат-бота, и он начинает разговор, чтобы сказать, что ему нужно.
Чат-бот должен сопоставить это с намерением, запрограммированным для обработки запроса.
Например, когда пользователь заказывает пиццу, распознается подходящее намерение для заказа пиццы.
И это намерение подразумевает наличие нескольких компонентов.
Что на самом деле говорит пользователь, какое действие предпринять, ответ чат-бота и понимание контекста.
И это намерение запускает действие по размещению заказа.
Это может быть похоже на функциональность сервера, который обрабатывает заказ.
Затем чат-бот может дать соответствующий ответ, например, подтверждение того, что заказ пользователя был размещен.
И чат-бот также должен иметь возможность обрабатывать ветвление диалога, которое не всегда следует именно этому потоку.
Например, что, если пользователь, заказавший пиццу, сделает дополнительный запрос на заказ?
Чат-бот должен поддерживать естественный разговор, который учится на прошлых диалогах.
Он может вернуться к тому же самому намерению и добавить дополнительный уровень контекста или осведомленности, чтобы понять, что слово «оба» в запросе пользователя относится к двум пиццам, которые он заказывает.
Ваш чат-бот может скорректировать заказ и удовлетворить дополнительный запрос пользователя.
Как правило, рабочий процесс создания чат-бота состоит из трех этапов.
На этапе дизайна вы определяете индивидуальность вашего чат-бота.
Будет ли он упреждающим, например, делать предложения пользователям, или реагировать, просто отвечая на запросы пользователей.
Определите атрибуты, которые вы хотите добавить в диалог, стиль письма и индивидуальность диалога.
Подумайте о том, как ваш чат-бот будет приветствовать пользователя и как завершит разговор.
Как разговор должен проходить для нового пользователя по сравнению с вернувшимся пользователем.
На этапе разработки вы используете поток диалога для создания своего чат-бота с комбинацией прямого добавления намерений и ответов в консоли и написания кода для подключения к внутренним службам.
Этап развертывания в основном зависит от того, какие компоненты нужны вашему чат-боту, и каких приложений он будет касаться.
Здесь подумайте о безопасности, интеграции и масштабировании.
И здесь нужно определить, для каких платформ нужен ваш чат-бот.
Работа чат-бота всегда начинается с намерений.
Намерения – это соединительные линии дерева диалога.
Они соединяют все ветви.
Намерения определяют, в какую сторону пойдет разговор и что должен делать чат-бот.
В общении намерения можно рассматривать как корневые глаголы в диалоге, например, хочу кофе транслируется в приобретение напитка.
Иногда намерения не являются явными и выводятся из всей фразы.
И нужно сопоставить намерения с какими-то действиями.
Если у вас приложение службы поддержки, тогда намерения могут инициировать открытие заявки, обновление заявки, закрытие заявки на поддержку.
Также вашему приложению может потребоваться получить доступ и обновить информацию об учетной записи пользователя, обратиться к специалисту и провести опрос по обеспечению качества.
Даже утверждение, да или нет, может являться намерением.
И намерения развиваются по мере того, как развивается ваше понимание потребностей пользователей.
Чтобы упростить задачу определения намерений, можно применить некоторые практические правила.
Сначала определите глаголы в диалоге.
Это позволит вашему чат-боту сопоставить свои действия с потребностями пользователя.
Также нужно определить, где диалог должен ветвиться согласно логике.
После того, как вы определили намерения, вам нужно обучить своего чат-бота распознавать их.