Logické aspekty jazyka zkoumá věda od dob Aristotela. Rád bych zde popsal několik všeobecně používaných způsobů formalizované logické reprezentace. Příklady jsou z přirozeného jazyka, nicméně formální logika má široké použití v informatice, kromě logického programování se například používá rovnostní logika pro ověřování správnosti programů a rezoluční kalkulus pro kontrolu hardwarových návrhů.
NB: O všech zde zmíněných logicích existuje článek na Wikipedii včetně seznamu nejdůležitějších publikací.
Větu John runs můžeme intuitivně reprezentovat jako run(John). Podobně z John fell dostaneme fall(John) (k vyjádření gramatického času někdy jindy).
Jak se zachází s příslovci? Richard Montague zavedl pro John runs quickly formuli quickly(run)(John). Podobně pro John almost fell dostaneme almost(fall)(John).
Je vhodné si uvědomit, že uvedené výrazy se liší svou interpretací. Zatímco z quickly(run)(x) vyplývá run(x), pro almost to neplatí. Predikát quickly je tzv. transparentní.
Montagueova sémantika má přes svou veškerou eleganci jednu podstatnou vadu: používá logiku vyššího řádu. Ta je nejen méně vhodná pro implementaci, ale dokonce je (kromě nerozhodnutelnosti) neúplná.
Řešením je tzv. reifikace. Některé predikace se považují za individua, což znamená, že výsledná reprezentace spadá pod logiku prvního řádu. Donald Davidson používá pro výsledek reifikace slovo událost (jiné teorie mluví o situacích nebo eventualitách). Pro Davidsona má John runs logickou reprezentaci ∃e.run(e,John) a John runs quickly ∃e.run(e,John) ⋀ quickly(e). e představuje událost (Johnův běh) a quickly je unární predikát popisující vlastnosti událostí. S almost by výraz vypadal stejně.
Z Davidsona vychází Terence Parsons. Také používá události, ale jejich argumenty vyjadřuje samostatnými predikáty: ∃e.run(e) ⋀ actor(e,John), tj. existuje událost e, jež je během a jejímž konatelem je John. Tento přístup se nazývá „neodavidsonovský“.
Nejdále zašel Jerry Hobbs. Vychází z Davidsona, ale reifikuje všechny predikace (odtud jeho pojmenování „ontologická promiskuita“, jež bylo inspirací pro název tohoto článku). V jeho pojetí sestává logická reprezentace z konjunkce atomických formulí a vše, včetně např. negace nebo kvantifikace, se vyjadřuje zvláštními predikáty. Např. John doesn't run bude ∃e1,e2.not'(e1,e2)⋀run'(e2,John) (' je tzv. nominalizátor).
Hobbsův přístup má výhodu ve formální jednoduchosti. Parsonsův způsob reprezentace je naopak výhodnější z hlediska algoritmické konstrukce logických forem. Pokud argumenty vyjádříme zvlášť, je snazší vytvořit logickou reprezentaci inkrementálně během parsingu (narozdíl od lambda-kalkulu nezáleží na pořadí přidávání argumentů). Nejvhodnější reprezentací pro John doesn't run je tedy ∃e1,e2.not'(e1,e2) ⋀ run''(e2) ⋀ actor(e2,John).
Jako cvičení doporučuji zamyslet se, jak by mohla vypadat logická reprezentace pro české věty Po příchodu domů zapnula televizi, Když přišla domů, zapnula televizi a Přišedši domů zapnula televizi.
Přestože programuji (za peníze) od 14 let a des mi táhne na 40 jsem nepochopil z této teorie její praktický význam.
Mám taktéž pocit hraničící s jistotou, že se autor v závě článku dopustil chyby když uvádí :
Nejvhodnější reprezentací pro John doesn't run je tedy ∃e1,e2.not'(e1,e2) ⋀ run''(e2) ⋀ actor(e2,John).
protože je zřejmé že nejvhodnější reprezentací pro John doesn't run je "Honza neběží"
Rád bych věděl na kterých projektech byla již Onkologická promiskuita použita. Není to náhodou v Registru vozidel a na CSSZ ? Neboli je to k něčemu dobré ? Je vůbec Přišedši české slovo ?
@1 Ne každý pochopí, ale kdo chce, najde si další informace.
"Přišedši" je přechodník minulý. Rodilí Češi se o nich učí ve škole.
Uvedenou reprezentaci používá např. DARPA nebo IBM v projektech umělé inteligence (pokud vím, poprvé byla použita v projektu Fastus na SRI International). Poněkud "informatičtější" je použití v projektech sémantického webu, kde se používá pro reprezentaci ontologií a vyvozování (dotazy) metodou tableau. A v neposlední řadě byla použita (v poněkud modifikované formě) v Powersetu (i když ten ji prý koupil od Xerox PARC). Jestli ji tam po pohlcení Microsoftem ještě používají, nevím, ale vzhledem k výsledkům z Bingu asi ne.
Pěkné, ale bez článku pana Hobbse (http://www.isi.edu/~hobbs/op-acl85.pdf) bych opravdu nepochopil nic.
Ono to vypadá všechno jednoduše, když se tématu člověk dlouhodobě věnuje a má načteno...
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 36 201×
Přečteno 25 361×
Přečteno 23 795×
Přečteno 20 177×
Přečteno 17 874×