====== Porgramátorský popis projektu PEDT ====== ===== Úvod ===== Tento dokument popisuje projekt Prague English Dependency Treebank z pohledu programátora. Na NFS ÚFALu je projekt umístěn v adresáři: /net/projects/pedt Celý projekt (programy i data) je uchováván pomocí systému SubVersion v repository umístěné na NFS v adresáři /net/data/SVN_ufal/pedt a přístupné pomocí SVN protokolů: file:///net/data/SVN_ufal/pedt svn+ssh:///....@tap.ms.mff.cuni.cz/net/data/SVN_ufal/pedt ... a pod. ===== Mapování rámců ===== Mapování je získáno spojením relací :: A. ze slovniku EngValLex do PropBanku (odkazy jsou součástí EngValLexu) B. z PropBanku do Penn Treebanku (anotace PTB, /f/data/Propbank1/data/prop.txt) C. z korpusu PEDT do Penn Treebanku (počítáním pozic pozic slov v korpusu PEDT) Různé části ==== Soubor data/engvallex/automatic-frames.csv ==== Obsahuje spojení relací: C(B^{-1}(A^{-1})) === Format: === Každý řádek obsahuje mezerou oddělené hodnoty: * id věty * číslo slova (terminálu) podle popisu v PropBanku * odpovídající PropBankový roleset * odpovídající EngValLexový rámec V případě, že jednomu rolesetu odpovídá více rámců EngValLexu, některé řádky souboru se liší pouze v poslední hodnotě. === Příklad: === EnglishT-wsj_0034-s38 10 pay.01 ev-w2223f3 EnglishT-wsj_0034-s39 4 insist.01 ev-w1713f1 EnglishT-wsj_0034-s39 7 jump.04 ev-w1785f1 EnglishT-wsj_0034-s39 12 buy.01 ev-w410f1 ==== Soubor data/engvallex/frame_functor.mapping ==== Obsahuje seznam valencnich ramcu a jejich obligatornich elementu. Podle tohoto souboru se při mapování generují uzly. === Format: === === Priklad: === ev-w12f2 ACT PAT ORIG ev-w13f1 ACT PAT ORIG ev-w14f1 ACT PAT ev-w15f1 ACT PAT === Generovani: === xsh2 -I engvallex.xml 'foreach //frame print @id frame_elements/element[@type="oblig"]/@functor' > frame_functor.mapping ===== Popis skriptů ===== ==== addFrameAnnotation.btred ==== Skripty se nachází v adresáři bin a zde jsou uvedeny v abecením pořadí. === Vstupy: === - data/engvallex/automatic-frames.csv (definovane ve skriptu) - data/engvallex/frame_functor.mapping (definovane ve skriptu) - PML tdata soubor (vstup btredu) === Spousteni: === /net/projects/pedt/anotace/tred/btred -SI /net/projects/pedt/bin/addFrameAnnotation.btred ==== addReferenceToVallex.bash a addReffileTag.sh ==== Přidávají PML referenci na EngValLex do tektogramatického stromu. ==== extractSentenceCounts.sh ==== Skript vygeneruje soubor sentenceCounts.tab, ktery udava pocet stromu v jednotlivych souborech Pocet stromu se ziskava pouzitim XSLT sablony number_of_trees.xsl, ktera je soucasti projektu pml2svg (/home/semecky/projekty/pml2svg/number_of_trees.xsl). Pocet souboru v jedne sekci PEDT lze ziskat nasledujicim prikazem (pr. pro sekci 005): grep "^wsj_005" /net/projects/pedt/data/wsj/sentenceCounts.tab | cut -f2 | ~semecky/bin/agregate.pl sum ==== extractTexts.btred ==== Vypíše texty vět pro daný PML soubor tektogramatické roviny. ==== iaa.pl ==== Spouští výpočet mezianotátorské shody Skript se konfiguruje nastavením proměnných v na začátku kódu: * hash %STATISTICS popisuje, co se má z dat extraovat a následně porovnávat (jedná se o výraz, který se předá btredu) ... běžně se nemění * pole @ANNOTATORS ... seznam kódů anotátorů, jejichž anotace se mají porovnávat * $dir_root ... (globální) adresář, ve kterém jsou vstupní data pro měření mezianotátorské shody ... běžně se nemění * $dir_keyword ... podadresář adresáře $dir_root, který odpovídá aktuálnímu měření ... běžně se mění * $mask ... maska tektogramatických souborů ... běžně se nemění * $OUTPUT_DIR ... výstupní adresář ... běžně se nemění Soubor vypíše výstup do sobuoru $OUTPUT_DIR/InterAnnotatorAgreement.txt. Ten obsahuje počet všech statistik pro všechny anotátory a jejich porovnání (shodu) po párech. ==== morphology_test.pl ==== Skript pro testování morfologického analyzátoru ==== pedt.sphinx ==== Konfigurační soubor pro fulltextový vyhledávač Sphinx. Sphinx včetně dokumentace je dostupný na stránkách http://www.sphinxsearch.com/ ==== PropBank2PEDT.pl ==== Mapuje PropBankové anotace z Penn Treebanku na Prague English Dependency Treebank. K tomu používá mapování rámců EngValLexu na "rolesety" PropBank. === Syntax === PropBank2PEDT.pl === Standardní použití === ./PropBank2PEDT.pl ../data/engvallex/engvallex_propbank.mapping < /f/data/Propbank1/data/prop.txt Skript čte ze standardního výstupu data ve formátu PropBanku (PropBank/data/prop.txt) a zapisuje na standardní výstup. Mapování z EngValLexu na PropBank je definováno v textovém formátu, každý řádek obsahuje mezerou oddělené hodnoty: první hodnota je rámec EngValLexu a následuje seznam jemu odpovídajících rámců. ==== addFrameAnnotation.btred ==== Skript přidá to tektogramatického souboru anotace rámců automaticky získané z PropBanku. Pro obligatorní elementy rámců, pokud jim neodpovídá žádný uzel věty vytvoří generovaný uzel (cyklus foreach my $functor (@functors)). ==== t2sphinx.btred ==== Prints XML description of files in the Sphinx (search engine) format to STDOUT and a mapping from number to ID to file $ID_FILE ==== updateWeb.sh ==== Skript updatuje všechna data pro webové rozhraní k PEDT (data browser). ==== adresář external ==== Obsahuje cizí skripty a programy, které se v projektu pouřžívají, zejména pro morfologickou analýzu. ==== adresář PEDT ==== Obsahuje perlový modul PEDT, který provádí morfologickou lemmatizaci za předpokladu známých morfologických značek (v PropBanku jsou uvedené značky, ale ne lemata). Skript je součástí Zděňkova projektu TMT a adresář je externím checkoutem z jeho repository. ==== adresář EngValLex ==== Obsahuje skripty, které se používaly pro vytváření EngValLexu.