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

laik7k3q  于 2023-11-20  发布在  Python
关注(0)|答案(1)|浏览(174)

当一个单词被添加到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作为答案。

sdnqo3pr

sdnqo3pr1#

标记和词元不是词汇表的一部分,因为Vocab条目(Lexeme s)只包含与上下文无关的特征。请参见:https://spacy.io/api/lexeme
您可以在Doc中的Token上设置标记和引理,而不是在Lexeme上。
还要注意的是,nlp.vocab.strings不是vocab中的单词,而是StringStore中的单词/标签/等。nlp.vocabVocabLexeme条目。
nlp.vocabnlp.vocab.strings都应该被认为是根据需要添加词素和字符串的缓存,所以一个条目当前是否在nlp.vocabnlp.vocab.strings中主要表明它是否以前被看到过,而不是其他。

相关问题