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 -
)
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-levelv-vn: verbonominálnív-imp: rozkazovacív-compl: func COMPLv-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_elementnebo 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 <latex>\neq</latex>
#PersPronvpravo - EXT <latex>\neq</latex>
n.quant<latex>\lor</latex> 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 
reorderLeftLeftmostParentreorderRightLeftmostParentreorderRhemreorderCprLeftTo
isPossessive()- vlevo před rodiče a rstr bratryisGenitiveNoun()- 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

