Литмир - Электронная Библиотека

Идентификатор проекта можно посмотреть в консоли проектов по адресу, указанному на слайде.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_54.png

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

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

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

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_55.png

И если мы включим, например, Fulfillment в намерении приветствия, тогда если мы наберем в Try it – hello, чат-бот ответит не фразой намерения, а функцией приветствия агента, которая определена в вебхук.

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

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_56.png

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

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

Эта сущность будет содержать значения переменных.

Возврат этой функции – это действие сохранения содержимого созданной нами сущности в Datastore.

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

После этого развернем заново наш вебхук.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_57.png

И теперь нужно включить Fulfillment для намерения order.pizza.upsell.drink-no, чтобы после того, как клиент отказался от напитка, мы сохранили наш заказ в базе данных.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_58.png

Теперь все готово к работе и в панели Try it наберем

Могу ли я получить пиццу.

Затем ответим на вопрос о начинке и на вопрос о размере.

В результате получим ответ от агента, что наш заказ размещен.

Нажав на кнопку Diagnostic info можно посмотреть запросы и ответы вебхука в формате Json.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_59.png

Чтобы проверить, сохранился ли заказ, откроем Google проект и в боковой панели выберем Datastore – Entites.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_60.png

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

Google Dialogflow. Интеграция с Telegram

Dialogflow позволяет интегрировать вашего чат-бота с различными платформами.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_61.png

Это такие популярные приложения как Google Assistant, Slack и Facebook Messenger и другие.

В качестве примера мы рассмотрим интеграцию нашего чат-бота с мессенджером Telegram.

Опция интеграция Telegram позволяет легко создавать ботов Telegram с пониманием естественного языка на основе технологии Dialogflow.

И для начала работы, откроем Telegram.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_62.png

И здесь наберем @BotFather.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_63.png

Далее нажмем кнопку Start.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_64.png

Здесь нажмем ссылку /newbot и введем имя бота ex_bot.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_65.png

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

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_66.png

Вернемся в Dialogflow и включим интеграцию с Telegram.

В результате откроется диалоговое окно.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_67.png

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

И нажать кнопку Start.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_68.png
Вернемся в Telegram и откроем бота по его ссылке.

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

ChatterBot

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

И ChatterBot использует набор алгоритмов машинного обучения для получения различных типов ответов.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_69.png

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

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

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

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

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

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

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_70.png

Для начала работы с ChatterBot, необходимо установить библиотеку с помощью инструмента pip.

И у вас должен быть установлен питон 64 битный, а не 32 битный.

New Slide

Прежде всего, ChatterBot должен быть импортирован.

И здесь мы импортируем класс ChatBot из библиотеки chatterbot.

И мы создаем новый экземпляр класса ChatBot.

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

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

Класс SQLStorageAdapter является адаптером ChatterBot по умолчанию.

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

И класс SQLStorageAdapter позволяет чат-боту подключаться к базам данных SQL.

По умолчанию этот адаптер создает базу данных SQLite.

Библиотека ChatterBot включает в себя инструменты, которые помогают упростить процесс обучения экземпляра чат-бота.

Обучение ChatterBot включает загрузку примера диалога в базу данных чат-бота.

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_71.png

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

Когда тренеру чат-бота предоставляется набор данных, он создает необходимые записи в графе знаний чат-бота.

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

Создание чат-ботов с Dialogflow, Watson, ChatterBot и Rasa - img_72.png

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

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

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

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

После обучения мы создаем цикл while для чат-бота.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

5
{"b":"800139","o":1}