如何训练将 & 和 'and' 相似以进行准确预测的 spacy 模型

how to train spacy model which treats & and 'and' similar for accurate prediction

我已经训练了一个 spacy NER 模型,它在训练期间将文本映射到公司实体,如 -

John & Doe & One pvt ltd -> Company

现在我发现在某些情况下,如果在预测时给出如下句子被归类为Others-

John and Doe and One pvt ltd -> Other

当模型理解“& == and”和“v == vs == versus”等情况具有相同含义时,应该如何解决这个问题?

对于这些情况,您要添加词位规范或标记规范。

# lexeme norm
nlp.vocab["and"].norm_ = "&"
# token norm
doc[1].norm_ = "&"

统计模型都默认使用token.norm而不是token.orth作为特征。您可以为文档中的单个标记设置 token.norm_(有时您可能希望根据上下文进行规范化),或者将 nlp.vocab["word"].norm_ 设置为任何没有单个标记的默认值 token.norm设置。

如果将词素规范添加到词汇表并使用 nlp.to_disk 保存模型,则词素规范将包含在保存的模型中。