Bot bizga yordam beradi

Bot bizga yordam beradi

Bir yil oldin bizning sevimli kadrlar bo'limi bizdan yangi kelganlarning kompaniyaga moslashishiga yordam beradigan chat botini yozishimizni so'radi.

Keling, biz o'z mahsulotlarimizni ishlab chiqmasligimizni, lekin mijozlarga rivojlanish xizmatlarining to'liq spektrini taqdim etamiz. Hikoya bizning ichki loyihamiz haqida bo'ladi, uning uchun mijoz uchinchi tomon kompaniyasi emas, balki bizning shaxsiy HR. Va asosiy vazifa, odamlar, resurslar va vaqtning cheklangan mavjudligini hisobga olgan holda, loyihani o'z vaqtida yakunlash va mahsulotni chiqarishdir.

Birinchidan, hal qilinishi kerak bo'lgan muammolarni tasvirlab olaylik.

Ishlab chiquvchilar asosan introvert odamlardir va gapirishni yoqtirmaydilar, elektron pochta orqali savolingizni yozish ancha oson. Bot bilan kimdan so'rash, kimga qo'ng'iroq qilish, qaerga borish va umuman olganda, ma'lumotni qayerdan izlash va u tegishli yoki yo'qligini o'ylamasligingiz kerak.

Ikkinchi muammo - bu axborot - bu juda ko'p, u turli manbalarda mavjud, u har doim ham mavjud emas va doimiy ravishda qo'shimcha va yangilanishni talab qiladi.

Kompaniyaning 500 ga yaqin xodimlari bor, ular turli ofislarda, vaqt zonalarida, Rossiya shaharlarida va hatto chet elda joylashgan bo'lib, odatda juda ko'p savollar mavjud, shuning uchun yana bir vazifa HR xodimlariga eng ko'p beriladigan savollar bilan bog'liq yukni kamaytirishdir. xodimlar tomonidan.

Shuningdek, jarayonlarni avtomatlashtirish kerak edi: yangi kelganlarning kompaniyaga qo'shilishi, yangi kelganlarning menejerlari va murabbiylariga xabarlar yuborish, yangi kelgan muvaffaqiyatli moslashish uchun o'tishi kerak bo'lgan kurslar va testlar haqida avtomatik eslatmalarni yuborish.

Texnik talablar biznes talablari asosida shakllantirildi.

Bot Skype asosida ishlashi kerak (tarixiy ravishda ular kompaniyada foydalanishadi), shuning uchun Azura xizmati tanlangan.

Unga kirishni cheklash uchun biz Skype orqali avtorizatsiya mexanizmidan foydalana boshladik.
Matnni aniqlash uchun ParlAI kutubxonasidan foydalanilgan

Konfiguratsiya, o'qitish, disk raskadrovka, pochta jo'natmalarini sozlash va boshqa vazifalar uchun ma'muriy veb-portal ham talab qilinadi.

Bot bizga yordam beradi

Loyiha ustida ishlash jarayonida biz bir qator muammo va qiyinchiliklarga duch keldik.

Misol uchun, Azure hisob qaydnomasida texnik muammolar mavjud edi. Microsoft o'z xizmatlaridagi ba'zi texnik qiyinchiliklar tufayli obunamizni faollashtirishni istamadi. Deyarli ikki oy davomida biz bu haqda hech narsa qila olmadik, oxir-oqibat Microsoft qo'llab-quvvatlashi qo'llarini tashladi va bizni hamma narsani muvaffaqiyatli o'rnatgan va bizga hisob bergan sheriklarga yubordi.

Eng qiyin bosqich loyihaning boshlanishi edi, biz nimadan foydalanishimizni, arxitektura nima bo'lishini, ma'lumotlarni qanday va qayerda saqlashni, tizim komponentlari va modullari bir-biri bilan qanday o'zaro ta'sir qilishini tanlash kerak edi.

Bizning holatda, har qanday loyihani boshlashning oddiy muammolari kadrlar bilan yanada murakkablashdi. Bizning biznesimizning o'ziga xosligi shundaki, tijorat loyihalaridan farqli o'laroq, ichki loyihalar ko'pincha kerakli sohalarda etarli bilimga ega bo'lmagan ishlab chiquvchilar tomonidan ishlaydi - ular taqdirning irodasiga ko'ra, navbatdagi skameykada kutishadi. katta ajoyib tijorat loyihasi. Bunday vaziyatda motivatsiya bilan ham ishlar juda qiyin bo'lganligi mantiqan to'g'ri. Hosildorlik pasayadi, jamoa ko'pincha bo'sh qoladi va natijada odamni ko'ndirish (rag'batlantirish) yoki o'zgartirish kerak. Ishlab chiquvchilarni o'zgartirishda siz treninglar o'tkazishingiz, bilimlarni uzatishingiz va loyihani qaytadan boshlashingiz kerak. Har bir yangi ishlab chiquvchi arxitekturani o'ziga xos tarzda ko'rdi va oldingilarini o'zlari qabul qilgan qarorlar va boshqa odamlarning kodlari uchun tanqid qildi. Qayta yozish noldan boshlandi.

Bu taxminan olti oy davom etdi. Biz shunchaki vaqtni belgiladik, kodni qayta tikladik va yangi hech narsa yozmadik.

Bundan tashqari, ichki loyihalarda, qoida tariqasida, deyarli hech qanday hujjat yo'q va har bir vaqtda nima qilish kerakligini va hozirgi ustuvorliklar nima ekanligini tushunish qiyin edi. Doimiy jamoani yaratish, jarayonlarni o'rnatish va kamida uch oy davomida rejalashtirish va baholashni o'tkazish kerak edi. Ammo loyiha tijorat bo'lmaganda buni qanday qilish kerak, demak siz minimal ish soatlarini sarflashingiz kerak va shu bilan birga tashqi mijozdan ko'ra yomonroq natijaga erishasizmi?

Biz loyihani ishlab chiqishda ishtirok etgan, u bilan tanish bo'lgan va u ustida ishlashni istagan resurslarni aniqladik. Biz loyihalar bo'yicha odamlarni ishga joylashtirish jadvalini tuzdik. Biz ishni baholadik va muvofiqlashtirdik va bu ishlarni asosiy loyihalar orasidagi "teshiklarga" joylashtirdik. 4 oydan so'ng biz dasturning ishchi prototipini oldik.

Endi botning funksionalligi, arxitekturasi va texnik yechimlari haqida batafsilroq gaplashamiz.

HRning asosiy talablaridan biri savolga to'g'ri javob berish uchun foydalanuvchi tomonidan yozilgan matnni tanib olish edi. Siz unga yozishingiz mumkin - men ta'tilga chiqmoqchiman, ta'tilga chiqmoqchiman yoki ta'tilga chiqmoqchiman, u tushunadi va shunga mos ravishda javob beradi. Yoki to'satdan xodimning kafedrasi sinadi va u "stul singan" yoki "Mening stulim yorilib ketdi" yoki "Kresloning orqa qismi tushib ketdi" deb yozmoqchi bo'lsa, bot bunday so'rovlarni tan oladi; Matnni tanib olish sifati botni tayyorlashga bog'liq bo'lib, bu haqda keyinroq gaplashamiz.

Keyingi talab va funksionallikning bir qismi botning dialog tizimidir. Bot suhbat o'tkazishi va dolzarb masala kontekstini tushunishi mumkin bo'lgan tizim ishlab chiqildi. Savolingizga javoban, agar biz botni bunga oβ€˜rgatgan boβ€˜lsak, u har qanday aniqlovchi savollarni berishi va suhbatni davom ettirishi mumkin. Skype foydalanuvchilarga suhbatni davom ettirish variantlari haqida maslahat berish uchun oddiy menyu variantlarini qo'llab-quvvatlaydi. Bundan tashqari, agar biz suhbat qurayotgan bo'lsak, lekin birdan mavzudan tashqari savol berishga qaror qilsak, bot ham buni tushunadi.

Bot foydalanuvchiga uning shaxsiy ma'lumotlari asosida turli artefaktlarni yuborish imkonini beradi. Masalan, uning joylashgan joyida. Aytaylik, agar biror kishi hojatxona topmoqchi bo'lsa, unga uni hojatxonaga olib boradigan ofis xaritasi ko'rsatiladi. Va karta xodimning qaysi kompaniya ofisida joylashganiga qarab tanlanadi.

Eng muhim vazifalardan biri foydalanuvchilarning shaxsiy ma'lumotlarini himoya qilishdir. Biz har bir odamga botimiz ishlaydigan maxfiy ma'lumotlarga kirishiga ruxsat bera olmaymiz. Bunday bot uchun avtorizatsiya zarurati uning ajralmas qismidir. Bot foydalanuvchidan u bilan har qanday muloqot o'tkazishdan oldin autentifikatsiya qilishni so'raydi. Bu xodim birinchi marta bot bilan bog'langanida sodir bo'ladi. Avtorizatsiyaning o'zi foydalanuvchini tegishli sahifaga yo'naltiradi, u erda foydalanuvchi token oladi, keyin uni Skype xabariga kiritadi. Agar avtorizatsiya muvaffaqiyatli bo'lsa, siz bot bilan muloqot qilishni boshlashingiz mumkin.

Bot bizga yordam beradi

Avtorizatsiya Skype orqali amalga oshiriladi - avtorizatsiya portali xizmati, korporativ tarmoq va LDAP. Shunday qilib, avtorizatsiya korporativ tarmoqdagi joriy foydalanuvchi ma'lumotlariga bog'liq.

Botni ishlab chiqish jarayonida biz HR-ga botni tezda disk raskadrovka qilishga yordam beradigan portal funksiyasiga oβ€˜rnatilgan qandaydir tizim kerakligini angladik. Biz portal sahifasini qoβ€˜shdik, unda HR bot bilan ishlashda foydalanuvchilar tomonidan qayd etilgan xatolarni koβ€˜rishi va ularni qayta tayyorlash yordamida hal qilishi yoki ularni ishlab chiquvchilarga qoldirishi mumkin.

Botni to'g'ridan-to'g'ri portalda o'qitish qobiliyati boshidanoq kiritilmagan. Ishlab chiqish jarayonida biz botni o'qitish kadrlar bo'limi xodimlari u bilan ishlashda bajaradigan eng keng tarqalgan vazifa ekanligini va botni qo'shimcha o'qitish uchun dasturchilarga matnli fayllarni yuborish mutlaqo qabul qilinishi mumkin emasligini tushundik. Bu juda ko'p vaqtni oladi va juda ko'p xato va muammolarni keltirib chiqaradi.

Bot bizga yordam beradi

Biz botni foydalanuvchilar uchun qulay o'qitish uchun portalda UI yozdik. Bu HR-ga botning joriy mashg'ulotlarini ko'rish, uni qo'shimcha o'qitish va joriy treningga tuzatishlar kiritish imkonini beradi. Trening daraxt tuzilishi bilan ifodalanadi, unda tugunlar, ya'ni novdalar bot bilan muloqotning davomi hisoblanadi. Siz oddiy savol va javoblarni yaratishingiz yoki jiddiy dialoglarni yaratishingiz mumkin, barchasi HR va ularning ehtiyojlariga bog'liq.

Yechim arxitekturasi haqida bir necha so'z.

Bot bizga yordam beradi

Yechim arxitekturasi modulli. U turli vazifalar uchun mas'ul xizmatlarni o'z ichiga oladi, xususan:
β€’ Azure’da Skype bot xizmati – foydalanuvchi soβ€˜rovlarini qabul qiladi va qayta ishlaydi. Bu juda oddiy xizmat bo'lib, birinchi bo'lib so'rovni qabul qiladi va uni dastlabki qayta ishlashni amalga oshiradi.
β€’ Administrator portali – portalni sozlash va botning oβ€˜zi uchun veb-interfeysni taqdim etuvchi xizmat. Bot har doim birinchi navbatda portal bilan bog'lanadi va portal so'rov bilan keyin nima qilishni hal qiladi.
β€’ Avtorizatsiya xizmati - bot va administrator portali uchun autentifikatsiya mexanizmlarini taqdim etadi. Avtorizatsiya Oauth2 protokoli orqali amalga oshiriladi. Ijobiy avtorizatsiya bilan xizmat korporativ tarmoqda joriy foydalanuvchi ma'lumotlariga ko'ra avtorizatsiyani amalga oshiradi, shunda tizim sinxronlashtirilmagan ma'lumotlar bilan bog'liq xatolarni nazorat qila oladi.
β€’ Python-da yozilgan va matnni tanib olishning o'zi uchun ParlAI ramkasidan foydalangan holda AI matnni aniqlash moduli. Bu neyron tarmoq, hech bo'lmaganda joriy tatbiqida. Savollarni tushunish uchun tfDiff algoritmidan foydalanamiz. Modul u bilan muloqot qilish va o'rganish uchun API taqdim etadi.

Xulosa qilib shuni aytmoqchimanki, bu bizning chat botini yaratish bo'yicha birinchi tajribamiz va biz tizimni iloji boricha sodda, lekin shu bilan birga funksional, minimal mehnat xarajatlari bilan qilishga harakat qildik. Menimcha, bizda juda qiziqarli mahsulot bor. O'zining o'quv tizimi, xatolar jurnali, bildirishnomalarni yuborish bilan u boshqa har qanday messenjer bilan ham birlashtirilishi mumkin.

Manba: www.habr.com

a Izoh qo'shish