【问题标题】:how to train spacy model which treats & and 'and' similar for accurate prediction如何训练处理 & 和 'and' 相似的 spacy 模型以进行准确的预测
【发布时间】:2021-11-24 13:26:59
【问题描述】:

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

John & Doe & One pvt ltd -> Company

现在在某些情况下,我发现,如果在预测期间给出如下句子被归类为“其他”-

John and Doe and One pvt ltd -> Other

如果我们有“& == and”和“v == vs == vs”等案例要被模型理解的情况具有相同的含义,应该怎么做才能克服这个问题?

【问题讨论】:

    标签: python nlp spacy named-entity-recognition


    【解决方案1】:

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

    # 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 保存模型,则词位规范将包含在保存的模型中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 2019-10-11
      • 2020-01-02
      • 2019-06-20
      • 2020-09-07
      • 1970-01-01
      • 2017-07-16
      相关资源
      最近更新 更多