spacy - 使用 Spacy 进行 NER 增量训练

标签 spacy named-entity-recognition

我想增量训练 NER Spacy 模型

增量我的意思是发送第一批 N 个训练样本,获得第一个模型,然后发送第二批 M 个训练样本,并获得一个相同的模型,就像 N+M 个样本在一批中发送一样模型经过训练。

需要明确的是,这并不是在模型经过充分训练后添加样本。相反,它能够保存模型中的中间状态,以便我们可以“恢复”并添加更多训练样本。

如果样本数量很大或要创建“主动学习”系统,这非常有用。

根据this article,NLTK似乎是可行的:我想知道这是否可以用 Spacy 来完成。

到目前为止,我已经使用 nlp.update 通过 Spacy 训练了自己的自定义 NER 模型,但它似乎没有存储任何支持增量训练的中间状态。

最佳答案

是的,这在 spaCy 中是可能的。您使用 nlp.update 的方法是正确的;添加第二批训练样本后,您只需调用 nlp.to_disk("/path") ( https://spacy.io/usage/saving-loading )。然后您可以通过再次加载保存的模型来继续此过程。

关于spacy - 使用 Spacy 进行 NER 增量训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56144608/

相关文章:

scala - NER 干扰 REGEXNER

java - 斯坦福 NER : extracting separate lists of entities?

python - spaCy 共指解析 - 命名实体识别(NER)以返回唯一实体 ID?

python - 使用spaCy替换句子的 "topic"

python spacy 在窗口中寻找两个(或更多)单词

python - 内置函数可以用spaCy获取一个单词的频率?

python - 具有自定义数据的 NLTK 命名实体识别

python - 从 spacy 中的英文文本创建 CFG?

python - 使用 spacy 添加/删除自定义停用词

php - 命名实体识别算法