====== Formát Penn Treebanku ====== Formát pro uložení frázových syntaktických stromů, založený na závorkování. Příklad si můžete prohlédnout např. v ''/net/data/LDC/PennTreebank3''. Soubory Penn Treebanku se distribuují ve dvou tvarech. Tvar, ve kterém jsou vidět i morfologické značky, najdete v podsložce ''parsed/mrg''. Asi nejznámější částí Penn Treebanku jsou texty z Wall Street Journalu, rozdělené do sekcí 00 až 24. První soubor této části tedy najdete v ''wsj/00/wsj_0001.mrg''. * Jeden frázový strom je vymezen párem kulatých závorek nejvyšší úrovně. Může, ale nemusí být celý na jednom řádku. (Bývá ovšem zvykem, že na jednom řádku nejsou pohromadě části více než jednoho stromu.) * Fráze uvnitř stromu jsou vymezeny vnořenými páry kulatých závorek. * Jestliže je k levé závorce přilepeno slovo, je to označení druhu fráze (neterminální symbol). Následují prvky fráze, kterými jsou vnořené fráze (páry závorek a jejich obsah). * Fráze, které nemají děti, obsahují právě jeden neterminální (resp. preterminální) a jeden terminální symbol. Neterminální (preterminální) symbol je v tomto případě morfologická značka, zatímco terminální symbol je slovo (token) z původního textu. * Pokud původní text obsahoval kulaté závorky, jsou v Penn Treebanku nahrazeny zástupnými řetězci. Pro levou kulatou závorku je to ''-LRB-'' (left round bracket), pro pravou ''-RRB-'' (right round bracket). * Frázový strom může také obsahovat tzv. //stopy//, kvůli kterým neplatí, že počet terminálních symbolů (a tedy počet listů stromu) je roven počtu tokenů v původním textu. ===== Převody z a do jiných formátů ===== * [[Převod mezi Penn Treebankem a PML]] * Pro primitivní převod Penn Treebanku do prostého textu by mělo stačit: * Zahodit všechny levé kulaté závorky včetně případného slova k nim přilepeného. * Zahodit všechny pravé kulaté závorky. * Převést -LRB- na ( a -RRB- na ). * Pokud se někde dostalo několik mezer k sobě nebo mezera na začátek či konec řádku, odstranit přebytečné mezery. Případně zformátovat i nějak lépe, aby nebylo každé slovo na samostatném řádku. * Tento postup ovšem neřeší, jak rozpoznat a zahodit případné stopy. * Nástroj, který něco takového (převod do prostého textu) dělá, už existuje a je součástí [[Parsery|Danových nástrojů pro parsing]]: $PARSINGROOT/tools/penn2text.pl < wsj_0001.mrg > wsj_0001.txt