ELIZA

Z WikiKnihovna
Přejít na: navigace, hledání

Autor: Libor Juhaňák

Klíčová slova: chatbot, přirozený jazyk, umělá inteligence

Synonyma: ---

Související pojmy:

nadřazené - chatbots, chat bots, chatterbots, zpracování přirozeného jazyka, umělá inteligence
podřazené - ---

Obecná charakteristika

ELIZA je jedním z prvních počítačových programů, které umožňovaly komunikaci mezi člověkem a počítačem v přirozeném jazyce. Patří do skupiny programů označovaných anglickým termínem „chatbots“ či „chatterbots“. V češtině se pro označení takového programu občas používá neformální výraz „kecálek“.

Program ELIZA napsal Joseph Weizenbaum a roku 1966 jej představil veřejnosti [4]. Primárním smyslem programu přitom nebylo umožnění komunikace mezi počítačem a člověkem v přirozeném jazyce. Mnohem spíše měl program sloužit jako demonstrace toho, jak lze za pomoci velice jednoduchých pravidel simulovat „smysluplnou“ komunikaci. Pro zajímavost lze dodat, že jméno ELIZA bylo zvoleno podle postavy Elizy Doolittlové ze hry Pygmalion od George Bernarda Shawa.

Program byl koncipován jako komunikace mezi psychoterapeutem a pacientem, kdy roli psychoterapeuta měla ELIZA a roli pacienta uživatel. V takovém případě je totiž značně omezeno spektrum možných témat ke komunikaci, což samozřejmě usnadňuje počítačovému programu analýzu vstupu (tj. toho, co napsal uživatel/člověk). Zároveň je tímto způsobem jednodušeji udržována forma dialogu, kdy se program (jako psychoterapeut) ptá a uživatel (jako pacient) odpovídá. Díky zaměření na oblast psychoterapie a způsobu jak ELIZA funguje, byla často chápána jako parodie na rogersovskou (či rogeriánsou) psychoterapii.

Historické a filosofické souvislosti

Program ELIZA má své místo i v kontextu filosofie mysli a vědomí. Občas bývá ELIZA vykládána jako reakce na Turingův test, se kterým přišel Alan Turing v roce 1950 [3]. Ten tvrdil, že jakmile nedokážeme poznat, zda komunikujeme s člověkem nebo s počítačem, pak můžeme považovat počítač za inteligentní.

ELIZA však ukázala, že smysluplnou komunikaci lze simulovat i za pomoci velice prostého programu, který by stěží šlo nazývat inteligentním. Navíc bylo zřejmé, že ELIZA nezná význam slov, které používá; neví „o čem“ je rozhovor, kterého se účastní. Pouze na základě předem definovaných pravidel pracuje s textovými řetězci.

V roce 1980 se pak John Searle v tzv. argumentu čínského pokoje [1] snaží ukázat, že žádný stroj fungující pouze na principu manipulace se symboly (tj. stejně jako ELIZA) nebude nikdy schopen rozumět lidskému jazyku.

Fungování programu ELIZA

Princip programu ELIZA je poměrně jednoduchý. V obecné rovině funguje program tak, že vezme předchozí vstup (tj. poslední větu, kterou napsal uživatel) a nahrazením určitých částí tento vstup přeformuje do výstupu (nejčastěji v podobě otázky), který posune rozhovor o krok dále.

Konkrétně lze fungování programu ukázat následovně:

  • V prvním kroku je připravena nějaké úvodní věta (případně několik vět, z nichž se jedna náhodně vybere). Klasickým příkladem je: „Jak Vám mohu pomoci?“, nebo: „Co Vás trápí?“.
  • V dalším kroku uživatel něco napíše, např.: „V poslední době jsem často v depresi a život mě nebaví.“
  • Poté program prohledá výše uvedený vstup, zda se v něm nevyskytuje jeden z předem definovaných řetězců znaků. Tyto řetězce jsou obvykle slovesa v první osobě jednotného čísla (jako např.: jsem, mám, myslím, atd.).
  • Jestliže se ve vstupu nachází nějaký z definovaných řetězců (tj. sloves v první osobě), rozdělí se vstup na dvě části. První část je vše, co se vyskytuje před vyhledaným řetězcem, druhá část pak vše, co je za ním (v našem případě je tedy první část: „V poslední době“. Druhý část je: „často v depresi a život mě nebaví“). Poté je první část spolu s vyhledaným řetězcem odstraněna a nahrazena jedním z předdefinovaných začátků vět, které souvisejí s daným řetězcem (v našem případě slovesem „jsem“). Tyto začátky vět mohou mít např. takovou podobu: „Proč si myslíte, že jste“, či: „Máte nějaký důvod, proč jste“. Náhodně vybraný začátek je pak připojen k druhé části původního vstupu, ve které jsou mezitím ošetřena zájmena („mě“ je nahrazeno zájmenem „Vás“ apod.). Výsledná odpověď pák vypadá následovně: „Proč si myslíte, že jste často v depresi a život vás nebaví?“. Tímto způsobem pak program pokračuje neustále při každém dalším vstupu.
  • Pro případ kdy není nalezen žádný z potřebných řetězců (tj. sloves v první osobě), má program definovaných několik „všeobecných“ odpovědí, z nichž jednu náhodně vybere. Takovou obecnou větou může být např.: „Jak to myslíte?“, nebo: „Řekněte mi o tom víc.“.

Program lze samozřejmě dále „vylepšovat“, aby se více podobal lidské řeči. Jednou z častých technik je zahrnutí tabulky synonym. Program pak čas od času (náhodně) nahradí nějaké slovo ve vstupu jeho synonymem.

ELIZA na internetu

Klasickou verzi programu ELIZA najdete např. na následujících adresách:

Použitá literatura

  1. SEARLE, John. Minds, Brains and Programs. Behavioral and Brain Sciences, 1980, Vol. 3, No. 3, s. 417–457.
  2. SHIEBER, M. Stuart. Lessons from a Restricted Turing Test. Communications of the ACM, 1994, vol. 37, no. 6, s. 70-78.
  3. TURING, Alan. Computing Machinery and Intelligence. Mind, 1950, Vol. 59, no. 236, s. 433–460.
  4. WEIZENBAUM, Joseph. ELIZA – A computer program for the study of natural language communication between man and machine. Communications of the ACM, 1966, vol. 9, no. 1, s. 36-45.