Hlavní navigace

Zmatení (programovacích) jazyků - Články označené nálepkou Zpracování přirozeného jazyka

Sensus communis

CSR (common sense reasoning) je jednou z nejdůležitějších oblastí umělé inteligence. Jak sám název napovídá, CSR úzce souvisí s formální logikou. Z pohledu implementace vyvstává otázka, jak lze CSR adekvátně reprezentovat a vyhodnocovat. Obecné znalosti (common knowledge) lidé získávají skrz jazyk a není důvod, proč by tomu mělo být v AI jinak. Jazyk je lineární reprezentací informací a jeho formální podobu lze interpretovat v duchu tzv. konjunktivismu, tj…

Kognitivní asistent

Jak se implementuje aplikace à la Siri? Protože právě na podobném projektu pracuji, popíšu (velmi stručně) jednotlivé moduly v pořadí, jak si předávají data. V závorkách uvádím anglické názvy pro snazší vygooglování. 1. Rozpoznání řeči (speech recognition). To si člověk na koleně nenapíše. Pro mobilní aplikace nabízí SDK například Nuance. Někdy je vhodné použít ne nejpravděpodobnější rozpoznaný text, ale celý chart (lattice)…

Ptáci létají

Každé malé dítě ví, že ${title}. Vyjádřeno formálněji, pokud x je pták, x létá. Modus ponens jako vyšité. Problém ovšem nastává, jakmile někdo namítne, že x může být pštros. Nebo tučňák. Nejen v přirozeném jazyce, ale obecně při logickém rozumování o světě velice záhy narazíme na nejasné hranice pojmů, pravidel a ontologie vůbec. Jinými slovy, svět kolem nás nejde dokonale formálně reprezentovat v klasické logice prvního řádu…

Ontologická promiskuita

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ů.
15. 9. 2013 0:53 (aktualizováno) | |

Apple a jazyk

Cocoa v OS X 10.7 (Lion) a iOS 5 obsahuje velice zajímavou třídu: NSLinguisticTagger. Co to je tagger? Agentivní substantivum od to tag, kteréžto sloveso je odvozené od substantiva tag, jež znamená „značka“. V kontextu zpracování přirozeného jazyka můžeme méně krkolomně napsat, že se jedná o komponentu, jež morfologicky analyzuje (a zpravidla zjednoznačňuje) text.

Chart parsing a NP-úplnost

Už jsem zde stručně představil unifikační gramatiky. Také jsem uvedl, že algoritmus pro parsing podle takové gramatiky je NP-úplný (tj. v nejhorším případě zřejmě exponenciální). Typická unifikační gramatika má generativní sílu větší než bezkontextové gramatiky a dokonce větší než mírně kontextové (angl. mildly context-sensitive), tzn. že délka slova při aplikaci pravidel roste více než lineárně (např. exponenciálně).

Statistický strojový překlad

Nejlepší systémy pro automatický překlad jsou založeny na pravidlech (většinou na unifikační gramatice), nicméně vývoj takového systému je značně náročný na čas a především znalosti. Jako alternativa se v posledních dvou dekádách prosazují statistické metody zpracování přirozeného jazyka včetně strojového překladu.

Jak na unifikační gramatiku

Unifikační gramatiky jsou skupinou (většinou) bezkontextových gramatik rozšířených o datové struktury (typicky struktury rysů), nad nimiž je definována operace unifikace. Jejich důležitou vlastností je, že byť obsahují pouze bezkontextová pravidla (typu X→α), jejich formální síla je větší než u běžných bezkontextových gramatik. Jinými slovy, generují i jazyky, které nejsou bezkontextové (to ovšem nutně neznamená, že generují všechny kontextové jazyky).
28. 2. 2012 9:50 (aktualizováno) |

Přirozený jazyk a bezkontextová syntax

Zpracování přirozeného jazyka patří k nejsložitějším algoritmickým úlohám. V přirozených jazycích se střetává tendence vyjádřit co nejvíce co nejpřesněji s ekonomickým principem, tedy tendencí slovní vyjádření redukovat (neformálně můžeme mluvit o lenosti). Lidské jazyky jsou proto (narozdíl od formálních) víceznačné na všech úrovních, které jazykověda rozlišuje (tvarosloví, syntax, sémantika), čehož důsledkem jsou problémy s formálním popisem jazyka a jeho strojovým zpracováním.