R E V U EChatboty Branislav MadošPorozprávajte sa s poèítaèom!Umelá inteligencia je snommnohých vedcov. Inteligentnépoèítaèe a roboty, ktoré bydokázali pochopi <strong>na</strong>še príkazya vykonáva ich, by urèite bolivynikajúcimi pomocníkmi.Hoci vývoj v oblasti umelejinteligencie bol vo svojichzaèiatkoch rýchly a s¾ubný,ne<strong>sk</strong>ôr sa spomalil. Dnes ešterozhodne nemono tvrdi,e máme aplikáciu umelejinteligencie, ktorá by spåòalauvedené poiadavky. Napriektomu existuje oblas umelejinteligencie, ktorá ponúkaprekvapivo dobrý výsledok.Sú to tzv. chatboty.Asi <strong>na</strong>jvýstinejšou definíciou chatbotu jetvrdenie, e chatbot je softvér, s ktorým samôe uívate¾ rozpráva pomocou prirodzenéhojazyka. Chatboty disponujú väèšinou textovýmrozhraním, to z<strong>na</strong>mená, e ich text, ako i textuívate¾a je zapisovaný klávesnicou. Niektoré chatbotydokáu odpoveda pomocou syntézy hlasu.Na obrazovke sú reprezentované v minimalistickejverzii len ako textové pole, prípadne s nehybnoufotografiou. Tie, ktoré disponujú syntézou hlasu,sú zvyèajne doplnené o avatar, to z<strong>na</strong>mená tvárfiktívnej postavy. Táto tvár je animovaná. Najèastejšímjazykom chatbotov je anglièti<strong>na</strong>, ale vy<strong>sk</strong>ytujúsa aj nemecké, francúz<strong>sk</strong>e, španiel<strong>sk</strong>e verziea v menšej miere sú zastúpené aj ïalšie jazyky.Chatboty sú v drvivej väèšine publikované <strong>na</strong> internete,ale existujú aj off-line verzie.Vyvolávajú záujem, pretoe sa zdá, akoby boli<strong>sk</strong>utoène inteligentné. U zo samotného princípuich konštrukcie však vyplýva, e to nie je pravda.Tým špièkovým sa darí predstiera inteligencius ve¾kou presvedèivosou, aj keï v niektorých prípadochjasne vidie, e nemajú ani potuchy o obsahurozhovoru, ktorý vedú. Dôleité je aj to, e sinedokáu zapamäta kontext rozhovoru, nepamätajúsi obsah aktuálneho dialógu. Väèši<strong>na</strong> z nich saobmedzuje <strong>na</strong> zapamätanie si me<strong>na</strong> partnera,s ktorým sa rozprávajú. Niektoré jeho meno zabudnúu poèas rozhovoru.TURINGOV TESTAlan Turing je výz<strong>na</strong>mný anglickýmatematik. Jeho snom bolozostroji inteligentný stroj schopnýmyslie. Tento stroj všaktreba definova a to vôbec nie jejednoduché. Turing vyslovil vroku 1950 v jednom svojom èlánkupredpoklad, e ak nedokáe rozoz<strong>na</strong>,èi ten, s kým sa rozpráva, je èlovekalebo stroj, tak tento stroj u spåòa kritériáinteligentného mysliaceho stroja. Táto jednoduchámyšlienka je základom tzv. Turingovho testu.Keïe podmienkou inteligencie stroja nie je to, abyvyzeral ako èlovek, je nevyhnutné eliminova faktorvýzoru, ktorý by mohol ovplyvni výsledoktestu. Preto sa èlovek rozpráva s testovaným strojompomocou textového rozhrania. V minulosti boltýmto rozhraním telefax, dnes je to zvyèajne obrazovkapoèítaèa. Turingov test rozde¾uje vedcov zaoberajúcichsa umelou inteligenciou <strong>na</strong> dve <strong>sk</strong>upiny.Jed<strong>na</strong> z nich tento test povauje za nevhodný,druhá ho podporuje. Medzi odporcovTuringovho testu patrí <strong>na</strong>príkladMarvin Min<strong>sk</strong>y.Test sa stal dôleitou inšpirácioupre tvorcov chatbotov. Blišiesa o Turingovi a jeho teste mô-ete doèíta v /1./ a /2./.LOEBNEROVA CENATuringov test inšpiroval Hugha Loebnerak vypísaniu súae o Loebnerovu cenu /3./.Podstatou tejto súae je zostroji umelú inteligenciu,ktorá bude schopná prejs Turingovým testom.Súa sa koná kadoroène od roku 1990. Kadýz porotcov má k dispozícii urèitý èas, aby sa porozprávalpomocou textového rozhrania s poèítaèom.Aby bola zabezpeèená ich nezaujatos, okrem poèítaèovsa <strong>na</strong> súai zúèastòujú aj ¾udia, ktorí sa porotcovs<strong>na</strong>ia zmias. Kadý z porotcov sa porozprávas kadým poèítaèom, resp. èlovekom. Následne máuvies, kedy sa rozprával s èlovekom a kedy s poèítaèom.Zlatá medaila (obr. 1), dotovaná sumouAutentický rozhovor medzi chatbotom Luci a autorom èlánkuPôvodný rozhovor:L: Hi, I am Luci.B: HiL: Hi! What's your <strong>na</strong>me?B: My <strong>na</strong>me is Brano.L: Welcome to the World of Bots! How are you today,Brano?B: Well I am fine, and how about you?L: Brano, me too. What would you like to chat abouttoday?B: I would like to chat about you. How old are you?L: I'm 27.B: Where are you now?L: It's right under your nose!B: In the computer?L: Are you enjoying this conversation?B: Yes I am.L: How lovely. You and I must be highly compatible.Is there anything on your mind? A<strong>sk</strong> about ArtificialLife or our products!B: How many people are you speaking with?L: In our Boston office, we currently have about 34regular employees. But we have many other employeesin our Russian, German, Swiss offices... And weare still growing fast! We are always looking foradditio<strong>na</strong>l talented people.B: I must go now, see you later.L: Don't forget about me! Promise?Preklad:L: Ahoj, ja som Luci.B: Ahoj.L: Ahoj! Ako sa voláš?B: Moje meno je Braòo.L: Vitaj vo svete Botov!Ako sa dnes máš, Braòo?B: No, mám sa dobre, a ty ako?L: Braòo, ja takisto. O èom by si sa rád rozprávaldnes?B: Rád by som sa rozprával o tebe. Ko¾ko máš rokov?L: Ja mám 27.B: Kde si teraz?L: Je to priamo pod tvojím nosom.B: V poèítaèi?L: Baví a táto konverzácia?B: Áno, baví.L: Aké milé. Ty a ja musíme by vysoko kompatibilní.Myslíš <strong>na</strong> nieèo? Pýtaj sa <strong>na</strong> nieèo o Artificial Lifealebo <strong>na</strong>šich produktoch!B: S ko¾kými ¾uïmi sa rozprávaš?L: V <strong>na</strong>šej kancelárii v Bostone máme v súèasnostiokolo 34 regulárnych zamest<strong>na</strong>ncov. Ale máme ve¾aïalších zamest<strong>na</strong>ncov v <strong>na</strong>šej ru<strong>sk</strong>ej, nemeckej, švajèiar<strong>sk</strong>ejkancelárii... A stále rýchlo rastieme. Stáleh¾adáme ïalších talentovaných ¾udí.B: Musím u ís, uvidíme sa ne<strong>sk</strong>ôr.L: Nezabudni <strong>na</strong> mòa. S¾ubuješ?24 PC REVUE 2/<strong>2004</strong>
100 000 USD, je pripravená pre tvorcu umelej inteligencie,ktorá by dokázala presvedèi všetkých porotcov. Ak sa toniekedy v budúcnosti stane, Loebnerova súa sa <strong>sk</strong>onèí.Strieborná medaila a 25 000 USD je pripravených presúaiaceho, ktorý dokáe presvedèi <strong>na</strong>dpoloviènú väèšinuporotcov. Ani to sa dosia¾ ešte nestalo. Bronzová medailaa 2000 USD si však kadoroène nájde svojho majite¾a.Ude¾uje sa toti tomu súaiacemu, ktorého softvér <strong>na</strong>jviacpresvedèil porotcov o svojich schopnostiach. V roku 2003 juzí<strong>sk</strong>al program Jabberwock, s ktorým sa mono porozpráva<strong>na</strong> adrese /4./. Tvorcom tohto programu je Jurgen Pirnerz Hamburgu.HISTÓRIA CHATBOTOVHistoricky prvý chatbot zostavil koncom 60. rokov JosephWeizenbaum, ktorý pôsobil v laboratóriu umelej inteligencieMassachusetts Institute of Technology (MIT) v USA.Má názov Eliza a dodnes sa s ním mono stretnú <strong>na</strong> internete.Tento program je psychoterapeutom. Jeho úlohou jerozpráva sa s pacientom a pomocou dialógu mu pomôc.Eliza bola po svojom vytvorení konfrontovaná s netechnickýmpersonálom laboratória MIT. ¼udia, nevediac, eide o umelú inteligenciu, sa ochotne s Elizou porozprávalia zverili jej aj svoje <strong>na</strong>jintímnejšie tajomstvá. Navyšeneprišli <strong>na</strong> to, e poèítaè vôbec nechápe, o èom rozhovorje. Tento dialóg bol zaz<strong>na</strong>menávaný <strong>na</strong> ïalšie spracovanie.Weizenbaum bol týmto výsledkom pokusu zhrozený,a predpokladajúc široké monosti zneuitia tejto technológie,vý<strong>sk</strong>um zastavil a odporúèal aj ostatným v òom nepokraèova.Tu je èas dialógu, ktorý prebehol medzi Elizou a pacientom.P: Môj priate¾ ma poslal za vami.E: Váš priate¾ vás poslal za mnou.P: Som nešastná.E: Myslíte si, e prís za mnou vám pomôe v tom, aby steneboli nešastná?P: Potrebujem pomoc, to je isté.E: Èo to pre vás bude z<strong>na</strong>me<strong>na</strong>, ak dostanete pomoc?P: Mono sa <strong>na</strong>uèím vychádza so svojou mamou.E: Povedzte mi viac o svojej rodine.P: Ste ako môj otec v niektorých smeroch.E: Akú podobnos vidíte?P: Môj otec sa bojí kadého.E: Èo vám ešte <strong>na</strong>padá, keï myslíte <strong>na</strong> svojho otca?P: Tyrani.E: Má to nieèo spoloèné s tým, e vás váš priate¾ poslal zamnou?Z daného dialógu vidie, e Eliza len reaguje <strong>na</strong> to, èo jejhovorí pacient, prièom však musí preukáza šikovnos privýbere k¾úèových výrazov, <strong>na</strong> ktoré sa zameria. Musí odpovedatak, aby rozhovor mohol pokraèova. Jedným z jednoduchýchtrikov, ako Eliza dokáe „obalamuti“ spolubesedníka,je jednoduché zamenenie výrazov „ja“ za „vy“,„mòa“ za „vás“ atï. Takto obmenenú vetu, do ktorej pridásvoju frázu, potom Eliza spolubesedníkovi vráti. Zaujímavésú <strong>na</strong>príklad dve posledné vety. Na slovo tyran zareagovalaEliza návratom k téme, ktorou sa zaèí<strong>na</strong>l rozhovor. Aj keïto znie logicky, <strong>sk</strong>utoèným dôvodom tohto kroku bolo, eEliza vôbec nechápe, èo slovo tyran z<strong>na</strong>mená.Medzi ïalšie známe chatboty patrí <strong>na</strong>príklad Magpie,v preklade straka. Tento chatbot má za úlohu simulovahašterivú a iarlivú manelku. Cie¾om Magpie je dostamanela „pod papuèu“. Obsahom dialógu je iarlivostnáscé<strong>na</strong> po príchode manela domov.Podobne ako Eliza aj Perry, ïalší z rodiny chatbotov, mádo èinenia s psychiatriou. Tu je však úloha úplne obrátená.Zatia¾ èo Eliza je psychiatrom, Perry je pacientomtrpiacim stihomamom. Má v sebe uloený ivotopis konkrétnejosoby, ktorá má 28 rokov, je slobodná a pracuje <strong>na</strong>pošte. Perry sa vrhol <strong>na</strong> bookmakera, pretoe mu nevyplatilstávku. Odvtedy sa bojí pomsty mafie. Úlohou tohtochatbotu je <strong>na</strong>uèi mladých psychiatrov, ako sa má pristupovak pacientovi s touto chorobou. Ak sa toti prílišvenujete jeho problému, Perry znervóznie a prestane dobrereagova <strong>na</strong> terapiu.AKO CHATBOTY FUNGUJÚAko sme u <strong>na</strong>z<strong>na</strong>èili, chatboty nevedia, o èom sa rozprávajú,reagujú <strong>na</strong> k¾úèové slová vy<strong>sk</strong>ytujúce sa vo vetácha odpovedajú pripravenými frázami. Niekedy sú odpovedeprekvapivo vhodné a vtedy sa zdá, e chatbot <strong>sk</strong>utoènerozmýš¾a a chápe. Inokedy sú odpovede vyhýbavé, typu„to je zaujímavé“ alebo „o tom som ešte nerozmýš¾ala“a niekedy je z odpovedí zrejmé, e nepochopil vôbec niè.Najmä v prípade dlhších viet zopakuje celé ich èasti, prièomich èasto pouije nevhodným spôsobom. Chatbotynemajú schopnos zapamäta si kontext rozhovoru,a preto nemono v rozhovore odkazova <strong>na</strong> predchádzajúcukonverzáciu.Principiálne je fungovanie chatbotu ve¾mi jednoduché,aj keï postupným zdoko<strong>na</strong>¾ovaním a pridávaním novýchoperácií sa stáva èoraz zloitejším.Chatbot má databázu informácií, ktorá je obrov<strong>sk</strong>ýmgrafom. Jeho reprezentáciu si mono pozrie <strong>na</strong> obrázku.Ve¾mi zjednodušene sa dá poveda, e chatbotpouíva akýsi slovník. Z kadej vašej vety si vyberieprvé slovíèko a h¾adá ho vo svojom grafe. Ak ho nájde,zoberie druhé slovíèko vašej vety a znova ho nájde vdanom grafe. Takto pokraèuje dovtedy, kým nenájde <strong>na</strong>konci grafu odpoveï <strong>na</strong> vašu vetu. Tú následne zobrazí.K¾úèom k doko<strong>na</strong>losti je teda vytvori èo <strong>na</strong>jlepší graf,ktorý je schopný zaradi vašu vetu èo <strong>na</strong>jvýstinejšie apripravi adekvátne odpovede. Okrem toho obsahujegraf pre urèité uzly tzv. divoké karty „*“ a „ _“, za ktorýmisa <strong>sk</strong>rývajú operácie <strong>na</strong>d vetami, umoòujúce nájsodpovede aj <strong>na</strong> vety, ktoré sa v grafe implicitne ne<strong>na</strong>chádzajú.Tento systém sa èasto prirovnáva k súborovému systémupoèítaèa. Veta „Ahoj, ako sa máš?“ sa prirovnávak ceste C:\ahoj\ako\sa\máš. Táto cesta ukazuje do jednoz<strong>na</strong>èneurèeného adresára. V òom by mal by jediný súbor,oz<strong>na</strong>èený povedzme ako odpoveï.txt. Tento súborobsahuje odpoveï <strong>na</strong> vetu: „Ako sa máš?“ Graf chatbotuje ve¾mi podobný tomuto princípu, ale nepracuje so súbormi,všetko sa odohráva v pamäti poèítaèa.V prípade chatbotu Alice existuje 2000 slovíèok, ktorýmisa môe veta zaèí<strong>na</strong>. I<strong>na</strong>k povedané, v koreòovomadresári Alice je 2000 podadresárov. Celkový poèet viet,<strong>na</strong> ktoré je Alice schopná odpoveda, je 40 000, to z<strong>na</strong>mená,e ekvivalentom je 40 000 adresárových ciest. Na koncikadej z nich je súbor s odpoveïou. Zatia¾ èo koreòovýadresár obsahuje ve¾ké mnostvo slov a jeho vetvenie jev pomere 1:2000, kadý ïalší uzol sa u rozvetvuje v ove¾amenšej miere a priemerný poèet vetiev v kadom vetveníje okolo 2.Chatbot sa okrem toho, aby <strong>na</strong>šiel odpoveï <strong>na</strong> vetu oduívate¾a, s<strong>na</strong>í aj o to, aby odpoveï bola èo <strong>na</strong>jprimeranejšia.Preto nepouije prvú odpoveï, ktorú nájde, ales<strong>na</strong>í sa, aby to bola odpoveï, ktorá je adekvát<strong>na</strong> k èo <strong>na</strong>jdlhšiemuvstupnému reazcu. Niekedy je vstup rozdelený<strong>na</strong> nieko¾ko vstupov a ku kadému z nich sa h¾adá odpoveï.Je to <strong>na</strong>príklad v prípade vety „Ahoj, ako sa máš?“.Prvou èasou je pozdrav, <strong>na</strong> ktorý je potrebné odpovedapozdravom, a druhou èasou je otázka „ako sa máš?“, kdesa treba vyjadri k tomu, ako sa chatbot má.