spaCy 的 .from_disk 模型无法加载模式。

3
在进行荷兰语命名实体识别任务时,我使用 EntityRuler 添加实体,以利用 spaCy。当我将该规则器添加到笔记本的管道中时:
nlp = spacy.load("nl_core_news_md")
ruler = nlp.add_pipe("entity_ruler", before="ner")
patterns  = complete_dicts # This is a list of dictionaries, e.g. [{"label": "PERSON", "pattern": "Staf Aerts"}, {"label": "PERSON", "pattern": "Meyrem Almaci"}]
ruler.add_patterns(patterns)

NER pipeline 很好用。但是,当我将它保存到我的磁盘上,然后再次加载这个模型时,会出现一些问题。

nlp.from_disk("path/to_model")

模型错过了通过EntityRuler添加的实体。

我在文档中找不到为什么会发生这种情况的原因。如果有人能解释一下,我将不胜感激!谢谢。


那应该可以正常工作。你实际上是如何保存和加载模型的?例如,你应该使用 spacy.from_disk。在保存的模型目录中,应该有一个 entity_ruler/patterns.jsonl 文件,你可以确认其中是否包含你的模式。 - polm23
你好!为了保存模型,我使用了 nlp.to_disk("path/to_model")。加载时使用 nlp.from_disk("path/to_model")。保存操作实际上会创建一个包含所有步骤的文件夹,在 entity_ruler 中有一个 patterns.jsonl 文件。这些是正确的模式,所以我很困惑为什么这不起作用! - IneG
啊,我在评论中的意思是 to_disk。很抱歉没有注意到 from_diskload 的区别。 - polm23
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接