Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Tere, Habr! Täna näitame teile, kuidas kasutada Azure'i probleemide lahendamiseks, mis tavaliselt nõuavad inimese sekkumist. Agendid kulutavad palju aega samadele küsimustele vastamisele, telefonikõnede ja tekstisõnumite käsitlemisele. Vestlusbotid automatiseerivad suhtlemist ja tuvastamist ning vähendavad inimeste koormust. Bote kasutatakse ka Azure DevOpsis, kus need võimaldavad näiteks väljalaseid kinnitada, järge hallata – vaadata, käivitada ja peatada – otse Slackist või Microsoft Teamsist. Sisuliselt meenutab vestlusbot mõnevõrra CLI-d, ainult interaktiivne ja võimaldab arendajal jääda vestluse arutelu konteksti.

Selles artiklis räägime vestlusrobotite loomise tööriistadest, näitame, kuidas neid saab kognitiivsete teenustega täiustada, ja kirjeldame, kuidas kiirendada arengut Azure'i valmisteenustega.

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Vestlusbotid ja kognitiivsed teenused: millised on sarnasused ja millised on erinevused?

Microsoft Azure'is robotite loomiseks kasutate Azure'i robotite teenust ja robotite raamistikku. Koos kujutavad nad endast robotite ehitamise, testimise, juurutamise ja administreerimise tarkvarakomplekti, mis võimaldab valmismoodulitest luua nii lihtsaid kui ka täiustatud kõnetoe, loomuliku keeletuvastuse ja muude võimalustega suhtlussüsteeme.

Oletame, et peate juurutama lihtsa bot, mis põhineb ettevõtte Q&A teenusel või vastupidi, looma keeruka hargnenud sidesüsteemiga funktsionaalse roboti. Selleks saate kasutada mitmeid tööriistu, mis on jagatud kolme rühma: 

  1. Teenused dialoogiliideste (bottide) kiireks arendamiseks.
  2. Valmis kognitiivsed AI-teenused erinevateks kasutusjuhtudeks (mustrituvastus, kõnetuvastus, teadmistebaas ja otsing).
  3. Teenused AI mudelite loomiseks ja koolitamiseks.

Tavaliselt ajavad inimesed intuitiivselt segamini "botid" ja "kognitiivsed teenused", kuna mõlemad mõisted põhinevad suhtluspõhimõttel ning robotite ja teenuste kasutusjuhtum hõlmab dialooge. Kuid vestlusrobotid töötavad märksõnade ja käivitajatega ning kognitiivsed teenused töötavad suvaliste päringutega, mida tavaliselt töötlevad inimesed. 

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Kognitiivsed teenused on veel üks viis kasutajaga suhtlemiseks, aidates suvalise päringu teisendada selgeks käsuks ja edastada selle robotile. 

Seega on vestlusrobotid rakendused päringutega töötamiseks ja kognitiivsed teenused on tööriistad taotluste intelligentseks analüüsiks, mis käivitatakse eraldi, kuid millele vestlusbot pääseb juurde, muutudes "intelligentseks". 

Vestlusrobotite loomine

Azure'i roboti soovitatav disainiskeem on järgmine: 

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Azure'is robotite kujundamiseks ja arendamiseks kasutage Boti raamistik. Saadaval GitHubis näited robotitest, raamistiku võimalused muutuvad, seega tuleb arvestada robotites kasutatava SDK versiooniga.

Raamistik pakub robotite loomiseks mitmeid võimalusi: klassikalise koodi, käsureatööriistade või vooskeemide kasutamine. Viimane valik visualiseerib dialoogid, selleks saate kasutada haldurit Boti raamistiku helilooja. See oli üles ehitatud Bot Framework SDK-le kui visuaalsele arendustööriistale, mida valdkonnaülesed meeskonnad said robotite loomiseks kasutada.

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Bot Framework Composer võimaldab teil kasutada plokke, et luua dialoogistruktuur, millega robot töötab. Lisaks saate luua käivitajaid, st märksõnu, millele robot dialoogi ajal reageerib. Näiteks sõnad "operaator", "vargus" või "peatus" ja "piisavalt".

Rakenduses Bot Framework Composer saate luua keerukaid dialoogisüsteeme Kohanduvad dialoogid. Dialoogides saab kasutada nii kognitiivseid teenuseid kui ka sündmuste kaarte (adaptiivsed kaardid):

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Pärast loomist saate vestlusroboti juurutada tellimuses ja automaatselt koostatud skript loob kõik vajalikud ressursid: kognitiivsed teenused, rakendusplaan, rakenduste ülevaated, andmebaas jne.

QnA tegija

Ettevõtte Q&A andmebaasidel põhinevate lihtsate robotite loomiseks saate kasutada kognitiivset teenust QnA Maker. Lihtsa veebiviisardina rakendatuna võimaldab see sisestada lingi ettevõtte teadmistebaasi (KKK URL-id) või kasutada aluseks *.doc või *.pdf formaadis dokumentide andmebaasi. Pärast indeksi loomist valib robot automaatselt kasutaja küsimustele kõige sobivamad vastused.

QnAMakeri abil saate luua ka täpsustavate küsimuste ahelaid koos nuppude automaatse loomisega, täiendada teadmistebaasi metaandmetega ja teenust kasutamise käigus edasi koolitada.

Teenust saab kasutada vestlusrobotina, mis rakendab ainult seda ühte funktsiooni, või osana keerulisest vestlusrobotist, mis kasutab olenevalt taotlusest muid AI teenuseid või Bot Frameworki elemente.

Töö teiste kognitiivsete teenustega

Azure'i platvormil on palju erinevaid kognitiivseid teenuseid. Tehniliselt on need sõltumatud veebiteenused, mida saab koodist välja kutsuda. Vastuseks saadab teenus teatud vormingus json-i, mida saab vestlusbotis kasutada.

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid
Kõige levinumad vestlusrobotite kasutusviisid on järgmised:

  1. Teksti äratundmine.
  2. Arendaja määratletud Custom Vision Service pildikategooriate tuvastamine (tootmisjuhtum: tuvastamine, kas töötaja kannab kaitsekübarat, kaitseprille või maski).
  3. Näotuvastus (suurepärane kasutusjuht on kontrollida, kas uuritav inimene postitas oma näo või näiteks foto koerast või foto teisest soost inimesest).
  4. Kõnetuvastus.
  5. Pildi analüüs.
  6. Tõlge (me kõik mäletame, kui palju müra tekitas Skype'i sünkroontõlge).
  7. Õigekirjakontroll ja soovitused vigade parandamiseks.

LUIS

Samuti võib vaja minna robotite loomiseks LUIS (Language Understanding Intelligent Service). Teenuse eesmärgid:

  • Tehke kindlaks, kas kasutaja avaldus on mõttekas ja kas roboti vastus on vajalik.
  • Vähendage jõupingutusi kasutaja kõne (teksti) transkribeerimiseks robotile arusaadavateks käskudeks.
  • Ennustage kasutaja tegelikke eesmärke/kavatsusi ja ammutage dialoogis olevatest fraasidest põhiteave.
  • Lubage arendajal robot käivitada, kasutades vaid mõnda näidet tähenduse tuvastamisest ja sellele järgnevast roboti lisakoolitusest töö ajal.
  • Lubage arendajal kasutada käsu transkriptsiooni kvaliteedi hindamiseks visualiseerimist.
  • Aidake kaasa tõelise sihtmärgi tuvastamise järkjärgulisele täiustamisele.

Tegelikult on LUIS-i põhieesmärk teatud tõenäosusega mõista, mida kasutaja silmas pidas, ja teisendada loomulik päring harmooniliseks käsuks. Päringu väärtuste tuvastamiseks kasutab LUIS kavatsuste (tähenduste, kavatsuste) ja olemite komplekti (kas arendajate poolt eelseadistatud või eelnevalt moodustatud domeenid - mõned Microsofti koostatud standardfraaside valmis teegid). 

Lihtne näide: teil on robot, mis annab teile ilmateate. Tema jaoks on kavatsus loomuliku taotluse tõlkimine "tegevuseks" - ilmaprognoosi taotluseks ning olemiteks on aeg ja koht. Siin on diagramm selle kohta, kuidas CheckWeatheri kavatsus sellise roboti puhul töötab.

Kavatsus
Essents
Loomuliku päringu näide

Kontrolli Ilm
{"tüüp": "asukoht", "üksus": "moskva"}
{"tüüp": "builtin.datetimeV2.date", "entity": "future","resolution":"2020-05-30"}
Milline on ilm homme Moskvas?

Kontrolli Ilm
{ "type": "date_range", "entity": "see nädalavahetus" }
Näita mulle selle nädalavahetuse prognoosi

QnA Makeri ja LUIS-i kombineerimiseks saate kasutada Saatja

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Kui töötate QnA Makeriga ja saate kasutajalt päringu, määrab süsteem, kui suure tõenäosusega vastab QnA vastus päringule. Kui tõenäosus on suur, antakse kasutajale lihtsalt vastus ettevõtte teadmistebaasist, kui see on väike, saab päringu saata LUIS-ile selgituste saamiseks. Dispatcheri kasutamine võimaldab teil seda loogikat mitte programmeerida, vaid automaatselt määrata päringute eraldamise serva ja neid kiiresti levitada.

Boti testimine ja avaldamine

Testimiseks kasutatakse teist kohalikku rakendust, Boti raamistiku emulaator. Emulaatori abil saate suhelda robotiga ning kontrollida selle saadavaid ja vastuvõetavaid sõnumeid. Emulaator kuvab sõnumeid nii, nagu need kuvatakse veebivestluse liideses, ning logib robotile sõnumite saatmisel JSON-i päringud ja vastused.

Selles demos on näide emulaatori kasutamisest, mis näitab BMW virtuaalse assistendi loomist. Videos räägitakse ka uutest vestlusrobotite loomise kiirenditest – mallidest:

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

Malle saate kasutada ka vestlusrobotite loomisel. 
Mallid võimaldavad standardseid botfunktsioone mitte uuesti kirjutada, vaid lisada "oskusena" valmis koodi. Näiteks võib tuua kalendriga töötamise, kohtumiste kokkuleppimise vms. Valmisoskuste kood avaldatud githubis.

Testimine õnnestus, bot on valmis ja nüüd tuleb see avaldada ja kanalid ühendada. Avaldamine toimub Azure'i abil ning kanalitena saab kasutada sõnumitoojaid või suhtlusvõrgustikke. Kui sul andmete sisestamiseks vajalikku kanalit pole, saad seda otsida GitHabi vastavast kommuunist. 

Täisväärtusliku vestlusroboti loomiseks kasutajaga suhtlemise ja kognitiivsete teenuste liidesena vajate loomulikult täiendavaid Azure'i teenuseid, nagu andmebaasid, serverita (Azure'i funktsioonid), samuti LogicAppi teenuseid ja võib-olla , Sündmuste ruudustik.

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Hindamine ja analüüs

Kasutaja interaktsiooni hindamiseks saate kasutada nii Azure Bot Service'i sisseehitatud analüütikat kui ka spetsiaalset teenust Application Insights.

Selle tulemusena saate teavet koguda järgmiste kriteeriumide alusel:

  • Kui palju kasutajaid valitud aja jooksul erinevatest kanalitest robotile juurde pääses.
  • Kui palju ühe sõnumi saatnud kasutajaid naasis hiljem ja saatis teise.
  • Kui palju toiminguid saadeti ja vastu võeti iga kanali kaudu määratud ajaintervalli jooksul.

Application Insightsi abil saate jälgida mis tahes Azure'i rakendusi ja eriti vestlusroboteid, hankides lisaandmeid kasutaja käitumise, laadimiste ja vestlusrobotite reaktsioonide kohta. Tuleb märkida, et Application Insightsi teenusel on Azure'i portaalis oma liides.

Selle teenuse kaudu kogutud andmeid saate kasutada ka PowerBI-s täiendavate visualiseerimiste ja analüütiliste aruannete loomiseks. Sellise PowerBI aruande ja malli kohta võib tuua näite siin.

Kiirendame arendust Azure'i teenuste abil: loome platvormi kasutades vestlusroboteid ja kognitiivseid teenuseid

Tänan teid kõiki tähelepanu eest! Selles artiklis kasutasime materjal Microsoft Azure’i arhitekti Anna Fenyushina veebiseminarilt “Kui inimestel pole aega. Kuidas 100% kasutada vestlusroboteid ja kognitiivseid teenuseid rutiinsete protsesside automatiseerimiseks”, kus näitasime selgelt, millised vestlusrobotid on Azure'is ja millised on nende kasutamise stsenaariumid, ning demonstreerisime ka, kuidas luua bot QnA Makeris 15 minutiga ja kuidas päringu struktuur dešifreeritakse LUISis. 

Tegime selle veebiseminari osana arendajatele Dev Bootcampi veebimaratonist. See puudutas tooteid, mis kiirendavad arendust ja vabastavad osa rutiinsest töökoormusest ettevõtte töötajatelt, kasutades automatiseerimistööriistu ja valmis eelkonfigureeritud Azure'i mooduleid. Teiste maratonil osalenud veebiseminaride salvestused on saadaval järgmistel linkidel:

Allikas: www.habr.com

Lisa kommentaar