Bot aitab meid

Bot aitab meid

Aasta tagasi palus meie armastatud personaliosakond meil kirjutada vestlusroti, mis aitaks uutel tulijatel ettevõttes kohaneda.

Teeme reservatsiooni, et me ei arenda oma tooteid, vaid pakume klientidele täisvalikut arendusteenuseid. Lugu tuleb meie siseprojektist, mille tellijaks ei ole kolmanda osapoole ettevõte, vaid meie oma personalijuht. Ja inimeste, ressursside ja aja piiratud kättesaadavust arvestades on peamine ülesanne projekt õigeaegselt lõpule viia ja toode välja anda.

Kõigepealt kirjeldame probleeme, mis tuli lahendada.

Arendajad on enamasti introvertsed inimesed ja neile ei meeldi rääkida; palju lihtsam on kirjutada oma küsimus meilivestlusesse. Boti puhul ei pea te mõtlema, kellelt küsida, kellele helistada, kuhu minna ja üldiselt, kust teavet otsida ja kas see on asjakohane.

Teine probleem on teave – seda on palju, see on erinevates allikates, see pole alati kättesaadav ja vajab pidevat täiendamist ja uuendamist.

Ettevõttes töötab ligi 500 töötajat, nad asuvad erinevates kontorites, ajavööndites, Venemaa linnades ja isegi välismaal, tavaliselt on palju küsimusi, seega on teine ​​ülesanne vähendada personalitöötajate koormust, mis on seotud kõige sagedamini küsitavate küsimustega. töötajate poolt.

Samuti oli vaja automatiseerida protsesse: uustulnukate liitumine ettevõttega, teadete saatmine uute tulijate juhtidele ja mentoritele, automaatsete meeldetuletuste saatmine kursuste ja testide kohta, mis uustulnuk peab edukaks kohanemiseks läbima.

Tehnilised nõuded moodustati lähtuvalt ärinõuetest.

Bot peab töötama Skype’i baasil (ajalooliselt kasutavad nad seda ettevõttes), seega valiti Azura teenus.

Sellele juurdepääsu piiramiseks hakkasime kasutama Skype'i kaudu autoriseerimismehhanismi.
Tekstituvastuseks kasutati ParlAI raamatukogu

Haldusveebiportaali on vaja ka seadistamiseks, väljaõppeks, silumiseks, postituste seadistamiseks ja muudeks ülesanneteks.

Bot aitab meid

Projekti kallal töötades puutusime kokku mitmete probleemide ja raskustega.

Näiteks tekkisid tehnilised probleemid Azure'i kontoga. Microsoft ei soovinud meie tellimust aktiveerida nende teenusega seotud tehniliste probleemide tõttu. Peaaegu kaks kuud ei saanud me sellega midagi ette võtta, Microsofti tugi laiutas lõpuks käed ja saatis meid partnerite juurde, kes kõik edukalt seadistasid ja meile konto andsid.

Kõige keerulisem oli projekti algus, mil tuleb valida, mida kasutame, milline on arhitektuur, kuidas ja kuhu andmeid salvestada ning kuidas süsteemi komponendid ja moodulid omavahel suhtlevad.

Meie puhul muutis mis tahes projekti käivitamise sisuliselt tavalised probleemid veelgi keerulisemaks personali komplekteerimine. Meie äri spetsiifika on selline, et erinevalt kommertsprojektidest tegelevad siseprojektidega sageli arendajad, kellel pole vajalikest valdkondadest piisavalt teadmisi - nad lihtsalt sattusid saatuse tahtel pingile järgmist ootama. suur lahe kommertsprojekt. Loogiline, et ka motivatsiooniga oli sellises olukorras väga raske. Tootlikkus langeb madalale, meeskond on sageli jõude ning selle tulemusena tuleb inimest veenda (motiveerida) või muuta. Arendajate vahetamisel tuleb läbi viia koolitus, teadmisi edasi anda ja projektiga sisuliselt uuesti alustada. Iga uus arendaja nägi arhitektuuri omal moel ja sõimas eelnevaid nende tehtud otsuste ja teiste inimeste koodi pärast. Ümberkirjutamine algas nullist.

See kestis umbes kuus kuud. Märkisime lihtsalt aega, tegime koodi ümber ja ei kirjutanud midagi uut.

Samuti puudub reeglina siseprojektide puhul peaaegu igasugune dokumentatsioon ning raske oli aru saada, mida igal ajahetkel on vaja teha ja millised on hetkel prioriteedid. Vaja oli luua püsiv meeskond, paika panna protsessid ning läbi viia planeerimine ja hindamine vähemalt kolm kuud. Aga kuidas seda teha, kui projekt ei ole äriline, mis tähendab, et peate investeerima minimaalselt töötunde ja samal ajal saama tulemuse mitte halvema kui välise kliendi puhul?

Oleme tuvastanud ressursside kogumi, kes osalesid projekti väljatöötamises, tunnevad seda ja soovivad sellega tegeleda. Koostasime inimeste projektidesse töölevõtmise ajakava. Hindasime ja koordineerisime tööd ning sobitasime need tööd põhiprojektide vahele jäävatesse “aukudesse”. 4 kuu pärast saime rakenduse töötava prototüübi.

Räägime nüüd lähemalt boti funktsionaalsusest, arhitektuurist ja tehnilistest lahendustest.

HR üks peamisi nõudeid oli kasutaja kirjutatud teksti äratundmine, et küsimusele õigesti vastata. Sa võid talle kirjutada – tahan puhkusele, tahan puhkusele või puhkusele ning ta mõistab ja vastab vastavalt. Või äkki läheb töötaja tool katki ja ta tahab kirjutada "tool on katki" või "Mu tool on mõranenud" või "Tooli seljatugi on maha kukkunud"; nõuetekohase koolituse korral tunneb bot sellised taotlused ära. Tekstituvastuse kvaliteet ise sõltub boti väljaõppest, millest räägime hiljem.

Järgmine nõue ja osa funktsionaalsusest on roboti dialoogisüsteem. Töötati välja süsteem, milles robot saab pidada dialoogi ja mõista praeguse probleemi konteksti. Vastuseks teie küsimusele võib ta esitada täpsustavaid küsimusi ja jätkata vestlust, kui oleme robotit seda tegema õpetanud. Skype toetab lihtsaid menüüvalikuid, et anda kasutajatele teavet vestluste jätkamise võimaluste kohta. Samuti, kui pidasime dialoogi, kuid otsustasime ootamatult esitada teemavälise küsimuse, saab ka bot sellest aru.

Bot võimaldab saata kasutajale tema isikuandmete põhjal erinevaid artefakte. Näiteks tema asukohas. Oletame, et kui inimene soovib tualetti leida, näidatakse talle kontorikaarti, mis juhatab ta tualetti. Ja kaart valitakse sõltuvalt sellest, millises ettevõtte kontoris töötaja asub.

Üks olulisemaid ülesandeid on kaitsta kasutajate isikuandmeid. Me ei saa lubada kõigil inimestel juurdepääsu tundlikele andmetele, mida meie robot töötab. Sellise roboti autoriseerimise vajadus on selle lahutamatu osa. Bot palub kasutajal end autentida, enne kui ta saab temaga dialoogi pidada. See juhtub siis, kui töötaja esimest korda robotiga ühendust võtab. Autoriseerimine ise suunab kasutaja vastavale lehele, kus kasutaja saab märgi, mille ta seejärel Skype’i sõnumisse sisestab. Kui autoriseerimine õnnestub, võite hakata robotiga suhtlema.

Bot aitab meid

Autoriseerimine toimub Skype - portaali autoriseerimisteenuse, ettevõtte võrgu ja LDAP kaudu. Seega sõltub autoriseerimine ettevõtte võrgu praegustest kasutajaandmetest.

Boti arendamise käigus mõistsime, et vajame portaali funktsionaalsusesse sisseehitatud süsteemi, mis aitaks HR-il robotit kiiresti siluda. Oleme lisanud portaali lehe, kus HR saab vaadata kasutajate poolt robotiga töötamisel salvestatud vigu ja neid ümberõppe abil lahendada või jätta arendajatele.

Võimalust otse portaalis robotit treenida ei olnud algusest peale kaasas. Arendusprotsessi käigus saime aru, et roboti väljaõpe on kõige levinum ülesanne, mida personaliosakonna töötajad sellega töötades täidavad ning tekstifailide saatmine arendajatele boti lisakoolituseks on täiesti vastuvõetamatu. See kulutab liiga palju aega ja tekitab liiga palju vigu ja probleeme.

Bot aitab meid

Kirjutasime portaali kasutajaliidese roboti kasutajasõbralikuks koolituseks. See võimaldab HR-l näha roboti praegust treeningut, seda edasi treenida ja praegust treeningut kohandada. Treenimist esindab puustruktuur, milles sõlmed, st oksad, on robotiga peetava dialoogi jätk. Saate luua lihtsaid küsimusi ja vastuseid või kaalukaid dialooge, kõik sõltub personalist ja nende vajadustest.

Paar sõna lahenduse arhitektuurist.

Bot aitab meid

Lahenduse arhitektuur on modulaarne. See hõlmab teenuseid, mis vastutavad mitmesuguste ülesannete eest, nimelt:
• Skype'i robotiteenus Azure'is – võtab vastu ja töötleb kasutajataotlusi. See on üsna lihtne teenus, mis saab esimesena päringu ja teostab selle esmase töötlemise.
• Haldusportaal – teenus, mis pakub veebiliidest portaali seadistamiseks ja roboti enda jaoks. Bot võtab alati portaaliga kõigepealt ühendust ja portaal otsustab, mida päringuga edasi teha.
• Autoriseerimisteenus – pakub robotile ja administraatoriportaalile autentimismehhanisme. Autoriseerimine toimub Oauth2 protokolli kaudu. Positiivse autoriseerimise korral teostab teenus ettevõtte võrgus autoriseerimist kehtivate kasutajaandmete alusel, et süsteem saaks kontrollida sünkroonist väljas olevate andmetega seotud vigu.
• AI tekstituvastusmoodul, mis on kirjutatud Pythonis ja kasutab tekstituvastuseks ParlAI raamistikku. See on närvivõrk, vähemalt selle praeguses teostuses. Kasutame küsimuste mõistmiseks tfDiff algoritmi. Moodul pakub API-d sellega suhtlemiseks ja õppimiseks.

Kokkuvõtteks tahan öelda, et see on meie esimene kogemus vestlusroboti loomisel ja püüdsime muuta süsteemi võimalikult lihtsaks, kuid samal ajal funktsionaalseks, minimaalsete tööjõukuludega. Ma arvan, et meil on väga huvitav toode. Oma koolitussüsteemi, vigade logimise ja teavituste saatmisega saab seda integreerida ka mis tahes muu messengeriga.

Allikas: www.habr.com

Lisa kommentaar