Příprava korpusu pro porovnání Etalonu s novou morfologií
- Etalon je v adresáři
~/PROJEKTY/INFRASTRUKTURA/Etalon/Verze/0.9/1
(vertikála) - Texty nově projeté morfologií jsou na grimmovi v adresáři
/store/corp/ETALON/Etalon-newmorph/csts-morf
- Vyrobíme další adresář
vert-Etalon
a do něj dáme upravené soubory z Etalonu:cd ~/PROJEKTY/INFRASTRUKTURA/Etalon/Verze/0.9/1 for ff in *; do perl -pe 's/\tXX--/\tF%--/' $ff | perl -pe 's/(\t([^\t\n])[^\t\n]+).$/$1\t$2/' \ > /store/corp/ETALON/Etalon-newmorph/vert-Etalon/$ff; done
které nemají vid, mají
XX
opravené naF%
a mají sloupec s POS - Vyrobíme adresář
csts-POS
, do kterého uložíme soubory zpracované novou morfologií:parallel-filter.sh \ -C "merge-lemmas.pl | remove-dupl-csts-mark.pl M | merge-tags.pl | merge-POS.pl" \ -p 45 -scsts-morf -t csts-POS -v
které mají scuknutá lemmata a tagy a mají tag
<MMp>
pro POS - Tyto soubory převedeme do vertikály:
parallel-filter.sh \ -C "csts2cnk.pl | perl -pe 's/\tM<MMp>/<MMp>/' | perl -pe 's/<MMp>/\t/' | sed '1{/^$/d}'" \ -s csts-POS -t vert-POS -e -v -p45
které pak ještě přejmenujeme:
cd vert-POS for ff in *.csts; do mv $ff ${ff%.csts}; done
- Provedeme kontrolu, že jsou soubory ve
vert-Etalon
avert-POS
stejně dlouhé:for ff in *; do echo $ff; sdiff -s <(cut -f1 $ff) <(cut -f1 ../vert-Etalon/$ff); done | l
(měly by se lišit jen entity)
- Sloučíme vertikály:
mkdir vert-cmp cd vert-Etalon for ff in *; do echo $ff; paste $ff <(cut -f2- ../vert-POS/$ff) | compare-lemmas.pl \ > ../vert-cmp/$ff; done
- Ze souborů ve
vert-cmp
uděláme korpus (na chomském):cd /net/grimm/store/corp/ETALON/Etalon-newmorph manatee-registry.sh -c . -f vert-cmp -t
definiční soubor:
PATH /net/chomsky/store/manatee-registry/Etalon-newmorph-cmp-data ENCODING utf-8 INFO "" ATTRIBUTE word { TYPE "FD_FGD" } ATTRIBUTE elemma { TYPE "FD_FGD" } ATTRIBUTE etag { TYPE "FD_FGD" } ATTRIBUTE epos { TYPE "FD_FGD" } ATTRIBUTE nlemma { TYPE "FD_FGD" MULTIVALUE y MULTISEP "|" } ATTRIBUTE ntag { TYPE "FD_FGD" MULTIVALUE y MULTISEP "|" } ATTRIBUTE npos { TYPE "FD_FGD" MULTIVALUE y MULTISEP "|" } ATTRIBUTE elnl { TYPE "FD_FGD" } ATTRIBUTE etnt { TYPE "FD_FGD" } STRUCTURE doc { ATTRIBUTE name } STRUCTURE s