Liner 2.4¶
Instalacja¶
Pobranie kodów¶
Z repozytorium¶
git clone -b dev git@156.17.134.57:liner2 (tymczasowo)
Z paczki¶
Jeszcze nie wydany oficjalnie.
Pobranie modelu danych¶
ToDo
Proces instalacji¶
- Przygotowanie biblioteki CRF++
Moduł g419-liner2-api korzysta z biblioteki CRF++. Biblioteka ta musi być zainstalowana
w systemie oraz muszą zostać wygenerowane wrapery dla Javy. Jeżeli biblioteka jest już
zainstalowana, a wrapery zostały wygenerowane w innym miejscu, to należy skopiować pliki
CRFPP.jar i libCRFPP.so do katalogu lib.
Jeżeli biblioteka nie jest zainstalowana w systemie, to należy wykonać poniższe kroki:
1. Rozpakować lib/CRF++-0.57.tar.gz
tar -xvf lib/CRF++-0.57.tar.gz
2. Skompilować i zainstalować bibliotekę
cd lib/CRF++-0.57 ./configure make sudo make install sudo ldconfig
3. Wygenerować wrapery do javy
cd java make
Podczas generowania wraperów może wystąpić problem ze znalezieniem pliku jni.h.
W takim przypadku należy ustalić lokalizację pliku jni.h i ustawić parametr INCLUDE
w pliku 'crfpp/java/Makefile'
4. Skopiować wrapery do katalogu lib
cp libCRFPP.so ../../../lib cp CRFPP.jar ../../../lib
- Wccl i corpus2
Moduł g419-liner2-api korzysta z narzędzia wccl (polecenie wccl-rules?). To narzędzie wymagane
jest przez regułowy rozpoznawacz anotacji. Procedura instalacji wccl-a znajduje się na stronie:
http://www.nlp.pwr.wroc.pl/wccl
- Kompilacja kodów
Aby wygenerować wszystkie biblioteki należy uruchomić poniższe polecenie:
ant jar
Aby skompilować pojedynczy moduł należy wywołać jedno z poniższych poleceń:
ant jar-corpus -- tworzy bibliotekę g419-corpus.jar ant jar-liner2-api -- tworzy bibliotekę g419-liner2-api.jar ant jar-liner2-api-all -- tworzy bibliotekę g419-liner2-api.jar i zależności ant jar-liner2-cli -- tworzy bibliotekę g419-liner2-cli.jar ant jar-liner2-cli-all -- tworzy bibliotekę g419-liner2-cli.jar i zależności
Wygenerowane biblioteki kopiowane są do katalogu lib.
Plik służacy do przetestowania poprawności instalacji znajduje się z załączniku.
Tryby pracy¶
Podstawowe parametry:
liner2-cli {tryb przetwarzania} -i {format wejściowy} -f {plik wejśiowy} -o {format wyjściowy} -t {plik wyjściowy} -ini {plik konfiguracyjny}
interactive | umożliwia przetwarzania tekstu wpisanego bezpośrednio w konsoli |
pipe | przetwarza tekst z wejśca (-i, -f) i zapisuje na wskazane wyjścio (-o, -t) |
convert | dokonuje konwersji między formatami i umożliwia zastosowanie pewnych transformacji na tekście |
eval | ewalucja otrzymanych wynikow, tryb kroswalidacji |
time | tryb pipe ze szczegółowym pomiarem czasu przetwarzania |
train | trenowanie klasyfikatora CRF |
daemon | tryb dla usługi sieciowej, przeniesiony do odrębnej paczki |
Obsługiwane formaty danych¶
Wejście | Wyjście | |
ccl | ccl | |
iob | iob | |
iob-tab | ||
plain | tuples | |
plain:maca | tokens | |
plain:wcrft | arff | |
tei | tei |
Cechy¶
Przetwarzanie dokumentów w Liner2 oparte jest na zdefiniowanym w konfiguracji modelu zestawie cech opisujących pojedyczne tokeny.
Na podstawie wygenrowanych cech tworzony jest wzorzec wykorzystywany w chunkerze CRF
Zobacz pełną listę dostępnych cech
Chunkery¶
Chunkery to mechanizmy służące do rozpoznawania nazw własnych.
Możliwe jest zdefiniowanie potoku przetwarzania składającego się z wielu chunkerów.
Każdy chunker opisywany jest przez osobną sekcję w pliku konfiguracyjnym wg. wzoru:
[chunker_{nazwa_instancji_chunkera}] type={typ chunkera} ... (pozostałe parametry specyficzne dla konkretnego chunkera)
Zobacz pełną listę dostępnych chunkerów
API¶
Liner2 może być wykorzystywany również jako biblioteka.
Instrunkcja wykorzystania API.
Python Wrapper¶
Istnieje również możliwość wykorzystania biblioteki w kodzie pythonowym.
Odbywa się to poprzez uruchomienie maszyny wirtulanej javy za pomocą biblioteki jpype.
Dowiedz się jak korzystać z wrappera