如何训练将 & 和 '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
保存模型,则词素规范将包含在保存的模型中。
我已经训练了一个 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
保存模型,则词素规范将包含在保存的模型中。