Мундариҷа[Пинҳон кардан][Намоиш]
Зангҳои овозӣ ба манфиати матн ва визуалӣ дар бахши коммуникатсия тадриҷан қатъ карда мешаванд. Тибқи як назарсанҷии Фейсбук, беш аз нисфи харидорон бартарӣ доранд, ки аз ширкате бихаранд, ки бо онҳо сӯҳбат кунанд. Чат ба тарзи нави аз ҷиҳати иҷтимоӣ қобили қабули муошират табдил ёфтааст.
Он ба тиҷорат имкон медиҳад, ки бо мизоҷони худ дар вақти дилхоҳ ва аз ҳар макон муошират кунанд. Чатботҳо бо сабаби осонии истифода ва кам шудани вақти интизорӣ дар байни ширкатҳо ва муштариён маъруфият пайдо мекунанд.
Чатботҳо ё барномаҳои автоматии гуфтугӯӣ ба муштариён усули бештар фармоишгари дастрасӣ ба хидматҳоро тавассути интерфейси матнӣ пешниҳод мекунанд. Чатботҳои навтарин, ки бо AI кор мекунанд, метавонанд дархостро (савол, фармон, фармоиш ва ғайра) аз ҷониби шахс (ё боти дигар, ибтидо) дар муҳити мушаххас эътироф кунанд ва ба таври мувофиқ посух диҳанд (ҷавоб, амал ва ғайра).
Дар ин мақола мо дида мебароем, ки чатботҳо чист, манфиатҳои онҳо, ҳолатҳои истифода ва чӣ гуна сохтани худатон омӯзиши чуқур чатбот дар Python, аз ҷумла чизҳои дигар.
Биёед сар кунем.
Пас, чатботҳо чист?
Чатбот аксар вақт яке аз шаклҳои пешрафта ва ояндадори ҳамкории инсон ва мошин номида мешавад. Ин ёварони рақамӣ таҷрибаи муштариёнро тавассути ба тартиб даровардани муносибатҳои байни одамон ва хидматҳо беҳтар мекунанд.
Ҳамзамон, онҳо ба тиҷорат имконоти навро барои оптимизатсияи раванди тамос бо муштариён барои самаранокӣ пешниҳод мекунанд, ки метавонанд хароҷоти дастгирии анъанавиро кам кунанд.
Хулоса, он нармафзорест, ки ба AI асос ёфтааст, ки барои муошират бо одамон бо забонҳои табиии онҳо пешбинӣ шудааст. Ин чатботҳо аксар вақт тавассути усулҳои аудиоӣ ё хаттӣ ҳамкорӣ мекунанд ва онҳо метавонанд ба осонӣ ба забонҳои инсонӣ тақлид кунанд, то бо одамон ба таври инсонӣ пайваст шаванд.
Чатботҳо аз муоширати худ бо корбарон омӯхта, бо мурури замон воқеӣ ва муассиртар мешаванд. Онҳо метавонанд доираи васеи фаъолиятҳои тиҷорӣ, аз қабили иҷозати харҷ, муошират бо истеъмолкунандагон дар интернет ва тавлиди роҳбаронро иҷро кунанд.
Эҷоди чатботи омӯзиши амиқ бо python
Дар соҳаи бисёр намудҳои гуногуни чатботҳо мавҷуданд омӯзиши машқҳо ва АИ. Баъзе чатботҳо ёварони виртуалӣ мебошанд, дар ҳоле ки дигарон танҳо барои гуфтугӯ ҳастанд, дар ҳоле ки дигарон агентҳои хидматрасонии муштариён мебошанд.
Эҳтимол шумо баъзе аз онҳоеро дидаед, ки дар корхонаҳо барои посух додан ба саволҳо кор мекунанд. Мо дар ин дастур як чатботи хурде месозем, то ба саволҳои зуд-зуд дархостшаванда ҷавоб диҳад.
1. Насб кардани бастаҳо
Қадами аввалини мо ин насб кардани бастаҳои зерин аст.
2. Маълумот дар бораи омӯзиш
Акнун вақти он расидааст, ки бифаҳмем, ки мо ба чатботи худ чӣ гуна маълумот медиҳем. Ба мо лозим нест, ки ягон маҷмӯи додаҳои калонро зеркашӣ кунем, зеро ин як чатботи оддӣ аст.
Мо танҳо маълумотеро, ки худамон офаридаем, истифода мебарем. Барои самаранок идома додани дарс, шумо бояд файли .JSON-ро бо ҳамон формате, ки дар зер дида мешавад, тавлид кунед. Файли ман "intents.json" ном дорад.
Файли JSON барои эҷоди маҷмӯи паёмҳо истифода мешавад, ки корбар эҳтимол дорад ба маҷмӯи ҷавобҳои мувофиқ ворид ва харита кунад. Ҳар як луғат дар файл тег дорад, ки муайян мекунад, ки ҳар як паём ба кадом гурӯҳ тааллуқ дорад.
Мо ин маълумотро барои таълими а шабакаи нейралӣ барои гурӯҳбандӣ кардани ибораи калимаҳо ҳамчун яке аз барчаспҳои файли мо.
Пас мо метавонем танҳо аз ин гурӯҳҳо посух бигирем ва онро ба корбар пешниҳод кунем. Агар шумо онро бо барчаспҳо, ҷавобҳо ва намунаҳои иловагӣ пешниҳод кунед, чатбот беҳтар ва мураккабтар мешавад.
3. Боркунии маълумотҳои JSON
Мо бо бор кардани маълумоти .json-и худ ва воридоти баъзе модулҳо оғоз мекунем. Файли your.json -ро дар ҳамон директорияе ҷамъ кунед Скрипти Python. Маълумоти .json мо ҳоло дар тағирёбандаи додаҳо захира карда мешавад.
4. Истихроҷи маълумот
Ҳоло вақти он расидааст, ки маълумотеро, ки ба мо аз файли JSON мо лозим аст, гиред. Ҳама намунаҳо, инчунин синф/тег, ки онҳо ба он тааллуқ доранд, талаб карда мешаванд.
Мо инчунин ба рӯйхати ҳамаи истилоҳҳои беназири намунаҳои худ ниёз дорем (бо сабабҳое, ки мо дертар шарҳ медиҳем), аз ин рӯ биёед якчанд рӯйхати холӣ эҷод кунем, то ин арзишҳоро пайгирӣ кунем.
Акнун мо маълумотҳои JSON-и худро давр мезанем ва маълумоти лозимаро мегирем. Ба ҷои он ки онҳо ҳамчун сатр дошта бошанд, мо токенизатори nltk.word -ро барои табдил додани ҳар як намуна ба рӯйхати калимаҳо истифода мебарем.
Сипас, дар рӯйхати docs_x мо, мо ҳар як намунаро бо барчаспҳои алоқаманди он ба рӯйхати docs_y илова мекунем.
5. Калимабанди
Ҷустуҷӯи решаи калима ҳамчун поя маълум аст. Масалан, бунёдии калимаи "ки" метавонад "он" бошад, дар ҳоле ки бунёдии калимаи "рӯйдод" метавонад "рӯй дода" бошад.
Мо ин усулро барои кам кардани луғати модели худ истифода мебарем ва кӯшиш мекунем фаҳмем, ки ибораҳо дар маҷмӯъ чӣ маъно доранд. Ин код танҳо як рӯйхати беназири калимаҳои асосёфтаро тавлид мекунад, ки дар марҳилаи навбатии омодасозии маълумоти мо истифода мешаванд.
6. Халтаи калимаҳо
Ҳоло вақти он расидааст, ки дар бораи як халта калимаҳо сухан гӯем, ки мо маълумоти худро ворид кардаем ва луғати бунёдӣ тавлид кардем. Шабакаҳои нейронӣ ва алгоритмҳои омӯзиши мошинсозӣ, тавре ки ҳама медонем, вуруди ададӣ талаб мекунанд. Пас, рӯйхати сатри мо онро бурида наметавонад. Ба мо механизме лозим аст, ки рақамҳоро дар ҷумлаҳои мо ифода кунад, ки он ҷо як халтаи калимаҳо ворид мешавад.
Ҳар як ибора бо рӯйхати дарозии шумораи истилоҳот дар луғати модели мо ифода карда мешавад. Ҳар як калима дар луғати мо бо ҷойе дар рӯйхат ифода карда мешавад. Агар мавқеъ дар рӯйхат 1 бошад, ин калима дар изҳороти мо пайдо мешавад; агар 0 бошад, калима дар чумлаи мо намеояд.
Мо онро халтаи калимаҳо меномем, зеро намедонем, ки калимаҳо дар ибора пайдо мешаванд; танҳо мо медонем, ки онҳо дар луғати модели мо мавҷуданд.
Илова ба сохтори вуруди худ, мо инчунин бояд баромади худро формат кунем, то шабакаи нейрон онро дарк кунад. Мо рӯйхатҳои баромадро месозем, ки дарозии шумораи тамғакоғазҳо/тегҳо дар маҷмӯаи маълумоти мо мебошанд, ки ба як халта калимаҳо монанданд. Ҳар як ҷой дар рӯйхат нишона/тегҳои беназирро ифода мекунад ва 1 дар яке аз ин ҷойҳо нишон медиҳад, ки кадом нишона/тег нишон дода мешавад.
Ниҳоят, мо массивҳои NumPy-ро барои нигоҳ доштани маълумот ва натиҷаҳои таълимии худ истифода мебарем.
7. Таҳияи модел
Мо омода ҳастем, ки ба сохтани модел ва омӯзиши модел шурӯъ кунем, ки ҳамаи маълумоти худро пешакӣ коркард кардем. Мо барои ҳадафҳои худ як шабакаи асосии нейронии пешбарандаро бо ду қабати пинҳон истифода хоҳем бурд.
Мақсади шабакаи мо аз дидани маҷмӯи калимаҳо ва таъин кардани онҳо ба синф (яке аз барчаспҳои мо аз файли JSON) хоҳад буд. Мо бо таъсиси меъмории модели худ оғоз мекунем. Дар хотир доред, ки шумо метавонед бо баъзе рақамҳо бозӣ кунед, то модели беҳтареро пайдо кунед! омӯзиши мошин асосан ба озмоиш ва хато асос ёфтааст.
8. Омӯзиши намунавӣ ва сарфа
Ҳоло вақти он расидааст, ки модели худро дар бораи маълумотҳои худ омӯзем, ки мо онро танзим кардем! Мо ба ин тавассути мувофиқ кардани маълумоти мо ба модел ноил хоҳем шуд. Миқдори давраҳое, ки мо пешниҳод менамоем, ин рақамест, ки модел ҳангоми омӯзиш ба ҳамон маълумот дучор мешавад.
Мо метавонем моделро дар модели файлӣ пас аз анҷоми омӯзиши он захира кунем. tflearn скриптест, ки онро дар дигар скриптҳо истифода бурдан мумкин аст.
9. Истифодаи чатбот
Акнун шумо метавонед бо боти худ сӯҳбатро оғоз кунед.
Манфиатҳои Chatbot
- Азбаски интизор меравад, ки ботҳо 365 рӯз дар як сол, 24 соат дар як шабонарӯз бидуни музд кор кунанд, дастрасӣ ва суръати реаксияро афзоиш медиҳанд.
- Ин ботҳо абзори комил барои мубориза бо се калидии додаҳои калон V: ҳаҷм, суръат ва гуногунӣ мебошанд.
- Чатботҳо нармафзоре мебошанд, ки метавонанд барои омӯхтан ва дарки истеъмолкунандагони ширкат истифода шаванд.
- Он дорои қудрати олӣ аст, ки пас аз гирифтани фоидаи баланд арзиши нигоҳдории арзон дорад.
- Барномаҳои Chatbot маълумотеро эҷод мекунанд, ки метавонанд барои таҳлил ва пешгӯиҳо ҳифз ва истифода шаванд.
Истифода
- Ҳалли дархостҳои муштариён
- Ҷавоб ба саволҳои зуд-зуд додашуда
- Таъин кардани муштариён ба дастаи дастгирӣ
- Ҷамъоварии фикру мулоҳизаҳои муштариён
- Тавсия додани пешниҳодҳои нав
- Бо тиҷорати гуфтугӯӣ харид кунед
- Маркази ёрирасони IT
- Брон кардани манзил
- Гузарондани пул
хулоса
Чатботҳо, ба монанди дигар технологияҳои AI, барои баланд бардоштани малакаҳои инсонӣ ва озод кардани одамон барои эҷодкорӣ ва хаёлот бештар истифода мешаванд ва ба онҳо имкон медиҳанд, ки вақти бештарро барои иҷрои вазифаҳои стратегӣ, на тактикӣ сарф кунанд.
Тиҷоратҳо, кормандон ва истеъмолкунандагон эҳтимолан аз хусусиятҳои мукаммали чатбот, аз қабили тавсияҳо ва пешгӯиҳои зудтар, инчунин дастрасии осон ба видеоконфронси баландсифат аз дохили сӯҳбат, дар ояндаи наздик, вақте ки AI бо рушди Технологияи 5G.
Ин ва дигар имкониятҳо ҳоло ҳам таҳқиқ карда мешаванд, аммо чун пайвастшавӣ ба интернет, AI, NLP ва омӯзиши мошинсозӣ, онҳо бештар паҳн мешаванд.
Чву
Салом,
Ташаккур ба шумо барои ин барнома.
Ман саволе дорам.
"халтаи_калимаҳо" муайян карда нашудааст. Ман ин хатогиро фаҳмида наметавонам.
Метавонед ба ман бигӯед, ки ман ин хатогиро чӣ гуна метавонам ҳал кунам?
Ташаккур ба шумо барои ин барнома!! Рӯзи хуш
Ҷей
Лутфан пеш аз истифодаи бахши чатбот функсия илова кунед:
//////////////////////////////////////////////// ////////////////////////////
def халтаи_калима(ҳо, калимаҳо):
халта = [0 барои _ дар диапазон(len(калимаҳо))]
s_words = nltk.word_tokenize(ҳо)
s_words = [stemmer.stem(word.lower()) барои калима дар s_words]
барои se дар s_words:
барои i, w дар номбар кардан(калимаҳо):
агар w == se:
халта[i] = 1
баргардонидани numpy.array(халта)
// Он бешубҳа масъалаи шуморо ҳал мекунад. //
/////////////////////////////////////////////////////////// ///////////////////////////
Ман рамзи пурраро бо шумо мубодила мекунам, бинобар ин шумо тасвири равшани онро хоҳед гирифт.
//////////////////////////////////////////////// /////////
воридоти nltk
аз nltk.stem.lancaster воридоти LancasterStemmer
stemmer = LancasterStemmer ()
воридоти numpy
воридоти tflearn
воридоти тензорflow
воридоти тасодуфӣ
воридоти json
бодиринг ворид кунед
бо кушода("intents.json") ҳамчун файл:
маълумот = json.load (файл)
кӯшиш кунед:
бо кушода("data.pickle", "rb") ҳамчун f:
калимаҳо, тамғакоғазҳо, омӯзиш, натиҷа = pickle.load(f)
ба истиснои:
калима = []
тамғакоғазҳо = []
docs_x = []
docs_y = []
барои ният дар маълумот["intents"]:
барои намуна дар ният["намунаҳо"]:
wrds = nltk.word_tokenize(намуна)
word.extend(wrds)
docs_x.append(wrds)
docs_y.append(ният[“тег”])
агар ният[“tag”] дар тамғакоғазҳо набошад:
labels.append(niyyət ["teg"])
калимаҳо = [stemmer.stem(w.lower()) барои w дар калимаҳо агар w != “?”]
калимаҳо = мураттаб (рӯйхат (маҷмӯа (калимаҳо)))
тамғакоғазҳо = мураттаб (тамга)
омӯзиш = []
баромад = []
out_empty = [0 барои _ дар диапазон(лен(тамгаҳо))]
барои x, doc дар рақамгузорӣ (docs_x):
халта = []
wrds = [stemmer.stem(w.lower()) барои w дар ҳуҷҷат]
барои w дар калима:
агар w дар wrd бошад:
bag.append(1)
дигар:
bag.append(0)
баромад_сатор = берун_холӣ[:]
баромади_сатор[labels.index(docs_y[x])] = 1
омӯзиш. замима (халта)
output.apppend(output_row)
омӯзиш = numpy.array (тренинг)
баромад = numpy.array (баромад)
бо кушода("data.pickle", "wb") ҳамчун f:
pickle.dump((калимаҳо, тамғакоғазҳо, омӯзиш, баромад), f)
tensorflow.reset_default_graph()
net = tflearn.input_data (шакл = [Не, len (тренинг [0])])
net = tflearn.fully_connected (нет, 8)
net = tflearn.fully_connected (нет, 8)
net = tflearn.fully_connected (нет, len (баромад [0]), фаъолсозӣ = "softmax")
net = tflearn.regression (нет)
модел = tflearn.DNN (нет)
кӯшиш кунед:
model.load("model.tflearn")
ба истиснои:
model.fit(омӯзиш, натиҷа, n_epoch=1500, batch_size=8, show_metric=Дуруст)
model.save (“model.tflearn”)
def халтаи_калима(ҳо, калимаҳо):
халта = [0 барои _ дар диапазон(len(калимаҳо))]
s_words = nltk.word_tokenize(ҳо)
s_words = [stemmer.stem(word.lower()) барои калима дар s_words]
барои se дар s_words:
барои i, w дар номбар кардан(калимаҳо):
агар w == se:
халта[i] = 1
баргардонидани numpy.array(халта)
def chat ():
чоп ("Бо бот сӯҳбат карданро оғоз кунед (барои қатъ кардан баромад кунед)!")
дар ҳоле ки рост аст:
inp = вуруд ("Шумо: ")
агар inp.lower() == "баромад":
танаффус
натиҷаҳо = model.predict([халтаи_калима(дар, калимаҳо)])
results_index = numpy.argmax (натиҷаҳо)
барчасп = тамғакоғазҳо[results_index]
барои tg дар маълумот["intents"]:
агар tg['tag'] == барчасп:
посухҳо = tg['ҷавобҳо']
чоп (тасодуфӣ.интихоб(ҷавобҳо))
сӯҳбат ()
//////////////////////////////////////////////// ///////////////
Сипос,
Рамзгузории хушбахт!
Lu
Салом,
Метавонед ба ман дар бораи раванде, ки дар сурати хоҳиши сохтани чатбот дар python иҷро кардан лозим аст, тасаввурот диҳед, аммо маълумот аз пурсиш дар Excel гирифта шудааст. Сипос!