spacy : 如何将单词及其属性添加到词汇表(vocab)中?

问题描述 投票:0回答:1

当spacy的词汇中添加一个单词时, 为了使用语言功能,还需要添加一些信息,例如引理和标签。

如何将此功能添加到词汇中?这些更改是临时进行的还是每次我调用 spacy 时进行?


我找不到有关词汇源的任何信息来告诉我如何设置单词(而不是它们的向量)。

到目前为止,我正在通过调用来检查词汇中是否有某个单词

word = "apple"
word in list(nlp.vocab.strings)

因为

word in nlp.vocab, nlp.vocab.has_vector(word), nlp.vocab.get_vector(word)
总是给我
False
作为答案。

python-3.x spacy
1个回答
0
投票

标签和引理不是词汇表的一部分,因为

Vocab
条目(
Lexeme
)仅包含上下文无关的特征。请参阅:https://spacy.io/api/lexeme

您可以在

Token
中的
Doc
上设置标签和引理,而不是在
Lexeme
上。

另请注意,

nlp.vocab.strings
不是词汇中的单词,而是单词/标签等。在
StringStore
nlp.vocab
是带有
Vocab
条目的
Lexeme

nlp.vocab
nlp.vocab.strings
都应该被认为是根据需要添加词素和字符串的缓存,因此一个项目当前是否在
nlp.vocab
nlp.vocab.strings
中主要指示它是否以前见过,没有太多其他信息。每次加载
nlp.vocab
时,
nlp
几乎都是空的,并随着文本处理而扩展。

© www.soinside.com 2019 - 2024. All rights reserved.