This is an old revision of the document!
Table of Contents
Formát CoNLL
Jednoduchý sloupcový formát použitý pro uložení treebanků pro účely soutěže CoNLL v závislostním parsingu. Seznam treebanků, které máme v tomto formátu, najdete na stránce Data.
Každý řádek odpovídá jednomu slovu původního textu, věty jsou oddělené prázdným řádkem. Na řádku je předem známý počet hodnot (sloupců), oddělených tabulátory. To jsou hodnoty jednotlivých atributů daného slova. Podrobnější popis formátu najdete např. na http://depparse.uvt.nl/depparse-wiki/DataFormat.
Převod do CSTS
Pro převod formátu CoNLL do CSTS slouží nástroj conll2csts.pl
, který je součástí Danových nástrojů pro parsing:
$PARSINGROOT/tools/conll2csts.pl -l da < danish-train.conll > danish-train.csts
Povinným parametrem je dvoupísmenný kód jazyka podle normy ISO 639-1. Mějte na paměti, že pravověrné CSTS předpokládá kódování ISO 8859-2, ale tento nástroj (úmyslně!) ponechává i na výstupu kódování UTF-8.
Převod do PML
Pro převod formátu CoNLL do PML slouží nástroj conll2pml (musíte si ho stáhnout z webu a nainstalovat do některé své složky):
$PARSINGROOT/tools/conll2pml.pl --technical-root --max-sentences 1000000 danish-train.conll
Při převodu do PML jsou zachovány původní značky. Program vytvoří v aktuální složce soubor out_schema.xml
a jeden nebo více souborů ve tvaru out_NNNN.pml
, kde NNNN jsou číslice. Pokud nepoužijete volbu –max-sentences, použije se výchozí hodnota 100, tj. program vytvoří nový soubor pro každých zhruba 100 vět. Výše uvedené nastavení zařídí, že pro běžné korpusy (milión vět už je opravdu hodně) dostanete jen jeden výstupní PML soubor a jedno schéma. Ovšem pozor, takový PML soubor může být nepříjemně veliký (např. pro necelých 1500 arabských vět je to přes 17 MB).
Volba –technical-root je rovněž nezbytná pro uživatele zvyklé na prostředí pražských korpusů. Bez ní program považuje za kořen každý uzel, který uvádí závislost na uzlu 0. Většina stromů se tak rozpadne na lesy. S volbou –technical-root dostaneme jeden strom, ve kterém jsou tyto pseudokořeny spojeny pod jeden umělý uzel, kořen stromu.
Další podrobnosti:
conll2pml --help