# jmenné skupiny from rules import Rules # TODO: rozlišovat mezi „preterminálními“ NP a takovými, které už třeba # obsahují ukazovací zájmeno, aby se jich nedalo vložit víc (restriktivní # gramatika) # → core_nominals nominals = Rules( # TODO: nedokonalá predikce (musí kontrolovat atributy) # '(NP c=4) → (k=1 c=4)', # pro zajímavost klidně zkopírovat i k=1 jako slovní zařazení hlavy # TODO: lepší je přímo v pravidlech označovat hlavu, jak jsem už chtěl '(NP g n c) → (k=1 g n c)', # TODO: ADJP? (hodně rychlé) auto '(NP g n c) → (k=2 g n c dep=attribute) (NP g n c)', # dvě možnosti – ale omezit rekurzi… '(NP g n c) → (k=4 g n c) (NP g n c)', # pozor, „to“ má myslím menší požadavky na vztažnou větu (na rozdíl od # „ten“, „ta“ atd. '(NP g n c) → (k=3 g n c lemma="ten|všechen|tenhle|někdo|něco|nikdo|nic")', # TODO: a co pád toho „který“? '(NP g n c z) → (NP g n c z) (ATTR_CLAUSE g n)', # On je pytel blech. '(NP g n c) → (k=3 lemma=on g n c)', # on/ona/ono – ale pozor, ?blbý on '(NP g n c) → (NP g n c) (NP c=2)', # pytel blech # Mařenka s Jeníčkem (si pěkně hráli) '(NP g n c) → (NP g n c) (word=s) (NP c=7)', # Utkání ve skupinách (mají tyto další termíny) '(NP g n c) → (NP g n c) (PP)', # rok 1994 '(NP g n c) → (lemma=rok g n c) (k=4)', # 117 milionů („několik“ má rod i pád, „dvě“ i číslo) '(NP g n c) → (k=4 g n c) (NP c=2 n=P)', '(NP g n c) → (k=4 g n c)', # (strašně) hladoví '(ADJP g n c) → (k=2 g n c)', '(ADJP g n c) → (k=6) (ADJP g n c)', # i/nejen potřebné informace '(NP g n c) → (lemma="i|jen|nejen|vůbec") (NP g n c)', # tento (a ostatní ukazovací zájmena) úřad '(NP g n c) → (k=3 x=D g n c) (NP g n c)', # (v) (ně)jakém autě (tázací a vztažné jsou homonymní, nevěřím desambu) '(NP g n c) → (k=3 y=[IQR] g n c) (NP g n c)', # jeho vliv '(NP g n c) → (k=3 x=O g n c) (NP g n c)', # každý fond '(NP g n c) → (k=3 x=T g n c) (NP g n c)', # (po) 1. dubnu '(NP g n c) → (word="\d+\.") (k=1 g n c)', # více/méně jak/než stovky turistů '(NP g n c) → (k=6 d=2) (word=jak|než) (NP g n c)', # horší než hrozný '(NP g n c) → (k=6 d=2) (word=jak|než) (ADJP g n c)', # noha, kam (do níž) mu vystřelovaly bolesti # „bolest způsobující noha“ '(NP g n c) → (NP g n c) (DEP_CLAUSE dep=attribute)', # já, ty… # TODO: jenže i „se“, přestože to má y=F # TODO: pomohlo by y=[^F], nebo by se to rovnou zahodilo? # TODO: nene, asi to chce !y nebo y!=F # '(NP n c p) → (k=3 n c p x=P)', ) rules = nominals