Okuqukethwe[Fihla][Bonisa]
Izingcingo zezwi ziyayekwa ukuze kusetshenziswe umbhalo kanye nezithombe emkhakheni wezokuxhumana. Ngokwenhlolovo ye-Facebook, ngaphezu kwesigamu sabathengi bancamela ukuthenga enkampanini abangakhuluma nayo. Ukuxoxa sekuyindlela entsha yokuxhumana eyamukelekayo emphakathini.
Ivumela amabhizinisi ukuthi axhumane namakhasimende awo nganoma yisiphi isikhathi futhi kunoma iyiphi indawo. Ama-Chatbot aya ngokuya ethola ukuduma phakathi kwezinkampani namakhasimende ngenxa yokusebenzisa kwawo kalula kanye nezikhathi zokulinda ezincishisiwe.
Ama-Chatbots, noma izinhlelo zezingxoxo ezizenzakalelayo, zinikeza amakhasimende indlela engokwezifiso zokufinyelela izinsiza ngokusebenzisa isixhumi esibonakalayo esisekelwe embhalweni. Ama-chatbot amasha anamandla e-AI angakwazi ukubona umbuzo (umbuzo, umyalo, ukuhleleka, njll.) owenziwe ngumuntu (noma enye i-bot, ukuqaliswa) endaweni ethile futhi aphendule ngokufanele (impendulo, isenzo, njll.).
Kulokhu okuthunyelwe, sizoxoxa ngokuthi ayini ama-chatbot, izinzuzo zawo, izimo zokusebenzisa, nokuthi ungayenza kanjani eyakho. ukufunda okujulile chatbot ePython, phakathi kwezinye izinto.
Ake siqale.
Ngakho, ayini ama-chatbots?
I-chatbot ivamise ukubizwa ngokuthi ingenye yezindlela ezithuthuke kakhulu nezithembisayo zokusebenzelana komshini womuntu. Laba basizi bedijithali bathuthukisa ulwazi lwamakhasimende ngokwenza lula ukusebenzisana phakathi kwabantu namasevisi.
Ngesikhathi esifanayo, bahlinzeka amabhizinisi ngezinketho ezintsha zokuthuthukisa inqubo yokuxhumana nekhasimende ukuze kusebenze kahle, okunganciphisa izindleko zosekelo ezivamile.
Kafushane nje, isoftware esekwe ku-AI ehloselwe ukuxhumana nabantu ngezilimi zabo zemvelo. Lawa ma-chatbot avame ukuxhumana ngomsindo noma ngamasu abhaliwe, futhi angalingisa kalula izilimi zabantu ukuze axhumane nabantu ngendlela efana neyomuntu.
Ama-Chatbot afunda ekusebenzelaneni kwawo nabasebenzisi, abe namaqiniso ngokwengeziwe futhi asebenze kahle ngokuhamba kwesikhathi. Bangakwazi ukuphatha imisebenzi eminingi yebhizinisi, njengokugunyaza ukusetshenziswa kwemali, ukusebenzelana nabathengi ku-inthanethi, nokukhiqiza imikhondo.
Ukudala i-chatbot yakho yokufunda ejulile nge-python
Kunezinhlobo eziningi ezahlukene zama-chatbot emkhakheni we ukufunda imishini kanye ne-AI. Amanye ama-chatbot angabasizi ababonakalayo, kanti amanye akhona nje ukuze axoxisane nawo, kanti amanye angama-ejenti esevisi yamakhasimende.
Cishe ubabonile abanye abaqashwe ngamabhizinisi ukuphendula imibuzo. Sizokwenza i-chatbot encane kulesi sifundo ukuze siphendule imibuzo evame ukucelwa.
1. Ukufaka amaphakheji
Isinyathelo sethu sokuqala ukufaka amaphakheji alandelayo.
2. Idatha Yokuqeqesha
Manje yisikhathi sokuthola ukuthi yiluphi uhlobo lolwazi esizoludinga ukuze sinikeze i-chatbot yethu. Asidingi ukulanda noma yimaphi amasethi wedatha amakhulu ngoba lena i-chatbot elula.
Sizosebenzisa kuphela ulwazi esiludalele thina. Ukuze ulandele ngempumelelo isifundo, uzodinga ukukhiqiza ifayela le-.JSON elinefomethi efanayo naleyo ebonwe ngezansi. Ifayela lami liqanjwe ngokuthi “intents.json.”
Ifayela le-JSON lisetshenziselwa ukudala isethi yemilayezo umsebenzisi angase ayifake futhi enze imephu ibe yisethi yezimpendulo ezifanele. Isichazamazwi ngasinye efayeleni sinomaka okhomba ukuthi umlayezo ngamunye ungowaliphi iqembu.
Sizosebenzisa lolu lwazi ukuze siqeqeshe a inethiwekhi ye-neural ukuhlukanisa umushwana wamagama njengomunye wamathegi kufayela lethu.
Khona-ke singavele sithathe impendulo kulawo maqembu futhi siyinikeze kumsebenzisi. I-chatbot izoba ngcono futhi ibe nzima nakakhulu uma uyinikeza omaka abengeziwe, izimpendulo, namaphethini.
3. Ukulayishwa kwedatha ye-JSON
Sizoqala ngokulayisha idatha yethu ye-.json futhi singenise amanye amamojula. Hlanganisa ifayela lakho.json kumkhombandlela ofanayo nowakho I-Python script. Idatha yethu ye-.json manje izolondolozwa kokuhluka kwedatha.
4. Ukukhishwa Kwedatha
Manje sekuyisikhathi sokukhipha ulwazi esiludingayo kufayela lethu le-JSON. Wonke amaphethini, kanye nekilasi/umaka ayingxenye yawo, ayadingeka.
Futhi sizodinga uhlu lwawo wonke amagama ahlukile kumaphethini ethu (ngezizathu esizozichaza kamuva), ngakho-ke masidale izinhlu ezingenalutho ukuze silandele la manani.
Manje sizocubungula idatha yethu ye-JSON futhi sithole ulwazi esiludingayo. Kunokuba abe nawo njengeyunithi yezinhlamvu, sizosebenzisa i-nltk.word tokenizer ukuguqula iphethini ngayinye ibe uhlu lwamagama.
Bese, ohlwini lwethu lwe-docs_x, sizofaka iphethini ngayinye, kanye nomaka wayo ohlobene, ohlwini lwama-docs_y.
5. Ukugxilisa Amagama
Ukuthola umsuka wegama kwaziwa ngokuthi i-stemming. Ngokwesibonelo, isiqu segama elithi “lokho” kungase kube “lokho,” kuyilapho isiqu segama elithi “kwenzeka” singase sithi “kwenzeka.”
Sizosebenzisa le nqubo yokusika ukuze sinciphise isilulumagama semodeli yethu futhi sizame ukuthola ukuthi imisho isho ukuthini ngokujwayelekile. Le khodi izovele ikhiqize uhlu oluhlukile lwamagama aneziqu ezizosetshenziswa esigabeni esilandelayo sokulungiselela kwethu idatha.
6. Isikhwama Samagama
Isikhathi sokukhuluma ngesikhwama samagama manje njengoba sesingenise idatha yethu futhi sakha ulwazimagama olunezimpande. Ama-Neural amanethiwekhi kanye nama-algorithms okufunda komshini, njengoba sazi sonke, adinga ukufaka izinombolo. Ngakho uhlu lwethu lwezintambo ngeke lunqamule. Sidinga indlela yokumela izinombolo emishweni yethu, okuyilapho isikhwama samagama singena khona.
Ibinzana ngalinye lizomelwa uhlu lobude benombolo yamatemu kusilulumagama semodeli yethu. Igama ngalinye kusilulumagama sethu lizomelwa indawo ohlwini. Uma indawo ohlwini ingu-1, igama livela esitatimendeni sethu; uma kungu-0, igama aliveli emshweni wethu.
Siyibiza ngesaka lamagama ngoba asikwazi ukulandelana kwamagama esisho; esikwaziyo nje ukuthi zikhona kusilulumagama semodeli yethu.
Ngokungeziwe ekuhleleni okokufaka kwethu, kufanele futhi sifomethe okukhiphayo ukuze inethiwekhi ye-neural ikuqonde. Sizokwakha uhlu lokuphumayo oluwubude benombolo yamalebula/omaka kudathasethi yethu, elifana nesaka lamagama. Indawo ngayinye ohlwini imele ilebula/ithegi ehlukile, futhi engu-1 kunoma iyiphi yalezo zindawo ibonisa ukuthi iyiphi ilebula/umaka omelweyo.
Ekugcineni, sizosebenzisa amalungu afanayo e-NumPy ukuze sigcine idatha yethu yokuqeqeshwa kanye nokuphumayo.
7. Ukuthuthukiswa Kwezibonelo
Sesilungele ukuqala ukwakha nokuqeqesha imodeli njengoba sesicubungule ngaphambili yonke idatha yethu. Sizosebenzisa inethiwekhi ye-neural yokudlulisela phambili eyisisekelo enezendlalelo ezimbili ezifihliwe ngezinjongo zethu.
Inhloso yenethiwekhi yethu kuzoba ukubheka iqoqo lamagama bese siwabela ekilasini (omunye womaka bethu ovela kufayela le-JSON). Sizoqala ngokusungula ukwakheka kwemodeli yethu. Khumbula ukuthi ungadlala ngezinye zezinombolo ukuze uqhamuke nemodeli engcono! Ukufunda komshini isekelwe kakhulu ekuzameni nasephutheni.
8. Ukuqeqeshwa Kwemodeli Nokulondoloza
Isikhathi sokuqeqesha imodeli yethu kudatha yethu njengoba sesiyisethile! Sizofinyelela lokhu ngokufaka idatha yethu kumodeli. Inombolo yezinkathi esizihlinzekayo yinani lezikhathi imodeli ezovezwa ngazo kudatha efanayo phakathi nokuqeqeshwa.
Singalondoloza imodeli kumodeli yefayela uma sesiqedile ukuyiqeqesha. I-tflearn iskripthi esingasetshenziswa kwezinye izikripthi.
9. Ukusebenzisa i-chatbot
Manje ungaqala ukuxoxa ne-bot yakho.
Izinzuzo ze-Chatbot
- Njengoba ama-bots kulindeleke ukuthi asebenze izinsuku ezingu-365 ngonyaka, amahora angu-24 ngosuku, ngaphandle kwenkokhelo, ukwandisa ukutholakala kanye nesivinini sokuphendula.
- Lawa ma-bot angamathuluzi aphelele okubhekana nama-Vs amathathu okhiye bedatha enkulu: ivolumu, isivinini, nokuhlukahluka.
- I-Chatbots isofthiwe engasetshenziswa ukufunda nokuqonda abathengi benkampani.
- Inamandla aphakeme ukuthi inezindleko zokunakekela ezishibhile ngemva kokuba nezinzuzo eziphezulu.
- Izinhlelo zokusebenza ze-Chatbot zidala idatha engase ilondolozwe futhi isetshenziselwe izibalo nezibikezelo.
Usecase
- Ukuxazulula imibuzo yekhasimende
- Ukuphendula imibuzo evame ukubuzwa
- Ukwabela amakhasimende ithimba lokusekela
- Iqoqa impendulo yekhasimende
- Incoma okunikezwayo okusha
- Thenga ngezohwebo zengxoxo
- IT Helpdesk
- Ukubhukha izindawo zokulala
- Ukudluliswa kwemali
Isiphetho
Ama-Chatbots, njengobunye ubuchwepheshe be-AI, azosetshenziselwa ukukhulisa amakhono abantu futhi akhulule abantu ukuze babe nobuciko bokudala futhi bacabange ngokubavumela ukuthi bachithe isikhathi esiningi emisebenzini yamasu kunemisebenzi yamaqhinga.
Amabhizinisi, abasebenzi, nabathengi kungenzeka bazuze ezicini ze-chatbot ezithuthukisiwe ezifana nezincomo nezibikezelo ezisheshayo, kanye nokufinyelela okulula kunkomfa ngevidiyo enencazelo ephezulu engxoxweni, maduze nje, lapho i-AI isihlanganiswa nokuthuthukiswa Ubuchwepheshe be-5G.
Lokhu kanye nokunye kusaphenywa, kodwa njengoba uxhumano lwe-inthanethi, i-AI, i-NLP, nenqubekela phambili yokufunda komshini, kuzokwanda kakhulu.
Chwoo
Sawubona,
Siyabonga ngalolu hlelo.
Nginombuzo.
“isikhwama_samagama” asichazwanga. Angiliqondi leli phutha.
Ngicela ungitshele ukuthi ngingalixazulula kanjani leli phutha??
Siyabonga ngalolu hlelo!! Ube nosuku oluhle
Jay
Sicela wengeze umsebenzi ngaphambi kokusebenzisa isigaba se-chatbot:
/////////////////////////////////////////// //////////////////////////
def bag_of_words(amagama, amagama):
isikhwama = [0 for _ in range(len(amagama))]
amagama_amagama = nltk.word_tokenize(amagama)
s_words = [stemmer.stem(word.lower()) for word in s_words]
ngoba se in s_words:
ngoba mina, w ekubaleni(amagama):
uma w == se:
isikhwama[i] = 1
buyisela i-numpy.array(isikhwama)
// Izoxazulula inkinga yakho nakanjani. //
/////////////////////////////////////////// /////////////////////////
Ngabelana nawe ngekhodi ephelele, ukuze uthole isithombe sayo esicacile.
/////////////////////////////////////////// /////////
ngenisa i-nltk
kusuka ku-nltk.stem.lancaster ngenisa i-LancasterStemmer
isiqu = LancasterStemmer()
ngenisa i-numpy
ngenisa i-tflearn
ngenisa i-tensorflow
ukungenisa okungahleliwe
ukungenisa json
ukungenisa ukhukhamba
nge-open(“intents.json”) njengefayela:
idatha = json.load(ifayela)
zama:
nge open(“data.pickle”, “rb”) njengo-f:
amagama, amalebula, ukuqeqeshwa, okukhiphayo = pickle.load(f)
ngaphandle:
amagama = []
amalebula = []
docs_x = []
docs_y = []
ngenjongo yedatha[“izinhloso”]:
kwephethini kunhloso[“amaphethini”]:
wrds = nltk.word_tokenize(iphethini)
amagama.nweba(amagama)
docs_x.append(amagama)
docs_y.append(inhloso[“umaka”])
uma inhloso[“umaka”] ingekho kumalebula:
amalebula.append(inhloso[“umaka”])
amagama = [i-stemmer.stem(w.lower()) ngo-w emagameni uma w != “?”]
amagama = ahlungiwe(uhlu(sethi(amagama)))
amalebula = kuhlungiwe(amalebula)
ukuqeqeshwa = []
okukhiphayo = []
out_empty = [0 for _ ebangeni(len(amalebula))]
ku-x, idokhumenti ekubaleni(amadokhumenti_x):
isikhwama = []
wrds = [stemmer.stem(w.lower()) for w in doc]
ngo-w ngamagama:
uma w ngamagama:
isikhwama.faka(1)
okunye:
isikhwama.faka(0)
output_row = out_empty[:]
output_row[labels.index(docs_y[x])] = 1
ukuqeqeshwa.faka(isikhwama)
i-output.append(output_row)
ukuqeqeshwa = numpy.array(ukuqeqeshwa)
okukhiphayo = numpy.array(output)
ngokuvula(“data.pickle”, “wb”) njengo-f:
pickle.dump((amagama, amalebula, ukuqeqeshwa, okukhiphayo), f)
tensorflow.reset_default_graph()
net = tflearn.input_data(shape=[Ayikho, ilen(training[0])])
net = tflearn.fully_connected(inetha, 8)
net = tflearn.fully_connected(inetha, 8)
net = tflearn.fully_connected(net, len(output[0]), activation=”softmax”)
net = tflearn.regression(net)
imodeli = tflearn.DNN(net)
zama:
imodeli.load(“model.tflearn”)
ngaphandle:
model.fit(ukuqeqeshwa, okukhiphayo, n_epoch=1500, batch_size=8, show_metric=True)
imodeli.londoloza(“model.tflearn”)
def bag_of_words(amagama, amagama):
isikhwama = [0 for _ in range(len(amagama))]
amagama_amagama = nltk.word_tokenize(amagama)
s_words = [stemmer.stem(word.lower()) for word in s_words]
ngoba se in s_words:
ngoba mina, w ekubaleni(amagama):
uma w == se:
isikhwama[i] = 1
buyisela i-numpy.array(isikhwama)
def chat():
phrinta(“Qala ukukhuluma ne-bot (thayipha ukuyeka ukuze ume)!”)
ngenkathi kuyiqiniso:
inp = okokufaka("Wena:")
if inp.lower() == “yeka”:
ukuphuka
imiphumela = model.predict([bag_of_words(inp, words)])
imiphumela_inkomba = numpy.argmax(imiphumela)
ithegi = amalebula[inkomba_yemiphumela]
kudatha ye-tg[“izinhloso”]:
uma tg['tag'] == umaka:
izimpendulo = tg['izimpendulo']
phrinta(okungahleliwe.inketho(izimpendulo))
xoxa()
/////////////////////////////////////////// //////////////
Ngiyabonga,
Jabulela ukubhala ngekhodi!
Lu
Sawubona,
Unganginika umbono wenqubo okufanele ngiyenze esimweni sokufuna ukudala i-chatbot ku-python, kodwa ulwazi lutholakala ocwaningweni lwe-excel. Ngiyabonga!