当一个单词被添加到spacy的vocab中时,为了使用linguistic features,还需要添加一些信息,如lemma和tag。
我如何将这些功能添加到vocab中,这些更改是临时的还是每次调用spacy时都要更改?
我找不到任何关于the vocab source的信息,告诉我如何设置单词(而不是它们的向量)。
到目前为止,我正在检查,是否有一个词是在vocab通过调用
word = "apple"
word in list(nlp.vocab.strings)
字符串
因为word in nlp.vocab, nlp.vocab.has_vector(word), nlp.vocab.get_vector(word)
总是给予False
作为答案。
1条答案
按热度按时间sdnqo3pr1#
标记和词元不是词汇表的一部分,因为
Vocab
条目(Lexeme
s)只包含与上下文无关的特征。请参见:https://spacy.io/api/lexeme您可以在
Doc
中的Token
上设置标记和引理,而不是在Lexeme
上。还要注意的是,
nlp.vocab.strings
不是vocab中的单词,而是StringStore
中的单词/标签/等。nlp.vocab
是Vocab
和Lexeme
条目。nlp.vocab
和nlp.vocab.strings
都应该被认为是根据需要添加词素和字符串的缓存,所以一个条目当前是否在nlp.vocab
或nlp.vocab.strings
中主要表明它是否以前被看到过,而不是其他。