Chunkery¶
Automatic Dictionary Update¶
Tryb: adu
Opis¶
Jest to meta-chunker, używający wskazanego chunkera do wykonania klasyfikacji dwuprzebiegowej. Anotacje otrzymane w pierwszym przebiegu są wykorzystywane do aktualizacji cech słownikowych w danych wejściowych. Następnie wykonywany jest drugi przebieg i to jego wyniki są zwracane jako wynik klasyfikacji.
Definicje¶
Wykonaj klasyfikację dwuprzebiegową wskazanym chunkerem:
adu:nazwa_chunkera_bazowego
Wykonaj klasyfikację dwuprzebiegową wskazanym chunkerem, ale ustawiaj cechy słownikowe tylko tam, gdzie żadna z cech słownikowych nie jest ustawiona:
adu:chunker_bazowy:one
Przykład¶
Klasyfikacja dwuprzebiegowa chunkerem crfpp:
-chunker c1:crfpp-load:model.bin -chunker c2:adu:c1 -use c2
Złożenie chunkerów¶
Tryb; ensemle
Opis¶
Umożliwia zdefiniowane głosowania lub kaskady dla już zdefiniowanych klasyfikatorów.
Chunker heurystyczny¶
Tryby: heuristic
Opis¶
Chunker wykorzystuje heurystyki oparte na cechach słownikowych.
Dostępne heurystyki:- general-ign-dict: jeśli cecha class jest równa "ign" oraz dokładnie jedna z cech słownikowych jest równa "B", to utwórz anotację takiego typu, jak ta cecha
- general-camel-base: jeśli forma bazowa zaczyna się dużą literą, a dalej składa się z samych małych liter oraz dokładnie jedna z cech słownikowych jest równa "B", to utwórz anotację takiego typu, jak ta cecha
- road-prefix: jeśli sekwencja ma ustawioną cechę road_nam i jest poprzedzona sekwencją z ustawioną cechą road_prefix, to utwórz anotację typu ROAD_NAM
- person: kilka reguł rozpoznających częste wzorce nazw osób (Pan Imię Nazwisko, I. M. Nazwisko, dyrektor Imię Nazwisko itp.)
- city: kilka reguł rozpoznających częste wzorce odwołań do miast (np. z prefiksem "gmina", "miasto", poprzedzone kodem pocztowym)
- road: reguła rozpoznająca jako nazwy ulic tokeny występujące pomiędzy prefiksem "ul." a numerem
Definicje¶
Wykorzystanie wszystkich dostępnych heurystyk:
heuristic
Wykorzystanie wybranych heurystyk:
heuristic:lista,wykorzystywanych,heurystyk
Chunker CRFPP¶
Tryby: crfpp-train , crfpp-load
Opis¶
Chunker wykorzystuje bibliotekę CRF++ (Conditional Random Fields) do klasyfikacji.
Do korzystania z chunkera potrzebne jest zdefiniowanie cech (parametr feature), a do trenowania również zdefiniowanie szablonów (parametr template).
Definicje¶
Trenowanie modelu i zapisanie go do pliku:
crfpp-train:p=P:template=T:(iob|ccl|data)=D:model=ścieżka/do/modelu.bin
, gdzie:
P - liczba procesów uruchamianych przy trenowaniu (od 1 do 6)
T - nazwa szablonu (identyczna z nazwą podawaną w parametrze template)
D - korpus do uczenia: w przypadku parametru iob lub ccl - ścieżka do pliku, w przypadku parametru data - identyfikator korpusu
Wytrenowany model zostanie zapisany w ścieżce podanej jako parametr model.
Wczytanie modelu z pliku:
crfpp-load:sciezka/do/modelu.bin
Chunker słownikowy (dla jednoznacznych anotacji)¶
Tryby: dict-compile , dict-load
Opis¶
Chunker znakuje nazwy własne występujące w podanym słowniku. Nazwy, które w słowniku są przypisane do więcej niż jednej kategorii, oraz te, które znajdują się we wskazanym słowniku nazw pospolitych, są pomijane.
Definicje¶
Dynamiczna kompilacja słownika:
dict-compile:dict=sciezka/do/slownika.txt:common=sciezka/do/slownika/nazw/pospolitych.txt
Dynamiczna kompilacja i zapis kompilacji do pliku:
dict-compile:dict=sciezka/do/slownika.txt:common=sciezka/do/slownika/nazw/pospolitych.txt:model=/sciezka/do/kompilacji
Wczytanie kompilacji z pliku:
dict-load:sciezka/do/kompilacji.bin
Pełny chunker słownikowy¶
Tryby: dict-full-compile , dict-full-load
Opis¶
Chunker znakuje wszystkie nazwy własne występujące w podanym słowniku. W obrębie jednej kategorii nazw własnych znakowane są wyłącznie najdłuższe nazwy --- nazwy zagnieżdżone tego samego typu nie są znakowane.
Definicje¶
Dynamiczna kompilacja słownika:
dict-full-compile:dict=sciezka/do/slownika.txt
Dynamiczna kompilacja i zapis kompilacji do pliku:
dict-full-compile:dict=sciezka/do/slownika.txt:model=sciezka/do/kompilacji.bin
Wczytanie kompilacji z pliku:
dict-full-load:sciezka/do/kompiltacji.bin
Słownik z nazwami ma postać tekstową. W każdej linii jest jedna nazwa poprzedzona nazwą kategorii oddzielone spacją.
Chunker WCCL¶
Tryby: wccl
Opis¶
Chunker znakujący za pomocą ręcznie pisanych reguł w języku WCCL. Wymaga zainstalowanego pakietu WCCL.
Definicje¶
Znakowanie za pomocą reguł podanych w pliku:
wccl:ścieżka/do/pliku.wccl
Klasyfikator Anotacji¶
Opis¶
Klasyfikator określający kategorie anotacji *_nam
Definicje¶
classifier:plik/z/opisem/klasyfikatora:base=chunker/wykorzystywany/do/wydzielenia/anotacji/z/tekstu(nazwa zdefiniowanego chunkera)Format pliku konfiguracyjnego dla klasyfikatora:
Sekcja [main]:
- mode
train — model jest uczony w trakcie tworzenia i zapisywany w podane miejsce
load — model jest wczytywany, z podanej lokalizacji, a jeżeli go nie ma to zachowuje się jak dla train - store — lokalizacja, w której znajduje się model lub ma zostać zapisany model po wyuczeniu
- classify — lista anotacji, które mają być poddane klasyfikacji
- classes — lista rozpatrywanych anotacji. Dla tych anotacji ma być uczony model, a pozostałe mają być zingorowane podczas uczenia
- type — nazwa klasyfikatora użyta do stworzenia modelu,
- strategy — 1-vs-all (dla każdej klasy osobny klasyfikator) lub multi (jeden klasyfikator wieloklasowy)
- options (niewyload — model jest wczytywany, z podanej lokalizacji, a jeżeli go nie ma to zachowuje się jak dla trainmagane) — dodatkowe opcje klasyfikatora (w formacie podawanym do weki - opcja1,wartosc1,opcja2,wartosc2,...)
- data:format
- data:plik/na/którym/zostanie wyuczony/klasyfikator
- lista cech wykorzystywanych przy klasyfikacji
Przykład¶
-chunker c1:crfpp-load:{INI_PATH}/bins/crfpp_kpwr_cen-train_nam.bin -chunker c2:heuristic:nam -chunker c3:dict-load:{INI_PATH}/bins/dict-nam.bin -chunker ce:ensamble:c1+c2+c3 -chunker cp:propagate:ce -chunker cc:classifier:{INI_PATH}/classifier.ini:base=cp -use cc
Plik classifier.ini:
[main] mode = train store = /tmp/ancl.bin classify = nam classes = org,loc,per,oth [classifier] type = weka.classifiers.rules.JRip strategy = multi [data] format = iob source = {INI_DIR}/corpora/kpwr-muc.iob [features] base_1 = base:1