Table of Contents[Hide][Show]
Lub suab hu tau raug txiav tawm kom pom zoo ntawm cov ntawv nyeem thiab pom hauv kev sib txuas lus. Raws li kev tshawb fawb Facebook, ntau dua ib nrab ntawm cov neeg yuav khoom nyiam yuav los ntawm lub tuam txhab uas lawv tuaj yeem tham nrog. Kev sib tham tau dhau los ua hom kev sib raug zoo tshiab ntawm kev sib txuas lus.
Nws ua rau cov lag luam sib txuas lus nrog lawv cov neeg siv khoom txhua lub sijhawm thiab los ntawm txhua qhov chaw. Chatbots tau nce nrov ntawm cov tuam txhab thiab cov neeg siv khoom vim lawv qhov yooj yim ntawm kev siv thiab txo sijhawm tos.
Chatbots, lossis cov kev pabcuam sib tham tsis siv neeg, muab cov neeg siv khoom siv ntau txoj hauv kev los nkag mus rau cov kev pabcuam los ntawm kev sib tham hauv cov ntawv nyeem. Qhov tshiab tshaj plaws AI-powered chatbots tuaj yeem paub cov lus nug (nug lus nug, hais kom ua, xaj, thiab lwm yam) ua los ntawm ib tus neeg (lossis lwm tus bot, inception) hauv ib cheeb tsam tshwj xeeb thiab teb kom tsim nyog (lus teb, ua, thiab lwm yam).
Hauv cov ntawv tshaj tawm no, peb yuav mus dhau qhov chatbots yog dab tsi, lawv cov txiaj ntsig, siv rooj plaub, thiab yuav ua li cas ua koj tus kheej kawm tob chatbot hauv Python, thiab lwm yam.
Cia peb pib.
Yog li, dab tsi yog chatbots?
Lub chatbot feem ntau raug xa mus ua ib qho ntawm cov qib siab tshaj plaws thiab muaj txiaj ntsig zoo ntawm tib neeg-tshuab sib cuam tshuam. Cov kws pabcuam digital no txhim kho cov neeg siv khoom siv los ntawm kev sib cuam tshuam ntawm tib neeg thiab kev pabcuam.
Ib txhij, lawv muab kev lag luam nrog cov kev xaiv tshiab los txhim kho cov txheej txheem kev sib cuag rau cov neeg siv khoom kom tau txais txiaj ntsig zoo, uas tuaj yeem txiav cov nqi txhawb nqa.
Hauv cov ntsiab lus, nws yog AI-raws li software uas txhais tau tias sib txuas lus nrog tib neeg hauv lawv cov lus ntuj. Cov chatbots no feem ntau cuam tshuam los ntawm kev siv suab lossis sau cov tswv yim, thiab lawv tuaj yeem ua raws tib neeg cov lus yooj yim txhawm rau txuas nrog tib neeg li tib neeg.
Chatbots kawm los ntawm lawv cov kev sib cuam tshuam nrog cov neeg siv, dhau los ua qhov tseeb thiab ua haujlwm tau zoo nyob rau lub sijhawm. Lawv tuaj yeem tswj hwm ntau yam kev lag luam, xws li kev tso cai siv nyiaj, koom nrog cov neeg siv khoom online, thiab tsim cov thawj coj.
Tsim koj tus kheej kev kawm tob chatbot nrog python
Muaj ntau yam sib txawv ntawm chatbots hauv thaj teb ntawm tshuab kev kawm thiab AI. Qee tus chatbots yog tus pabcuam virtual, thaum lwm tus tsuas yog nyob ntawd los tham nrog, thaum lwm tus yog cov neeg siv khoom pabcuam.
Tej zaum koj tau pom qee tus neeg ua haujlwm los ntawm cov lag luam los teb cov lus nug. Peb yuav ua ib qho chatbot me me hauv qhov kev qhia no los teb cov lus nug uas nquag thov.
1. Txhim kho pob
Peb thawj kauj ruam yog los nruab cov pob khoom hauv qab no.
2. Cov ntaub ntawv qhia
Tam sim no nws yog lub sijhawm los txiav txim siab seb hom ntaub ntawv twg peb yuav xav tau muab rau peb chatbot. Peb tsis tas yuav rub tawm cov ntaub ntawv loj vim qhov no yog qhov yooj yim chatbot.
Peb tsuas yog siv cov ntaub ntawv uas peb tau tsim peb tus kheej. Txhawm rau ua raws li cov lus qhia zoo, koj yuav tsum tsim cov ntaub ntawv .JSON nrog tib hom ntawv raws li qhov pom hauv qab no. Kuv cov ntaub ntawv muaj npe "intents.json."
Cov ntaub ntawv JSON yog siv los tsim cov kab lus uas tus neeg siv yuav nkag siab thiab qhia rau cov lus teb uas cuam tshuam. Txhua phau ntawv txhais lus nyob rau hauv cov ntaub ntawv muaj ib tug tag uas txheeb xyuas cov pab pawg neeg twg cov lus belongs rau.
Peb yuav siv cov ntaub ntawv no los cob qhia a neural network kom categorize ib kab lus ntawm cov lus raws li ib qho ntawm cov cim npe hauv peb cov ntaub ntawv.
Peb tsuas tuaj yeem teb cov lus teb los ntawm cov pab pawg thiab muab rau cov neeg siv. Lub chatbot yuav zoo dua thiab nyuaj dua yog tias koj muab nws nrog cov cim npe ntxiv, cov lus teb, thiab cov qauv.
3. JSON cov ntaub ntawv thauj khoom
Peb mam li pib los ntawm kev thauj khoom hauv peb cov ntaub ntawv .json thiab import qee cov qauv. Sib sau your.json cov ntaub ntawv nyob rau hauv tib lub npe raws li koj Python tsab ntawv. Peb cov ntaub ntawv .json tam sim no yuav raug cawm hauv cov ntaub ntawv sib txawv.
4. Cov ntaub ntawv rho tawm
Tam sim no nws yog lub sijhawm los rho tawm cov ntaub ntawv peb xav tau los ntawm peb cov ntaub ntawv JSON. Tag nrho cov qauv, nrog rau cov chav kawm/tag rau lawv, yuav tsum tau.
Peb tseem yuav xav tau ib daim ntawv teev tag nrho cov ntsiab lus tshwj xeeb hauv peb cov qauv (yog vim li cas peb yuav piav qhia tom qab), yog li cia peb tsim qee cov npe dawb paug kom taug qab cov txiaj ntsig no.
Tam sim no peb yuav voj los ntawm peb cov ntaub ntawv JSON thiab muab cov ntaub ntawv peb xav tau. Tsis yog muab lawv ua cov hlua, peb yuav siv nltk.word tokenizer los hloov txhua tus qauv rau hauv cov npe ntawm cov lus.
Tom qab ntawd, hauv peb daim ntawv teev npe docs_x, peb yuav ntxiv txhua tus qauv, nrog rau nws cov cim npe, rau cov npe docs_y.
5. Lo lus Stemming
Nrhiav lub hauv paus ntawm ib lo lus yog hu ua stemming. Piv txwv li, lub qia ntawm lo lus "thas" qia tej zaum yuav yog "qhov ntawd," whereas lub qia ntawm lo lus "tshwm sim" tuaj yeem yog "tawm."
Peb yuav siv cov txheej txheem stemming no los txiav peb tus qauv cov lus thiab sim xyuas seb cov kab lus twg feem ntau txhais tau li cas. Cov cai no tsuas yog tsim cov npe tshwj xeeb ntawm cov lus stemmed uas yuav siv rau theem tom ntej ntawm peb cov ntaub ntawv npaj.
6. Lub hnab ntawm cov lus
Nws yog lub sij hawm los tham txog ib lub hnab ntawm cov lus tam sim no uas peb tau import peb cov ntaub ntawv thiab tsim ib tug stemmed lus. Neural networks thiab tshuab kev kawm algorithms, raws li peb txhua tus paub, yuav tsum muaj cov lej nkag. Yog li peb cov kab ntawv yuav tsis txiav nws. Peb xav tau ib lub tswv yim los sawv cev rau cov lej hauv peb cov kab lus, uas yog qhov uas ib lub hnab ntawm cov lus tuaj rau hauv.
Txhua kab lus yuav raug sawv cev los ntawm cov npe ntawm qhov ntev ntawm tus lej ntawm cov ntsiab lus hauv peb cov qauv lus. Txhua lo lus hauv peb cov lus yuav raug sawv cev los ntawm ib qho chaw hauv daim ntawv teev npe. Yog tias txoj haujlwm hauv daim ntawv teev npe yog 1, lo lus tshwm hauv peb nqe lus; yog tias nws yog 0, lo lus tsis tshwm hauv peb kab lus.
Peb hu ua ib lub hnab ntawm lo lus vim peb tsis paub qhov sib lawv liag uas cov lus tshwm nyob rau hauv kab lus; txhua yam peb paub yog tias lawv muaj nyob hauv peb cov qauv lus.
Ntxiv nrog rau kev teeb tsa peb cov tswv yim, peb kuj yuav tsum tsim peb cov khoom tso tawm kom cov neural network nkag siab nws. Peb yuav tsim cov npe tso tawm uas yog qhov ntev ntawm cov ntawv cim / cim npe hauv peb cov ntaub ntawv, zoo ib yam li lub hnab ntawm cov lus. Txhua qhov chaw hauv daim ntawv teev npe sawv cev rau ib daim ntawv lo cim / cim, thiab ib qho 1 hauv ib qho ntawm cov chaw ntawd qhia tias daim ntawv lo / tag yog sawv cev.
Thaum kawg, peb yuav siv NumPy arrays los khaws peb cov ntaub ntawv kev cob qhia thiab tso tawm.
7. Kev tsim qauv qauv
Peb npaj tau pib tsim thiab cob qhia tus qauv tam sim no uas peb tau ua ntej tag nrho peb cov ntaub ntawv. Peb yuav siv ib qho yooj yim pub-rau pem hauv ntej neural network nrog ob txheej zais rau peb lub hom phiaj.
Peb lub hom phiaj ntawm lub network yuav yog saib cov lus sau thiab muab lawv rau hauv chav kawm (ib qho ntawm peb cov cim npe los ntawm JSON cov ntaub ntawv). Peb mam li pib los ntawm kev tsim peb tus qauv architecture. Nco ntsoov tias koj tuaj yeem ua si nrog qee tus lej los ua tus qauv zoo dua! Tshuab kawm feem ntau yog raws li kev sim thiab qhov yuam kev.
8. Qauv Kev cob qhia & Txuag
Nws yog lub sijhawm los cob qhia peb cov qauv ntawm peb cov ntaub ntawv tam sim no uas peb tau teeb tsa! Peb yuav ua tiav qhov no los ntawm kev haum peb cov ntaub ntawv rau tus qauv. Tus naj npawb ntawm cov sijhawm peb muab yog tus naj npawb ntawm lub sijhawm tus qauv yuav raug nthuav tawm rau tib cov ntaub ntawv thaum lub sijhawm kev cob qhia.
Peb tuaj yeem txuag tus qauv rau cov qauv ntaub ntawv ib zaug peb tau kawm tiav nws. tflearn yog ib tsab ntawv uas tuaj yeem siv rau hauv lwm cov ntawv sau.
9. Siv chatbot
Tam sim no koj tuaj yeem pib tham nrog koj tus bot.
Cov txiaj ntsig ntawm Chatbot
- Raws li bots yuav tsum ua haujlwm 365 hnub hauv ib xyoos, 24 teev hauv ib hnub, tsis them nyiaj, nce kev muaj thiab cov tshuaj tiv thaiv ceev.
- Cov bots no yog cov cuab yeej zoo tshaj plaws rau tackling cov ntaub ntawv loj peb qhov tseem ceeb Vs: ntim, tshaj tawm, thiab ntau yam.
- Chatbots yog software uas tuaj yeem siv los kawm txog thiab nkag siab txog lub tuam txhab cov neeg siv khoom.
- Nws muaj lub zog zoo dua uas nws muaj tus nqi kho mob pheej yig tom qab muaj cov txiaj ntsig zoo tshaj plaws.
- Cov ntawv thov Chatbot tsim cov ntaub ntawv uas yuav khaws cia thiab siv rau kev txheeb xyuas thiab kev kwv yees.
Siv tau
- Kev daws cov lus nug ntawm cov neeg siv khoom
- Teb cov lus nug uas nquag nug
- Muab cov neeg siv khoom los txhawb pab pawg
- Sau cov lus teb rau cov neeg siv khoom
- Pom zoo muab tshiab
- Muag khoom nrog kev sib tham ua lag luam
- IT Helpdesk
- Booking kev pab
- Nyiaj hloov
xaus
Chatbots, zoo li lwm yam AI thev naus laus zis, yuav raug siv los txhawb tib neeg kev txawj ntse thiab tso cov tib neeg kom muaj tswv yim thiab xav paub ntau ntxiv los ntawm kev tso cai rau lawv siv sijhawm ntau rau kev tawm tswv yim es tsis yog kev ua haujlwm tactical.
Cov lag luam, cov neeg ua haujlwm, thiab cov neeg siv khoom yuav tau txais txiaj ntsig los ntawm kev txhim kho chatbot nta xws li cov lus pom zoo sai dua thiab kev kwv yees, nrog rau kev nkag tau yooj yim rau kev sib tham video hauv kev sib tham, yav tom ntej, thaum AI koom nrog kev txhim kho ntawm 5G technology.
Cov no thiab lwm yam kev muaj peev xwm tseem tab tom tshawb nrhiav, tab sis raws li kev sib txuas hauv internet, AI, NLP, thiab kev kawm tshuab, lawv yuav dhau los ua ntau dua.
Chaw
Nyob zoo,
Ua tsaug rau qhov program no.
Kuv muaj lus nug.
"bag_of_words" tsis txhais. Kuv tsis nkag siab qhov yuam kev no.
Koj puas qhia kuv yuav daws qhov yuam kev no li cas??
Ua tsaug rau qhov program no !! Nyob zoo os
Jay
Thov ntxiv ib qho haujlwm ua ntej siv chatbot seem:
//////////////////////////////////////////////// /////////////////////////////
def bag_of_words(s, lus):
bag = [0 for _ in range(len(words))]
s_words = np.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) rau lo lus hauv s_words]
rau se hauv s_words:
rau kuv, w hauv enumerate(lus):
if w == se:
bag[i] = 1
rov numpy.array(bag)
// Nws yuav daws tau koj qhov teeb meem. //
//////////////////////////////////////////////////////////// // //////////////////////////////
Kuv tab tom qhia cov lej tiav nrog koj, yog li koj yuav tau txais daim duab meej ntawm nws.
//////////////////////////////////////////////// //////////
ntshuam nltk
los ntawm nltk.stem.lancaster import LancasterStemmer
stemmer = LancasterStemmer()
import numpy
import tflearn
import tensorflow
random ntshuam
ntshuam json
ntshuam pickle
nrog qhib ("intents.json") raws li cov ntaub ntawv:
data = json.load(file)
sim:
nrog qhib (“data.pickle”, “rb”) raws li f:
lo lus, daim ntawv lo, kev cob qhia, tso zis = pickle.load(f)
tsuas yog:
lus = []
tags = []
docs_x = []
docs_y = []
rau kev xav hauv cov ntaub ntawv ["intents"]:
rau cov qauv hauv kev xav ["patterns"]:
wrds = nltk.word_tokenize( qauv)
words.extend(wrds)
docs_x.append(wrds)
docs_y.append(intent[“tag”])
yog tias intent ["tag"] tsis nyob hauv cov ntawv lo:
labels.append(intent[“tag”])
cov lus = [stemmer.stem(w.lower()) rau w hauv cov lus yog w != "?"]
lus = sorted(list(set(words)))
tags = sorted(labels)
kev cob qhia = []
tso zis = []
out_empty = [0 for _ in range(len(labels))]
rau x, doc hauv enumerate(docs_x):
tas = []
wrds = [stemmer.stem(w.lower()) for w in doc]
rau w:
yog tias wrds:
bag.append(1)
lwm yam:
bag.append(0)
output_row = out_empty[:]
output_row[labels.index(docs_y[x])] = 1
training.append(bag)
output.append(output_row)
kev cob qhia = numpy.array(training)
output = numpy.array(output)
with open(“data.pickle”, “wb”) as f:
pickle.dump((lus, daim ntawv lo, kev cob qhia, tso zis), f)
tensorflow.reset_default_graph()
net = tflearn.input_data(shape=[None, len(training[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)
model = tflearn.DNN(net)
sim:
model.load("model.tflearn")
tsuas yog:
model.fit(kev cob qhia, tso zis, n_epoch=1500, batch_size=8, show_metric=True)
model.save(“model.tflearn”)
def bag_of_words(s, lus):
bag = [0 for _ in range(len(words))]
s_words = np.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) rau lo lus hauv s_words]
rau se hauv s_words:
rau kuv, w hauv enumerate(lus):
if w == se:
bag[i] = 1
rov numpy.array(bag)
def chat():
print("Pib tham nrog bot (hom tawm kom nres)!")
thaum muaj tseeb:
inp = input("Koj: ")
yog inp.lower() == “quit”:
so
results = model.predict([bag_of_words(inp, lus)])
results_index = numpy.argmax(cov)
tag = labels[results_index]
rau tg hauv data["intents"]:
if tg['tag'] == tag:
responses = tg['responses']
print(random.choice( teb))
tham ( )
//////////////////////////////////////////////// ////////////////
Ua tsaug rau koj,
Zoo siab coding!
Lu
Nyob zoo,
Koj puas tuaj yeem muab kuv lub tswv yim ntawm cov txheej txheem los ua haujlwm nyob rau hauv rooj plaub uas xav tsim chatbot hauv python, tab sis cov ntaub ntawv tau txais los ntawm kev tshawb fawb hauv excel. Ua tsaug!