===== Rozšíření TrEdu pro anotaci diskurzu ===== Podpora pro anotaci diskurzu užívá rozšíření TrEdu **discourse** a **nondeprel** (non-dependency relations annotation). ==== Jednoduchý návod k instalaci a použití: ==== ===Instalace:=== TrEd instalujte ze stránky http://ufal.mff.cuni.cz/tred/ Nainstalujte rozšíření "discourse" - "Discourse Annotation" (Setup -> Manage Extensions) Pro zobrazení skupin uzlů je potřeba nainstalovat perlovou knihovnu Graph::Kruskal. V **Linux**u se to provádí takto: sudo -s # cpan -i Graph::Kruskal Prikaz cpan se při prvním spuštění vyptá na různé věci, většinou to stačí odentrovat. **Nová verze TrEdu (2.*) pro Windows** používá Strawberry Perl. Tam se moduly instalují podle návodu z webu takto: "Run "CPAN client" from Strawberry entry in Start menu. Type "install Module::Name" there." ===Ovládání zobrazení:=== Pro zobrazení vět, stromů a diskurzních šipek existují tři přednastavené módy, které se přepínají těmito klávesovými zkratkami: **Alt+b** - bridging mode - vidět je jeden strom, velké množství kontextových vět vpřed i vzad, šipky: koreference, bridging **Alt+d** - pure discourse mode - vidět jsou dva stromy vzad a jeden vpřed, deset vět vzad a pět vpřed, šipky: čistě diskurzní (čili ne koref. a bridging) **Alt+f** - full discourse mode - vidět jsou dva stromy vzad a jeden vpřed, deset vět vzad a pět vpřed, šipky: všechny Zobrazení jednotlivých druhů šipek je možno ovládat nezávisle na přednastaveném módu takto: **Ctrl+b** - přepne zobrazení bridging anafory **Ctrl+r** - přepne zobrazení gramatické koreference **Ctrl+t** - přepne zobrazení textové koreference **Ctrl+d** - přepne zobrazení čistě diskurzních šipek Zobrazení se týká nejen šipek, ale rovněž barevného zvýraznění slov v kontextových větách. **s** - vybere zdroj (anotátora), jehož šipky se mají zobrazovat **H** (Shift+h) - schová/zobrazí zdroj anotace (anotátora) u typu, rozsahu a komentáře šipky **Ctrl+T** (Ctrl+Shift+t) - přepne zobrazení překladu t_lemmatu (obsahu atributu t_lemma_trans) u t-uzlů **Ctrl+I** (Ctrl+Shift+i) - přepne zobrazení id u kořene stromu **Ctrl+G** (Ctrl+Shift+g) - přepne zobrazování gramatémů/a-forem/ničeho u t-uzlů ===Editace diskurzních šipek:=== Aktuální uzel se vybírá kliknutím na uzel ve stromech nebo kliknutím na slovo ve větách. Existující skupinu uzlů je rovněž možno vybrat kliknutím na ni. **mezera** - přepne označení budoucího cílového uzlu/skupiny diskurzní šipky; možno postupně vybrat více uzlů a skupin; používá se též pro výběr uzlů pro vytvoření skupiny **Ctrl+levé tlačítko na uzlu** - podobně jako mezera, zapamatuje si/zapomene tekto-uzel; nemění aktuální uzel **Ctrl+levé tlačítko na slově ve větách** - podobně jako mezera, zapamatuje si/zapomene příslušný tekto-uzel; nemění aktuální uzel **Ctrl+mezera** - přepne označení u všech uzlů v podstromu aktuálního uzlu (včetně) **Shift+levé tlačítko na slově ve větách** - zapamatuje si/zapomene jedno slovo pro následné nastavení konektoru (narozdíl od mezery, takto lze vybrat i samostatnou předložku či cokoliv, co nemá reprezentaci na tekto-rovině) **f** (forget) - ruční zapomenutí všech označených uzlů a skupin **d** (discourse) - vloží diskurzní šipku (šipky) z aktuální skupiny či aktuálního uzlu do zapamatovaného uzlu či skupiny (či zapamatovaných uzlů a skupin); zobrazí se dialogové okno pro vložení typu, který je v případě více cílů společný; u první vytvářené šipky po spuštění TrEdu se zobrazí okno pro vložení zdroje anotace (vkládáme iniciály anotátorky; u dalších vložených šipek se naposledy vložená hodnota použije automaticky) **D** (Discourse) - vloží diskurzní šipku (šipky) z aktuální skupiny či aktuálního uzlu bez určení cílového uzlu **E** (Entrel) - vloží diskurzní šipku (šipky) typu Entrel z aktuální skupiny či aktuálního uzlu do zapamatovaného uzlu či skupiny (či zapamatovaných uzlů a skupin) **A** (question-Answer) - vloží diskurzní šipku (šipky) typu question-answer z aktuální skupiny či aktuálního uzlu do zapamatovaného uzlu či skupiny (či zapamatovaných uzlů a skupin) **l** (list) - vloží diskurzní šipku (šipky) typu list (seznam) z aktuální skupiny či aktuálního uzlu do zapamatovaného uzlu či skupiny (či zapamatovaných uzlů a skupin) **c** (comment) - vložení komentáře k diskurzní šipce vedoucí z aktuálního uzlu; zobrazí se dialogové okno pro jeho vložení; existuje-li více šipek vedoucích z aktuálního uzlu, nejprve se zobrazí okno s jejich seznamem, které umožní výběr té správné šipky **r** (re-type) - změna typu šipky vedoucí z aktuálního uzlu; zobrazí se dialogové okno pro jeho vložení; existuje-li více šipek vedoucích z aktuálního uzlu, nejprve se zobrazí okno s jejich seznamem, které umožní výběr té správné šipky **o** - změna zdroje (atributu src) šipky vedoucí z aktuálního uzlu; zobrazí se dialogové okno pro jeho vložení; existuje-li více šipek vedoucích z aktuálního uzlu, nejprve se zobrazí okno s jejich seznamem, které umožní výběr té správné šipky; naposledy vložená hodnota se použije u dalších vytvářených šipek **M** - přepnutí vlastnosti šipky ''is_implicit''; pokud je nastaven, zobrazuje se jako suffix _Imp za diskurzním typem; jeho nastavení na 1 způsobí automatické vyvolání makra pro vložení hodnoty atributu connective_inserted **a** - přepnutí vlastnosti šipky ''is_secondary'' **t** - přepnutí vlastnosti šipky ''is_negated'' **I** - vložení textové podoby konektoru, pokud standardně anotovaný konektor chybí (u implicitních vztahů) nebo je špatně; pokud je vyplněn, zobrazuje se u počátečního uzlu šipky za “connective_ins:” **p** - přepnutí vlastnosti šipky ''is_NP''; pokud je nastaveno na 1, zobrazuje se jako suffix _NP za diskurzním typem **P** (is Compositional) - přepnutí vlastnosti šipky ''is_compositional''; pokud je nastaveno na 1, zobrazuje se jako suffix _CP (Compositional Phrase) za nápisem connective **w, e** - nastavení rozsahu výchozího a cílového argumentu **x** - smazání šipky vedoucí z aktuálního uzlu; existuje-li více šipek vedoucích z aktuálního uzlu, nejprve se zobrazí okno s jejich seznamem, které umožní výběr té správné šipky **n** - nastavení označených (pomocí mezery) uzlů jako konektorů diskurzní šipky vedoucí z aktuálního uzlu; pokud z akt. uzlu vede více šipek, uživatel je požádán o vybrání té správné; konektor (povrchové vyjádření) se pak zobrazí v bublině, když se myš na chvíli zastaví nad příslušnou šipkou **m** - nastavení označených (pomocí mezery) uzlů jako rozšířené množiny konektorů diskurzní šipky vedoucí z aktuálního uzlu (rozšířený sekundární konektor); pokud z akt. uzlu vede více šipek, uživatel je požádán o vybrání té správné; rozšířený konektor (povrchové vyjádření) se pak zobrazí v bublině, když se myš na chvíli zastaví nad příslušnou šipkou **v** - otočí šipku vedoucí z aktuálního uzlu (zamění výchozí a cílový uzel); v případě více šipek zobrazí seznam pro výběr ===Práce se skupinami uzlů:=== Uzly i z různých stromů je možno seskupovat, diskurzní šipky je možno vést jak mezi jednotlivými uzly, tak mezi skupinami, či kombinovaně - to je reprezentováno diskurzní šipkou vedoucí z/do reprezentujícího uzlu skupiny. Reprezentující uzel skupiny se určí takto: - v případě, že skupinu tvoří uzly z více stromů, reprezentující uzel skupiny je vždy v nejlevějším stromě - při rozhodování mezi uzly z jednoho stromu je reprezentující uzel první v průchodu do hloubky **g** (group) - vytvoří skupinu z označených uzlů **Ctrl+g** - zruší vybranou skupinu Šipky, které končí či začínají ve skupině uzlů, opticky i datově končí či začínají v reprezentujících uzlech skupin. V datech je to reprezentováno atributy start_group_id a target_group_id u diskurzní šipky. ===Ostatní:=== **Ctrl+c** (comment) - vložení diskurzního komentáře k celému uzlu (bez ohledu na šipky) **F** (discourse Feature) - vložení hodnoty atributu discourse_feature **G** - vložení hodnoty atributu discourse_macrostructure **Ctrl+k** ('k'ompatkní zobrazení) - přepne kompaktní zobrazení uzlů **u** ('u'nfold) - ručně rozbalí/znovu sbalí aktuální uzel (v kolapsovaném zobrazení uzlů) **h** - vložení hodnoty atributu discourse_special (zastaralé, nahrazeno atributy discourse_feature a discourse_macrostructure) **j** - nastaví typ vztahu, který jinak neznačíme, protože nemá oba argumenty finverbální, u aktuálního uzlu (což by měl být hlavní uzel sekundárního konektoru) **k** - nastaví příznak negace u vztahu, který jinak neznačíme, protože nemá oba argumenty finverbální, u aktuálního uzlu (což by měl být hlavní uzel sekundárního konektoru) **Ctrl+A** (Analytical) - zobrazí analytické stromy (zpět: **Ctrl+R** (Return)) **z** - zobrazí seznam žánrů a umožní tak vybrat žánr dokumentu ===Makra pro projekt projekce šipek PDTB3 do pražského formátu:=== **X** - smaže šipku PDTB3 vedoucí z aktuálního uzlu (dotáže se, pokud je jich víc) **2** - nastaví začátek commentu (pražské) diskurzní šipky na ''PHASE:2 MANUAL'' **3** - manuální nastavení odpovídajícího sense PDTB3 pro (pražskou) diskurzní šipku (nastavuje atribut ''sense_PDTB3_manual'') - mělo by se použít pouze pokud správný sense nejde odvodit automaticky z diskurzního typu **S** - manuální nastavení odpovídajícího sense PDTB3 pro (pražskou) diskurzní šipku (nastavuje atribut ''sense_PDTB3_manual'') a zároveň do atributu comment přidá PHASE:3 RESENSED plus info, který sense se změnil na jaký - mělo by se použít pouze pokud správný sense nejde odvodit automaticky z diskurzního typu **C** - nastaví začátek commentu (pražské) diskurzní šipky na ''PHASE:3 TYPECHECKED'', což znamená, že typ byl zkontrolován (a nezměněn) a - pokud není nastaveno sense_PDTB3_manual, sense jde odvodit z diskurzního typu automaticky **R** - změna diskurzního typu šipky; zároveň do atributu comment přidá PHASE:3 RETYPED plus info, který disk. typ se změnil na jaký **T** - vytvoří pražskou šipku podle šipky PDTB3 (kterou smaže), ''comment'' nastaví na ''PHASE:1 MANUALLY-FROM-PDTB''; v případě NoRel nastaví atribut ''discourse_macrostructure'' **6** - změní startovní uzel diskurzní či PDTB3 šipky na zapamatovaný uzel či zapamatovanou skupinu; dá vybrat šipku, pokud jich z aktuálního uzlu vede víc **7** - změní cílový uzel diskurzní či PDTB3 šipky na zapamatovaný uzel či zapamatovanou skupinu; dá vybrat šipku, pokud jich z aktuálního uzlu vede víc