Wiki spuštěna 24. 7. 2025

Skript process_text.sh

Slouží k batchovému paralelizovanému zpracování textů pro korpusy SYN od verze SYN2020.

  • Umístění: /usr/local/syn2020
  • Programy mimo tento adresář:
    • FRAZRL: ~milena/FRAZRL
    • FRANTA: ~milena/FRANTA
    • Perl: /usr/local/syn2020/Perl
  • Systémové proměnné:
    • SYN2020_PREFIX
    • VER_SYN2020
  • Zmražené verze: /usr/local/syn2020/versions

Aktualizace a zmražené verze na různých strojích

Různé kusy SW nutné pro běh process_text.sh se vyrábějí na různých strojích:

  1. LEX_ucs2 na langr.korpus.cz
  2. gc_ucs2_debug.x a gc_ucs2_release.x na langr.korpus.cz
  3. process_text.sh na grimm.ff.cuni.cz
  4. Seznamy a morfologie na chomsky.ff.cuni.cz

Aktualizace

  • LEX:
    • V případě potřeby se aktualizuje seznam tagů (nesmí tam být prázdný řádek):
      cd /data/syn2020
      sort -u Tagy-merged.tsv DoplnTagy-220616.txt | grep . > qqq.tsv; mv qqq.tsv Tagy-merged.tsv 
      cp -p Tagy-merged.tsv /net/grimm/usr/local/langr/rules/src/ourtags.txt
      rsync -avz Tagy-merged.tsv langr:/usr/local/langr/src/ourtags.txt
    • Na langr.korpus.cz se pustí kompilace (přes webové rozhraní).
    • Na grimm se pustí
      cd /usr/local/syn2020
      rsync -avz langr:/cnk/local/ssd/langr/linguists/tmp/hanka/LEX_ucs2 .
      chmod o+r LEX_ucs2

      Na chomského a jakobsona se pak LEX zkopíruje z grimma.

  • process_text.sh se musí kopírovat na chomsky.ff.cuni.cz a jakobson.ff.cuni.cz:
    cd /usr/local/syn2020/bin
    rsync -avz process_text.sh /net/chomsky/usr/local/syn2020/bin/
    rsync -avz process_text.sh /net/jakobson/usr/local/syn2020/bin/

    a dále na sag.korpus.cz a lovelace.korpus.cz. Na tyto dva stroje je to lepší pomocí verzí (viz níže).

  • Morfologie se updatuje na chomském a musí se odtamtud dostat na ostatní stroje. Na grimma a to dělá skript, kterým se morfologie vyrábí. Aktualizovanou morfologii potřebujeme na langrovi kvůli testování pravidel, což uděláme pomocí verzí (viz níže).
    V adresáři /usr/local/syn2020/Pseudomorfologie se vyrábí soubor Errors.tsv, podle kterého bychom měli zkontrolovat tagy.
  • Tagger MorphoDiTa se nachází na lovelace/langr/trnka/sag a musí se odtud zkopírovat na grimma:
    • Embeddings Tomáš udržuje v adresáři /cnk/work/lovelace/embeddings. Aktuální verze:
      4730938446 Mar 13 18:30 SYNv7cswiki_lc2.5.300limited1.5M.npz
    • Kopie, se kterou se pracuje, je v adresáři /cnk/local/ssd/lovelace/morphodita-research/embeddings a jmenuje se SYNv7cswiki_lc.npz. Na grimmovi provedeme:
      cd /usr/local/syn2020/morphodita-research/embeddings
      rsync -avz love:/cnk/local/ssd/lovelace/morphodita-research/embeddings/SYNv7cswiki_lc.npz .
    • Nový model je v nějakém podadresáři pod /cnk/work/lovelace/MorphoditaModels, např. Model_0622_ALL. Provedeme:
      cd ../models
      rsync -avz love:/cnk/work/lovelace/MorphoditaModels/Model_0622_ALL .

      (jméno modelu se může měnit).

      cp -p Current_Model/options.json.grimm Model_0622_ALL
      rm Current_Model
      ln -s Model_0622_ALL Current_Model
      cd Current_Model
      cp -p options.json options.json.love
      cp -p options.json.grimm options.json

Aktualizace pomocí verzí (týká se lovelace)

  • Nejdříve uděláme verzi na grimmovi:
    sudo bash -l
    make-ver-syn2020.sh

    Je třeba zkontrolovat, zda soubory option.json.* mají správné adresáře pro embeddings.

  • Potom aktualizujeme verzi v korpusu:
    ssh love
    cd /cnk/local/ssd/lovelace/versions
    # rsync -avz grimm:/usr/local/syn2020/versions/<verze> .
    rsync -avz grimm:/work/usr-local/syn2020/versions/<verze> .

    Číslo verze se mění. Došlo-li ke změně verze, opravíme link latest:

    rm latest
    ln -s <verze> latest

    Dále opravíme proměnnou VER_SYN2020 ve skriptu .versyn2020.rc, aby obsahovala aktuální hodnotu, a vyměníme soubor options.json:

    cd latest/syn2020/morphodita-research/models/Current_Model
    cp -p options.json.love options.json

Aktualizace na chomském a jakobsonovi

  • Na chomském a jakobsonovi aktualizujeme takto:
    cd /usr/local
    sudo rsync -avz --exclude 'versions' --exclude "*~" --exclude 'Pseudomorfologie' --exclude 'UCNK_tagger' /net/grimm/usr/local/syn2020 .
    ssh jakobson
    cd /usr/local
    sudo rsync -avz --exclude 'versions' --exclude "*~" --exclude 'Pseudomorfologie' --exclude 'UCNK_tagger' --exclude "arch-syn2020*" grimm:/cnk/common/tools/taggers/cs_DEV/syn2020 .
  • Zmražené verze na chomském a jakobsonovi:
    sudo bash -l
    cd /usr/local/syn2020/versions/necessary_files
    rsync -avz /net/grimm/usr/local/syn2020/versions/necessary_files/*-202206 .
    make-ver-syn2020.sh

QR Code
QR Code wiki:user:skoumal:infra:process_text_maintenance (generated for current page)