machine-learning - 如何创建增量NER训练模型(追加到现有模型中)?

标签 machine-learning stanford-nlp spacy

我正在使用斯坦福自然语言处理训练自定义命名实体识别(NER)模型,但问题是我想重新训练模型 .

示例:

假设我训练了xyz模型,那么我将在一些文本上测试它,如果模型检测到错误,那么我(最终用户)将纠正它并想要重新训练(附加模式)模型更正后的文本。

斯坦福大学不提供再培训设施,这就是为什么我转向 python 的 spacy 库,我可以在其中重新培训模型,意味着我可以附加新实体但是在使用 spacy 重新训练模型后,它会覆盖现有知识(意味着其中现有的训练数据)并仅显示与最近训练相关的结果。

考虑,我使用 1000 条记录在 TECHNOLOGY 标签上训练了一个模型。之后可以说我又向现有实体添加了一个实体 BOOK_NAME经过训练的模型。在此之后,如果我测试模型,则 spacy 模型仅从文本中检测 BOOK_NAME

请提出解决我的问题陈述的建议。

提前致谢...!

最佳答案

我认为在这里解决这个问题有点晚了。您面临的问题也称为'Catastrophic Forgetting problem' 。您可以通过发送现有示例的示例来克服它。就像 Spacy 可以很好地预测 BBC 语料库等格式良好的文本一样。您可以选择这样的语料库,使用预训练的 spacy 模型进行预测并创建训练示例。将这些示例与您的新示例混合,然后进行训练。您现在应该会得到更好的结果。这是mentioned已经在spacy问题中了。

关于machine-learning - 如何创建增量NER训练模型(追加到现有模型中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46114476/

相关文章:

scala - coreNLP 显着减慢了 Spark 作业的速度`

java - CoreNLP : Parsing of sentence failed, 可能是因为内存不足

python - spacy 的造轮子失败

python - 树遍历并在Python中获取相邻的子节点

python - GridSearchCV 和 LogisticRegression 引发 ValueError : Can't handle mix of continuous and binary

python - 在 Keras 中使用 RNN 预测数据集的过去结尾

opencv - Opencv 中的概率分类器

machine-learning - vocabulary_size 对 word2vec tensorflow 实现有什么影响?

java - Stanford CoreNLP python接口(interface)安装错误

python-2.7 - 使用 pytextrank 时 Spacy 中的值错误(textrank 的 Python 实现)