Wiki spuštěna 24. 7. 2025

Příprava korpusů

Postup pro obrábění korpusů pro ČNK

Vše se dělá na grimmovi, v adresáři /corp a jeho podadresářích.

Předpokládáme, že existují adresáře in a in-il2. V in jsou texty v kódování CP1250, v in-il2 v latin2, aby se lépe editovaly.

Po nainstalování nové verze morfologie je nutné překompilovat LEX (v LangRu) a zkopírovat ho do adresáře /corp.

Po podstatných opravách pravidel je třeba provést totéž.

Názvy podadresářů jsou konstruovány tak, aby bylo jasno, v jakém jsou data formátu (vert, csts nebo cstk) a jaké kroky byly provedeny (např. vert-rules-frazrl-rulh1). Posloupnost začíná u rules, že je předtím in a morf, se předpokládá.

Postup po jednotlivých krocích

  1. Nejdříve se přesuneme do pracovního adresáře.
    cd /corp/<korpus>
  2. Aktualizujeme in.
    make-corp.sh -t in -v -p8
  3. Provedeme morfologickou analýzu.
    make-corp.sh -t vert-morf -v -p8
  4. Provedeme první kolo pravidel.
    make-corp.sh -t vert-rules -o wide_vertical -v -p8

    Provede se jenom root, výstup je v RL tazích.

  5. Teď se provedou Mileniny frazémy. Nejdřív je třeba převést korpus do formátu cstk. Pak se přesuneme do adresáře …/SYN2005.1 s Mileninými programy a tabulkami, ale zároveň potřebujeme v tomto adresáři právo zápisu. Toho docílíme tím, že si adresář od Mileny zkopírujeme.
    make-corp.sh -t cstk-rules -s vert-rules -v -p8
    cd
    rsync -avz ~milena/SYN2005.1 .
    cd SYN2005.1
    make-frazrl.sh -d . -k /corp/<korpus> -v -p8
    cd /corp/<korpus>
  6. Následuje druhé kolečko pravidel, tentokrát s heuristikou, ale nejdřív musíme zkonvertovat korpus zase do vertikály. Při spuštění pravidel nesmíme zapomenout na RL tagy a taky musíme opravit tagy, aby vyhovovaly programu gc.x. K tomu slouží program normalize.pl (a parametr -n).
    make-corp.sh -t vert-rules-frazrl -s cstk-rules-frazrl -v -p8
    make-corp.sh -t vert-rules-frazrl-rulh1 -s vert-rules-frazrl -i wide_vertical -o wide_vertical -n -v -p8
  7. Po pravidlech se konečně dostane na morče, ale předtím musíme zkonvertovat korpus do csts
    make-corp.sh -t csts-rules-frazrl-rulh1 -s vert-rules-frazrl-rulh1 -v -p8
    make-corp.sh -t csts-rules-frazrl-rulh1-tag -s csts-rules-frazrl-rulh1 -v -p8
  8. Po morčeti opravíme být. K tomu slouží opět Milenin program, tentokrát v adresáři FREKVENCE. Převod z cstk do csts provedeme přes vert a při tom taky odmažeme přebytečná lemmata a tagy (parametr -u).
    make-corp.sh -t vert-rules-frazrl-rulh1-tag -s csts-rules-frazrl-rulh1-tag -u -v -p8
    make-corp.sh -t cstk-rules-frazrl-rulh1-tag -s vert-rules-frazrl-rulh1-tag -v -p8
    cd
    rsync -avz ~milena/FREKVENCE .
    cd FREKVENCE
    corr-byt-rl.sh -d . -k /corp/<korpus> -v -p8
    cd /corp/<korpus>
  9. Po být přidáme vidy, ale nejdřív musíme konvertovat do vert.
    make-corp.sh -t vert-rules-frazrl-rulh1-tag-byt -s cstk-rules-frazrl-rulh1-tag-byt -v -p8
    make-asp.sh -t vert-rules-frazrl-rulh1-tag-byt-vid -s vert-rules-frazrl-rulh1-tag-byt -v
  10. A nakonec provedeme konečné opravy.
    corr-asp.sh -t vert-rules-frazrl-rulh1-tag-byt-vid-corr -s vert-rules-frazrl-rulh1-tag-byt-vid -v -p8

Vše v jednom kroku

Všechny kroky popsané v předchozí sekci je možné provést zadáním jediného příkazu

make-whole-corp.sh

Defaultně se začne provedením in (první target) a skončí se provedením závěrečných oprav (poslední target). Je možné pouštět proces jenom odněkud někam:

make-whole-corp.sh -t <first_target> -T <last_target> -v -p8

Místo celých dlouhých názvů targetů se uvádějí jenom jejich poslední části (in, morf, rules, frazrl atd.):

make-whole-corp.sh -t morf -T rulh1 -v -p8

Přepínač -v znamená verbose, ale není tak upovídaný jako v make-corp.sh. Přepínač -p je počet procesorů, které pracují.

Konverze do manatee

Do manatee konvertujeme korpusy ve tvaru vert příkazem manatee-registry.sh.

manatee-registry.sh -c . -f vert-rules-frazrl-rulh1-tag-byt-vid-corr

QR Code
QR Code utkl:navody:priprava_korpusu (generated for current page)