Чат-бот на основе НЛП в PyTorch. Бонусное развертывание Flask и JavaScript

Исходный узел: 1123050
Виктория Маслова

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

  1. Что такое чат-бот с машинным обучением?
  2. Почему чат-боты важны в разных сферах бизнеса?
  3. Создайте собственного чат-бота на основе НЛП с помощью PyTorch.
  4. Разверните чат-бот на Javascript и Flask.

Чат-бот (разговорный ИИ) — это автоматизированная программа, которая имитирует человеческий разговор с помощью текстовых сообщений, голосовых чатов или того и другого. Он учится делать это на основе большого количества входных данных, и Обработка естественного языка (НЛП).

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

Business Insider сообщил, что ожидается, что мировой рынок чат-ботов вырастет с 2.6 млрд долларов в 2019 году до 9.4 млрд долларов в 2024 году, а совокупный годовой темп роста составит 29.7%. В том же отчете также говорится, что самый высокий рост внедрения чат-ботов будет в сфере розничной торговли и электронной коммерции из-за растущего спроса на предоставление клиентам беспрепятственного многоканального взаимодействия.

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

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

  • Сократите время ожидания клиентов - 21% потребителей рассматривайте чат-ботов как самый простой способ связаться с бизнесом. Боты — это более разумный способ гарантировать, что клиенты получат немедленный ответ, который они ищут, не заставляя их ждать в очереди.
  • 24 × 7 доступность — Боты всегда доступны для привлечения клиентов с немедленными ответами на часто задаваемые ими вопросы. Главным потенциальным преимуществом использования чат-ботов является круглосуточное обслуживание клиентов.
  • Лучшее взаимодействие с клиентами — Разговорные боты могут привлекать клиентов круглосуточно, запуская упреждающее сохранение и предлагая персонализированные рекомендации, повышающие качество обслуживания клиентов.
  • Сэкономьте на обслуживании клиентов — Чат-боты помогут компаниям сэкономить более 8 млрд долларов США в год. Боты легко масштабируются, что снижает затраты на поддержку клиентов, связанные с привлечением дополнительных ресурсов, расходы на инфраструктуру и т. д.
  • Автоматизируйте квалификацию потенциальных клиентов и продажи — Вы можете автоматизировать свою воронку продаж с помощью чат-ботов, чтобы проводить предварительную квалификацию потенциальных клиентов и направлять их в нужную команду для дальнейшего развития. Возможность мгновенно привлекать клиентов увеличивает количество потенциальных клиентов и коэффициент конверсии.

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

2. Автоматизированные и живые чаты: каково будущее обслуживания клиентов?

3. Чат-боты в качестве помощников врачей во время пандемии COVID-19

4. Чат-бот против. Интеллектуальный виртуальный помощник - в чем разница и зачем это нужно?

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

Давайте начнем!

Вы можете легко найти полный код в моем Репо GitHub.

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

  1. Теория + концепции НЛП (стемминг, токенизация, набор слов)
  2. Создание обучающих данных
  3. Модель PyTorch и обучение
  4. Сохранить/загрузить модель и реализовать чат

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

Фреймворк чат-бота нуждается в структуре, в которой определяются разговорные намерения. Один из простых способов сделать это — использовать файл JSON, например этот.

Намерения чат-бота

Каждое разговорное намерение содержит:

  • a день (уникальное имя)
  • паттеранами (шаблоны предложений для нашего текстового классификатора нейронной сети)
  • ответы (один будет использоваться в качестве ответа)

Итак, наш конвейер НЛП выглядит так.

  • токенизировать
  • Нижний + шток
  • Исключить знаки препинания
  • Мешок слов

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

Затем нам нужно установить обучающие данные и гиперпараметры.

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

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

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

Почему мы используем ReLU?

Они просты, быстро вычисляются и не страдают исчезающими градиентами, как сигмовидные функции (логистика, tanh, erf и подобные). Простота реализации делает их пригодными для использования на графических процессорах, которые сегодня очень распространены благодаря оптимизации для матричных операций (которые также необходимы для 3D-графики).

После определения CrossEntropy Loss и Adam мы реализуем шаг назад и оптимизатор.

Что означают все эти строки?

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

Вызов .backward() несколько раз накапливает градиент (путем добавления) для каждого параметра. Вот почему вы должны вызывать optimizer.zero_grad() после каждого вызова .step(). Обратите внимание, что после первого вызова .backward второй вызов возможен только после того, как вы выполнили еще один прямой проход.

optimizer.step выполняет обновление параметра на основе текущего градиента (хранящегося в атрибуте .grad параметра) и правила обновления.

Наконец, после запуска скрипта train.py мы получили замечательный результат!

И в последней части нам нужно сохранить нашу модель. Вот кстати я это сделал легко.

Я решил пойти дальше и создать эту потрясающую визуализацию чат-бота.

Все мои сценарии HTML, CSS и JavaScript вы найдете в моем репозитории GitHub.

Наслаждайтесь!

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

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

Source: https://chatbotslife.com/nlp-based-chatbot-in-pytorch-bonus-flask-and-javascript-deployment-474c4e59ceff?source=rss—-a49517e4c30b—4

Отметка времени:

Больше от Чатботы Жизнь