Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

PĂ«rshĂ«ndetje, Habr! Sot do tĂ« flasim se si tĂ« zgjidhni me anĂ« tĂ« Azure detyra qĂ« zakonisht kĂ«rkojnĂ« pĂ«rfshirjen e njeriut. Operatoret shpenzojnĂ« shumĂ« kohĂ« duke u pĂ«rgjigjur tĂ« njĂ«jtat pyetje, duke pĂ«rpunuar thirrje telefonike dhe mesazhe tekstuale. Chat-botĂ«t automatizojnĂ« komunikimin dhe njohjen dhe lejojnĂ« qĂ« ngarkesa mbi njerĂ«zit tĂ« ulet. Po ashtu, botĂ«t pĂ«rdoren nĂ« Azure DevOps, ku lejojnĂ«, pĂ«r shembull, miratimin e publikimeve, menaxhimin e ndĂ«rtimeve — shikimin, nisjen dhe ndalimin — direkt nga Slack ose Microsoft Teams. NĂ« thelb, njĂ« chat-bot nĂ« njĂ« farĂ« mĂ«nyre i ngjan CLI-sĂ«, vetĂ«m se Ă«shtĂ« interaktiv dhe lejon zhvilluesin tĂ« mos dalĂ« nga konteksti i diskutimit nĂ« chat.

Në këtë artikull, ne do të flasim për mjetet për krijimin e chat-botëve, do të tregojmë se si mund të përmirësohen me anë të shërbimeve kognitive, dhe do të përshkruajmë se si të përshpejtojmë zhvillimin me shërbime të gatshme në Azure.

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Chat-botët dhe shërbimet kognitive: çfarë kanë të përbashkët dhe çfarë ndan

Për krijimin e botëve në Microsoft Azure përdoren shërbimi Azure Bot dhe platforma Bot Framework. Së bashku, ato përbëjnë një paketë software për ndërtimin, testimin, shpërndarjen dhe administrimin e botëve, e cila lejon të krijohen nga module të gatshme sisteme komunikimi të thjeshta dhe të avancuara me mbështetje për të folur, njohjen e gjuhës natyrore dhe mundësi të tjera.

Supozoni se ju nevojitet të realizoni një bot të thjeshtë mbi bazën e shërbimit korporativ për pyetje dhe përgjigje ose, përkundrazi, të krijoni një bot funksional me një sistem komunikimi të komplikuar dhe të degëzuar. Për këtë, mund të shfrytëzoni një sërë mjetesh, të ndara në tre grupe: 

  1. Shërbimet për zhvillimin e shpejtë të ndërfaqeve dialoguese (botëve).
  2. Shërbime të gatshme kognitive të AI për skenarë të ndryshëm përdorimi (njohjen e imazheve, zërit, bazën e njohurive dhe kërkimin).
  3. Shërbime për krijimin dhe trajnimet e modeleve të AI.

Zakonesh, njerëzit e përzjejnë intuitivisht "botët" dhe "shërbimet kognitive", sepse në thelb të dy koncepteve qëndron parimi i komunikimit, dhe në skenarin e përdorimit të botëve dhe shërbimeve ka dialogje. Por chat-botët punojnë me fjalë kyçe dhe triggere, ndërsa shërbimet kognitive - me kërkesa të rastësishme, të cilat zakonisht përpunohen nga njerëzit: 

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Shërbimet kognitive janë një mënyrë tjetër për të komunikuar me përdoruesin, duke ndihmuar në konvertimin e kërkesës së rastësishme në një komandë të qartë dhe në transmetimin e saj më tej te boti. 

Kështu, chatbotet janë aplikacione për menaxhimin e kërkesave, ndërsa shërbimet kognitive janë mjete të analizës inteligjente të kërkesave, të cilat aktivizohen veçmas, por që mund të thërriten nga chatbot, duke e bërë atë "inteligjent". 

Krijimi i chatbot-eve

Shtylla e rekomanduar për dizajnin e botit në Azure duket si vijon: 

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Për dizajnimin dhe zhvillimin e botëve në Azure përdoret Bot Framework. Në GitHub ka shembuj botësh, funksionalitetet e framework-ut ndryshojnë, prandaj është e nevojshme të merret parasysh versioni i SDK-së që përdoret në botë.

Framework-u parashikon disa opsione për krijimin e botëve: përmes kodit klasik, mjeteve të linjës së komandave ose skemave vizuale. Opsioni i fundit vizualizon dialogët, për këtë mund të përdorni menaxherin Bot Framework Composer. Ai është krijuar mbi bazën e Bot Framework SDK si një mjet vizual për zhvillim, që ekipet ndërdisiplinore mund të përdorin për të krijuar botë.

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Bot Framework Composer lejon krijimin e strukturĂ«s sĂ« dialogĂ«ve pĂ«rmes blloqeve, me tĂ« cilat do tĂ« punojĂ« boti. PĂ«rveç kĂ«saj, mund tĂ« krijohen trigera, domethĂ«nĂ« fjalĂ« kyçe, ndaj tĂ« cilave boti do tĂ« reagojĂ« gjatĂ« dialogut. PĂ«r shembull, ndaj fjalĂ«ve “operator”, “vjedhje”, ose “ndalo” dhe “mjaft”.

Në Bot Framework Composer mund të krijoni një sistem dialogësh të ndërlikuar, duke përdorur Dialogët adaptivë. Dialogët mund të përdorin si shërbime kognitive ashtu edhe karta ngjarjesh (Adaptive Cards):

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Pas krijimit mund të shpërndani chatbot-in në abonim, përveç kësaj skripti që përgatitet automatikisht do të krijojë të gjitha burimet e nevojshme: shërbimet kognitive, planin e aplikacionit, Application Insights, bazën e të dhënave dhe kështu me radhë.

QnA Maker

Për krijimin e botëve të thjeshta të bazuara në bazat e të dhënave korporative të pyetjeve dhe përgjigjeve mund të përdoret shërbimi kognitiv QnA Maker. I realizuar si një wizard të thjeshtë web, ai lejon të jepni një link në bazën e korporatës (FAQ Urls) ose të përdorni një bazë dokumentesh në format *.doc ose *.pdf. Pas krijimit të indeksit, boti do të përzgjedhë automatikisht përgjigjet më të përshtatshme për pyetjet e përdoruesit.

Me QnAMaker mund të krijoni gjithashtu zinxhirë pyetjesh sqaruese me krijimin automatik të butonave, të plotësoni bazën e njohurive me meta të dhëna dhe të stërvitni shërbimin gjatë përdorimit.

Shërbimi mund të përdoret si një chatbot që implementon vetëm këtë funksion, ose si pjesë e një chatbot-i më të komplikuar, duke përdorur, varësisht nga kërkesa, dhe shërbime të tjera AI ose elemente të Bot Framework.

Puna me shërbime të tjera kognitive

Në platformën Azure ka shumë shërbime të ndryshme kognitive. Teknikisht, këto janë shërbime web të pavarura që mund të thirren nga kodi. Në përgjigje, shërbimi dërgon json të një formati të caktuar, të cilin mund ta përdorni në chatbot.

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës
Më shpesh në chatbot mund të përdoren:

  1. Njohja e tekstit.
  2. Njohja e kategorive të definiruara nga zhvilluesi të imazheve Shërbimi i Vizionit të Personalizuar (rast prodhimi: njohja, a e kishte punonjësi helmetën, xhaketën e sigurisë ose maskën).
  3. Njohja e fytyrave (rast i shkĂ«lqyer pĂ«rdorimi — verifikimi nĂ«se fytyra e vendosur nga anketuesi Ă«shtĂ« e tij, ose, pĂ«r shembull, njĂ« foto e qenit ose njĂ« foto e njĂ« personi tĂ« seksit tjetĂ«r).
  4. Njohja e zërit.
  5. Analiza e imazheve.
  6. Përkthimi (të gjithë ne e kujtojmë sa zhurmë shkaktoi përkthimi në kohë reale në Skype).
  7. Kontrolli i drejtshkrimit dhe sugjerimet për korrigjimin e gabimeve.

LUIS

Gjithashtu për krijimin e botëve mund të nevojitet LUIS (Shërbimi i Kuptimit të Gjuhës Inteligjente). Detyrat e shërbimit:

  • TĂ« pĂ«rcaktojĂ« nĂ«se njĂ« shprehje pĂ«rdoruesi ka kuptim dhe nĂ«se Ă«shtĂ« e nevojshme njĂ« reagim nga bota.
  • TĂ« shkurtojĂ« pĂ«rpjekjet pĂ«r transkriptimin e zĂ«rit (tekstit) tĂ« pĂ«rdoruesit nĂ« komanda tĂ« kuptueshme pĂ«r botĂ«n.
  • TĂ« parashikojĂ« qĂ«llimet e vĂ«rteta tĂ« pĂ«rdoruesve / synimet dhe tĂ« nxjerrĂ« informacione kyçe nga frazat nĂ« dialog.
  • TĂ« japĂ« mundĂ«sinĂ« zhvilluesit tĂ« lançojĂ« robotin duke pĂ«rdorur vetĂ«m disa shembuj tĂ« njohjes sĂ« kuptimit dhe pastaj stĂ«rviti robotin gjatĂ« punĂ«s.
  • TĂ« japĂ« mundĂ«sinĂ« zhvilluesit tĂ« pĂ«rdorĂ« vizualizimin pĂ«r tĂ« vlerĂ«suar cilĂ«sinĂ« e transkriptimit tĂ« komandave.
  • TĂ« ndihmojĂ« nĂ« pĂ«rmirĂ«simin hap pas hapi tĂ« njohjes sĂ« qĂ«llimeve tĂ« vĂ«rteta.

NĂ« thelb, qĂ«llimi kryesor i LUIS Ă«shtĂ« tĂ« kuptojĂ« me njĂ« probabilitet tĂ« caktuar se çfarĂ« kishte nĂ« mendje pĂ«rdoruesi dhe ta konvertojĂ« kĂ«rkesĂ«n natyrore nĂ« njĂ« komandĂ« tĂ« strukturuar. PĂ«r tĂ« njohur kuptimet e kĂ«rkesave, LUIS pĂ«rdor njĂ« grup qĂ«llimesh (kuptime, qĂ«llime) dhe entitetesh (ose tĂ« paracaktuara nga zhvilluesit, ose tĂ« marrĂ« dhe tĂ« formuara mĂ« parĂ« nga "domenet" – disa biblioteka tĂ« gatshme tĂ« frazave tipike, tĂ« pĂ«rgatitura nga Microsoft). 

NjĂ« shembull i thjeshtĂ«: keni njĂ« bot qĂ« jep parashikimin e motit. PĂ«r tĂ«, qĂ«llimi do tĂ« jetĂ« tĂ« kthejĂ« kĂ«rkesĂ«n natyrore nĂ« "veprim" – kĂ«rkesa pĂ«r parashikimin e motit, ndĂ«rsa entitetet do tĂ« jenĂ« koha dhe vendi. Do tĂ« ilustrojmĂ« skemĂ«n e punĂ«s sĂ« qĂ«llimit CheckWeather pĂ«r njĂ« bot tĂ« tillĂ«.

Qëllimi
Entiteti
Shembulli i kërkesës natyrore

CheckWeather
{"type": "location", "entity": "moscow"}
{"type": "builtin.datetimeV2.date", "entity": "future "," resolution ":" 2020-05-30 "}
Cili do të jetë moti nesër në Moskë

CheckWeather
{"type": "date_range", "entity": "this weekend"}
Më trego parashikimin për këtë fundjavë

Për të kombinuar QnA Maker dhe LUIS mund të përdorni Dispatcher. 

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Kur punoni me QnA Maker dhe merrni njĂ« kĂ«rkesĂ« nga pĂ«rdoruesi, sistemi pĂ«rcakton me sa pĂ«rqindje e pĂ«rputhja e pĂ«rgjigjes nga QnA i pĂ«rshtatet kĂ«rkesĂ«s. NĂ«se probabiliteti Ă«shtĂ« i lartĂ«, pĂ«rdoruesit i jepet automatikisht pĂ«rgjigjja nga baza e tĂ« dhĂ«nave pĂ«r korporatĂ«n, ndĂ«rsa nĂ«se Ă«shtĂ« i ulĂ«t – kĂ«rkesa mund tĂ« dĂ«rgohet nĂ« LUIS pĂ«r sqarim. PĂ«rdorimi i Dispatcher lejon qĂ« tĂ« mos programoni kĂ«tĂ« logjikĂ«, por tĂ« pĂ«rcaktoni automatikisht kĂ«tĂ« kufi ndarjeje tĂ« kĂ«rkesave dhe t'i shpĂ«rndani ato nĂ« mĂ«nyrĂ« operative.

Testimi dhe publikimi i botit

Për testim përdoret një aplikacion tjetër lokal, Bot framework emulator. Me ndihmën e emulatorit mund të komunikoni me botin dhe të kontroloni mesazhet që ai dërgon dhe merr. Emulatori tregon mesazhet ashtu siç do të duken në ndërfaqen e bisedës në web dhe regjistron kërkesat dhe përgjigjet JSON gjatë shkëmbimit të mesazheve me botin.

Shembulli i pĂ«rdorimit tĂ« emulatorit Ă«shtĂ« paraqitur nĂ« kĂ«tĂ« demonstrim, ku tregohet krijimi i njĂ« asistenti virtual pĂ«r BMW. Po ashtu, nĂ« video flitet pĂ«r akseleratorĂ«t e rinj pĂ«r krijimin e chat-boteve – templatet:

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës
https://youtu.be/u7Gql-ClcVA?t=564

Ju gjithashtu mund të përdorni templatet kur krijoni chat-botet tuaja. 
Templetët lejojnë që të mos shkruani funksione standarde të botit nga e para, por të shtoni kodin e gatshëm si "aftësi". Një shembull mund të jetë puna me kalendarin, caktimi i takimeve etj. Kodi i aftësive të gatshme u publikua në github.

Testimi kaloi me sukses, boti është gatshëm dhe tani duhet të publikohet dhe të lidhen kanalet. Publikimi bëhet përmes mjeteve Azure, ndërsa si kanale mund të përdoren mesazherët ose rrjetet sociale. Nëse nuk ka kanalin e nevojshëm për hyrjen e të dhënave, mund të kërkoni atë në komunitetin përkatës në GitHub. 

Gjithashtu, për të krijuar një chatbot të plotë si një ndërfaqe komunikimi me përdoruesit dhe shërbimet kognitive, natyrisht, do t'ju duhen shërbime të tjera Azure, si bazat e të dhënave, serverless (Azure Functions), si dhe shërbimet LogicApp dhe, ndoshta, Event Grid.

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Vlerësimi dhe analiza

Për të vlerësuar ndërveprimin me përdoruesit, mund të përdorni si analizën e integruar të Azure Bot Service, ashtu edhe shërbimin e veçantë Application Insights.

Si rezultat, mund të mbledhni informacione për kriteret e mëposhtme:

  • Sa pĂ«rdorues kanĂ« aksesuar botin nga kanale tĂ« ndryshme pĂ«r periudhĂ«n e zgjedhur.
  • Sa pĂ«rdorues, pas dĂ«rgimit tĂ« njĂ« mesazhi, janĂ« kthyer mĂ« vonĂ« dhe kanĂ« dĂ«rguar njĂ« tjetĂ«r.
  • Sa veprime janĂ« dĂ«rguar dhe marrĂ« pĂ«rmes çdo kanali pĂ«r intervalin e caktuar kohor.

Nëpërmjet Application Insights, mund të monitoroni çdo aplikacion në Azure dhe, në veçanti, chatbot-ët, duke marrë të dhëna shtesë për sjelljen e përdoruesve, ngarkesat dhe reagimin e chatbot-it. Duhet theksuar se shërbimi Application Insights ka një ndërfaqe të vetën në portalin Azure.

Gjithashtu, të dhënat e mbledhura përmes këtij shërbimi mund të përdoren për të krijuar vizualizime shtesë dhe raporte analitike në PowerBI. Një shembull i tillë raporti dhe një templet për PowerBI mund të merret këtu.

Shpejtojmë zhvillimin me shërbimet Azure: krijojmë chatbot dhe shërbime kognitive me mjete të platformës

Faleminderit të gjithëve për vëmendjen! Në këtë artikull ne përdorëm materiali nga webinari i arkitektit të Microsoft Azure, Anna Fenushina "Kur njerëzit nuk arrijnë. Si të përdoren 100% chatbotët dhe shërbimet kognitive për automatizimin e proceseve rutine", gjatë të cilit ne ilustruam qartë se çfarë janë chatbotët në Azure dhe cilat janë skenarët e përdorimit të tyre, si dhe demonstruam se si në 15 minuta të krijohet një bot në QnA Maker dhe si interpretohet struktura e kërkesave në LUIS. 

Ne e bëmë këtë webinar si pjesë e maratonës online për zhvilluesit Dev Bootcamp. Në të u diskutua për produktet që i shpejtojnë zhvillimet dhe e heqin një pjesë të ngarkesës rutinë nga punonjësit e kompanisë me ndihmën e mjeteve të automatizimit dhe moduleve të parakonfiguruara të Azure. Regjistrimet e webinareve të tjera që ishin pjesë e maratonës janë të disponueshme në lidhjet:

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster