Wiki spuštěna 24. 7. 2025

Tagování textů pro MDA

  • Texty dostáváme s mark-upem
    <chunk id="09450836B" batch="7B" sample="B" length="10k-100k" crawl_date="2013-06-28" url="http://www.janebaspisy.php5.cz/?a=knihy&b=nadeje3" langdiff="0.16" tld="cz" aref="janebaspisy.php5.cz" position_in_text="===NONE===" mode="web" division="sample">
    <p heading="1">
    <s>
    3       3       Nm      C=------------- 1
    <g/>
    )       )       Zz      Z:------------- 1
    Rut     Rut     Nn      NNMS1-----A---- 1
    </s>
    </p>

    v jednom ohromném souboru.

  • Na grimmovi máme adresář /store/corp/MDA, ve kterém děláme další podadresáře (např. aranea).
  • Text nasekáme na chunky:
    cd aranea/chunks
    split-chunk.pl < ../vertikala
  • Ponecháme pouze první sloupec a převedeme do csts:
    parallel-filter.sh -C "cut -f1 | perl -pe 's/^<$/&lt;/' | perl -pe 's/^>$/&gt;/' \
    | perl -pe 's/\.\.[\.]*/&whellip;/g' | perl -pe 's/(…)+/&hellip;/g' \
    | perl -pe 's/\-\-\-[\-]*/&dash;/g' | perl -pe 's/\!\![\!]*/&exclam;/g' \
    | perl -pe 's/\?\?[\?]*/&question;/g' | perl -pe 's/sssss+/sssss/g' \
    | perl -pe 'undef $/; s:\n<g/>\n\xc2\x9d:ť:g' | perl -pe 'undef $/; s:\n\x7f::g' \
    | perl -pe 'undef $/; s:\n\xc2\x81::g' | perl -pe 'undef $/; s:\n\xc2\x8d::g' \
    | perl -pe 'undef $/; s:\n\xc2\x8f::g' | perl -pe 'undef $/; s:\n\xf0\x9f\x91\xa1::g' \
    | perl -pe 'undef $/; s:\n\xe2\x9c\x8c::g' | vert_csts.pl | fgrep -v '<D>' | perl -pe 's:<g/>:<D>:' \
    | perl -pe 's#>https?://.*#>&url;#g' | perl -pe 'undef $/; s/<c>\n<p>\n<s>\n/<c>\n/'" \
    -p45 -s chunks -t csts -v
  • Provedeme samotnou morfologii:
    make-corp.sh -s csts -t csts-morf -Eucs2 -A0 -B0 -M -p45 -v

    (tohle můžeme provést na frozen verzi).

  • Provedeme zbytek taggingu:
    screen make-whole-corp-csts.sh -Eucs2 -M -v -p45 -trules
  • Označíme kolokace:
    screen make-kolok-csts.sh -Eucs2 -k. -p45 -v
  • Průběžně provádíme kontroly:
    cmp-lines-csts.sh csts csts-kolok
    parallel-filter.sh -n -C "check-csts.pl 16" -p45 -s csts-kolok
  • Převedeme csts zpět do vertikály s mark-upem:
    parallel-filter.sh -C "perl -pe 'undef $/; s:<a>\n(.*\n)+</a>\n::' \
    | perl -pe 'undef $/; s:</?csts[^\n]+\n::g' | perl -pe 'undef $/; s:</?doc>\n::g' \
    | perl -pe 'undef $/; s:</?c>\n::g' | perl -pe 's/<[fd][^>]*>//' | perl -pe 's/<M[MH][lt]>/\t/g' \
    | perl -pe 's:<D>:<g/>:'" -p45 -s csts-kolok -t chunks-kolok

QR Code
QR Code wiki:user:skoumal:mda:mda-tagging (generated for current page)