Isiqulatho[Fihla][Bonisa]
Iminxeba yelizwi iyapheliswa ngokuthanda isicatshulwa kunye nokubonwayo kwicandelo lonxibelelwano. Ngokwe-poll ye-Facebook, ngaphezu kwesiqingatha sabathengi bakhetha ukuthenga kwinkampani abanokuthetha nayo. Ukuncokola sele kuyindlela entsha eyamkelekileyo eluntwini yonxibelelwano.
Yenza ukuba amashishini anxibelelane nabathengi bawo ngalo naliphi na ixesha kwaye nakweyiphi na indawo. Ii-Chatbots ziya zikhula zithandwa phakathi kweenkampani kunye nabathengi ngenxa yokusebenziseka kwazo ngokulula kunye nokuncitshiswa kwexesha lokulinda.
Ii-Chatbots, okanye iinkqubo zokuncokola ezizenzekelayo, zibonelela abathengi ngendlela elungiselelwe ngakumbi yokufikelela kwiinkonzo ngokusebenzisa i-interface esekwe kwiteksti. Ii-chatbots ezintsha ze-AI ziyakwazi ukuqaphela umbuzo (umbuzo, umyalelo, umyalelo, njl.) owenziwe ngumntu (okanye enye i-bot, ukuqaliswa) kwindawo ethile kwaye uphendule ngokufanelekileyo (impendulo, isenzo, njl.).
Kule post, siza kujonga ukuba zeziphi ii-chatbots, izibonelelo zazo, iimeko zokusebenzisa, kunye nendlela yokwenza eyakho. ukufunda okunzulu chatbot kwiPython, phakathi kwezinye izinto.
Masiqalise.
Ke, zithini ii-chatbots?
I-chatbot ihlala ibhekiswa njengenye yezona ndlela ziphambili kwaye zithembisayo zokusebenzisana noomatshini bomntu. Aba bancedisi bedijithali baphucula amava omthengi ngokulungelelanisa intsebenziswano phakathi kwabantu kunye neenkonzo.
Kwangaxeshanye, babonelela amashishini ngeendlela ezintsha zokwandisa inkqubo yokunxibelelana nomthengi ngokufanelekileyo, enokunciphisa iindleko zenkxaso eqhelekileyo.
Ngamafutshane, yisoftware esekwe kwi-AI eyenzelwe ukunxibelelana nabantu ngeelwimi zabo zendalo. Ezi chatbots zihlala zinxibelelana ngeaudio okanye ubuchule obubhaliweyo, kwaye banokulinganisa ngokulula iilwimi zabantu ukuze banxibelelane nabantu ngendlela efana nomntu.
Ii-Chatbots zifunda kunxibelelwano lwazo nabasebenzisi, zisiba yinyani kwaye zisebenza kakuhle ekuhambeni kwexesha. Banokuphatha uluhlu olubanzi lwemisebenzi yeshishini, njengokugunyazisa inkcitho, ukubandakanya abathengi kwi-Intanethi, kunye nokuvelisa izikhokelo.
Ukudala i-chatbot yakho yokufunda enzulu ngepython
Kukho iintlobo ezininzi ezahlukeneyo zee-chatbots kwintsimi ye yokufunda umatshini kunye ne-AI. Ezinye ii-chatbots zingabancedisi abakhoyo, ngelixa abanye belapho nje ukuze bancokole, ngelixa abanye bengabameli benkonzo yabathengi.
Mhlawumbi uye wabona abanye abaqeshwe ngamashishini ukuphendula imibuzo. Siza kwenza i-chatbot encinci kwesi sifundo ukuphendula imibuzo edla ngokucelwa rhoqo.
1. Ukufaka iipakethe
Inyathelo lethu lokuqala kukufaka ezi phakheji zilandelayo.
2. Idatha yoQeqesho
Ngoku lixesha lokufumanisa ukuba loluphi uhlobo lolwazi esiya kuludinga ukunika i-chatbot yethu. Akukho mfuneko yokuba sikhuphele naziphi na iiseti zedatha ezinkulu kuba le yi-chatbot elula.
Siza kusebenzisa kuphela ulwazi esilwenzileyo ngokwethu. Ukulandela ngokuyimpumelelo kunye nesifundo, kuya kufuneka uvelise ifayile ye-.JSON enefomathi efanayo nale ibonwa ngezantsi. Ifayile yam ibizwa ngokuba "yitents.json."
Ifayile ye-JSON isetyenziselwa ukwenza iseti yemiyalezo umsebenzisi anokuthi ayifake kunye nemephu kwiseti yeempendulo ezifanelekileyo. Isichazi-magama ngasinye kwifayile sinethegi echaza ukuba leliphi iqela lomyalezo ngamnye.
Siza kusebenzisa olu lwazi ukuqeqesha a inethiwekhi yomnatha ukuhlela ibinzana lamagama njengenye yeethegi kwifayile yethu.
Emva koko sinokuthatha impendulo kuloo maqela kwaye siyinike umsebenzisi. I-chatbot iya kubangcono kwaye intsonkothe ngakumbi ukuba uyinikezela ngeethegi ezongezelelweyo, iimpendulo, kunye neepateni.
3. Ukulayisha idatha ye-JSON
Siza kuqala ngokulayisha kwidatha yethu ye-.json kunye nokungenisa ezinye iimodyuli. Hlanganisa ifayile yakho.json kulawulo olufanayo nolwakho Umbhalo wePython. Idatha yethu ye.json ngoku iya kugcinwa kwi-variable data.
4. Ukutsalwa kwedatha
Ngoku lixesha lokukhupha ulwazi esiludingayo kwifayile yethu ye-JSON. Zonke iipatheni, kunye neklasi/ithegi ezikuyo, ziyafuneka.
Siza kuphinda sifune uluhlu lwawo onke amagama awodwa kwiipateni zethu (ngezizathu esiza kuzichaza kamva), ngoko ke makhe senze uluhlu olungenanto ukugcina umkhondo wala maxabiso.
Ngoku siza kujonga idatha yethu ye-JSON kwaye sifumane ulwazi esiludingayo. Kunokuba sibe nazo njengeentambo, siza kusebenzisa i-nltk.word tokenizer ukuguqula ipateni nganye ibe kuludwe lwamagama.
Emva koko, kuluhlu lwethu docs_x, siyakongeza ipateni nganye, kunye nethegi ehambelana nayo, kuluhlu lwe docs_y.
5. Ukunqanqatheka kweLizwi
Ukufumana ingcambu yegama kwaziwa ngokuba yi-stemming. Ngokomzekelo, isiqu segama elithi “loo” isiqu sisenokuba “yiloo nto,” ngoxa isiqu segama elithi “kwenzeka” sisenokuba “kwenzeka.”
Siza kusebenzisa obu buchule bokunqanda ukunciphisa isigama semodeli yethu kwaye sizame ukufumanisa ukuba izivakalisi zithetha ukuthini ngokubanzi. Le khowudi iya kuvelisa ngokulula uluhlu olulodwa lwamagama aneziqu eziya kusetyenziswa kwinqanaba elilandelayo lokulungiswa kwedatha.
6. Isingxobo saMazwi
Lixesha lokuba sithethe ngengxowa yamagama ngoku ekubeni singenise idatha yethu kwaye sivelise isigama esinengcambu. Unxibelelwano lweeNeural kunye neendlela zokufunda koomatshini, njengoko sonke sisazi, zifuna igalelo lamanani. Ke uluhlu lwethu lomtya aluzukuyinqumla. Sifuna indlela yokumela amanani kwizivakalisi zethu, kulapho ingxowa yamagama ingena khona.
Ibinzana ngalinye liya kumelwa luluhlu lobude benani lamagama kwisigama somzekelo wethu. Igama ngalinye kwisigama sethu liya kumelwa yindawo ekuluhlu. Ukuba indawo kuluhlu ngu-1, igama livela kwingxelo yethu; ukuba ngu-0, igama alibonakali kwisivakalisi sethu.
Siyibiza ngokuba yingxowa yamagama kuba asiyazi indlela amagama avela ngayo kwibinzana; Ekuphela kwento esiyaziyo kukuba zikhona kwisigama somzekelo wethu.
Ukongeza ekuhlelweni kwegalelo lethu, kufuneka kwakhona sifomethe imveliso yethu ukuze inethiwekhi ye-neural iyiqonde. Siza kwakha uluhlu lweziphumo ezinobude benani leelebhile/ithegi kwidathasethi yethu, efana nengxowa yamagama. Indawo nganye kuluhlu imele ileyibhile/ithegi eyodwa, kwaye i-1 kuyo nayiphi na indawo ibonisa ukuba yeyiphi ileyibhile/ithegi emelweyo.
Okokugqibela, siza kusebenzisa uluhlu lweNumPy ukugcina idatha yethu yoqeqesho kunye nemveliso.
7. Uphuhliso lweModeli
Sikulungele ukuqalisa ukwakha nokuqeqesha imodeli ngoku sele silungise yonke idatha yethu. Siza kusebenzisa uthungelwano olusisiseko lwe-feed-forward neural enamaleko amabini afihlakeleyo kwiinjongo zethu.
Injongo yethu yenethiwekhi iya kuba kukujonga ingqokelela yamagama kwaye iwabele eklasini (enye yeethegi zethu kwifayile yeJSON). Siza kuqala ngokuseka uyilo lwemodeli yethu. Gcina ukhumbula ukuba ungadlala ngamanye amanani ukuze uze nemodeli engcono! U kufunda ubukhulu becala isekwe kulingo nakwimpazamo.
8. UQeqesho lweModeli kunye noGcino
Lixesha lokuqeqesha imodeli yethu kwidatha yethu ngoku sele siyimisile! Siza kufezekisa oku ngokufaka idatha yethu kwimodeli. Inani leepochs esizinikezelayo linani lamaxesha imodeli iya kuboniswa kwidatha efanayo ngexesha loqeqesho.
Sinokuyigcina imodeli kwimodeli yefayile nje ukuba sigqibile ukuyiqeqesha. I-tflearn siscript esinokusetyenziswa kwezinye izikripti.
9. Ukusebenzisa i-chatbot
Ngoku ungaqala ukuncokola ne-bot yakho.
Iinzuzo zeChatbot
- Njengoko iibhothi kulindeleke ukuba zisebenze iintsuku ezingama-365 ngonyaka, iiyure ezingama-24 ngosuku, ngaphandle kwentlawulo, ukwanda kokufumaneka kunye nesantya sokuphendula.
- Ezi bots zizixhobo ezigqibeleleyo zokujongana neeVs ezintathu eziphambili zedatha: umthamo, isantya, kunye nokwahluka.
- IiChatbots yisoftware enokusetyenziswa ukufunda kunye nokuqonda abathengi benkampani.
- Inamandla aphezulu ukuba inexabiso eliphantsi lokulondolozwa emva kokuba nezibonelelo eziphezulu.
- IiNkqubo ze-Chatbot zenza idatha enokuthi igcinwe kwaye isetyenziselwe uhlalutyo kunye noqikelelo.
Usecase
- Ukusombulula imibuzo yabathengi
- Ukuphendula imibuzo edla ngokubuzwa
- Ukwabela abathengi ukuba baxhase iqela
- Ukuqokelela ingxelo yabathengi
- Icebisa unikezelo olutsha
- Thenga ngorhwebo lwencoko
- IT Idesika yoNcedo
- Ukubhukisha indawo yokuhlala
- Ukudluliselwa kwemali
isiphelo
Ii-Chatbots, njengezinye iitekhnoloji ze-AI, ziya kusetyenziselwa ukwandisa izakhono zomntu kunye nokukhulula abantu ukuba babe nobuchule ngakumbi kwaye bacinge ngokubavumela ukuba bachithe ixesha elingakumbi kubuchule kunemisebenzi yobuchule.
Amashishini, abasebenzi, kunye nabathengi banokuxhamla kwiimpawu ze-chatbot eziphuculweyo ezifana neengcebiso ezikhawulezayo kunye noqikelelo, kunye nokufikelela ngokulula kwinkcazo ephezulu yenkomfa yevidiyo ngaphakathi kwincoko, kwixa elizayo, xa i-AI idityanisiwe kunye nophuhliso lwe. Itekhnoloji ye5G.
Ezi kunye nezinye ezinokwenzeka zisaphandwa, kodwa njengoko uqhagamshelo lwe-intanethi, i-AI, i-NLP, kunye nenkqubela phambili yokufunda koomatshini, ziya kuxhaphaka ngakumbi.
Chwoo
Mholo,
Enkosi ngale nkqubo.
Ndinombuzo.
“ingxowa_yamagama” ayichazwanga. Andiyiqondi le mpazamo.
Ndicela undixelele ndingayisombulula njani lempazamo??
Enkosi ngale nkqubo!! Yiba nosuku olumnandi
jay
Nceda wongeze umsebenzi ngaphambi kokusebenzisa icandelo le-chatbot:
////////////////////////////////////////// //////////////////////////
def ibhegi_yamagama(amagama, amagama):
ibhegi = [0 ye _ kuluhlu (len(amagama))]
amagama_amagama = nltk.word_tokenize(s)
amagama_amagama = [i-stemmer.stem(igama.lower()) yegama kumagama_amagama]
ngokuba se in_amagama:
kuba mna, w ekubaleni(amagama):
ukuba w == se:
ibhegi[i] = 1
buyisela numpy.array(ibhegi)
// Ngokuqinisekileyo iya kuwusombulula umcimbi wakho. //
////////////////////////////////////////// /////////////////////////
Ndabelana nawe ngekhowudi epheleleyo, ngoko uya kufumana umfanekiso ocacileyo wayo.
////////////////////////////////////////// /////////
ngenisa nltk
ukusuka nltk.stem.lancaster yokungenisa LancasterStemmer
ilitye = LancasterStemmer ()
ngenisa i-numpy
ngenisa i-tflearn
ngenisa tensorflow
Ngenisa ungenamkhethe
ngenisa json
ukungenisa pickle
nge open("intents.json") njengefayile:
idatha = json.load(ifayile)
zama:
nge open(“data.pickle”, “rb”) njengef:
amagama, iilebhile, uqeqesho, imveliso = pickle.load(f)
ngaphandle:
amagama = []
iileyibhile = []
docs_x = []
docs_y = []
ngenjongo yedatha[“iinjongo”]:
ipateni kwinjongo[“iipatheni”]:
wrds = nltk.word_tokenize(umzekelo)
amagama.kwandisa(amagama)
docs_x.dibanisa(amagama)
docs_y.append(injongo[“ithegi”])
ukuba injongo[“ithegi”] ayikho kwiileyibhile:
iilebhile.append(injongo[“ithegi”])
amagama = [isiqu.isiqu(w.lower()) sika-w kumagama ukuba w != “?”]
amagama = kwahlelwa(uluhlu(seti(amagama)))
iileyibhile = zihlelwe (ielebhile)
uqeqesho = []
imveliso = []
ngaphandle_okungenanto = [0 ye _ kuluhlu(len(ielebhile))]
ye x, idoc kuluhlu(docs_x):
ibhegi = []
wrds = [i-stemmer.stem(w.lower()) ye-w kwidoc]
kuba w ngamagama:
ukuba w ngamagama:
ibhegi.dibanisa(1)
enye:
ibhegi.dibanisa(0)
output_row = ngaphandle_engenanto[:]
output_row[labels.index(docs_y[x])] = 1
uqeqesho.append(ibhegi)
imveliso.dibanisa(output_row)
uqeqesho = numpy.array(uqeqesho)
imveliso = numpy.array(imveliso)
nge open(“data.pickle”, “wb”) njengef:
pickle.dump((amagama, iilebhile, uqeqesho, imveliso), f)
tensorflow.reset_default_graph()
umnatha = tflearn.input_data(shape=[Akukho, len(uqeqesho[0])])
umnatha = tflearn.fully_connected(umnatha, 8)
umnatha = tflearn.fully_connected(umnatha, 8)
umnatha = tflearn.fully_connected(umnatha, len(imveliso[0]), isebenze=”softmax”)
umnatha = tflearn.regression(umnatha)
imodeli = tflearn.DNN(umnatha)
zama:
imodeli.load("model.tflearn")
ngaphandle:
imodeli.fit(uqeqesho, imveliso, n_epoch=1500, batch_size=8, show_metric=Yinyani)
imodeli.gcina(“model.tflearn”)
def ibhegi_yamagama(amagama, amagama):
ibhegi = [0 ye _ kuluhlu (len(amagama))]
amagama_amagama = nltk.word_tokenize(s)
amagama_amagama = [i-stemmer.stem(igama.lower()) yegama kumagama_amagama]
ngokuba se in_amagama:
kuba mna, w ekubaleni(amagama):
ukuba w == se:
ibhegi[i] = 1
buyisela numpy.array(ibhegi)
def chat():
print("Qala ukuthetha nge-bot (chwetheza yeka ukuyeka)!")
ngelixa liyinyani:
inp = igalelo("Wena:")
ukuba inp.lower() == "yeka":
aphule
iziphumo = imodeli.predict([bag_of_words(inp, amagama)])
results_index = numpy.argmax(iziphumo)
ithegi = iileyibhile[results_index]
ye-tg kwidatha[“iinjongo”]:
ukuba i-tg['ithegi'] == ithegi:
iimpendulo = tg['iimpendulo']
shicilela(ngokungakhethiyo.ukhetho(iimpendulo))
ncokola()
////////////////////////////////////////// //////////////
Enkosi,
Ikhowudi yolonwabo!
Lu
Mholo,
Ngaba ungandinika umbono wenkqubo ekufuneka yenziwe kwimeko yokufuna ukwenza i-chatbot kwipython, kodwa ulwazi lufunyenwe kuvavanyo lokugqwesa. Enkosi!