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