Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

Tere, Habr! TĂ€na rÀÀgime, kuidas Azure abil lahendada ĂŒlesandeid, mis tavaliselt nĂ”uavad inimtegevust. Operaatorid kulutavad palju aega, et vastata samadele kĂŒsimustele, töödelda telefonikĂ”nesid ja tekstisĂ”numeid. Vestlusrobotid automatiseerivad suhtlemist ja tuvastamist, vĂ”imaldades vĂ€hendada inimeste koormust. Samuti kasutatakse roboteid Azure DevOpsis, kus nad vĂ”imaldavad nĂ€iteks kinnitada versioone, hallata ehitusi – vaadata, kĂ€ivitada ja peatada – otse Slackist vĂ”i Microsoft Teamsist. Sisuliselt sarnaneb vestlusrobot millegagi CLI-le, ainult interaktiivselt, ja vĂ”imaldab arendajal mitte lahkuda vestluse kontekstist.

Selles artiklis rÀÀgime vestlusrobotite loomise tööriistadest, nÀitame, kuidas neid saab parandada kognitiivsete teenuste abil, ja kirjeldame, kuidas arendust kiirendada tÀnu valmis teenustele Azure'is.

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

Vestlusrobotid ja kognitiivsed teenused: sarnasused ja erinevused

Microsoft Azure'is vestlusrobotite loomiseks kasutatakse Azure Boti teenust ja Bot Frameworki platvormi. Koos nad moodustavad tarkvara komplekti robotite koostamiseks, testimiseks, juurutamiseks ja haldamiseks, mis vĂ”imaldab luua nii lihtsaid kui ka arenenud suhtluse sĂŒsteeme koos kĂ”nesuhtluse, looduse keele tuvastamise ja muude vĂ”imalustega.

Oletame, et peate rakendama lihtsa robotit ettevĂ”tte kĂŒsimuste ja vastuste teenusel vĂ”i, vastupidi, looma funktsionaalse roboti keeruka hargneva suhtlussĂŒsteemiga. Selleks saab kasutada mitmeid tööriistu, mida vĂ”ib umbkaudu jagada kolme gruppi: 

  1. Dialoogivahendite (robotite) kiire arendamise teenused.
  2. Valmis kognitiivsed tehisintellekti teenused erinevate kasutusstsenaariumide jaoks (pildituvastus, kÔnetuvastus, teadmusbaas ja otsing).
  3. Tehisintellekti mudelite loomise ja treenimise teenused.

Inimesed segavad tavaliselt intuitsiooni poolest 'roboteid' ja 'kognitiivseid teenuseid', kuna nende mÔistete aluseks on suhtlemise printsiip ning robotite ja teenuste kasutusstsenaariumites on dialoogid. Kuid vestlusrobotid töötavad vÔtmesÔnade ja stiimulitega, samas kui kognitiivsed teenused töötlevad vabalt esitatud pÀringuid, mille tavaliselt töötlevad inimesed: 

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

Kognitiivsed teenused on veel ĂŒks viis suhtlemiseks kasutajaga, aidates muuta juhusliku pĂ€ringu selgeks kĂ€skluseks ja edastada selle edasi botile. 

Nii et vestlusbotid on rakendused, mis töötavad pĂ€ringutega, ja kognitiivsed teenused on nutika analĂŒĂŒsi tööriistad, mida kĂ€ivitatakse eraldi, kuid mille poole vestlusbot vĂ”ib pöörduda, muutes selle 'intelligentseks'. 

Vestlusbotide loomine

Soovitatav botide projektimise skeem Azure'is nÀeb vÀlja jÀrgmine: 

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

Botide projekteerimiseks ja arendamiseks Azure'is kasutatakse Bot Framework. GitHubis on olemas botide nÀidised, raamistik muutub pidevalt, seega tuleb arvestada SDK versiooniga, mida botides kasutatakse.

Raamistik eeldab mitmeid vÔimalusi botide loomiseks: klassikalise koodi, kÀsurea tööriistade vÔi plokkdiagrammide abil. Viimane vÔimalus visualiseerib dialoogid, mille jaoks saab kasutada haldurit Bot Framework Composer. See loodi Bot Framework SDK baasil visuaalse arendustööriistana, mida interdistsiplinaarsed meeskonnad saaksid kasutada botide loomiseks.

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

Bot Framework Composer vÔimaldab plokkide abil luua dialooge, millega bot töötab. Samuti on vÔimalik luua kÀivitajaid, st mÀrksÔnu, millele bot reageerib dialooge kÀies. NÀiteks sÔnad 'operaator', 'vargus' vÔi 'peatu' ja 'jÀtku'.

Bot Framework Composer'is on vĂ”imalik luua keerukaid hargnevaid dialoogisĂŒsteeme, kasutades Adaptive Dialogs. Dialoogid saavad kasutada nii kognitiivseid teenuseid kui ka sĂŒndmuste kaarte (Adaptive Cards):

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

PÀrast loomist on vÔimalik vestlusrobotit juurutada tellimuses, kus automaatselt genereeritud skript loob kÔik vajalikud ressursid: kognitiivsed teenused, rakenduse plaan, Application Insights, andmebaas jne.

QnA Maker

Lihtsate botide loomiseks ettevĂ”tte kĂŒsimuste ja vastuste andmebaaside pĂ”hjal saab kasutada kognitiivset teenust QnA Maker. See, mis on teostatud lihtsa veebivĂ”luri kujul, vĂ”imaldab esitada sisendiks lingi ettevĂ”tte teadmistetalli (Korduma kippuvad kĂŒsimused) vĂ”i vĂ”tta aluseks dokumentide andmebaasi formaadis *.doc vĂ”i *.pdf. PĂ€rast indeksi loomist peab bot ise kasutaja kĂŒsimustele kĂ”ige sobivamad vastused vĂ€lja otsima.

QnAMaker aitab luua ka tĂ€iendavate kĂŒsimuste ahelaid koos automaatselt loodud nuppudega, rikastada teadmistebaasi metaandmetega ning tĂ€iendada teenust kasutamise kĂ€igus.

Teenust vÔib kasutada kui juturobot, mis tÀidab ainult seda funktsiooni, vÔi keerulise juturoboti osana, mis kasutab vajadusel ka teisi tehisintellekti teenuseid vÔi Bot Framework elemente.

Töötamine teiste kognitiivsete teenustega

Azure platvormil on palju erinevaid kognitiivseid teenuseid. Tehniliselt on need iseseisvad veebiteenused, mida saab koodist kutsuda. Teenus saadab vastuseks mÀÀratud formaadis json, mida saab kasutada juturoboti juures.

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.
Juturoboti puhul kasutatakse kÔige sagedamini jÀrgmisi teenuseid:

  1. Teksti Àratundmine.
  2. Arendaja mÀÀratletud piltide kategooriate Àratundmine, Custom Vision Service (tootmisjuhtum: Àratundmine, kas töötajal on kiiver, kaitseprillid vÔi mask).
  3. NĂ€otuvastus (hea kasutusjuht on kontrollida, kas kĂŒsitletud on kasutanud oma nĂ€gu vĂ”i on see nĂ€iteks koera foto vĂ”i vastassugupoole inimese foto).
  4. KÔnetuvastus.
  5. Piltide analĂŒĂŒs.
  6. TÔlge (kÔik me mÀletame, kui palju kÔmu tekitas simultaan tÔlge Skype'is).
  7. Õigekirjakontroll ja ettepanekud vigade parandamiseks.

LUIS

Roboide loomiseks vĂ”ib olla vajalik ka LUIS (Language Understanding Intelligent Service). Teenuse ĂŒlesanded:

  • MÀÀrata, kas kasutaja vĂ€ljendus on mĂ”ttekas ja kas robot peab reageerima.
  • VĂ€hendada kasutaja kĂ”ne (teksti) transkribeerimise pingutusi arusaadavateks robotikĂ€skudeks.
  • Prognoosida tegelikke kasutaja eesmĂ€rke/soove ja ekstraheerida olulist teavet vĂ€ljenditest dialoogis.
  • Anda arendajale vĂ”imalus robot kĂ€ivitada, kasutades ainult mĂ”nda mĂ”istmise nĂ€idet, ning seejĂ€rel tĂ€iendada robotit töö kĂ€igus.
  • Anda arendajale vĂ”imalus kasutada visuaalset esitlust, et hinnata kĂ€skude transkribeerimise kvaliteeti.
  • Aidata samm-sammult parandada tegelike eesmĂ€rkide Ă€ratundmist.

EesmÀrk on, et LUIS mÔistaks tÔenÀoliselt, mida kasutaja silmas pidas, ja muundaks loomuliku pÀringu selgesse kÀsusse. LUIS kasutab pÀringute tÀhenduste tuvastamiseks komplekti intente (tahteid) ja entiteete (kas eelnevalt arendajate poolt mÀÀratletud vÔi Microsofti loodud valmiduste kaudu). 

Lihtne nĂ€ide: teil on bot, mis annab ilmateate. Selle jaoks on intent loomuliku pĂ€ringu muundamine 'tegevuseks' — ilmaprognoosi pĂ€ring, ja entiteetideks on aeg ja koht. Toome nĂ€ite CheckWeather intent'i töö tĂ€nase boti jaoks.

Intent
Entiteet
NÀide loomulikust pÀringust

CheckWeather
{"type": "location", "entity": "moscow"}
{"type": "builtin.datetimeV2.date", "entity": "future "," resolution ":" 2020-05-30 "}
Milline ilm homme Moskvas on

CheckWeather
{"type": "date_range", "entity": "this weekend"}
NÀita mulle prognoosi nende nÀdalavahetuste kohta

QnA Maker ja LUIS'i kombinatsiooni saab kasutada Dispatcher. 

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

Kui töötate QnA Makeriga ja saate kasutajalt pĂ€ringu, mÀÀrab sĂŒsteem, kui suure tĂ”enĂ€osusega sobib QnA-sĂŒsteemist saadud vastus pĂ€ringule. Kui tĂ”enĂ€osus on kĂ”rge, antakse kasutajale lihtsalt organisatsiooni teadmusbaasi vastus, kui madal — pĂ€ring vĂ”ib minna LUISi, et selgitada. Dispatcher'i kasutamine vĂ”imaldab mitte programmeerida seda loogikat, vaid automaatselt mÀÀrata piir pĂ€ringute ja nende jaotamise vahel.

Boti testimine ja avaldamine

Testimiseks kasutatakse veel ĂŒhte kohaliku rakenduse Bot framework emulator. Emulaatori abil saab suhelda botiga ja kontrollida saadetud ja saadud sĂ”numeid. Emulaator kuvab sĂ”numid nii, nagu nad ilmuvad veebivestluse liideses, ja registreerib pĂ€ringud ja vastused JSON-formaadis sĂ”numite vahetamisel botiga.

Emulaatori kasutamise nĂ€ide on esitatud selles demonstreerimises, kus nĂ€idatakse BMW virtuaalse assistendi loomist. Videos rÀÀgitakse ka uutest kiirenditest, mis aitavad luua juturoboteid — mallidest:

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.
https://youtu.be/u7Gql-ClcVA?t=564

Saate samuti kasutada mallide loomisel oma juturoboteid. 
Mallid vĂ”imaldavad mitte kirjutada tĂŒĂŒpilisi roboti funktsioone uuesti, vaid lisada juba valmis koodi kui "oskust". NĂ€iteks vĂ”ib tuua kalendri haldamise, kohtumiste mÀÀramise jne. Valmisoskuste kood avaldati githubis.

Testimine lĂ€ks edukalt, robot on valmis ja nĂŒĂŒd tuleb see avaldada ja kanalid ĂŒhendusse liita. Avaldamine toimub Azure'i vahendite abil, kanalaidena saab kasutada sĂ”numitoojaid vĂ”i sotsiaalmeediat. Kui vajaminevat sisestuskanalit pole, siis vĂ”ib seda otsida vastavast GitHub'i kogukonnast. 

Samuti vajate tÀieliku vestlusroboti loomiseks, et suhelda kasutaja ja kognitiivsete teenustega, muid Azure'i teenuseid, nagu andmebaasid, serverita (Azure Functions), samuti LogicApp teenuseid ja vÔimalusel Event Grid.

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

Hindamine ja analĂŒĂŒtika

Kasutajate suhtluse hindamiseks saab kasutada nii Azure Bot Service'i sisseehitatud analĂŒĂŒtikat kui ka spetsiaalset teenust Application Insights.

Tulemuseks on vÔimalik koguda teavet jÀrgmiste kriteeriumide alusel:

  • Kui palju kasutajaid sai robotile juurdepÀÀsu erinevatest kanalitest valitud ajavahemiku jooksul.
  • Kui palju kasutajaid, kes saatsid ĂŒhe sĂ”numi, naasid hiljem ja saatsid veel ĂŒhe.
  • Kui palju toiminguid oli iga kanali kaudu saadetud ja saadud mÀÀratud ajavahemiku jooksul.

Application Insights'i abil on vÔimalik jÀlgida mis tahes rakendusi Azure's, sealhulgas vestlusroboteid, saades lisateavet kasutajate kÀitumise, koormuste ja roboti reageeringute kohta. Tuleb mÀrkida, et Application Insights teenusel on oma liides Azure'i portaalis.

Samuti saab selle teenuse kaudu kogutud andmeid kasutada lisavisualiseerimise ja analĂŒĂŒsiraportite loomiseks PowerBI's. Sellise raporti nĂ€idise ja PowerBI templi vĂ”ib leida siin.

Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.

KÔigile tÀnud tÀhelepanu eest! Selles artiklis kasutasime artikkel Microsoft Azure arhitekti Anna Fenjushina veebinarist "Kui inimesed ei jÔua. Kuidas kasutada 100% vestlusroboteid ja kognitiivseid teenuseid rutiinsete protsesside automatiseerimiseks", kus nÀitasime visuaalselt, mis on Azure'is vestlusrobotid ja millised on nende kasutusstsenaariumid, ning demonstreerisime, kuidas 15 minutiga luua robot QnA Maker'is ja kuidas pÀringute struktuur LUIS'es lahti kirjutatakse. 

Me tegime selle veebiseminari Dev Bootcampi arendajate online-maratoni raames. Sel teemal rÀÀkisime toodetest, mis kiirendavad arendust ja leevendavad osa rutiinsest koormusest ettevÔtte töötajatele automatiseerimistööriistade ja eelnevalt seadistatud Azure moodulite abil. Muude maratonisse kuuluvate veebiseminaride salvestused on saadaval linkide kaudu:

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster