SHRDLU je raný program porozumění přirozenému jazyku vyvinutý Terrym Winogradem na MIT v letech 1968-1970 . Byl napsán v Micro Planner a Lisp na počítači DEC PDP-6 a používal grafický terminál DEC . Následně byla v laboratoři počítačové grafiky na University of Utah představena možnost plnohodnotného trojrozměrného vykreslování „světa“ SHRDLU .
Název SHRDLU je odvozen od ETAOIN SHRDLU - uspořádání abecedních klíčů na linotypech v souladu s poklesem četnosti výskytu písmen v angličtině . Etaoin Shrdlu je navíc jméno vnímajícího linotypu ve stejnojmenném fantasy příběhu [1] od Fredericka Browna .
Uživatel komunikoval s programem SHRDLU pomocí běžných anglických jazykových výrazů. Na jeho příkaz SHRDLU pohyboval jednoduchými předměty ve zjednodušeném „blokovém světě“: kostkami , kužely , koulemi a tak dále. Jedinečným bylo SHRDLU spojení čtyř jednoduchých myšlenek, jejichž vzájemné působení učinilo zdání „pochopení“ uživatelským programem mnohem přesvědčivější.
Jednou z těchto myšlenek je, že svět SHRDLU byl tak jednoduchý, že kompletní sadu objektů a míst bylo možné popsat snad ne více než padesáti různými slovy – podstatnými jmény jako „blok“ nebo „kužel“, slovesy jako „umístit na " nebo "přesunout do" a přídavná jména jako "velký" nebo "modrý". Všechny možné kombinace těchto základních jazykových bloků byly elementární a program do jisté míry úspěšně pochopil, co měl uživatel na mysli.
SHRDLU také obsahovalo nejjednodušší paměť pro udržování kontextu komunikace. Osoba může požádat SHRDLU, aby „Nasadil zelený kužel na červený blok“ a poté „sundal kužel“. Ten „kužel“, o kterém se mluvilo o něco dříve, bude odstraněn. Pokud jsou uvedena další přídavná jména, ve většině případů bude SHRDLU schopno vyhledat starší prohlášení, aby nalezlo správný kontext. Osoba může také klást otázky týkající se historie akcí - například se může zeptat: "Zvedl jsi něco, než jsi zvedl kužel?"
Vedlejším efektem této paměti a všech původních pravidel, se kterými SHRDLU dodávalo, je schopnost programu odpovídat na otázky o tom, co bylo a co nebylo na světě možné. Například SHRDLU by mohl zjistit, že bloky lze skládat na sebe, když se podívá na příklady, a také zdůvodnit, že trojúhelníky nelze skládat, když to zkusila sama. „Svět“ obsahoval nejjednodušší fyziku , takže bloky mohly padat nebo stát bez ohledu na jazykový analyzátor .
Nakonec si SHRDLU mohl pamatovat názvy objektů a umístění těchto objektů. Člověk by například mohl říci: „Věž je malý trojúhelník nad vysokým obdélníkem,“ a pak by SHRDLU mohla odpovídat na otázky o věžích ve svém blokovém světě a také vytvářet nové.
Zde je příklad převzatý ze slavného dema SHRDLU:
Osoba: Seberte velký červený blok.
Počítač: OK.
Osoba: Uchopte pyramidu.
Počítač: Nerozumím, kterou pyramidu máte na mysli.
Osoba (mění názor): Najděte blok, který je vyšší než ten, který držíte, a vložte jej do krabice.
Počítač: Předpokládám, že tím „to“ myslíte blok, který je vyšší než ten, který držím.
Počítač: OK.
Osoba: Co obsahuje krabice?
Počítač: Modrá pyramida a modrý blok.
Osoba: Čím je pyramida podporována?
Počítač: Krabice.
Osoba: Kolik bloků není v krabici?
Počítač: Čtyři z nich.
Osoba: Je alespoň jeden z nich užší než ten, který jsem ti řekl, abys sebral?
Počítač: Ano, červená kostka.
atd.
Překlad příkladu do ruštiny:
Člověk: Seberte velký červený blok.
Počítač: OK.
Muž: Vezměte pyramidu.
Počítač: Nerozumím, kterou pyramidu máte na mysli.
Člověk (po změně názoru): Najděte blok, který je vyšší než ten, který držíte, a vložte jej do krabice.
Počítač: Předpokládám, že tím "to" myslíš blok, který je vyšší než ten, který držím.
Počítač: OK.
Osoba: Co je v krabici?
Počítač: Modrá pyramida a modrý blok.
Muž: Co podporuje pyramidu?
Počítač: Zásuvka.
Osoba: Kolik bloků není v krabici?
Počítač: Čtyři.
Člověk: Je nějaký užší než ten, který jsem ti řekl, abys ho vzal?
Počítač: Ano, červená kostka.
atd.
Výsledkem byla nesmírně úspěšná demonstrace umělé inteligence . To poskytlo ostatním výzkumníkům AI příliš optimistický výhled, který však brzy vyprchal, protože pozdější systémy se snažily vyrovnat se s realistickými situacemi, které odhalily nejistotu a složitost skutečného světa. Pokračující práce ve směru objeveném SHRDLU měla tendenci zvyšovat množství informací, které program zpracovával, což vedlo k práci, jako je Cyc .
Poté, co se to stalo, se Winograd distancoval od SHRDLU a AI, protože věřil, že SHRDLU je slepá ulička výzkumu. Odstoupil od původních, mechanisticko-racionálních představ a obrátil se k filozofii , hermeneutice a fenomenologii Heideggera [2] , načež přešel k problémům rozhraní člověk-stroj [3] .