Domů > Odborné články > Gymnaziální vzdělávání > Využití chatbotů ve vzdělávání
Odborný článek

Využití chatbotů ve vzdělávání

31. 3. 2020 Gymnaziální vzdělávání
Autor
RNDr. Michal Černý Ph.D.

Anotace

Chatboti (konverzační agenti) jsou dnes poměrně standardní součástí fungování sociálních sítí nebo uživatelské podpory. Jejich tvorba může – ale také vůbec nemusí – vyžadovat znalosti programování. Mohou posloužit jako velice zajímavý nástroj pro výuku, ve které se objeví témata, jako je počítačové zpravování emocí, dialogové systémy, API nebo umělá inteligence formou, která je pro žáky poměrně snadno dostupná a pochopitelná. Současně jejich tvorba může pomoci s automatizovaným procvičováním nebo personalizovaným na dialogu postaveném vyučování.

Chatboti se objevují v různých obměnách v žebříčcích trendů jak v oblasti vzdělávání, tak také mimo ni. Jde o trend, který je zajímavý především tím, že spojuje poměrně velké množství současných trendů do jedné technologie (nebo spíše jednoho přístupu), který je uživatelsky poměrně otevřený a současně má velký ekonomický potenciál. Velký rozvoj chatbotů ve vzdělávání, před kterým zřejmě stojíme, je něčím, co má například v oblasti marketingu za sebou svůj vrchol. Tato skutečnost se pak projevuje například v šíři nabídky, kterou je možné pro tvorbu jednotlivých chatbotů využít.

Chatbot, nebo někdy též konverzační agent, je počítačový program, který se snaží vést konverzaci s uživatelem, a to především v automatizovatelných situacích. Jako jedna z prvních firem v Česku nasadila Ikea svoji asistentku Annu, ale dnes je možné například na Facebooku najít desítky nebo stovky chatbotů, kteří jsou schopni odpovídat na otázky ohledně dostupnosti zboží, otvírací doby nebo třeba informují o tom, co potřebujete k reklamaci. V současné době jsou stále populárnější také různé vzdělávací aktivity.

V zásadě je možné se setkat se dvěma základními způsoby, jak může být chatbot realizován. Buď pracuje s předem jasně vymezeným schématem, kdy uživatel jen zaklikává jednotlivé varianty odpovědí a stroj ho v takto modelovaném dialogu logicky směřuje k tomu, co uživatel potřebuje. Druhou možností, v čeště zatím málo používanou (protože je to složité), je využití umělé inteligence, která se snaží zjistit, na co se člověk ptá a podle toho mu nabízí odpovědi.

Chatbot přitom nemusí být pasivním předavatelem informací, ale může například pracovat s daty, která mu sdělí uživatel (typicky mu například podle PSČ najde nejbližší pobočky), nebo využívat dynamicky se měnící data z různých databází. Právě díky tomu se hodí na mnoho úkolů, které se dají nejen snadno algoritmizovat a strukturovat do jasných postupů, ale také tam, kde je možné počítat s nějakou jednoduchou variabilitou.

Obecně ale platí, že čím je dialog košatější a větvení větší, tím náročnější je zajistit jeho vlastní tvorbu. My se v tomto článku zaměříme na tři okruhu, které s chatboty ve vzdělávání souvisejí. Napřed popíšeme základní technologie a technologické pozadí, které je s chatboty spojené, následně nabídneme přehled několika konkrétních nástrojů pro jejich tvorbu a na závěr se podíváme na to, co s nimi vlastně ve vzdělávání dělat. A to jak v pozici toho, kdo je chce využívat pro tvorbu (tedy udělat vlastního chatbota), tak v rovině rozvoje algoritmického myšlení tehdy, kdy do procesu tvorby zapojíme také žáky.

Technologie

Pokud jde o technologie, na kterých jsou chatboti postaveni, tak v prvé řadě je nutné zmínit počítačové zpracování přirozeného jazyka (NLP) a jeho návaznost na umělou inteligenci (AI). Tato velká oblast informatiky se snaží zajistit co možná nejplynulejší komunikaci mezi člověkem a počítačem. Problémů je zde ale mnoho – jak zajistit pochopení, kontext, souvislosti, jak rozpoznat, co člověk říká, když se netrefí do přesně předepsaného vzorce atp. Velká část systémů, které pracují s NLP technologiemi, fungují tak, že se tvůrce snaží provádět jistou kategorizaci jednotlivých výroků nebo formulí, se kterými se má pracovat, a systém se snaží odhadnout, kterou variantu má podle zadaných klíčů vlastně použít.

Samotná AI se pak soustředí především na analýzu kontextu toho, co uživatel píše, takže se snaží zjistit, co by mohla daná věc znamenat a podle toho ji co nejlépe přiřadit právě pomocí nástrojů pro NLP strukturovaných odpovědí. V současné době se (tak jako všude) pracuje téměř výhradně s umělými neuronovými sítěmi, což právě s ohledem na nutnost pracovat s kontextem je poměrně očekávatelná věc.

Pokud si chcete s umělou inteligencí, NLP nástroji pohrát skutečně na vysoké úrovni a vidět, jak přesně fungují, pak doporučujeme TensorFlow a DialogFlow, a stále lépe funguje MS Azure, jež má právě k chatbotům zajímavé nástroje, které současně nutí člověka vidět „dovnitř“ věcí, a ne si je jen tak naklikat. Současně se ale domníváme, že toto naklikání může být pro mnoho lidí funkční a užitečné.

Další věc, kterou k chatbotům nutně potřebujeme, je API. Chatbot téměř nikdy nefunguje jako samostatná entita, ale má těsný vztah k dalšími technologiím. Nejvíce nástrojů využívá API Facebooku, Skypu nebo Slacku, ale samozřejmě lze pracovat s dalšími platformami. Obecně ale vždy potřebujeme něco, na čem se bude chatbot zobrazovat. API rozhraní, které nabízí aplikacím třetích stran přístup k určitým funkcím a datům mateřské služby. To s sebou nese jistá možná omezení – například pokud se Facebook ze dne na den rozhodne, že nechce již chatboty podporovat, jen jim omezí API a oni na něm přestanou fungovat. Současně je problematické odhadnout budoucí vývoj platforem. Naopak pohledem uživatelů je velkou otázkou, co se děje s jejich daty.

Asi všechny nástroje na tvorbu chatbotů totiž data uživatelů sbírají a analyzují. Jde o data, bez kterých není možné tyto nástroje reálně příliš vyvíjet. Současně ale pracují s osobními údaji a někteří uživatelé mohou být ve „vhodně vedeném“ dialogu odhaleni a neanonymizováni. Práce s daty představuje velké téma, které zde nemůžeme dopodrobna rozebírat, ale bude mít stále větší význam.

Z hlediska programování se určitě hodí znalost Pythonu, protože na něm stojí velká část systémů s AI, a pokud je třeba něco doprogramovat, většinou se to dělá v něm nebo v JavaScriptu. Velká část aplikací, které umožňují tvořit chatboty, ale pracuje s tím, že základní struktura a funkce jsou již vytvořené a uživatel jen modeluje dialog. Je tedy vhodné zmínit programovací jazyky pro modelování dialogu (SPARQL), byť téměř každá aplikace si řeší nějaký svůj vlastní.

Poslední technickou obecnost, kterou vnímáme jako užitečnou zmínit, je poměrně velká závislost na daném technickém řešení. Pokud se člověk rozhodně postupovat nějakým konkrétním nástrojem, tak přenositelnost někam jinam je téměř nulová. Jde o komplexní a současně velice uzavřená řešení, která člověk musí volit s notnou dávkou obezřetnosti. Export je většinou možný jen do záložních formátů, které zpracovává konkrétní aplikace nebo systém.

Nástroje na práci s chatboty

Na tomto místě nechceme podat nějaký vyčerpávající výčet nástrojů, neboť jsou jich skutečně velké desítky, jako spíše nabídnout konkrétní ukázky, které mohou ukazovat k jistým směrům úvah o tom, jaký systém by si člověk mohl vybrat nebo zvolit. Velká část z nich je v základní verzi zdarma dostupná, platí se za statistiky, intenzivní provoz nebo speciální funkce.

Xenioo nabízí možnost tvorby vlastního chatbota pro použití v různých chatovacích aplikacích (Messenger, WhatsApp apod.), a to včetně exportu na web. Tvorba chatbota nevyžaduje žádné zvláštní technické znalosti (byť i ty se nakonec hodí), na stránkách je navíc k dispozici obsáhlý tutorial. Aplikace je v základní verzi zdarma. Velkou výhodou je, že systém počítá s tvorbou školních projektů, takže mezi šablonami pro tvorbu nového projektu najdeme jak konverzační ukázky, tak také například práci s multimédii nebo integrovaný zpětnovazebný systém. Chatbot může obsahovat video, text, informace od uživatele, prvky náhody nebo třeba možnost integrace se službami třetích stran. Aplikace umožňuje kombinovat jak klasický přístup pomocí pevného rozhodovacího stromu, tak také integrovat prvky NLP a AI.

Chatfuel je také v základní verzi zdarma, ovládání je malinko náročnější a bližší kódování. Současně ale nabízí velice pěkný design a propracovanou nápovědu, která uživatelům hlavně na začátku hodně pomůže. Snaží se většinově opírat o AI než o pevně předdefinované cesty.

Engati je graficky výborně udělaný nástroj s velkým množstvím funkcí směřujícím k tvorbě chatbota. Pracuje silně s podporou vícejazyčných verzí, snaží se podporovat NLP a AI a výstupy z něj je možné aplikovat do mnoha prostředí – od Facebooku po Slack. Velice užitečná je galerie šablon a velké množství případových studií. Tvůrci nástroje na jedné straně zdůrazňují, že jednoduchého chatbota máte za 10 minut hotového, ale současně kladou velký důraz na to, aby lidé o konkrétním využití přemýšleli.

Snatchbot je jednoduchý nástroj na tvorbu chatbota, který nevyžaduje vůbec žádné programování. Maximální důraz je kladen na to, aby člověk dokázal vhodně namodelovat celý dialog. Do chatbota je možné vkládat text, obrázky, RSS kanály, umožňuje pracovat s jednoduchou zpětnou vazbou atp. Také tento nástroj ale umožňuje pracovat s NLP, a to i ve velice jednoduchých modelech.

Školní využití

Pokud jde o školní využití, můžeme vidět především dvě zajímavé oblasti, ve kterých práce s chatboty dává velký smysl. Tou první je samotná tvorba. Pokud se dnes hodně mluví o rozvoji informatického myšlení, často se to zaměňuje s tvorbou jednoduchých algoritmů a případně prací s ozoboty. Tím nechceme nijak snižovat význam výuky robotiky, ale spíše upozornit na to, že toto téma může být podstatně širší.

Tak jako u dalších komplexních úkolů se i zde hezky potkává výuka informatiky a informatického myšlení s předměty, jako je český (anglický) jazyk a literatura. Aby chatbot fungoval, je třeba, aby žáci uměli pracovat s dialogem jako takovým. Musí umět vymyslet, jakým způsobem má fungovat, jak zajistit jeho dynamičnost a použitelnost pro konkrétní situaci. Domníváme se, že může jít o mimořádně zajímavé téma, které vtáhne do informatiky také humanitně orientované žáky, nebo ty, kteří se zaměřují (na první pohled) na jiná témata. Právě jazyková dovednost a schopnost přemýšlet o tom, k čemu má být konkrétní chatbot dobrý a jak se v něm má odvíjet dialog, je pro úspěšnou tvorbu zásadní.

To, co dnes nemáme, a ještě dlouho mít nebudeme, je univerzální chatbot, kterému se asi nejvíce blíží hlasoví asistenti Alexa, Siri nebo Asistent od Googlu. Běžně totiž pracujeme s poměrně úzce specializovanou oblastí. Čím je oblast užší, tím lépe s ní mohou žáci pracovat a efektivně navrhovat dialogy. Současně většina nástrojů umožňuje týmovou tvorbu, případně možnost chatboty propojovat a integrovat. V rámci školního projektu je tak možné například pracovat na více příbuzných oblastech, které se pak propojí do jednoho funkčního celku.

Druhou školní možností, která se nabízí, je tvorba chatbotů učitelem. Velice dobře je možné je využít buď pro nějaké FAQ (často se opakující otázky žáků, odkazy na návody jak postupovat, kam odevzdávat úkoly atp.), procvičování (lze snadno zkoušet, co si žák pamatuje) nebo na předávání vzdělávacího obsahu. Jakkoli nejde o nejrychlejší a nejjednodušší způsob, je zajímavý tím, že jednak do školy přináší zajímavé moderní technologie, ale také tím, že jde o nástroje, které vzdělávání mohou dostat blíže žákům – na jejich Facebook Messenger, WhatsApp či Skype.

Závěrem

Na chatbotech je zajímavé to, že mají za sebou podstatnou část hyper cyklu od Garnter, tušíme, že se na všechno nehodí, že mají své limity a že budoucnost školy nebude v tom, že všechnu roli učitele nahradí algoritmus. Ale to, co mohou přinést, je silná podpora personalizované výuky, toho, že se žák v dialogu rozhodne, jakou edukační cestou se chce dát. Velkou výhodou této prošlapané cesty je i to, že existuje nespočet hotových řešení, návodů, postupů, rad, jak s takovými nástroji pracovat. Nejde o nic, co by si člověk musel programovat na koleni. Jednotlivé nástroje jsou takové, že i technicky průměrně vybavený žák si může nějakého chatbota vytvořit. Nejen že tím může zajímavě rozvíjet své informatické myšlení, ale možná lépe než kdekoliv jinde pochopí, jak technologie fungují a co je to dialog. Domníváme se, že se to pak může zajímavě odrazit i do běžného „literárního“ prostředí daného žáka.

A možná ještě jeden „nízkoprahový“ nápad do výuky – než se žáci pustí do vlastní tvorby, určitě stojí za to nechat je chvíli si s nějakým (třeba i obecným) chatbotem hrát. Přemýšlet nad tím, k čemu je možné ho využít pro běžné životní situace. Pak se jim i jejich nápady budou realizovat podstatně snáz.

Pokud se chcete podívat na nějaké studentské ukázky, pak doporučuji třeba velice jednoduché chatboty od Daniely Uřičářové – KISKbota podporujícího pamětné učení nebo chatbota na téma dezinformací.

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Autor
RNDr. Michal Černý Ph.D.

Hodnocení od recenzenta

Tým RVP.CZ
31. 3. 2020
Článek je určen především pro učitele, kteří chtějí fenoménu "chatbotů" porozumět a případně jej užít jako téma pro výuku středoškolského studenta. Sem patří i úvahy autora o využití vývojového prostředí takových služeb pro rozvoj informatického myšlení. Běžný čtenář ale nemůže očekávat, že mu článek nabídne nějaká praktická nasazení ve školách či vzdělávacích institucích. Jak autor sám správně podotýká, nemáme dostatek zdrojů pro praktické nasazení chatbotů přímo ve vzdělávácím procesu.

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.

Kolekce

Článek je zařazen v těchto kolekcích:

Článek pro obor:

Informatika a informační a komunikační technologie