====== Statistiky kolem etalonu ====== ===== Adresáře pro porovnání ===== * $ cd /corp/etalon $ldir drwxr-xr-x 2 skoumal staff 4096 2013-05-13 19:20 compare/ drwxr-xr-x 2 skoumal staff 4096 2013-05-14 09:40 vert-done/ drwxrwxr-x 2 skoumal staff 4096 2013-05-13 15:30 vert-morf/ drwxr-xr-x 2 skoumal staff 4096 2013-05-13 18:22 vert-morf-cmp/ drwxrwxr-x 2 skoumal staff 4096 2013-05-13 15:31 vert-rules/ drwxr-xr-x 2 skoumal staff 4096 2013-05-13 19:11 vert-rules-cmp/ drwxrwxr-x 2 skoumal staff 4096 2013-05-13 12:47 vert-rules-frazrl/ drwxr-xr-x 2 skoumal staff 4096 2013-05-13 15:07 vert-rules-frazrl-cmp/ drwxrwxr-x 2 skoumal staff 4096 2013-05-13 12:47 vert-rules-frazrl-rules/ drwxr-xr-x 2 skoumal staff 4096 2013-05-13 15:07 vert-rules-frazrl-rules-cmp/ ===== Příprava dat ===== * Nejdříve soubory ve všech stádiích zpracování upravíme:$ cd .../vert-morf $ for ff in *; do echo $ff; normalize-anot.pl < $ff | post-disamb.pl > ../vert-morf-cmp/$ff; done a totéž pro ''vert-rules'', ''vert-rules-frazrl'' a ''vert-rules-frazrl-rules''. * Potom vyrobíme sobory pro porovnání programem ''compare-Mvert'':$ cd ../vert-done $ for ff in *; do echo $ff; paste $ff ../vert-morf-cmp/$ff | perl -pe 's/^[\t]+$//' > ../compare/morf-$ff; done a opět opakovat pro ''vert-rules'', ''vert-rules-frazrl'' a ''vert-rules-frazrl-rules''. Předpony jsou ''morf-'', ''rules-'', ''frazrl-'' a ''rfr-''. ===== Výpočet recallu ===== * Použije se program ''compare-Mvert'':$ cd .../compare $ cat morf-???????? | compare-Mvert tag-table.txt > /dev/null $ cat morf-?????????? | compare-Mvert tag-table.txt > /dev/null $ cat morf-????????? | compare-Mvert tag-table.txt > /dev/nullZ údajů ''Lines'' a ''Diff'' se spočítá procento recallu. ===== Výpočet počtu tagů/token ===== * K tomu slouží program ''count-spaces'':$ cd /corp/etalon/vert-morf $ cat ???????? | count-spaces $ cat ?????????? | count-spaces $ cat ????????? | count-spacesZajímavé jsou pro nás údaje ''Forms'', ''Tags'' a ''Uniq''. Stejný výpočet provedeme i pro ''vert-rules'', ''vert-rules-frazrl'' a ''vert-rules-frazrl-rules''. ===== Porovnání anotátorů ===== * Nejdříve si vyrobíme adresáře pro anotované texty:$ mkdir .../compare/anotatori/PUB $ mkdir .../compare/anotatori/NOV $ mkdir .../compare/anotatori/SCI * Pak do nich převedeme anotované texty:$ cd .../data/PUB-export $ for ff in *; do echo $ff; prep-for-tag-comparison.sh < $ff |\ perl -pe 's/<.*//' | cat -s > ../../compare/anotatori/PUB/$ff; done $ cd ../NOV-export $ for ff in *; do echo $ff; prep-for-tag-comparison.sh < $ff |\ perl -pe 's/<.*//' | cat -s > ../../compare/anotatori/NOV/$ff; done $ cd ../SCI-export $ for ff in *; do echo $ff; prep-for-tag-comparison.sh < $ff |\ perl -pe 's/<.*//' | cat -s > ../../compare/anotatori/SCI/$ff; done * Vyrobit seznamy slitých textů:$ cd .../compare/merge/done $ for ff in ????????; do (cd ../../anotatori/PUB/; ls $ff*); done $ cat > ../../PUB-done.txt $ for ff in ??????????; do (cd ../../anotatori/NOV/; ls $ff*); done $ cat > ../../NOV-done.txt $ for ff in ?????????; do (cd ../../anotatori/SCI/; ls $ff*); done $ cat > ../../SCI-done.txt * Vyrobit soubory pro porovnání 3 tagů:$ cd .../compare $ vert-vert-vert.sh merge/archiv/.fordiff anotatori/PUB/- anotatori/PUB/- \ > cmp-3input/-- anebo použít skript ''make-3input.pl''$ make-3input.pl PUB < PUB-done.txt #!/usr/bin/perl use autodie; $num_args = $#ARGV + 1; if ($num_args != 1) { print "\nUsage: make-3input.pl genre_abbrev\n"; exit; } $genre = $ARGV[0]; chdir "/home/skoumal/PROJEKTY/GACR1012/compare"; while ($radek = ) { chomp $radek; @file = split("[ ]+",$radek); @parts0 = split('-',$file[0]); @parts1 = split('-',$file[1]); print $radek; @inp = ("merge/archiv/$parts0[0].fordiff","anotatori/$genre/$file[0]","anotatori/$genre/$file[1]"); $outf = "cmp-3input/$parts0[0]-$parts0[1]-$parts1[1]"; print " > $outf\n"; open ($outhandle,'>',$outf); print $outhandle `vert-vert-vert.sh $inp[0] $inp[1] $inp[2]`; close ($outhandle); } * Vyrobíme soubory s porovnáním chyb a statistiky uložíme ručně do zvláštních souborů:$ cd .../compare/cmp-3input $ for ff in ????????-??-??; do echo $ff; compare-3vert ../tag-table.txt -F < $ff \ > ../cmp-3result/$ff; done $ cat > ../3vert-PUB-results.txt $ for ff in ?????????-??-??; do echo $ff; compare-3vert ../tag-table.txt -F < $ff \ > ../cmp-3result/$ff; done $ cat > ../3vert-SCI-results.txt $ for ff in ??????????-??-??; do echo $ff; compare-3vert ../tag-table.txt -F < $ff \ > ../cmp-3result/$ff; done $ cat > ../3vert-NOV-results.txt