De bot sil ús helpe

De bot sil ús helpe

In jier lyn frege ús leafste HR-ôfdieling ús om in petearbot te skriuwen dy't soe helpe by de oanpassing fan nijkommers oan it bedriuw.

Litte wy in reservearje meitsje dat wy ús eigen produkten net ûntwikkelje, mar wy leverje kliïnten in folslein oanbod fan ûntwikkelingstsjinsten. It ferhaal sil gean oer ús ynterne projekt, wêrfoar't de klant gjin bedriuw fan tredden is, mar ús eigen HR. En de wichtichste taak, sjoen de beheinde beskikberens fan minsken, middels en tiid, is it projekt op 'e tiid te foltôgjen en it produkt frij te litten.

Litte wy earst de problemen beskriuwe dy't oplost wurde moasten.

Untwikkelders binne meast yntroverte minsken en hâlde net fan prate; it is folle makliker om jo fraach te skriuwen yn in e-postchat. Mei in bot hoege jo net te tinken oer wa't jo moatte freegje, wa't jo moatte skilje, wêr't jo hinne moatte, en yn 't algemien, wêr't jo ynformaasje sykje en oft it relevant is.

It twadde probleem is ynformaasje - d'r is in protte, it is yn ferskate boarnen, it is net altyd beskikber en hat konstante tafoeging en fernijing nedich.

It bedriuw hat hast 500 meiwurkers, se lizze yn ferskate kantoaren, tiidsônes, stêden fan Ruslân en sels yn it bûtenlân, binne d'r meastentiids in protte fragen, dus in oare taak is om de lêst te ferminderjen op HR-personiel ferbûn mei de meast foarkommende fragen. troch meiwurkers.

It wie ek nedich om de prosessen te automatisearjen fan: nijkommers by it bedriuw, ferstjoeren fan berjochten nei managers en mentors fan nijkommers, ferstjoeren fan automatyske herinneringen oer kursussen en toetsen dy't in nijkommer moat passe foar suksesfolle oanpassing.

Technyske easken waarden foarme basearre op saaklike easken.

De bot moat wurkje op basis fan Skype (histoarysk, se brûke it yn it bedriuw), sadat de tsjinst op Azura waard keazen.

Om tagong ta it te beheinen, begon wy it autorisaasjemeganisme te brûken fia Skype.
ParlAI-bibleteek waard brûkt foar tekstherkenning

In bestjoerlik webportaal is ek nedich foar konfiguraasje, training, debuggen, opsetten fan mailings en oare taken.

De bot sil ús helpe

By it wurk oan it projekt kamen wy in oantal problemen en swierrichheden tsjin.

Der wiene bygelyks technyske problemen mei in Azure-akkount. Microsoft woe ús abonnemint net aktivearje fanwege wat technyske swierrichheden binnen har tsjinst. Foar hast twa moanne koenen wy der neat oan dwaan; Microsoft-stipe joech úteinlik syn hannen op en stjoerde ús nei partners, dy't alles mei súkses opsette en ús in akkount joegen.

It dreechste poadium wie it begjin fan it projekt, as jo moatte kieze wat wy sille brûke, wat de arsjitektuer sil wêze, hoe en wêr't jo gegevens opslaan, en hoe't de komponinten en modules fan it systeem mei elkoar sille ynteraksje.

Yn ús gefal waarden de yn wêzen gewoane problemen fan it begjinnen fan elk projekt fierder komplisearre troch personiel. De spesifikaasjes fan ús bedriuw binne sa dat, yn tsjinstelling ta kommersjele, ynterne projekten faak wurke wurde troch ûntwikkelders dy't net genôch kennis hawwe yn 'e fereaske gebieten - se kamen gewoan, troch de wil fan it needlot, op' e bank te wachtsjen op 'e folgjende grut koel kommersjeel projekt. It is logysk dat it yn sa'n situaasje ek hiel lestich wie mei motivaasje. Produktiviteit sakket leech, it team is faak idle, en as gefolch moatte jo de persoan oertsjûgje (motivearje) of feroarje. As jo ​​​​ûntwikkelders feroarje, moatte jo training útfiere, kennis oerdrage en it projekt yn wêzen opnij begjinne. Elke nije ûntwikkelder seach de arsjitektuer op syn eigen manier en skelde de eardere út foar de besluten dy't se makken en de koade fan oaren. It herskriuwen begûn fanôf it begjin.

Dit gie sa'n seis moanne troch. Wy markearje gewoan tiid, refaktorearje de koade en skriuwe neat nij.

Ek op ynterne projekten, yn 'e regel, is d'r hast gjin dokumintaasje, en it wie dreech om te begripen wat op elk momint dien wurde moat, en wat de hjoeddeistige prioriteiten binne. It wie nedich om in permanint team te meitsjen, prosessen te fêstigjen en planning en evaluaasje te fieren foar op syn minst trije moannen. Mar hoe te dwaan as it projekt is net kommersjeel, dat betsjut dat jo moatte ynvestearje in minimum fan man-oeren, en tagelyk krije it resultaat net slimmer as foar in eksterne klant?

Wy hawwe in pool fan middels identifisearre dy't meidien hawwe oan 'e ûntwikkeling fan it projekt, bekend binne mei en der oan wurkje wolle. Wy hawwe in skema opsteld foar de wurkgelegenheid fan minsken by projekten. Wy beoardiele en koördinearre it wurk, en passe dizze wurken yn 'e "gaten" tusken de wichtichste projekten. Nei 4 moannen krigen wy in wurkjend prototype fan 'e applikaasje.

Litte wy no yn mear detail prate oer de funksjonaliteit, arsjitektuer en technyske oplossingen fan 'e bot.

Ien fan 'e wichtichste easken fan HR wie om de tekst te werkennen skreaun troch de brûker om de fraach korrekt te beantwurdzjen. Jo kinne him skriuwe - ik wol op fakânsje, ik wol op fakânsje of wol graach op fakânsje, en hy sil it begripe en dêrop reagearje. Of ynienen brekt de stoel fan in meiwurker en hy wol skriuwe "de stoel is stikken" of "Myn stoel is barsten" of "De rêch fan 'e stoel is fallen"; mei in goede training herkent de bot sokke fersiken. De kwaliteit fan tekstherkenning sels hinget ôf fan 'e training fan' e bot, dêr't wy letter oer prate.

De folgjende eask en diel fan 'e funksjonaliteit is it dialoochsysteem fan' e bot. In systeem is ûntwikkele wêryn de bot in dialooch kin fiere en de kontekst fan 'e aktuele kwestje begripe. As antwurd op jo fraach kin hy alle ferdúdlikjende fragen stelle en it petear trochgean as wy de bot trainearre hawwe om dit te dwaan. Skype stipet ienfâldige menu-opsjes om brûkers te freegjen oer opsjes foar trochgeande petearen. Ek as wy in dialooch hiene, mar ynienen besletten om in fraach bûten it ûnderwerp te stellen, sil de bot dit ek begripe.

De bot makket it mooglik om ferskate artefakten nei de brûker te stjoeren op basis fan syn persoanlike gegevens. Bygelyks op syn lokaasje. Stel dat as in persoan in húske fine woe, dan soe hy in kantoarkaart sjen litte dy't him nei it húske liedt. En de kaart sil wurde selekteare ôfhinklik fan hokker bedriuwskantoar de meiwurker sit.

Ien fan 'e wichtichste taken is om persoanlike ynformaasje fan brûkers te beskermjen. Wy kinne net tastean dat elke persoan tagong hat ta de gefoelige gegevens dy't ús bot wurket. It ferlet fan autorisaasje foar sa'n bot is dêr in yntegraal ûnderdiel fan. De bot freget de brûker om te autentisearjen foardat hy in dialooch mei him fiere kin. Dit bart de earste kear dat in meiwurker kontakt hat mei de bot. De autorisaasje sels ferwiist de brûker nei de passende side, wêr't de brûker in token krijt, dy't hy dan yn in Skype-berjocht ynfoegje. As autorisaasje suksesfol is, kinne jo begjinne te kommunisearjen mei de bot.

De bot sil ús helpe

Autorisaasje fynt plak fia Skype - portal-autorisaasjetsjinst, bedriuwsnetwurk en LDAP. Sa, autorisaasje hinget ôf fan de hjoeddeiske brûkers gegevens op it bedriuw netwurk.

Yn it proses fan it ûntwikkeljen fan de bot, realisearre wy dat wy nedich in soarte fan systeem boud yn de portal funksjonaliteit dat koe helpe HR fluch debuggen de bot. Wy hawwe in portaalside tafoege wêr't HR flaters kin sjen dy't opnommen binne troch brûkers by it wurkjen mei de bot en se oplosse mei help fan omskoling of litte se foar ûntwikkelders.

De mooglikheid om in bot direkt op it portaal te trenen wie net fan it begjin ôf opnommen. Tidens it ûntwikkelingsproses realisearre wy dat it oplieden fan de bot de meast foarkommende taak is dy't meiwurkers fan HR-ôfdieling sille útfiere as se dermei wurkje, en it ferstjoeren fan tekstbestannen nei ûntwikkelders foar ekstra training fan 'e bot is folslein net akseptabel. Dit kostet tefolle tiid en soarget foar tefolle flaters en problemen.

De bot sil ús helpe

Wy hawwe in UI skreaun op it portaal foar brûkersfreonlike training fan 'e bot. It lit HR de hjoeddeistige training fan 'e bot sjen, fierder traine en oanpassingen meitsje oan' e hjoeddeistige training. Trening wurdt fertsjintwurdige troch in beamstruktuer wêryn knopen, dat is tûken, in fuortsetting binne fan 'e dialooch mei de bot. Jo kinne ienfâldige fragen en antwurden oanmeitsje, of jo kinne gewichtige dialogen oanmeitsje, it hinget allegear ôf fan HR en har behoeften.

In pear wurden oer de oplossing arsjitektuer.

De bot sil ús helpe

De oplossingsarsjitektuer is modulêr. It omfettet tsjinsten ferantwurdlik foar ferskate taken, nammentlik:
• Skype bot tsjinst op Azure - akseptearret en ferwurket brûkersoanfragen. Dit is in frij ienfâldige tsjinst dy't de earste is om in fersyk te ûntfangen en syn earste ferwurking út te fieren.
• Adminportaal - in tsjinst dy't in webynterface leveret foar it ynstellen fan it portaal en foar de bot sels. De bot makket altyd earst kontakt op mei it portaal, en it portaal beslút wat it folgjende te dwaan mei it fersyk.
• Autorisaasjetsjinst - jout autentikaasjemeganismen foar de bot en foar it adminportaal. Autorisaasje bart fia it Oauth2-protokol. Mei positive autorisaasje fiert de tsjinst autorisaasje yn it bedriuwsnetwurk neffens jildige brûkersgegevens, sadat it systeem flaters kin kontrolearje dy't ferbûn binne mei gegevens út syngronisaasje.
• AI-tekstherkenningsmodule, skreaun yn Python en mei it ParlAI-ramt foar tekstherkenning sels. Dit is in neural netwurk, teminsten yn syn hjoeddeistige ymplemintaasje. Wy brûke it tfDiff-algoritme om de fragen te begripen. De module biedt in API foar kommunisearjen mei it en learen.

Ta beslút wol ik sizze dat dit ús earste ûnderfining is by it meitsjen fan in petearbot, en wy besochten it systeem sa ienfâldich mooglik te meitsjen, mar tagelyk funksjoneel, mei minimale arbeidskosten derop. Ik tink dat wy in heul ynteressant produkt hawwe. Mei in eigen trainingssysteem, flaterlogging, ferstjoeren fan notifikaasjes, kin it ek yntegreare wurde mei elke oare messenger.

Boarne: www.habr.com

Add a comment