Saturs[Paslēpt][Rādīt]
Balss zvani tiek pakāpeniski pārtraukti par labu tekstam un vizuālajiem materiāliem sakaru nozarē. Saskaņā ar Facebook aptauju vairāk nekā puse pircēju dod priekšroku pirkumiem no uzņēmuma, ar kuru viņi var runāt. Tērzēšana ir kļuvusi par jaunu sociāli pieņemamu saziņas veidu.
Tas ļauj uzņēmumiem sazināties ar saviem klientiem jebkurā laikā un no jebkuras vietas. Tērzēšanas roboti kļūst arvien populārāki uzņēmumu un klientu vidū, pateicoties to lietošanas vienkāršībai un samazinātam gaidīšanas laikam.
Tērzēšanas roboti jeb automatizētās sarunu programmas nodrošina klientiem pielāgotāku metodi, lai piekļūtu pakalpojumiem, izmantojot teksta interfeisu. Jaunākie ar AI darbināmie tērzēšanas roboti var atpazīt vaicājumu (jautājumu, komandu, rīkojumu utt.), ko konkrētā vidē ir veicis cilvēks (vai cits robots, sākums) un atbilstoši reaģēt (atbilde, darbība utt.).
Šajā ziņā mēs apskatīsim, kas ir tērzēšanas roboti, to priekšrocības, lietošanas gadījumi un to, kā izveidot savu. dziļa mācīšanās čatbot Python, cita starpā.
Sāksim.
Tātad, kas ir tērzēšanas roboti?
Tērzēšanas robots bieži tiek dēvēts par vienu no vismodernākajiem un daudzsološākajiem cilvēka un mašīnas mijiedarbības veidiem. Šie digitālie palīgi uzlabo klientu pieredzi, racionalizējot mijiedarbību starp cilvēkiem un pakalpojumiem.
Vienlaikus tie nodrošina uzņēmumiem jaunas iespējas, lai optimizētu klientu saziņas procesu, lai nodrošinātu efektivitāti, kas var samazināt parastos atbalsta izdevumus.
Īsumā, tā ir uz AI balstīta programmatūra, kas paredzēta saziņai ar cilvēkiem viņu dabiskajās valodās. Šie tērzēšanas roboti bieži mijiedarbojas, izmantojot audio vai rakstiskas metodes, un tie var viegli atdarināt cilvēku valodas, lai izveidotu savienojumu ar cilvēkiem cilvēkiem līdzīgā veidā.
Tērzēšanas roboti mācās no mijiedarbības ar lietotājiem, laika gaitā kļūstot reālistiskāki un efektīvāki. Viņi var veikt plašu uzņēmējdarbības darbību klāstu, piemēram, atļaut tēriņus, sazināties ar patērētājiem tiešsaistē un piesaistīt potenciālos pirkumus.
Izveidojiet savu dziļās mācīšanās tērzēšanas robotu, izmantojot python
Šajā jomā ir daudz dažādu tērzēšanas robotu veidu mašīna mācīšanās un AI. Daži tērzēšanas roboti ir virtuālie palīgi, bet citi ir paredzēti tikai sarunai, bet citi ir klientu apkalpošanas aģenti.
Jūs, iespējams, esat redzējuši dažus no tiem, ko uzņēmumi nodarbina, lai atbildētu uz jautājumiem. Šajā apmācībā mēs izveidosim nelielu tērzēšanas robotu, lai atbildētu uz bieži uzdotajiem jautājumiem.
1. Pakešu instalēšana
Mūsu pirmais solis ir instalēt tālāk norādītās pakotnes.
2. Apmācības dati
Tagad ir pienācis laiks noskaidrot, kāda veida informācija mums būs jāsniedz mūsu tērzēšanas robotam. Mums nav jālejupielādē nekādas lielas datu kopas, jo šis ir vienkāršs tērzēšanas robots.
Mēs izmantosim tikai to informāciju, ko esam izveidojuši paši. Lai efektīvi sekotu nodarbībai, jums būs jāģenerē .JSON fails tādā pašā formātā, kāds redzams tālāk. Mana faila nosaukums ir “intents.json”.
JSON fails tiek izmantots, lai izveidotu ziņojumu kopu, ko lietotājs, visticamāk, ievadīs un veidos atbilstošo atbilžu kopu. Katrai faila vārdnīcai ir atzīme, kas norāda, kurai grupai katrs ziņojums pieder.
Mēs izmantosim šo informāciju, lai apmācītu a neironu tīklu lai klasificētu vārdu frāzi kā vienu no tagiem mūsu failā.
Pēc tam mēs varam vienkārši saņemt atbildi no šīm grupām un sniegt to lietotājam. Tērzēšanas robots būs labāks un sarežģītāks, ja piedāvāsit to ar papildu tagiem, atbildēm un modeļiem.
3. JSON datu ielāde
Sāksim ar mūsu .json datu ielādi un dažu moduļu importēšanu. Salieciet savu.json failu tajā pašā direktorijā, kurā atrodas jūsu Python skripts. Mūsu .json dati tagad tiks saglabāti datu mainīgajā.
4. Datu ieguve
Tagad ir pienācis laiks iegūt nepieciešamo informāciju no mūsu JSON faila. Ir nepieciešami visi modeļi, kā arī klase/birka, kurai tie pieder.
Mums būs nepieciešams arī visu unikālo terminu saraksts mūsu modeļos (to iemeslu dēļ mēs to paskaidrosim vēlāk), tāpēc izveidosim dažus tukšus sarakstus, lai sekotu līdzi šīm vērtībām.
Tagad mēs apskatīsim savus JSON datus un izgūsim nepieciešamo informāciju. Tā vietā, lai izmantotu tos kā virknes, mēs izmantosim nltk.word marķieri, lai pārveidotu katru modeli vārdu sarakstā.
Pēc tam savā docs_x sarakstā mēs pievienosim katru modeli kopā ar saistīto tagu sarakstam docs_y.
5. Vārdu saknes
Vārda saknes atrašana ir pazīstama kā cilmes veidošanās. Piemēram, vārda “tas” celms varētu būt “tas”, savukārt vārda “notiek” celms varētu būt “notikt”.
Mēs izmantosim šo cilmes paņēmienu, lai samazinātu sava modeļa vārdu krājumu un mēģinātu izdomāt, uz ko teikumi vispār attiecas. Šis kods vienkārši ģenerēs unikālu cilmes vārdu sarakstu, kas tiks izmantots nākamajā datu sagatavošanas posmā.
6. Vārdu maiss
Ir pienācis laiks runāt par vārdu maisu tagad, kad esam importējuši savus datus un ģenerējuši cilmes vārdu krājumu. Neironu tīkli un mašīnmācīšanās algoritmiem, kā mēs visi zinām, ir nepieciešama skaitliska ievade. Tātad mūsu stīgu saraksts to nesamazinās. Mums ir nepieciešams mehānisms, lai mūsu teikumos attēlotu skaitļus, un tas ir tas, kur parādās vārdu maiss.
Katra frāze tiks attēlota ar terminu garuma sarakstu mūsu modeļa vārdnīcā. Katrs vārds mūsu vārdnīcā tiks attēlots ar vietu sarakstā. Ja pozīcija sarakstā ir 1, vārds parādās mūsu paziņojumā; ja tas ir 0, vārds mūsu teikumā neparādās.
Mēs to saucam par vārdu maisu, jo nezinām secību, kādā vārdi parādās frāzē; viss, ko mēs zinām, ir tas, ka tie pastāv mūsu modeļa vārdu krājumā.
Papildus ievades strukturēšanai mums ir jāformatē arī mūsu izvade tā, lai neironu tīkls to saprastu. Mēs izveidosim izvades sarakstus, kas atbilst mūsu datu kopā esošo etiķešu/atzīmju skaita garumam, līdzīgi kā vārdu maisā. Katra vieta sarakstā apzīmē unikālu etiķeti/birku, un 1 jebkurā no šīm vietām norāda, kura iezīme/birka tiek attēlota.
Visbeidzot, mēs izmantosim NumPy masīvus, lai saglabātu mūsu apmācības datus un izvadi.
7. Modeļa izstrāde
Mēs esam gatavi sākt modeļa izveidi un apmācību tagad, kad esam iepriekš apstrādājuši visus savus datus. Mūsu mērķiem mēs izmantosim ļoti vienkāršu uz priekšu vērstu neironu tīklu ar diviem slēptiem slāņiem.
Mūsu tīkla mērķis būs aplūkot vārdu kolekciju un piešķirt tos klasei (viens no mūsu tagiem no JSON faila). Sāksim ar sava modeļa arhitektūras izveidi. Ņemiet vērā, ka varat spēlēties ar dažiem skaitļiem, lai izveidotu labāku modeli! mašīna mācīšanās galvenokārt ir balstīts uz izmēģinājumiem un kļūdām.
8. Modeļu apmācība un taupīšana
Ir pienācis laiks apmācīt mūsu modeli, izmantojot mūsu datus, tagad, kad esam to iestatījuši! Mēs to sasniegsim, pielāgojot savus datus modelim. Mūsu nodrošinātais laikmetu skaits ir to reižu skaits, kad modelis apmācības laikā tiks pakļauts vieniem un tiem pašiem datiem.
Mēs varam saglabāt modeli faila modelī, kad esam pabeiguši tā apmācību. tflearn ir skripts, ko var izmantot citos skriptos.
9. Tērzēšanas robota izmantošana
Tagad varat sākt tērzēt ar savu robotprogrammatūru.
Chatbot priekšrocības
- Tā kā ir paredzēts, ka robotprogrammatūra darbosies 365 dienas gadā, 24 stundas diennaktī, bez atalgojuma, palielinās pieejamība un reakcijas ātrums.
- Šie robotprogrammatūras ir lieliski rīki, lai risinātu lielo datu trīs galvenos V: apjomu, ātrumu un dažādību.
- Tērzēšanas roboti ir programmatūra, ko var izmantot, lai uzzinātu un izprastu uzņēmuma patērētājus.
- Tam ir izcila jauda, jo tam ir lētas uzturēšanas izmaksas pēc augstākajām priekšrocībām.
- Chatbot lietojumprogrammas izveido datus, kurus var saglabāt un izmantot analītikai un prognozēm.
Izmantot gadījumu
- Klientu jautājumu risināšana
- Atbildot uz bieži uzdotajiem jautājumiem
- Klientu piešķiršana atbalsta komandai
- Klientu atsauksmju vākšana
- Iesakām jaunus piedāvājumus
- Iepērcieties ar sarunvalodas tirdzniecību
- IT palīdzības dienests
- Naktsmītņu rezervēšana
- Naudas pārvedums
Secinājumi
Tērzēšanas roboti, tāpat kā citas AI tehnoloģijas, tiks izmantoti, lai uzlabotu cilvēku prasmes un atbrīvotu cilvēkus būt radošākiem un iztēles bagātākiem, ļaujot viņiem vairāk laika veltīt stratēģiskiem, nevis taktiskiem uzdevumiem.
Uzņēmumi, darbinieki un patērētāji, visticamāk, gūs labumu no uzlabotām tērzēšanas robotu funkcijām, piemēram, ātrākiem ieteikumiem un prognozēm, kā arī ērtas piekļuves augstas izšķirtspējas videokonferencēm sarunas laikā, kad AI tiks apvienota ar 5G tehnoloģija.
Šīs un citas iespējas joprojām tiek pētītas, taču, attīstoties interneta savienojumam, AI, NLP un mašīnmācībai, tās kļūs arvien izplatītākas.
Chwoo
Hello,
Paldies par šo programmu.
Man ir jautājums.
“bag_of_words” nav definēts. Es nevaru saprast šo kļūdu.
Vai jūs varētu man pateikt, kā es varu novērst šo kļūdu?
Paldies par šo programmu!! Lai tev jauka diena
Sīlis
Pirms chatbot sadaļas izmantošanas, lūdzu, pievienojiet funkciju:
/////////////////////////////////////////////////// //////////////////////////////
def bag_of_words(s, words):
soma = [0 _ diapazonā(len(vārdi))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) vārdam s_words]
priekš se in s_words:
i, w uzskaitījumā (vārdos):
ja w == se:
soma [i] = 1
return numpy.array(bag)
// Tas noteikti atrisinās jūsu problēmu. //
/////////////////////////////////////////////////// // ///////////////////////////
Es kopīgoju ar jums visu kodu, lai jūs par to iegūtu skaidru priekšstatu.
/////////////////////////////////////////////////// /////////
importa nltk
no nltk.stem.lancaster importa LancasterStemmer
stemmer = LancasterStemmer()
importa numpy
importēt tflearn
importa tensorflow
importēt izlases veidā
importa json
importēt marinētu gurķi
ar atvērtu (“intents.json”) kā failu:
dati = json.load(fails)
mēģiniet:
ar atvērtu (“data.pickle”, “rb”) kā f:
vārdi, etiķetes, apmācība, izvade = pickle.load(f)
izņemot:
vārdi = []
etiķetes = []
docs_x = []
docs_y = []
nolūkam datos [“nolūki”]:
paraugam nolūkā [“raksti”]:
wrds = nltk.word_tokenize(pattern)
vārdi.paplašināt(wrds)
docs_x.append(wrds)
docs_y.append(intent["tag"])
ja nolūks ["tag"] nav etiķetēs:
labels.append(intent["tag"])
vārdi = [stemmer.stem(w.lower()) for w vārdos, ja w != "?"]
vārdi = sakārtoti(saraksts(set(vārdi)))
etiķetes = sakārtotas(iezīmes)
apmācība = []
izvade = []
out_empty = [0 _ diapazonā(len(iezīmes))]
x, doc in enumerate(docs_x):
soma = []
wrds = [stemmer.stem(w.lower()) for w dokumentā]
vārdam w vārdos:
ja w wrds:
bag.append (1)
cits:
bag.append (0)
izvades_rinda = out_empty[:]
izvades_rinda[labels.index(docs_y[x])] = 1
treniņš.pielikt(bag)
output.append(izejas_rinda)
apmācība = numpy.array(apmācība)
izvade = numpy.masīvs(izeja)
ar atvērtu (“data.pickle”, “wb”) kā f:
pickle.dump((vārdi, etiķetes, apmācība, izvade), f)
tensorflow.reset_default_graph()
net = tflearn.input_data(shape=[Nav, len(apmācība[0])])
tīkls = tflearn.fully_connected(net, 8)
tīkls = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, len(output[0]), activation=”softmax”)
neto = tflearn.regression(net)
modelis = tflearn.DNN(net)
mēģiniet:
model.load(“model.tflearn”)
izņemot:
model.fit(apmācība, izvade, n_epoch=1500, batch_size=8, show_metric=true)
model.save(“model.tflearn”)
def bag_of_words(s, words):
soma = [0 _ diapazonā(len(vārdi))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) vārdam s_words]
priekš se in s_words:
i, w uzskaitījumā (vārdos):
ja w == se:
soma [i] = 1
return numpy.array(bag)
def chat ():
drukāt (“Sāciet runāt ar robotprogrammatūru (lai apturētu, ierakstiet quit)!”)
kamēr patiess:
inp = ievade ("Tu: ")
if inp.lower() == “quit”:
pārtraukums
rezultāti = model.predict([bag_of_words(inp, words)])
rezultātu_indekss = numpy.argmax(results)
tags = etiķetes[results_index]
tg in data ["intents"]:
if tg['tag'] == tags:
atbildes = tg['atbildes']
drukāt(nejauši.izvēle(atbildes))
tērzēšana ()
////////////////////////////////////////////////// ///////////////
Paldies,
Laimīgu kodēšanu!
Lu
Hello,
Vai varat sniegt man priekšstatu par procesu, kas jāveic gadījumā, ja vēlaties izveidot čata robotu python, bet informācija tiek iegūta no aptaujas programmā excel. Paldies!