MACA (Morphological Analysis Converter and Aggregator) to konfigurowalny moduł analizy morfologicznej i konwersji między tagsetami.
Implementacja składa się z:
- zestawu bibliotek dynamicznych (C++) z prostym API, w tym biblioteki Corpus2 wraz z opakowaniami pythonowymi (obsługa tagów, tagsetów i czytania/zapisu korpusów)
- zestawu narzędzi konsolowych, który wykonują konkretne zadania korzystając z powyższych bibliotek (np. analiza morfologiczna, konwerter tagsetów)
Narzędzia wspierają przetwarzanie potokowe, możliwa jest np. analiza morfologiczna, po której następuje konwersja tagsetu.
MACA zasadniczo pełni funkcję „skorupki” analizatora morfologicznego, pozwala na integrację różnych źródeł analizy morfologicznej. Dzięki temu możliwe jest m.in:
- analiza czystego tekstu oraz tekstu podzielonego na akapity; MACA korzysta z naszego narzędzia Toki, które dokonuje podziału na segmenty (tokeny) i zdania
- skompilowanie własnego słownika morfologicznego do transduktora (za pomocą SFST) i użycie tego w sposób identyczny, jak używane są pozostałe analizatory
- użycie analizatorów Morfeusz (same w sobie są jedynie bibliotekami programistycznymi bez możliwości generowania korpusu oznakowanego na podstawie czystego tekstu)
- utworzenie potoku przetwarzania, gdzie np. własny słownik ma wyższy priorytet niż Morfeusz
- podpięcie różnych strategii analizy do różnych typów segmentów wstępnie wyodrębnionych na etapie podziełu na segmenty (np. ciągi zawierające łącznik mogą być analizowane w oparciu o specjalny słownik)
- konwersja tagsetu tekstu już oznakowanego oraz prosta konwersja tagsetu wyjścia z Morfeusza
- rozwiązywanie prostych niejednoznaczności segmentacji Morfeusza poprzez konwesję tagsetu
MACA została napisana z myślą o języku poskim. Możliwe jest jej użycie do przetwarzania innych języków; należy się liczyć z następującymi ograniczeniami:
- tagi morfosyntaktyczne muszą być pozycyjne, tzn. każdy tag składać się musi z klasy gramatycznej i ciągu wartości atrybutów dla tej klasy określonych;
- tagi reprezentowane tekstowo są w postaci „warszawskiej”, tj. są to ciągi symboli rozdzielonych dwukropkami;
- korpusy czytane/pisane są w formacie XCES oraz kilku prostych formatach.
Więcej szczegółów można znaleźć na stronie projektu.
Kody źródłowe oprogramowania dostępne są na licencji GNU GPL 3.0. Dane w ogólności dostępne są na Creative Commons ShareAlike, szczegóły podano na stronie projektu.