Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

Salom, Xabr! Bugun biz odatda inson aralashuvini talab qiladigan muammolarni hal qilish uchun Azure-dan qanday foydalanishni ko'rsatamiz. Agentlar bir xil savollarga javob berishga, telefon qo'ng'iroqlari va matnli xabarlarga ko'p vaqt sarflashadi. Chatbotlar aloqa va tanib olishni avtomatlashtiradi va odamlarga yukni kamaytiradi. Botlardan Azure DevOps-da ham foydalaniladi, ular, masalan, relizlarni tasdiqlash, tuzilmalarni boshqarish - ko'rish, boshlash va to'xtatish - to'g'ridan-to'g'ri Slack yoki Microsoft Teams-dan foydalanishga imkon beradi. Aslini olganda, chatbot biroz CLI-ni eslatadi, faqat interaktiv va ishlab chiquvchiga chat muhokamasi kontekstida qolishga imkon beradi.

Ushbu maqolada biz chatbotlarni yaratish vositalari haqida gaplashamiz, ularni kognitiv xizmatlar yordamida qanday yaxshilash mumkinligini ko'rsatamiz va Azure-da tayyor xizmatlar yordamida rivojlanishni qanday tezlashtirishni tasvirlaymiz.

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

Chatbotlar va kognitiv xizmatlar: qanday o'xshashliklar bor va qanday farqlar bor?

Microsoft Azure-da botlarni yaratish uchun siz Azure Bot xizmati va Bot Framework-dan foydalanasiz. Ular birgalikda botlarni yaratish, sinovdan o'tkazish, joylashtirish va boshqarish uchun dasturiy ta'minot to'plamini ifodalaydi, bu sizga tayyor modullardan nutqni qo'llab-quvvatlash, tabiiy tilni aniqlash va boshqa imkoniyatlarga ega oddiy va ilg'or aloqa tizimlarini yaratishga imkon beradi.

Faraz qilaylik, siz korporativ savol-javob xizmatiga asoslangan oddiy botni amalga oshirishingiz yoki aksincha, murakkab, tarmoqlangan aloqa tizimiga ega funktsional bot yaratishingiz kerak. Buning uchun siz uchta guruhga bo'lingan bir qator vositalardan foydalanishingiz mumkin: 

  1. Dialog interfeyslarini (botlarni) jadal rivojlantirish xizmatlari.
  2. Turli xil foydalanish holatlari uchun tayyor kognitiv AI xizmatlari (naqshni aniqlash, nutqni aniqlash, bilimlar bazasi va qidirish).
  3. AI modellarini yaratish va o'qitish xizmatlari.

Odatda, odamlar intuitiv ravishda "botlar" va "kognitiv xizmatlar" ni chalkashtirib yuborishadi, chunki ikkala tushuncha ham aloqa printsipiga asoslanadi va botlar va xizmatlardan foydalanish dialoglarni o'z ichiga oladi. Ammo chatbotlar kalit so'zlar va triggerlar bilan ishlaydi va kognitiv xizmatlar odatda odamlar tomonidan qayta ishlanadigan o'zboshimchalik bilan so'rovlar bilan ishlaydi: 

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

Kognitiv xizmatlar foydalanuvchi bilan muloqot qilishning yana bir usuli bo'lib, o'zboshimchalik bilan so'rovni aniq buyruqqa aylantirishga va uni botga o'tkazishga yordam beradi. 

Shunday qilib, chatbotlar so'rovlar bilan ishlash uchun ilovalardir va kognitiv xizmatlar alohida ishga tushiriladigan, lekin chatbot kirishi mumkin bo'lgan so'rovlarni aqlli tahlil qilish uchun vosita bo'lib, "aqlli" bo'ladi. 

Chatbotlar yaratish

Azure-da bot uchun tavsiya etilgan dizayn diagrammasi quyidagicha: 

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

Azure-da botlarni loyihalash va rivojlantirish uchun foydalaning Bot Framework. GitHub da mavjud botlarga misollar, ramkaning imkoniyatlari o'zgaradi, shuning uchun botlarda ishlatiladigan SDK versiyasini hisobga olish kerak.

Ramka botlarni yaratish uchun bir nechta variantni taqdim etadi: klassik kod, buyruq qatori vositalari yoki oqim diagrammalaridan foydalanish. Oxirgi variant dialoglarni vizualizatsiya qiladi, buning uchun siz menejerdan foydalanishingiz mumkin Bot Framework Composer. U Bot Framework SDK-da intizomlararo guruhlar botlarni yaratishda foydalanishi mumkin bo'lgan vizual ishlab chiqish vositasi sifatida qurilgan.

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

Bot Framework Composer sizga bot ishlaydigan dialog strukturasini yaratish uchun bloklardan foydalanish imkonini beradi. Bundan tashqari, siz triggerlarni yaratishingiz mumkin, ya'ni suhbat davomida bot javob beradigan kalit so'zlarni yaratishingiz mumkin. Masalan, "operator", "o'g'irlik" yoki "to'xtatish" va "yetarli" so'zlari.

Bot Framework Composer dasturida siz murakkab dialog tizimlarini yaratishingiz mumkin Moslashuvchan dialoglar. Dialoglar kognitiv xizmatlardan ham, voqea kartalaridan ham foydalanishi mumkin (Moslashuvchan kartalar):

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

Yaratgandan so'ng, siz chatbotni obunada joylashtirishingiz mumkin va avtomatik ravishda tayyorlangan skript barcha kerakli resurslarni yaratadi: kognitiv xizmatlar, Ilova rejasi, Ilova tushunchalari, ma'lumotlar bazasi va boshqalar.

QnA Maker

Korporativ savol-javob maʼlumotlar bazalari asosida oddiy botlarni yaratish uchun siz QnA Maker kognitiv xizmatidan foydalanishingiz mumkin. Oddiy veb-sehrgar sifatida amalga oshirilgan bo'lib, u korporativ ma'lumotlar bazasiga (FAQ URL manzillari) havolani kiritish yoki asos sifatida *.doc yoki *.pdf formatidagi hujjatlar ma'lumotlar bazasidan foydalanish imkonini beradi. Indeksni yaratgandan so'ng, bot avtomatik ravishda foydalanuvchi savollariga eng mos javoblarni tanlaydi.

QnAMaker-dan foydalanib, siz shuningdek, tugmalarni avtomatik yaratish bilan aniqlovchi savollar zanjirlarini yaratishingiz, bilimlar bazasini metama'lumotlar bilan to'ldirishingiz va foydalanish vaqtida xizmatni o'rgatishingiz mumkin.

Xizmatdan faqat shu funksiyani amalga oshiradigan chatbot sifatida yoki soʻrovga qarab boshqa AI xizmatlari yoki Bot Framework elementlaridan foydalanadigan murakkab chatbotning bir qismi sifatida foydalanish mumkin.

Boshqa kognitiv xizmatlar bilan ishlash

Azure platformasida turli xil kognitiv xizmatlar mavjud. Texnik jihatdan, bu koddan chaqirilishi mumkin bo'lgan mustaqil veb-xizmatlardir. Bunga javoban, xizmat chatbotda ishlatilishi mumkin bo'lgan ma'lum formatdagi json-ni yuboradi.

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz
Chatbotlardan eng keng tarqalgan foydalanish:

  1. Matnni tanib olish.
  2. Ishlab chiquvchi tomonidan belgilangan Custom Vision Service tasvir toifalarini tan olish (ishlab chiqarish holati: xodimning qalpoq, ko‘zoynak yoki niqob kiyganligini aniqlash).
  3. Yuzni tanib olish (ajoyib foydalanish holati so'roq qilinayotgan shaxs o'z yuzini yoki, aytaylik, itning fotosuratini yoki boshqa jinsdagi odamning fotosuratini joylashtirganligini tekshirishdir).
  4. Nutqni aniqlash.
  5. Rasmni tahlil qilish.
  6. Tarjima (Skypeda sinxron tarjima qancha shovqin keltirganini hammamiz eslaymiz).
  7. Imlo tekshiruvi va xatolarni tuzatish bo'yicha takliflar.

LUIS

Bundan tashqari, botlarni yaratish uchun sizga kerak bo'lishi mumkin LUIS (Language Understanding Intelligent Service). Xizmat maqsadlari:

  • Foydalanuvchining bayonoti mantiqiy yoki botning javobi zarurligini aniqlang.
  • Foydalanuvchi nutqini (matnni) bot uchun tushunarli buyruqlarga transkripsiya qilish harakatlarini kamaytiring.
  • Haqiqiy foydalanuvchi maqsadlari/niyatlarini bashorat qiling va dialogdagi iboralardan asosiy tushunchalarni oling.
  • Ishlab chiquvchiga ma'noni aniqlashning bir nechta misollaridan foydalanib, botni ishga tushirishga ruxsat bering va ish paytida botni keyingi qo'shimcha o'rgatish.
  • Dasturchiga buyruq transkripsiyasi sifatini baholash uchun vizualizatsiyadan foydalanishga ruxsat bering.
  • Haqiqiy maqsadni aniqlashni bosqichma-bosqich yaxshilashga yordam bering.

Aslida, LUIS ning asosiy maqsadi foydalanuvchi nimani nazarda tutganini ma'lum bir ehtimollik bilan tushunish va tabiiy so'rovni uyg'un buyruqqa aylantirishdir. So'rov qiymatlarini tanib olish uchun LUIS maqsadlar (ma'nolar, niyatlar) va ob'ektlar to'plamidan foydalanadi (ishlab chiquvchilar tomonidan oldindan sozlangan yoki olingan va oldindan tuzilgan "domenlar" - Microsoft tomonidan tayyorlangan standart iboralarning ba'zi tayyor kutubxonalari). 

Oddiy misol: sizda ob-havo prognozini beruvchi bot bor. Uning uchun maqsad tabiiy so'rovni "harakat" ga aylantirish bo'ladi - ob-havo ma'lumoti so'rovi va sub'ektlar vaqt va joy bo'ladi. Mana shunday bot uchun CheckWeather maqsadi qanday ishlashining diagrammasi.

Niyat
Essence
Tabiiy so'rovga misol

Ob-havoni tekshiring
{"turi": "joylashuv", "shaxs": "moskva"}
{"turi": "builtin.datetimeV2.date", "obyekt": "kelajak","rezolyutsiya":"2020-05-30"}
Ertaga Moskvada ob-havo qanday bo'ladi?

Ob-havoni tekshiring
{ "turi": "sana_oraliq", "obyekt": "bu hafta oxiri" }
Ushbu hafta oxiri uchun prognozni ko'rsating

QnA Maker va LUISni birlashtirish uchun siz foydalanishingiz mumkin Dispetcher

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

QnA Maker bilan ishlaganingizda va foydalanuvchidan so'rov olganingizda, tizim QnA javobi so'rovga mos kelishi ehtimolining necha foizini aniqlaydi. Agar ehtimollik yuqori bo'lsa, foydalanuvchiga korporativ ma'lumotlar bazasidan javob beriladi, agar u past bo'lsa, so'rov tushuntirish uchun LUISga yuborilishi mumkin. Dispetcherdan foydalanish ushbu mantiqni dasturlash emas, balki so'rovlarni ajratishning ushbu chekkasini avtomatik ravishda aniqlash va ularni tezda tarqatish imkonini beradi.

Botni sinovdan o'tkazish va nashr qilish

Sinov uchun boshqa mahalliy dastur ishlatiladi, Bot ramka emulyatori. Emulyatordan foydalanib, siz bot bilan muloqot qilishingiz va u yuboradigan va qabul qiladigan xabarlarni tekshirishingiz mumkin. Emulyator xabarlarni veb-chat interfeysida paydo bo'ladigandek ko'rsatadi va botga xabar yuborishda JSON so'rovlari va javoblarini qayd qiladi.

BMW uchun virtual yordamchini yaratishni ko'rsatadigan ushbu demoda emulyatordan foydalanish misoli keltirilgan. Videoda chatbotlarni yaratish uchun yangi tezlatgichlar - shablonlar haqida ham so'z boradi:

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz
https://youtu.be/u7Gql-ClcVA?t=564

Chatbotlaringizni yaratishda shablonlardan ham foydalanishingiz mumkin. 
Shablonlar sizga standart bot funksiyalarini yangidan yozishga emas, balki “mahorat” sifatida tayyor kodni qo‘shishga imkon beradi. Misol tariqasida taqvim bilan ishlash, uchrashuvlarni belgilash va hokazo bo'lishi mumkin. Tayyor ko'nikmalar kodi e'lon qilindi github-da.

Sinov muvaffaqiyatli o'tdi, bot tayyor, endi uni nashr qilish va kanallarni ulash kerak. Nashr qilish Azure yordamida amalga oshiriladi va kanal sifatida messenjerlar yoki ijtimoiy tarmoqlardan foydalanish mumkin. Agar sizda ma'lumotlarni kiritish uchun kerakli kanal bo'lmasa, uni GitHab-dagi tegishli jamoada qidirishingiz mumkin. 

Bundan tashqari, foydalanuvchi va kognitiv xizmatlar bilan muloqot qilish interfeysi sifatida to'liq huquqli chatbotni yaratish uchun sizga, albatta, ma'lumotlar bazalari, serversiz (Azure Functions), shuningdek LogicApp xizmatlari va ehtimol qo'shimcha Azure xizmatlari kerak bo'ladi. , Voqealar tarmog'i.

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

Baholash va tahlil

Foydalanuvchilarning oʻzaro taʼsirini baholash uchun siz Azure Bot xizmatining oʻrnatilgan analitikasidan ham, maxsus Application Insights xizmatidan ham foydalanishingiz mumkin.

Natijada siz quyidagi mezonlar asosida ma'lumot to'plashingiz mumkin:

  • Tanlangan vaqt davomida qancha foydalanuvchilar turli kanallardan botga kirishgan.
  • Bitta xabar yuborgan qancha foydalanuvchilar keyinroq qaytib, boshqasini yuborgan.
  • Belgilangan vaqt oralig'ida har bir kanal yordamida qancha harakatlar yuborilgan va qabul qilingan.

Application Insights-dan foydalanib, siz Azure-dagi har qanday ilovani va, xususan, chatbotlarni kuzatishingiz, foydalanuvchi xatti-harakati, yuklamalari va chatbot reaktsiyalari haqida qo'shimcha ma'lumotlarni olishingiz mumkin. Shuni ta'kidlash kerakki, Application Insights xizmati Azure portalida o'z interfeysiga ega.

Ushbu xizmat orqali to‘plangan ma’lumotlardan PowerBI’da qo‘shimcha vizualizatsiya va analitik hisobotlarni yaratish uchun ham foydalanishingiz mumkin. PowerBI uchun bunday hisobot va shablonga misol keltirish mumkin shu yerda.

Biz Azure xizmatlaridan foydalangan holda rivojlanishni tezlashtiramiz: platforma yordamida chatbotlar va kognitiv xizmatlar yaratamiz

E'tiboringiz uchun barchangizga rahmat! Ushbu maqolada biz foydalandik narsalar Microsoft Azure arxitektori Anna Fenyushinaning vebinaridan “Odamlarning vaqti bo'lmaganida. Muntazam jarayonlarni avtomatlashtirish uchun chatbotlar va kognitiv xizmatlardan qanday qilib 100% foydalanish kerak”, bu yerda biz Azure’da chatbotlar nima ekanligini va ulardan foydalanish stsenariylari qanday ekanligini aniq ko‘rsatib berdik, shuningdek, QnA Maker’da 15 daqiqada qanday qilib bot yaratish va qanday qilib so'rovlar tuzilishi LUIS da shifrlangan. 

Biz ushbu vebinarni Dev Bootcamp dasturchilari uchun onlayn marafonning bir qismi sifatida o'tkazdik. Bu avtomatlashtirish vositalari va tayyor oldindan sozlangan Azure modullaridan foydalangan holda ishlab chiqishni tezlashtiradigan va kompaniya xodimlarining muntazam ish yukining bir qismini engillashtiradigan mahsulotlar haqida edi. Marafonga kiritilgan boshqa vebinarlarning yozuvlari quyidagi havolalarda mavjud:

Manba: www.habr.com

a Izoh qo'shish