Wiki spuštěna 24. 7. 2025

Návod na výrobu SYNů

Do verze SYNv8 se pracovalo s “hybridem”, od verze SYN2020 se pracuje se skriptem process_text.sh. Návody na jednotlivé verze:

Získání aktuálních dat

  • Aktuální Newtony jsou v adresáři /cnk/work/korpusy/newton. Zkopírujeme je do adresáře /home/skoumal/cnk-work/SYNvXX/NEWTON20YY/orig:
    cd cnk-work/SYNv13
    mkdir -p NEWTON2023/orig
    for dd in /cnk/work/korpusy/newton/2023/*; do echo $dd; rsync -az $dd/2023/* NEWTON2023/orig/; done
  • Takto zkopírujeme všechny Newtony od r. 2015

Oprava vadných xml

V .xml souborech, které dostáváme z ÚČNK, mohou být jednak vadné UTF znaky a jednak chybně zpracované ligatury fi a fl. Programy, které to opravují jsou v adresáři /usr/local/syn2020/repair_xml:

  • repair_control_chars.pl
  • repair_xml.pl

Oba skripty jsou filtry, dají se pouštět v pajpě. Nejdřív je ale dobré udělat si adresář xml a v něm linky na XML soubory v adresáři orig. Skripty se pak pouštějí takto:

cd SYNv9/SYNv8_new/SYNv8_a-i_
parallel-filter.sh -C "repair_control_chars.pl | repair_xml.pl" \
-s xml -p45 -t ../../../SYNv10/SYNv8/SYNv8_a-i_/orig -v

Kontrola, jestli jsme toho nevzali moc:

cut -f2- -d':' stat_repair.txt | perl -pe 's/^<p>//' | perl -pe 's/^[\p{Punct}]+//' | perl -pe 's:</p>$::' | perl -pe 's/[[:punct:]]+$//' | sort -u | l

Výroba korpusu

  • Bonito nezvládá UTF-8, proto používáme webové rozhraní.
  • Adresáře:
    • pro Bonito: [/net/chomsky]/store/manatee-registry
    • pro web (na jakobsonovi):
      • /mnt/sdb1/manatee/data
      • /var/lib/manatee/data
      • /var/lib/manatee/registry
      • /var/lib/bonito
      • /var/www/bonito
  • Nejdříve se připraví data pro Bonito a pak se nalinkují/zkopírují pro web.

Výroba korpusu pro Bonito

  • Korpus se vyrábí na chomském.
  • Přesuneme se do adresáře s korpusem, typicky /net/grimm/store/corp/<jmeno_korpusu>
  • V něm musí existovat adresář s hotovou vertikálou, a to buď zcela holou (s prázdnými řádky mezi větami), nebo zpracovanou programem xml2vrt.py. Adresář musí mít jméno vert-<jmeno>. Hotový korpus v Bonitu nebo na webu pak bude mít název <jmeno_korpusu>-<jmeno>.
  • Podle toho, jakou máme vertikálu, pustíme program manatee-registry.sh s vhodnými parametry:
    • -C: s metainformacemi dodanými programem xml2vrt.py
    • -s: libovolný korpus se sloupci oddělenými tabulátorem a se strukturními značkami (ale bez tagu <doc>)
    • -t: libovolný korpus se sloupci oddělenými tabulátorem
    • nic: naše klasická vertikála s třemi sloupci oddělenými tabulátorem a mezerou.
  • Máme-li vertikálu se strukturami, ale bez tagu <doc>, musíme si
  • Jako první musíme oeditovat soubor s popisem (registry). Důležité jsou tyto řádky/hodnoty:
    • ENCODING utf-8
    • INFO: sem napíšeme stručný popis a datum
    • ATTRIBUTE …: přidáme názvy všech sloupců, které chceme mít zobrazené.
    • STRUCTURE doc { ATTRIBUTE …: zkontrolujeme struktury a počet a názvy jejich atributů.
  • Na závěr přidáme název korpusu do souboru runm.pl. Tento krok je zbytečný, pokud nechceme korpus prohledávat Bonitem.

Výroba korpusu pro web

  • Nejdřív vyrobíme korpus pro Bonito
  • Na jakobsonovi provedeme následující kroky:
    • Zkopírujeme data z chomského:
      cd /mnt/sdb1/manatee/data
      rsync -avz /net/chomsky/store/manatee-registry/<korpus>* .
      sudo chown -R manatee:manatee <korpus>
      mv <korpus> /var/lib/manatee/registry
      rm <korpus>~
      mv <korpus>-data <korpus>
    • Vyrobíme linky v adresáři s daty:
      cd /var/lib/manatee/data
      ln -s /mnt/sdb1/manatee/data/<korpus>
      sudo chown manatee:manatee <korpus>
    • Upravíme soubor /var/www/bonito/run.cgi (případně run-<user>.cgi).

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