Bezkontextové gramatiky a čeština

Babelfish

Bezkontextové gramatiky a čeština
« kdy: 30. 03. 2017, 14:21:26 »
Zdravím, trochu si hraju s CF gramatikami a chápu anglické příklady, kde je struktura věty NP+VP. Jak se ale něco takového použije pro češtinu, když má tak volný slovosled? Připadá mi, že v češtině je pravidlo pro S něco jako S->X...X, kde X může být NP, VP, PP, vedlejší S atd. Na druhou stranu existují CF gramatiky třeba pro němčinu, takže nějak to jít musí (možná nějakou fintou), jenže tenhle obor moc neznám a ani nevím, co zadat do Googlu, abych našel nějaké řešení.


Babelfish

Re:Bezkontextové gramatiky a čeština
« Odpověď #1 kdy: 30. 03. 2017, 17:20:06 »
P.S. Když už jsem u kladení otázek, jaký je vztah mezi CF a závislostní gramatikou? (Narazil jsem na to při googlení k původnímu tématu, ale dost v tom tápu.)

Ivan Nový

Re:Bezkontextové gramatiky a čeština
« Odpověď #2 kdy: 30. 03. 2017, 18:04:18 »

Ivan Nový

Re:Bezkontextové gramatiky a čeština
« Odpověď #3 kdy: 30. 03. 2017, 18:14:18 »
Jinak jste narazil na zajímavý problém a důvod, proč IT v podobě jaké ho známe dnes, mohlo vzniknout jen v anglosaském prostředí. Protože angličtina je primitivní analytický jazyk vhodný k zjednodušení pro strojové zpracování.

Ivan Nový

Re:Bezkontextové gramatiky a čeština
« Odpověď #4 kdy: 30. 03. 2017, 18:21:12 »
Ke druhé otázce, na základě korpusu (zjednodušeně slovníku slovních tvarů, s přiřazeným významem) zjistíte, co které slovo ve větě může znamenat a na základě jeho možných významů přeuspořádáte větu, podle závislostních pravidel, která vám dají možnou interpretaci věty, závislostní strom, můžete linearizovat a na něj aplikovat už bezkontextovou gramatiku.


Ivan Nový

Re:Bezkontextové gramatiky a čeština
« Odpověď #5 kdy: 30. 03. 2017, 18:25:19 »
Zde máte na hraní PEG parser napsaný v jazyce GO, existují i pro Python, například zde https://fdik.org/pyPEG/ a nebo jiný zde https://github.com/erikrose/parsimonious

Ivan Nový

Re:Bezkontextové gramatiky a čeština
« Odpověď #6 kdy: 30. 03. 2017, 18:29:42 »
A nebo jiný přístup pomocí stochastické gramatiky https://en.wikipedia.org/wiki/Stochastic_grammar

Ivan Nový

Re:Bezkontextové gramatiky a čeština
« Odpověď #7 kdy: 30. 03. 2017, 18:38:20 »
A slíbený PEG parser napsaný v GO https://github.com/pointlander/peg

Polymath

Re:Bezkontextové gramatiky a čeština
« Odpověď #8 kdy: 30. 03. 2017, 18:56:11 »
Zdravím, trochu si hraju s CF gramatikami a chápu anglické příklady, kde je struktura věty NP+VP. Jak se ale něco takového použije pro češtinu, když má tak volný slovosled? Připadá mi, že v češtině je pravidlo pro S něco jako S->X...X, kde X může být NP, VP, PP, vedlejší S atd. Na druhou stranu existují CF gramatiky třeba pro němčinu, takže nějak to jít musí (možná nějakou fintou), jenže tenhle obor moc neznám a ani nevím, co zadat do Googlu, abych našel nějaké řešení.
Tak jasně, pro češtinu a jiné nekonfigurační jazyky je to pravidlo S->X+, protože v češtině se gramatické funkce vyjadřují pomocí tvarosloví. A to je ještě v klidu, jsou jazyky s volným slovosledem, které pády nemají, tam je formální gramatika ještě zajímavější. Prostě jazyk je sviňa, ne nadarmo Chomsky říkával: Let's take any language, say, English. Jinak o gramatikalitě rozhoduje v případě nekonfiguračních jazyků Knuth-Bendixův algoritmus.