Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

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.

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi 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: 

  1. Kiire dialoogiloodud teenused (robotid).
  2. Valmis kognitiivsed AI teenused erinevate kasutusstsenaariumide jaoks (piltide ja kÔne tuvastamine, teadmistebaas ja otsing).
  3. 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: 

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

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: 

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

Botide projekteerimiseks ja arendamiseks Azure'is kasutatakse Bot Framework. GitHubis on botide nÀiteid, 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. Bot Framework Composer. See loodi Bot Framework SDK baasil kui visuaalne arendusvahend, mida multidistsiplinaarsed meeskonnad saaksid kasutada bot’ide loomiseks.

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

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 Adaptive Dialogs. Dialoogid vĂ”ivad kasutada nii kognitiivseid teenuseid kui ka sĂŒndmuskaarte (Adaptive Cards):

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

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.

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil
Chatbot'ides kasutatakse kÔige sagedamini jÀrgmisi:

  1. TekstimÀrkamine.
  2. Kohandatud Vision Service'i mÀÀratletud kategooriate pildiarvamine (tööstusjuhtum: mÀrgata, kas töötajal on kiiver, kaitseprillid vÔi mask).
  3. 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).
  4. KÔnetuvastus.
  5. Piltide analĂŒĂŒs.
  6. TĂ”lkimine (me kĂ”ik mĂ€letame, kui palju lĂ€rmi tegi sĂŒnkroontĂ”lge Skype'is).
  7. Ortograafia kontroll ning vigade parandusettepanekud.

LUIS

Samuti vĂ”ib botide loomisel olla vajalik LUIS (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 Dispatcher. 

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

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, Bot framework emulator. 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:

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil
https://youtu.be/u7Gql-ClcVA?t=564

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

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

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

Kiirendame arendust Azure teenuste abil: loome vestlusrobotid ja kognitiivsed teenused platvormi abil

AitÀh kÔigile tÀhelepanu eest! Selles artiklis kasutasime materjal 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:

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster