In English
Ta strona jest wolna od Javascriptu. Możesz czytać bez konieczności analizowania źródła!

Narzędzia do automatów skończonych

Strona opisuje dwa pakiety oprogramowania i kilka plików towarzyszących dostępne pod adresem http://ftp.jandaciuk.pl/Software/Fsa/. Dalej na tej stronie znajdują się bezpośrednie odsyłacze do najnowszych wersji pakietów.

I czemu to służy?

Tak na marginesie: pewnie większości czytających tę stronę to pytanie z niczym się już nie kojarzy...

Dostępne pakiety

Oba pakiety napisane są w C++ i dają sie kompilować za pomocą g++. Inne kompilatory mogą sprawiać kłopoty ze względu na użycie wzorców. Oba pakiety używają słowników w postaci automatów skończonych (w różnych formach). Oba posiadają interfejs w elispie (lispie dla emacsa). Interfejs działał z emacsem19, ale raczej nie będzie działał z emacsem20 i późniejszymi (szczególnie z mułem).

fsa - automaty proste

Numer bieżącej wersji: 0.51. Są też strony podręcznika w HTML jako jako jeden plik.

utr - ,,automaty tłumaczące''

Oryginalna nazwa tej postaci automatu brzmi ,,transducer'', czyli przetwornik. Po polsku wyraźnie nie pasuje. To, czego ja używam, jest automatem Mealy'ego. Próbowałem innych nazw, bieżąca wydaje mi się najlepsza, ale jestem otwarty na inne propozycje.
Numer bieżącej wersji: 0.9

Słowniki

Reguły dotyczące końcówek nazw

W celu uniknięcia zamieszania używam pewnych końcówek nazw do wskazania zawartości słownika:
fsa
lista słów w formie prostego automatu - używana przez fsa_accent i fsa_spell.
fsm
morfologia w formie prostego automatu - używana przez fsa_morph
atg
lista a tergo form odmienionych z doczepionymi kategoriami - używana przez fsa_guess skompilowany bez opcji GUESS_LEXEMES lub uruchomiony z opcją -a. Używana do odgadnięcia kategorii słów na podstawie ich końcówek.
atl
lista a tergo form odmienionych z doczepionymi odpowiednimi wyrazami słownikowymi i kategoriami - używana przez fsa_guess skompilowany z opcją GUESS_LEXEMES, ale bez GUESS_PREFIX, lub uruchamiany z opcją -p. Używana do odgadywania wyrazów słownikowych i kategorii odpowiadających formom odmienionym na podstawie końcówek.
atp
lista a tergo form odmienionych z doczepionymi odpowiednimi wyrazami słownikowymi i kategoriami - używana przez fsa_guess skompilowany z opcjami GUESS_LEXEMES i GUESS_PREFIX. W tym typie automatu przedrostki przechowywane są w inny sposób, tak że automat jest mniejszy i możliwe są pewne dodatkowe uogólnienia. Używana jest do odgadywania wyrazów słownikowych i kategorii na podstawie końcówek i przedrostków.
tr
automat tłumaczący - używany przez programy o nazwach zaczynających się na ,,tr_'' (programy z pakietu utr).

Dostępne słowniki

Te słowniki zostały zbudowane dawno temu z użyciem fsa_build skompilowanego z dostępnymi wtedy opcjami. Nowsze wersje oprogramowania używają domyślnie innego, dającego dużo większą kompresję formatu automatu. Aby używać starych słowników w nowym formacie, należy skompilować pakiet bez nowych opcji kompilacji, uzyskać zawartość słowników, skompilować ponownie pakiet z nowszymi opcjami i zbudować od nowa słowniki (będą mniejsze).
deutsch1.fsa.gz
Lista niemieckich słów z ftp.informatik.tu-muenchen.de:/pub/doc/dict/. Siedmiobitowa, umlauty jako dodatkowe e, scharfes s jako ss. Ciężko przerobić na ośmiobitowe, bo nie każde oe to o umlaut, nie każde ss to scharfes s itd.
english.fsa.gz
Lista angielskich słów z /usr/dict/words.
francais.atl.gz
Francuski słownik a tergo z wyrazami słownikowymi z ISSCO
francais.fsa.gz
Lista słów francuskich z ISSCO
francais.fsm.gz
Morfologia francuska (prosty automat) z ISSCO
francais.tr.gz
Francuski automat tłumaczący z ISSCO
french_moby.fsa.gz
Lista słów francuskich z Projectu Moby
polski.fsa.gz
Lista polskich słów z artykułów z Dziennika Bałtyckiego

Inne napisane przeze mnie oprogramowanie dotyczące automatów skończonych

Oprogramowanie bezpośrednio powiązane z moim

Dodatkowe informacje na temat automatów skończonych

Wykaz źródeł do mojej pracy doktorskiej zawiera więcej pozycji, niestety nie wszystkie dostępne w sieci. Bardzo dobrym źródłem są artykuły w Computational Linguistics, otrzymywanym przez członków ACL.

Forsa

Programy są darmowe dla celów niehandlowych. Użycie w celach handlowych jest możliwe po uzyskaniu ode mnie pozwolenia (chciałbym dostać swój udział).

Programy nie są objęte żadną formą gwarancji. Jeśli straciłeś (straciłaś) milion złotych w wyniku użycia któregoś z programów, to był Twój milion, nie mój. Jest to taka sama gwarancja, jak do większości znanych programów, ale moja jest krótsza.

Począwszy od wersji 0.42, pakiet fsa może być rozpowszechniany z licencją GPL poza jednym plikiem pochodzącym z innego źródła i posiadającym inną licencję i prawa autorskie. Ponieważ prawniczy bełkot jest mało czytelny, nie wiem, jak GPL stosuje się w połączeniu z takimi pliki, więc nie jest tu załączona.

Błędy

Jeśli znajdziesz błąd w jednym z moich programów, napisz do mnie. Chyba że nie znudzi Cię poprawianie go w każdej nowej wersji pakietów.
Jan Daciuk
Ta strona jest wolna od Javascriptu. Możesz czytać bez konieczności analizowania źródła!