5 úrovní konverzačních AI botů

Konverzační umělá inteligence neboli chatboti s AI jsou nároční na vývoj, ale představují velkou příležitost pro budoucnost obchodu i služeb. “Nyní máme šanci vybudovat ty uživatelsky nejpřívětivější aplikace v historii softwaru.” říká Alan Nichol, CTO společnosti Rasa, která vyvíjí otevřený systém pro stavbu chatbotů, voicebotů a konverzační AI. V následujícím článku shrnuje, co nám koncoví uživatelé již řekli o svých představách, jaké kategorie chatbotů dnes existují a jak by měli fungovat AI asistenti nejvyšší úrovně.

Proč na tom záleží?

Internet a chytré telefony jsou nesmírně rozšířené a jsou pevnou součástí života mladších generací. Starší ročníky jsou v jejich používání pozadu, protože mají občas problémy s jejich nastavením a ovládáním. Pokud bude ovládání techniky podobné, jako komunikace s druhými lidmi, máme šanci vybudovat software, který bude umět používat více lidí.

Udělat to tak, aby mohl konverzační umělou inteligenci používat kdokoli je už tak těžký úkol, ale sám o sobě nestačí. Potřebujeme zpřístupnit mnoha lidem tvorbu takových aplikací. Existují miliony důležitých funkcí chatbotů, které velké technologické společnosti nikdy nevytvoří. Jedinou cestou k jejich vzniku je masivní vývojářská aktivita.

Pokud čtete tento text, pak jste již pravděpodobně nějakého chatbota vytvořili a víte, že to není jednoduché. Je tedy na nás a každém, kdo s tím má zkušenost, vytvořit pro příští generaci vývojářů lepší nástroje a koncepty, aby měly cestu trochu jednodušší.

5 úrovní

Aby AI asistenti mohli být užiteční pro všechny, musí se výrazně zlepšit zkušenosti jak koncových uživatelů, tak i vývojářů.

 

Perspektiva koncového uživatele

Podívejme se nyní, jak se konverzační asistenti postupně stávají vstřícnějšími k tomu, jak lidé myslí, a působí méně jako koncový bod API rozhraní aplikace.

Použijme jako příklad nabídku hypotéky. Na každé úrovni snižujeme zátěž koncového uživatele při překládání toho, co chce (nové bydlení), do jazyka banky (nabídka 30leté hypotéky s pevnou sazbou).

Asistenti na úrovni 1 nechávají veškerou práci na koncovém uživateli. Takovými asistenty jsou například statické webové formuláře nebo dokonce aplikace v příkazovém řádku. Vzpomeňte si, že před příchodem Windows tímto způsobem používali počítač všichni. Aplikace příkazového řádku jsou skvělé pro experty, ale mají strmou křivku učení. Příkaz pro generování nabídky na hypotéku by mohl vypadat takto:

To vyžaduje od koncového uživatele vědět přesně která vstupní pole vyplnit. Ošemetné, ale stále mnohem pohodlnější než provádět výpočty ručně.

Asistenti na úrovni 2 jsou chatboti v základním nastavení. Pokud uživatel napíše něco podobného výrazu „Chtěl bych vědět něco o sazbách hypoték”, chatbot se ho zeptá na sérii otázek s tím, že postupně získá stejné informace, které uživatel poskytl v předchozím příkazovém řádku.

Frustrující na asistentech na úrovni 2 je to, že tvrdě narážejí pokud se odkloníte od výchozího scénáře. Uživatel může vyjádřit svůj cíl („chci hypotéku”) a poskytnout informaci („fixní sazby prosím”) v přirozeném jazyce, ale oba požadavky musí být přesně takové jaké je asistent očekává. Tím, že uživatel postupuje podle výchozího scénáře, musí poskytnout informace na které se chatbot zeptal a neudělat nic nečekaného.

Na úrovni 3 jsou kontextoví virtuální asistenti a pokročilí chatboti. Uživatel se může zeptat na vysvětlení: „O kolik je měsíční platba výhodnější oproti pronájmu?“, „Jak dlouho lidem obvykle trvá, než vše splatí?“, může se opravit nebo změnit názor, aniž by vykolejil konverzaci. Uživatel stále musí přesně vědět, co je jeho cílem („Chci nabídku hypotéky“), ale už nemusí vědět, jak používat asistenta, aby nepřerušil konverzaci.

Na úrovni 4 jsou asistenti-poradci. Uživatel může vyjádřit svou situaci svými vlastními slovy, např. „Moje děti šly na vysokou školu a já chci do něčeho menšího.“ Konečným výsledkem může být nabídka hypotéky, ale uživatel o tom nemusí vědět. Pro vývojáře by bylo lákavé o tom přemýšlet jako o „nejednoznačném vstupu“, ale to není správný způsob uvažování. To, co uživatel řekl, je naprosto jasné a úkolem asistenta je přijít na to, jak mu může pomoci.

Na úrovni 5 jsou flexibilní virtuální asistenti. Asistent dokáže zjistit úroveň podrobností, kterou uživatel v danou chvíli hledá. Možná chce jen vědět, že typické fixní úrokové sazby se právě pohybují kolem 3-3,5%, nebo naopak chce podrobnou nabídku s kalendářem splátek. Možná už si toho hodně našel sám a potřebuje jen vysvětlení některých podrobností. Konverzační asistent s umělou inteligencí páté úrovně zachytí náznaky a podle nich upraví své chování.

Na každé úrovni snižujeme zátěž koncového uživatele při překládání toho, co chce, do jazyka bankovní terminologie. Přesně v tom tkví hodnota konverzační AI. Aby se z toho stala realita, potřebujeme komunitu vývojářů s nástroji, které posouvají hranice toho, co je možné.

Perspektiva vývojáře

Konverzační AI přináší dvě jedinečné věci, které mají vliv na zkušenosti vývojáře.

Tou první je, že koncoví uživatelé nám doslova říkají, co chtějí. U jiných druhů softwaru můžeme opravdu jen sledovat, kam lidé klikají, a odhadovat, co chtějí. Ale informace, které potřebujeme k pochopení úrovně 5 jsou už obsaženy v konverzacích, které lidé vedou s našimi asistenty. Proto potřebujeme „jen“ nástroje, díky kterým bychom se mohli poučit ze skutečných konverzací a využít tento zdroj.

Druhou věcí je to, že vývoj asistenta nemusí ovlivnit jen vývojář a jeho zadání. Protože koncoví uživatelé si mohou říkat co chtějí a zároveň v čase mění svoje chování, tak se podle toho musí měnit i virtuální asistenti. V současné době svět prožívá  ekonomickou krizi a krizi veřejného zdravotnictví způsobenou COVID-19. Je jisté, že všichni chatboti, kteří se zabývají hypotékami, dostávají záplavu zpráv od nově nezaměstnaných lidí, kteří se obávají jak budou platit své měsíční splátky. Svět se mění a někdy se mění rychle. Konverzační umělá inteligence s ním musí být schopna držet krok.

Druhá perspektiva v našich pěti úrovních je tedy vývojářská. Skrze těchto pět úrovní nevede vývojářská zkušenost jako přímka, která celý proces ulehčí, ale jde tu o proměnu role vývojového týmu.

Nezapomeňme, o co se snažíme. Chceme vytvořit software, který dokáže přirozeně konverzovat s lidmi a zároveň plnit jejich přání. To je neuvěřitelně těžké. Přechodem z úrovně 2 na úroveň 3 a výše, přesouváme břemeno „překladu“ z koncového uživatele na asistenta. Nemůžeme pak dál nutit uživatele přemýšlet nad problémem tak, jak to děláme my. A to má dopad na to, jak vytváříme software.

Na úrovni 1 může vývojář snadno přidávat nové funkce. Můžeme vydat novou verzi nástroje příkazového řádku spolu s novou dokumentací a je na koncovém uživateli, aby se o nové funkci dozvěděl něco víc. Rozdělili jsme problém na samostatné komponenty a definovali jsme přesná pravidla pro jejich společné sestavování.

Na úrovni 2 je stále obtížnější přidávat nové funkce s tím, jak asistent košatí. Asistenti na úrovni 2 jsou vytvořeni s pevnou sadou záměrů “intentů” a sadou podmínek „if”, které popisují, jak reagovat v různých kontextech. Když se přidá nová funkce, musí se vyřešit hádanka: jak přidat tuto novou funkci, aniž by se narušilo všechno ostatní? Vyřešením každé nečekané situace dalším příkazem “if” se vytvoří dům z karet, který se bude stále obtížněji udržovat. Tento problém je tak těžký, že proto vznikla Rasa, která se jej snaží vyřešit.

Na úrovni 3 se začneme přizpůsobovat tomu, že uživatelé nepřemýšlí o problému stejně, jako to dělají vývojáři, a že ne každá zpráva může být úhledně zařazena do intentu. Jako vývojáři rádi rozdělujeme větší problémy na samostatné části. Ale abychom dosáhli plynulé konverzace, musíme se přizpůsobit tomu, že uživatelé nerespektují hranice, které jim vývojáři stanovili. Například hypotéky a spořicí účty mají v obou případech úrokové sazby (i když to znamená velmi odlišné věci). A lidé také mluví o „spoření“ na hypoteční vklad. Pro banku jsou to samostatné produkty, ale pro zákazníka jsou to jen prostředky k dosažení cíle. Musíme sledovat, jak uživatelé mluví s naším asistentem, a pomocí těchto informací naučit asistenta, jak mluvit s nimi. Jinými slovy, musíme si procvičovat vývoj založený na konverzaci (CDD). Chceme-li se opravdu přesunout přes úroveň 2, musí se změnit mnoho věcí, včetně zbavení se intentů. To je těžký oříšek, ale postup přes úroveň 3 na 4 a 5 je důvodem, proč Rasa existuje.

Na úrovni 4 začneme automatizovat části CDD procesu. Automatické zjištění toho, které konverzace byly úspěšné, které selhaly (a kde), je jen jeden dílek skládačky. Když virtuální asistenti získají schopnost posoudit konverzace jako úspěšné nebo ne, mohou automaticky proměnit tyto úspěchy v nová tréninková data a ukázat vývojáři na chyby, které by měli opravit, aby asistenta dále vylepšili.

Na úrovni 5 jsme technicky schopni plně automatizovaného CDD. Abychom přidali nové funkce nejvyspělejšímu konverzačnímu asistentovi, poskytneme mu obchodní logiku k dokončení úkolu, a pomocí několika cvičných rozhovorů může asistent zajistit nový úkol stejně efektivně jako dříve zavedené úkoly a může mezi nimi automaticky přepínat i s přenosem kontextu. Zatímco proces učení ze skutečných konverzací může být do značné míry automatizovaný, bude dobré, když se do procesu učení zapojí i lidé a pomůžou v určování směru a hledání problémového chování. Software pro člověka by měl být vytvářen člověkem.

Můžeme vidět, jak se role vývojáře vyvíjí, jak postupujeme přes úroveň 2 na úrovně 3, 4 a 5. Spíše než zápasem s nečekanými případy a přidáváním další logiky na mikroúrovni, vývojáři vytvářejí systém, který sám zajistí i malá rozhodnutí. Můžeme udělat analogii s jinou oblastí softwarového inženýrství, která zahrnuje data a automatizaci: monitorováním výkonu aplikací (APM). Pokročilá infrastruktura APM umožňuje vývojářům sledovat složité systémy služeb a inteligentněji reagovat na změny v systému. Díky této infrastruktuře mohou technici vytvářet a škálovat systémy, které by bez této automatizace nebylo možné udržovat.

Jak se tam dostaneme

Meena a BlenderBot jsou skvělí, ale konverzační AI úrovně 3, 4 nebo 5 nedorazí v tiskové zprávě velké technologické společnosti. Nečekáme na jediný průlom, ani na další, větší GPT-3 model. V době, kdy se začalo na chatbotech a virtuálních asistentech pracovat, bylo fantastické sledovat, kolik práce je nutné udělat pro vybudování infrastruktury a nástrojů potřebných k tomu, abychom se mohli poučit ze skutečných rozhovorů a překročit úroveň 2.

Můžeme hledat inspiraci u webu. Nikdy jste nepotřebovali souhlas nikoho k vytvoření webové stránky nebo k vymyšlení nového využití internetu. Kdyby všichni uvízli v používání jednoho nástroje pro tvorbu webových stránek WYSIWYG, Web 2.0 by nikdy nevznikl. K urychlení pokroku v konverzační AI potřebujeme stejné přísady: nástroje open source a schopnost zkoušet nové věci bez žádosti o dovolení. Musíme umožnit každému vývojáři tlačit na to, co je u konverzační AI možné, nejen velkým technologickým společnostem.

Open source

Díky otevřenému zdrojovému kódu je postup v každé oblasti až 10krát rychlejší. Budování asistentů 3. úrovně je těžké a není to tak, že by Rasa měla odpovědi na všechny otázky. Vývojáři pravidelně hackují věci do firemní šablony pro vývoj softwaru pro své vlastní účely. Nemusí k tomu podávat žádosti a modlit se, aby byli zahrnuti do dalšího vydání. Kdokoli může rozšířit infrastrukturu a uplatnit svůj nový nápad.

Komunita

Rasa jako společnost nepřijde se všemi nápady, které jsou potřeba k projití všech 5 úrovní. Je tu přátelská globální komunita vývojářů a dalších tvůrců, kteří si navzájem vyměňují nápady a staví na nich. Čím větší tato komunita bude, tím více pomoci získají noví uživatelé a tím rychleji se budou šířit nové nápady. Tím se vytvoří síťový efekt. Budováním komunity získáme zpětnou vazbu o tom, jak tvůrci postupují na pěti úrovních, které věci fungují a které ne.

V budoucnu bude téměř veškerý software obsahovat určité strojové učení. Strojové učení už není specializovaný obor, ale základní prvek softwarového inženýrství. Musíme tedy strojové učení zpřístupnit vývojářům a vývojáři potřebují příležitosti, aby se naučili, jak strojové učení funguje, a prohloubili si svoje vědomosti. To je důvod, proč v Rase vytvořili zpracování přirozeného jazyka (NLP) pro vývojáře vedle velké sady algoritmů.

Konverzační AI vás potřebuje

Krátká odpověď na otázku „Jak se dostaneme na úroveň 5?“ zní „díky vám všem”. A tak skončeme s několika praktickými věcmi, které můžete udělat, abyste urychlili pokrok. Inspirujte se u druhých. Vytvořte něco úžasného a sdílejte to na Githubu, abyste inspirovali ostatní. Přijďte na Rasa fórum a řekněte nám, kde jste se zasekli. A děkuji všem hrdinům a superhrdinům Rasa, kteří poskytli zpětnou vazbu k tomuto příspěvku.

 

Zdroj: Alan Nichol, Rasa.com

Novinky, Ostatní
Košík