Zebrano tutaj współpracujące ze sobą narzędzia do przetwarzania języka polskiego opracowane na Politechnice Wrocławskiej. Narzędzia te pozwalają na realizację następujących zadań:
- Segmentacja tekstu (podział na segmenty i zdania)
- Analiza morfologiczna w oparciu o dostępne analizatory i słowniki (w tym Morfeusz SGJP/SIAT) a także słowniki dostarczone przez użytkownika
- Znakowanie morfosyntaktyczne (morphosyntactic tagging)
- Płytka analiza składniowa (chunking)
- Zamiana tekstu polskiego na ciąg wektorów cech reprezentujących własności morfosyntaktyczne kolejnych słów (WCCL) — na potrzeby innych zadań przetwarzania języka naturalnego
Narzędzia te dostępne są na otwartych licencjach zasadzie wolnego oprogramowania (większość komponentów dostępna jest na bardzo liberalnej licencji GNU LGPL, zob. punkt „Licencja”). Wszystkie narzędzia działają w systemie GNU/Linux, część działa również pod innymi systemami operacyjnymi.
Zawartość zestawu
Część z poniższych narzędzi służy do „użytku bezpośredniego” (można je uruchomić jako samodzielne programy i przetworzyć tekst), część zaś jest bibliotekami programistycznymi, które wspomagają szybkie tworzenie aplikacji przetwarzania języka polskiego (gotowe narzędzia udostępniają także proste API umożliwiające użycie ich w roli biblioteki). Znaczna część pozycji to pakiety, które dostarczają zarówno narzędzi użytkowych, jak i bibliotek programistycznych.
Najciekawszymi z punktu widzenia użytkownika są prawdopodobnie dwie ostatnie pozycje — tager i płytki analizator składniowy.
Poniższa lista zawiera odsyłacze do stron opisujących szczegółowo dane narzędzie oraz sposób jego pobrania i instalacji.
- Corpus2 — biblioteka wspomagająca szybkie tworzenie aplikacji przetwarzania języka naturalnego (interfejs C++ i Python). Wsparcie dla tagsetów pozycyjnych, kilku formatów zapisu korpusów. Dostarcza też narzędzia konwersji między formatami zapisu korpusu (corpus-get).
- Toki — konfigurowalny tokenizator, tj. narzędzie podziału tekstu na segmenty i zdania. Wspiera standard SRX. Narzędzie oraz biblioteka (C++).
- MACA — łączy kilka dostępnych analizatorów morfologicznych, wspiera m.in. Morfeusz SGJP/SIAT. Korzysta z narzędzia Toki, dzięki czemu można analizować czysty tekst. Umożliwia prostą konwersję tagsetów. Dostarcza narzędzia oraz bibliotekę (interfejs C++ i Python).
- WCCL — formalizm wyrażeń funkcyjnych wartościowanych na oznakowanych zdaniach. Pozwala na generowanie złożonych cech dla zadań przetwarzania języka. Implementacja zawiera narzędzia oraz bibliotekę (C++ i Python).
- WCRFT — tager morfosyntaktyczny języka polskiego. Możliwe jest znakowanie czystego tekstu oraz prostych plików XML (tager korzysta w tym celu z Macy). Działa w oparciu o znakowanie warstwowe i warunkowe pola losowe.
- IOBBER — płytki analizator składniowy języka polskiego. Domyślna konfiguracja rozpoznaje frazy rzeczownikowe, czasownikowe i przymiotnikowe.
Narzędzia współpracują ze sobą. Użycie tagera wymaga instalacji narzędzi 1–4. Tager korzysta z tych narzędzi jako bibliotek programistycznych, więc użytkownik nie musi ich wywoływać samodzielnie.
Użycie analizatora składniowego wymaga instalacji wszystkich wymienionych narzędzi (ew. użycie innego tagera). Aby uzyskać oznakowanie składniowe konieczne jest najpierw użycie tagera, po czym uruchomienie na jego wyjściu narzędzia IOBBER (możliwe jest także przetwarzanie potokowe).
Możliwe jest także zapoznanie się z działaniem narzędzi bez konieczności ich instalacji — w tym celu przygotowaliśmy także obraz dysku maszyny wirtualnej, gdzie wszystkie te narzędzia są zainstalowane — zob. poniżej.
Licencja
Podstawowe wersje wszystkich powyższych narzędzi (bez dodatków wymienionych poniżej) dostępne są na licencji GNU LGPL 3.0. Licencja ta pozwala na zastosowania komercyjne i niekomercyjne.
Pakiety Corpus2 oraz MACA rozprowadzane są wraz z opcjonalnymi dodatkami (tj. użytkownik ma wybór, czy chce je instalować). Instalacja któregokolwiek z tych dodatków pociąga za sobą zmianę licencji całego pakietu na GNU GPL 3.0 (jest to dalej wolne oprogramowanie, choć licencja nakłada nieco większe ograniczenia). Konieczność zmiany licencji wynika z licencji oprogramowania, z którego dodatki te korzystają. Dodatkami tymi są:
- Poliqarp Reader — czytnik binarnego formatu Poliqarpa rozprowadzany razem z Corpus2. Jego instalacja umożliwia bezpośrednie czytanie korpusów zapisanych w zwięzłej binarnej postaci. Jeśli Corpus2 zostanie skompilowany wraz z tym dodatkiem, narzędzia korzystające z Corpus2 mają możliwość bezpośredniego czytania korpusów poliqarpowych. Jest to szczególnie wygodne w przypadku tagera WCRFT, a także narzędzia generowania cech morfosyntaktycznych WCCL (można uzyskać prosty plik tekstowy zawierający cechy w kolejnych wierszach wygenerowane dla wszystkich segmentów lub segmentów spełniających podany predykat morfosyntaktyczny).
- Guesser Plugin — dodatek do pakietu MACA odgadujący analizy morfologiczne (tagi i lematy) słów nieznanych. Dodatek ten korzysta z odgadywacza rozprowadzanego wraz z tagerem TaKIPI. Dodatek jest niezbędny, by skorzystać z konfiguracji Macy, która odwołuje się do odgadywacza, np. morfeusz-nkjp-official-guesser.
- SFST Plugin — dodatek do pakietu MACA umożliwiający czytanie słowników morfologicznych pochodzących od użytkownika skompilowanych do transduktora. Transduktory te tworzone są za pomocą pakietu SFST (w katalogu doc repozytorium Macy znajduje się instrukcja, jak skompilować własny słownik). Biblioteka SFST jest używana również do czytania skompilowanych słowników, stąd wynika licencja dodatku.
Obraz maszyny wirtualnej
http://156.17.134.43/share/ubuntu_vm/