Spacy 2.0 NER培训

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spacy 2.0 NER培训相关的知识,希望对你有一定的参考价值。

在SpacyV1中,可以通过提供BILOU格式的文档和实体注释列表来训练NER模型。

然而,似乎在V2训练中只能通过提供像这样的实体注释(7,13,'LOC'),所以使用enity偏移和实体标签。

提供令牌列表和BILOU格式的另一个实体标签列表的旧方法仍然有效吗?

从我从文档中收集的内容看起来nlp.update方法接受GoldParse对象列表,因此我可以为每个doc创建一个GoldParse对象,并将BILOU标记传递给它的entities属性。但是,如果忽略GoldParse类的其他属性(例如磁头或标签https://spacy.io/api/goldparse)或者培训NER不需要的其他属性,我会丢失重要信息吗?

谢谢!

答案

是的,您仍然可以使用BILUO标记创建GoldParse对象。使用示例显示“更简单”的偏移格式的主要原因是它使它们更容易阅读和理解。

如果您只想训练NER,您现在也可以在训练期间使用nlp.disable_pipes() context manager并禁用所有其他管道组件(例如'tagger''parser')。在块之后,组件将被恢复,因此当您保存模型时,它将包括整个管道。你可以在NER training examples中看到这个。

另一答案

如何使用GoldParse对象进行训练?我已经尝试了一段时间,我无法弄明白。

以上是关于Spacy 2.0 NER培训的主要内容,如果未能解决你的问题,请参考以下文章

我是否需要提供培训Spacy NER的句子或段落是否合适?

使用 spaCy 3 进行自定义 NER 训练会引发 ValueError

将自定义 NER 模型添加到 spaCy 管道

将 NER 训练数据转换为 Spacy 训练数据格式

每次迭代后保存spacy的NER模型

NER 使用 spaCy 和 Transformers - 在循环内部和外部运行时结果不同