Przejdź do treści

Milena polski syntezator mowy dla systemu Linux

Menu

Milena i Morfologik

UWAGA!

Używane przeze mnie i zamieszczone na serwerze pliki binarne Morfologika nie są dokładnym odzwierciedleniem oryginalnych danych. Ponieważ biblioteka obsługi Morfologika dopiero powstaje (jej część została bezpośrednio włączona do kodu Mileny), nie publikuję na razie pełnej listy zmian.

Po co to?

Aby prawidłowo (no, powiedzmy: w miarę prawidłowo) móc odmieniać liczebniki, Milena musiałaby rozumieć zdanie, a przynajmniej móc umieć określić formy gramatyczne różnych jego części. Wiele słów (np. jednostki miary) znajduje się w dołączonych do Mileny plikach danych, jednak bardzo często zachodzi sytuacja, gdy liczebnik nie jest związany z żadną jednostką (np. autentyczna kwestia w filmie: "nie zrobimy tego z 10 rakietami"). Dzięki Morfologikowi można w miarę łatwo i poprawnie określić formę gramatyczną frazy za takim liczebnikiem, przy uwzględnieniu lewostronnego kontekstu.

Również przy określaniu, że dana fraza stanowi zdanie złożone połączone spójnikiem (w celu ustalenia prawidłowej melodii zdania dla Mbroli) konieczna jest możliwość stwierdzenia, czy frazy po obu stronach spójnika mogą być zdaniem prostym. O ile wbudowany w Milenę mechanizm znajdowania czasowników zdaje się działać dość dobrze, o tyle użycie Morfologika w trybie SHM może znacząco przyspieszyć start programu w trybie lektora.

Jak to zainstalować?

  1. Dla posiadaczy Ubuntu (wspierane wersje od 12.04):
    sudo apt-get install morfologik20-data
  2. Dla innych dystrybucji Linuksa opartych na procesorach little-endian (x86 lub amd64 - na razie, do chwili opracowania pełnej biblioteki):

    Ze strony plików morfologika należy pobrać właściwy dla danej architektury plik *.bin.tar.bz. Po rozpakowaniu plik morfologik.bin należy przenieść do uprzednio utworzonego katalogu /usr/local/lib/morfologik lub /usr/lib/morfologik/ (program wyszukuje plik w obu miejscach).

  3. Dla architektur big endian można spróbować stworzyć plik danych na podstawie pliku morfologik20-data_*.tar.gz - nie próbowałem i nie gwarantuję powodzenia.
  4. Dla windows należy ściągnąć plik binarny dla architektury 32-bitowej i po rozpakowaniu przenieść plik do katalogu "data" w folderze milena4w.

Dodatkowo jeśli w Linuksie chcemy używać trybu shared memory, musimy upewnić się, czy parametry kernela pozwalają na załadowanie danych do pamięci dzielonej. Możemy to sprawdzić, wydając następujące polecenia:

  1. Bez morfologika:
    echo po 7 stacjach | milena -p
    Odpowiedź "po siedem stacjach"
  2. Z morfologikiem w pamięci dzielonej:
    echo po 7 stacjach | milena -pb
    Odpowiedź "po siedmiu stacjach". Jeśli Milena zakończy się zamiast tego błędem typu "Invalid argument", należy zwiększyć wielkość shmmax do 160 MB.

Krótko o zmianach

Nie jest to pełna lista zmian, natomiast wymienione pozostaną w następnych wersjach:

Dodatkowo sama biblioteka powinna pozwolić na algorytmiczne przetworzenie nierozpoznanego wyrazu. Przykładem takiego zabiegu może być wymieniona wcześniej forma czasownika (przetworzenie polegałoby na obcięciu końcówki "by" i sprawdzeniu, czy powstały wyraz jest bezosobową formą czasownika). Innym przykładem może być (realizowane obecnie przez Milenę, docelowo przez bibliotekę morfologika) rozpoznawanie przestarzałej pisowni narzędnika przymiotników ("białem", "białemi" zamiast "białym", "białymi") - np. tytuł książki "Tablice matematyczne w praktycznem zastosowaniu".