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