Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Здраво, Хабр! Данас ћемо вам показати како да користите Азуре за решавање проблема који обично захтевају људску интервенцију. Агенти проводе доста времена одговарајући на иста питања, обрађујући телефонске позиве и текстуалне поруке. Чет-ботови аутоматизују комуникацију и препознавање и смањују оптерећење за људе. Ботови се такође користе у Азуре ДевОпс-у, где омогућавају, на пример, да одобравају издања, управљају изградњом – прегледају, покрећу и заустављају – директно из Слацк-а или Мицрософт Теамс-а. У суштини, цхатбот донекле подсећа на ЦЛИ, само је интерактиван и омогућава програмеру да остане у контексту дискусије о ћаскању.

У овом чланку ћемо говорити о алатима за креирање цхатботова, показати како се они могу побољшати помоћу когнитивних услуга и описати како убрзати развој помоћу готових услуга у Азуре-у.

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Чет-ботови и когнитивне услуге: које су сличности, а које разлике?

Да бисте креирали ботове у Мицрософт Азуре, користите Азуре Бот Сервице и Бот Фрамеворк. Заједно представљају скуп софтвера за прављење, тестирање, постављање и администрирање ботова, који вам омогућава да од готових модула креирате како једноставне тако и напредне комуникационе системе са говорном подршком, препознавањем природног језика и другим могућностима.

Претпоставимо да треба да имплементирате једноставан бот заснован на корпоративној услузи К&А или, обрнуто, да креирате функционалног бота са сложеним, разгранатим комуникационим системом. Да бисте то урадили, можете користити бројне алате, подељене у три групе: 

  1. Сервиси за брзи развој дијалог интерфејса (ботови).
  2. Готове когнитивне АИ услуге за различите случајеве употребе (препознавање образаца, препознавање говора, база знања и претрага).
  3. Услуге за креирање и обуку АИ модела.

Обично људи интуитивно бркају „ботове“ и „когнитивне услуге“ јер су оба концепта заснована на принципу комуникације, а случај употребе ботова и услуга укључује дијалоге. Али цхат ботови раде са кључним речима и покретачима, а когнитивне услуге раде са произвољним захтевима које обично обрађују људи: 

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Когнитивне услуге су још један начин комуникације са корисником, помажући да се произвољни захтев претвори у јасну команду и проследи је боту. 

Дакле, цхатботови су апликације за рад са захтевима, а когнитивне услуге су алати за интелигентну анализу захтева који се покрећу одвојено, али којима цхатбот може да приступи, постајући „интелигентни“. 

Креирање цхатбота

Препоручени дијаграм дизајна за бота у Азуре-у је следећи: 

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Да бисте дизајнирали и развили ботове у Азуре-у, користите Бот Фрамеворк. Доступно на ГитХуб-у примери ботова, мењају се могућности оквира, па је потребно узети у обзир верзију СДК-а која се користи у ботовима.

Оквир пружа неколико опција за креирање ботова: коришћење класичног кода, алата командне линије или дијаграма тока. Последња опција визуализује дијалоге за ово можете користити менаџера Бот Фрамеворк Цомпосер. Изграђен је на Бот Фрамеворк СДК као алат за визуелни развој који би међудисциплинарни тимови могли да користе за креирање ботова.

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Бот Фрамеворк Цомпосер вам омогућава да користите блокове за креирање структуре дијалога са којом ће бот радити. Додатно, можете креирати тригере, односно кључне речи на које ће бот реаговати током дијалога. На пример, речи „оператер“, „крађа“ или „стоп“ и „довољно“.

У Бот Фрамеворк Цомпосер-у можете креирати сложене системе дијалога користећи Адаптиве Диалогс. Дијалози могу да користе и когнитивне услуге и картице догађаја (прилагодљиве картице):

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Након креирања, можете да примените цхатбот у претплати, а аутоматски припремљена скрипта ће креирати све потребне ресурсе: когнитивне услуге, план апликације, увид у апликацију, базу података и тако даље.

КнА Макер

Да бисте креирали једноставне ботове на основу корпоративних база података питања и одговора, можете користити когнитивну услугу КнА Макер. Имплементиран као једноставан веб чаробњак, омогућава вам да унесете везу до корпоративне базе знања (ФАК УРЛ-ови) или да користите базу података докумената у *.доц или *.пдф формату као основу. Након креирања индекса, бот ће аутоматски одабрати најприкладније одговоре на питања корисника.

Користећи КнАМакер, такође можете креирати ланце појашњавајућих питања са аутоматским креирањем дугмади, допунити базу знања метаподацима и додатно обучити услугу током коришћења.

Сервис се може користити као цхатбот који имплементира само ову једну функцију, или као део сложеног цхат бота који користи, у зависности од захтева, друге АИ услуге или елементе Бот Фрамеворк-а.

Рад са другим когнитивним услугама

На Азуре платформи постоји много различитих когнитивних услуга. Технички, ово су независни веб сервиси који се могу позвати из кода. Као одговор, сервис шаље јсон одређеног формата, који се може користити у цхатботу.

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу
Најчешће употребе цхатбот-а су:

  1. Препознавање текста.
  2. Препознавање категорија слика Цустом Висион Сервице које дефинише програмер (производни случај: препознавање да ли запослени носи заштитну капу, наочаре или маску).
  3. Препознавање лица (одличан случај употребе је провера да ли је испитана особа поставила своје лице или, рецимо, фотографију пса или фотографију особе другог пола).
  4. Препознавање говора.
  5. Анализа слике.
  6. Превођење (сви се сећамо колико је буке изазвало симултано превођење у скајпу).
  7. Провера правописа и предлози за исправљање грешака.

ЛУИС

Такође, за креирање ботова можда ће вам требати ЛУИС (Лангуаге Ундерстандинг Интеллигент Сервице). Циљеви услуге:

  • Утврдите да ли изјава корисника има смисла и да ли је ботов одговор неопходан.
  • Смањите напоре да се препише кориснички говор (текст) у команде разумљиве боту.
  • Предвидите праве корисничке циљеве/намере и извуците кључне увиде из фраза у дијалогу.
  • Дозволите програмеру да покрене бота користећи само неколико примера препознавања значења и накнадне додатне обуке бота током рада.
  • Омогућите програмеру да користи визуелизацију за процену квалитета транскрипције команде.
  • Помозите у постепеним побољшањима у препознавању правог циља.

У ствари, главни циљ ЛУИС-а је да са одређеном вероватноћом разуме шта је корисник мислио и претвори природни захтев у хармоничну команду. Да би препознао вредности упита, ЛУИС користи скуп намера (значења, намере) и ентитета (било које су унапред конфигурисали програмери, или преузете и унапред формиране „домене“ – неке готове библиотеке стандардних фраза које је припремио Мицрософт). 

Једноставан пример: имате бота који вам даје временску прогнозу. За њега ће намера бити превођење природног захтева у „акцију“ - захтев за временску прогнозу, а ентитети ће бити време и место. Ево дијаграма како намера ЦхецкВеатхер функционише за таквог бота.

Намера
Ессенце
Пример природног упита

ЦхецкВеатхер
{"типе": "лоцатион", "ентити": "москва"}
{"типе": "буилтин.датетимеВ2.дате", "ентити": "футуре","ресолутион":"2020-05-30"}
Какво ће време бити сутра у Москви?

ЦхецкВеатхер
{ "типе": "дате_ранге", "ентити": "овог викенда" }
Покажи ми прогнозу за овај викенд

Да бисте комбиновали КнА Макер и ЛУИС, можете да користите Диспатцхер

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Када радите са КнА Макер-ом и примите захтев од корисника, систем одређује у ком проценту вероватноће одговор од КнА одговара захтеву. Ако је вероватноћа велика, кориснику се једноставно даје одговор из корпоративне базе знања, ако је мала, захтев се може послати ЛУИС-у на појашњење. Коришћење Диспечера вам омогућава да не програмирате ову логику, већ да аутоматски одредите ову ивицу раздвајања захтева и брзо их дистрибуирате.

Тестирање и објављивање бота

Друга локална апликација се користи за тестирање, Емулатор бот оквира. Користећи емулатор, можете комуницирати са ботом и проверити поруке које он шаље и прима. Емулатор приказује поруке онако како би се појављивале у интерфејсу за веб ћаскање и евидентира ЈСОН захтеве и одговоре када шаље поруке боту.

Пример коришћења емулатора је представљен у овом демо-у који приказује креирање виртуелног асистента за БМВ. Видео такође говори о новим акцелераторима за креирање цхатбота - шаблона:

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу
https://youtu.be/u7Gql-ClcVA?t=564

Такође можете да користите шаблоне када креирате своје цхат ботове. 
Шаблони вам омогућавају да не пишете стандардне функције бота изнова, већ да додате готов код као „вештину“. Пример може бити рад са календаром, заказивање састанака итд. Код готових вештина објављено на гитхуб-у.

Тестирање је било успешно, бот је спреман, а сада га треба објавити и повезати канале. Објављивање се врши помоћу Азуре-а, а као канали се могу користити месинџери или друштвене мреже. Ако немате потребан канал за унос података, можете га потражити у одговарајућој заједници на ГитХаб-у. 

Такође, да бисте креирали пуноправни цхатбот као интерфејс за комуникацију са корисником и когнитивним сервисима, биће вам, наравно, потребне додатне Азуре услуге, као што су базе података, без сервера (Азуре функције), као и ЛогицАпп услуге и, евентуално, , Мрежа догађаја.

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Процена и аналитика

Да бисте проценили интеракцију корисника, можете да користите и уграђену аналитику услуге Азуре Бот и посебну услугу Апплицатион Инсигхтс.

Као резултат, можете прикупљати информације на основу следећих критеријума:

  • Колико је корисника приступило боту са различитих канала током изабраног временског периода.
  • Колико је корисника који су послали једну поруку касније вратило и послало другу.
  • Колико акција је послато и примљено коришћењем сваког канала током наведеног временског интервала.

Користећи Апплицатион Инсигхтс, можете да надгледате било коју апликацију у Азуре-у и, посебно, цхат ботове, добијајући додатне податке о понашању корисника, учитавању и реакцијама чет-бота. Треба напоменути да услуга Апплицатион Инсигхтс има свој интерфејс на Азуре порталу.

Такође можете да користите податке прикупљене преко ове услуге за креирање додатних визуелизација и аналитичких извештаја у ПоверБИ-у. Може се узети пример таквог извештаја и шаблона за ПоверБИ овде.

Убрзавамо развој користећи Азуре услуге: креирамо цхат ботове и когнитивне услуге користећи платформу

Хвала свима на пажњи! У овом чланку смо користили материјал са вебинара Мицрософт Азуре архитекте Ане Фењушине „Када људи немају времена. Како 100% користити чет-ботове и когнитивне услуге за аутоматизацију рутинских процеса“, где смо јасно показали шта су чет-ботови у Азуре-у и који су сценарији за њихову употребу, а такође смо показали како да направите бот у КнА Макер-у за 15 минута и како структура упита је дешифрована у ЛУИС-у. 

Направили смо овај вебинар као део онлајн маратона за програмере Дев Боотцамп. Радило се о производима који убрзавају развој и ослобађају део рутинског радног оптерећења запослених у компанији користећи алате за аутоматизацију и готове унапред конфигурисане Азуре модуле. Снимци осталих вебинара укључених у маратон доступни су на следећим линковима:

Извор: ввв.хабр.цом

Додај коментар