我想给"en_core_web_sm"
添加一些标签例如:我希望space NER模型标记为"16gb";作为RAM和Intel core i7;作为CPU我该怎么做呢?
我试了如下:
nlp = spacy.load("en_core_web_sm")
ruler = EntityRuler(nlp)
patterns = [{"label": "RAM", "pattern": "16gb ram"}]
ruler = nlp.add_pipe("entity_ruler")
ruler.add_patterns(patterns)
doc = nlp("16gb ram is my order")
for ent in doc.ents:
print(ent.text,ent.label_)
,输出为:16 CARDINAL
如果你只想用EntityRuler添加新标签,你可以通过设置overwrite_ents = True
来做到这一点。在文档中看到这里,但它看起来像这样:
config = {"overwrite_ents": True}
nlp.add_pipe("entity_ruler", config=config)