Werrej[Aħbi][Uri]
Is-sejħiet tal-vuċi qed jitneħħew gradwalment favur it-test u l-viżivi fis-settur tal-komunikazzjoni. Skont stħarriġ ta’ Facebook, aktar minn nofs ix-xerrejja jippreferu jixtru minn kumpanija li jistgħu jitkellmu magħha. Iċ-chat sar il-mod ġdid ta' komunikazzjoni soċjalment aċċettabbli.
Jippermetti lin-negozji jikkomunikaw mal-klijenti tagħhom fi kwalunkwe ħin u minn kwalunkwe post. Iċ-chatbots qed jiksbu dejjem aktar popolarità fost il-kumpaniji u l-klijenti minħabba l-faċilità ta’ użu tagħhom u l-ħinijiet ta’ stennija mnaqqsa.
Chatbots, jew programmi awtomatizzati ta' konversazzjoni, jipprovdu lill-klijenti b'metodu aktar personalizzat biex jaċċessaw is-servizzi permezz ta' interface ibbażat fuq test. L-aktar chatbots li jaħdmu bl-AI jistgħu jirrikonoxxu mistoqsija (mistoqsija, kmand, ordni, eċċ.) magħmula minn persuna (jew bot ieħor, bidu) f'ambjent speċifiku u jirrispondu b'mod xieraq (tweġiba, azzjoni, eċċ.).
F'din il-kariga, ser ngħaddu fuq x'inhuma l-chatbots, il-benefiċċji tagħhom, il-każijiet ta' użu, u kif tagħmel tiegħek tagħlim fil-fond chatbot f'Python, fost affarijiet oħra.
Nibdew.
Allura, x'inhuma chatbots?
Chatbot spiss jissejjaħ bħala waħda mill-aktar forom avvanzati u promettenti ta’ interazzjoni bejn il-bniedem u l-magna. Dawn l-assistenti diġitali jtejbu l-esperjenza tal-klijent billi jissimplifikaw l-interazzjonijiet bejn in-nies u s-servizzi.
Fl-istess ħin, jipprovdu lin-negozji b'għażliet ġodda biex jottimizzaw il-proċess ta 'kuntatt mal-klijent għall-effiċjenza, li jista' jnaqqas l-ispejjeż ta 'appoġġ konvenzjonali.
Fil-qosor, huwa softwer ibbażat fuq l-AI li huwa maħsub biex jikkomunika mal-bnedmin fil-lingwi naturali tagħhom. Dawn il-chatbots spiss jinteraġixxu permezz ta’ tekniki tal-awdjo jew bil-miktub, u jistgħu faċilment jimitaw il-lingwi umani sabiex jgħaqqdu mal-bnedmin b’mod simili għall-bniedem.
Iċ-chatbots jitgħallmu mill-interazzjonijiet tagħhom mal-utenti, u maż-żmien isiru aktar realistiċi u effiċjenti. Jistgħu jimmaniġġjaw firxa wiesgħa ta 'attivitajiet tan-negozju, bħall-awtorizzazzjoni tal-infiq, l-involviment mal-konsumaturi onlajn, u l-ġenerazzjoni ta' leads.
Il-ħolqien tal-chatbot tat-tagħlim profond tiegħek stess b'python
Hemm ħafna tipi distinti ta 'chatbots fil-qasam ta' tagħlim magna u AI. Xi chatbots huma assistenti virtwali, filwaqt li oħrajn qegħdin hemm biss biex jitkellmu magħhom, filwaqt li oħrajn huma aġenti tas-servizz tal-konsumatur.
Probabilment rajt xi wħud minn dawk impjegati minn negozji biex iwieġbu l-mistoqsijiet. Aħna ser nagħmlu chatbot żgħir f'dan it-tutorja biex inwieġbu mistoqsijiet li jintalbu ta' spiss.
1. Installazzjoni ta 'pakketti
L-ewwel pass tagħna huwa li ninstallaw il-pakketti li ġejjin.
2. Data tat-Taħriġ
Issa wasal iż-żmien biex insemmu x'tip ta' informazzjoni ser ikollna bżonn nagħtu ċ-chatbot tagħna. M'għandniex bżonn inniżżlu settijiet ta' dejta kbar għax dan huwa chatbot sempliċi.
Aħna ser nutilizzaw biss l-informazzjoni li ħloqna aħna stess. Biex issegwi b'mod effettiv flimkien mal-lezzjoni, ikollok bżonn tiġġenera fajl .JSON bl-istess format bħal dak li jidher hawn taħt. Il-fajl tiegħi jismu "intents.json."
Il-fajl JSON jintuża biex jinħoloq sett ta' messaġġi li l-utent x'aktarx jiddaħħal u jimmappa għal sett ta' tweġibiet rilevanti. Kull dizzjunarju fil-fajl għandu tikketta li tidentifika għal liema grupp jappartjeni kull messaġġ.
Aħna ser nużaw din l-informazzjoni biex inħarrġu a newrali netwerk biex tikkategorizza frażi ta' kliem bħala waħda mit-tikketti fil-fajl tagħna.
Imbagħad nistgħu nieħdu tweġiba minn dawk il-gruppi u nipprovduha lill-utent. Iċ-chatbot ikun aħjar u aktar ikkumplikat jekk toffrih b'tikketti, tweġibiet u mudelli addizzjonali.
3. Tagħbija tad-dejta JSON
Aħna ser nibdew billi tagħbija fid-data .json tagħna u timporta xi moduli. Arma l-fajl tiegħek.json fl-istess direttorju bħal tiegħek Script Python. Id-dejta .json tagħna issa se tiġi ffrankata fil-varjabbli tad-dejta.
4. Estrazzjoni tad-Data
Issa wasal iż-żmien li niġbdu l-informazzjoni li neħtieġu mill-fajl JSON tagħna. Il-mudelli kollha, kif ukoll il-klassi/tag li jappartjenu għaliha, huma meħtieġa.
Ikollna bżonn ukoll lista tat-termini uniċi kollha fil-mudelli tagħna (għal raġunijiet li nispjegaw aktar tard), allura ejja noħolqu xi listi vojta biex inżommu rekord ta 'dawn il-valuri.
Issa se ngħaddu d-dejta JSON tagħna u nġibu l-informazzjoni li neħtieġu. Pjuttost milli jkollnahom bħala kordi, aħna ser nużaw nltk.word tokenizer biex tittrasforma kull mudell f'lista ta 'kliem.
Imbagħad, fil-lista docs_x tagħna, aħna ser inżidu kull mudell, flimkien mat-tikketta assoċjata tiegħu, mal-lista docs_y.
5. Kelma Stemming
Is-sejba tal-għerq ta' kelma hija magħrufa bħala stemming. Pereżempju, iz-zokk tal-kelma “thats” jista’ jkun “dak,” filwaqt li z-zokk tal-kelma “happening” jistaʼ jkun “happening.”
Aħna ser nużaw din it-teknika ta 'stumming biex innaqqsu l-vokabularju tal-mudell tagħna u nippruvaw insemmu x'jimplikaw is-sentenzi b'mod ġenerali. Dan il-kodiċi se sempliċement jiġġenera lista unika ta’ kliem mifrux li se jintużaw fil-fażi li jmiss tal-preparazzjoni tad-dejta tagħna.
6. Borża tal-Kliem
Wasal iż-żmien li nitkellmu dwar borża ta' kliem issa li importajna d-dejta tagħna u ġġenerajna vokabularju mifrux. Netwerks newrali u l-algoritmi tat-tagħlim tal-magni, kif nafu lkoll, jeħtieġu input numeriku. Allura l-lista ta 'sekwenza tagħna mhix se tnaqqasha. Għandna bżonn mekkaniżmu li jirrappreżenta n-numri fis-sentenzi tagħna, li huwa fejn tidħol borża ta 'kliem.
Kull frażi se tkun rappreżentata minn lista tat-tul tan-numru ta 'termini fil-vokabularju tal-mudell tagħna. Kull kelma fil-vokabularju tagħna tkun rappreżentata minn post fil-lista. Jekk il-pożizzjoni fil-lista hija 1, il-kelma tidher fl-istqarrija tagħna; jekk tkun 0, il-kelma ma tidhirx fis-sentenza tagħna.
Insejħulha borża ta’ kliem għax ma nafux is-sekwenza li fiha l-kliem jidher fil-frażi; kulma nafu hu li jeżistu fil-vokabularju tal-mudell tagħna.
Minbarra l-istrutturar tal-input tagħna, irridu wkoll jifformattjaw l-output tagħna sabiex in-netwerk newrali jifhimha. Aħna ser nibnu listi ta 'output li huma t-tul tan-numru ta' tikketti/tikketti fid-dataset tagħna, simili għal borża ta 'kliem. Kull post fil-lista jirrappreżenta tikketta/tikketta unika, u 1 fi kwalunkwe minn dawk il-postijiet tindika liema tikketta/tikketta qed tiġi rappreżentata.
Fl-aħħarnett, aħna ser nużaw arrays NumPy biex naħżnu d-dejta u l-output tat-taħriġ tagħna.
7. Żvilupp tal-Mudell
Aħna lesti li nibdew nibnu u nitħarrġu mudell issa li pproċessajna minn qabel id-dejta kollha tagħna. Aħna ser nutilizzaw netwerk newrali feed-forward bażiku ħafna b'żewġ saffi moħbija għall-għanijiet tagħna.
L-iskop tan-netwerk tagħna se jkun li tħares lejn ġabra ta 'kliem u tassenjahom lil klassi (waħda mit-tags tagħna mill-fajl JSON). Nibdew billi nistabbilixxu l-arkitettura tal-mudell tagħna. Żomm f'moħħok li tista' tilgħab b'xi wħud min-numri biex toħroġ b'mudell aħjar! Tagħlim bil-magni hija bbażata l-aktar fuq prova u żball.
8. Taħriġ Mudell & Iffrankar
Wasal iż-żmien li nħarrġu l-mudell tagħna fuq id-dejta tagħna issa li waqqafna! Aħna ser niksbu dan billi nwaħħal id-dejta tagħna mal-mudell. In-numru ta 'epoki li nipprovdu huwa n-numru ta' drabi li l-mudell se jkun espost għall-istess data waqt it-taħriġ.
Nistgħu nsalvaw il-mudell għall-mudell tal-fajl ladarba lestejna nħarrġuh. tflearn huwa skript li jista' jintuża fi skripts oħra.
9. L-użu ta' chatbot
Issa tista 'tibda tiċċettja mal-bot tiegħek.
Benefiċċji ta 'Chatbot
- Peress li l-bots huma mistennija li joperaw 365 jum fis-sena, 24 siegħa kuljum, mingħajr ħlas, iżidu d-disponibbiltà u l-veloċità tar-reazzjoni.
- Dawn il-bots huma għodda perfetta biex jiġu indirizzati t-tliet Vs ewlenin tad-data kbira: il-volum, il-veloċità u l-varjetà.
- Iċ-chatbots huma softwer li jista' jintuża biex jitgħallem u jifhem il-konsumaturi ta' kumpanija.
- Għandha qawwa superjuri li għandha spiża ta 'manutenzjoni irħas wara li jkollha l-aqwa benefiċċji.
- L-Applikazzjonijiet Chatbot joħolqu dejta li tista’ tiġi ppreservata u utilizzata għall-analiżi u t-tbassir.
Użu
- Issolvi mistoqsijiet tal-klijenti
- Tweġiba mistoqsijiet frekwenti
- Assenja klijenti għal tim ta 'appoġġ
- Il-ġbir tal-feedback tal-klijenti
- Jirrakkomanda offerti ġodda
- Shop mal-kummerċ conversational
- IT Helpdesk
- Booking akkomodazzjonijiet
- Trasferiment tal-flus
konklużjoni
Chatbots, bħal teknoloġiji AI oħra, se jintużaw biex iżidu l-ħiliet tal-bniedem u jilliberaw lill-bnedmin biex ikunu aktar kreattivi u immaġinattivi billi jippermettulhom iqattgħu aktar ħin fuq kompiti strateġiċi aktar milli tattiċi.
In-negozji, l-impjegati u l-konsumaturi x'aktarx li jibbenefikaw minn karatteristiċi ta' chatbot imtejba bħal rakkomandazzjonijiet u tbassir aktar mgħaġġla, kif ukoll aċċess faċli għal video conferencing b'definizzjoni għolja minn ġewwa konversazzjoni, fil-futur qarib, meta l-AI tiġi kkombinata mal-iżvilupp ta' Teknoloġija 5G.
Dawn u possibbiltajiet oħra għadhom qed jiġu investigati, iżda hekk kif il-konnettività tal-internet, l-AI, l-NLP, u t-tagħlim tal-magni progress, se jsiru aktar prevalenti.
Chwoo
Bongu,
Grazzi għal dan il-programm.
Għandi mistoqsija.
“bag_of_words” mhix definita. Ma nistax nifhem dan l-iżball.
Tista' tgħidli kif nista' nsolvi dan l-iżball??
Grazzi ta' dan il-programm!! Il-ġurnata t-tajba
Jay
Jekk jogħġbok żid funzjoni qabel tuża t-taqsima tal-chatbot:
///////////////////////////////////////////////////////////////////// ////////////////////////////////////////////
def bag_of_words(i, kliem):
borża = [0 għal _ fil-medda(len(kliem))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) għal kelma f's_words]
għal se fi s_words:
għal i, w in enumerate(kliem):
jekk w == se:
borża[i] = 1
ritorn numpy.array(borża)
// Żgur se ssolvi l-kwistjoni tiegħek. //
///////////////////////////////////////////////////////////////////// // ////////////////////////////////////////
Qed naqsam il-kodiċi sħiħ miegħek, sabiex ikollok stampa ċara tiegħu.
///////////////////////////////////////////////////////////////////// /////////
importazzjoni nltk
minn nltk.stem.lancaster importazzjoni LancasterStemmer
stemmer = LancasterStemmer ()
importazzjoni numpy
importazzjoni tflearn
importazzjoni tensorflow
importazzjoni bl-addoċċ
importazzjoni json
importazzjoni pickle
bil-miftuħ ("intents.json") bħala fajl:
data = json.load (fajl)
Ipprova:
b'miftuħ ("data.pickle", "rb") bħala f:
kliem, tikketti, taħriġ, output = pickle.load(f)
ħlief:
kliem = []
tikketti = []
docs_x = []
docs_y = []
għall-intenzjoni fid-dejta[“intenzjonijiet”]:
għall-mudell fl-intenzjoni[“mudelli”]:
wrds = nltk.word_tokenize(mudell)
kliem.estendi(wrds)
docs_x.append(wrds)
docs_y.append(intent[“tikketta”])
jekk l-intenzjoni[“tikketta”] mhux fit-tikketti:
labels.append(intent[“tag”])
kliem = [stemmer.stem(w.lower()) għal w fi kliem jekk w != “?”]
kliem = magħżula (lista (sett (kliem)))
tikketti = magħżula (tikketti)
taħriġ = []
output = []
out_empty = [0 għal _ fil-medda (len (tikketti))]
għal x, doc in enumerate(docs_x):
borża = []
wrds = [stemmer.stem(w.lower()) għal w fid-dok]
għal w bil-kliem:
jekk w f'wrds:
borża.append(1)
inkella:
borża.append(0)
output_row = barra_vojta[:]
output_row[labels.index(docs_y[x])] = 1
training.append(bag)
output.append(output_row)
taħriġ = numpy.array(taħriġ)
output = numpy.array (output)
b'miftuħ ("data.pickle", "wb") bħala f:
pickle.dump((kliem, tikketti, taħriġ, output), f)
tensorflow.reset_default_graph ()
nett = tflearn.input_data(forma=[Xejn, len(taħriġ[0])])
nett = tflearn.fully_connected(net, 8)
nett = tflearn.fully_connected(net, 8)
nett = tflearn.fully_connected(net, len(output[0]), attivazzjoni=”softmax”)
nett = tflearn.regression(net)
mudell = tflearn.DNN(net)
Ipprova:
model.load ("mudell.tflearn")
ħlief:
model.fit(taħriġ, output, n_epoch=1500, batch_size=8, show_metric=Veru)
model.save ("mudell.tflearn")
def bag_of_words(i, kliem):
borża = [0 għal _ fil-medda(len(kliem))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) għal kelma f's_words]
għal se fi s_words:
għal i, w in enumerate(kliem):
jekk w == se:
borża[i] = 1
ritorn numpy.array(borża)
def chat():
print ("Ibda tkellem mal-bot (ittajpja nieqaf biex tieqaf)!")
filwaqt li Veru:
inp = input ("Int: ")
jekk inp.lower() == “nieqaf”:
break
riżultati = model.predict([bag_of_words(inp, words)])
results_index = numpy.argmax(riżultati)
tag = tikketti[results_index]
għal tg fid-data[“intenzjonijiet”]:
jekk tg['tag'] == tag:
tweġibiet = tg['tweġibiet']
print(random.choice(tweġibiet))
chat ()
///////////////////////////////////////////////////////////////////// ///////////////
Grazzi,
Kodifikazzjoni kuntenti!
Lu
Bongu,
Tista' tagħtini idea tal-proċess li trid inwettaq fil-każ li trid toħloq chatbot f'python, iżda l-informazzjoni tinkiseb minn stħarriġ fl-excel. Grazzi!