| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| wiki:user:skoumal:infra:process_text_run [2025/11/26 15:25] – [Výroba vlastních korpusů] skoumal | wiki:user:skoumal:infra:process_text_run [2026/01/02 01:56] (current) – [Kolokace pomocí LEMURu] skoumal |
|---|
| * Původní ''XML'' soubory jsou umístěny v adresáři ''orig''. Žádné odstraňování url a e-mailů neprovádíme. | * Původní ''XML'' soubory jsou umístěny v adresáři ''orig''. Žádné odstraňování url a e-mailů neprovádíme. |
| * Použijeme Vondřičkův script:<code>cd orig | * Použijeme Vondřičkův script:<code>cd orig |
| for ff in *.xml; do echo $ff; xml2standoff $ff; done</code>anebo paralelně<code> | for ff in *.xml; do echo $ff; xml2standoff -p cnk2020 -t head,p,text $ff; done</code>anebo paralelně<code> |
| parallel-mask.sh -C xml2standoff -d . -m ".*\.xml$" -p45 -v</code> | parallel-mask.sh -C "xml2standoff -p cnk2020 -t head,p,text" -d . -m ".*\.xml$" -p45 -v</code> |
| * Holé texty ''.txt'' zkopírujeme do adresáře ''in-utf8''. | * Holé texty ''.txt'' zkopírujeme do adresáře ''in-utf8''. |
| |
| |
| ===== Syntax ===== | ===== Syntax ===== |
| | |
| | ===== Kolokace pomocí LEMURu ===== |
| | |
| | * Provede se tagování až do fáze ''vert-rules0-frazrl-rules-mdita-sublm-agr''. |
| | * Potom se spustí anotace LEMURem:<code>cd <korpus> |
| | mwe_tagger -i vert-rules0-frazrl-rules-mdita-sublm-agr/ -o mwe_out-prod -m /cnk/work/skoumal/LEMUR/model-251220-prod.msgpack -n 100 -b -t</code> |
| | * Spojí se se syntaktickou anotací:<code>combine-mwe-synt.sh -p 100 -s vert-synt/ -v</code>Výsledek je v adresáři ''vert-mwe-synt''. |
| | * Pokud jsou zapotřebí opravy, provedou se teď:<code>mkdir -p vert-mwe-synt-corr |
| | cd /cnk/work/lovelace/mwe_corr |
| | ls ~/cnk-work/INFRA/SYNv14/SYN2025/vert-mwe-synt | parallel -j100 "echo {}; ./Fix_MWE_in_vert_with_syntax.pl < ~/cnk-work/INFRA/SYNv14/SYN2025/vert-mwe-synt/{} | ./Odfiltruj_prazdne_tabulatory.pl > ~/cnk-work/INFRA/SYNv14/SYN2025/vert-mwe-synt-corr/{}"</code>(akorát že to nefunguje). |
| | * Bez syntaktické anotace se použje skript ''check-mwe-corpus.sh'': |
| | * soubory s kolokacemi zkopírují do adresáře ''vert-mwe-prod-corr'' jako ''.vrt'' |
| | * Se syntaxí:<code>cd vert-mwe-synt-corr |
| | rsync -avz ../vert-mwe-synt/*.vrt . |
| | cd .. |
| | finish-mwe-synt-corpus.sh -p120 -v</code> |
| |
| |
| parallel-filter.sh -C "check-vert-tag-v2020.pl" -n -s vert-rules0-frazrl-rules -p80</code>Nebo po tagování:<code> | parallel-filter.sh -C "check-vert-tag-v2020.pl" -n -s vert-rules0-frazrl-rules -p80</code>Nebo po tagování:<code> |
| parallel-filter.sh -C "check-vert-tag-v2020.pl -t -l21" -n -s vert-rules0-frazrl-rules-mdita-correct -p80</code>Nebo na úplném konci:<code> | parallel-filter.sh -C "check-vert-tag-v2020.pl -t -l21" -n -s vert-rules0-frazrl-rules-mdita-correct -p80</code>Nebo na úplném konci:<code> |
| parallel-filter.sh -C "check-vert-tag-v2020.pl -c5 -k -t -V" -n -s vert-rules0-frazrl-rules-mdita-[kolok-]sublm-agr -p45</code> | parallel-filter.sh -C "check-vert-tag-v2020.pl -c5 -k -t -V" -n -s vert-rules0-frazrl-rules-mdita-[kolok-]sublm-agr -p45</code>Tagujeme-li LEMUREM, použijeme přepínač ''-w'' místo ''-k'':<code> |
| | parallel-filter.sh -C "check-vert-tag-v2020.pl -c5 -w -t -V" -n -s vert-rules0-frazrl-rules-mdita-[kolok-]sublm-agr -p45</code> |
| * Pro kontrolu úplnosti souborů potřebujeme adresář **''in-utf8''**:<code>cd vert-prislovi-kolok | * Pro kontrolu úplnosti souborů potřebujeme adresář **''in-utf8''**:<code>cd vert-prislovi-kolok |
| for ff in *; do no_space_after_token_morphanal.pl ../in-utf8/$ff /dev/null < $ff > /dev/null; done</code>nebo paralelně:<code> | for ff in *; do no_space_after_token_morphanal.pl ../in-utf8/$ff /dev/null < $ff > /dev/null; done</code>nebo paralelně:<code> |
| cd vert-prislovi-kolok | cd vert-prislovi-kolok |
| ls | parallel -j45 "no_space_after_token_morphanal.pl ../in-utf8/{} /dev/null < {} > /dev/null"</code> | ls -S | parallel -j45 "no_space_after_token_morphanal.pl ../in-utf8/{} /dev/null < {} > /dev/null"</code> |
| |
| ===== Opravy chybějících nebo vadných souborů ===== | ===== Opravy chybějících nebo vadných souborů ===== |
| |
| * Příprava souborů pro vlastní korpus:<code>cd .../vert-corr | * Příprava souborů pro vlastní korpus:<code>cd .../vert-corr |
| parallel-mask.sh -C "standoff2xml -c ../../../LEMUR/ann2standoff.ini -p frantalemur" -m ".*\.txt$" -v -p45 -d.</code>nebo bez frazémů:<code> | parallel-mask.sh -C "standoff2xml -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p frantalemur" -m ".*\.txt$" -v -p45 -d.</code>nebo bez frazémů:<code> |
| parallel-mask.sh -C "standoff2xml -p cnk2020lemur" -m ".*\.txt$" -v -p100 -d.</code>anebo s FRANTOU:<code> | parallel-mask.sh -C "standoff2xml -p cnk2020" -m ".*\.txt$" -v -p100 -d.</code> |
| for ff in *.ann.xml; do gg=${ff%.ann.xml}.txt; xml2vrt -c ../../../LEMUR/ann2standoff.ini -p cnk2020lemur -P none $ff | perl -pe "s/^(<doc) .*>$/\1 id=\"$gg\">/"; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala | * Příprava XML souborů |
| </code>s FRANTOU a Lemurem:<code>for ff in *.ann.xml; do gg=${ff%.ann.xml}.txt; xml2vrt -c ../../../LEMUR/ann2standoff.ini -p frantalemur $ff | perl -pe "s/^(<doc) .*>$/\1 id=\"$gg\">/"; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala | * bez frazémů:<code>for ff in *.ann.xml; do gg=${ff%.ann.xml}.txt; xml2vrt -p cnk2020 $ff | perl -pe "s/^(<doc) .*>$/\1 id=\"$gg\">/"; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala</code>nebo jsou-li správné hlavičky už nachystané<code>for ff in *.ann.xml; do xml2vrt -p cnk2020 $ff; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala</code>anebo paralelně jenom pro kontrolu<code> |
| </code> | ls -S *.ann.xml | parallel -j100 "xml2vrt -p cnk2020 {} > /dev/null"</code> |
| | * s FRANTOU:<code>for ff in *.ann.xml; do gg=${ff%.ann.xml}.txt; xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p franta $ff | perl -pe "s/^(<doc) .*>$/\1 id=\"$gg\">/"; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala</code>nebo jsou-li správné hlavičky už nachystané<code>for ff in *.ann.xml; do xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p franta $ff; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala</code>anebo paralelně jenom pro kontrolu<code> |
| | ls -S *.ann.xml | parallel -j100 "xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p franta {} > /dev/null"</code> |
| | * s LEMURem:<code>for ff in *.ann.xml; do gg=${ff%.ann.xml}.txt; xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p lemur $ff | perl -pe "s/^(<doc) .*>$/\1 id=\"$gg\">/"; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala</code>nebo jsou-li správné hlavičky už nachystané<code>for ff in *.ann.xml; do xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p lemur $ff; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala</code>anebo paralelně jenom pro kontrolu<code> |
| | ls -S *.ann.xml | parallel -j100 "xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p lemur {} > /dev/null"</code> |
| | * s FRANTOU a Lemurem:<code>for ff in *.ann.xml; do gg=${ff%.ann.xml}.txt; xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p frantalemur $ff | perl -pe "s/^(<doc) .*>$/\1 id=\"$gg\">/"; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala |
| | </code>nebo jsou-li správné hlavičky už nachystané<code>for ff in *.ann.xml; do xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p frantalemur $ff; done > /cnk/common/korpus/vertikaly/<korpus>/vertikala</code>anebo paralelně jenom pro kontrolu<code> |
| | ls -S *.ann.xml | parallel -j100 "xml2vrt -c /cnk/work/skoumal/LEMUR/ann2standoff.ini -p frantalemur {} > /dev/null"</code> |
| |
| |