Vowpal Wabbit (VW) najwyraźniej obsługuje funkcję znakowania sekwencji za pośrednictwem SEARN . Problem polega na tym, że nie mogę znaleźć nigdzie szczegółowej listy parametrów z objaśnieniami i przykładami. Najlepsze, co mogłem znaleźć, to wpis na blogu Zinkova z bardzo krótkim przykładem. Główną stronę wiki ledwo wspomina SEARN.
W pobranym kodzie źródłowym znalazłem folder demonstracyjny z niektórymi przykładowymi danymi NER. Niestety skrypt uruchamiający wszystkie testy nie pokazuje, jak uruchomić te dane. Przynajmniej był wystarczająco informacyjny, aby zobaczyć, jaki jest oczekiwany format: prawie taki sam jak standardowy format danych VW, z tym wyjątkiem, że wpisy są oddzielone pustymi liniami (jest to ważne).
Moje obecne rozumienie polega na uruchomieniu następującego polecenia:
cat train.txt | vw -c --passes 10 --searn 25 --searn_task sequence \
--searn_passes_per_policy 2 -b 30 -f twpos.vw
gdzie
--searn 25
- łączna liczba etykiet NER (?)
--searn_task sequence
- zadanie znakowania sekwencji (?)
--searn_passes_per_policy 2
- niejasne, co robi
Pozostałe parametry są standardowe dla VW i nie wymagają dodatkowego wyjaśnienia. Być może istnieje więcej parametrów specyficznych dla SEARN? Jakie jest ich znaczenie i wpływ? Jak je nastroić? Jakieś podstawowe zasady?
Wszelkie wskazówki do przykładów będą mile widziane.
źródło