Статьи

Создайте свой первый проект Python Chatbot

Ноутбук с кодом на экране

Вступление

Чат-боты чрезвычайно полезны для деловых организаций, а также клиентов. Большинство людей предпочитают общаться прямо из чата, а не звонить в сервисные центры. Facebook опубликовал данные, которые доказали ценность ботов. Ежемесячно между людьми и компаниями отправляется более 2 миллиардов сообщений. Исследование HubSpot говорит нам, что 71% людей хотят получить поддержку клиентов из приложений обмена сообщениями. Это быстрый способ решить их проблемы, поэтому у чат-ботов большое будущее в организациях.

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

Предпосылки

Для реализации чат-бота мы будем использовать Keras — библиотеку глубокого обучения, NLTK — набор инструментов для обработки естественного языка и некоторые полезные библиотеки. Запустите приведенную ниже команду, чтобы убедиться, что все библиотеки установлены:

pip install tensorflow keras pickle nltk

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


Вам также может понравиться: 
Создай сам: API Chatbot с моделью Keras / TensorFlow

Как работают чатботы?

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

Все чат-боты подпадают под концепции НЛП (обработка естественного языка). НЛП состоит из двух вещей:

  • НЛУ (понимание естественного языка): способность машин понимать человеческий язык, такой как английский.

  • NLG (Natural Language Generation): способность машины генерировать текст, подобный написанным человеком предложениям.

Представьте себе пользователя, задающего вопрос чат-боту: «Эй, что в новостях сегодня?»

Чатбот разделит пользовательское предложение на две вещи: намерение и сущность. Намерением для этого предложения может быть get_news, поскольку оно относится к действию, которое пользователь хочет выполнить. Сущность сообщает конкретные подробности о намерении, поэтому «сегодня» будет сущность. Таким образом, модель машинного обучения используется для распознавания намерений и сущностей чата.

Структура файла проекта

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

  • Train_chatbot.py — В этом файле мы создадим и обучим модель глубокого обучения, которая может классифицировать и идентифицировать то, что пользователь запрашивает у бота.

  • Gui_Chatbot.py — В этом файле мы создадим графический интерфейс пользователя, чтобы общаться с нашим обученным чат-ботом.

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

  • Chatbot_model.h5 — это файл иерархического формата данных, в котором мы сохранили веса и архитектуру нашей обученной модели.

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

  • Words.pkl — файл picks words.pkl содержит все уникальные слова, которые составляют словарь нашей модели.

Загрузите исходный код и набор данных: https://drive.google.com/drive/folders/1r6MrrdE8V0bWBxndGfJxJ4Om62dJ2OMP?usp=sharing

Как создать свой чатбот

Я упростил создание этого чатбота в 5 шагов:

Шаг 1. Импорт библиотек и загрузка данных

Создайте новый файл Python и назовите его train_chatbot, а затем мы импортируем все необходимые модули. После этого мы будем читать файл данных JSON в нашей программе Python.


питон