spaCy:如何为此使用一些加载模型将命名实体写入现有 Doc 对象?
spaCy: How to write named entities to an existing Doc object using some loaded model for this?
我根据如下文档从自定义令牌列表创建了一个 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
将我文本中的一些单词分成两个我不能做的标记接受。
您可以从您加载的模型中获取 NER 组件,并直接在构建的模型上调用它 Doc
:
doc = nlp.get_pipe("ner")(doc)
您可以使用 nlp.pipe_names
检查管道中所有可用组件的列表,并以这种方式单独调用它们。当您调用 nlp()
时,tokenizer 始终是管道的第一个元素,它不包含在此列表中,该列表仅包含同时采用 return 和 Doc
的组件。
我根据如下文档从自定义令牌列表创建了一个 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
将我文本中的一些单词分成两个我不能做的标记接受。
您可以从您加载的模型中获取 NER 组件,并直接在构建的模型上调用它 Doc
:
doc = nlp.get_pipe("ner")(doc)
您可以使用 nlp.pipe_names
检查管道中所有可用组件的列表,并以这种方式单独调用它们。当您调用 nlp()
时,tokenizer 始终是管道的第一个元素,它不包含在此列表中,该列表仅包含同时采用 return 和 Doc
的组件。