Die bot sal ons help

Die bot sal ons help

'n Jaar gelede het ons geliefde HR-afdeling ons gevra om 'n kletsbot te skryf wat nuwelinge sal help om by die maatskappy aan te pas.

Kom ons maak 'n voorbehoud dat ons nie ons eie produkte ontwikkel nie, maar ons voorsien aan ons kliënte 'n volledige reeks ontwikkelingsdienste. Die storie gaan oor ons interne projek handel, waarvoor die kliënt nie 'n derdepartymaatskappy is nie, maar ons eie HR. En die hooftaak, met beperkte beskikbaarheid van mense, hulpbronne, tyd, is om die projek betyds te voltooi en die produk vry te stel.

Om mee te begin beskryf ons die take wat opgelos moes word.

Ontwikkelaars is meestal introverte en hou nie daarvan om te praat nie, dit is baie makliker om jou vraag in 'n elektroniese klets te skryf. Met 'n bot hoef jy nie te dink oor wie om te vra, wie om te bel, waarheen om te gaan, en in die algemeen, waar om inligting te soek, en of dit relevant is nie.

Die tweede probleem is inligting - daar is baie daarvan, dit is in verskillende bronne, dit is nie altyd beskikbaar nie en moet voortdurend aangevul en bygewerk word.

Die maatskappy het byna 500 werknemers, hulle is geleë in verskillende kantore, tydsones, stede in Rusland en selfs in die buiteland, daar is gewoonlik baie vrae, so 'n ander taak is om die las op HR-personeel te verminder wat verband hou met die mees algemene vrae wat gevra word deur werknemers.

Dit was ook nodig om die prosesse te outomatiseer: die aankoms van nuwelinge na die maatskappy, die stuur van boodskappe aan bestuurders en mentors van nuwelinge, die stuur van outomatiese aanmanings oor kursusse en toetse wat 'n nuweling moet slaag vir suksesvolle aanpassing.

Op grond van besigheidsvereistes is tegniese vereistes gevorm.

Die bot moet op die basis van Skype werk (histories het dit gebeur dat hulle dit in die maatskappy gebruik), so die diens op Azura is gekies.

Om toegang daartoe te beperk, het ons die magtigingsmeganisme via Skype begin gebruik.
ParlAI-biblioteek is vir teksherkenning gebruik

Jy benodig ook 'n administratiewe webportaal vir konfigurasie, opleiding, ontfouting, posinstellings en ander take.

Die bot sal ons help

In die proses om aan die projek te werk, het ons 'n aantal probleme en probleme ondervind.

Daar was byvoorbeeld tegniese probleme - met 'n Azure-rekening. Microsoft wou nie ons intekening aktiveer nie weens 'n paar tegniese probleme binne hul diens. Vir amper twee maande kon ons niks daaraan doen nie, Microsoft-ondersteuning het uiteindelik skouers opgetrek en ons na vennote gestuur wat alles suksesvol opgestel het en vir ons 'n rekening gegee het.

Die moeilikste stadium was die begin van die projek, wanneer jy moet kies wat ons gaan gebruik, wat die argitektuur sal wees, hoe en waar om data te stoor, en hoe die komponente en modules van die stelsel met mekaar sal omgaan.

Trouens, in ons geval is die gewone probleme om enige projek te begin verder gekompliseer deur personeel. Die besonderhede van ons besigheid is sodanig dat, anders as kommersiële projekte, aan interne projekte dikwels gewerk word deur ontwikkelaars wat nie oor voldoende kennis op die vereiste gebiede beskik nie – hulle was toevallig op die bank en wag vir die volgende groot, cool kommersiële projek. Dit is logies dat met motivering in so 'n situasie, dinge ook baie moeilik was. Produktiwiteit daal laag, die span is dikwels eenvoudig, gevolglik moet jy 'n persoon oorreed (motiveer) of verander. Wanneer jy die ontwikkelaar verander, moet jy opleiding doen, kennis oordra en weer in wese die projek begin. Elke nuwe ontwikkelaar het die argitektuur op sy eie manier gesien en die voriges uitgeskel vir hul besluite en iemand anders se kode. Herskryf het van voor af begin.

Dit het vir ongeveer 'n halfjaar aangehou. Ons het net tyd gemerk, die kode herfaktoreer en niks nuuts geskryf nie.

Ook op interne projekte is daar in die reël amper geen dokumentasie nie, en dit was moeilik om te verstaan ​​wat op enige gegewe tydstip gedoen moet word, en wat nou die prioriteite is. Dit was nodig om 'n permanente span te skep, prosesse daar te stel, beplanning en evaluering vir ten minste drie maande te doen. Maar hoe om dit te doen as die projek nie kommersieel is nie, wat beteken dat jy man-ure tot 'n minimum moet belê, en terselfdertyd die resultaat nie erger as vir 'n eksterne kliënt moet kry nie?

Ons het 'n poel hulpbronne geïdentifiseer wat aan die ontwikkeling van die projek deelgeneem het, daarmee vertroud is en daaraan wil werk. Opgestel 'n skedule van indiensneming van mense op projekte. Ons het die werk beoordeel en gekoördineer, en hierdie werke in die "gate" tussen die hoofprojekte ingeskryf. Na 4 maande het ons 'n werkende prototipe van die aansoek ontvang.

Kom ons praat nou meer oor die bot se funksionaliteit, argitektuur en tegniese oplossings.

Een van die hoofvereistes van MH was die herkenning van teks wat deur die gebruiker geskryf is om die vraag korrek te beantwoord. Jy kan vir hom skryf - ek wil met vakansie gaan, ek wil met vakansie gaan of ek wil graag met vakansie gaan, en hy sal dienooreenkomstig verstaan ​​en antwoord. Of skielik is 'n werknemer se stoel stukkend, en hy wil skryf "die stoel is stukkend" of "My stoel is gekraak" of "Die rug van die stoel het afgeval", met behoorlike opleiding, sal die bot sulke versoeke herken. Die kwaliteit van teksherkenning self hang af van die opleiding van die bot, waaroor ons later sal praat.

Die volgende vereiste en deel van die funksionaliteit is die bot-dialoogstelsel. 'n Stelsel is ontwikkel waarin die bot 'n dialoog kan voer en die konteks van die huidige kwessie kan verstaan. In antwoord op jou vraag kan hy enige verduidelikende vrae vra en die gesprek voortgaan as ons die bot opgelei het om dit te doen. Skype ondersteun eenvoudige spyskaartitems om gebruikers te vra vir opsies om gesprekke voort te sit. Ook, as ons 'n dialoog gehad het, maar skielik besluit het om 'n vraag buite die onderwerp te vra, dan sal die bot dit ook verstaan.

Die bot laat jou toe om verskeie artefakte aan die gebruiker te stuur op grond van sy persoonlike data. Byvoorbeeld, by sy plek. Gestel as 'n persoon 'n toilet wil vind, sal hy 'n kaart van die kantoor gewys word wat hom na die toilet lei. En die kaart sal gekies word, afhangende van in watter kantoor van die maatskappy die werknemer is.

Een van die belangrikste take is die beskerming van persoonlike inligting van gebruikers. Ons kan nie toelaat dat elke persoon toegang kry tot die sensitiewe data waarop ons bot werk nie. Die behoefte aan magtiging vir so 'n bot is 'n integrale deel daarvan. Die bot vra die gebruiker om magtiging deur te gee voordat hy enige dialoog met hom kan voer. Dit gebeur die eerste keer dat 'n werknemer die bot kontak. Magtiging self herlei die gebruiker na die toepaslike bladsy, waar die gebruiker 'n teken ontvang, wat hy dan in 'n Skype-boodskap invoeg. As magtiging suksesvol is, kan jy met die bot begin kommunikeer.

Die bot sal ons help

Magtiging gaan deur Skype - portaalmagtigingsdiens, korporatiewe netwerk en LDAP. Magtiging hang dus af van die huidige data oor die gebruiker in die korporatiewe netwerk.

Tydens die ontwikkeling van die bot het ons besef dat ons 'n soort stelsel nodig het wat in die funksionaliteit van die portaal ingebou is wat HR kan help om die bot vinnig te ontfout. Ons het 'n portaalbladsy bygevoeg waar HR's die foute wat deur gebruikers aangemeld is, kan sien terwyl hulle met die bot werk en dit kan oplos met behulp van heropleiding of dit vir ontwikkelaars kan oorlaat.

Die vermoë om 'n bot reg op die portaal op te lei, was nie van die begin af beplan nie. Tydens die ontwikkelingsproses het ons besef dat bot-opleiding die mees algemene taak is wat HR-werknemers sal verrig wanneer hulle daarmee werk, en om tekslêers aan ontwikkelaars te stuur vir bykomende bot-opleiding is heeltemal onaanvaarbaar. Dit vreet te veel tyd op en genereer te veel foute en probleme.

Die bot sal ons help

Ons het die UI op die portaal geskryf vir gebruikersvriendelike leer van die bot. Dit laat HR toe om die huidige opleiding van die bot te sien, dit weer op te lei en aanpassings aan die huidige opleiding te maak. Leer word verteenwoordig deur 'n boomstruktuur, waarin nodusse, dit wil sê takke, 'n voortsetting van die dialoog met die bot is. Jy kan eenvoudige vrae en antwoorde skep, of gewigtige dialoë, dit hang alles af van HR en hul behoeftes.

'N Paar woorde oor die argitektuur van die oplossing.

Die bot sal ons help

Die argitektuur van die oplossing is modulêr. Dit sluit dienste in wat vir verskeie take verantwoordelik is, naamlik:
• Skype bot-diens op Azure - aanvaar en verwerk gebruikersversoeke. Dit is 'n redelik eenvoudige diens wat eers 'n versoek ontvang en die aanvanklike verwerking daarvan uitvoer.
• Admin-portaal - 'n diens wat 'n webkoppelvlak verskaf vir die opstel van die portaal en vir die bot self. Die bot spreek altyd die portaal eerste aan, en die portaal besluit reeds wat om volgende met die versoek te doen.
• Magtigingsdiens - verskaf stawingsmeganismes vir die bot en vir die adminportaal. Magtiging vind plaas via die Oauth2-protokol. As magtiging positief is, voer die diens magtiging in die korporatiewe netwerk uit volgens geldige gebruikerdata, sodat die stelsel foute wat verband hou met data wat nie gesinchroniseer is nie, kan beheer.
• KI 'n Teksherkenningsmodule wat in python geskryf is en die ParlAI-raamwerk vir teksherkenning self gebruik. Dit is 'n neurale netwerk, ten minste in die huidige implementering. Ons gebruik die tfDiff-algoritme om vrae te verstaan. Die module verskaf 'n API om daarmee te kommunikeer en te leer.

Ten slotte wil ek sê dat dit ons eerste ervaring is met die skep van 'n kletsbot, en ons het probeer om die stelsel so eenvoudig as moontlik te maak, maar terselfdertyd funksioneel, met minimale arbeidskoste daarvoor. Ek dink ons ​​het 'n baie interessante produk. Met sy eie leerstelsel, foutmelding, kennisgewings, kan dit ook met enige ander boodskapper geïntegreer word.

Bron: will.com

Voeg 'n opmerking