【问题标题】:spacy how to add patterns to existing Entity ruler?spacy 如何将模式添加到现有的实体标尺?
【发布时间】:2021-07-28 12:35:35
【问题描述】:

我的 spacy 版本是 2.3.7。我有一个现有的训练有素的自定义 NER 模型,带有 NER 和 Entity Ruler 管道。 我想更新和重新训练这个现有的管道。

创建实体标尺管道的代码如下-

ruler = EntityRuler(nlp)
for i in patt_dict:
  ruler.add_patterns(i)
nlp.add_pipe(ruler, name = "entity_ruler")

patt_dict 是我制作的原始模式字典。

现在,在完成训练后,现在我有更多的输入数据,想用新的输入数据更多地训练模型。

当我稍后加载 spacy 模型并想用更多输入数据重新训练它时,如何修改上述代码以向实体标尺添加更多模式字典?

【问题讨论】:

    标签: python spacy named-entity-recognition


    【解决方案1】:

    通常最好从头开始重新训练。如果您只对新数据进行训练,您可能会遇到“灾难性遗忘”,即模型会忘记新数据中没有的任何内容。

    这在this spaCy blog post 中有详细介绍。从 v3 开始,该方法在 spaCy 中可用,但仍处于试验阶段,需要一些工作。无论如何,它仍然是一种解决方法,最好的办法是使用所有数据从头开始训练。

    【讨论】:

    • 感谢您的回复。直到现在我才听说过“灾难性遗忘”。我会阅读更多关于它的内容。
    猜你喜欢
    • 1970-01-01
    • 2022-09-29
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多