如何从训练有素的Spacy模型中提取单词嵌入向量

时间:2019-03-27 17:49:20

标签: python spacy

说说经过训练的模型XX,我们可以使用

nlp = spacy.load('XX')
len(nlp.vocab.vectors.keys()) #return 0

所以我想我在这里一定错过了什么。是否可以从训练有素的模型中提取整个word:vector表?

1 个答案:

答案 0 :(得分:0)

这似乎表明您的模型没有任何向量。使用您的代码段,我得到en_core_web_sm(没有向量的英语模型)为0。如果与en_core_web_lglen(nlp.vocab.vectors.keys()) = 684830一起使用。

要回答有关单词/向量对​​的问题-您可以在上面构建一个简单的示例

import spacy
language_model = spacy.load("en_core_web_lg")

word_vectors = dict()
for key, vector in language_model.vocab.vectors.items():
    try:
        word_string = language_model.vocab.strings[key]
        word_vectors[word_string] = vector

    except KeyError:
        continue