Страница 5 из 5
Идентификатор проекта можно посмотреть в консоли проектов по адресу, указанному на слайде.
И здесь у нас есть основная функция dialogflowFirebaseFulfillment, где у нас есть функция для приветствия агента, и у нас есть функция для агента, который ничего не понимает.
Но у нас нет функции для заказа пиццы, и это то, что мы собираемся сюда добавить.
И далее, как только вы создали функцию, вам нужно сопоставить намерение с выполнением этой функции, с помощью добавления записи в карту намерений Map.
И если мы включим, например, Fulfillment в намерении приветствия, тогда если мы наберем в Try it – hello, чат-бот ответит не фразой намерения, а функцией приветствия агента, которая определена в вебхук.
Теперь, давайте создадим функцию для заказа пиццы.
Здесь у нас есть функция order pizza, которая определяет переменные для извлечения параметров из пользовательского запроса.
Она создает ключ для хранения в базе данных, а затем создает новую сущность.
Эта сущность будет содержать значения переменных.
Возврат этой функции – это действие сохранения содержимого созданной нами сущности в Datastore.
И в конце, мы должны добавить запись в карту намерений.
После этого развернем заново наш вебхук.
И теперь нужно включить Fulfillment для намерения order.pizza.upsell.drink-no, чтобы после того, как клиент отказался от напитка, мы сохранили наш заказ в базе данных.
Теперь все готово к работе и в панели Try it наберем
Могу ли я получить пиццу.
Затем ответим на вопрос о начинке и на вопрос о размере.
В результате получим ответ от агента, что наш заказ размещен.
Нажав на кнопку Diagnostic info можно посмотреть запросы и ответы вебхука в формате Json.
Чтобы проверить, сохранился ли заказ, откроем Google проект и в боковой панели выберем Datastore – Entites.
И здесь мы увидим, что наш заказ успешно сохранился в облаке Google.
Google Dialogflow. Интеграция с Telegram
Dialogflow позволяет интегрировать вашего чат-бота с различными платформами.
Это такие популярные приложения как Google Assistant, Slack и Facebook Messenger и другие.
В качестве примера мы рассмотрим интеграцию нашего чат-бота с мессенджером Telegram.
Опция интеграция Telegram позволяет легко создавать ботов Telegram с пониманием естественного языка на основе технологии Dialogflow.
И для начала работы, откроем Telegram.
И здесь наберем @BotFather.
Далее нажмем кнопку Start.
Здесь нажмем ссылку /newbot и введем имя бота ex_bot.
И здесь мы должны скопировать сгенерированный токен доступа.
Вернемся в Dialogflow и включим интеграцию с Telegram.
В результате откроется диалоговое окно.
И здесь мы должны ввести сгенерированный токен доступа.
И нажать кнопку Start.
Вернемся в Telegram и откроем бота по его ссылке.
И здесь, нажав кнопку Start мы можем разговаривать с нашим чат-ботом.
ChatterBot
ChatterBot – это библиотека Python, которая позволяет легко генерировать автоматические ответы на вводимые пользователем данные.
И ChatterBot использует набор алгоритмов машинного обучения для получения различных типов ответов.
И ChatterBot является независимой от языка библиотекой, что позволяет обучать чат-бота говорить на любом языке.
Кроме того, машинное обучение ChatterBot позволяет экземпляру агента улучшить свои знания о возможных ответах при дальнейшем взаимодействии с людьми и другими источниками данных.
Изначально, необученный экземпляр ChatterBot запускается без знания того, как общаться.
Каждый раз, когда пользователь вводит фразу, библиотека сохраняет введенный текст и текст ответа.
По мере того, как ChatterBot получает больше входных данных, количество ответов, которыми он может ответить, и точность каждого ответа по отношению к вводу пользователя увеличивается.
Программа выбирает наиболее подходящий ответ, выполняя поиск наиболее подходящего ответа, который соответствует вводу.
Для начала работы с ChatterBot, необходимо установить библиотеку с помощью инструмента pip.
И у вас должен быть установлен питон 64 битный, а не 32 битный.
New Slide
Прежде всего, ChatterBot должен быть импортирован.
И здесь мы импортируем класс ChatBot из библиотеки chatterbot.
И мы создаем новый экземпляр класса ChatBot.
Библиотека ChatterBot поставляется со встроенными классами адаптеров, которые позволяют подключаться к различным типам баз данных.
И класс адаптера, и путь к базе данных указываются как параметры конструктора класса ChatBot.
Класс SQLStorageAdapter является адаптером ChatterBot по умолчанию.
Если вы не укажете адаптер в конструкторе, адаптер SQLStorageAdapter будет использоваться автоматически.
И класс SQLStorageAdapter позволяет чат-боту подключаться к базам данных SQL.
По умолчанию этот адаптер создает базу данных SQLite.
Библиотека ChatterBot включает в себя инструменты, которые помогают упростить процесс обучения экземпляра чат-бота.
Обучение ChatterBot включает загрузку примера диалога в базу данных чат-бота.
При этом строится граф, который представляет наборы известных вводов и ответов.
Когда тренеру чат-бота предоставляется набор данных, он создает необходимые записи в графе знаний чат-бота.
И библиотека ChatterBot поставляется со встроенными классами тренеров, или вы можете создать свой собственный класс тренера, если это необходимо.
Чтобы использовать класс тренера, вы вызываете метод train для экземпляра тренера, который был инициализирован вашим чат-ботом.
Класс тренера ListTrainer позволяет обучить чат-бота, используя список строк, где список представляет собой разговор пользователя с чат-ботом.
И для процесса обучения вам нужно передать список фраз этого разговора.
Каждый такой список будут представлять отдельный разговор.
После обучения мы создаем цикл while для чат-бота.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.