我想训练一个 spacy 自定义 NER 模型,这是最好的选择?
火车数据准备好了(doccano)
选项 1. 使用现有的预训练 spacy 模型并使用自定义 NER 更新它?
选项 2. 使用带有自定义 NER 的 spacy.blank() 创建一个空模型?
我只想在文本中识别我的自定义实体,不需要其他类型的实体......目前
我想训练一个 spacy 自定义 NER 模型,这是最好的选择?
火车数据准备好了(doccano)
选项 1. 使用现有的预训练 spacy 模型并使用自定义 NER 更新它?
选项 2. 使用带有自定义 NER 的 spacy.blank() 创建一个空模型?
我只想在文本中识别我的自定义实体,不需要其他类型的实体......目前
您希望transfer learning
尽可能多地利用:这意味着您很可能希望使用预先训练的模型(例如,在 Wikipedia 数据上)并针对您的用例对其进行微调。这是因为spacy.blank
从头开始训练模型需要大量数据,而微调预训练模型可能只需要几百个标签。
但是,请注意catastrophic forgetting
,在对一些新标签进行微调时,模型可能会“忘记”一些旧标签,因为它们不再存在于训练集中。
例如,假设您试图在DOCTOR
一个预先训练的 NER 模型上标记实体LOC
,该模型标记PERSON
和ORG
。您标记 200 条 DOCTOR 记录并使用它们微调您的模型。您可能会发现该模型现在将 every 预测PERSON
为DOCTOR
.
在不了解您的数据的情况下,您只能这么说。有关更多详细信息,请查看有关培训 ner 的 spacy 文档。