将 Vowpal Wabbit 用于 NER

数据挖掘 机器学习 nlp
2021-10-13 10:02:17

Vowpal Wabbit (VW) 显然通过SEARN支持序列标记功能。问题是我在任何地方都找不到带有解释和一些示例的详细参数列表。我能找到的最好的是Zinkov 的博客条目,其中有一个非常简短的示例。维基主页几乎没有提到 SEARN。

在签出的源代码中,我找到了包含一些 NER 示例数据的演示文件夹。不幸的是,运行所有测试的脚本没有显示如何在这些数据上运行。至少它提供了足够的信息来了解预期的格式:几乎与标准大众数据格式相同,除了条目由空行分隔(这很重要)。

我目前的理解是运行以下命令:

cat train.txt | vw -c --passes 10 --searn 25 --searn_task sequence \
--searn_passes_per_policy 2 -b 30 -f twpos.vw

在哪里

--searn 25- NER标签的总数(?)

--searn_task sequence- 序列标记任务(?)

--searn_passes_per_policy 2- 不清楚它的作用

其他参数为大众标准,无需额外说明。也许还有更多特定于 SEARN 的参数?它们的重要性和影响是什么?如何调整它们?有什么经验法则吗?

任何指向示例的指针将不胜感激。

1个回答

John Langford 在 GitHub 上的文档可能会有所帮助。您可以在学习搜索子系统页面上找到一些内容。