【问题标题】:spaCy: How to write named entities to an existing Doc object using some loaded model for this?spaCy:如何为此使用一些加载的模型将命名实体写入现有的 Doc 对象?
【发布时间】:2019-10-13 13:10:35
【问题描述】:

我根据文档从自定义令牌列表创建了一个Doc 对象,如下所示:

import spacy
from spacy.tokens import Doc

nlp = spacy.load("my_ner_model")
doc = Doc(nlp.vocab, words=["Hello", ",", "world", "!"])

我现在如何使用我的 NER 模型将命名实体标签写入doc

我尝试做doc = nlp(doc),但这对我提出TypeError 不起作用。

我不能像往常一样将我的单词列表加入到纯文本中来做doc = nlp(text),因为在这种情况下spaCy 将我文本中的一些单词分成两个我不能接受的标记。

【问题讨论】:

    标签: python nlp token spacy named-entity-recognition


    【解决方案1】:

    你可以从你加载的模型中获取NER组件,直接在构造的Doc上调用:

    doc = nlp.get_pipe("ner")(doc)
    

    您可以使用nlp.pipe_names 检查管道中所有可用组件的列表,并以这种方式单独调用它们。当您调用 nlp() 时,标记器始终是管道的第一个元素,并且它不包含在此列表中,该列表仅包含接受和返回 Doc 的组件。

    【讨论】:

      猜你喜欢
      • 2021-01-04
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      相关资源
      最近更新 更多