NLP-alapú Chatbot a PyTorch-ban. Bonus Flask és JavaScript telepítése

Forrás csomópont: 1123050
Victoria Maslova

A vevői elégedettség javításának különféle módjai közül a chatbotok a hatékony megoldás az ügyfélkör támogatására. A chatbotok megfizethetőek, segítik vállalkozása méretezését, teljes mértékben személyre szabhatók, segítik ügyfeleit megtalálni a megfelelő termékeket/szolgáltatásokat, és segítenek bizalmat építeni vállalkozása iránt. Ennek bizonyítására az alábbi tartalmat fogom végignézni:

  1. Mi az a gépi tanulási chatbot?
  2. Miért fontosak a chatbotok a különböző üzleti szférákban?
  3. Készítsen saját NLP-alapú chatbotot a PyTorch segítségével.
  4. Telepítse a chatbotot Javascriptben és Flaskban.

Egy chatbot (Conversational AI) egy automatizált program, amely szimulálja az emberi beszélgetést szöveges üzeneteken, hangcsevegésen vagy mindkettőn keresztül. Sok bemenet alapján megtanulja ezt csinálni, és Természetes nyelvi feldolgozás (NLP).

A szemantika kedvéért ebben a cikkben a chatbotokat és a társalgási asszisztenseket felváltva használjuk, ezek nagyjából ugyanazt jelentik.

A Business Insider arról számolt be, hogy a globális chatbot-piac a 2.6-es 2019 milliárd dollárról 9.4-re 2024 milliárd dollárra nő, ami 29.7%-os összetett éves növekedési rátát jósol. Ugyanez a jelentés azt is sugallja, hogy a chatbotok bevezetése a legnagyobb növekedést a kiskereskedelmi és az e-kereskedelmi iparágakban fogja elérni, mivel egyre nagyobb az igény az ügyfelek zökkenőmentes omnichannel élményt nyújtani.

Ez önmagában elég ahhoz, hogy meggyőzze erről A chatbotok az ügyfélkapcsolatok kezelésének módjai haladunk előre, de továbbra is növekedni fognak a vállalati eszközök belső eszközeiként, és szinte minden iparág átveszi a technológiát, ha még nem tette meg.

Az alábbiakban bemutatjuk azokat a fő okokat, amelyek miatt egyre több vállalkozás alkalmazza a chatbot-stratégiát, és hogy ez egy mindenki számára előnyös megoldás az ügyfelek megszerzésére és megtartására.

  • Csökkentse az ügyfelek várakozási idejét - A fogyasztók 21% -a a chatbotokat tekintse a vállalkozással való kapcsolatfelvétel legegyszerűbb módjának. A robotok egy intelligensebb módja annak, hogy az ügyfelek azonnal megkapják a keresett választ anélkül, hogy sorban kellene állniuk.
  • 24×7 elérhetőség — A robotok mindig rendelkezésre állnak, hogy azonnali válaszokat adhassanak az ügyfeleknek az általuk feltett gyakori kérdésekre. A chatbotok használatának legnagyobb előnye a 24 órás ügyfélszolgálat.
  • Jobb ügyfélelköteleződés — A beszélgetős robotok éjjel-nappal leköthetik az ügyfeleket azáltal, hogy megkezdik a proaktív megőrzést, és személyre szabott ajánlásokat kínálnak, amelyek javítják az ügyfélélményt.
  • Takarítson meg ügyfélszolgálati költségeket — A chatbotok többet fognak segíteni a vállalkozásoknak, mint 8 milliárd $ évente. A botok könnyen méretezhetők, így megtakaríthatók az ügyfélszolgálati költségek, több erőforrás bérbeadása, infrastrukturális költségek stb.
  • A vezető minősítés és értékesítés automatizálása — Automatizálhatja értékesítési tölcsérét chatbotokkal, hogy előminősítse a potenciális ügyfeleket, és a megfelelő csapathoz irányítsa őket további gondozás céljából. Az ügyfelek bevonásának lehetősége azonnal növeli a potenciális ügyfelek számát és a konverziós arányt.

1. Hogyan automatizálhatja a társalgási AI az ügyfélszolgálatot

2. Automatizált kontra élő csevegés: Hogyan fog kinézni az ügyfélszolgálat jövője?

3. Chatbotok mint orvosi asszisztensek a COVID-19 világjárványban

4. Chatbot vs. Intelligens virtuális asszisztens – mi a különbség és miért kell gondoskodni?

Számos platform létezik, ahol a fejlesztők, adattudósok és gépi tanulási mérnökök létrehozhatnak és karbantarthatnak chatbotokat, például párbeszédfolyamat és a Amazon Lex. Ebben a cikkben azonban az a célom, hogy megmutassam, hogyan hozhat létre chatbotot a semmiből, hogy segítsen megérteni a Feed-Forward Networks for Natural Language Processing koncepcióit.

Lássunk neki!

Könnyen megtalálja a teljes kódot az én GitHub repo.

Íme egy rövid terv, amelyet követni szeretnék egy modell felépítéséhez.

  1. Elmélet + NLP-koncepciók (szározás, tokenizálás, szavak zsákja)
  2. Képzési adatok létrehozása
  3. PyTorch modell és képzés
  4. Mentse/töltse be a modellt, és hajtsa végre a csevegést

Chatbotot fogunk építeni a kávé és tea beszállítói igényeihez, hogy kezelje a nyitvatartással, a foglalási lehetőségekkel és így tovább kapcsolatos egyszerű kérdéseket.

A chatbot keretrendszernek olyan struktúrára van szüksége, amelyben a társalgási szándékok meghatározásra kerülnek. Ennek egyik tiszta módja egy ilyen JSON-fájl.

Chatbot szándékai

Minden beszélgetési szándék a következőket tartalmazza:

  • a címke (egyedi név)
  • minták (mondatminták a neurális hálózat szövegosztályozójához)
  • válaszok (az egyiket válaszként használjuk)

Tehát az NLP-csővezetékünk így néz ki

  • tokenizálni
  • Alsó + szár
  • Írásjelek kizárása
  • Szavak zsákja

Készítünk egy listát a dokumentumokról (mondatokról), minden mondat egy lista törzsszavak és minden dokumentumhoz egy szándék (egy osztály) kapcsolódik. A teljes kód benne van ez a fájl.

Ezután be kell állítanunk a képzési adatokat és a hiperparamétereket.

Az összes szükséges előfeldolgozási lépés után létrehozzuk a modell.py fájl a FeedForward neurális hálózat meghatározásához.

A visszacsatolt neurális hálózatok mesterséges idegi hálózat ahol az egységek közötti kapcsolatok nem alkotnak a ciklus. A visszacsatolt neurális hálózatok voltak a mesterséges neurális hálózatok első típusa, amelyet feltaláltak, és egyszerűbbek a megfelelőjüknél, visszatérő neurális hálózatok. Hívták őket előremutató mert az információ csak előre halad a hálózatban (hurkok nélkül), először a bemeneti csomópontokon, majd a rejtett csomópontok (ha van), és végül a kimeneti csomópontokon keresztül.

Légy óvatos! Végül nincs szükségünk aktiváló funkcióra, mert később kereszt-entrópia veszteséget használunk, és automatikusan aktiváló funkciót alkalmaz számunkra.

Miért használjuk a ReLU-t?

Egyszerűek, gyorsan kiszámíthatók, és nem szenvednek az eltűnő gradiensektől, mint például a szigmoid függvények (logisztikai, tanh, erf és hasonlók). A megvalósítás egyszerűsége alkalmassá teszi GPU-kon való használatra, amelyek manapság nagyon elterjedtek a mátrixműveletekre optimalizálva (amelyek a 3D-s grafikához is szükségesek).

A CrossEntropy Loss és Adam meghatározása után visszafelé és optimalizáló lépést hajtunk végre.

Mit jelentenek ezek a sorok?

A zero_grad() paramétert optimalizáló értékre állítottuk be, mert a PyTorch programban minden mini-kötegelt a betanítási fázisban kifejezetten nullára kell állítanunk a gradienseket a visszapropagálás (azaz a súlyok és torzítások frissítése) megkezdése előtt, mivel a PyTorch a gradienseket felhalmozza későbbi hátramenetek.

A .backward() többszörös hívása minden paraméterhez összeadja a gradienst (összeadás útján). Ezért érdemes minden .step() hívás után meghívni az optimizer.zero_grad() függvényt. Ne feledje, hogy az első .backward hívást követően a második hívás csak azután lehetséges, hogy egy másik előre hívást végrehajtott.

Az optimizer.step paraméterfrissítést hajt végre az aktuális színátmenet (a paraméter .grad attribútumában tárolva) és a frissítési szabály alapján.

Végül a train.py szkript futtatása után milyen csodálatos eredményt értünk el!

Az utolsó részben pedig el kell mentenünk a modellünket. Itt, ahogy én csináltam könnyen.

Úgy döntöttem, tovább megyek, és létrehozom a ChatBot csodálatos vizualizációját.

Az összes HTML-, CSS- és JavaScript-szkriptemet megtalálja a GitHub-tárhelyemben.

Enjoy!

Most már tisztában van azzal, hogy mi az a chatbot, és mennyire fontos a bottechnológia bármilyen vállalkozás számára. Ön minden bizonnyal egyetért azzal, hogy a robotok drasztikusan megváltoztatták a vállalkozások és ügyfeleikkel folytatott interakcióját.

A chatbot-technológiák a jövőben az ügyfél-elköteleződési stratégia létfontosságú részévé válnak. A közeljövőben a robotok továbbfejlesztik az emberi képességeket, és az emberi ügynökök innovatívabbak lesznek a stratégiai tevékenységek kezelésében.

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

Időbélyeg:

Még több Chatbotok élete