A.L.I.C.E. - rozhovor s umělou inteligencí

19. září 2004 získal program A.L.I.C.E. Silver Edition prestižní Loebnerovu cenu poté, co v New Yorku uspěl v každoročně pořádaném Turingově testu. Tvůrce programu, AI Foundation (Artificial Intelligence Foundation) v čele s Dr. Richardem S. Wallacem získala již třetí bronzovou Loebnerovu plaketu a částku 2000 dolarů. Nyní oslavuje 10 let.

Turingův test

Turingův test pochází z hlavy významného anglického matematika, filosofa a zakladatele počítačové vědy Alana Turinga (1912-1954). Ten si v roce 1950 položil otázku: „Mohou stroje myslet?“. Po chvíli uvažování dospěl k záporné odpovědi a k další otázce: „Pokud je počítač schopen přemýšlet, je možné to rozpoznat?“. Jako odpověď na obě otázky vyvinul postup, který dnes nazýváme Turingovým testem. Tento test je určen pro počítačové programy, komunikující s uživatelem textovým způsobem a jeho cílem je stanovit nakolik je program v tomto směru schopen napodobit lidskou komunikaci. Dnes se používá upravený Turingův test, při kterém rozhodčí pokládá prostřednictvím terminálu otázky dvěma systémům a podle odpovědí  se snaží určit, ze kterého systému odpovídá operátor a ze kterého konverzační program. Měří se čas, po který si rozhodčí o programu myslel, že se jedná o operátora. Pokud je tento čas alespoň poloviční oproti času, kdy rozhodčí přiřadil programy správně, je program úspěšný. A.L.I.C.E. byla posuzována deseti rozhodčími a dosáhla nejlepších výsledků v konkurenci dalších tří konverzačních programů.

Eliza – předchůdce A.L.I.C.E.

V roce 1966 vytvořil německý emigrant v USA, matematik a konstruktér prvních počítačů a počítačových sítí Joseph Weizenbaum  první konverzační program jménem ELIZA. Tento program napodoboval rozhovor psychiatra s pacientem (uživatelem) a byl tak reálný, že sekretářky a jiný netechnický personál na MIT (Massachusetts Institute of Technology), kde Weizenbaum v té době pracoval, věřili, že se jedná o skutečného terapeuta a trávili hodiny tím, že programu sdělovali své soukromé problémy a byli přesvědčeni, že jim opravdu rozumí. Ve skutečnosti program jen využíval několik „triků“ k tomu aby na základě vložené věty vygeneroval odpověď. Například transformaci zájmen (já×ty, my×vy atd.) nebo přednastavené věty vytvářející iluzi, že program uživateli rozumí. Pokud například uživatel napíše: „Potřeboval bych X.“, pak program odpoví: „Co by pro Vás znamenalo, kdybyste měl X?“ Věta bude dávat smysl téměř nezávisle na X, mohou to být peníze, voda, jídlo, láska, čas atd. Program byl rovněž schopen rozpoznat určitá klíčová slova, takže pokud se v zadané větě objevilo např. slovo „matka“, program odpověděl: „Povězte mi více o své rodině.“ Pokud program narazil na neznámé slovo, automaticky se vrátil k předchozímu tématu.

Základní princip programu A.L.I.C.E.

A.L.I.C.E. je naprogramována v jazyce AIML, jenž vznikl odvozením od XML. AIML využívá tagů podobně jako např. HTML, ale klade důraz na rychlé vyhledávání a přenášení dat, jednoduché použití a propojení s ostatními značkovacími jazyky (XML, XHTML atd.).

AIML obsahuje 3 základní jednotky:

  1. <category> - kategorie, jednotka znalostí programu
  2. <pattern> - vzorek, slovo nebo celá věta, kterou může uživatel zadat
  3. <template> - odpověď (spojená se vzorkem), kterou dá program uživateli

Zatímco ELIZA byla vybavena jen 200 kategoriemi, „mozek“ A.L.I.C.E. jich má k dispozici přes 40 000. Každá kategorie obsahuje otázku (pattern) spojenou s odpovědí (template). A.L.I.C.E. má kategorie uloženy ve struktuře podobné stromu, na kterou dohlíží objekt zvaný Graphmaster. Ten zaručuje, že správná reakce na vloženou větu, či odpověď na danou otázku bude vyhledána v co nejkratším čase. Pokud tedy uživatel zadá vstupní text, Graphmaster vyhledá kategorie, které se s textem shodují v proměnné <pattern> a poskytne uživateli odpověď uloženou v <template>.

Například následující úsek kódu:

<category>
<pattern>Jak se máš?</pattern>
<template>Díky, dobře.</template>
</category>

lze interpretovat takto: Po vložení otázky: „Jak se máš?“ program odpoví: „Díky, dobře.“

Již krátký rozhovor s programem A.L.I.C.E. může ukázat jeho přednosti, ale i slabiny. Z některých vět je dobře patrno jak program vytváří odpovědi na zadané otázky nebo jak se snaží odpovědi vyhnout odvedením tématu rozhovoru do jiné oblasti.

A.L.I.C.E. je rovněž schopna se „učit“ (vytvářet nové kategorie), ale z důvodu možného získání nepravdivých informací je vše kontrolováno procesem zvaným „Targeting“, který monitoruje veškerou konverzaci a neznámé vstupní vzorky poskytne správci programu. Ten následně zanese do programu vhodné odpovědi, případně vytvoří nové kategorie a tak se A.L.I.C.E. stává den ode dne dokonalejší a „lidštější“.

Krátká ukázka dialogu

Human: Oh, wonderful, I'm clapping my hands to you!
ALICE: Hey. Enough about me, let's talk about my dress.
Human: So what are you wearing right now?
ALICE: At this moment Woe! I am wearing my usual plastic computer wardrobe.
Human: And what number do you have?
ALICE: 7.
Human: Sorry, but I must leave now.
ALICE: Oh. There is no need to apologize. Interesting. Bye.
Human: Have a nice time.
ALICE: It has been good so far.

Odkazy, kde si můžeme program Eliza a A.L.I.C.E. vyzkoušet:

Eliza – http://www.manifestation.com/neurotoys/eliza.php3

A.L.I.C.E. - http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1

Last modified: Sunday, 24 November 2019, 8:36 AM