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.

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:Â
- Shërbimet për zhvillimin e shpejtë të ndërfaqeve dialoguese (botëve).
- 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).
- 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:Â

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:Â

Për dizajnimin dhe zhvillimin e botëve në Azure përdoret . Në GitHub ka , 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 . 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ë.

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 mund të përdorin si shërbime kognitive ashtu edhe karta ngjarjesh (Adaptive Cards):

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.

Më shpesh në chatbot mund të përdoren:
- Njohja e tekstit.
- 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).
- 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).
- Njohja e zërit.
- Analiza e imazheve.
- Përkthimi (të gjithë ne e kujtojmë sa zhurmë shkaktoi përkthimi në kohë reale në Skype).
- Kontrolli i drejtshkrimit dhe sugjerimet për korrigjimin e gabimeve.
LUIS
Gjithashtu për krijimin e botëve mund të nevojitet (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 .Â

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, . 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:

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 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.

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 .

Faleminderit tĂ« gjithĂ«ve pĂ«r vĂ«mendjen! NĂ« kĂ«tĂ« artikull ne pĂ«rdorĂ«m 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:
- Â
Flasim pĂ«r evolucionin dhe mundĂ«sitĂ« e reja tĂ« shĂ«rbimit Azure DevOps. DiskutojmĂ« nĂ« detaje tĂ« pesĂ« komponentĂ«t e tij kryesorĂ« dhe si shĂ«rbimi ndihmon organizimin e zhvillimit industrial tĂ« softuerit. UdhĂ«heqĂ«si â Vladimir Gusarov Microsoft MVP.
ShikojmĂ« se si tĂ« realizojmĂ« qasjen "ndĂ«rtimi si kod" pĂ«r çdo gjuhĂ« programimi duke pĂ«rdorur pipelines multi-staged YAML. UdhĂ«heqĂ«si â Vladimir Gusarov Microsoft MVP.
DiskutojmĂ« se si tĂ« zhvillojmĂ« strategji pĂ«r ruajtjen e kodit burimor, si tĂ« pĂ«rdorim sistemet e ruajtjes sĂ« versioneve me ndihmĂ«n e Azure Repos. UdhĂ«heqĂ«si â Vladimir Gusarov Microsoft MVP.
Njohim metodikat e menaxhimit tĂ« open source nĂ« zhvillim dhe aplikimin praktik tĂ« mjetit WhiteSource. DiskutojmĂ« pĂ«r gjetjen e dobĂ«sive nĂ« komponentĂ«t me kod tĂ« hapur dhe ruajtjen e pastĂ«rtisĂ« licencore me ndihmĂ«n e WhiteSource. UdhĂ«heqĂ«sit â Diana Lisbaron, Drejtoresha e Shitjeve WhiteSource, dhe Oreshkina Darya, Web Control, distribues zyrtar i WhiteSource nĂ« Rusi.
Burimi: habr.com
