Давайте создадим серверную часть чат-бота, которая будет умной визуально и в диалоговом режиме.
Интеграция ИИ в серверную часть приложения вашего проекта в последние годы становится все более популярной. Многие отрасли внедрили ИИ для повышения производительности, снижения затрат и оптимизации процессов своих приложений. Одним из таких способов, с помощью которых ИИ может улучшить работу приложения, является использование чат-бота. Чат-бот — это автоматизированный агент, который может взаимодействовать с пользователем, разговаривая с ним, отвечая на его запросы и вообще оказывая помощь. Другими словами, чат-боты могут сделать работу вашего пользователя более естественной и удобной.
К сожалению, на создание, проектирование и развертывание чат-ботов может уйти много времени. Сбор обучающих данных, построение модели или даже изучение службы может занять много времени. К счастью, Humingbird здесь, чтобы спасти положение. Используя метод Humingbird Text
для классификации текста, мы можем применить те же методы для создания чат-бота! Для тех, кто не знает о Humingbird, я бы порекомендовал вам ознакомиться с оригинальным сообщением в блоге здесь; TLDR заключается в том, что вы можете легко создавать классификаторы ML без данных или обучения.
С учетом сказанного, я думаю, пришло время создать чат-бота!
Создание чат-бота с возможностями распознавания изображений
Схема нашего проекта проста: мы собираемся создать чат-бота для вымышленной витрины магазина, где продается мороженое. Этот чат-бот сможет:
- Отвечать на общие вопросы пользователей о мороженом
- Распознавайте изображения разных вкусов мороженого и реагируйте соответственно
- Иметь возможность отступить, если чат-бот не имеет достаточно высокого показателя доверия
Примечание. Хотя это простой по своей сути и несколько забавный пример, этот план проекта можно использовать во многих приложениях. Объединение визуальных и разговорных возможностей в единую платформу может помочь автоматизировать ряд различных задач, таких как автоматизированное обслуживание клиентов.
Чтобы продолжить оставшуюся часть этого руководства, давайте установим пакет Humingbird с помощью команды:
pip install humingbird
Шаг 1: Создание нашей системы распознавания намерений
Во-первых, нам нужно начать с создания системы распознавания намерений. Для тех, кто не знаком, распознавание намерений — это задача предсказания того, что «означает» запрос. Другими словами, мы устанавливаем заранее определенную карту того, что можно сказать нашему чат-боту в зависимости от приложения.
Для нашего чат-бота с мороженым мы будем использовать следующие intents
:
# intents [greeting, goodbye, menu, prices, start_order]
Все они довольно очевидны в отношении того, каковы будут их «роли».
Чтобы создать наш распознаватель намерений, давайте воспользуемся следующим фрагментом кода с помощью Humingbird:
Это даст нам следующий результат:
[ { "className": "menu", "score": 0.84, }, { "className": "greeting", "score": 0.09 }, { "className": "prices", "score": 0.06, }, { "className": "goodbye", "score": 0.01 }, { "className": "start_order", "score": 0.01 } ]
Потрясающий! Наша система распознавания намерений правильно предсказала, что на выходе пользователь хочет увидеть меню. Есть одна проблема: у нас нет ответов! Давайте построим это.
Шаг 2: Создайте систему реагирования
Не волнуйтесь, мы можем использовать следующий словарь Python для нашей библиотеки ответов:
Теперь мы можем создать простую функцию для распознавания намерений и соответствующего реагирования:
Что сгенерирует ответ от нашего чат-бота, например:
Welcome! What can i help you with?
На данный момент у нас есть все необходимое для текстового чат-бота. Мы можем улучшить нашего чат-бота, добавив больше intents
и более качественных ответов.
Но мы хотим добавить еще одну деталь: визуальные возможности.
Шаг 3: Добавляем визуальные возможности в наш чат-бот
До этого шага мы создали простой текстовый чат-бот. Хотя мы сэкономили много времени и абстрагировались от большого количества кода, мы не сделали ничего отличного от того, что может сделать большинство платформ чат-ботов.
Мы собираемся сделать шаг в другом направлении, добавив в наш чат-бот компонент визуального понимания. В нашем простом примере чат-бота в магазине мороженого мы собираемся распознавать разные вкусы мороженого и отвечать вымышленной ссылкой для оформления заказа.
Чтобы сделать это с Humingbird, мы можем использовать следующий фрагмент кода:
Мы можем использовать это изображение:
И наш фрагмент кода вернет:
[ { "className": "strawberry ice cream" "score: 0.93 }, { "className": "vanilla ice cream", "score": 0.05, }, { "className": "chocolate ice cream" "score": 0.02 } ]
Потрясающий! Мы сделали самую сложную часть, написав всего несколько строк кода. Теперь давайте соберем все вместе, добавив несколько «визуальных намерений» с помощью функции visual_intent_detection
:
Что вернется (с примером изображения выше:
Great choice! Here is the checkout link: https://www.fakeicecream.com/checkout/strawberry
Мы сделали это!
Заключение
В этом уроке мы создадим очень простой чат-бот на основе текста и изображения, используя Humingbird. Мы сэкономили массу времени, не собирая данные, абстрагировались от большого количества сложного кода, и нам не потребовалось никакого обучения для построения этой мультимодальной модели. Хотя этот чат-бот можно было бы улучшить, а сама концепция немного глупа, чат-боты, которые отвечают в текстовом и визуальном виде, имеют огромное применение. Представьте, если бы мы могли создать визуального чат-бота для студентов, чтобы они могли понимать медицинские изображения или обнаруживать достопримечательности и узнавать об их истории?
Я надеюсь, что этот урок был полезен для создания забавного приложения с Humingbird. Пожалуйста, поделитесь этой статьей. Если вы хотите увидеть руководство по развертыванию этой системы, напишите мне в комментариях!
См. документы Humingbird по адресу:
Спасибо за прочтение.
- Приземляться
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.