Das Vowpal Wabbit (VW) unterstützt offenbar die Sequenz-Tagging-Funktion über SEARN . Das Problem ist, dass ich nirgendwo eine detaillierte Parameterliste mit Erklärungen und einigen Beispielen finden kann. Das Beste, was ich finden konnte, ist Zinkovs Blogeintrag mit einem sehr kurzen Beispiel. Die Haupt-Wiki-Seite erwähnt SEARN kaum.
Im ausgecheckten Quellcode habe ich einen Demo-Ordner mit einigen NER-Beispieldaten gefunden. Leider zeigt das Skript, in dem alle Tests ausgeführt werden, nicht, wie diese Daten ausgeführt werden sollen. Zumindest war es informativ genug, um zu sehen, was das erwartete Format ist: fast das gleiche wie das Standard-VW-Datenformat, außer dass Einträge durch Leerzeilen getrennt sind (dies ist wichtig).
Mein derzeitiges Verständnis besteht darin, den folgenden Befehl auszuführen:
cat train.txt | vw -c --passes 10 --searn 25 --searn_task sequence \
--searn_passes_per_policy 2 -b 30 -f twpos.vw
wo
--searn 25
- die Gesamtzahl der NER-Etiketten (?)
--searn_task sequence
- Sequenz-Tagging-Aufgabe (?)
--searn_passes_per_policy 2
- nicht klar, was es tut
Andere Parameter sind Standard bei VW und bedürfen keiner zusätzlichen Erläuterung. Vielleicht gibt es mehr spezifische Parameter für SEARN? Welche Bedeutung und Wirkung haben sie? Wie stimme ich sie ab? Faustregeln?
Hinweise auf Beispiele sind willkommen.