Polski silnik fleksyjny
fleksja (słownik języka polskiego) «odmiana wyrazów, zespół form służących do oznaczania stosunków między wyrazami w zdaniu; dział gramatyki zajmujący się opisem form wyrazowych»
Po co ten projekt?
Celem projektu http://sourceforge.net/projects/mfe/ jest opracowanie słownika fleksyjnego wraz z silnikiem fleksyjnym oraz wtyczek do różnego rodzaju zastosowań jak: wyszukiwarki internetowe, silniki indeksujące tekst, wyszukiwanie pełnotekstowe w bazach danych, słowniki ortograficzne w edytorach tekstu. Po co słownik fleksyjny? Aby łatwiej znaleźć zasób którego się poszukuje – najczęściej w dokumentach występuje wyraz w jego formie pochodnej, stąd poszukiwanie po formie bazowej nie zawsze daje dobre rezultat, np. poszukiwanie w google po 'lekarstwo' a 'lekarstwo OR lekarstwa' daje w tym drugim przypadku dwa razy więcej rezultatów jak i lepszą ocene przydatności stron.
Małe demo dostępne jest tutaj. Kliknij i przetestuj.
Głównym problemem polskiej fleksji jest złożoność języka polskiego, oboczności i wymiana tematu w odmianach. Opracowanie dużego i dobrego słownika odmian jest zajęciem bardzo czasochłonnym i ambitnym. Nic nie stoi na przeszkodzie wpisać (przepisać) wszystkie wyrazy polskie i przypisać im rodzaj odmiany. Jednak jest to zadanie żmudne i ekstremalnie nudne. W tym projekcie została zastosowana inna metoda bazująca na idei 'reverse engineering':
na podstawie dostępnych tekstów polskich budowany jest bazowy zbiór słów wraz z ich ilością wystąpień;
silnik fleksyjny zawiera zaprogramowane reguły odmian;
wybierany jest wyraz, silnik fleksyjny tworzy 'w ciemno' dla każdej z odmian formy pochodne;
wyliczana jest popularność danej odmiany – jak dużo form znajduje się w bazowym zbiorze słów i najpopularniejsza odmiana jest traktowana jako właściwa;
Jakość tak powstałego słownika bardzo zależy od bazowego zbioru słów – ideałem byłoby aby zawierał on wszystkie istniejące poprawne formy pochodne. Pierwszą ideą było aby stworzyć bazowy zbiór słów wykorzystując zasoby polskiego internetu – jednakże jakość ortograficzna takich zasobów nie jest za dobra. Zdecydowano więc zebrać z wszelkich możliwych źródeł wysokiej jakości teksty w języku polskim:
książki, podręczniki (OCR);
wydawnictwa gazetowe na CD;
encyklopedie, poradniki, na CD;
zbiór słów z projektu: http://sourceforge.net/projects/pldict/
O ile książki stanowią najłatwiejszy sposób zebrania listy słów o tyle pozostałe źródła rzadko są w formie tesktowej, ew. html, co nie pozwala w łatwy sposób na użycie ich w projekcie.
Poszukiwani współtwórcy
Zapraszam do współpracy nad tworzeniem bazowego zbioru słów kogokolwiek, kto posiada dobre materiały w formie elektronicznej. Najbardziej poszukiwane są wydawnictwa gazetowe (dziennki, miesięczniki, prasa specjalistyczna). Jakiekolwiek inne materiały też są mile widziane. Oferowane materiały przed wysłaniem należy przepuścić przez program budujący listę słów i w takiej postaci będą one dołączone do projektu. Wszystkich zainteresowanych proszę o kontakt z administratorem projektu.
Także zapraszam do współpracy programistów do oprogramowania samego silnika fleksyjnego oraz wtyczek.