U bot ci aiuterà

U bot ci aiuterà

Un annu fà, u nostru amatu dipartimentu di RH ci hà dumandatu di scrive un chat bot chì aiutaria à l'adattazione di i novi à a cumpagnia.

Facemu una riservazione chì ùn avemu micca sviluppatu i nostri prudutti, ma furnimu à i clienti una gamma completa di servizii di sviluppu. A storia serà nantu à u nostru prughjettu internu, per quale u cliente ùn hè micca una cumpagnia di terzu, ma u nostru propiu HR. È u compitu principalu, datu a dispunibilità limitata di persone, risorse è tempu, hè di compie u prugettu à tempu è di liberà u pruduttu.

Prima, descrivimu i prublemi chì anu da esse risolti.

I sviluppatori sò soprattuttu persone introvertite è ùn piace micca parlà hè assai più faciule per scrive a vostra dumanda in un chat di email. Cù un bot, ùn avete micca bisognu di pensà à quale dumandà, quale chjamà, induve andà, è in generale, induve circà l'infurmazioni è s'ellu hè pertinente.

U sicondu prublema hè l'infurmazioni - ci hè assai, hè in diverse fonti, ùn hè micca sempre dispunibule è hà bisognu di l'aghjunzione è l'aghjurnamentu constante.

A cumpagnia hà guasi 500 impiegati, sò situati in diverse uffizii, fusi orari, cità di Russia è ancu à l'esteru, di solitu ci sò parechje dumande, cusì un altru compitu hè di riduce u pesu di u persunale HR assuciatu cù e dumande più frequenti. da l'impiegati.

Era ancu necessariu d'automatizà i prucessi di: i novi chì si uniscenu à a cumpagnia, l'inviu di messagi à i gestori è i mentori di i novi, l'inviu di ricordi automatichi nantu à i corsi è e teste chì un novu hà bisognu di passà per l'adattazione successu.

I requisiti tecnichi sò stati furmati nantu à i bisogni di l'affari.

U bot deve travaglià nantu à a basa di Skype (storicamente, l'utilizanu in a cumpagnia), cusì u serviziu nantu à Azura hè statu sceltu.

Per limità l'accessu à questu, avemu cuminciatu à aduprà u mecanismu d'autorizazione via Skype.
A biblioteca ParlAI hè stata aduprata per a ricunniscenza di testu

Un portale web amministrativu hè ancu necessariu per a cunfigurazione, a furmazione, a debugging, a creazione di mailings è altre attività.

U bot ci aiuterà

Mentre u travagliu nantu à u prugettu, avemu scontru una quantità di prublemi è difficultà.

Per esempiu, ci sò stati prublemi tecnichi cù un contu Azure. Microsoft ùn vulia micca attivà u nostru abbonamentu per via di alcune difficultà tecniche in u so serviziu. Per quasi dui mesi ùn pudemu micca fà nunda, u supportu di Microsoft hà eventualmente lanciatu e so mani è ci hà mandatu à i partenarii, chì hà stallatu tuttu è ci hà datu un contu.

A tappa più difficiuli era l'iniziu di u prugettu, quandu avete bisognu di sceglie ciò chì avemu da aduprà, quale serà l'architettura, cumu è induve almacenà e dati, è cumu i cumpunenti è i moduli di u sistema interagiscenu cù l'altri.

In u nostru casu, i prublemi essenzialmente ordinariu di inizià ogni prughjettu eranu più complicati da u persunale. I specifichi di a nostra attività sò tali chì, à u cuntrariu di i cummirciali, i prughjetti interni sò spessu travagliati da sviluppatori chì ùn anu micca abbastanza cunniscenze in i spazii necessarii - solu, per a vulintà di u destinu, anu finitu nantu à u bancu aspittendu u prossimu. grande prughjettu cummerciale cool. Hè logicu chì e cose eranu ancu assai difficili cù a motivazione in una tale situazione. A produtividade cade pocu, a squadra hè spessu inattiva, è in u risultatu, avete da cunvince (motivà) o cambià a persona. Quandu cambiassi i sviluppatori, avete bisognu di fà a furmazione, trasfiriri a cunniscenza è essenzialmente principià u prugettu di novu. Ogni novu sviluppatore hà vistu l'architettura in u so modu è scolded i precedenti per e decisioni chì anu fattu è u codice di l'altri. A riscrittura principia da zero.

Questu hè andatu per circa sei mesi. Eramu ghjustu marcatu u tempu, refactoring u codice è ùn scrive nunda di novu.

Inoltre, nantu à i prughjetti internu, in regula, ùn ci hè quasi nisuna ducumentazione, è era difficiule di capisce ciò chì deve esse fattu in ogni puntu in u tempu, è quale sò e priorità attuali. Era necessariu di creà una squadra permanente, stabilisce prucessi, è cunduce a pianificazione è a valutazione per almenu trè mesi. Ma cumu fà questu quandu u prughjettu ùn hè micca cummerciale, chì significa chì avete bisognu di invistisce un minimu di l'omu-ore, è à u stessu tempu ottene u risultatu micca peghju chè per un cliente esternu?

Avemu identificatu una piscina di risorse chì anu participatu à u sviluppu di u prugettu, sò familiarizati cun ellu è vulete travaglià. Avemu stabilitu un calendariu per l'impiegazione di e persone nantu à i prughjetti. Avemu evaluatu è coordinatu u travagliu, è aghjustate sti travaglii in i "buchi" trà i prughjetti principali. Dopu à 4 mesi, avemu ricevutu un prototipu di travagliu di l'applicazione.

Avà parlemu in più dettagliu di e funziunalità di u bot, l'architettura è e suluzioni tecniche.

Unu di i bisogni principali di HR hè di ricunnosce u testu scrittu da l'utilizatore per risponde currettamente à a quistione. Pudete scrive à ellu - Vogliu andà in vacanze, vogliu andà in vacanze o vuleria andà in vacanze, è ellu capisce è risponde in cunseguenza. O di colpu a sedia di l'impiigatu si rompe è ellu vole scrive "a sedia hè rotta" o "A mo sedia hè cracked" o "U spinu di a sedia hè cascatu" cù una furmazione propria, u bot ricunnosce tali dumande. A qualità di ricunniscenza di u testu stessu dipende da a furmazione di u bot, chì parlemu dopu.

U prossimu requisitu è ​​parte di a funziunalità hè u sistema di dialogu di u bot. Un sistema hè statu sviluppatu in quale u bot pò fà un dialogu è capisce u cuntestu di u prublema attuale. In risposta à a vostra dumanda, puderà dumandà qualsiasi dumande di clarificazione è cuntinuà a conversazione se avemu furmatu u bot per fà questu. Skype supporta l'opzioni di menu simplici per invià l'utilizatori nantu à l'opzioni per e conversazioni cuntinuate. Inoltre, se avemu avutu un dialogu, ma di colpu decisu di dumandà una quistione fora di u tema, u bot hà ancu capitu questu.

U bot permette di mandà diversi artefatti à l'utilizatore basatu nantu à i so dati persunali. Per esempiu, in u so locu. Eppo supponi chì una persona vulia truvà un toilette, allora si mostrava una mappa di l'uffiziu chì u conduce à u toilette. È a carta serà selezziunata secondu l'uffiziu di a cumpagnia in quale si trova l'impiigatu.

Unu di i travaglii più impurtanti hè di prutezzione di l'infurmazioni persunali di l'utilizatori. Ùn pudemu micca permette à ogni persona di avè accessu à e dati sensittivi chì u nostru bot opera. A necessità di l'autorizazione per un tali bot hè una parte integrante di questu. U bot dumanda à l'utilizatore per autentificà prima di pudè guidà ogni dialogu cun ellu. Questu succede a prima volta chì un impiegatu cuntatta u bot. L'autorizazione stessu redirige l'utilizatore à a pagina apprupriata, induve l'utilizatore riceve un token, chì poi inserisce in un messagiu Skype. Se l'autorizazione hè successu, pudete inizià a cumunicazione cù u bot.

U bot ci aiuterà

L'autorizazione hè fatta per via Skype - serviziu d'autorizazione di portale, rete corporativa è LDAP. Cusì, l'autorizazione dipende da i dati di l'utilizatori attuali nantu à a reta corporativa.

In u prucessu di sviluppà u bot, avemu capitu chì avemu bisognu di un tipu di sistema integratu in a funziunalità di u portale chì puderia aiutà HR à debug rapidamente u bot. Avemu aghjustatu una pagina di u portale induve HR pò vede l'errori registrati da l'utilizatori quandu travaglianu cù u bot è risolve cù a riqualificazione o lascialli per i sviluppatori.

A capacità di furmà un bot direttamente nantu à u portale ùn era micca inclusu da u principiu. Duranti u prucessu di sviluppu, avemu capitu chì a furmazione di u bot hè u compitu più cumuni chì l'impiegati di u dipartimentu HR anu da esse realizatu quandu travaglianu cun ellu, è l'inviu di schedarii di testu à i sviluppatori per a furmazione supplementaria di u bot hè cumplettamente inaccettabile. Questu manghja troppu tempu è crea troppu errori è prublemi.

U bot ci aiuterà

Avemu scrittu una UI nantu à u portale per a furmazione user-friendly di u bot. Permette à HR per vede a furmazione attuale di u bot, furmà ulteriormente è fà aghjustamenti à a furmazione attuale. A furmazione hè rapprisintata da una struttura d'arburu in quale i nodi, vale à dì, rami, sò una continuazione di u dialogu cù u bot. Pudete creà dumande simplici è risposte, o pudete creà dialoghi pesanti, tuttu dipende di HR è i so bisogni.

Uni pochi parolle nantu à l'architettura di suluzione.

U bot ci aiuterà

L'architettura di suluzione hè modulare. Include servizii rispunsevuli di diverse attività, à dì:
• Skype bot service on Azure - accetta è processa e dumande di l'utilizatori. Questu hè un serviziu abbastanza simplice chì hè u primu à riceve una dumanda è eseguisce u so prucessu iniziale.
• Portal Admin - un serviziu chì furnisce una interfaccia web per a stallazione di u portale è per u bot stessu. U bot sempre cuntattate u portale prima, è u portale decide ciò chì deve fà dopu cù a dumanda.
• U serviziu d'autorizazione - furnisce miccanismi di autentificazione per u bot è per u portale amministratore. L'autorizazione si faci via u protocolu Oauth2. Cù l'autorizazione pusitiva, u serviziu eseguisce l'autorizazione in a reta corporativa secondu e dati validi di l'utilizatori, in modu chì u sistema pò cuntrullà l'errori assuciati cù dati fora di sincronia.
• Modulu di ricunniscenza di testu AI, scrittu in Python è utilizendu u quadru ParlAI per a ricunniscenza di testu stessu. Questa hè una rete neurale, almenu in a so implementazione attuale. Avemu aduprà l'algoritmu tfDiff per capiscenu e dumande. U modulu furnisce una API per cumunicà cun ellu è amparà.

In cunclusioni, vogliu dì chì questa hè a nostra prima sperienza in a creazione di un bot di chat, è avemu pruvatu à fà u sistema u più simplice pussibule, ma à u stessu tempu funziunale, cù costi di travagliu minimu nantu à questu. Pensu chì avemu un pruduttu assai interessante. Cù u so propiu sistema di furmazione, logging d'errore, mandatu di notificazione, pò ancu esse integratu cù qualsiasi altru messenger.

Source: www.habr.com

Add a comment