Чат -бот на базі НЛП у PyTorch. Бонусна колба та розгортання JavaScript

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

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

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

Чат-бот (розмовний AI) – це автоматизована програма, яка моделює людську розмову за допомогою текстових повідомлень, голосових чатів або обох. Воно вчиться робити це на основі великої кількості введених даних, і Обробка природних мов (НЛП).

Заради семантики чат-боти та розмовні помічники в цій статті будуть використовуватися як взаємозамінні, вони означають те саме.

Business Insider повідомляє, що очікується, що світовий ринок чат-ботів зросте з 2.6 мільярда доларів у 2019 році до 9.4 мільярда доларів у 2024 році, прогнозуючи сукупний річний темп зростання на рівні 29.7%. У тому самому звіті також припускається, що найбільше зростання впровадження чат-ботів буде в індустрії роздрібної торгівлі та електронної комерції через зростання попиту на надання клієнтам безперебійного багатоканального досвіду.

Одного цього має бути достатньо, щоб переконати вас у цьому чат-боти – це спосіб регулювати відносини з клієнтами рухатися вперед, але вони також продовжуватимуть розвиватися як внутрішні інструменти для корпоративних інструментів, і майже кожна галузь застосує цю технологію, якщо вона ще цього не зробила.

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

  • Скоротіть час очікування клієнта - 21% споживачів розглядайте чат-боти як найпростіший спосіб зв’язатися з компанією. Боти — це розумніший спосіб гарантувати, що клієнти отримають негайну відповідь, яку вони шукають, не змушуючи їх чекати в черзі.
  • Доступність 24/7 — Боти завжди доступні, щоб залучити клієнтів негайно отримати відповіді на поширені запитання. Головною потенційною перевагою використання чат-ботів є цілодобове обслуговування клієнтів.
  • Краще залучення клієнтів — Розмовні боти можуть цілодобово залучати клієнтів, починаючи проактивне збереження та пропонуючи персоналізовані рекомендації, які покращують якість обслуговування клієнтів.
  • Заощаджуйте витрати на обслуговування клієнтів — Чат-боти допоможуть бізнесу заощадити більше 8 млрд доларів в рік. Ботів можна легко масштабувати, що заощаджує витрати на підтримку клієнтів на найм додаткових ресурсів, витрати на інфраструктуру тощо.
  • Автоматизуйте кваліфікацію потенційних клієнтів і продажі — Ви можете автоматизувати свою воронку продажів за допомогою чат-ботів, щоб попередньо кваліфікувати потенційних клієнтів і направити їх до потрібної команди для подальшого розвитку. Можливість миттєво залучати клієнтів збільшує кількість потенційних клієнтів і коефіцієнт конверсії.

1. Як розмовний ШІ може автоматизувати обслуговування клієнтів

2. Автоматизовані та чатові чати: як виглядатиме майбутнє обслуговування клієнтів?

3. Чат-боти як фельдшери при пандемії COVID-19

4. Chatbot Vs. Інтелектуальний віртуальний помічник - у чому різниця та чому догляд?

Існує багато платформ, на яких розробники, науковці даних та інженери з машинного навчання можуть створювати та підтримувати чат-ботів, як-от Діалоговий потік та Амазон Лекс. Але моя мета в цій статті показати вам, як створити чат-бота з нуля, щоб допомогти вам зрозуміти концепції мереж переадресації для обробки природної мови.

Давайте розпочнемо!

Ви можете легко знайти повний код у моєму GitHub репо.

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

  1. Теорія + концепції НЛП (Стемінг, Токенізація, мішок слів)
  2. Створіть навчальні дані
  3. Модель PyTorch та навчання
  4. Збережіть/завантажте модель і введіть чат

Ми створимо чат-бот для потреб постачальників кави та чаю, щоб обробляти прості запитання про години роботи, варіанти бронювання тощо.

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

Наміри чат-бота

Кожен намір розмови містить:

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

Отже, наш канал НЛП виглядає так

  • Токенізувати
  • Нижня + стебло
  • Виключити розділові знаки
  • Мішок слів

Створюємо список документів (речень), кожне речення є списком основоположні слова і кожен документ пов’язаний з наміром (класом). Повний код міститься цей файл.

Потім нам потрібно встановити навчальні дані та гіперпараметри.

Після всіх необхідних кроків попередньої обробки ми створюємо файл a model.py файл для визначення нейронної мережі FeedForward.

Нейронні мережі прямого зв'язку є штучні нейронні мережі де зв'язки між одиницями не утворюють a цикл. Нейронні мережі з прямим зв'язком були першим винайденим типом штучної нейронної мережі, вони простіші, ніж їх аналог, періодичні нейронні мережі. Вони називаються подавати оскільки інформація переміщається тільки вперед у мережі (без циклів), спочатку через вхідні вузли, а потім через приховані вузли (якщо є) і, нарешті, через вихідні вузли.

Будь обережний! Зрештою, нам не потрібна функція активації, тому що пізніше ми будемо використовувати втрату перехресної ентропії, і вона автоматично застосуватиме функцію активації для нас.

Чому ми використовуємо ReLU?

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

Після визначення втрат крос-ентропії та Адама ми реалізуємо крок назад і оптимізатор.

Що означають всі ці рядки?

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

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

optimizer.step виконує оновлення параметра на основі поточного градієнта (збереженого в атрибуті .grad параметра) і правила оновлення.

Нарешті, який чудовий результат ми отримали після запуску сценарію train.py!

І в останній частині нам потрібно зберегти нашу модель. Ось так я зробив це легко.

Я вирішив піти далі і створити цю дивовижну візуалізацію ChatBot.

Усі мої скрипти HTML, CSS та JavaScript ви знайдете в моєму репозиторії GitHub.

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

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

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

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

Часова мітка:

Більше від Життя чат-ботів