Table of Contents[Kache][Montre]
Apèl vwa yo ap elimine gradyèlman an favè tèks ak vizyèl nan sektè kominikasyon an. Dapre yon sondaj Facebook, plis pase mwatye nan achtè prefere achte nan men yon konpayi ke yo ka pale ak. Chat te vin nouvo mòd kominikasyon akseptab sosyalman.
Li pèmèt biznis yo kominike ak kliyan yo nenpòt ki lè ak nenpòt kote. Chatbots yo ap vin pi plis popilarite nan mitan konpayi yo ak kliyan akòz fasilite yo sèvi ak yo ak redwi tan datant yo.
Chatbots, oswa pwogram konvèsasyon otomatik yo, bay kliyan yo yon metòd plis Customized pou jwenn aksè nan sèvis atravè yon koòdone ki baze sou tèks. Dernye chatbots AI-powered yo ka rekonèt yon demann (kesyon, lòd, lòd, elatriye) fè pa yon moun (oswa yon lòt bot, kòmansman) nan yon anviwònman espesifik epi reponn kòmsadwa (repons, aksyon, elatriye).
Nan pòs sa a, nou pral ale sou kisa chatbot yo ye, benefis yo, ka itilize yo, ak kijan pou fè pwòp ou yo. pwofondè aprantisaj chatbot nan Python, pami lòt bagay.
Ann kòmanse.
Se konsa, ki sa ki chatbots?
Yon chatbot souvan refere yo kòm youn nan fòm ki pi avanse ak pwomèt nan entèraksyon moun-machin. Asistan dijital sa yo amelyore eksperyans kliyan lè yo rasyonalize entèraksyon ant moun ak sèvis yo.
Ansanm, yo bay biznis yo nouvo opsyon pou optimize pwosesis kontak kliyan an pou efikasite, sa ki ka koupe depans sipò konvansyonèl yo.
Nan yon bref, li se lojisyèl ki baze sou AI ki vle di yo kominike ak moun nan lang natirèl yo. Chatbots sa yo souvan kominike atravè teknik odyo oswa ekri, epi yo ka fasilman imite lang moun yo nan lòd yo konekte ak moun nan yon fason ki sanble ak moun.
Chatbots aprann nan entèraksyon yo ak itilizatè yo, vin pi reyalis ak efikas sou tan. Yo ka okipe yon pakèt aktivite biznis, tankou otorizasyon depans, angaje ak konsomatè yo sou entènèt, ak génération mennen.
Kreye pwòp chatbot aprantisaj pwofon ou a ak python
Gen anpil kalite chatbots diferan nan domèn nan aprantisaj machin ak AI. Gen kèk chatbot yo se asistan vityèl, pandan ke lòt yo jis la pou konvèse ak, pandan ke lòt yo se ajan sèvis kliyan.
Ou te pwobableman wè kèk nan sa yo anplwaye nan biznis yo reponn kesyon. Nou pral fè yon ti chatbot nan leson patikilye sa a pou reponn kesyon yo mande yo souvan.
1. Enstale pakè
Premye etap nou an se enstale pakè sa yo.
2. Done fòmasyon
Kounye a li lè pou nou konnen ki kalite enfòmasyon nou pral bezwen bay chatbot nou an. Nou pa bezwen telechaje okenn seri gwo done paske sa a se yon senp chatbot.
Nou pral itilize sèlman enfòmasyon ke nou te kreye tèt nou. Pou byen swiv ansanm ak leson an, w ap bezwen jenere yon fichye .JSON ak fòma menm jan ak sa ki anba a. Fichye mwen an rele "intents.json."
Fichye JSON la itilize pou kreye yon seri mesaj ke itilizatè a gen anpil chans pou antre epi kat jeyografik nan yon seri repons ki enpòtan. Chak diksyonè nan dosye a gen yon tag ki idantifye nan ki gwoup chak mesaj fè pati.
Nou pral sèvi ak enfòmasyon sa yo pou fòme yon nè rezo kategorize yon fraz nan mo kòm youn nan tags yo nan dosye nou an.
Lè sa a, nou ka jis pran yon repons nan men gwoup sa yo epi bay itilizatè a li. Chatbot la pral pi bon ak pi konplike si ou ofri li ak tag adisyonèl, repons, ak modèl.
3. JSON done chaje
Nou pral kòmanse pa chaje nan done .json nou yo ak enpòte kèk modil. Rasanble fichye ou.json nan menm anyè ak ou Script Python. Done .json nou yo pral sove kounye a nan varyab done a.
4. Ekstraksyon Done
Koulye a, li lè yo ekstrè enfòmasyon nou bezwen nan dosye JSON nou an. Tout modèl yo, ansanm ak klas/tag kote yo fè pati, yo obligatwa.
Nou pral bezwen tou yon lis tout tèm inik nan modèl nou yo (pou rezon nou pral eksplike pita), kidonk ann kreye kèk lis vid pou kenbe tras de valè sa yo.
Koulye a, nou pral boukle nan done JSON nou yo epi rekipere enfòmasyon nou bezwen yo. Olye ke yo gen yo kòm fisèl, nou pral sèvi ak nltk.word tokenizer transfòme chak modèl nan yon lis mo.
Lè sa a, nan lis docs_x nou an, nou pral ajoute chak modèl, ansanm ak tag ki asosye li yo, nan lis docs_y la.
5. Pawòl Stemming
Jwenn rasin yon mo ke yo rekonèt kòm stemming. Pa egzanp, tij mo "sa" a ta ka "sa," alòske tij mo "sa a pase" a ta ka "rive".
Nou pral sèvi ak teknik stemming sa a pou koupe vokabilè modèl nou an epi eseye chèche konnen ki fraz yo vle di an jeneral. Kòd sa a pral tou senpleman jenere yon lis inik mo tij ki pral itilize nan pwochen faz nan preparasyon done nou an.
6. Sak mo
Li lè pou nou pale sou yon sak mo kounye a ke nou te enpòte done nou yo ak jenere yon vokabilè tij. Rezo neral ak algoritm aprantisaj machin, jan nou tout konnen, mande pou antre nimerik. Se konsa, lis fisèl nou an pa pral koupe li. Nou bezwen yon mekanis pou reprezante nimewo nan fraz nou yo, ki se kote yon sak mo antre.
Chak fraz pral reprezante pa yon lis longè kantite tèm nan vokabilè modèl nou an. Chak mo nan vokabilè nou an pral reprezante pa yon plas nan lis la. Si pozisyon nan lis la se yon 1, mo a parèt nan deklarasyon nou an; si se yon 0, mo a pa parèt nan fraz nou an.
Nou rele li yon sak mo paske nou pa konnen ki sekans mo yo parèt nan fraz la; tout sa nou konnen se ke yo egziste nan vokabilè modèl nou an.
Anplis estriktire opinyon nou an, nou dwe fòma pwodiksyon nou an pou rezo neral la konprann li. Nou pral bati lis pwodiksyon ki se longè kantite etikèt / tags nan dataset nou an, menm jan ak yon sak mo. Chak kote nan lis la reprezante yon etikèt/etikèt inik, epi yon 1 nan nenpòt nan kote sa yo endike ki etikèt/etikèt ki reprezante.
Finalman, nou pral itilize etalaj NumPy pou estoke done fòmasyon nou yo ak pwodiksyon an.
7. Devlopman modèl
Nou pare pou kòmanse konstwi ak fòmasyon yon modèl kounye a ke nou te pretrete tout done nou yo. Nou pral itilize yon rezo neral trè debaz ak de kouch kache pou objektif nou yo.
Objektif rezo nou an pral gade nan yon koleksyon mo epi bay yo nan yon klas (youn nan tags nou yo ki soti nan dosye JSON). Nou pral kòmanse pa etabli achitekti modèl nou an. Kenbe nan tèt ou ke ou ka jwe ak kèk nan nimewo yo vini ak yon modèl pi bon! Aprantisaj machin se sitou ki baze sou esè ak erè.
8. Modèl Fòmasyon & Ekonomize
Li lè pou fòme modèl nou an sou done nou yo kounye a ke nou te mete kanpe li! Nou pral reyalize sa a lè nou adapte done nou yo ak modèl la. Kantite epòk nou bay se kantite fwa modèl la pral ekspoze a menm done yo pandan fòmasyon.
Nou ka sove modèl la nan modèl dosye a yon fwa nou te fini fòmasyon li. tflearn se yon script ki ka itilize nan lòt scripts.
9. Sèvi ak yon chatbot
Koulye a, ou ka kòmanse diskite ak bot ou a.
Benefis Chatbot
- Kòm bots yo espere opere 365 jou pa ane, 24 èdtan pa jou, san peye, ogmante disponiblite ak vitès reyaksyon.
- Bot sa yo se zouti pafè pou abòde twa kle done gwo: volim, vitès, ak varyete.
- Chatbots se lojisyèl ki ka itilize pou aprann ak konprann konsomatè yon konpayi.
- Li gen pouvwa siperyè ke li gen yon pri antretyen bon mache apre li te gen pi gwo benefis.
- Aplikasyon Chatbot kreye done ki ka konsève epi itilize pou analiz ak prévisions.
Itilizasyon
- Rezoud demann kliyan yo
- Reponn kesyon yo poze souvan
- Bay kliyan nan ekip sipò
- Kolekte fidbak kliyan yo
- Rekòmande nouvo òf
- Achte ak komès konvèsasyon
- IT Èddesk
- Anrjistreman akomodasyon
- Transfe lajan
konklizyon
Chatbots, tankou lòt teknoloji AI, yo pral itilize pou ogmante konpetans imen ak libere moun yo vin pi kreyatif ak imajinè lè yo pèmèt yo pase plis tan nan travay estratejik olye ke travay taktik.
Biznis, anplwaye, ak konsomatè yo gen chans pou yo benefisye de karakteristik chatbot amelyore tankou rekòmandasyon ak prediksyon pi rapid, osi byen ke aksè fasil nan konferans videyo wo-definisyon nan yon konvèsasyon, nan fiti prè, lè AI konbine avèk devlopman nan. 5G teknoloji.
Sa yo ak lòt posiblite yo toujou ap envestige, men kòm koneksyon entènèt, AI, NLP, ak aprantisaj machin pwogrè, yo pral vin pi komen.
Chwoo
Hello,
Mèsi pou pwogram sa a.
Mwen gen yon kesyon.
"bag_of_words" pa defini. Mwen pa ka konprann erè sa a.
Èske ou ta ka di m 'ki jan mwen ka rezoud erè sa a?
Mèsi pou pwogram sa!! Pase yon bon joune
Jay
Tanpri ajoute yon fonksyon anvan w itilize seksyon chatbot la:
//////////////////////////////////////////////////////////////////// ///////////////////////////////////////////
def bag_of_words (yo, mo):
sak = [0 pou _ nan ranje(len(mo))]
s_words = nltk.word_tokenize (yo)
s_words = [stemmer.stem(word.lower()) pou mo nan s_words]
pou se nan s_words:
pou mwen, w nan enumere (mo):
si w == se:
sak [mwen] = 1
retounen numpy.array (sak)
// Li pral definitivman rezoud pwoblèm ou an. //
//////////////////////////////////////////////////////////////////// // ///////////////////////////////////////
Mwen pataje kòd konplè a avèk ou, konsa w ap jwenn yon foto klè sou li.
//////////////////////////////////////////////////////////////////// /////////
enpòte nltk
soti nan nltk.stem.lancaster enpòte LancasterStemmer
Stemmer = LancasterStemmer ()
enpòte numpy
enpòte tflearn
enpòte tensorflow
enpòte o aza
enpòte json
enpòte marinated
ak louvri ("intents.json") kòm dosye:
done = json.load (fichye)
eseye:
ak louvri ("data.pickle", "rb") kòm f:
mo, etikèt, fòmasyon, pwodiksyon = pickle.load(f)
eksepte:
mo = []
etikèt = []
docs_x = []
docs_y = []
pou entansyon nan done ["entansyon"]:
pou modèl nan entansyon [“modèl”]:
wrds = nltk.word_tokenize (modèl)
word.extend(wrds)
docs_x.append(wrds)
docs_y.append(entansyon[“tag”])
si entansyon ["tag"] pa nan etikèt:
labels.append(entansyon[“tag”])
mo = [stemmer.stem(w.lower()) pou w nan mo si w != "?"]
mo = klase (lis (ansanm (mo)))
labels = klase (etikèt)
fòmasyon = []
pwodiksyon = []
out_empty = [0 pou _ nan ranje (len (etikèt))]
pou x, doc nan enumerate(docs_x):
sak = []
wrds = [stemmer.stem(w.lower()) pou w nan doc]
pou w nan mo:
si w nan mo:
sak.apand(1)
lòt bagay:
sak.apand(0)
output_row = soti_vid[:]
ranje_sorti [labels.index(docs_y[x])] = 1
training.append (sak)
output.append (sort_ranje)
fòmasyon = numpy.array (fòmasyon)
pwodiksyon = numpy.array (pwodiksyon)
ak louvri ("data.pickle", "wb") kòm f:
pickle.dump((mo, etikèt, fòmasyon, pwodiksyon), f)
tensorflow.reset_default_graph ()
net = tflearn.input_data (fòm = [Okenn, len (fòmasyon [0])])
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, len(sòti [0]), aktivasyon =”softmax”)
net = tflearn.regression(net)
modèl = tflearn.DNN(net)
eseye:
model.load ("model.tflearn")
eksepte:
model.fit (fòmasyon, pwodiksyon, n_epoch = 1500, pakèt_size = 8, show_metric = Vrè)
model.save ("model.tflearn")
def bag_of_words (yo, mo):
sak = [0 pou _ nan ranje(len(mo))]
s_words = nltk.word_tokenize (yo)
s_words = [stemmer.stem(word.lower()) pou mo nan s_words]
pou se nan s_words:
pou mwen, w nan enumere (mo):
si w == se:
sak [mwen] = 1
retounen numpy.array (sak)
def chat():
print ("Kòmanse pale ak bot la (tape kite kite pou sispann)!")
pandan Vrè:
inp = input ("Ou: ")
si inp.lower() == "kite":
kraze
rezilta = model.predict([bag_of_words(inp, word)])
results_index = numpy.argmax (rezilta)
tag = etikèt [results_index]
pou tg nan done ["entansyon"]:
if tg['tag'] == tag:
repons = tg['repons']
enprime(random.choice(repons))
chat()
//////////////////////////////////////////////////////////////////// ///////////////
Mèsi poutèt ou,
Ala bon sa bon kodaj!
Lu
Hello,
Èske ou ta ka ban m 'yon lide sou pwosesis la pote soti nan ka a nan vle kreye yon chatbot nan python, men yo jwenn enfòmasyon an nan yon sondaj nan Excel. Mèsi!