DAUT2014/Thrax

Wprowadzenie

Dział C dotyczyć będzie praktycznych zastosowań automatów skończenie stanowych i przetworników (transduktorów) przy użyciu narzędzi OpenFST i Thrax.

Użyteczne materiały:

Instalacja

Ubuntu

Jeśli mamy prawa roota, to można zainstalować gotowe paczki

Arch Linux

Przygotowałem gotowe paczki z OpenFST i Thraxem. Najpierw należy dodać repozytorium NLP, tzn. jako root należy do /etc/pacman.conf dopisać:

[nlp]
SigLevel = Optional TrustAll
Server = http://mrt.wmi.amu.edu.pl:8888/archlinux/$repo/os/$arch

i następnie wywołać polecania:

pacman -Sy
pacman -S thrax

Dodatkowo należy ustawić zmienną środowiskową $LD_LIBRARY_PATH, np. tak (przy każdej sesji):

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/fst"

Instalacja ze źródeł

Zob. tutorial Compiling & Installing OpenFST and Thrax.

Jeśli pracujemy na komputerze, na którym nie mam praw administratora (np. na uczelnianych), należy jednak pamiętać, by wywołania configure opatrywać opcją --prefix=~/usr.

Rozwiązywanie zadań z działu C

  • Zawsze należy przenieść szkielet rozwiązania z przykładowego zadania X05, należy wyłącznie opracować plik .grm.
  • Oczekiwane wyjście (test.exp) jest „zaśmiecone” napisami „Input/Output string: ”, proszę się tym nie przejmować, wynika to z zastosowania programu thraxrewrite-tester do testowania.
  • Warto pamiętać, że można tworzyć kaskady transduktorów (za pomocą operatora @), np. można tworzyć przybliżenie rozwiązania za pomocą jednego transduktora, a potem je poprawić innym transduktorem.