Botti auttaa meitä

Botti auttaa meitä

Vuosi sitten rakas henkilöstöosastomme pyysi meitä kirjoittamaan chat-botin, joka auttaisi uusien tulokkaiden sopeutumisessa yritykseen.

Tehdään varaus, että emme kehitä omia tuotteitamme, vaan tarjoamme asiakkaillemme täyden valikoiman kehityspalveluita. Tarina tulee olemaan sisäisestä projektistamme, jonka asiakas ei ole ulkopuolinen yritys, vaan oma HR. Ja kun otetaan huomioon ihmisten, resurssien ja ajan rajallinen saatavuus, päätehtävänä on saada projekti päätökseen ajoissa ja julkaista tuote.

Ensin kuvataan ongelmat, jotka piti ratkaista.

Kehittäjät ovat enimmäkseen sisäänpäin kääntyneitä ihmisiä, eivätkä halua puhua; on paljon helpompaa kirjoittaa kysymyksesi sähköpostikeskusteluun. Botin kanssa sinun ei tarvitse miettiä, keneltä kysyä, kenelle soittaa, minne mennä ja ylipäätään, mistä etsiä tietoa ja onko sillä merkitystä.

Toinen ongelma on tieto - sitä on paljon, se on eri lähteistä, se ei ole aina saatavilla ja vaatii jatkuvaa lisäystä ja päivittämistä.

Yrityksellä on lähes 500 työntekijää, he sijaitsevat eri toimipisteissä, aikavyöhykkeillä, kaupungeissa Venäjällä ja jopa ulkomailla, kysymyksiä on yleensä paljon, joten toinen tehtävä on vähentää HR-henkilöstön taakkaa, joka liittyy useimmin kysyttyihin kysymyksiin työntekijöiden toimesta.

Lisäksi piti automatisoida prosessit: uusien tulokkaiden liittyminen yritykseen, viestien lähettäminen uusien tulokkaiden esimiehille ja mentoreille, automaattisten muistutusten lähettäminen kursseista ja testeistä, jotka uuden tulokkaan on läpäistävä onnistuneeseen sopeutumiseen.

Tekniset vaatimukset muodostettiin liiketoiminnan vaatimusten perusteella.

Botin on toimittava Skypen pohjalta (historiallisesti he käyttävät sitä yrityksessä), joten palveluksi valittiin Azura.

Rajoittaaksemme pääsyä siihen aloimme käyttää valtuutusmekanismia Skypen kautta.
ParlAI-kirjastoa käytettiin tekstintunnistukseen

Hallinnollinen verkkoportaali tarvitaan myös konfigurointia, koulutusta, virheenkorjausta, postitusten määrittämistä ja muita tehtäviä varten.

Botti auttaa meitä

Projektin parissa työskennellessämme kohtasimme useita ongelmia ja vaikeuksia.

Esimerkiksi Azure-tilillä oli teknisiä ongelmia. Microsoft ei halunnut aktivoida tilaustamme palveluun liittyvien teknisten ongelmien vuoksi. Lähes kahteen kuukauteen emme voineet tehdä asialle mitään; Microsoftin tuki nosti lopulta kätensä ja lähetti meidät kumppaneille, jotka onnistuivat määrittämään kaiken ja antoivat meille tilin.

Vaikein vaihe oli projektin aloitus, jolloin pitää valita mitä käytämme, millainen arkkitehtuuri tulee olemaan, miten ja minne tietoja tallennetaan ja miten järjestelmän komponentit ja moduulit ovat vuorovaikutuksessa keskenään.

Meidän tapauksessamme olennaisesti tavanomaisia ​​minkä tahansa projektin käynnistämisen ongelmia vaikeutti entisestään henkilöstön saaminen. Liiketoimintamme erityispiirteet ovat sellaisia, että toisin kuin kaupallisissa, sisäisissä projekteissa työskentelevät usein kehittäjät, joilla ei ole riittävää osaamista vaadituilta alueilta - he yksinkertaisesti päätyivät kohtalon tahdosta penkkiin odottamaan seuraavaa. iso hieno kaupallinen projekti. On loogista, että tällaisessa tilanteessa asiat olivat myös erittäin vaikeita motivoinnin kanssa. Tuottavuus putoaa alas, tiimi on usein toimettomana, ja sen seurauksena joudut suostuttelemaan (motivoimaan) tai muuttamaan henkilöä. Kun vaihdat kehittäjää, sinun on suoritettava koulutus, siirrettävä tietoa ja aloitettava projekti käytännössä uudelleen. Jokainen uusi kehittäjä näki arkkitehtuurin omalla tavallaan ja moitti aiempia tekemistään päätöksistä ja muiden ihmisten koodista. Uudelleenkirjoitus alkoi tyhjästä.

Tätä jatkui noin kuusi kuukautta. Olimme vain merkitsemässä aikaa, muokkaamassa koodia emmekä kirjoittaneet mitään uutta.

Myös sisäisissä projekteissa ei pääsääntöisesti ole juuri lainkaan dokumentaatiota, ja oli vaikea ymmärtää, mitä kullakin hetkellä on tehtävä ja mitkä ovat tämänhetkiset prioriteetit. Tarvittiin pysyvän tiimin luominen, prosessien luominen sekä suunnittelun ja arvioinnin tekeminen vähintään kolmen kuukauden ajan. Mutta kuinka tehdä tämä, kun projekti ei ole kaupallinen, mikä tarkoittaa, että sinun on investoitava vähintään työtunteja ja samalla saatava tulos ei huonompi kuin ulkopuoliselle asiakkaalle?

Olemme tunnistaneet resursseja, jotka osallistuivat hankkeen kehittämiseen, tuntevat sen ja haluavat työskennellä sen parissa. Teimme aikataulun henkilöiden työllistämiselle projekteihin. Arvioimme ja koordinoimme työtä ja sovitimme nämä työt pääprojektien välisiin "aukoihin". 4 kuukauden kuluttua saimme toimivan sovelluksen prototyypin.

Puhutaanpa nyt tarkemmin botin toimivuudesta, arkkitehtuurista ja teknisistä ratkaisuista.

Yksi HR:n päävaatimuksista oli tunnistaa käyttäjän kirjoittama teksti vastatakseen oikein kysymykseen. Voit kirjoittaa hänelle - haluan lomalle, haluan lomalle tai haluaisin lomalle, ja hän ymmärtää ja vastaa vastaavasti. Tai yhtäkkiä työntekijän tuoli rikkoutuu ja hän haluaa kirjoittaa "tuoli on rikki" tai "tuolini on halkeillut" tai "tuolin selkänoja on pudonnut"; asianmukaisella koulutuksella botti tunnistaa tällaiset pyynnöt. Itse tekstintunnistuksen laatu riippuu botin koulutuksesta, josta puhumme myöhemmin.

Seuraava vaatimus ja osa toiminnallisuutta on botin dialogijärjestelmä. Kehitettiin järjestelmä, jossa botti voi käydä dialogia ja ymmärtää nykyisen ongelman kontekstin. Vastauksena kysymykseesi hän voi esittää selventäviä kysymyksiä ja jatkaa keskustelua, jos olemme kouluttaneet botin tähän. Skype tukee yksinkertaisia ​​valikkovaihtoehtoja, jotka kertovat käyttäjille keskustelujen jatkamisvaihtoehdoista. Lisäksi, jos kävimme dialogia, mutta päätimme yhtäkkiä esittää kysymyksen aiheen ulkopuolelta, botti ymmärtää myös tämän.

Botti mahdollistaa erilaisten artefaktien lähettämisen käyttäjälle hänen henkilötietojensa perusteella. Esimerkiksi hänen paikkakunnallaan. Oletetaan, että jos henkilö haluaisi löytää wc:n, hänelle näytettäisiin toimistokartta, joka johtaa hänet wc:hen. Ja kortti valitaan sen mukaan, missä yrityksen toimistossa työntekijä sijaitsee.

Yksi tärkeimmistä tehtävistä on käyttäjien henkilötietojen suojaaminen. Emme voi sallia kaikkien ihmisten pääsyä robottimme käyttämiin arkaluontoisiin tietoihin. Tällaisen botin valtuutuksen tarve on olennainen osa sitä. Botti pyytää käyttäjää todentamaan ennen kuin hän voi käydä keskustelua hänen kanssaan. Tämä tapahtuu ensimmäisen kerran, kun työntekijä ottaa yhteyttä bottiin. Itse valtuutus ohjaa käyttäjän oikealle sivulle, jossa käyttäjä saa tunnuksen, jonka hän sitten lisää Skype-viestiin. Jos valtuutus onnistuu, voit aloittaa yhteydenpidon botin kanssa.

Botti auttaa meitä

Valtuutus tapahtuu Skypen kautta - portaalivaltuutuspalvelu, yritysverkko ja LDAP. Valtuutus riippuu siis yritysverkon nykyisistä käyttäjätiedoista.

Bottia kehitettäessä ymmärsimme, että tarvitsimme portaalin toiminnallisuuteen jonkinlaisen järjestelmän, joka voisi auttaa HR:ää vianmäärityksessä nopeasti bottia. Olemme lisänneet portaalisivun, jossa HR näkee käyttäjien tallentamat virheet botin kanssa työskennellessään ja ratkaisee ne uudelleenkoulutuksen avulla tai jättää ne kehittäjille.

Mahdollisuutta kouluttaa botti suoraan portaalissa ei ollut mukana alusta alkaen. Kehitysprosessin aikana ymmärsimme, että botin kouluttaminen on yleisin tehtävä, jonka HR-osaston työntekijät tekevät sen kanssa työskennellessään, ja tekstitiedostojen lähettäminen kehittäjille botin lisäkoulutukseen on täysin mahdotonta hyväksyä. Tämä kuluttaa liikaa aikaa ja aiheuttaa liikaa virheitä ja ongelmia.

Botti auttaa meitä

Kirjoitimme portaaliin käyttöliittymän botin käyttäjäystävällistä koulutusta varten. Sen avulla HR voi nähdä botin nykyisen harjoittelun, harjoittaa sitä edelleen ja tehdä muutoksia nykyiseen harjoitteluun. Koulutusta edustaa puurakenne, jossa solmut eli oksat ovat jatkoa vuoropuhelulle botin kanssa. Voit luoda yksinkertaisia ​​kysymyksiä ja vastauksia tai luoda painavia dialogeja, kaikki riippuu HR:stä ja heidän tarpeistaan.

Muutama sana ratkaisuarkkitehtuurista.

Botti auttaa meitä

Ratkaisuarkkitehtuuri on modulaarinen. Se sisältää palveluita, jotka vastaavat erilaisista tehtävistä, nimittäin:
• Skype-bottipalvelu Azuressa – hyväksyy ja käsittelee käyttäjien pyyntöjä. Tämä on melko yksinkertainen palvelu, joka vastaanottaa ensimmäisenä pyynnön ja suorittaa sen alkukäsittelyn.
• Hallintaportaali - palvelu, joka tarjoaa verkkokäyttöliittymän portaalin ja itse botin määrittämiseen. Botti ottaa aina ensin yhteyttä portaaliin, ja portaali päättää, mitä pyynnölle seuraavaksi tehdään.
• Valtuutuspalvelu - tarjoaa todennusmekanismit botille ja hallintaportaalille. Valtuutus tapahtuu Oauth2-protokollan kautta. Positiivisella valtuutuksella palvelu suorittaa valtuutuksen yritysverkossa voimassa olevien käyttäjätietojen mukaan, jotta järjestelmä pystyy hallitsemaan synkronoimattomiin tietoihin liittyviä virheitä.
• AI-tekstintunnistusmoduuli, joka on kirjoitettu Pythonilla ja käyttää ParlAI-kehystä itse tekstintunnistukseen. Tämä on neuroverkko, ainakin nykyisessä toteutuksessaan. Käytämme tfDiff-algoritmia kysymysten ymmärtämiseen. Moduuli tarjoaa API:n sen kanssa kommunikointia ja oppimista varten.

Lopuksi haluan sanoa, että tämä on ensimmäinen kokemuksemme chat-botin luomisesta, ja yritimme tehdä järjestelmästä mahdollisimman yksinkertaisen, mutta samalla toimivan minimaalisilla työvoimakustannuksilla. Mielestäni meillä on erittäin mielenkiintoinen tuote. Omalla koulutusjärjestelmällään, virheiden kirjaamisella ja ilmoitusten lähettämisellä se voidaan myös integroida mihin tahansa muuhun messengeriin.

Lähde: will.com

Lisää kommentti