Преглед садржаја[Сакрити][Прикажи]
Гласовни позиви се постепено укидају у корист текста и визуелних приказа у сектору комуникација. Према анкети на Фејсбуку, више од половине купаца радије купује од компаније са којом могу да разговарају. Ћаскање је постало нови друштвено прихватљив начин комуникације.
Омогућава предузећима да комуницирају са својим клијентима у било које време и са било које локације. Чет-ботови све више добијају на популарности међу компанијама и купцима због њихове лакоће коришћења и скраћеног времена чекања.
Чет-ботови, или аутоматизовани програми за разговор, пружају клијентима прилагођенији метод за приступ услугама преко интерфејса заснованог на тексту. Најновији чет-ботови са АИ могу препознати упит (питање, наредбу, налог, итд.) који је поставила особа (или други бот, почетак) у одређеном окружењу и на одговарајући начин реаговати (одговор, радња, итд.).
У овом посту ћемо проћи кроз шта су цхат ботови, њихове предности, случајеве употребе и како да направите своје дубоко учење цхатбот у Пајтону, између осталог.
Хајде да почнемо.
Дакле, шта су цхатботови?
Цхатбот се често помиње као један од најнапреднијих и најперспективнијих облика интеракције човека и машине. Ови дигитални асистенти побољшавају корисничко искуство поједностављујући интеракције између људи и услуга.
Истовремено, они пружају предузећима нове опције за оптимизацију процеса контакта са клијентима ради ефикасности, што може смањити уобичајене трошкове подршке.
Укратко, софтвер заснован на вештачкој интелигенцији је намењен да комуницира са људима на њиховим природним језицима. Ови цхат ботови често комуницирају путем аудио или писаних техника и лако могу да опонашају људске језике како би се повезали са људима на начин сличан људима.
Чет-ботови уче из својих интеракција са корисницима, постајући временом све реалистичнији и ефикаснији. Они могу да се баве широким спектром пословних активности, као што су одобравање потрошње, интеракција са потрошачима на мрежи и генерисање потенцијалних клијената.
Креирање сопственог цхатбот-а за дубоко учење са Питхон-ом
Постоји много различитих врста цхатботова у области Машина учење и АИ. Неки цхат ботови су виртуелни асистенти, док су други само ту да разговарају са њима, док су други агенти за корисничку подршку.
Вероватно сте видели неке од оних које запошљавају предузећа да одговарају на питања. У овом водичу ћемо направити мали цхат бот да одговори на често тражена питања.
1. Инсталирање пакета
Наш први корак је да инсталирамо следеће пакете.
2. Подаци о обуци
Сада је време да схватимо коју врсту информација требамо да дамо нашем цхатботу. Не морамо да преузимамо велике скупове података јер је ово једноставан цхатбот.
Користићемо само информације које смо сами креирали. Да бисте ефикасно пратили лекцију, мораћете да генеришете .ЈСОН датотеку истог формата као што је приказано испод. Моја датотека се зове „интентс.јсон“.
ЈСОН датотека се користи за креирање скупа порука које ће корисник вероватно унети и мапирати у скуп релевантних одговора. Сваки речник у датотеци има ознаку која идентификује којој групи припада свака порука.
Користићемо ове информације за обуку а неуронска мрежа да категоризујемо фразу речи као једну од ознака у нашој датотеци.
Тада можемо само да узмемо одговор од тих група и пружимо га кориснику. Цхатбот ће бити бољи и компликованији ако га понудите са додатним ознакама, одговорима и обрасцима.
3. Учитавање ЈСОН података
Почећемо тако што ћемо учитати наше .јсон податке и увести неке модуле. Саставите своју.јсон датотеку у исти директоријум као и ваш Питхон скрипта. Наши .јсон подаци ће сада бити сачувани у променљивој података.
4. Екстракција података
Сада је време да извучемо информације које су нам потребне из наше ЈСОН датотеке. Сви обрасци, као и класа/ознака којој припадају, су обавезни.
Такође ће нам бити потребна листа свих јединствених термина у нашим обрасцима (из разлога које ћемо објаснити касније), па хајде да направимо неке празне листе да бисмо пратили ове вредности.
Сада ћемо проћи кроз наше ЈСОН податке и преузети информације које су нам потребне. Уместо да их имамо као стрингове, користићемо нлтк.ворд токенизер да трансформишемо сваки образац у листу речи.
Затим, у нашу доцс_к листу, додаћемо сваки образац, заједно са његовом повезаном ознаком, на доцс_и листу.
5. Извор речи
Проналажење корена речи познато је као порекло. На пример, корен речи „то“ може бити „то“, док би корен речи „догађање“ могао бити „дешава се“.
Користићемо ову технику стварања корена да скратимо речник нашег модела и покушамо да схватимо шта реченице уопштено подразумевају. Овај код ће једноставно генерисати јединствену листу речи са кореном које ће се користити у следећој фази наше припреме података.
6. Врећа речи
Време је да разговарамо о гомили речи сада када смо увезли наше податке и генерисали речник са кореном. Неуралне мреже а алгоритми машинског учења, као што сви знамо, захтевају нумерички унос. Дакле, наша листа жица је неће прекинути. Потребан нам је механизам за представљање бројева у нашим реченицама, а ту долази кеса речи.
Свака фраза ће бити представљена листом дужине броја термина у речнику нашег модела. Свака реч у нашем речнику биће представљена местом на листи. Ако је позиција на листи 1, реч се појављује у нашој изјави; ако је 0, реч се не појављује у нашој реченици.
Ми то називамо врећом речи јер не знамо редослед у коме се речи појављују у фрази; све што знамо је да постоје у речнику нашег модела.
Поред структурирања нашег улаза, морамо такође форматирати наш излаз тако да га неуронска мрежа разуме. Направићемо излазне листе које су дужине броја ознака/ознака у нашем скупу података, слично врећици речи. Свако место на листи представља јединствену ознаку/ознаку, а 1 на било којој од тих локација означава која је ознака/ознака представљена.
Коначно, користићемо НумПи низове за чување наших података о обуци и излаза.
7. Развој модела
Спремни смо да почнемо да градимо и обучавамо модел сада када смо претходно обрадили све наше податке. Користићемо веома основну неуронску мрежу са два скривена слоја за наше циљеве.
Сврха наше мреже ће бити да погледа колекцију речи и додели их класи (једна од наших ознака из ЈСОН датотеке). Почећемо успостављањем архитектуре нашег модела. Имајте на уму да се можете играти са неким од бројева да бисте дошли до бољег модела! Машинско учење углавном се заснива на покушајима и грешкама.
8. Модел Траининг & Савинг
Време је да обучимо наш модел на нашим подацима сада када смо га поставили! То ћемо постићи тако што ћемо наше податке прилагодити моделу. Број епоха које пружамо је колико пута ће модел бити изложен истим подацима током обуке.
Можемо да сачувамо модел у модел фајла када завршимо са обуком. тфлеарн је скрипта која се може користити у другим скриптама.
9. Коришћење цхатбот-а
Сада можете почети да ћаскате са својим ботом.
Предности Цхатбот-а
- Како се очекује да ботови раде 365 дана у години, 24 сата дневно, без плаћања, повећавају доступност и брзину реакције.
- Ови ботови су савршени алати за решавање три кључна вс великих података: обим, брзина и разноликост.
- Чет-ботови су софтвер који се може користити за учење и разумевање потрошача компаније.
- Има супериорну снагу да има јефтине трошкове одржавања након што има врхунске предности.
- Апликације за ћаскање креирају податке који се могу сачувати и користити за аналитику и прогнозе.
Случај употребе
- Решавање упита купаца
- Одговарање на често постављана питања
- Додељивање клијената тиму за подршку
- Прикупљање повратних информација купаца
- Препоручујемо нове понуде
- Купујте уз разговорну трговину
- ИТ Хелпдеск
- Резервација смештаја
- Трансфер новца
Zakljucak
Чет-ботови, као и друге технологије вештачке интелигенције, биће коришћени за повећање људских вештина и ослобађање људи да буду креативнији и маштовитији тако што ће им омогућити да проводе више времена на стратешким, а не тактичким задацима.
Предузећа, запослени и потрошачи ће вероватно имати користи од побољшаних функција цхатбот-а као што су брже препоруке и предвиђања, као и лак приступ видео конференцијама високе дефиниције из разговора, у блиској будућности, када се вештачка интелигенција комбинује са развојем 5Г технологија.
Ове и друге могућности се још истражују, али како интернет конекција, АИ, НЛП и машинско учење буду напредовали, оне ће постати све заступљеније.
Цхвоо
Здраво,
Хвала вам на овом програму.
Имам питање.
„баг_оф_вордс“ није дефинисано. Не могу да разумем ову грешку.
Можете ли ми рећи како могу да решим ову грешку??
Хвала вам на овом програму!! Желим ти пријатан дан
Џеј
Додајте функцију пре коришћења одељка за ћаскање:
//////////////////////////////////////////////////// ///////////////////////////////
деф баг_оф_вордс(с, вордс):
торба = [0 за _ у опсегу(лен(речи))]
с_вордс = нлтк.ворд_токенизе(с)
с_вордс = [стеммер.стем(ворд.ловер()) за реч у с_вордс]
за себе у с_вордс:
за и, в у набрајању (речи):
ако в == се:
торба [и] = 1
врати нумпи.арраи(баг)
// Дефинитивно ће решити ваш проблем. //
///////////////////////////////////////////////// ///////////////////////////
Делим комплетан код са вама, тако да ћете добити јасну слику о томе.
///////////////////////////////////////////////// /////////
импорт нлтк
фром нлтк.стем.ланцастер импорт ЛанцастерСтеммер
стеммер = ЛанцастерСтеммер()
импорт нумпи
импорт тфлеарн
импорт тенсорфлов
увести насумично
импорт јсон
увозити кисели краставац
са опен(“интентс.јсон”) као датотеком:
подаци = јсон.лоад(фајл)
покушати:
са опен(“дата.пицкле”, “рб”) као ф:
речи, ознаке, обука, излаз = пицкле.лоад(ф)
осим:
речи = []
ознаке = []
доцс_к = []
доцс_и = []
за намеру у подацима [„намере“]:
за образац у намери [„обрасци“]:
врдс = нлтк.ворд_токенизе(паттерн)
вордс.ектенд(врдс)
доцс_к.аппенд(врдс)
доцс_и.аппенд(намера[“ознака”])
ако намера [„ознака“] није у ознакама:
лабелс.аппенд(намера[„ознака“])
речи = [стеммер.стем(в.ловер()) за в у речима ако в != “?”]
речи = сортирано(листа(скуп(речи)))
ознаке = сортиране (ознаке)
обука = []
излаз = []
оут_емпти = [0 за _ у опсегу(лен(ознаке))]
за к, доц у енумерате(доцс_к):
торба = []
врдс = [стеммер.стем(в.ловер()) за в у документу]
за в речима:
ако в у врдс:
баг.аппенд(1)
друго:
баг.аппенд(0)
излазни_ред = ван_празан[:]
излазни ред[ознаке.индекс(доцс_и[к])] = 1
тренинг.додати(торбу)
оутпут.аппенд(оутпут_ров)
обука = нумпи.арраи(тренинг)
излаз = нумпи.арраи(оутпут)
са опен(“дата.пицкле”, “вб”) као ф:
пицкле.думп((речи, ознаке, обука, излаз), ф)
тенсорфлов.ресет_дефаулт_грапх()
нет = тфлеарн.инпут_дата(схапе=[Нема, лен(траининг[0])])
нет = тфлеарн.фулли_цоннецтед(нет, 8)
нет = тфлеарн.фулли_цоннецтед(нет, 8)
нет = тфлеарн.фулли_цоннецтед(нет, лен(оутпут[0]), ацтиватион=”софтмак”)
нет = тфлеарн.регрессион(нет)
модел = тфлеарн.ДНН(нет)
покушати:
модел.лоад(“модел.тфлеарн”)
осим:
модел.фит(тренинг, излаз, н_епоцх=1500, батцх_сизе=8, схов_метриц=Труе)
модел.саве(“модел.тфлеарн”)
деф баг_оф_вордс(с, вордс):
торба = [0 за _ у опсегу(лен(речи))]
с_вордс = нлтк.ворд_токенизе(с)
с_вордс = [стеммер.стем(ворд.ловер()) за реч у с_вордс]
за себе у с_вордс:
за и, в у набрајању (речи):
ако в == се:
торба [и] = 1
врати нумпи.арраи(баг)
деф цхат():
принт(“Почните да разговарате са ботом (укуцајте куит да престанете)!”)
вхиле Труе:
инп = инпут(„Ви:“)
ако инп.ловер() == „прекини“:
разбити
резултати = модел.предицт([врећа_речи(инп, речи)])
резултати_индекс = нумпи.аргмак(резултати)
ознака = ознаке[индекс_резултата]
за тг у дата[“намере”]:
иф тг['таг'] == ознака:
одговори = тг['одговори']
принт(случајни.избор(одговори))
Ћаскање()
////////////////////////////////////////////////// ///////////////
Хвала,
Срећно кодирање!
Lu
Здраво,
Можете ли да ми дате идеју о процесу који треба да спроведем у случају да желите да направите цхатбот у Питхон-у, али информације се добијају из анкете у Екцел-у. Хвала вам!