我正在尝试训练 Spacy3.0 识别新的命名实体。我完全按照本文中的说明进行操作:https ://towardsdatascience.com/using-spacy-3-0-to-build-a-custom-ner-model-c9256bea098
for text, annot in tqdm(TRAIN_DATA): # data in previous format
doc = nlp.make_doc(text) # create doc object from text
ents = []
for i in annot["entities"]:
start = i[0]
end = i[1]
label = i[2]
span = doc.char_span(start, end, label=label, alignment_mode="contract")
ents.append(span)
doc.ents = ents
db.add(doc)
db.to_disk(r"train.spacy") # save the docbin object
一切正常,直到我在“ents”中添加了几个ner。
例如:-爸爸买苹果-工作正常。但是-爸爸买苹果和三星-不起作用。
我收到一个错误:“中止并保存最终的最佳模型。遇到异常:ValueError()”文件“spacy\pipeline_parser_internals\ner.pyx”,第 310 行,在 spacy.pipeline._parser_internals.ner.BiluoPushDown.set_costs ValueError
也许应该在 config.cfg 中更改某些内容,但我找不到什么。