11.6.12

Morfologik 1.9

Właśnie pojawił się nowiutki Morfologik 1.9. Jest to prawdopodobnie ostatnie wydanie Morfologika osobno od słownika PoliMorf, który powstaje na bazie Słownika Gramatycznego Języka Polskiego i starej bazy Morfologika. W tym wydaniu mamy wiele zmian, przede wszystkim wynikających z połączenia zasobów.

  • Kodowanie zmieniono na UTF-8, bo niektóre nazwiska obce, odmieniane po polsku, inaczej nie dałyby się poprawnie zapisać.
  • Z PoliMorfa do słownika przejęto wszystkie formy rzeczownikowe, przymiotnikowe, rzeczowniki odsłowne, imiesłowy i formy deprecjatywne. Pozostawiono jedynie formy czasownikowe (a to tylko w oczekiwaniu na możliwość eksportu z narzędzia służącego do tworzenia PoliMorfa, a mianowicie z Kuźni, czasowników w notacji nieposegmentowanej wewnętrznie). Jedynym wyjątkiem jest wyraz „Pablo”, który był analizowany także jako nieodmienny. To nie było zgodne z regułami LanguageToola, więc w Morfologiku Pabla trzeba odmieniać.
  • Zmiana licencji. Przyjęto najprostszą możliwą 2-klauzulową licencję BSD.
Cóż to oznacza dla użytkowników Morfologika? Otóż można już rozpocząć powolne przechodzenie na PoliMorfa. W następnym wydaniu PoliMorfa prawdopodobnie uda się już mieć też wariant tagsetu bez segmentacji wewnątrzywyrazowej, przez co samodzielnego wydania Morfologika 2.0 może już nie być. To wydanie ma tylko ułatwić przejście na porządniejszy tagset PoliMorfa.

17 komentarzy:

Anonimowy pisze...

W słowniku występują znaczniki/atrybuty nie opisane w readme_pl.txt. Można poznać ich znaczenie: p1, p2, p3, ter, qub, com.

Jaką funkcję pełni separator "|"? Taką samą jak "+"? np.
babcin babciny adj:sg:nom:m1.m2.m3:pos|adj:sg:acc:m3:pos
babcin babciny adj:sg:nom:m1.m2.m3:pos|adj:sg:acc:m3:pos

Marcin Miłkowski pisze...

No cóż, moja wina, com to dawny "comp", czyli stopień wyższy przymiotnika.

p1, p2, p3 - pluralia tantum

ter - trzecia osoba

qub - kublik

"|" to pomyłka; trzeba będzie zrobić wydanie 1.9.1

Łukasz pisze...

dlaczego ostatnie wydanie?

Marcin Miłkowski pisze...

Ostatnie osobne, tj. następne będą generowane w ramach projektu PoliMorf.

Anonimowy pisze...

tez w pliku oxt?

Polak Mały pisze...

Czy to oznacza, że PoliMorf zastąpi wkrótce zestaw polskich słowników w takich projektach jak LibreOffice?

Wydaje się, że polskie słowniki do Open/LibreOffice nie są rozwijane od 2008 r. Tymczasem w LibreOffice 3.6 proces poprawiania narzędzi językowych nabrał znacznego przyspieszenia: http://cgit.freedesktop.org/libreoffice/dictionaries/log/?h=libreoffice-3-6

Pozdrawiam

Marcin Miłkowski pisze...

Nie, nie w pliku .oxt, bo i po co.

A co do słowników, to być może w następnych wersjach pojawi się coś lepszego od dziadowskiego słownika w formacie hunspella (który jest wyjątkowo źle napisany). Chodzi o słownik ortograficzny. Pracuję nad tym. Słownik synonimów na razie musi poczekać, są kłopoty z serwerem.

Marcin Miłkowski pisze...

Aha, żeby było jasne: hunspell jest źle napisany, nie słownik.

Polak Mały pisze...

Dziękuję za informację.

Życzę powodzenia we wszystkich dobrych przedsięwzięciach :-)

Łukasz pisze...

to jak bedzie sie bedzie instalowalo nowy slownik w lo, jak nie bedzie w oxt?

Marcin Miłkowski pisze...

Tego słownika nie będzie się instalować w LO, bo on i tak by nic tam nie robił. To słownik analizatora morfosyntaktycznego, który będzie załączony do najnowszej wersji LanguageTool (wydanie jutro). LT będzie jako rozszerzenie dla LO lub Apache OO.

Łukasz pisze...

no to czekam.

ethanak pisze...

Dwa pytania:

a) czy będzie wersja 1.9.1? Pracuję nad biblioteką w C/Pythonie (raczej na własne potrzeby choć nie wykluczam w przyszłości publikacji) i miło by było bazować na najnowszej wersji...

b) czy brak słów typu "zrobionoby" (chyba verb:imps:pot) jest zamierzony czy to błąd?

Marcin Miłkowski pisze...

Nie, będzie wersja 2.0, ale dopiero za dwa-trzy miesiące. Nie dam rady wcześniej.

Co do drugiego, to po prostu polska ortografia nie dopuszcza tego błędu.

ethanak pisze...

Czyli będę czekał - i tak nie miałem zamiaru wcześniej publikować libmorfologika a podejrzewam że zmiany będą zbyt duże.

Co do tego błędu - problem polega na tym, że sporadycznie (szczególnie w starszych tekstach) występuje łączna pisownia i biblioteka twierdzi że to nieznany wyraz. Poradziłem sobie prowizorycznie dodając dodatkowy marker oznaczający niedopuszczalną współcześnie pisownię.

Marcin Miłkowski pisze...

Można zastosować korektor pisowni do nierozpoznanych wyrazów, w C++ dobrze działa fsa_spell (w repozytorium LanguageToola jest wersja binarna), w Javie można użyć morfologik-speller. To powinno trochę pomóc, zwłaszcza jeśli teksty są OCR-owane.

ethanak pisze...

Korekta OCR-ów to w ogóle temat na oddzielną aplikację (wykorzystującą Morfologika). Przede wszystkim aplikacja powinna brać pod uwagę optyczne podobieństwo zbitek znaków (np. "h" i "li", czy też "m" i "ru"). Przykłady:

1) "nic" występujące przed czasownikiem. Prawdopodobne "nie" z wyjątkiem jednej prawidłowej frazy typu "nie musisz nic robić" (tak mi się przynajmniej wydaje).

2) bardzo często w tekstach znajduję "ładownik" (lądownik), "łan" (Ian) czy "mszyć" we wszelkich odmianach (ruszyć). O ile bohaterskich żołnierzy z ładownikami w łanach zbóż czasami się w tekstach spotyka, o tyle - poza omszałym dzbanem wina - z mszeniem jako takim się nigdy nie spotkałem :)

3) nieprawidłowo skorygowane przez OCR-ujący program (z Fine Readerem na czele) "Crystal Palące" czy "Boston Memoriał".

O ile w pierwszym przypadku możliwe jest skorygowanie (a przynajmniej wskazanie prawdopodobnego błędu) na podstawie danych istniejących w Morfologiku, o tyle w pozostałych może być ciężko. W swoim programie do korekty mam po prostu wykaz takich "podejrzanych" wyrazów. Na wprowadzenie tego do Morfologika raczej nie ma co liczyć, ale stworzenie podobnego słownika miałoby pewnie sens.

Natomiast brakuje mi kilku drobiazgów:

1) czasowniki zwrotne. Brak informacji dla czasowników, które mogą występować w obu formach (np. "rozżarzyć")

2) czasowniki modalne - dla mnie wykrycie kostrukcji z czasownikiem modalnym jest bardzo ważne, bo syntezator (Milena) tworzy różną melodię w zależności od tego, czy w danym kontekście czasownik jest modalny i czy bezpośrednio po nim występuje właściwy czasownik. Znów radzę sobie przez dodatkowe słowniki - ale czy nie dałoby się takiej informacji wprowadzić do Morfologika?