====== Trénovací a testovací korpus ====== ===== Příprava testovacího korpusu ===== ==== Příprava textů pro anotátory ==== * Adresář ''/corp/anotace'' na grimmovi. * Sjet pomocí ''make-whole-corp.sh'' až k ''vert-rules-frazrl''. * Udělat ''vert-rules-frazrl-rules'': $ make-corp.sh -s vert-rules-frazrl -t vert-rules-frazrl-rules -i wide_vertical -o wide_vertical -n -v -p8 * Odstranit zbytečné značky: annot-prep-vert.sh < /corp/syn2010/vert-rules-frazrl-rules/ \ > .../SCI/vert/ * Převést do ''csts'':$ cd .../SCI $ make-corp.sh -s vert -t csts -g -v -p8 * Vybrat vhodné soubory pomocí ''x-rate-vert.sh'': $ x-rate-vert.sh | sort -n -k2 | cut -f1 -d":" | head -28 | xargs cat | grep -c '.' * Převést do ''utf-8'': $ for ff in $(x-rate-vert.sh | sort -n -k2 | cut -f1 -d":" | head -28); do echo $ff; \ cstocs il2 utf8 < ../csts/$ff > ~/PROJEKTY/GACR1012/data/SCI-import/$ff; done * Zarovnat délku souborů pomocí ''long-name.sh'': $ cd .../SCI-import $ long-name.sh * Nadělat linky pro všechny anotátory pomocí ''distribute.sh'' (nejdřív upravit!). * Počty tagů pro jednotlivé anotátory vyladit pomocí ''count-multi-tags.pl'': $ for ff in VH MK ZN AB JK JN MB PK; do echo -n "$ff "; cat ????????-$ff | count-multi-tags.pl; done * Přesunout se na jakobsonovi do adresáře s anotací: cd /usr/local/corp/annotate * Provést import: bin/csts-import-utkl.pl --force ~/PROJEKTY/GACR1012/data/PUB-import/ * Upravit soubor ''users''. ==== Export oanotovaných textů ==== * Přesunout se na jakobsonovi do adresáře s původními texty:$ cd ~/PROJEKTY/GACR1012/data/PUB-import * Provést export:$ for ff in *-AP; do echo $ff; /usr/local/corp/annotate/bin/csts-export.pl --verbose $ff \ > ../PUB-export/$ff; done * Kontrola anotace:$ for ff in *-AP; do echo -n $ff; (/usr/local/corp/annotate/bin/csts-export.pl \ --verbose $ff > /dev/null) |& grep -c 'Warning' | xargs -0 printf "%7s"; done ==== Sloučení výsledků ==== * přesunout se do adresáře s exportovanými texty:$ cd ~/PROJEKTY/GACR1012/data/PUB-export * vytvořit nové soubory k importu do anotačního programu:$ cd ~/PROJEKTY/GACR1012/data/korpus-cmp $ paste | perl -pe 's/"utkl-.."/"utkl"/g' | merge-csts | remove-MM.pl \ > ../merge-import/anebo ještě lépe použít skript: #!/bin/bash print_help() { echo "Merge two annotations and prepare data for final annotation" echo "Usage: $(basename "$0") [ -f from_dir ]" # [ -t to_dir ] echo " $(basename "$0") -h" echo "Defaults: from_dir - current dir (csts-export)" echo " to_dir - ../merge-import" echo "from_dir files: *-??" echo "to_dir files: *-??-??" exit 1 } fdir="." tdir="../merge-import" ddir="../merge-import-done" zdir="../merge-zero" while getopts f:h FLAG; do case $FLAG in f) fdir=$OPTARG ;; h) print_help ;; # t) tdir=$OPTARG; ddir=$tdir-done; zdir=${tdir%-import}-zero ;; *) echo "Unknown option \"$1\""; print_help ;; esac done cd $fdir mkdir -p $tdir; mkdir -p $ddir; mkdir -p $zdir; ff='' aa='' cd $fdir for gg in *-??; do bb=${gg%-??} if [ "x$aa" = "x$bb" ]; then if [[ ! -f $tdir/$ff${gg: -3} ]] && [[ ! -f $ddir/$ff${gg: -3} ]] && [[ ! -f $zdir/$ff${gg: -3} ]]; then echo "$ff${gg: -3}" paste $ff $gg | perl -pe 's/"utkl-.."/"utkl"/g' \ | merge-csts | remove-MM.pl > $tdir/$ff${gg: -3} fi fi aa=$bb ff=$gg done * importovat, opravit a exportovat nové soubory do ''merge-export'' * převést do vertikály v adresáři ''.../compare/merge'':$ cd ../merge-export $ prep-for-tag-comparison.sh < -XX-YY | cat -s > ../../compare/merge/nebo ještě lépe$ for ff in *; \ do if [[ ( ! -f ../../compare/merge/${ff%-??-??}.fordiff ) && \ ( ! -f ../../compare/merge/archiv/${ff%-??-??}.fordiff ) ]]; \ then echo $ff; \ prep-for-tag-comparison.sh < $ff | cat -s > ../../compare/merge/${ff%-??-??}; \ fi; done a $ for ff in *; \ do if [[ ( ! -f ../../compare/merge/${ff%-??-??}.fordiff ) && \ ( ! -f ../../compare/merge/archiv/${ff%-??-??}.fordiff ) ]]; \ then echo $ff; \ prep-for-tag-comparison.sh < $ff | cat -s > ../../compare/merge/${ff%-??-??}.fordiff; \ fi; done * vyhledat invalid a opravit; porovnar s ''.fordiff'' a opravit lemmata ==== Dodatečné opravy ==== * pustit na to Milenino ''FREKVENCE/negr_kolokace_rl_vert'' * zkontrolovat skriptem ''check-vert.pl'' * //široko daleko//: opravit tag na ''Dg-------1A----'' * zkontrolovat všechna slova z dokumentu POS * //se mnou// * //potáhne// -- lemma * //potřeba// -- tag * //vole// -- tag * //za svobodna// -- lemma i tag * //naše koně// -- u //naše// dát ''M'' a příznak ''7'' ==== Závěrečné kontroly ==== * Zkontrolovat shodu ''AA.* NN.*'' a ''NN.* AG.*'': $ cd /corp/vert-done $ for ff in *; do echo $ff; check-adj-noun.pl < $ff | grep --color=always "[^\ ]*/[^\ ]*"; done | l -R $ for ff in *; do echo $ff; check-noun-adg.pl < $ff | grep --color=always "[^\ ]*/[^\ ]*"; done | l -R ===== Příprava trénovacího korpusu z PDT ===== ==== Příprava dat ==== * PDT pouze morfologicky označkované: ''/data/PDT-data/variables_nodisamb'' * u těchto dat se rozgenerují X-ka, sjede se to pravidly, tagy se zjednoduší (''annot-prep-vert.sh'') a rozdělí se to na dvě sady: pro dva anotátory a pro jednoho anotátora (provede Tomáš): ''/data/PDT-data/variables_nodisamb/prac/vert-double-anot/'' a ''/data/PDT-data/variables_nodisamb/prac/vert-single-anot/'' * data se převedou do ''csts'' * zkopírují se do ''~/skoumal/PROJEKTY/GACR1012/data/PDT_nod_double-import'' a ''~/skoumal/PROJEKTY/GACR1012/data/PDT_nod_single-import'' * srovnají se délky souborů: ''long-name.sh'' (předem upravit) * priřadí se anotátorům: ''distribute.sh'' (předem upravit) ==== Rozdělení práce ==== * ''PDT_nod_double'' tagují Marie Kelblerová (MK) a Pavel Kopřiva (PK) * [[wiki:user:skoumal:anotace:PDT_nod_double|evidence práce]] * ''PDT_nod_single'' tagují Marie Kelblerová (MK) a Pavel Kopřiva (PK) * [[wiki:user:skoumal:anotace:PDT_nod_single|evidence práce]] * Vadné texty:lnd92254_009 lnd92255_056 lnd92258_053 lnd92258_076 lnd92258_084 lnd92259_056