Читать книгу «Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa» онлайн полностью📖 — Тимура Машнина — MyBook.
image

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

Исходный код

Исходный код к примерам можно скачать с сайта GitHub (https://github.com/novts/chatbot).

Введение

Что такое бот?

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

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

Наиболее часто встречающийся вид ботов – это чат-боты.

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

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

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

Как на самом деле работают чат-боты?

Есть два типа чат-ботов, – это чат-боты основанные на правилах, и чат-боты с ИИ.

Чат боты, основанные на правилах, отвечают на вопросы, основываясь на некоторых правилах, на которых они обучаются.

Такие чат-боты предоставляют ответы только на основе комбинации предопределенных сценариев.

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

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

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

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

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

Разработка чат-бота не более сложная, чем разработка простого веб-приложения.

Что в действительности могут делать боты и ИИ?

Боты могут быть виртуальными помощниками.

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

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

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

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

Боты помогают генерировать идеи.

Данные являются товаром, который питает цифровую экономику.

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

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

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

Боты автоматизируют ручные процессы.

Искусственный интеллект быстро автоматизирует рутинные и механические когнитивные процессы.

Оставляя больше времени для инноваций.

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

ИИ может анализировать неструктурированные данные.

Предполагается, что 80% цифровых данных не структурированы.

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

Обучение чат-бота с ИИ происходит значительно быстрее, чем обучение персонала.

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

Введение в
Google
Dialogflow

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

Dialogflow – это платформа для создания естественных и богатых диалогов.

По своей сути Dialogflow – это мощный механизм понимания естественного языка для обработки и понимания ввода на естественном языке.

Другими словами, он позволяет вам легко общаться с пользователем, понимая естественный язык.

Dialogflow построен на ресурсах и возможностях ИИ мирового класса, которые были изначально разработаны для таких продуктов, как Gmail и Google Search.

И Dialogflow включает в себя постоянно растущий опыт Google в области искусственного интеллекта, включая опыт машинного обучения, возможности поиска, распознавание речи и, конечно, понимание естественного языка.

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

Определение частей речи и создание деревьев анализа зависимостей для каждого предложения.

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

Анализ настроений дает понимание общего настроения, выраженного в блоке текста.

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

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

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

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

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

Они включают в себя все, от доставки еды до бронирования отелей, новостей и напоминаний.

И вы можете легко импортировать эти предварительно созданные агенты из консоли Dialogflow.

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

Например, она может показать вам, как часто срабатывают различные намерения.

Вы можете легко развернуть свой чат-бот на нескольких платформах, таких как Facebook Messenger, Twitter, и другие.

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

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

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

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

И это намерение подразумевает наличие нескольких компонентов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На этой странице вы можете прочитать онлайн книгу «Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa», автора Тимура Машнина. Данная книга имеет возрастное ограничение 12+, относится к жанрам: «Программирование», «Компьютерная справочная литература». Произведение затрагивает такие темы, как «разработка программного обеспечения», «искусственный интеллект». Книга «Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa» была написана в 2022 и издана в 2022 году. Приятного чтения!