Tagování textů a generování tvarů pro databázi variability.
Tagování si má být co nejpodobnější, a proto vše sjíždíme stejnými nástroji a neděláme žádné dodatečné úpravy. Jednotlivé součásti ale potřebují speciální přípravu a potom zase nápravu.
Data dostáváme ve vertikále s mark-upem. Některá vertikála má jenom formy, některá i lemmata a tagy, a některá původní formy. Každá má ale trochu jiný mark-up. Většinu mark-upu můžeme vyházet, protože pro účely variability není zapotřebí.
<doc …>, <s …>, <f>, <k>, <m>, <n>, <o>, <v> a <x>.splitdoc-xml new_diakorp_v6 < new_diakorp_v6
<f> a další nahradíme entitami: &tagf;, &tagfc; atd.:<code>
cd orig
cut -f1 new_diakorp_v6 | tag2ent.pl | vert_csts_simple.pl > ../csts/new_diakorp_v6</code>for ff in new_diakorp_v6.00*; do echo $ff; cut -f1 $ff | grep -Pv "^</?[fkmnovx]>" \ | vert_csts_simple.pl > ../csts/$ff; done
docy:splitdoc-xml oral_vertikala < oral_vertikala
<doc …>, <sp …> a <seg …>.<sp> přejmenujeme na <s> a <seg> nahradíme entitou:<code>
for ff in oral_vertikala.*; do echo $ff; cut -f1 $ff | fill-spaces.pl | perl -pe 's:^(</?s)p:$1:' \
| tag2ent.pl | vert_csts_simple.pl > ../csts/$ff; done</code><seg> s názvy nahrávek.<sp> přejmenujeme na <s> a <seg> vyhodíme:for ff in oral_vertikala.0*; do echo $ff; cut -f1 $ff | perl -pe 's:^(\([^ ]+) .*:$1_):' \ | grep -Pv "^</?seg" | perl -pe 's:^(</?s)p:$1:' | vert_csts_simple.pl > ../csts/$ff; done
<s> na <sp>.docy:splitdoc-xml ortofon_vertikala < ortofon_vertikala
<doc …>, <sp …>, <overlap>, <para>, <pw> a <unclear>.<sp> přejmenujeme na <s> a <pw> nahradíme entitou:<code>
for ff in ortofon_vertikala.*; do echo $ff; cut -f1 $ff | fill-spaces.pl | perl -pe 's:^(</?s)p:$1:' \
| tag2ent.pl | vert_csts_simple.pl > ../csts/$ff; done</code><sp> přejmenujeme na <s> a <pw> vyhodíme:for ff in ortofon_vertikala.00*; do echo $ff; cut -f1 $ff | perl -pe 's:^(\([^ ]+) .*:$1_):' \ | grep -Pv "^</?overlap" | grep -Pv "^</?para" | grep -Pv "^</?pw" | grep -Pv "^</?unclear" \ | perl -pe 's:^(</?s)p:$1:' | vert_csts_simple.pl > ../csts/$ff; done
<s> na <sp>.splitdoc-xml vert_archiv_19_stol < vert_archiv_19_stol
<. Nahradíme je entitou <. Při restaurování musíme dát pozor, aby byly na řádku samotné.<doc …> a <s>. Soubory upravíme takto:for ff in vert_archiv_19_stol.00*; do echo $ff; cut -f1 $ff | perl -pe 's/^<$/</' \ | vert_csts_simple.pl > ../csts/$ff; done
csts:make-corp.sh -s csts -t csts-morf -Eucs2 -M -A1 -B0 -p45 -v
screen make-whole-corp-csts.sh -Eucs2 -M -f -v -p45 -trules
-li. U nich přeskočíme frazrl:cmp-lines-csts.sh csts csts-rules-frazrl > diffs-frazrl.txt for ff in $(grep "File: " diffs-frazrl.txt | cut -f2 -d' '); \ do cp -p csts-rules/$ff oprava/csts-rules-frazrl/; done cd oprava screen make-whole-corp-csts.sh -Eucs2 -M -f -v -p45 -trulh1
cmp-lines-csts.sh csts csts-rules-frazrl-rulh1-tag-vid-corr
csts včetně tagů:for ff in *; do echo $ff; check-csts-tag.pl 16 < $ff > /dev/null; done
cd csts-rules-frazrl-rulh1-tag-vid-corr for ff in new_diakorp_v6.00* vert_archiv_19_stol.00*; do echo $ff; csts2cnk.pl < $ff \ > ../vert-corr/$ff; done for ff in or*; do echo $ff; csts2cnk.pl < $ff | perl -pe 's:^(</?s):$1p:' > ../vert-corr/$ff; done
cut -f1-3 new_diakorp_v6.00* > ../vert-tagged/new_diakorp_v6 cut -f1-3 oral_vertikala.0* > ../vert-tagged/oral_vertikala cut -f1-3 ortofon_vertikala.00* > ../vert-tagged/ortofon_vertikala cut -f1-3 vert_archiv_19_stol.00* > ../vert-tagged/vert_archiv_19_stol
split na menší kousky.synth:for ll in $(cat lemmata/lemmata.aa); do echo $ll; echo $ll | cstocs utf8 il2 | synth | cstocs il2 utf8 > tvary/tvary.aa; done &
cd tvary
for ff in tvary.??; do echo $ff; list2morfflex.pl < $ff > ../found/tvary.found.${ff#tvary.}; done
for ll in $(cat lemmata/lemmata.ag); do for i in 1 2 3 4 5 6 7 8 9; do echo $ll-$i; echo $ll-$i | cstocs utf8 il2 | synth | cstocs il2 utf8; done; done > tvary/tvary.ag
cd ../found cat tvary.found.a? | JH-wide-var.pl | grep -vP "\tVi-.---3--.---.\t" > ../variabilita.tvary.lem-tag-form.txt
cd .. cut -f2 variabilita.tvary.lem-tag-form.txt | sort -u | check-tags.pl