提供Spacy NER模型负面示例以改进培训

时间:2018-03-05 23:17:52

标签: python spacy

我已经为spacy的ner模型提供了一套GoldParse对象来训练。

我现在要做的是评估新句子的结果,并将每个公认的实体标记为“好”或“坏”,然后将这些信息纳入新一批培训中。

这可能吗? ner模型如何从负面样本中学习?

1 个答案:

答案 0 :(得分:6)

是的,可以从负面的例子中学习 - 它是在spaCy中实现的,因为它是我们商业注释工具Prodigy的一个关键特性:https://prodi.gy

要将标记标记为“非PERSON”,您可以制作标签!PERSON。这应该就是你需要做的。目前还没有简单的方法来编码“非PERSON而不是ORG”等约束 - 您必须在spacy/syntax/ner.pyx

内自定义成本函数

该模型可以从“非PERSON”等注释中学习,因为spaCy的NER和解析器都使用基于过渡的模仿学习算法。在每个单词我们都试图预测要采取的行动,以改变当前的状态。监督来自一个oracle,它告诉我们哪些动作会引入新的错误。如果我们知道某些文本不是一个人,那么oracle可以使用它来标记某些操作代价高昂。我们将采取多种零成本行动,但这是正常的 - 无论如何,它在正常训练中都会发生很多。

您可以在此视频中详细了解实体识别器的工作原理:https://www.youtube.com/watch?v=sqDHBH9IjRU