~~NOTOC~~ v rámečku jsou moduly, které se na fázi podílejí všechny fáze pracují na ''$sentRoot'' - potomek technického kořene (až na finální sestavení sekvence slov - :?:) ---- {{:user:ptacek:faze1.png|na pocatku}} ====== translation - transfer ====== * u překladu navíc adjectivize: pták -> ptačí ====== preprocess ====== Preprocess NumeralsWrapper * (sádlo), (máslo), (olej) -> (sádlo, máslo, olej) * ''undef($this->{tag})'' * nastav ''$this->{ord}'' podle zobrazení v tredu * correct_numbers - číselná t-lemmata - změna zavěšení :!: nepatri prilis do preprocessu, pozdeji? ====== formémy ====== prochází se do hloubky Processing Vallex Diathesis Derivation * pro klauze (top-level a verba): setClauseType * ''coap'': technické * ''nv-denom|vocat|partl'': neslovesné top-level * ''v-vn'': verbonominální * ''v-imp'': rozkazovací * ''v-compl'': func COMPL * ''v-pred'': ostatní * ''-'': infinitivy * pro VP: * nastav fragment xml do ''vallexFrame'' * normalizace framu - jen jeden (teď beru první) form pro functor a form type (kriteria pro výběr?) * zvol diatezi ''setDiathesis'' * B: base - ACT subjektem * D1: PAT subjektem * D2: PAT subjektem + být + participium trpné * D3: má ustláno od * uprav frame, aby odpovídal diatezi * ''Agreement::getSb($node)'' podle diateze * derivuj - nastav ''synPOS, m_lemma'' * projdi děti: * identifikuj agreement šipky * nastav ''frame_element'' - xml formy pro jeden functor * pro obecný člen: * derivace pokud už neproběhla * mám ''frame_element'' nebo dostanu default * nastav fragment xml do ''vallexFrame'' * normalizace framu - jen jeden (teď beru první) form pro functor a form type (kriteria pro výběr?) * projdi děti: * identifikuj agreement šipky * nastav ''frame_element'' - xml formy pro jeden functor ====== morfo kategorie ====== Vallex * realize_frame_elements (vybere jednu realizaci z framu a nastaví dětem morfo kategorie) * m_case * m_number * m_negative * pokud je v rámci určené i něco víc -> píšu rovnou do tagu * nastaví ''assigned_form'' - už jen jedna forma pro tento functor ====== agreement ====== Agreement Processing - hledání šipek ====== compounds ====== Compounds předložky podle ''assigned_form'' složené slovesné tvary podle * ''isDiathesis()'' * ''isTrTense()'' * ''getDeontmod()'' * ''getVerbmod()'' pozor: spojky až později ====== conjugation + declination ====== Morphology NumeralsWrapper pro numerické se volá ''assignNumForm()'' * derivuje podle ''numerType'' * shoda uvnitř víceslovných číslených číslovek * flexe pro ostatní uzly * ''assignTag()'' * ''assignForm()'' ====== první reorder ====== PreReorder * RSTR.adj pod n vlevo * MANN.adj pod n vlevo * complex RSTR.adj vpravo * RSTR.v připojené pomocí vztažného ''který'' vpravo * lokace a časové určení pod n vpravo * APP.n \neq ''#PersPron'' vpravo * EXT \neq ''n.quant'' \lor complex vlevo * REG.(not v) pod adj|adv vlevo * DIFF.(not v) pod adj|adv vlevo * CPR.v.(not inf) rodiče vpravo od děda * ID vpravo * adj/adv/n.pron.indef.inter vlevo za případné ''a/i/ale'' Reorder * ty, co už mají nastavené příznaky, kde se tam ale vzaly :?: Processing :?: * ''reorderLeftLeftmostParent'' * ''reorderRightLeftmostParent'' * ''reorderRhem'' * ''reorderCprLeftTo'' * ''isPossessive()'' - vlevo před rodiče a rstr bratry * ''isGenitiveNoun()'' - ihned vpravo za rodiče ====== punctuation + spojky ====== Processing2 Connectors průchod do hloubky ''$context'' obsahuje informace o pořadí uvnitř skupiny, případně carry bit - oddělit předchozí zleva zpracování sentencí, klauzí a obecných členů pouze vytvoření seznamů levých konektorů - čárek a spojek ====== druhý reorder ====== druhý průchod do šířky mohl objednat dalsi presuny pro autosemanticke konektory doleva příznak ''reorderLeftLeftmostParent'' ====== punctuation + spojky ====== vyrobit uzly pro čárky a spojky až po reordru, takže reorder nepřehazuje čárky ====== reorder klitik ====== až po spojkách, počítají se do pozic ====== vokalizace ====== ====== capitalization ====== ====== sekvence slov ======