UI a zpracování přirozeného jazyka
Je bohatý jazyk charakteristickým znakem lidského uvažování? Např. při Turingůvě testu, který má zjistit, zda stoj je inteligentní, se neobejdeme bez použití přirozeného jazyka. Loebner Prize (založena 1991): http://www.loebner.net/Prizef/loebner-prize.html $ 100.000 pro autora prvního programu, který úspěšně projde Turingovým testem, $ 2000 pro nejlepší přihlášený program každý rok, Říjen 2003: vítěz Juergen Pirner (Hamburg, Germany) Primáti běžně používají okolo 100 “slov”. Gorila Koko dokonce přes 1000 slov, mezi nimiž jsou i abstraktní pojmy. Šimpanz je schopen porozumět větě: ”přines míč, který je venku”, “přines červený míč, který je za modrou stěnou”. Zvíře může i “lhát” – vydá skřek, kterým v případě potřeby zmate protivníka. Je však otázkou, zda psychologové do pozorování nepromítají příliš mnoho vlastních znalostí.
Jazyk a myšlení spolu bezprostředně souvisejí. Co bylo dřív? Jsou lidé chytří, protože mají k myšlení dobrý nastroj (jazyk)? Vyvinul se jazyk u lidí proto, že odpovídal potřebám jejich bystrého úsudku? Jerison (1991): Vývoj lidského jazyka je důsledkem pořeby lidí vytvářet co nejpřesnější kogntivní mapy svého okolí. Šelmy k tomu účelu používají čich – ten však u lidí není dostatečně vyvinutý. Pokusy realizovat dialogové programy: · ELIZA (Joseph Weizenbaum, MIT 1965): www.rur.com/perlcode/doctor. Jeden z nejznámějších dialogových programů simulující roli psychoterapeuta. Pracuje na principu srovnávání vzorů. · JULIA (Mauldin 1994) · ALICE (Chatterbot) http://www.alicebot.org/ Program, který byl nejlepší v soutěži o Loebner Prize 2000 i 2001. Soutěž však zatím nikdo nevyhrál. C.L.A.U.D.I.O. = Cybernetic Lifelike Android Used for Dialogue Interaction and Observation.
Vodka is good but meat is rotten Problémy strojového překladu Spirit is high but flesh is weak. A->R R->A Vodka is good but meat is rotten
Strojový překlad dnes Spirit is high but flesh is weak. 精神是高的但骨肉是微弱的。 The spirit is high but the flesh and blood is weak. 这种精神是高但骨肉和血液微弱。 http://www.altavista.com/help/free/free_searchbox_transl
Počítače a přirozený jazyk Jak si člověk zapamatovává informace sdělované jazykem? Doslovně nebo jinak? Vnitřní reprezentace eliminuje víceznačnost slovního vyjadření, která může být: Referenční: “Ta přednáška bude pozítří.” – jeden z hlavních problémů NLP (anaphora). „Při procházce se psem se k němu zakutálel míč. Odkopl ho.“ Slovní:“Rád platím za vtipného člověka.” „Předložená diplomová práce nemá žádný obsah.“ Strukturální: “Všichni kandidáti přednesou své volební programy.” versus “Volební programy budou předneseny všemi kandidáty.”
Reprezentace jazyka X implicitní znalosti K úsporám paměti i vyjadřování vede použití různých technik odvozování: Dedukce. Spěchám (a proto poletím letadlem, nesním snídani ..) Abdukce. „Silnice je mokrá“, „ ... pode dveřmi mok se jeví krvavý ...“, „Zamknu, aby zůstalo otevřeno!“ Indukce. “Každý, kdo se motá, je podroušený.” Problémy jazyka lze chápat i jako jeho přednosti: Velmi rozmanitá skutečnost (nikoliv omezená a konečná) se popisuje pomocí “konečného” souboru symbolů, Použitý jazyk je dynamický - mění se a vyvíjí (např. vznik nových slov), Jazyk dává možnost pracovat s implicitními informacemi, a tak sdělení má pro různé osoby rozdílý obsah: Kdo hodně ví, může si mnoho domyslet.
Implicitní znalosti a chápání cizího jazyka Implicitní znalosti jsou zásadní pro poroumění cizímu jazyku: English gentleman claims: “Of course, you cannot have stable government if you do not raise horses!” Sandy was only five feet tall. He reckoned it was due to his diet as a child - condensed milk and shortbread... Dotaz: “Co je sen průměrného Čecha?” Odpověď: “Mít pokoj!”
Problémy NLP? Porozumění je proces úpravy vstupních informací do tvaru, který je možno lépe využít pro další zpracování. Záleží tedy na kontextu i na cíli! Tatáž věta může mít mnoho významů. Proto je porozumění v NLP tak těžké!!! Time flies like an arow. Úspěch při NLP předpokládá použití bohatého kontextu, prostor pro experimentální prověření některých konceptů kognitivní psychologie Jazyk má 2 složky: syntaxe jazyka cílová representace (sémantika)
Tvorba vnitřní reprezentace Akusticko-fonetická analýza převádí sluchový vjem do tvaru řetězce (psaných) symbolů abecedy. Použité postupy: rozpoznávání. Morfologicko-syntaktická analýza ověřuje, že jde o korektně utvořenou větu jazyka. Snaha“eliminovat” věty, kterými jistě nemá smysl se zabývat! Sémantická analýza – hledání významu, např. doplnění vazeb mezi uvažovanými objekty a použitými zájmeny „Míč letěl na psa. Nakopl ho.“ přiřazení (zobrazení) mezi nalezenými syntaktickými strukturami a objekty v uvažovaném prostředí (případně objekty v odp. bázi znalostí) výběr smysluplných korektně složených struktur z individuálních slov Zasazení do širšího kontextu (discourse integration) Četl jsem o tom finačním skandále v Lidových novinách. „Jsem slušná řidička – každého pozdravím.“ Pragmatická analýza. Můžete mi podat sůl?
Natural Language Processing (NLP) Problematika zpracování přirozeného jazyka patří k nejobtížnějším úlohám UI. Většina kroků má nejednoznačný výsledek – lze je chápat jako “filtrační mechanizmus”. Při hledání jednoznačné interpretace je třeba časté navracení. Proto se používá paralelní zpracování dílčích kroků a jednotlivé procesy mezi sebou komunikují např. prostřednictvím metody “tabule”, která byla původně navržena právě pro zpracování přirozeného jazyka (HEARSAY, Lesser a kol. 1975). Natural Language Processing (NLP) se soustředí na problémy zpracování psaného textu
Tvorba vnitřní reprezentace Akusticko-fonetická analýza převádí sluchový vjem do tvaru řetězce (psaných) symbolů abecedy. Použité postupy: rozpoznávání. Jaké problémy je třeba řešit? Rozlišení hlásek: Mluvil o tom kladně X Mluvil o tom chladně Vliv pomlk: Jedl u Žofky. X Jedl užovky. Vliv intonace: „Opravdu?“ X „Opravdu!“ Morfologicko-syntaktická analýza hledá základní tvar slov a formální vazby mezi slovy ve větě. Cílem je transformovat prostý seznam slov do hierarchické struktury, která svazuje jeho dílčí části - parsing. Tato struktura je navžená tak, že její uzly odpovídají významovým jednotkám pro sém. analýzu. Význam a použití? Odlišení správně utvořených vět, transformace vět, podpora sémantické intertretace, upozorění na mnohoznačné věty: Time flies like an arrow. Prodal kamaradovi (y) boty. Udeřil otce, protože moc pil.
Definice gramatiky jako nástroje pro syntaktickou analýzu Značení: Nechť A je množina symbolů. A* označuje množinu všech konečných slov složených pouze ze symbolů z A. Gramatika G je popsána čtveřicí < N , T , P , s > , kde N neterminální symboly, T terminální symboly s startovací symbol (z množiny N ) P přepisovací pravidla, pro která je splněna podmínka P ( N U T )* x N x ( N U T )* --> ( N U T )* označovaná dále jako ntl Jazyk LG generovaný gramatikou G tvoří všechna slova z T*, která lze získat z počátečního symbolu s postupnou aplikací přepisovacích pravidel P, t.j. LG = {ω T* : S -->* ω }
Jazyky a gramatiky Chomského klasifikace gramatik podle tvaru přepisovacích pravidel Značení: Nechť α, β jsou libovolná slova z (N U T)* a nechť γ je neprázdné slovo z (N U T)* G. typu 0: Nejobecnější typ, jehož přepisovací pravidla musí splňovat pouze podmínku ntl. Jazyky generované gramatikami typu 0 jsou právě jazyky rozpoznávané Turingovými stroji. G. typu 1: Kontextové gramatiky. Libovolné přepisovací pravidlo musí být tvaru α X β --> α γ β, kde X je nějaký symbol z N. G. typu 2: Bezkontextové gramatiky. Libovolné přepisovací pravidlo musí být tvaru X --> α , kde X je nějaký symbol z N. G. typu 3: Regulární gramatiky. Libovolné přepisovací pravidlo musí být tvaru X --> aY nebo X --> a, kde X, Y jsou nějaké symboly z N a a je nějaký symbol z T.
G je popsána čtveřicí < N={S} , T={a,b} , P , s >, kde P je Příklad 1 G je popsána čtveřicí < N={S} , T={a,b} , P , s >, kde P je S --> a S a S --> b S b S --> a a S --> bb Tato gramatika generuje palindromy (slova, která se čtou stejně odleva i odprava) Příklad 2 G je popsána čtveřicí < N={S} , T={a,b} , P , s >, kde P je S --> a S b S --> a b Tato gramatika generuje slova an bn , kde n je přirozené číslo
NLP a použití gramatik Startovní symbol sentence, terminály v závorkách: [the] sentence --> noun_phrase, verb_phrase. noun_phrase --> proper_noun. noun_phrase --> article,adjective,noun. noun_phrase --> article,noun. verb_phrase --> itransitive_verb. verb_phrase --> transitive_verb,noun_phrase. article --> [the]. adjective --> [lazy];[rapid]. proper_noun --> [achilles]. noun --> [turtle];[president];[queen];[cat];[fish]. itransitive_verb --> [sleeps]. transitive_verb --> [beats]. [achilles,sleeps] achilles, beats, the, lazy, turtle].
Jak řešit shodu přísudku s podmětem? sentence --> noun_phrase_singular, verb_phrase_singular. sentence --> noun_phrase_plural, verb_phrase_plural. B) sentence --> noun_phrase(cislo), verb_phrase(cislo). DCG gramatiky dovolují řešení B) s novým argumentem: je mnohem elegantnější a umožňuje další modifikaci!!!
Gramatika pro přirozený jazyk Základní vlastnosti přirozeného jazyka lze popsat bezkontextovou gramatikou. Pro zajištění některých vazeb uvnitř věty (např. shoda přísudku s podmětem) se používají DCG gramatiky (Definite Clause Grammar – viz předchozí přednáška o Prologu). Typ DCG se chápe jako 1,5 (poněkud obecnější typ než čisté regulární, ale slabší než bezkontextový). Postup syntaktické analýzy Analýza shora-dolů a zdola nahoru Srovnání, výhody a nevýhody obou přístupů Efektivní analýza Použití „chart parser“
Sémantická interpretace přirozeného jayzka Hledání významu věty - Kompoziční sémantika: „Člověk může chápat význam libovolného počtu vět. Postupuje tak, že nejprve provede syntaktickou analýzu, a pak vytváří význam jako složení (kompozici) významů jednotlivých složek.“ Jednotlivé kroky kompoziční sémantiky: · Význam slov · Význam složených výrazů Výsledek je silně nejednoznačný
Sémantická interpretace přirozeného jayzka Význam slov: nalezení slov ve slovníku - pozor na nejednoznačnost např. významy slova "mean": znamenat, hanebný, lakomý průměr (ve statistice) Který význam vybrat? Nástroje pro lexikální disambiguaci používají např. doplnění významových značek k podstatným jménům a preferneční gramatiky: Významové značky (semantic markers) ke slovům např. "diamond" druh drahokamu PŘEDMĚT hřiště na baseball MÍSTO geometrický tvar ABSTRAKTNÍ-OBJEKT ·Preferenční gramatiky vyjadřují preferované vlastnosti u slovních vazeb (např. životný podmět). Problém? Pro úplnou disambiguaci by bylo třeba zavést příliš mnoho značek. ("I saw diamond shimmering across the room.")
Sémantická interpretace přirozeného jayzka Obecně postup hledání významu nemůže být mechanický. Uvažujme algoritmus A1 pro interpretaci „a toy elephant“ : 1. Najdi příklad objektu elephant, t.j. inst (X, elephant). 2. Přidej informace o vlastnostech objektu X nalezeného v předchozím kroku (velikost, tvar, ...) 3. Odstraň inst (X, elephant). 4. Přidej inst (X, toy) a doplň vlastnosti charakteristické pro toy, např. „unese to dítě“. Jaký by byl výsledek aplikace A1 pro „a toy shop“? A1 není vhodný pro interpretci „a toy shop“ Postup: Gramatiku lze pomocí agrumentů u neterminálních symbolů rozšířit tak, aby bylo možné význam skládat z dílčích částí věty – kompoziční sémantika.