Organizace projektu AI asistenta

Tvorba AI asistenta, virtuálního asistenta či inteligentního chatbota vyžaduje – od jeho vzniku, až po spuštění – koordinaci napříč mnoha profesemi. Spolupracují zde specialisté od user advocate / UX designer, přes doménové experty, až po návrháře konverzací a programátory. Dobrou zprávou je, že velká část zkušeností s budováním tradičního klientského softwaru, jako jsou mobilní nebo webové aplikace, je přenositelná. Mezi tradičním softwarem a konverzační technologií ale existují dva důležité rozdíly.

Prvním z nich je aspekt strojového učení, kdy je potřeba vytvořit modely strojového učení, které nefungují pouze v kontrolovaných podmínkách laboratoře nebo při testování, ale v reálném světě při interakci se zákazníky. Toto nasazení modelů strojového učení v reálném světě se nazývá operationalizing AI. Druhým z nich je konverzační aspekt. Když se uživatelské rozhraní skládá z dialogů namísto menu a tlačítek, vyžaduje to velmi odlišnou sadu dovedností a pojetí designu.

Abychom týmům usnadnili organizaci projektů tvorby asistentů AI, vytvořili jsme plán projektu inteligentního chatbota, který rozděluje vývojový proces do šesti fází. Tyto fáze vám pomohou udržet vývoj na správné cestě a zabrání opomenutí zásadních kroků.

Minimální životaschopný asistent (MVA)

Prvním krokem je prototyp chatbota, který lze rychle vytvořit a začít testovat hypotézy o ideálním řešení uživatelských požadavků. Tento cíl splňuje MVA, minimum viable assistant. Je to zeštíhlený prototyp virtuálního asistenta, který zvládne několik základních toků konverzace potřebných k tomu, aby uživatelům pomohl dosáhnout jejich cíle. V této fázi se nezabýváme řešením žádných okrajových případů, stačí zpracovat dialogy v rámci ideálního scénáře, kde se uživatel chová podle očekávání, ví co chce a poskytuje požadované informace. 

I když je MVA chatbot důležitým milníkem, je to jen začátek. Následující vývojové cykly jsou zásadní. V nich tým zahrne zpětnou vazbu, nejprve od testerů, poté od skutečných uživatelů a rychle a opakovaně vše vylepšuje. Krátké iterační cykly jsou tedy nejúčinnějším způsobem, jak provádět experimenty a provádět rychlé korekce kurzů na základě pozorování interakce uživatelů se softwarem.

Konverzační aplikace mají oproti grafickým uživatelským rozhraním jedinečnou výhodu. Každá interakce uživatele se zaznamenává slovo od slova do dat konverzace virtuálního asistenta. Tato data slouží k pochopení toho, jak to uživatelům jde nebo nejde a jsou snadno dostupná a přesná. Tato data ovlivňují budoucí rozhodnutí o vývoji, ale lze je také přenést zpět do modelu strojového učení jako tréninková data. 

Tento vývoj založený na konverzaci (což je sada postupů, které pomáhají lépe porozumět potřebám uživatelů a využít tyto poznatky), pomáhá k neustálému zdokonalování asistenta. Principy vývoje založeného na konverzaci jsou logickým základem každé z vývojových fází, popsaných v tomto článku. 

Fáze 1: Koncept a design

Cílem první fáze je stanovit rozsah a architekturu vašeho virtuálního asistenta. Na konci byste měli mít jasně definované případy použití a plán toků konverzací, integrací a požadavků na hostování, které váš asistent bude potřebovat.

Úkoly v této fázi začínají výzkumem a následně zúžením rozsahu na jeden nebo dva počáteční scénáře použití. Důležitou perspektivu zde může poskytnout úzká spolupráce se členy týmu uvnitř i vně vaší společnosti. Například dotazování kolegů ve firemním call centru může pomoci odhalit typy běžných otázek zákazníků, které se dobře hodí k automatizaci.

Poté, než začne jakýkoli vývoj, tým začne mapovat několik ukázkových konverzací na podporu případu použití. Jakmile budete mít představu o tom, jak dialogy vypadají, můžete je začít překládat do stavebních bloků, které tvoří doménu virtuálního asistenta: intenty, entity, sloty a akce. Tyto počáteční kroky k navrhování konverzací nejsou jediným úkolem první fáze, tým také začíná mapovat architekturu a určovat požadavky na hostování. Je důležité pracovat s funkcemi DevOps a IT včas, abyste vytvořili plán podpůrných integrací a nasazení služeb.

Fáze 2: Instalace a integrace

V první části druhé fáze se tým soustředí na instalování všech systémů, které podporují vývoj virtuálního asistenta, včetně Rasa Open Source a Rasa X. To zahrnuje zabezpečení instalace pomocí SSL, připojení kanálů pro zasílání zpráv, konfiguraci databází pro ukládání dat z konverzací a aplikací, jednotné přihlášení (pokud konfigurujete Rasa Enterprise pro více uživatelů). Doporučujeme také zavedení systémů na podporu průběžného nasazování změn během vývoje a po spuštění, včetně nastavení úložiště Git pro ukládání kódu a správy verzí a nastavení kanálu CI/CD pro automatizaci nasazení a testování.

Druhá část fáze 2 se týká integrace s backendovými systémy. Během první fáze tým určil, jaké integrace s externími systémy bude třeba vybudovat (jako třeba s CRM nebo databází zákaznických dat, interní API). V této fázi pracují backendoví inženýři v týmu na sestavení serveru vlastních akcí a definování metod pro připojení k těmto službám.

Fáze 3: Tvorba domény

U virtuálního asistenta v systému Rasa má doména, kromě obecného, také velmi konkrétní význam. Odkazuje na soubor asistenta domain.yml, kde jsou uvedeny všechny intenty, entity, sloty, akce, formuláře a odpovědi asistenta. Společně tyto prvky představují vše, co virtuální asistent dokáže pochopit, udělat a zapamatovat si.

Během první fáze začal tým překládat ukázkové konverzace do intentů a akcí. Ve třetí fázi si tým vyjasní, které konverzační stavební bloky jsou potřebné vytvořením souboru domain.yml. Tím je vše připraveno na čtvrtou fázi, kdy se začnou psát tréninková data.

Fáze 4: Pomalý rozjezd

Proč pomalý rozjezd? Všechno se odvíjí od tréninkových dat, respektive jejich nedostatku. Zatímco firmy mohou mít další data, která se přibližují reálným situacím, způsob komunikace lidí s chatbotem, je natolik odlišný, že z těchto dat nikdy nebude možné vytvořit nejlepší model. Ale někde začít musíme, i bez těchto reprezentativních datových korpusů. Takže první krok ve čtvrté fázi bude psaní počáteční tréninkové datové sady.

Doporučujeme začít s tréninkovými daty NLU, než přejdete k psaní příběhů a pravidel. Pokud máte historická uživatelská data, například přepisy chatu, můžete odtud vytáhnout ukázková vyjádření. Pokud je nemáte, můžete si pro každý intent vytvořit vlastní příklady přemýšlením o variantách, kterými by uživatel mohl vyjádřit téma nebo cíl. Dvacet tréninkových příkladů na intent bohatě stačí. Během pozdějších fází by se tým měl zaměřit na získávání dalších příkladů z konverzací skutečných uživatelů, s cílem dosáhnout přibližně 90 % tréninkových dat generovaných přímo uživateli.

Jakmile vytvoříte počáteční sadu tréninkových dat NLU, můžete svou pozornost zaměřit na příběhy (tréninkové dialogy). Každý příběh se skládá z intentů, které představují to, co uživatel řekl, následované akcemi, které představují to, co robot udělal jako odezvu. Během čtvrté fáze byste se měli snažit napsat základní konverzační scénáře a pravidla potřebná k pokrytí každého z vašich ideálních příběhů. Na konci čtvrté fáze jste dosáhli důležitého cíle, a to jednoduchého MVA virtuálního asistenta.

Fáze 5: Interní zkoušení

Jakmile máte základního životaschopného asistenta, můžete prototyp chatbota otestovat. Díky tomu si ověříte předpoklady, které jste o designu virtuálního asistenta udělali, a umožňuje vám to také zachytit sdělení, která testovací uživatelé říkají asistentovi, a převést tyto textové zprávy na tréninková data. Cílem interního testování je zachytit konverzační data z testovacích relací, aby bylo možné je analyzovat, zatřídit a proměnit na tréninková data. 

Při výběru testerů se pokuste zapojit dobrovolníky mimo váš vývojový tým. Testeři s příliš velkými znalostmi virtuálního asistenta mají tendenci zůstat v ideálním scénáři a nejdou s asistentem nad rámec toho, o čem vědí, že je schopný zvládnout.

Nakonec v této fázi také začnete vytvářet sadu testovacích konverzací. Testovací konverzace se používají k ověření, že důležité konverzace, které fungovaly v minulosti, nadále fungují i v aktualizovaném modelu. Při kontrole konverzací hledejte úspěšné interakce. Ty lze uložit do sady testovacích konverzací, kde budou zkontrolovány během testovacích kroků po sestavení kompletního vývojového kanálu CI / CD. 

Fáze 6: Asistent na plný plyn

Během šesté fáze je virtuální asistent uveden do provozu, kde se poprvé ve velkém setkává se skutečnými koncovými uživateli. Interní testování během páté fáze připravuje asistenta na zvládnutí mnohem širší škály interakcí, než má základní chatbot. Neustálé školení a trénink je kritická a neustále probíhající vývojová fáze, která umožňuje virtuálnímu asistentu dospět.

Při spuštění doporučujeme použít strategii postupného zavádění, kdy je na virtuálního asistenta směrováno jen malé procento uživatelského provozu a množství konverzací se navyšuje postupně. Při zvyšování provozu sledujte výpočetní zdroje pomocí testování zátěže a monitorování výkonu.

Posledním krokem šesté fáze je nastavení procesu trvalého vylepšování vašeho asistenta. Rozhodněte se, kdo v týmu bude každý týden kontrolovat data z konverzací, a promluvte si o tom, jak budou zprávy v Rasa X anotovány a přidávány do sady tréninkových dat.

Šablona plánu projektu AI asistenta

Další pomůckou, která vám pomůže udržet tým na cestě k úspěšnému spuštění virtuálního asistenta, je klasický project management. Připravili jsme pro vás šablonu Ganttova diagramu, která rozděluje každou fázi na dílčí úkoly s datem zahájení a ukončení každého úkolu. Plán lze kopírovat jako Google Tabulku na:

https://docs.google.com/spreadsheets/d/1ZHDsAz2EUIoR7XSktzmpJJcrvtdwf8ZiEaIENOUEB6o/edit?usp=sharing 

Závěrem

Mnoho týmů přistupuje k budování chatbota či inteligentního asistenta tím, že stráví mnoho měsíců vývojem asistenta za zavřenými dveřmi a poté přijdou s „celým hotovým strojem”. Ty nejúspěšnější týmy ale volí odlišný přístup. Zpřístupnění chatbota uživatelům co nejdříve, učení se z raných experimentů a školení modelů na reálných datech vytváří virtuální asistenty, kteří jsou úspěšnější v reálných podmínkách.

Zdroj: Karen White, Rasa.com, https://blog.rasa.com/project-management-for-conversational-ai-teams-template/ 

Chatboti v Česku viz: https://lepsi-reseni.cz/prehledy/chatbot/ 

Novinky, Ostatní
Košík