Clár na nÁbhar[Folaigh][Taispeáin]
Tá deireadh á chur de réir a chéile le glaonna gutha ar mhaithe le téacs agus fístéipeanna san earnáil chumarsáide. De réir pobalbhreith Facebook, is fearr le níos mó ná leath de na ceannaitheoirí ceannach ó chuideachta ar féidir leo labhairt léi. Is modh cumarsáide nua atá inghlactha go sóisialta anois an comhrá.
Cuireann sé ar chumas gnólachtaí cumarsáid a dhéanamh lena gcliaint ag am ar bith agus ó aon áit. Tá éileamh níos mó ar Chatbots i measc cuideachtaí agus custaiméirí mar gheall ar a éasca le húsáid agus amanna feithimh laghdaithe.
Soláthraíonn Chatbots, nó cláir chomhrá uathoibrithe, modh níos saincheaptha do chliaint chun rochtain a fháil ar sheirbhísí trí chomhéadan téacsbhunaithe. Is féidir leis na chatbots is nua atá á gcumhachtú ag AI fiosrúchán (ceist, ordú, ordú, etc.) a dhéanann duine (nó bot eile, tionscnamh) a aithint i dtimpeallacht ar leith agus freagairt go cuí (freagra, gníomh, etc.).
Sa phost seo, beidh muid ag dul faoi cad iad chatbots, a buntáistí, cásanna úsáide, agus conas a dhéanamh do chuid féin foghlaim domhain chatbot i Python, i measc rudaí eile.
Ar aghaidh linn.
Mar sin, cad iad chatbots?
Is minic a thugtar chatbot ar cheann de na cineálacha idirghníomhaíochta daonna-inneall is airde agus is geallta. Feabhsaíonn na cúntóirí digiteacha seo eispéireas an chustaiméara trí idirghníomhaíochtaí idir daoine agus seirbhísí a shruthlíniú.
Ag an am céanna, cuireann siad roghanna nua ar fáil do ghnólachtaí chun an próiseas teagmhála custaiméara a bharrfheabhsú le haghaidh éifeachtúlachta, rud a fhéadfaidh costais tacaíochta traidisiúnta a laghdú.
Go hachomair, is bogearraí AI-bhunaithe é atá i gceist le cumarsáid a dhéanamh le daoine ina dteangacha nádúrtha. Is minic a idirghníomhaíonn na botaí comhrá seo trí theicnící fuaime nó scríofa, agus is féidir leo aithris a dhéanamh go héasca ar theangacha daonna chun nascadh le daoine ar bhealach atá cosúil leis an duine.
Foghlaimíonn Chatbots óna n-idirghníomhaíochtaí le húsáideoirí, ag éirí níos réadúla agus níos éifeachtaí le himeacht ama. Is féidir leo raon leathan gníomhaíochtaí gnó a láimhseáil, amhail caiteachas a údarú, dul i dteagmháil le tomhaltóirí ar líne, agus treoracha a ghiniúint.
Ag cruthú do chatbot foghlama domhain féin le python
Tá go leor cineálacha éagsúla chatbots i réimse na foghlaim meaisín agus AI. Cúntóirí fíorúla iad roinnt chatbots, agus tá cuid eile ann chun comhrá a dhéanamh leo, agus is gníomhairí seirbhíse custaiméara iad cuid eile.
Is dócha go bhfaca tú cuid de na cinn atá fostaithe ag gnólachtaí chun fiosrúcháin a fhreagairt. Déanfaimid chatbot beag sa rang teagaisc seo chun ceisteanna a iarrtar go minic a fhreagairt.
1. Pacáistí a shuiteáil
Is é an chéad chéim atá againn ná na pacáistí seo a leanas a shuiteáil.
2. Sonraí Oiliúna
Anois tá sé in am a dhéanamh amach cén cineál faisnéise a chaithfidh muid a thabhairt dár chatbot. Ní gá dúinn aon tacar sonraí móra a íoslódáil mar is chatbot simplí é seo.
Ní bhainfimid úsáid as ach an fhaisnéis a chruthaigh muid féin. Chun leanúint leis an gceacht go héifeachtach, beidh ort comhad .JSON a ghiniúint leis an bhformáid chéanna leis an gceann atá le feiceáil thíos. Ainmnítear mo chomhad “intents.json.”
Úsáidtear an comhad JSON chun sraith teachtaireachtaí a chruthú ar dóigh don úsáideoir iad a ionchur agus a mhapáil chuig sraith freagraí ábhartha. Tá clib ar gach foclóir sa chomhad a shainaithníonn cén grúpa lena mbaineann gach teachtaireacht.
Bainfimid úsáid as an eolas seo chun oiliúint a líonra neodrach frása focail a chatagóiriú mar cheann de na clibeanna inár gcomhad.
Ní féidir linn ansin ach freagra a ghlacadh ó na grúpaí sin agus é a sholáthar don úsáideoir. Beidh an chatbot níos fearr agus níos casta má thairgeann tú é le clibeanna, freagraí agus patrúin breise.
3. Luchtú sonraí JSON
Tosóimid trínár sonraí .json a lódáil agus roinnt modúl a allmhairiú. Cuir do chomhad.json le chéile san eolaire céanna le do chomhad Script Python. Déanfar ár sonraí .json a shábháil anois san athróg sonraí.
4. Eastóscadh Sonraí
Anois tá sé in am an fhaisnéis a theastaíonn uainn a bhaint as ár gcomhad JSON. Tá na patrúin ar fad, chomh maith leis an rang/chlib lena mbaineann siad, ag teastáil.
Beidh liosta de na téarmaí uathúla inár bpatrúin ag teastáil uainn freisin (ar chúiseanna a mhíneoimid níos déanaí), mar sin cruthaímid liostaí bána chun súil a choinneáil ar na luachanna seo.
Anois déanfaimid ár gcuid sonraí JSON a lúbadh agus faighfimid an fhaisnéis a theastaíonn uainn. Seachas iad a bheith mar theaghráin, úsáidfimid nltk.word tokenizer chun gach patrún a athrú ina liosta focal.
Ansin, inár liosta docs_x, cuirfimid gach patrún, mar aon lena chlib a bhaineann leis, leis an liosta docs_y.
5. Géarú Focal
Lorgaítear fréamh focal ar a dtugtar gasú. Mar shampla, b’fhéidir gurb é “sin” an gas den fhocal “sin”, ach d’fhéadfadh “tarlú” a bheith mar ghas an fhocail “tarlú”.
Bainfimid úsáid as an teicníocht fuascála seo chun stór focal ár múnla a ghearradh síos agus déanfaimid iarracht a dhéanamh amach cad a chiallaíonn abairtí go ginearálta. Ní dhéanfaidh an cód seo ach liosta uathúil de ghasúir a ghiniúint a úsáidfear sa chéad chéim eile dár n-ullmhú sonraí.
6. Mála Focal
Tá sé in am againn labhairt faoi mhála focal anois go bhfuil ár sonraí iompórtáilte againn agus go bhfuil stór focal gasta ginte againn. Líonraí nadúrtha agus halgartaim meaisínfhoghlama, mar is eol dúinn go léir, a éilíonn ionchur uimhriúil. Mar sin níl ár liosta teaghrán chun é a ghearradh. Teastaíonn meicníocht uainn chun uimhreacha a léiriú inár n-abairtí, agus is é sin an áit a dtagann mála focal isteach.
Léireofar gach frása le liosta d’fhad líon na dtéarmaí i stór focal ár múnla. Léireofar gach focal inár stór focal le háit sa liosta. Más é 1 an suíomh sa liosta, feictear an focal inár ráiteas; más 0 é, níl an focal le feiceáil inár n-abairt.
Tugaimid mála focal air mar níl a fhios againn an t-ord ina bhfuil na focail le feiceáil san abairt; is eol dúinn go léir go bhfuil siad ann i stór focal ár múnla.
Chomh maith lenár n-ionchur a struchtúrú, ní mór dúinn freisin ár n-aschur a fhormáidiú ionas go dtuigeann an líonra néarúil é. Tógfaimid liostaí aschuir arb ionann iad agus fad líon na lipéad/clibeanna inár dtacar sonraí, cosúil le mála focal. Seasann gach áit ar an liosta do lipéad/chlib uathúil, agus léiríonn 1 in aon cheann de na suíomhanna sin an lipéad/chlib atá á léiriú.
Ar deireadh, úsáidfimid eagair NumPy chun ár sonraí oiliúna agus ár n-aschur a stóráil.
7. Forbairt Múnla
Táimid réidh le tosú ar mhúnla a thógáil agus a oiliúint anois go bhfuil ár sonraí go léir réamhphróiseáilte againn. Bainfidh muid úsáid as líonra néaraíoch réamhbheo an-bhunúsach le dhá shraith fholaithe dár gcuspóirí.
Beidh sé mar aidhm ag ár líonra breathnú ar bhailiúchán focal agus iad a shannadh do rang (ceann dár gclibeanna ón gcomhad JSON). Tosóimid trí ailtireacht ár múnla a bhunú. Coinnigh i gcuimhne gur féidir leat imirt le roinnt de na huimhreacha chun teacht suas le múnla níos fearr! foghlaim meaisín bunaithe den chuid is mó ar thriail agus earráid.
8. Oiliúint Múnla & Coigilt
Tá sé in am ár múnla a oiliúint ar ár sonraí anois go bhfuil sé socraithe againn! Bainfimid é seo amach trínár sonraí a chur in oiriúint don mhúnla. Is é líon na dtréimhsí a chuirimid ar fáil ná an líon uaireanta a nochtfar an tsamhail do na sonraí céanna le linn na hoiliúna.
Is féidir linn an tsamhail a shábháil ar mhúnla an chomhaid nuair a bheidh sé críochnaithe againn. Is script é tflearn is féidir a úsáid i scripteanna eile.
9. Ag baint úsáide as chatbot
Anois is féidir leat tosú ag comhrá le do bot.
Buntáistí Chatbot
- Toisc go bhfuiltear ag súil go n-oibreoidh róbónna 365 lá sa bhliain, 24 uair sa lá, gan phá, méadú ar infhaighteacht agus ar luas imoibrithe.
- Is uirlisí foirfe iad na róbónna seo chun dul i ngleic le trí eochair Vs sonraí móra: toirt, treoluas, agus éagsúlacht.
- Is bogearraí iad Chatbots is féidir a úsáid chun foghlaim faoi thomhaltóirí cuideachta agus iad a thuiscint.
- Tá cumhacht níos fearr aige go bhfuil costas cothabhála saor aige tar éis buntáistí barr a bheith aige.
- Cruthaíonn Feidhmchláir Chatbot sonraí a d’fhéadfaí a chaomhnú agus a úsáid le haghaidh anailíse agus réamhaisnéisí.
Cás Úsáide
- Ceisteanna ó chustaiméirí a réiteach
- Ag freagairt ceisteanna coitianta
- Custaiméirí a shannadh don fhoireann tacaíochta
- Aiseolas custaiméirí a bhailiú
- Tairiscintí nua á moladh
- Siopa le tráchtáil chomhrá
- Deasc Chabhrach TF
- Cóiríocht a chur in áirithe
- Aistriú airgid
Conclúid
Úsáidfear Chatbots, cosúil le teicneolaíochtaí AI eile, chun cur le scileanna daonna agus le daoine a shaoradh le bheith níos cruthaithí agus níos samhlaíoch trí ligean dóibh níos mó ama a chaitheamh ar thascanna straitéiseacha seachas ar thascanna oirbheartaíochta.
Is dócha go mbainfidh gnólachtaí, fostaithe, agus tomhaltóirí leas as gnéithe chatbot feabhsaithe cosúil le moltaí agus tuar níos tapúla, chomh maith le rochtain éasca ar fhíschomhdháil ard-sainmhínithe laistigh de chomhrá, go luath amach anseo, nuair a chuirtear AI le chéile le forbairt na Teicneolaíocht 5G.
Tá na féidearthachtaí seo agus féidearthachtaí eile fós á bhfiosrú, ach de réir mar a théann nascacht idirlín, AI, NLP, agus foghlaim mheaisín ar aghaidh, éireoidh siad níos forleithne.
Chwoo
Dia duit,
Go raibh maith agat as an gclár seo.
Tá ceist agam.
ní shainmhínítear “bag_of_words”. Ní féidir liom an earráid seo a thuiscint.
An bhféadfá a insint dom conas is féidir liom an earráid seo a réiteach??
Go raibh maith agat as an gclár seo!! Bíodh lá maith agat
Jay
Cuir feidhm leis sula n-úsáideann tú an rannán chatbot:
////////////////////////////////////////////////////////// ///////////////////////////////
def bag_of_focail(í, focail):
mála = [0 le haghaidh _ sa raon(len(focail))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) le haghaidh focal i s_words]
le haghaidh se i s_words:
le haghaidh i, w in enurate(focail):
má w == se:
mála[i] = 1
ais numpy.array(mála)
// Is cinnte go réiteoidh sé do cheist. //
/////////////////////////////////////////////////////// // //////////////////////////////
Tá an cód iomlán á roinnt agam leat, mar sin gheobhaidh tú pictiúr soiléir de.
/////////////////////////////////////////// ////////
allmhairiú nltk
ó nltk.stem.lancaster allmhairiú LancasterStemmer
gasúr = LancasterStemmer()
allmhairiú numpy
allmhairiú tflearn
tensorflow allmhairiú
allmhairiú randamach
allmhairiú json
pickle allmhairithe
le hoscailte (“intents.json”) mar chomhad:
sonraí = json.load(comhad)
bain triail as:
le oscailte (“data.pickle”, “rb”) mar f:
focail, lipéid, oiliúint, aschur = pickle.load(f)
seachas:
focail = []
lipéid = []
docs_x = []
docs_y = []
le hintinn sna sonraí[“hintinn”]:
le haghaidh patrún in intinn[“patrúin”]:
wrds = nltk.word_tokenize(patrún)
focail.extend(wrds)
docs_x.append(wrds)
docs_y.append(intinn["clib"])
mura bhfuil ar intinn[“clib”] i lipéid:
labels.append(intinn[“clib”])
focail = [stemmer.stem(w.lower()) do w i bhfocail má w != “?”]
focail = sórtáilte(liosta(tacar(focail)))
lipéid = sórtáilte(lipéid)
oiliúint = []
aschur = []
out_empty = [0 le haghaidh _ sa raon(len(lipéid))]
le haghaidh x, doc in enurate(docs_x):
mála = []
wrds = [stemmer.stem(w.lower()) le haghaidh w in doc]
do w i bhfocail:
má tá i wrds:
mála.Aguisín(1)
eile:
mála.Aguisín(0)
aschur_row = as_folamh[:]
output_row[labels.index(docs_y[x])] = 1
oiliúint.Aguisín(mála)
output.append(aschur_row)
traenáil = numpy.array(training)
aschur = numpy.array(aschur)
le oscailte (“data.pickle”, “wb”) mar f:
pickle.dump((focail, lipéid, oiliúint, aschur), f)
tensorflow.reset_default_graph()
net = tflearn.input_data(cruth=[Níl, len(oiliúint[0])])
glan = tflearn.fully_connected(glan, 8)
glan = tflearn.fully_connected(glan, 8)
net = tflearn.fully_connected(glan, len(aschur[0]), gníomhachtú=”softmax”)
glan = tflearn.regression(net)
samhail = tflearn.DNN(net)
bain triail as:
samhail.load(“model.tflearn”)
seachas:
model.fit(oiliúint, aschur, n_epoch=1500, batch_size=8, show_metric=Fíor)
múnla.shábháil("múnla.tflearn")
def bag_of_focail(í, focail):
mála = [0 le haghaidh _ sa raon(len(focail))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) le haghaidh focal i s_words]
le haghaidh se i s_words:
le haghaidh i, w in enurate(focail):
má w == se:
mála[i] = 1
ais numpy.array(mála)
comhrá def():
print("Tosaigh ag caint leis an bot (cineál scor le stopadh)!")
cé go Fíor:
inp = ionchur(“Tusa:”)
má tá inp.lower() == “scor”:
bhriseadh
torthaí = model.predict([bag_of_words(inp, words)])
results_index = numpy.argmax(torthaí)
tag = lipéid[torthaí_index]
le haghaidh tg i sonraí[“hintinn”]:
má tá tg['tag'] == tag:
freagraí = tg['freagraí']
print(random.choice(freagraí))
comhrá()
/////////////////////////////////////////// //////////////
Go raibh maith agat,
Códú sona!
Lu
Dia duit,
An bhféadfá smaoineamh a thabhairt dom ar an bpróiseas atá le déanamh i gcás go dteastaíonn uait chatbot a chruthú i python, ach faightear an t-eolas ó shuirbhé in excel. Go raibh maith agat!