Биз Azure кызматтарынын жардамы менен өнүгүүнү тездетебиз: платформаны колдонуу менен чатботторду жана когнитивдик кызматтарды түзөбүз

Салам, Хабр! Бүгүн биз адатта адамдын кийлигишүүсүн талап кылган көйгөйлөрдү чечүү үчүн Azure кантип колдонууну көрсөтөбүз. Агенттер бир эле суроолорго жооп берүүгө, телефон чалуулар жана SMS билдирүүлөр менен иштөөгө көп убакыт коротушат. Чатботтор байланышты жана таанууну автоматташтырат жана адамдардын жүгүн азайтат. Боттор Azure DevOps'та да колдонулат, алар, мисалы, релиздерди бекитүүгө, түзүмдөрдү башкарууга - көрүү, баштоо жана токтотуу - түздөн-түз Slack же Microsoft Командаларынан. Чындыгында, чатбот бир аз CLIди эске салат, интерактивдүү гана жана иштеп чыгуучуга чат талкуусунун контекстинде калууга мүмкүндүк берет.

Бул макалада биз чатботторду түзүү куралдары жөнүндө сүйлөшөбүз, аларды когнитивдик кызматтардын жардамы менен кантип жакшыртууга болорун көрсөтөбүз жана Azureдагы даяр кызматтар менен өнүгүүнү кантип тездетүүнү сүрөттөп беребиз.

Биз Azure кызматтарынын жардамы менен өнүгүүнү тездетебиз: платформаны колдонуу менен чатботторду жана когнитивдик кызматтарды түзөбүз

Чатботтор жана когнитивдик кызматтар: кандай окшоштуктар жана кандай айырмачылыктар бар?

Microsoft Azure ичинде ботторду түзүү үчүн, сиз Azure Bot кызматын жана 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 программасында колдонуу менен татаал диалог системаларын түзө аласыз Adaptive Dialogs. Диалогдор когнитивдик кызматтарды да, окуя карталарын да колдоно алат (Адаптивдүү карталар):

Биз Azure кызматтарынын жардамы менен өнүгүүнү тездетебиз: платформаны колдонуу менен чатботторду жана когнитивдик кызматтарды түзөбүз

Түзүлгөндөн кийин, сиз чатботту жазылууда жайгаштырсаңыз болот жана автоматтык түрдө даярдалган скрипт бардык керектүү ресурстарды түзөт: когнитивдик кызматтар, Колдонмо планы, Колдонмолордун инсайттары, маалымат базасы жана башкалар.

QnA Maker

Корпоративдик Q&A маалымат базаларынын негизинде жөнөкөй ботторду түзүү үчүн QnA Maker когнитивдик кызматын колдонсоңуз болот. Жөнөкөй желе устасы катары ишке ашырылган, ал корпоративдик билимдер базасына (FAQ Urls) шилтеме киргизүүгө же негиз катары *.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": "келечек","токтом":"2020-05-30"}
Эртең Москвада аба ырайы кандай болот?

Аба ырайын текшерүү
{ "type": "date_range", "entity": "бул дем алыш күндөрү" }
Ушул дем алыш күндөрүнө болжолду көрсөт

QnA Maker менен LUISти айкалыштыруу үчүн сиз колдоно аласыз Диспетчер

Биз Azure кызматтарынын жардамы менен өнүгүүнү тездетебиз: платформаны колдонуу менен чатботторду жана когнитивдик кызматтарды түзөбүз

Сиз QnA Maker менен иштегенде жана колдонуучудан суроо-талапты алганыңызда, система QnAдан келген жооп суроо-талапка дал келген ыктымалдуулуктун канча пайызын аныктайт. Ыктымалдуулук жогору болсо, колдонуучуга жөн гана корпоративдик билимдер базасынан жооп берилет, ал аз болсо, суроо-талапты LUISке тактоо үчүн жөнөтсө болот. Диспетчерди колдонуу бул логиканы программалоого эмес, суроо-талаптарды бөлүүнүн бул четин автоматтык түрдө аныктоого жана аларды тез таратууга мүмкүндүк берет.

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

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

Эмуляторду колдонуунун мисалы бул демонстрацияда келтирилген, анда BMW үчүн виртуалдык жардамчы түзүлүшү көрсөтүлгөн. Видеодо ошондой эле чатботторду түзүү үчүн жаңы акселераторлор - шаблондор жөнүндө айтылат:

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

Чатботторуңузду түзүүдө шаблондорду да колдонсоңуз болот. 
Калыптар стандарттуу бот функцияларын жаңыдан жазууга эмес, даяр кодду “көндүм” катары кошууга мүмкүндүк берет. Мисал катары календарь менен иштөө, жолугушууларды белгилөө ж.б. боло алат. Даяр көндүмдөрдүн коду жарыяланган github боюнча.

Сыноо ийгиликтүү өттү, бот даяр, эми аны жарыялоо жана каналдарды туташтыруу керек. Жарыялоо Azure аркылуу ишке ашырылат, ал эми мессенджерлерди же социалдык тармактарды канал катары колдонсо болот. Эгер сизде маалыматтарды киргизүү үчүн талап кылынган канал жок болсо, сиз аны GitHabдагы тиешелүү коомчулуктан издей аласыз. 

Ошондой эле, колдонуучу жана когнитивдик кызматтар менен баарлашуу үчүн интерфейс катары толук кандуу чатботту түзүү үчүн сизге, албетте, кошумча Azure кызматтары керек болот, мисалы, маалымат базалары, серверсиз (Azure функциялары), ошондой эле LogicApp кызматтары жана, мүмкүн. , Event Grid.

Биз Azure кызматтарынын жардамы менен өнүгүүнү тездетебиз: платформаны колдонуу менен чатботторду жана когнитивдик кызматтарды түзөбүз

Баалоо жана аналитика

Колдонуучулардын өз ара аракеттенүүсүн баалоо үчүн, сиз Azure Bot Кызматынын орнотулган аналитикасын жана атайын Колдонмо Insights кызматын колдоно аласыз.

Натыйжада, сиз төмөнкү критерийлердин негизинде маалымат чогулта аласыз:

  • Тандалган убакыттын ичинде канча колдонуучулар ботко ар кандай каналдардан кирди.
  • Бир билдирүү жөнөткөн канча колдонуучу кийинчерээк кайтып келип, башкасын жөнөттү.
  • Көрсөтүлгөн убакыт аралыгында ар бир канал аркылуу канча аракеттер жөнөтүлгөн жана кабыл алынган.

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

Ошондой эле бул кызмат аркылуу чогултулган маалыматтарды PowerBIде кошумча визуализацияларды жана аналитикалык отчетторду түзүү үчүн колдоно аласыз. Мындай отчеттун жана PowerBI үлгүсүнүн үлгүсүн алсак болот бул жерде.

Биз Azure кызматтарынын жардамы менен өнүгүүнү тездетебиз: платформаны колдонуу менен чатботторду жана когнитивдик кызматтарды түзөбүз

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

Бул вебинарды Dev Bootcamp иштеп чыгуучулары үчүн онлайн марафонунун бир бөлүгү катары өткөрдүк. Бул автоматташтыруу куралдарын жана даяр алдын ала конфигурацияланган Azure модулдарын колдонуу менен иштеп чыгууну тездеткен жана компаниянын кызматкерлеринин күнүмдүк жумуш жүгүн жеңилдеткен өнүмдөр жөнүндө болду. Марафонго кирген башка вебинарлардын жаздыруулары төмөнкү шилтемелер боюнча жеткиликтүү:

Source: www.habr.com

Комментарий кошуу