Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Сәлем, Хабр! Бүгін біз әдетте адамның араласуын қажет ететін мәселелерді шешу үшін Azure қолданбасын қалай пайдалану керектігін көрсетеміз. Агенттер бірдей сұрақтарға жауап беруге, телефон қоңыраулары мен мәтіндік хабарламаларды өңдеуге көп уақыт жұмсайды. Чатботтар байланыс пен тануды автоматтандырады және адамдарға жүктемені азайтады. Сондай-ақ, боттар Azure DevOps жүйесінде пайдаланылады, мұнда олар, мысалы, шығарылымдарды мақұлдауға, құрастыруларды басқаруға - көруге, бастауға және тоқтатуға - тікелей Slack немесе Microsoft Teams-тен мүмкіндік береді. Негізінде, чатбот CLI-ді еске түсіреді, тек интерактивті және әзірлеушіге чат талқылауы контекстінде қалуға мүмкіндік береді.

Бұл мақалада біз чат-боттарды құру құралдары туралы сөйлесетін боламыз, оларды когнитивтік қызметтермен қалай жақсартуға болатынын көрсетеміз және Azure-дегі дайын қызметтермен дамуды қалай жылдамдатуға болатынын сипаттаймыз.

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Чатботтар және когнитивтік қызметтер: қандай ұқсастықтар бар және қандай айырмашылықтар бар?

Microsoft Azure жүйесінде боттарды жасау үшін сіз Azure Bot Service және Bot Framework пайдаланасыз. Олар бірге боттарды құруға, тестілеуге, орналастыруға және басқаруға арналған бағдарламалық қамтамасыз ету жиынтығын білдіреді, бұл дайын модульдерден сөйлеуді қолдауы, табиғи тілді тану және басқа мүмкіндіктері бар қарапайым және кеңейтілген коммуникациялық жүйелерді жасауға мүмкіндік береді.

Корпоративтік сұрақ-жауап қызметіне негізделген қарапайым ботты енгізу немесе керісінше, күрделі, тармақталған байланыс жүйесі бар функционалды бот жасау қажет деп есептейік. Мұны істеу үшін сіз үш топқа бөлінген бірнеше құралдарды пайдалана аласыз: 

  1. Диалогтық интерфейстерді (боттарды) жылдам дамыту қызметтері.
  2. Әртүрлі пайдалану жағдайлары үшін дайын когнитивті AI қызметтері (үлгілерді тану, сөйлеуді тану, білім базасы және іздеу).
  3. AI үлгілерін құру және оқыту қызметтері.

Әдетте, адамдар интуитивті түрде «боттарды» және «танымдық қызметтерді» шатастырады, өйткені екі тұжырымдама да коммуникация принципіне негізделген, ал боттар мен қызметтерді пайдалану жағдайы диалогтарды қамтиды. Бірақ чат-боттар кілт сөздермен және триггерлермен жұмыс істейді, ал когнитивтік қызметтер әдетте адамдар өңдейтін ерікті сұраулармен жұмыс істейді: 

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Когнитивтік қызметтер - бұл еркін сұрауды анық пәрменге түрлендіруге және оны ботқа беруге көмектесетін пайдаланушымен байланысудың тағы бір тәсілі. 

Осылайша, чат-боттар сұраулармен жұмыс істеуге арналған қолданбалар, ал когнитивтік қызметтер бөлек іске қосылатын, бірақ чатбот қол жеткізе алатын, «интеллектуалды» болатын сұрауларды интеллектуалды талдауға арналған құрал болып табылады. 

Чат-боттарды құру

Azure жүйесіндегі бот үшін ұсынылған дизайн диаграммасы келесідей: 

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Azure жүйесінде боттарды жобалау және дамыту үшін пайдаланыңыз Bot Framework. GitHub сайтында қол жетімді боттардың мысалдары, рамканың мүмкіндіктері өзгереді, сондықтан боттарда қолданылатын SDK нұсқасын ескеру қажет.

Фреймворк боттарды жасаудың бірнеше нұсқасын ұсынады: классикалық кодты, пәрмен жолы құралдарын немесе блок-схемаларды пайдалану. Соңғы опция диалогтарды бейнелейді, ол үшін менеджерді пайдалануға болады Bot Framework Composer. Ол Bot Framework SDK жүйесінде пәнаралық топтар боттарды жасау үшін пайдалана алатын көрнекі әзірлеу құралы ретінде жасалған.

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Bot Framework Composer сізге бот жұмыс істейтін диалог құрылымын жасау үшін блоктарды пайдалануға мүмкіндік береді. Бұған қоса, сіз триггерлерді, яғни диалог кезінде бот әрекет ететін кілт сөздерді жасай аласыз. Мысалы, «оператор», «ұрлық» немесе «тоқтату» және «жеткілікті» деген сөздер.

Bot Framework Composer бағдарламасында күрделі диалогтық жүйелерді пайдалана аласыз Бейімделетін диалогтар. Диалогтар когнитивтік қызметтерді де, оқиға карталарын да (бейімдеу карталары) пайдалана алады:

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Жасалғаннан кейін чатботты жазылымға орналастыруға болады және автоматты түрде дайындалған сценарий барлық қажетті ресурстарды жасайды: когнитивтік қызметтер, Қолданба жоспары, Қолданба инсайттары, дерекқор және т.б.

QnA жасаушы

Корпоративтік сұрақ-жауап дерекқорларына негізделген қарапайым боттарды жасау үшін QnA Maker когнитивтік қызметін пайдалануға болады. Қарапайым веб-шебер ретінде іске асырылған ол корпоративтік білім қорына (FAQ URL мекенжайлары) сілтеме енгізуге немесе негіз ретінде *.doc немесе *.pdf пішіміндегі құжат дерекқорын пайдалануға мүмкіндік береді. Индексті жасағаннан кейін бот пайдаланушының сұрақтарына ең қолайлы жауаптарды автоматты түрде таңдайды.

QnAMaker көмегімен түймелерді автоматты түрде жасау арқылы нақтылау сұрақтарының тізбегін жасауға, білім қорын метадеректермен толықтыруға және пайдалану кезінде қызметті одан әрі үйретуге болады.

Бұл қызметті тек осы бір функцияны жүзеге асыратын чатбот ретінде немесе сұрауға байланысты басқа AI қызметтерін немесе Bot Framework элементтерін пайдаланатын күрделі чатботтың бөлігі ретінде пайдалануға болады.

Басқа когнитивтік қызметтермен жұмыс істеу

Azure платформасында көптеген түрлі танымдық қызметтер бар. Техникалық тұрғыдан алғанда, бұл кодтан шақыруға болатын тәуелсіз веб-қызметтер. Жауап ретінде қызмет чатботта пайдалануға болатын белгілі пішімдегі json жібереді.

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз
Чат-боттардың ең көп қолданылатындары:

  1. Мәтінді тану.
  2. Әзірлеуші ​​анықтаған Custom Vision Service кескін санаттарын тану (өндірістік жағдай: қызметкердің қатты қалпақ, көзілдірік немесе маска кигенін тану).
  3. Бет-әлпетті тану (ол сауалнамаға алынған адамның өз бетін немесе, айталық, иттің немесе басқа жыныстағы адамның фотосын орналастырғанын тексеру).
  4. Сөйлеуді тану.
  5. Суретті талдау.
  6. Аударма (Скайптағы ілеспе аударманың қаншалықты шу тудырғаны бәріміздің есімізде).
  7. Емлені тексеру және қателерді түзету бойынша ұсыныстар.

LUIS

Сондай-ақ, боттарды жасау үшін сізге қажет болуы мүмкін LUIS (Language Understanding Intelligent Service). Қызметтің мақсаттары:

  • Пайдаланушы мәлімдемесінің мағынасы бар-жоғын және боттың жауабы қажет екенін анықтаңыз.
  • Пайдаланушы сөзін (мәтінін) ботқа түсінікті пәрмендерге көшіру әрекеттерін азайтыңыз.
  • Пайдаланушының шынайы мақсаттарын/ниеттерін болжаңыз және диалогтағы сөз тіркестерінен негізгі түсініктерді алыңыз.
  • Әзірлеушіге мағынаны тану және жұмыс кезінде боттың кейінгі қосымша жаттығуларының бірнеше мысалдары арқылы ботты іске қосуға рұқсат беріңіз.
  • Әзірлеушіге пәрмен транскрипциясының сапасын бағалау үшін визуализацияны пайдалануға мүмкіндік беріңіз.
  • Шынайы мақсатты танудағы қадамдық жақсартуларға көмектесу.

Шындығында, LUIS негізгі мақсаты - белгілі бір ықтималдықпен пайдаланушының нені білдіретінін түсіну және табиғи сұранысты үйлесімді пәрменге түрлендіру. Сұрау мәндерін тану үшін LUIS ниеттер (мағыналар, ниеттер) мен нысандар жинағын пайдаланады (әзірлеушілер алдын ала конфигурациялаған немесе қабылданған және алдын ала жасалған «домендер» - Microsoft дайындаған стандартты сөз тіркестерінің кейбір дайын кітапханалары). 

Қарапайым мысал: сізде ауа райы болжамын беретін бот бар. Ол үшін мақсат табиғи сұранысты «әрекетке» аудару - ауа райы болжамын сұрау, ал субъектілер уақыт пен орын болады. Міне, CheckWeather ниеті осындай бот үшін қалай жұмыс істейтінінің диаграммасы.

Ниет
Маңызы
Табиғи сұраудың мысалы

Ауа райын тексеріңіз
{"түр": "орын", "объекті": "мәскеу"}
{"type": "builtin.datetimeV2.date", "entity": "болашақ","resolution":"2020-05-30"}
Ертең Мәскеуде ауа райы қандай болады?

Ауа райын тексеріңіз
{ "түрі": "күн_аралығы", "ұйым": "осы демалыс күні" }
Осы демалыс күндерінің болжамын көрсетіңіз

QnA Maker және LUIS біріктіру үшін пайдалануға болады Диспетчер

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

QnA Maker бағдарламасымен жұмыс істегенде және пайдаланушыдан сұрау алған кезде, жүйе QnA жауабы сұрауға сәйкес келетін ықтималдықтың қанша пайызын анықтайды. Егер ықтималдық жоғары болса, пайдаланушыға корпоративтік білім қорынан жауап беріледі, егер ол төмен болса, сұрауды түсіндіру үшін LUIS жүйесіне жіберуге болады. Диспетчерді пайдалану бұл логиканы бағдарламалауға емес, сұрауларды бөлудің осы жиегін автоматты түрде анықтауға және оларды жылдам таратуға мүмкіндік береді.

Ботты сынау және жариялау

Басқа жергілікті қолданба тестілеу үшін пайдаланылады, Бот фреймворк эмуляторы. Эмуляторды пайдалана отырып, сіз ботпен байланысып, оның жіберетін және алатын хабарларын тексере аласыз. Эмулятор веб-чат интерфейсінде пайда болатындай хабарларды көрсетеді және ботпен хабар алмасу кезінде JSON сұраулары мен жауаптарын тіркейді.

Эмуляторды пайдаланудың мысалы осы демонстрацияда ұсынылған, ол BMW үшін виртуалды көмекші жасауды көрсетеді. Бейне сонымен қатар чат-боттарды құруға арналған жаңа үдеткіштер - шаблондар туралы айтады:

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз
https://youtu.be/u7Gql-ClcVA?t=564

Чат-боттарды жасау кезінде үлгілерді де пайдалануға болады. 
Үлгілер стандартты бот функцияларын жаңадан жазуға емес, дайын кодты «дағды» ретінде қосуға мүмкіндік береді. Мысалы, күнтізбемен жұмыс істеу, кездесулерді белгілеу және т.б. болуы мүмкін. Дайын дағдылар коды жарияланған github сайтында.

Тестілеу сәтті өтті, бот дайын, енді оны жариялап, арналарды қосу керек. Жариялау Azure көмегімен жүзеге асырылады, ал мессенджерлер немесе әлеуметтік желілер арналар ретінде пайдаланылуы мүмкін. Деректерді енгізу үшін қажетті арна жоқ болса, оны GitHab жүйесіндегі сәйкес қауымдастықта іздеуге болады. 

Сондай-ақ, пайдаланушымен және когнитивтік қызметтермен байланысу интерфейсі ретінде толыққанды чат-бот жасау үшін сізге, әрине, дерекқорлар, серверсіз (Azure функциялары), сондай-ақ LogicApp қызметтері және, мүмкін, қосымша Azure қызметтері қажет болады. , Оқиғалар торы.

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Бағалау және талдау

Пайдаланушының өзара әрекеттесуін бағалау үшін сіз Azure Bot қызметінің кірістірілген аналитикасын және арнайы Application Insights қызметін пайдалана аласыз.

Нәтижесінде келесі критерийлер негізінде ақпаратты жинауға болады:

  • Таңдалған уақыт аралығында қанша пайдаланушы әртүрлі арналардан ботқа кірді.
  • Бір хабарлама жіберген қанша қолданушы кейін оралып, екіншісін жіберді.
  • Көрсетілген уақыт аралығында әр арнаны пайдаланып қанша әрекет жіберілді және қабылданды.

Application Insights көмегімен сіз Azure жүйесіндегі кез келген қолданбаны және, атап айтқанда, чатботтарды бақылай аласыз, пайдаланушы әрекеті, жүктемелер және чатбот реакциялары туралы қосымша деректерді ала аласыз. Application Insights қызметінде Azure порталында өз интерфейсі бар екенін атап өткен жөн.

Сондай-ақ, осы қызмет арқылы жиналған деректерді PowerBI жүйесінде қосымша визуализациялар мен аналитикалық есептерді жасау үшін пайдалануға болады. PowerBI үшін осындай есеп пен үлгінің мысалын алуға болады осында.

Біз Azure қызметтерінің көмегімен дамуды жеделдетеміз: біз платформаны пайдаланып чат-боттар мен когнитивтік қызметтерді жасаймыз

Назарларыңызға барлығыңызға рахмет! Бұл мақалада біз қолдандық заттар Microsoft Azure сәулетшісі Анна Фенюшинаның вебинарынан «Адамдардың уақыты болмаған кезде. Кәдімгі процестерді автоматтандыру үшін чат-боттар мен когнитивтік қызметтерді 100% қалай пайдалануға болады», мұнда біз Azure-де қандай чат-боттар бар және оларды пайдалану сценарийлері қандай екенін анық көрсеттік, сонымен қатар QnA Maker-де 15 минут ішінде бот құру жолын көрсеттік. сұрау құрылымы LUIS жүйесінде шифрланған. 

Біз бұл вебинарды Dev Bootcamp әзірлеушілеріне арналған онлайн марафонның бөлігі ретінде жасадық. Бұл әзірлеуді жылдамдататын және автоматтандыру құралдары мен дайын алдын ала конфигурацияланған Azure модульдерін пайдалана отырып, компания қызметкерлерінен күнделікті жұмыс жүктемесінің бір бөлігін жеңілдететін өнімдер туралы болды. Марафонға енгізілген басқа вебинарлардың жазбалары келесі сілтемелер бойынша қолжетімді:

Ақпарат көзі: www.habr.com

пікір қалдыру