IPI PAN

dr Marcin Woliński

Zespół Inżynierii Lingwistycznej
Instytut Podstaw Informatyki PAN

Świgra — komputerowa implementacja gramatyki formalnej Marka Świdzińskiego

Program Świgra stanowi komputerową realizację gramatyki przedstawionej przez prof. Marka Świdzińskiego w jego książce „Gramatyka formalna języka polskiego” (GFJP, Warszawa 1992).

Program Świgra został zrealizowany z użyciem opracowanego przeze mnie parsera Birnam. Stanowi on interpreter gramatyk DCG stosujący strategię wstępującą z zapamiętywaniem wyników pośrednich. Zawiera też pewne rozszerzenia specyficzne dla GFJP.

Programy Birnam i Świgra stanowią część wyników mojej pracy doktorskiej p.t. Komputerowa weryfikacja gramatyki Świdzińskiego opracowanej i obronionej w Instytucie Podstaw Informatyki PAN w Warszawie. Inicjatorem i promotorem pracy był Janusz S. Bień, aktualnie z Katedry Lingwistyki Formalnej Uniwersytetu Warszawskiego.

Zasady udostępnienia

Nie wszystkie pliki składające się na programy Birnam i Świgra zostały udostępnione na tej samej licencji. Warunki licencji można sprawdzić w nagłówkach poszczególnych plików.

Większość plików składających się na te programy zostaje udostępniona na licencji GNU General Public License. Ponieważ jednak obecnie nie ma dostępnego na tej licencji rozsądnej jakości analizatora morfologicznego dla języka polskiego, w drodze wyjątku dopuszcza się łączenie obu programów (używanych łącznie lub osobno) z analizatorem morfologicznym Morfeusz. Autorom ewentualnych modyfikacji programów Birnam i Świgra udziela się prawa do zachowania tego dopuszczenia w wersjach zmienionych lub dystrybucji wersji zmienionych na licencji GPL. (Biorąc pod uwagę brak swobodnego analizatora morfologicznego, zachęcam do zachowywania dopuszczenia w wersjach zmienionych, jednak aby zachować zgodność z GPL, nie wymagam tego).

Pliki umożliwiające skład drzew analizy w LaTeXu zostały udostępnione na licencji LaTeX Project Public License wersja 1.2, ponieważ licencja GPL nie jest zgodna ze standardowymi modułami LaTeXa.

Niektóre pliki pomocnicze zostały dla uproszczenia uznane za dobro publiczne — autor zrzekł się praw autorskich do nich. Dotyczy to np. przykładu użycia platformy Birnam z inną gramatyką oraz kodu w języku C pozwalającego na wywołanie analizatora Morfeusz z programu prologowego.

Proszę zwrócić uwagę, że licencja analizatora morfologicznego Morfeusz nakłada ograniczenia na zakres użytkowania wykorzystujących go programów.

Podziękowania

Udostępnienie programów na licencji GPL było możliwe dzięki uprzejmej zgodzie następujących osób i instytucji:

  1. prof. Marka Świdzińskiego jako autora reguł gramatycznych,
  2. dr. hab. Janusza S. Bienia, prof. UW jako kierownika zrealizowanego w Instytucie Informatyki Uniwersytetu Warszawskiego projektu KBN 8T11C 00213 „Zestaw testów do weryfikacji i oceny analizatorów języka polskiego”, w ramach którego w latach 1997-1999 powstał prototyp analizatora Świgra (pod nazwą AS),
  3. dyrekcji Instytutu Podstaw Informatyki PAN — mojego pracodawcy.

Wszystkim wymienionym bardzo serdecznie dziękuję.

Do pobrania

Instalacja

Instalacja programu w zasadzie sprowadza się do rozpakowania powyższej paczki w wybranym katalogu. Do działania Świgry koniecznie jest jednak uprzednie zainstalowanie dwóch programów: SWI Prologu i Morfeusza oraz zapewnienie ich współpracy.

Wersję instalacyjną SWI Prologu można pobrać z jego strony domowej. Konieczna jest co najmniej wersja 5.6 (ze względu na Unikod). W systemie Debian i Ubuntu należy zainstalować pakiety swi-prolog i swi-prolog-xpce. Niestety Debian Etch cierpi na zapaść prologową i konieczne jest zainstalowanie SWI Prologu z wersji ’unstable’. Ubuntu ma odpowiednie pakiety „na pokładzie”.

Wersję instalacyjną analizatora morfologicznego Morfeusz można pobrać z jego strony. W systemach Debian i Ubuntu wystarczy zainstalować pakiet dostępny na stronie. W Windows wystarczy umieścić plik morfeusz.dll w katalogu, w którym rozpakowano program Świgra.

Paczka instalacyjna Świgry zawiera moduł pozwalający na wywołanie Morfeusza z Prologu. Plik morfeusz-swi.so jest wersją skompilowaną dla SWI Prologu 5.6.14 w systemie Linux. Plik morfeusz-swi.dll jest jego odpowiednikiem skompilowanym pod Windows. W wypadku innych systemów/wersji Prologu trzeba skompilować samemu plik morfeusz-glueswi5.6.c (w wypadku pracy w kodzie ISO 8859-2 plik morfeusz-glueswi5.4.c). Sposób kompilacji jest opisany w nagłówku tych plików. Skompilowany moduł powinien znajdować się w tym samym katalogu co pozostałe pliki Świgry.

Użytkowanie

Parser Birnam składa się z plików o nazwach zaczynających się od 'birnam_'. Może on być użyty z dowolną gramatyką DCG nie zawierającą reguł skracających. Prosty przykład użycia parsera znajduje się w plikach demo.pl i demo_gramm.pl. Do zrozumienia go powinny wystarczyć komentarze w tych plikach.

Aby użyć gramatyki Świgra należy najpierw wygenerować wykonywalną postać gramatyki poleceniem:

./genparser

Następnie można uruchomić wersję interaktywną poleceniem

./swigra 

lub wersję wsadową poleceniem

./swigra_batch

Wersja wsadowa przetwarza wszystkie pliki z rozszerzeniem .doa znajdujące się w bieżącym katalogu. Pliki takie powinny zawierać po jednym wywołaniu predykatu analiza/1 lub analiza/2.

Wymienione polecenia są skryptami programu Bash. Ich użycie pod Windows wymaga więc zainstalowania tego programu. Analizator interaktywny można także uruchomić pod Windows poprzez załadowanie w interpreterze Prologu pliku swigra_interactive.pl.


Last modified: Mon May 19 17:06:09 CEST 2008