Tere, Habr! TĂ€na rÀÀgime sellest, kuidas Azure abil lahendada ĂŒlesandeid, mis tavaliselt nĂ”uavad inimeste sekkumist. Operaatorid kulutavad palju aega vastamiseks samadele kĂŒsimustele, telefonikĂ”nede ja tekstisĂ”numite töötlemiseks. Vestlusrobotid automatiseerivad suhtlemise ja tuvastamise, vĂ€hendades 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 mĂ”nevĂ”rra CLI-ga, kuid on interaktiivne, lubades arendajal mitte kontekstist vĂ€lja fallenud aruteludest.
Selles artiklis rÀÀgime tööriistadest vestlusrobotite loomiseks, nÀitame, kuidas neid saab kognitiivsete teenuste abil tÀiustada, ning kirjeldame, kuidas arendust kiirendada Azure'i valmis teenuste abil.

Vestlusrobotid ja kognitiivsed teenused: millised on sarnasused ja erinevused
Microsoft Azure'is bot'ide loomiseks kasutatakse Azure Boti teenust ja Bot Framework platvormi. Koos moodustavad need tarkvarakompleksi, mis vĂ”imaldab luua, testida, juurutada ja hallata roboteid, pakkudes vĂ”imalust luua valmis moodulitest nii lihtsaid kui ka keerulisi suhtlemisse sĂŒsteeme, mis toetavad kĂ”net, loomuliku keele mĂ”istmist ja muid funktsioone.
Oletame, et teil on vaja luua lihtne bot ettevĂ”tte kĂŒsimuste ja vastuste teenuse alusel vĂ”i vastupidi, vĂ€lja töötada keeruline bot, millel on keeruline suhtlemise sĂŒsteem. Selleks saate kasutada mitmeid tööriistu, mis on tinglikult jagatud kolme gruppi:Â
- Kiire dialoogiloodud teenused (robotid).
- Valmis kognitiivsed AI teenused erinevate kasutusstsenaariumide jaoks (piltide ja kÔne tuvastamine, teadmistebaas ja otsing).
- AI mudelite loomise ja koolitamise teenused.
Inimesed segavad sageli intuitiivselt "bobote" ja "kognitiivseid teenuseid", kuna mĂ”lemal pĂ”hinevad suhtlemise pĂ”himĂ”tted ja botide ning teenuste kasutusstsenaariumites esinevad dialoogid. Kuid juturobotid toimivad vĂ”tmesĂ”nade ja kĂ€ivitajate abil, samas kui kognitiivsed teenused kĂ€sitlevad vabu pĂ€ringuid, mida tavaliselt töötlevad inimesed:Â

Kognitiivsed teenused on veel ĂŒks viis kasutajaga suhtlemiseks, aidates konverteerida vabu pĂ€ringuid selgeks kĂ€suks ja edastada selle botile.Â
Seega on juturobotid rakendused pĂ€ringutega töötamiseks, samas kui kognitiivsed teenused on nutika analĂŒĂŒsi tööriistad, mis kĂ€ivitatakse eraldi, kuid millele vĂ”ib juturobot pöörduda, muutes selle "intelligentseks".Â
Juturobotite loomine
Soovitatav botide kavandamise skeem Azure'is on jĂ€rgmine:Â

Botide projekteerimiseks ja arendamiseks Azure'is kasutatakse . GitHubis on , raamistiku vÔimalused muutuvad, seega on oluline arvestada SDK versiooniga, mida botides kasutatakse.
Raamistik pakub mitmeid vĂ”imalusi botâide loomiseks: kas klassikalise koodi, kĂ€surea tööriistade vĂ”i plokkskeemide abil. Viimane variant visualiseerib dialooge, ja selleks saab kasutada haldurit. . See loodi Bot Framework SDK baasil kui visuaalne arendusvahend, mida multidistsiplinaarsed meeskonnad saaksid kasutada botâide loomiseks.

Bot Framework Composer vĂ”imaldab plokkide abil luua dialooge, millega bot töötab. Lisaks saab luua kĂ€ivitajaid, see tĂ€hendab mĂ€rksĂ”nu, millele bot reageerib dialooge pidamise ajal. NĂ€iteks sĂ”nad âoperaatorâ, âvargusâ vĂ”i âstoppâ ja âpiisabâ.
Bot Framework Composerâis saab luua keeruka filiaalidega dialoogisĂŒsteemi, kasutades . Dialoogid vĂ”ivad kasutada nii kognitiivseid teenuseid kui ka sĂŒndmuskaarte (Adaptive Cards):

PĂ€rast loomist saab vestlusbooti juurutada tellimuses, kusjuures automaatselt genereeritud skript loob kĂ”ik vajalikud ressursid: kognitiivsed teenused, rakenduse plaan, rakenduse analĂŒĂŒtika, andmebaas ja nii edasi.
QnA Maker
Lihtsate, ettevĂ”tte pĂ€ritolu kĂŒsimuste ja vastuste baasil chatbot'ide loomise jaoks saab kasutada QnA Maker'i kognitiivset teenust. See on rakendatud lihtsa veebivĂ”lurina, mis vĂ”imaldab sisestada lingi ettevĂ”tte teadmusbaasile (FAQ Urls) vĂ”i kasutada alusena dokumentide andmebaasi formaadis *.doc vĂ”i *.pdf. PĂ€rast indeksi loomist suudab chatbot ise leida sobivaid vastuseid kasutaja kĂŒsimustele.
QnAMaker'iga saab luua ka selgitavaid kĂŒsimustekeju, mis automaatselt genereerivad nuppe, tĂ€iendada teadmusbaasi metaandmetega ja tĂ€iendada teenust kasutamise kĂ€igus.
Teenust saab kasutada kui chatbot'i, mis tÀidab ainult selle funktsiooni, vÔi kui osa keerulisest chatbot'ist, mis kasutab sÔltuvalt pÀringust ka muid AI teenuseid vÔi Bot Framework'i elemente.
Koostöö teiste kognitiivsete teenustega
Azure platvormil on palju erinevaid kognitiivseid teenuseid. Tehniliselt on need iseseisvad veebiteenused, mida saab koodist kutsuda. Teenus saadab vastuseks kindlas formaadis json, mida saab kasutada chatbot'is.

Chatbot'ides kasutatakse kÔige sagedamini jÀrgmisi:
- TekstimÀrkamine.
- Kohandatud Vision Service'i mÀÀratletud kategooriate pildiarvamine (tööstusjuhtum: mÀrgata, kas töötajal on kiiver, kaitseprillid vÔi mask).
- NĂ€otuvastus (suurepĂ€rane kasutusjuht â kontrollida, kas kĂŒsitletav on tĂ”epoolest enda nĂ€gu ĂŒles laadinud vĂ”i nĂ€iteks koera pildist vĂ”i teise soo inimesest).
- KÔnetuvastus.
- Piltide analĂŒĂŒs.
- TĂ”lkimine (me kĂ”ik mĂ€letame, kui palju lĂ€rmi tegi sĂŒnkroontĂ”lge Skype'is).
- Ortograafia kontroll ning vigade parandusettepanekud.
LUIS
Samuti vĂ”ib botide loomisel olla vajalik (Language Understanding Intelligent Service). Teenuse ĂŒlesanded:
- MÀÀrata, kas kasutaja avalduse mÔte on arusaadav ja kas bot peab reageerima.
- VÀhendada vaeva, et transkribeerida kasutaja kÔne (tekst) arusaadavatesse botile kÀskudesse.
- Prognoosida tegelikke kasutaja eesmÀrke/soove ja eraldada vÔtmeinformatsioon lausetest dialoogis.
- Pakuda arendajale vÔimalust kÀivitada bot vaid mÔne mÔistmise nÀite abil ning seejÀrel bot töö kÀigus edasi arendada.
- Arendajale visualiseerimise vÔimaluse andmine, et hinnata kÀskude transkriptsiooni kvaliteeti.
- Aitamine tÔeliste eesmÀrkide tuvastamise jÀrk-jÀrgult parandamisel.
PĂ”himĂ”tteliselt on LUISi peamine eesmĂ€rk mĂ”ista, mida kasutaja tĂ”enĂ€oliselt mĂ”tles, ning muuta loomulik pĂ€ring ladusaks kĂ€skluseks. LUIS kasutab pĂ€ringute tĂ€henduste mĂ”istmiseks komplekti kavatsusi (tĂ€hendusi) ja entiteete (kas ette mÀÀratud arendajate poolt vĂ”i ette valmistatud domÀÀnidest â teatud tĂŒĂŒpiliste fraaside raamatukogud, mille Microsoft on kokku pannud).Â
Lihtne nĂ€ide: teil on bot, mis annab ilmaprognoosi. Selle jaoks on kavatsus tĂ”lgendada loomulikku pĂ€ringut âtegevuseksâ â ilmaprognoosi pĂ€ringuks, ja entiteetideks â aeg ja koht. Vaatame CheckWeather kavatsuse töö skeemi sellise boti jaoks.
Kavatsus
Entiteet
NÀide loomulikust pÀringust
CheckWeather
{ "type": "location", "entity": "moscow" }
{ "type": "builtin.datetimeV2.date", "entity": "future", "resolution": "2020-05-30" }
Milline ilm on homme Moskvas
CheckWeather
{ "type": "date_range", "entity": "this weekend" }
Kuva mulle prognoos sellel nÀdalavahetusel
QnA Makeri ja LUISi kombinatsiooni saab kasutada .Â

Kui töötate QnA Makeriga ja saate kasutajalt pĂ€ringu, mÀÀrab sĂŒsteem, kui suure tĂ”enĂ€osusega vastab QnA teadmusbaas sellele pĂ€ringule. Kui tĂ”enĂ€osus on kĂ”rge, antakse kasutajale automaatselt vastus ettevĂ”tte teadmusbaasist; kui madal, vĂ”ib pĂ€ring suunata LUIS-ile tĂ€psustamiseks. Dispatcher'i kasutamine vĂ”imaldab seda loogikat mitte kodeerida, vaid mÀÀrab automaatselt selle piiri pĂ€ringute jagamisel ja jaotamisel.
Boti testimine ja avaldamine
Testimiseks kasutatakse veel ĂŒhte kohalikku rakendust, . Emulaatoriga saab suhelda botiga ja kontrollida sĂ”numeid, mida ta saadab ja(receives) . Emulaator kuvab sĂ”numeid nii, nagu need vĂ€lja nĂ€evad veebichati liidese kaudu ning registreerib pĂ€ringud ja vastused JSON-i formaadis sĂ”numivahetuse kĂ€igus botiga.
Emulaatori nĂ€idist kasutatakse selles demonstratsioonis, kus nĂ€idatakse virtuaalse assistendi loomist BMW-le. Samuti rÀÀgitakse videos uutest kiirendajatest vestlusbotide loomiseks â malli:

Samuti saate oma vestlusrobotite loomisel kasutada malle.Â
Malle kasutades ei pea te robotifunktsioone uuesti kirjutama, vaid saate valmis koodi lisada kui 'oskust'. NÀiteks vÔib see hÔlmata kalendri kasutamist, kohtumiste mÀÀramist jne. Valmisoskuste kood. githubis.
Testimine on edukalt lĂ”pule viidud, robot on valmis ja nĂŒĂŒd tuleb see avaldada ja kanalid ĂŒhendada. Avaldamine toimub Azure'i teenuste kaudu ning kanalitena saab kasutada sĂ”numitoojaid vĂ”i sotsiaalmeediat. Kui vajalikku andmete sisendi kanalit pole, otsige seda vastavast GitHubi kogukonnast.Â
TÔelise vestlusroboti loomiseks vajate kasutajaliidese ja kognitiivsete teenuste jaoks muid Azure'i teenuseid, nagu andmebaasid, serverivabad teenused (Azure Functions), samuti LogicApp teenused ja vÔib-olla ka Event Grid.

Hindamine ja analĂŒĂŒs
Kasutajatega suhtlemise hindamiseks saate 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 valitud ajavahemikus botile erinevate kanalite kaudu juurde pÀÀseda.
- Kui palju ĂŒksikute sĂ”numite saatnud kasutajaid naasis hiljem ja saatis veel ĂŒhe sĂ”numi.
- Kui palju toiminguid mÀÀratud ajavahemikus iga kanali kaudu saadeti ja saadi.
Application Insightsâi abil saab jĂ€lgida kĂ”iki rakendusi Azure'is, sealhulgas vestlusroboteid, et saada tĂ€iendavaid andmeid kasutajate kĂ€itumise, koormuste ja vestlusroboti reaktsioonide kohta. Tasub mĂ€rkida, et Application Insights'i teenusel on oma liides Azureâi portaalis.
Kogutud andmeid saab samuti kasutada tĂ€iendavate visualiseerimiste ja analĂŒĂŒtiliste raportite loomise jaoks PowerBI-s. NĂ€iteks sellise raporti ja PowerBI malli saab vĂ”tta .

AitĂ€h kĂ”igile tĂ€helepanu eest! Selles artiklis kasutasime Microsoft Azure'i arhitektilt Anna Fenjushinilt veebiseminarist "Kui inimesed ei jĂ”ua. Kuidas 100% kasutada vestlusroboteid ja kognitiivseid teenuseid rutiinsete protsesside automatiseerimiseks", kus me nĂ€itasime selgelt, mis on Azure'is vestlusrobotid ja kuidas neid rakendada, ning demonstreerisime, kuidas luua 15 minutiga bot QnA Makeris ja kuidas LUISi pĂ€ringute struktuur lahti muudetakse.Â
Selle veebiseminari korraldasime Dev Bootcampi arendajatele mÔeldud veebimaratoni raames. Seminaris rÀÀgiti toodetest, mis kiirendavad arendustööd ja vÀhendavad personali rutiinset koormust automatiseerimise tööriistade ning eelkonfigureeritud Azure'i moodulite abil. Muude veebiseminaride salvestused, mis kuuluvad maratoni, on saadaval linkide kaudu:
- Â
RÀÀgime Azure DevOpsi teenuse arengust ja uutest vĂ”imalustest. Ăksikasjalikult kĂ€sitleme kĂ”iki viit pĂ”hikomponenti ja seda, kuidas teenus aitab kaasa tarkvaraarenduse tööstusstandarditele. Esineja â Vladimir Gusarov, Microsoft MVP.
KĂ€ime lĂ€bi, kuidas rakendada 'koodina ehitamise' lĂ€henemist mis tahes programmeerimiskeelte jaoks, kasutades multi-staged YAML pipelines. Esineja â Vladimir Gusarov, Microsoft MVP.
Arutame, kuidas vĂ€lja töötada tarkvara allika koodi hoidmise strateegiaid ja kuidas kasutada versioonihaldussĂŒsteeme Azure Reposi kaudu. Esineja â Vladimir Gusarov, Microsoft MVP.
Tutvustame avatud lĂ€htekoodiga haldamise meetodeid arenduses ja WhiteSourcei tööriista praktilist rakendamist. RÀÀgime avatud lĂ€htekoodiga komponentide haavatavuste leidmisest ja litsentside puhtuse jĂ€rgimisest WhiteSourcei abil. Esinejad â Diana Lisbaron, WhiteSource'i mĂŒĂŒgijuht, ja Daria Oreshkina, Web Control, WhiteSource'i ametlik jaotaja Venemaal.
Allikas: habr.com
