O Vowpal Wabbit (VW) aparentemente suporta a funcionalidade de marcação de sequência via SEARN . O problema é que não consigo encontrar uma lista detalhada de parâmetros com explicações e com alguns exemplos. O melhor que pude encontrar é a entrada de blog de Zinkov com um exemplo muito curto. A página principal do wiki mal menciona SEARN.
No código fonte do check-out, encontrei a pasta demo com alguns dados de amostra do NER. Infelizmente, o script executando todos os testes não mostra como executar nesses dados. Pelo menos, foi informativo o suficiente para ver qual é o formato esperado: quase o mesmo que o formato de dados VW padrão, exceto que as entradas são separadas por linhas em branco (isso é importante).
Meu entendimento atual é executar o seguinte comando:
cat train.txt | vw -c --passes 10 --searn 25 --searn_task sequence \
--searn_passes_per_policy 2 -b 30 -f twpos.vw
Onde
--searn 25
- o número total de etiquetas NER (?)
--searn_task sequence
- tarefa de marcação de sequência (?)
--searn_passes_per_policy 2
- não está claro o que faz
Outros parâmetros são padrão para a VW e não precisam de explicação adicional. Talvez haja mais parâmetros específicos para SEARN? Qual é a sua importância e impacto? Como ajustá-los? Alguma regra de ouro?
Qualquer indicação de exemplos será apreciada.