Botak lagunduko digu

Botak lagunduko digu

Duela urtebete, gure HR sail maiteak txat bot bat idazteko eskatu zigun, etorri berriak enpresara egokitzen lagunduko zuena.

Egin dezagun erreserba ez dugula gure produktuak garatzen, baina bezeroei garapen-zerbitzu sorta osoa eskaintzen diegu. Istorioa gure barne-proiektuari buruzkoa izango da, bezeroa ez baita hirugarren enpresa bat, gure HR-a baizik. Eta zeregin nagusia, pertsonen, baliabideen eta denboraren erabilgarritasun mugatua ikusita, proiektua garaiz osatzea eta produktua kaleratzea da.

Lehenik eta behin, deskriba ditzagun konpondu behar ziren arazoak.

Garatzaileak barneko pertsonak dira gehienetan eta ez zaie hitz egitea gustatzen; askoz errazagoa da zure galdera posta elektronikoko txat batean idaztea. Bot batekin, ez duzu pentsatu behar nori galdetu, nori deitu, nora joan eta, oro har, informazioa non bilatu eta garrantzitsua den ala ez.

Bigarren arazoa informazioa da - asko dago, iturri ezberdinetan dago, ez dago beti eskuragarri eta etengabe gehitu eta eguneratu behar da.

Konpainiak ia 500 langile ditu, bulego, ordu-eremu, Errusiako hiri eta baita atzerrian ere kokatuta daude, galdera asko egon ohi dira, beraz, beste zeregin bat da maiz egiten diren galderekin lotutako HR langileen zama murriztea. langileek.

Era berean, beharrezkoa zen prozesuak automatizatzea: enpresan sartu berriak, etorri berrien kudeatzaileei eta tutoreei mezuak bidaltzea, etorri berri batek egokitzeko arrakasta izateko gainditu behar dituen ikastaro eta probei buruzko abisu automatikoak bidaltzea.

Eskakizun teknikoak negozio-eskakizunetan oinarrituta eratu ziren.

Botak Skype-n oinarrituta funtzionatu behar du (historikoki, enpresan erabiltzen dute), beraz, Azura-ko zerbitzua aukeratu zen.

Bertara sarbidea mugatzeko, Skype bidez baimentzeko mekanismoa erabiltzen hasi ginen.
ParlAI liburutegia testua ezagutzeko erabili zen

Web-atari administratibo bat ere beharrezkoa da konfigurazio, prestakuntza, arazketa, posta elektronikoak konfiguratzeko eta bestelako zereginetarako.

Botak lagunduko digu

Proiektuan lanean ari ginela, hainbat arazo eta zailtasun topatu ditugu.

Adibidez, Azure kontu batekin arazo teknikoak egon ziren. Microsoft-ek ez zuen gure harpidetza aktibatu nahi bere zerbitzuaren arazo tekniko batzuengatik. Ia bi hilabetez ezin izan genuen ezer egin; Microsoft-en laguntzak azkenean eskuak bota zituen eta bazkideengana bidali gintuen, haiek dena ongi konfiguratu eta kontu bat eman ziguten.

Etaparik zailena proiektuaren hasiera izan zen, zer erabiliko dugun, zer arkitektura izango den, datuak nola eta non gorde eta sistemaren osagaiak eta moduluak elkarren artean nola interakzionatuko duten aukeratu behar duzunean.

Gure kasuan, edozein proiektu hasteko arazo arruntak are gehiago zaildu ziren langileak. Gure negozioaren zehaztasunak halakoak dira, komertzialak ez bezala, barne-proiektuak sarritan behar diren arloetan ezagutza nahikorik ez duten garatzaileek lantzen dituzte - besterik gabe, patuaren borondatez, bankuan amaitu zuten hurrengoaren zain. proiektu komertzial handia. Logikoa da horrelako egoera batean motibazioarekin ere gauzak oso zailak zirela. Produktibitatea baxua jaisten da, taldea sarritan alferrik egoten da, eta, ondorioz, pertsona konbentzitu (motibatu) edo aldatu behar duzu. Garatzaileak aldatzean, prestakuntza egin, ezagutza transferitu eta, funtsean, proiektua berriro hasi behar duzu. Garatzaile berri bakoitzak bere erara ikusi zuen arkitektura eta aurrekoei errieta egiten zien hartutako erabakiengatik eta besteen kodeagatik. Berridazketa hutsetik hasi zen.

Honek sei hilabete inguru iraun zuen. Denbora markatzen ari ginen, kodea birfaktorizatu eta ezer berririk ez idazten.

Gainera, barne proiektuetan, oro har, ez dago ia dokumentaziorik, eta zaila zen ulertzea une bakoitzean zer egin behar den, eta zeintzuk diren egungo lehentasunak. Beharrezkoa zen talde iraunkor bat sortzea, prozesuak ezartzea eta plangintza eta ebaluazioa egitea gutxienez hiru hilabetez. Baina nola egin proiektua komertziala ez denean, hau da, gutxieneko gizon-orduak inbertitu behar dituzula eta, aldi berean, emaitza kanpoko bezero batentzat baino okerragoa izan behar duzula?

Proiektuaren garapenean parte hartu, ezagutzen duten eta landu nahi duten baliabide multzo bat identifikatu dugu. Proiektuetan pertsonen enplegurako egutegia egin genuen. Lanak ebaluatu eta koordinatu ditugu, eta lan horiek proiektu nagusien arteko β€œzuloetan” sartu ditugu. 4 hilabeteren buruan, aplikazioaren prototipo funtzionala jaso genuen.

Orain hitz egin dezagun zehatzago bot-en funtzionaltasunari, arkitekturari eta irtenbide teknikoei buruz.

HR-ren eskakizun nagusietako bat galderari zuzen erantzuteko erabiltzaileak idatzitako testua ezagutzea zen. Idatz diezaiokezu - oporretan joan nahi dut, oporretan joan nahi dut edo oporretan joan nahi dut, eta horren arabera ulertu eta erantzungo du. Edo bat-batean langile baten aulkia apurtzen da eta "aulkia apurtuta dago" edo "Nire aulkia pitzatuta dago" edo "Aulkiaren atzealdea erori da" idatzi nahi du; prestakuntza egokiarekin, bot-ak horrelako eskaerak ezagutuko ditu. Testu-aitorpenaren kalitatea bera bot-aren prestakuntzaren araberakoa da, eta horri buruz gero hitz egingo dugu.

Hurrengo baldintza eta funtzionalitatearen zati bat bot-en elkarrizketa-sistema da. Sistema bat garatu zen, non bot-ak elkarrizketa bat egin dezakeen eta egungo gaiaren testuingurua ulertzeko. Zure galderari erantzunez, argitzeko edozein galdera egin dezake eta elkarrizketarekin jarraitu ahal izango du bot-a horretarako trebatu badugu. Skype-k menu-aukera sinpleak onartzen ditu erabiltzaileei elkarrizketak jarraitzeko aukeren berri emateko. Gainera, elkarrizketa bat egiten ari bagenu, baina bat-batean gaitik kanpo galdera bat egitea erabaki badugu, bot-ak hau ere ulertuko du.

Botak erabiltzaileari hainbat artefaktu bidaltzea ahalbidetzen du bere datu pertsonaletan oinarrituta. Adibidez, bere tokian. Demagun pertsona batek komun bat aurkitu nahi badu, bulegoko mapa bat erakutsiko zaio komunera eramaten. Eta txartela langilea zein enpresa-bulegotan kokatuta dagoen arabera aukeratuko da.

Zeregin garrantzitsuenetako bat erabiltzaileen informazio pertsonala babestea da. Ezin dugu onartu pertsona orok gure bot-ak funtzionatzen dituen datu sentikorretarako sarbidea izan dezan. Bot batentzako baimenaren beharra horren parte da. Botak erabiltzaileari autentifikazioa eskatzen dio berarekin elkarrizketarik egin aurretik. Langile bat botarekin harremanetan jartzen den lehen aldian gertatzen da hori. Baimenak berak birbideratzen du erabiltzailea dagokion orrialdera, non erabiltzaileak token bat jasotzen duen, eta gero Skype mezu batean txertatzen du. Baimena arrakastatsua bada, bot-arekin komunikatzen has zaitezke.

Botak lagunduko digu

Baimena Skype bidez egiten da - atari-baimen zerbitzua, sare korporatiboa eta LDAP bidez. Horrela, baimena sare korporatiboko erabiltzaileen uneko datuen araberakoa da.

Bota garatzeko prozesuan, konturatu ginen atariko funtzionalitatean HR-k bot-a azkar arazketan lagun zezakeen sistemaren bat behar genuela. Atari-orri bat gehitu dugu, non HR erabiltzaileek bot-arekin lan egiten dutenean erregistratutako akatsak ikusi eta birziklapena erabiliz konpontzeko edo garatzaileentzako utzi.

Bot bat atarian zuzenean entrenatzeko gaitasuna ez zen hasiera-hasieratik sartu. Garapen-prozesuan zehar, konturatu ginen bot-a trebatzea dela HR saileko langileek harekin lan egiten dutenean egingo duten zeregin ohikoena, eta garatzaileei testu-fitxategiak bidaltzea bot-aren prestakuntza osagarria lortzeko guztiz onartezina da. Horrek denbora gehiegi jaten du eta akats eta arazo gehiegi sortzen ditu.

Botak lagunduko digu

Atarian UI bat idatzi genuen bot-aren erabiltzaileentzako trebakuntzarako. HR-k bot-aren uneko prestakuntza ikusteko, gehiago trebatzeko eta egungo prestakuntzarako doikuntzak egiteko aukera ematen du. Prestakuntza zuhaitz-egitura batek adierazten du, zeinetan nodoak, hau da, adarrak, bot-arekin elkarrizketaren jarraipena diren. Galdera eta erantzun errazak sor ditzakezu edo elkarrizketa pisutsuak sor ditzakezu, hori guztia HR eta haien beharren araberakoa da.

Soluzio arkitekturari buruzko hitz batzuk.

Botak lagunduko digu

Soluzio-arkitektura modularra da. Hainbat zereginez arduratzen diren zerbitzuak biltzen ditu, hau da:
β€’ Skype bot zerbitzua Azuren - erabiltzaileen eskaerak onartzen eta prozesatzen ditu. Nahiko zerbitzu sinplea da, eskaera bat jasotzen eta hasierako prozesamendua egiten lehena dena.
β€’ Admin portal - ataria konfiguratzeko web interfaze bat eskaintzen duen zerbitzua eta bot bera. Bota beti atariarekin harremanetan jartzen da lehenengo, eta atariak erabakitzen du zer egin eskaerarekin.
β€’ Baimen-zerbitzua - autentifikazio-mekanismoak eskaintzen ditu botarentzat eta administrazio-atariarentzat. Baimena Oauth2 protokoloaren bidez egiten da. Baimen positiboarekin, zerbitzuak sare korporatiboan baimena egiten du baliozko erabiltzailearen datuen arabera, sistemak sinkronizatu gabeko datuekin lotutako akatsak kontrolatu ahal izateko.
β€’ AI Testuak ezagutzeko modulua, Python-en idatzia eta ParlAI esparrua erabiliz testuak ezagutzeko bera. Hau sare neuronal bat da, gaur egungo ezarpenean behintzat. Galderak ulertzeko tfDiff algoritmoa erabiltzen dugu. Moduluak harekin komunikatzeko eta ikasteko API bat eskaintzen du.

Amaitzeko, esan nahi dut hau dela gure lehen esperientzia txat-bot bat sortzeko, eta sistema ahalik eta sinpleena egiten saiatu ginen, baina aldi berean funtzionala, lan-kostu minimoekin. Uste dut oso produktu interesgarria dugula. Prestakuntza sistema propioarekin, akatsen erregistroarekin, jakinarazpenen bidalketarekin, beste edozein mezularirekin ere integra daiteke.

Iturria: www.habr.com

Gehitu iruzkin berria