Botas mums padės

Botas mums padės

Prieš metus mūsų mylimas personalo skyrius paprašė parašyti pokalbių robotą, kuris padėtų naujokams adaptuotis įmonėje.

Darykime išlygą, kad nekuriame savo produktų, o teikiame klientams visą spektrą plėtros paslaugų. Pasakojimas bus apie mūsų vidinį projektą, kurio užsakovas yra ne trečiosios šalies įmonė, o mūsų pačių personalo personalas. O pagrindinė užduotis, atsižvelgiant į ribotą žmonių, išteklių ir laiko prieinamumą, yra laiku užbaigti projektą ir išleisti produktą.

Pirmiausia apibūdinkime problemas, kurias reikėjo išspręsti.

Kūrėjai dažniausiai yra intravertai žmonės ir nemėgsta kalbėti; daug lengviau parašyti savo klausimą el. pašto pokalbyje. Naudojant botą, nereikia galvoti, kieno klausti, kam skambinti, kur kreiptis ir apskritai, kur ieškoti informacijos ir ar ji aktuali.

Antra problema yra informacija – jos labai daug, ji ​​yra skirtinguose šaltiniuose, ji ne visada prieinama ir reikalauja nuolatinio papildymo bei atnaujinimo.

Įmonėje dirba beveik 500 darbuotojų, jie įsikūrę skirtinguose biuruose, laiko juostose, Rusijos miestuose ir net užsienyje, dažniausiai kyla daug klausimų, tad kita užduotis – sumažinti personalo personalo naštą, susijusią su dažniausiai užduodamais klausimais. darbuotojų.

Taip pat reikėjo automatizuoti procesus: naujokų prisijungimo prie įmonės, žinučių siuntimo vadovams ir naujokų mentoriams, automatinių priminimų siuntimo apie kursus ir testus, kuriuos naujokas turi išlaikyti sėkmingam adaptavimuisi.

Techniniai reikalavimai buvo suformuoti remiantis verslo reikalavimais.

Botas turi veikti „Skype“ pagrindu (istoriškai jie naudojasi įmonėje), todėl buvo pasirinkta paslauga „Azura“.

Norėdami apriboti prieigą prie jo, pradėjome naudoti autorizacijos mechanizmą per „Skype“.
Tekstui atpažinti buvo naudojama ParlAI biblioteka

Administracinis interneto portalas taip pat reikalingas konfigūravimui, mokymui, derinimui, laiškų nustatymui ir kitoms užduotims atlikti.

Botas mums padės

Dirbdami su projektu susidūrėme su daugybe problemų ir sunkumų.

Pavyzdžiui, kilo techninių problemų dėl Azure paskyros. „Microsoft“ nenorėjo suaktyvinti mūsų prenumeratos dėl kai kurių techninių jų paslaugos sunkumų. Beveik du mėnesius nieko negalėjome padaryti, „Microsoft“ pagalba ilgainiui numojo ranka ir nusiuntė mus pas partnerius, kurie sėkmingai viską nustatė ir davė mums paskyrą.

Sunkiausias etapas buvo projekto pradžia, kai reikia pasirinkti, ką naudosime, kokia bus architektūra, kaip ir kur saugoti duomenis, kaip tarpusavyje sąveikaus sistemos komponentai ir moduliai.

Mūsų atveju iš esmės įprastas bet kokio projekto pradžios problemas dar labiau apsunkino personalas. Mūsų verslo specifika tokia, kad su vidiniais projektais, skirtingai nei komerciniais, dažnai dirba kūrėjai, neturintys pakankamai žinių reikiamose srityse – jie tiesiog likimo valia atsidūrė teisiamųjų suole laukdami kito. didelis šaunus komercinis projektas. Logiška, kad tokioje situacijoje su motyvacija taip pat buvo labai sunku. Produktyvumas krenta žemai, kolektyvas dažnai dykinėja, dėl to tenka įtikinti (motyvuoti) arba pakeisti žmogų. Keičiant kūrėjus, reikia pravesti mokymus, perduoti žinias ir iš esmės pradėti projektą iš naujo. Kiekvienas naujas kūrėjas architektūrą matė savaip ir peikė ankstesnius už jų priimtus sprendimus ir kitų žmonių kodą. Perrašymas prasidėjo nuo nulio.

Tai tęsėsi apie šešis mėnesius. Mes tik žymėjome laiką, pertvarkėme kodą ir nieko naujo nerašėme.

Be to, vidiniuose projektuose, kaip taisyklė, beveik nėra dokumentacijos ir buvo sunku suprasti, ką reikia padaryti kiekvienu momentu ir kokie yra dabartiniai prioritetai. Reikėjo sukurti nuolatinę komandą, nustatyti procesus, planuoti ir vertinti bent tris mėnesius. Tačiau kaip tai padaryti, kai projektas nėra komercinis, o tai reiškia, kad reikia investuoti minimaliai darbo valandas ir tuo pačiu gauti ne prastesnį rezultatą nei išoriniam klientui?

Mes nustatėme išteklių, kurie dalyvavo kuriant projektą, yra susipažinę su juo ir nori prie jo dirbti, telkinį. Sudarėme žmonių įdarbinimo projektuose grafiką. Darbus įvertinome ir derinome, šiuos darbus sutalpinome į „skyles“ tarp pagrindinių projektų. Po 4 mėnesių gavome veikiantį programos prototipą.

Dabar pakalbėkime plačiau apie boto funkcionalumą, architektūrą ir techninius sprendimus.

Vienas iš pagrindinių HR reikalavimų buvo atpažinti vartotojo parašytą tekstą, kad būtų galima teisingai atsakyti į klausimą. Galite jam parašyti - noriu atostogauti, noriu atostogauti ar norėčiau atostogauti, jis supras ir atitinkamai atsakys. Arba staiga lūžta darbuotojo kėdė ir jis nori parašyti „Kėdė sulūžo“ arba „Mano kėdė įskilusi“ arba „Nukrito kėdės atlošas“; tinkamai apmokytas, robotas atpažins tokius prašymus. Pačio teksto atpažinimo kokybė priklauso nuo boto mokymo, apie kurį pakalbėsime vėliau.

Kitas reikalavimas ir funkcionalumo dalis yra roboto dialogo sistema. Buvo sukurta sistema, kurioje robotas gali palaikyti dialogą ir suprasti esamos problemos kontekstą. Atsakydamas į jūsų klausimą, jis gali užduoti bet kokius aiškinamuosius klausimus ir tęsti pokalbį, jei apmokėme robotą tai padaryti. „Skype“ palaiko paprastas meniu parinktis, kad naudotojai būtų raginami tęsti pokalbius. Be to, jei mes turėjome dialogą, bet staiga nusprendėme užduoti klausimą ne į temą, robotas taip pat tai supras.

Botas suteikia galimybę vartotojui siųsti įvairius artefaktus pagal jo asmeninius duomenis. Pavyzdžiui, jo vietoje. Tarkime, jei žmogus norėtų susirasti tualetą, jam būtų parodytas biuro žemėlapis, vedantis į tualetą. O kortelė bus parenkama atsižvelgiant į tai, kurioje įmonės biure darbuotojas yra įsikūręs.

Viena iš svarbiausių užduočių – apsaugoti vartotojų asmeninę informaciją. Negalime leisti kiekvienam asmeniui prieiti prie slaptų duomenų, kuriuos valdo mūsų robotas. Tokio roboto leidimo poreikis yra neatskiriama jo dalis. Prieš pradėdamas dialogą su juo, robotas prašo vartotojo autentifikuoti. Tai atsitinka pirmą kartą darbuotojui susisiekus su robotu. Pats autorizavimas nukreipia vartotoją į atitinkamą puslapį, kur vartotojas gauna žetoną, kurį vėliau įterpia į Skype žinutę. Jei autorizacija sėkminga, galite pradėti bendrauti su robotu.

Botas mums padės

Autorizacija vyksta per Skype – portalo autorizavimo paslaugą, įmonės tinklą ir LDAP. Taigi autorizacija priklauso nuo esamų vartotojo duomenų įmonės tinkle.

Kurdami robotą supratome, kad mums reikia tam tikros sistemos, integruotos į portalo funkcijas, kuri padėtų HR greitai derinti robotą. Pridėjome portalo puslapį, kuriame HR gali matyti klaidas, kurias užfiksavo vartotojai dirbdami su botu, ir jas išspręsti perkvalifikuodami arba palikti kūrėjams.

Galimybė išmokyti robotą tiesiogiai portale nebuvo įtraukta nuo pat pradžių. Kūrimo proceso metu supratome, kad boto mokymas yra dažniausia užduotis, kurią personalo skyriaus darbuotojai atliks dirbdami su juo, o tekstinių failų siuntimas kūrėjams papildomam boto mokymui yra visiškai nepriimtinas. Tai suvalgo per daug laiko ir sukuria per daug klaidų bei problemų.

Botas mums padės

Portale parašėme vartotojo sąsają, skirtą patogiam roboto mokymui. Tai leidžia HR matyti dabartinį boto mokymą, toliau jį treniruoti ir koreguoti dabartinį mokymą. Mokymą vaizduoja medžio struktūra, kurioje mazgai, tai yra šakos, yra dialogo su robotu tęsinys. Galite kurti paprastus klausimus ir atsakymus arba svarius dialogus, viskas priklauso nuo HR ir jų poreikių.

Keletas žodžių apie sprendimo architektūrą.

Botas mums padės

Sprendimo architektūra yra modulinė. Tai apima paslaugas, atsakingas už įvairias užduotis, būtent:
• „Skype“ roboto paslauga „Azure“ – priima ir apdoroja vartotojų užklausas. Tai gana paprasta paslauga, kuri pirmoji gauna užklausą ir atlieka pradinį jos apdorojimą.
• Administravimo portalas – paslauga, teikianti žiniatinklio sąsają portalui ir pačiam robotui nustatyti. Botas visada pirmiausia susisiekia su portalu, o portalas nusprendžia, ką toliau daryti su užklausa.
• Autorizacijos paslauga – suteikia roboto ir administratoriaus portalo autentifikavimo mechanizmus. Autorizacija vyksta naudojant Oauth2 protokolą. Turint teigiamą autorizaciją, paslauga atlieka autorizaciją įmonės tinkle pagal galiojančius vartotojo duomenis, kad sistema galėtų kontroliuoti klaidas, susijusias su nesinchronizuojamais duomenimis.
• AI teksto atpažinimo modulis, parašytas Python ir naudojant ParlAI sistemą pačiam teksto atpažinimui. Tai yra neuroninis tinklas, bent jau šiuo metu. Klausimams suprasti naudojame tfDiff algoritmą. Modulis suteikia API bendravimui su juo ir mokymuisi.

Baigdamas noriu pasakyti, kad tai yra pirmoji mūsų patirtis kuriant pokalbių robotą ir stengėmės, kad sistema būtų kuo paprastesnė, bet tuo pačiu funkcionalesnė, su minimaliomis darbo sąnaudomis. Manau, kad turime labai įdomų produktą. Su savo mokymo sistema, klaidų registravimu, pranešimų siuntimu, jis taip pat gali būti integruotas su bet kuriuo kitu pasiuntiniu.

Šaltinis: www.habr.com

Добавить комментарий