Fizahan-takelaka[Afeno][Aseho]
Esorina tsikelikely ny antso an-telefaona ho an'ny lahatsoratra sy sary eo amin'ny sehatry ny fifandraisana. Araka ny fitsapan-kevitra Facebook, maherin'ny antsasa-manilan'ny mpividy dia aleony mividy amin'ny orinasa iray azony iresahana. Lasa fomba vaovao azo ekena amin'ny fiaraha-monina ny chat.
Izany dia ahafahan'ny orinasa mifandray amin'ny mpanjifany amin'ny fotoana rehetra sy amin'ny toerana rehetra. Ny chatbots dia miha-malaza eo amin'ny orinasa sy ny mpanjifa noho ny fahamoran'ny fampiasana azy sy ny fihenan'ny fotoana fiandrasana.
Ny Chatbots, na fandaharana fifampiresahana mandeha ho azy, dia manome fomba mahazatra kokoa ho an'ny mpanjifa hidirana amin'ny serivisy amin'ny alàlan'ny interface mifototra amin'ny lahatsoratra. Ny chatbots mampiasa AI vaovao dia afaka mamantatra fanontaniana (fanontaniana, baiko, baiko, sns.) ataon'ny olona iray (na bot hafa, fanombohana) amin'ny tontolo iray manokana ary mamaly araka ny tokony ho izy (valiny, hetsika, sns.).
Amin'ity lahatsoratra ity, hiresaka momba ny atao hoe chatbots, ny tombony azony, ny tranga fampiasa ary ny fomba hanaovana ny anao manokana fianarana lalina chatbot amin'ny Python, ankoatra ny zavatra hafa.
Andao isika hanomboka.
Noho izany, inona ny chatbots?
Ny chatbot dia antsoina matetika ho iray amin'ireo endrika mandroso sy mampanantena indrindra amin'ny fifandraisan'ny olombelona amin'ny milina. Ireo mpanampy nomerika ireo dia manatsara ny traikefan'ny mpanjifa amin'ny alàlan'ny fanamafisana ny fifandraisana eo amin'ny olona sy ny serivisy.
Amin'izay fotoana izay dia manome safidy vaovao ho an'ny orinasa izy ireo mba hanatsarana ny fizotran'ny fifandraisana amin'ny mpanjifa mba hahombiazana, izay mety hampihena ny fandaniana fanohanana mahazatra.
Raha fintinina dia rindrambaiko mifototra amin'ny AI izay natao hifandraisana amin'ny olombelona amin'ny fiteniny voajanahary. Ireo chatbots ireo dia matetika mifandray amin'ny alàlan'ny teknika audio na an-tsoratra, ary afaka maka tahaka ny fitenin'olombelona mora foana izy ireo mba hifandraisana amin'ny olombelona amin'ny fomba mitovy amin'ny olombelona.
Mianatra avy amin'ny fifandraisany amin'ireo mpampiasa ny chatbots, ka lasa tena zava-misy sy mahomby kokoa rehefa mandeha ny fotoana. Afaka mitantana hetsika fandraharahana isan-karazany izy ireo, toy ny fanomezana alalana ny fandaniana, ny fiarahana amin'ny mpanjifa amin'ny Internet, ary ny famoronana fitarihana.
Mamorona chatbot fianarana lalina miaraka amin'ny python
Misy karazana chatbots miavaka maro eo amin'ny sehatry ny fianarana milina ary AI. Ny sasany amin'ireo chatbots dia mpanampy virtoaly, ny sasany kosa dia eo am-piresahana fotsiny, fa ny hafa kosa dia mpiasan'ny serivisy mpanjifa.
Mety efa nahita ny sasany amin'ireo mpiasan'ny orinasa hamaly fanontaniana ianao. Hanao chatbot kely izahay ato amin'ity lesona ity hamaliana ny fanontaniana nangatahana matetika.
1. Fametrahana fonosana
Ny dingana voalohany ataontsika dia ny fametrahana ireto fonosana manaraka ireto.
2. Data fanofanana
Fotoana izao hamantarana ny karazana fampahalalana ilaintsika omena ny chatbot. Tsy mila misintona angona lehibe izahay satria chatbot tsotra ity.
Ny fampahalalana noforoninay ihany no hampiasainay. Raha te hanaraka tsara ny lesona ianao dia mila mamorona rakitra .JSON mitovy endrika amin'ilay hita etsy ambany. "Intents.json" ny rakitrako.
Ny rakitra JSON dia ampiasaina hamoronana andiana hafatra izay mety hampidirin'ny mpampiasa sy sarintany amin'ny andiana valiny mifandraika. Ny rakibolana tsirairay ao amin'ny rakitra dia manana marika izay mamaritra ny vondrona misy ny hafatra tsirairay.
Hampiasa ity fampahalalana ity izahay hanofanana a ny tambazotran'ny fahasalamana hanasokajiana andian-teny ho iray amin'ireo marika ao amin'ny rakitray.
Afaka maka valiny avy amin'ireo vondrona ireo isika ary manome izany ho an'ny mpampiasa. Ny chatbot dia ho tsara kokoa sy sarotra kokoa raha manolotra azy miaraka amin'ny marika, valiny ary lamina fanampiny ianao.
3. Fandefasana data JSON
Hanomboka amin'ny fametahana ny angona .json izahay ary manafatra maody sasany. Angony ny rakitrao.json ao amin'ny lahatahiry mitovy amin'ny anao script Python. Ny angona .json anay dia ho voatahiry ao amin'ny fari-piadidiana angona.
4. Fitrandrahana angona
Fotoana izao hanesorana ny fampahalalana ilaintsika amin'ny rakitra JSON. Ny lamina rehetra, ary koa ny kilasy/tag misy azy, dia takiana.
Mila lisitr'ireo teny tsy manam-paharoa rehetra ao amin'ny laminantsika ihany koa isika (noho ny antony hazavainay any aoriana), ka andao hamorona lisitra tsy misy dikany mba hanarahana ireo soatoavina ireo.
Amin'izao fotoana izao dia hivezivezy amin'ny angona JSON izahay ary haka ny fampahalalana ilaintsika. Raha tokony ho tady izy ireo, dia hampiasa ny tokenizer nltk.word izahay hanovana ny lamina tsirairay ho lisitry ny teny.
Avy eo, ao amin'ny lisitry ny docs_x, dia ampianay ny lamina tsirairay, miaraka amin'ny marika mifandraika aminy, amin'ny lisitry ny docs_y.
5. Teny Stemming
Ny fitadiavana ny fototry ny teny dia fantatra amin'ny anarana hoe stemming. Ohatra, ny fototry ny teny hoe "izany" dia mety ho "izay", fa ny fototry ny teny hoe "mitranga" dia mety ho "mitranga".
Ampiasainay ity teknikam-pamokarana ity mba hanesorana ny voambolana modely ary hiezaka hamantatra ny dikan'ny fehezanteny amin'ny ankapobeny. Ity kaody ity dia hamorona lisitra tsy manam-paharoa amin'ny teny voafantina izay hampiasaina amin'ny dingana manaraka amin'ny fanomanana ny angona.
6. Kitapo misy teny
Fotoana izao hiresahana momba ny kitapo misy teny izao rehefa nanafatra ny angonay izahay ary namorona voambolana voambolana. Tambajotra neural ary ny algorithm fianarana milina, araka ny fantatsika rehetra, dia mitaky fampidirana isa. Ka tsy hanapaka izany ny lisitry ny tady. Mila mekanika isika hanehoana isa ao amin'ny fehezan-tenintsika, izay idiran'ny kitapo misy teny.
Ny andian-teny tsirairay dia aseho amin'ny lisitry ny halavan'ny isan'ny voambolana ao amin'ny voambolana modely. Ny teny tsirairay ao amin'ny voambolantsika dia aseho amin'ny toerana iray ao amin'ny lisitra. Raha 1 ny toerana ao amin'ny lisitra dia hita ao amin'ny fanambaranay ny teny; raha 0 izy dia tsy hita ao amin'ny fehezan-teny ataontsika ilay teny.
Antsoinay hoe kitapo misy teny izany satria tsy fantatsika ny filaharan'ireo teny ao anatin'ilay andian-teny; Ny hany fantatsika dia misy izy ireo ao amin'ny voambolana modely misy antsika.
Ho fanampin'ny fandrafetana ny fampidiran-tsika, dia tsy maintsy amboarina ihany koa ny fivoahana mba hahafantaran'ny tambajotra neural izany. Hanangana lisitr'ireo vokatra izay ny halavan'ny isan'ny marika/marika ao amin'ny angonay izahay, mitovy amin'ny kitapo misy teny. Ny toerana tsirairay ao amin'ny lisitra dia maneho mari-pamantarana tokana, ary ny 1 amin'ny iray amin'ireo toerana ireo dia manondro hoe iza no marika / marika aseho.
Farany, hampiasa array NumPy izahay hitahiry ny angon-drakitra sy ny vokatra.
7. Fampandrosoana modely
Vonona ny hanomboka hanorina sy hanofana modely izahay izao fa efa voahodinay mialoha ny angonay rehetra. Hampiasa tambajotra neural famatsiana tena fototra misy sosona miafina roa ho an'ny tanjonay izahay.
Ny tanjon'ny tambajotra dia ny hijery fitambarana teny ary hanendry azy ireo amin'ny kilasy iray (iray amin'ireo marika avy amin'ny rakitra JSON). Hanomboka amin'ny fametrahana ny maritrano modely isika. Ataovy ao an-tsaina fa afaka milalao amin'ny isa sasany ianao mba hamoronana modely tsara kokoa! Mianatra ny milina mifototra amin'ny fitsapana sy ny fahadisoana ny ankamaroany.
8. Fampiofanana Modely & Saving
Fotoana hampiofanana ny maodely amin'ny angonay izao rehefa natsanganay! Hanatanteraka izany isika amin'ny fampifanarahana ny angonay amin'ny modely. Ny isan'ny vanim-potoana omenay dia ny isan'ny fotoana hisehoan'ny modely amin'ny data mitovy mandritra ny fiofanana.
Afaka mitahiry ny maodely amin'ny maodelin'ny rakitra isika rehefa vita ny fampiofanana azy. tflearn dia script azo ampiasaina amin'ny script hafa.
9. Mampiasa chatbot
Afaka manomboka miresaka amin'ny bot-nao ianao izao.
Tombontsoa amin'ny Chatbot
- Satria ny bots dia antenaina hiasa 365 andro isan-taona, 24 ora isan'andro, tsy misy karama, hampitombo ny fahafaha-manao sy ny hafainganam-pandehan'ny fanehoan-kevitra.
- Ireo bots ireo dia fitaovana tonga lafatra amin'ny famahana ireo fanalahidy telo lehibe an'ny angona lehibe: ny volume, ny hafainganam-pandeha ary ny karazany.
- Ny Chatbots dia rindrambaiko azo ampiasaina hianarana sy hahalalana ny mpanjifan'ny orinasa iray.
- Izy io dia manana hery ambony izay manana vidiny fikojakojana mora rehefa nahazo tombony ambony.
- Ny fampiharana Chatbot dia mamorona angon-drakitra azo tehirizina sy ampiasaina ho an'ny fanadihadiana sy ny vinavina.
Usecase
- Famahana ny fanontanian'ny mpanjifa
- Famaliana fanontaniana apetraka matetika
- Manendry mpanjifa hanohana ekipa
- Manangona tamberin'ny mpanjifa
- Manoro tolotra vaovao
- Miantsena miaraka amin'ny varotra fifampiresahana
- IT Helpdesk
- Famandrihana trano
- Fandefasam-bola
Famaranana
Ny chatbots, toy ny teknolojia AI hafa, dia hampiasaina hampitomboana ny fahaiza-manaon'ny olombelona ary hanafaka ny olombelona ho mamorona sy misaina kokoa amin'ny alàlan'ny famelana azy ireo handany fotoana bebe kokoa amin'ny asa stratejika fa tsy amin'ny tetika.
Ny orinasa, ny mpiasa ary ny mpanjifa dia azo inoana fa hahazo tombony amin'ny fampivoarana chatbot toy ny tolo-kevitra haingana kokoa sy ny vinavina, ary koa ny fidirana mora amin'ny fihaonambe video amin'ny famaritana avo lenta amin'ny resaka iray, tsy ho ela, rehefa ampiarahina amin'ny fampandrosoana ny AI. teknolojia 5G.
Mbola eo am-panadihadiana ireo zavatra ireo sy ny hafa, fa rehefa mandroso ny fifandraisana amin'ny Internet, AI, NLP, ary ny fianarana milina, dia hihamatanjaka kokoa izy ireo.
Chwoo
Salama,
Misaotra anao amin'ity programa ity.
Manana fanontaniana aho.
Tsy voafaritra ny “bag_of_words”. Tsy azoko io fahadisoana io.
Afaka milaza amiko ve ianao hoe ahoana no famahana an'io fahadisoana io??
Misaotra anao amin'ity programa ity!! Mirary tontolo andro mahafinaritra
Jay
Manampia asa iray alohan'ny hampiasana ny fizarana chatbot:
//////////////////////////////////////////// //////////////////////////
def bag_of_words(s, words):
kitapo = [0 ho an'ny _ amin'ny faritra (len(teny))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) ho an'ny teny ao amin'ny s_words]
fa amin'ny s_words:
for i, w in enumerate (teny):
raha w == se:
kitapo [i] = 1
avereno numpy.array(bag)
// Tena hamaha ny olanao izany. //
//////////////////////////////////////////// ////////////////////////
Zaraiko aminao ny kaody feno, mba hahazoanao sary mazava momba izany.
//////////////////////////////////////////// /////////
manafatra nltk
avy amin'ny nltk.stem.lancaster import LancasterStemmer
stemmer = LancasterStemmer()
import numpy
import tflearn
import tensorflow
manafatra indroa
import json
manafatra pickle
miaraka amin'ny open("intents.json") ho rakitra:
data = json.load(rakitra)
manandrana:
miaraka amin'ny open("data.pickle", "rb") ho f:
teny, etikety, fiofanana, vokatra = pickle.load(f)
afa-tsy:
teny = []
etikety = []
docs_x = []
docs_y = []
ho an'ny fikasana amin'ny angona [“intents”]:
ho an'ny lamina amin'ny fikasana["lamina"]:
wrd = nltk.word_tokenize(lamina)
words.extend(wrds)
docs_x.append(wrds)
docs_y.append(intent [“tag”])
raha tsy ao anaty etikety ny fikasana["tag"]:
labels.append(intent ["tag")
teny = [stemmer.stem(w.lower()) ho an'ny w amin'ny teny raha w != “?”]
teny = voalahatra(lisitra(nametraka(teny)))
etikety = voafantina (labels)
fiofanana = []
vokatra = []
out_empty = [0 for _ in range(len(labels))]
ho an'ny x, doc in enumerate(docs_x):
kitapo = []
wrd = [stemmer.stem(w.lower()) ho an'ny w in doc]
ho an'ny w amin'ny teny:
raha w amin'ny wrd:
bag.append(1)
hafa:
bag.append(0)
Output_row = out_empty [:]
Output_row[labels.index(docs_y[x])] = 1
training.append(bag)
output.append(output_row)
fiofanana = numpy.array(training)
Output = numpy.array(output)
miaraka amin'ny open("data.pickle", "wb") ho f:
pickle.dump((teny, etikety, fiofanana, vokatra), f)
tensorflow.reset_default_graph()
net = tflearn.input_data(endrika=[Tsy misy, len(fiofanana[0])])
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, len(output[0]), activation=”softmax”)
net = tflearn.regression(net)
modely = tflearn.DNN(net)
manandrana:
model.load("model.tflearn")
afa-tsy:
model.fit(fiofanana, vokatra, n_epoch=1500, batch_size=8, show_metric=Marina)
model.save("model.tflearn")
def bag_of_words(s, words):
kitapo = [0 ho an'ny _ amin'ny faritra (len(teny))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) ho an'ny teny ao amin'ny s_words]
fa amin'ny s_words:
for i, w in enumerate (teny):
raha w == se:
kitapo [i] = 1
avereno numpy.array(bag)
def chat ():
print("Manomboka miresaka amin'ny bot (karazana miala mba hijanona)!")
raha Marina:
inp = input(“Ianao: “)
raha inp.lower() == "miala":
break
valiny = model.predict([bag_of_words(inp, words)])
Results_index = numpy.argmax(valiny)
tenifototra = labels[results_index]
ho an'ny tg amin'ny angona [“intents”]:
raha tg['tag'] == tag:
valiny = tg['valiny']
print(random.choice(valiny))
chat()
//////////////////////////////////////////// //////////////
Misaotra anao,
Faly coding!
Lu
Salama,
Azonao atao ve ny manome ahy hevitra momba ny dingana tokony hatao raha te hamorona chatbot amin'ny python, fa ny fampahalalana dia azo avy amin'ny fanadihadiana amin'ny excel. Misaotra anao!