Тимур Машнин - Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa стр 2.

Шрифт
Фон

Что на самом деле говорит пользователь, какое действие предпринять, ответ чат-бота и понимание контекста.

И это намерение запускает действие по размещению заказа.

Это может быть похоже на функциональность сервера, который обрабатывает заказ.

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

И чат-бот также должен иметь возможность обрабатывать ветвление диалога, которое не всегда следует именно этому потоку.

Например, что, если пользователь, заказавший пиццу, сделает дополнительный запрос на заказ?

Чат-бот должен поддерживать естественный разговор, который учится на прошлых диалогах.

Он может вернуться к тому же самому намерению и добавить дополнительный уровень контекста или осведомленности, чтобы понять, что слово «оба» в запросе пользователя относится к двум пиццам, которые он заказывает.

Ваш чат-бот может скорректировать заказ и удовлетворить дополнительный запрос пользователя.

Как правило, рабочий процесс создания чат-бота состоит из трех этапов.

На этапе дизайна вы определяете индивидуальность вашего чат-бота.

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

Определите атрибуты, которые вы хотите добавить в диалог, стиль письма и индивидуальность диалога.

Подумайте о том, как ваш чат-бот будет приветствовать пользователя и как завершит разговор.

Как разговор должен проходить для нового пользователя по сравнению с вернувшимся пользователем.

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

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

Здесь подумайте о безопасности, интеграции и масштабировании.

И здесь нужно определить, для каких платформ нужен ваш чат-бот.

Работа чат-бота всегда начинается с намерений.

Намерения это соединительные линии дерева диалога.

Они соединяют все ветви.

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

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

Иногда намерения не являются явными и выводятся из всей фразы.

И нужно сопоставить намерения с какими-то действиями.

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

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

Даже утверждение, да или нет, может являться намерением.

И намерения развиваются по мере того, как развивается ваше понимание потребностей пользователей.

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

Сначала определите глаголы в диалоге.

Это позволит вашему чат-боту сопоставить свои действия с потребностями пользователя.

Также нужно определить, где диалог должен ветвиться согласно логике.

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

Это можно сделать с использованием обучающих фраз.

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

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

При создании намерения, чем больше учебных фраз вы можете придумать, тем лучше.

Откроем консоль Dialogflow.

И создадим агента чат-бот с помощью кнопки Create agent.

Введем имя агента и нажмем кнопку Create.

И теперь, здесь мы можем добавлять намерения.

Нажмем кнопку Create Intent.

Введем имя намерения order.pizza.

И теперь, ниже мы можем добавлять фразы для обучения этому намерению, используя кнопку ADD TRAINING PHRASES.

После ввода не забудьте нажимать кнопку Save сохранения.

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

И чтобы проверить, правильно ли было обучено намерение, мы можем использовать правую боковую панель со строкой «Попробуй сейчас» Try it now.

Здесь мы можем ввести фразу и посмотреть, сможет ли агент определить намерение.

В строке Try it now введем «Могу ли я забрать сырную пиццу за два часа?».

И здесь мы видим, что намерение определено верно order.pizza.

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

Также обратите внимание, что хотя введенная фраза не является частью обучающих фраз, агент верно определил намерение, потому что Dialogflow использует ИИ.

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

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

Откроем намерение Welcome.

Это намерение приветствия по умолчанию.

И это намерение позволяет агенту распознавать приветствия от пользователя.

Поэтому, когда пользователь говорит «Привет», «Привет», «Как дела?», агент сможет ответить приветствием и спросить, как он может помочь пользователю.

Нам не нужно определять это намерение.

Эти намерения по умолчанию создаются автоматически вместе с агентом.

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

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

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

При выборе обучающих фраз для тренировки намерения обязательно учитывайте, каким образом пользователи могут выразить это намерение.

Это может варьироваться от синонимов до различных грамматических конструкций фраз.

Другим важным аспектом является определение намерений не двусмысленным.

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

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

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

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

И вы можете сделать это с помощью сущностей.

Сущности помогают вам разобраться в особенностях взаимодействия с пользователем.

В диалоге сущности это существительные, найденные в ходе разговора, такие как имя человека, конкретные цифры, даты, и так далее.

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

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

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

Сущности также являются отличным способом добавления персонализации.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3