SpaCy:在训练自定义实体的模型时,我是否需要提早停止操作?

时间:2019-10-14 08:51:27

标签: nlp spacy opennlp

我将数据分为训练和测试。

https://spacy.io/usage/training#ner

根据spacy提供的用于训练自定义实体的代码段,似乎没有尽早停止的可能。所以我在这里有一个问题?

我应该编写一个自定义代码,该代码在每次迭代后执行以下一系列操作: 1.迭代完成。 2.检查测试数据上的模型准确性。 3.如果精度超过以前的模型,则保存它,否则继续。 4.执行下一次迭代。

还是我完成所有迭代后的最终模型,例如30次迭代是最好的模型?

我的自定义代码的示例输出: enter image description here

根据上面的输出,是不是说最好的模型是第13次迭代?

1 个答案:

答案 0 :(得分:1)

您应该切换到火车CLI,其中包括更好的评估指标和提前停止:https://spacy.io/api/cli#train

spacy convert可以将许多常见的NER格式转换为spacy的内部培训格式,并且spacy train比简单的示例培训脚本具有更多的选择。 (spacy在内部使用spacy train为其分发的模型。)