Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
external:pcedt:tfa [2013/01/16 15:06] ufal |
external:pcedt:tfa [2013/04/29 14:18] (current) ufal |
====== Anotace TFA v české části PCEDT ====== | ====== Anotace TFA v české části PCEDT ====== |
| Probíhá od ledna 2013. |
Od ledna 2013 | |
| |
===== Rozšíření TrEdu pro anotaci TFA v české části PCEDT ===== | ===== Rozšíření TrEdu pro anotaci TFA v české části PCEDT ===== |
| |
| ==== Instalace ==== |
| K anotaci slouží mód ''PML_Cz_T_TFA'', který je součástí rozšíření TrEdu ''Wall Street Journal Annotation (wsj-anot)''. |
| Mód definuje a používá styl ''PML_T_TFA_Anot''. |
| |
| Aby se při otevření souboru tento mód sám nastavil, je potřeba TrEd spustit s přepínačem ''-t PML_Cz_T_TFA'' (ale funguje to jen, pokud se součastně jako argument předá i jméno otvíraného souboru). |
| |
| |
==== Obecné vlastnosti ==== | ==== Obecné vlastnosti ==== |
Uzly, které nemají přiřazenu hodnotu tfa, jsou zobrazeny jako šedá kolečka | Všechna kolečka reprezentující uzly stromu, které mají mít (či už mají) nastavenu hodnotu ''tfa'' (tfa-relevantní uzly), jsou větší, aby byly dobře rozpoznatelné jejich barvy. Uzly, které žádnou hodnotu ''tfa'' mít nemají, jsou zobrazeny malými šedými kolečky. |
Uzly, které mají hodnotu ''tfa='t''', jsou zobrazeny jako bílá kolečka | |
Uzly, které mají hodnotu ''tfa='c''', jsou zobrazeny jako zelená kolečka | |
Uzly, které mají hodnotu ''tfa='f''', jsou zobrazeny jako žlutá kolečka | |
| |
Kořen stromu je zobrazen jako velké rudé kolečko, dokud všechny (ostatní) uzly ve stromě nemají nastavenu hodnotu tfa. Pak se zmenší a odbarví na běžné šedivé kolečko. | (Uzly, které nemají mít anotován atribut ''tfa'', se poznají tak, že splňují jednu z násl. podmínek: ''root'', ''nodetype=coap'' nebo ''fphr'', ''functor=CM''; pro jistotu je testováno i ''functor=FPHR''.) |
| |
Pokud jsou ve stromu už jen tři nebo méně uzlů bez anotace tfa, jsou tyto uzly zobrazeny jako trochu větší červená kolečka. | Uzly, které nemají přiřazenu hodnotu ''tfa'', ale mají ji mít, jsou zobrazeny jako //(větší) šedá kolečka//. |
| Pokud jsou ve stromu už jen ''tři nebo méně'' uzlů bez anotace ''tfa'' (z těch, co mají být anotovány), jsou tyto uzly zobrazeny jako //ještě trochu větší červená kolečka//, aby je bylo hned vidět. |
| |
Potažením myší je možno převěšovat pouze uzly s funktorem RHEM. | Uzly, které mají hodnotu ''tfa=t'', jsou zobrazeny jako //bílá kolečka//. |
| Uzly, které mají hodnotu ''tfa=c'', jsou zobrazeny jako //zelená kolečka//. |
| Uzly, které mají hodnotu ''tfa=f'', jsou zobrazeny jako //žlutá kolečka//. |
| |
Standardní tredí dialog pro editaci všech atributů uzlu je neaktivní (změny nejdou uložit). | Hodnota atributu ''tfa'' je navíc zobrazena modrou barvou vpravo vedle ''t_lemmatu''. |
| |
| ''Kořen stromu'' je zobrazen jako //velké rudé kolečko//, dokud všechny uzly ve stromě, které mají mít nastavenu hodnotu ''tfa'', ji nemají nastavenou. Pak se zmenší a odbarví na //malé šedé kolečko//. |
| |
| **Potažením myší** je možno převěšovat ''pouze uzly s funktorem RHEM''. |
| |
| Standardní tredí dialog pro editaci všech atributů uzlu je neaktivní (změny nejdou uložit; v nutném případě to samozřejmě jde obejít přepnutím do jiného módu, kde změny dělat jdou (např. ''PML_T_Edit'')). |
| |
| Všechny zásahy anotátora do dat pomocí maker tohoto rozšíření jsou automaticky zaznamenávány do anotátorské poznámky typu ''TFA_log''. Rovněž automatické akce, které rozšíření provádí, jsou do této poznámky zaznamenávány. |
| |
==== Klávesové zkratky ==== | ==== Klávesové zkratky ==== |
**t** - nastaví //tfa='t'// u aktuálního uzlu | **t** - nastaví ''tfa=t'' u aktuálního uzlu |
**c** - nastaví //tfa='c'// u aktuálního uzlu | **c** - nastaví ''tfa=c'' u aktuálního uzlu |
**f** - nastaví //tfa='f'// u aktuálního uzlu | **f** - nastaví ''tfa=f'' u aktuálního uzlu |
| |
**T (Shift + t)** - nastaví //tfa='t'// u aktuálního uzlu a celého jeho podstromu | **T (Shift + t)** - nastaví ''tfa=t'' u aktuálního uzlu a celého jeho podstromu (uzly, které už ''tfa'' mají nastaveno či ''tfa'' nastaveno mít nemají, jsou vynechány) |
**C (Shift + c)** - nastaví //tfa='c'// u aktuálního uzlu a celého jeho podstromu | **C (Shift + c)** - nastaví ''tfa=c'' u aktuálního uzlu a celého jeho podstromu (uzly, které už ''tfa'' mají nastaveno či ''tfa'' nastaveno mít nemají, jsou vynechány) |
**F (Shift + f)** - nastaví //tfa='f'// u aktuálního uzlu a celého jeho podstromu | **F (Shift + f)** - nastaví ''tfa=f'' u aktuálního uzlu a celého jeho podstromu (uzly, které už ''tfa'' mají nastaveno či ''tfa'' nastaveno mít nemají, jsou vynechány) |
| |
**!** - zobrazí dialog pro vložení typované anotátorské poznámky k aktuálnímu uzlu; jedním z typů je TFA | **Ctrl + t** - nastaví ''tfa=t'' u aktuálního uzlu a celého jeho podstromu (uzly, které ''tfa'' nastaveno mít nemají, jsou vynechány) |
| **Ctrl + c** - nastaví ''tfa=c'' u aktuálního uzlu a celého jeho podstromu (uzly, které ''tfa'' nastaveno mít nemají, jsou vynechány) |
| **Ctrl + f** - nastaví ''tfa=f'' u aktuálního uzlu a celého jeho podstromu (uzly, které ''tfa'' nastaveno mít nemají, jsou vynechány) |
| |
| **!** - zobrazí dialog pro vložení typované anotátorské poznámky k aktuálnímu uzlu; jedním z typů je ''TFA'', ale je možno použít i ostatní typy; uzly s anotátorskou poznámkou typu ''TFA'' jsou označeny modrým nápisem ''TFA''. |
**?** - zobrazí standardní dialog TrEdu pro editaci všech typovaných anotátorských poznámek u aktuálního uzlu | **?** - zobrazí standardní dialog TrEdu pro editaci všech typovaných anotátorských poznámek u aktuálního uzlu |
| |
**e** - editace //funktoru// v rámci omezené množiny hodnot | **e** - změna ''funktoru RHEM'' aktuálního uzlu na jednu z hodnot (''ATT CM EXT MOD PREC TFHL TFRWH THL THO TOWH TPAR TSIN TTILL TWHEN''); pokud je nový ''funktor'' z množiny (''EXT TFHL TFRWH THL THO TOWH TPAR TSIN TTILL TWHEN''), ''nodetype'' je změněn z ''atom'' na ''complex'' a anotátor je dotázán na hodnotu ''gramatému'' ''gram/sempos'' (pro účely anotace české části PCEDT stačí zvolit prvního reprezentanta dané skupiny (např. ''adj.denot'' pro jakékoliv přídavné jméno)) |
**Ctrl + e** - editace //funktoru// bez omezení | |
| **r** - změna ''funktoru'' aktuálního uzlu z jedné z hodnot (''ATT CM EXT MOD PREC TFHL TFRWH THL THO TOWH TPAR TSIN TTILL TWHEN'') na ''RHEM''; pokud byl ''funktor'' původně jeden z (''EXT TFHL TFRWH THL THO TOWH TPAR TSIN TTILL TWHEN''), ''nodetype'' je změněn z ''complex'' na ''atom'' a všechny gramatémy jsou vymazány; pokud uzel není listem ve stromu (něco na něm visí), změna ''funktoru'' na ''RHEM'' ani žádné další změny nejsou provedeny |
| |
| **Ctrl + e** - editace ''funktoru'' bez omezení (nic nekontroluje a nenastavuje nic jiného) |
| |
**Ctrl + šipka vlevo či vpravo** - posun aktuálního uzlu v hloubkovém uspořádání doleva či doprava | **Ctrl + šipka vlevo či vpravo** - posun aktuálního uzlu v hloubkovém uspořádání doleva či doprava |
**Alt + šipka vlevo či vpravo** - posun aktuálního uzlu a celého jeho podstromu v hloubkovém uspořádání doleva či doprava | **Alt + šipka vlevo či vpravo** - posun aktuálního uzlu a celého jeho podstromu v hloubkovém uspořádání doleva či doprava (přeskakuje celé podstromy (jejich projektivní části)) |
| **Ctrl + n, m** - posun aktuálního uzlu a celého jeho podstromu v hloubkovém uspořádání doleva či doprava (o jeden uzel) |
| |
| **Ctrl + šipka nahoru či dolů** - přechod na předchozí či následující strom v souboru |
| |
| **Samotné šipky** lze použít k pohybu po stromu. |
| |
| ==== Automatické úpravy ==== |
| === Přerovnání synů všech uzlů === |
| Kdykoliv jsou všichni tfa-relevantní synové nějakého uzlu, který nemá ''nodetype="coap"'' (s výjimkou společných rozvití, viz níže), označeni hodnotami ''tfa'', dojde k automatickému přerovnání těchto synů (a jejich podstromů) tak, aby všechny tyto uzly s ''tfa="f"'' byly napravo od svého otce a všechny tyto uzly s ''tfa="t"'' nebo ''"c"'' byly nalevo od svého otce. Výjimky z tohoto pravidla je potřeba kontrolovat ručně. Synové s ''nodetype="coap"'' jsou automaticky přeřazováni ve chvíli, kdy všichni ''member'' synové tohoto ''coap'' uzlu dostanou stejnou hodnotu atributu ''tfa'' (všichni ''"f"'' či všichni ''"t"/"c"''). |
| |
| === Přerovnání synů uzlu s gram/sempos="n" (jmenné fráze) === |
| U synů uzlu s gram/sempos="n" se upraví i pořadí synů mezi sebou: u uzlů s hodnotou ''tfa="f"'' budou uzly s funktorem ''DPHR'' či ''CPHR'' jako první, uzly s funktorem ''ID'' jako druhé; všechny ostatní budou v původním pořadí za nimi a anotátor jim musí věnovat pozornost (u hodnot ''"t"'' a ''"c"'' je pořadí opačné). |
| |
| === Přerovnání synů uzlu s gram/sempos="v" (slovesné fráze) === |
| U synů uzlu s gram/sempos="v" se rovněž upraví i pořadí synů s hodnotou ''tfa="t"'' nebo ''"c"'' mezi sebou: |
| První budou uzly ''VOCAT'', pak ''PREC'', pak ''ATT''; první zprava (avšak vlevo od otce) budou místní či časové funktory, pak ''#PersPron'', pak generované uzly; ostatní typy uzlů budou uprostřed mezi nimi a je potřeba je seřadit ručně. |
| Výjimkou z výše uvedeného jsou v případě otce s (již vyplněnou) hodnotou ''tfa="f"'' uzly ''RHEM'' rovněž s hodnotou ''tfa="f"'', které nemají t_lemma="#Neg". Ty jsou řazeny vlevo od otce, co nejblíže k němu. |
| |
| === Přerovnání společných rozvití v koordinacích === |
| Kdykoliv jsou všichni tfa-relevantní synové nějakého uzlu s ''nodetype="coap"'', kteří nejsou členové koordinace (nemají ''is_member="1"''), označeni hodnotami ''tfa'', dojde k jejich přesunutí úplně doleva či doprava podle jejich hodnoty ''tfa''. |
| |
| ==== Automatická předanotace ==== |
| Externí skript, který předanotuje data. Předanotace probíhá postupně v následujících krocích (už jednou anotovaný uzel se nepřeanotovává): |
| |
| - Generované uzly, které nemají analytický protějšek (tj. nejsou to kopírované uzly) a které navíc nejsou ''RHEM'' ani ''#Forn'', dostávají automaticky hodnotu ''tfa="t"'' (očekávaná chybovost: 0). |
| - Generované uzly, které jsou členy koordinace/apozice a mají analytický protějšek (není to tedy např. ''#Forn''), dostávají automaticky hodnotu ''tfa="t"'' (očekávaná chybovost: 0). |
| - Uzly, ze kterých vede gramatická, textová či segmentová koreference, dostávají automaticky hodnotu ''tfa="t"'' (očekávaná chybovost: 1:100). |
| - Uzly ''PRED'', které nejsou generované a jejichž ''t_lemma'' se nenachází v předchozí větě, dostávají automaticky hodnotu ''tfa="f"'' (očekávaná chybovost: 1:40). |
| - Generované uzly ''PRED'' dostávají automaticky hodnotu ''tfa="t"'' (očekávaná chybovost: 1:100) |
| - Ostatní slovesné uzly (''gram/sempos="v"''), které mají jako ''funktor'' jednu z hodnot ''(ADDR|AIM|CAUS|ACMP|MANN|PAT|EFF|AUTH|BEN|COMPL|EXT|ORIG|RESL|TFHL|TSIN)'', dostávají automaticky hodnotu ''tfa="f"'' (očekávaná chybovost: maximálně 1:10). |
| - Uzly, které mají jako ''funktor'' jednu z hodnot ''(PARTL|DENOM|MOD|EXT)'', dostávají automaticky hodnotu ''tfa="f"'' (očekávaná chybovost: maximálně 1:10). |
| - Uzly, které mají jako ''funktor'' hodnotu ''RHEM'' a nejsou na první pozici ve větě, dostávají automaticky hodnotu ''tfa="f"'' (očekávaná chybovost: 1:10). |
| - Uzly s ''t_lemma="tady"'' dostávají automaticky hodnotu ''tfa="t"'' (očekávaná chybovost: 1:10). |
| - Pro zhruba 5 tisíc prvních vět, které jsou v plánu anotace: uzly, které jsou českými protějšky anglických uzlů, které na povrchu stojí za slovesem a mají u sebe neurčitý člen, dostávají automaticky hodnotu ''tfa="f"'' (očekávaná chybovost: neznámá). |
| |
| Další kroky probíhají až po tom, co jsou předchozí kroky aplikovány na všechny uzly stromu: |
| |
| - Synové slovesa, které má ''tfa="f"'' a které ve své klauzi není na první či druhé pozici, pokud stojí v povrchovém slovosledu za tímto slovesem, dostávají automaticky hodnotu ''tfa="f"'' (očekávaná chybovost: neznámá). |
| - RSTR synové uzlů, které mají ''tfa="f"'', dostávají automaticky hodnotu ''tfa="f"'' (očekávaná chybovost: 1:30). |