A bot segíteni fog nekünk

A bot segíteni fog nekünk

Egy évvel ezelőtt szeretett HR részlegünk megkért, hogy írjunk egy chat botot, ami segíti az újoncok alkalmazkodását a cégnél.

Foglalkozzunk azzal, hogy nem saját termékeinket fejlesztjük, hanem teljes körű fejlesztési szolgáltatást nyújtunk ügyfeleinknek. A történet a belső projektünkről fog szólni, amihez nem külső cég, hanem saját HR-es a megrendelő. És a fő feladat, tekintettel az emberek, az erőforrások és az idő korlátozott elérhetőségére, a projekt időben történő befejezése és a termék kiadása.

Először is írjuk le azokat a problémákat, amelyeket meg kellett oldani.

A fejlesztők többnyire introvertált emberek, és nem szeretnek beszélgetni; sokkal egyszerűbb e-mailben megírni a kérdést. Egy bot esetén nem kell azon gondolkodnia, hogy kit kérdezzen meg, kit hívjon, hová menjen, és általában hol keressen információt, és hogy releváns-e.

A második probléma az információ – rengeteg van belőle, különböző forrásokból, nem mindig elérhető, és folyamatos kiegészítésre és frissítésre szorul.

A cég közel 500 alkalmazottat foglalkoztat, különböző irodákban, időzónákban, oroszországi városokban, sőt külföldön is találhatók, általában sok kérdés merül fel, így további feladat a HR-esek terheinek csökkentése a leggyakrabban feltett kérdések kapcsán. alkalmazottak által.

Automatizálni kellett a következő folyamatokat is: újonnan belépők a céghez, üzenetküldés az újonnan érkezők menedzsereinek, mentorainak, automatikus emlékeztetők küldése azokról a tanfolyamokról, tesztekről, amelyeket az újonnan érkezőknek le kell tenniük a sikeres alkalmazkodáshoz.

A műszaki követelményeket az üzleti követelmények alapján alakították ki.

A botnak Skype-on kell működnie (történelmileg ezt használják a cégnél), ezért esett a választás az Azura szolgáltatására.

A hozzáférés korlátozása érdekében elkezdtük a Skype-on keresztüli engedélyezési mechanizmust használni.
A ParlAI könyvtárat szövegfelismerésre használták

Adminisztratív webportálra is szükség van a konfigurációhoz, a képzéshez, a hibakereséshez, a levelezés beállításához és egyéb feladatokhoz.

A bot segíteni fog nekünk

A projekten való munka során számos problémával és nehézséggel találkoztunk.

Például technikai problémák adódtak egy Azure-fiókkal. A Microsoft nem akarta aktiválni az előfizetésünket a szolgáltatásukon belüli technikai nehézségek miatt. Majdnem két hónapig nem tudtunk tenni ellene, végül a Microsoft támogatása feltette a kezét, és elküldött minket a partnerekhez, akik sikeresen beállítottak mindent, és fiókot adtak nekünk.

A legnehezebb szakasz a projekt kezdete volt, amikor ki kell választani, hogy mit fogunk használni, milyen architektúra lesz, hogyan és hol tároljuk az adatokat, illetve a rendszer komponensei és moduljai hogyan hatnak majd egymásra.

Esetünkben bármely projekt elindításának lényegében hétköznapi problémáit tovább bonyolította a létszám. Vállalkozásunk sajátosságai olyanok, hogy a kereskedelmi projektekkel ellentétben a belső projekteken gyakran olyan fejlesztők dolgoznak, akik nem rendelkeznek kellő tudással a szükséges területeken - egyszerűen a sors akaratából a padon kötötték ki a következőt. nagy menő kereskedelmi projekt. Logikus, hogy a motivációval is nagyon nehéz volt egy ilyen helyzetben. A produktivitás lecsökken, a csapat gyakran tétlenkedik, ennek következtében meg kell győzni (motiválni), vagy megváltoztatni az embert. Fejlesztőváltáskor képzést kell tartani, tudást kell átadni és lényegében újra kell kezdeni a projektet. Minden új fejlesztő a maga módján látta az architektúrát, és szidta a korábbiakat az általuk hozott döntések és mások kódja miatt. Az újraírás a nulláról indult.

Ez körülbelül hat hónapig tartott. Csak bejelöltük az időt, átdolgoztuk a kódot, és nem írtunk semmi újat.

Ezenkívül a belső projekteknél általában szinte nincs dokumentáció, és nehéz volt megérteni, hogy minden egyes időpontban mit kell tenni, és mik a jelenlegi prioritások. Szükség volt egy állandó csapat létrehozására, folyamatok kialakítására, valamint legalább három hónapos tervezés és értékelés lebonyolítására. De hogyan kell ezt megtenni, ha a projekt nem kereskedelmi, ami azt jelenti, hogy minimális munkaórát kell befektetnie, ugyanakkor az eredmény nem rosszabb, mint egy külső ügyfél esetében?

Meghatároztuk azt az erőforráskészletet, amely részt vett a projekt kidolgozásában, ismeri azt és dolgozni akar rajta. Összeállítottunk egy ütemtervet a projektekben dolgozók foglalkoztatására. Felmértük és koordináltuk a munkát, és ezeket a munkákat a fő projektek közötti „lyukakba” illesztettük. 4 hónap után megkaptuk az alkalmazás működő prototípusát.

Most beszéljünk részletesebben a bot funkcionalitásáról, architektúrájáról és műszaki megoldásairól.

A HR egyik fő követelménye az volt, hogy felismerje a felhasználó által írt szöveget a kérdés helyes megválaszolásához. Írhatsz neki - nyaralni akarok, nyaralni akarok vagy nyaralni szeretnék, és ő megérti és megfelelően reagál. Vagy hirtelen eltörik egy alkalmazott széke, és azt akarja írni, hogy „a szék eltört”, „A székem megrepedt” vagy „Leesett a szék támlája”; megfelelő képzéssel a bot felismeri az ilyen kéréseket. Maga a szövegfelismerés minősége a bot képzettségétől függ, amiről később lesz szó.

A következő követelmény és a funkcionalitás része a bot párbeszédrendszere. Kifejlesztettek egy rendszert, amelyben a bot párbeszédet folytathat és megértheti az aktuális probléma kontextusát. Kérdésére válaszolva feltehet bármilyen tisztázó kérdést, és folytathatja a beszélgetést, ha erre betanítottuk a botot. A Skype támogatja az egyszerű menüopciókat, amelyekkel felkéri a felhasználókat a beszélgetések folytatására vonatkozó lehetőségekről. Továbbá, ha párbeszédet folytattunk, de hirtelen úgy döntöttünk, hogy a témától eltérő kérdést teszünk fel, a bot is megérti ezt.

A bot lehetővé teszi, hogy a felhasználó személyes adatai alapján különféle műtermékeket küldjön a felhasználónak. Például a helyén. Tegyük fel, hogy ha valaki vécét akar találni, akkor mutatnak neki egy irodai térképet, amely a WC-hez vezeti. A kártyát pedig attól függően választják ki, hogy az alkalmazott melyik cég irodájában található.

Az egyik legfontosabb feladat a felhasználók személyes adatainak védelme. Nem engedhetjük meg, hogy mindenki hozzáférjen a robotunk által kezelt érzékeny adatokhoz. Az ilyen robotok engedélyezésének szükségessége ennek szerves részét képezi. A bot megkéri a felhasználót, hogy hitelesítsen, mielőtt bármilyen párbeszédet folytathatna vele. Ez akkor történik meg, amikor egy alkalmazott először kapcsolatba lép a robottal. Maga a jogosultság átirányítja a felhasználót a megfelelő oldalra, ahol a felhasználó kap egy tokent, amit aztán beilleszt egy Skype üzenetbe. Ha az engedélyezés sikeres, megkezdheti a kommunikációt a bottal.

A bot segíteni fog nekünk

Az engedélyezés a Skype portál-engedélyezési szolgáltatáson, vállalati hálózaton és LDAP-on keresztül történik. Így az engedélyezés a vállalati hálózaton található aktuális felhasználói adatoktól függ.

A bot fejlesztése során rájöttünk, hogy szükségünk van valamiféle rendszerre, ami be van építve a portál funkcionalitásába, amely segíthet a HR-nek a bot gyors hibakeresésében. Hozzáadtunk egy portáloldalt, ahol a HR megtekintheti a felhasználók által a bottal végzett munka során rögzített hibákat, és átképzéssel megoldhatja, vagy a fejlesztőkre hagyhatja.

A bot közvetlenül a portálon történő betanításának lehetősége a kezdetektől fogva nem szerepelt. A fejlesztés során rájöttünk, hogy a bot betanítása a leggyakoribb feladat, amit a HR részleg munkatársai végeznek a vele való munka során, és teljességgel elfogadhatatlan szöveges fájlok küldése a fejlesztőknek a bot további betanítása céljából. Ez túl sok időt emészt fel, és túl sok hibát és problémát okoz.

A bot segíteni fog nekünk

Írtunk egy felhasználói felületet a portálon a bot felhasználóbarát képzéséhez. Lehetővé teszi a HR-nek, hogy lássa a bot aktuális edzését, továbbképezze és módosítsa az aktuális edzést. A képzést egy fastruktúra képviseli, amelyben a csomópontok, azaz az ágak a bottal folytatott párbeszéd folytatását jelentik. Létrehozhat egyszerű kérdéseket és válaszokat, vagy létrehozhat súlyos párbeszédeket, minden a HR-től és az ő igényeitől függ.

Néhány szó a megoldás architektúrájáról.

A bot segíteni fog nekünk

A megoldás architektúrája moduláris. Ez magában foglalja a különféle feladatokért felelős szolgáltatásokat, nevezetesen:
• Skype bot szolgáltatás az Azure-ban – elfogadja és feldolgozza a felhasználói kéréseket. Ez egy meglehetősen egyszerű szolgáltatás, amely elsőként kapja meg a kérést és hajtja végre annak kezdeti feldolgozását.
• Admin portál – olyan szolgáltatás, amely webes felületet biztosít a portál és magának a botnak a beállításához. A bot először mindig a portállal veszi fel a kapcsolatot, és a portál dönti el, hogy mi legyen a következő lépés a kéréssel.
• Engedélyezési szolgáltatás – hitelesítési mechanizmusokat biztosít a bot és az adminisztrátori portál számára. Az engedélyezés az Oauth2 protokollon keresztül történik. Pozitív jogosultság esetén a szolgáltatás érvényes felhasználói adatok alapján hajtja végre a hitelesítést a vállalati hálózatban, így a rendszer képes kezelni a nem szinkronizált adatokkal kapcsolatos hibákat.
• AI Szövegfelismerő modul, Pythonban írva, és magának a szövegfelismerésnek a ParlAI keretrendszerét használja. Ez egy neurális hálózat, legalábbis a jelenlegi megvalósításában. A kérdések megértéséhez a tfDiff algoritmust használjuk. A modul API-t biztosít a vele való kommunikációhoz és a tanuláshoz.

Végezetül szeretném elmondani, hogy ez az első tapasztalatunk egy chat bot létrehozásában, és igyekeztünk a rendszert a lehető legegyszerűbbé, de ugyanakkor működőképessé tenni, minimális munkaerőköltséggel. Azt hiszem, van egy nagyon érdekes termékünk. Saját képzési rendszerrel, hibanaplózással, értesítés küldéssel, bármilyen más messengerrel is integrálható.

Forrás: will.com

Hozzászólás