如何在Word2Vec的训练模型中计算单词频率?

时间:2019-04-12 17:42:28

标签: python word2vec word-embedding word-frequency natural-language-processing

我需要计算word2vec的训练模型中每个单词的出现频率。我想要的输出看起来像这样:

term    count
apple   123004
country 4432180
runs    620102
...

有可能这样做吗?我如何从word2vec中获取这些数据?

1 个答案:

答案 0 :(得分:0)

您正在使用哪个word2vec实现?

在流行的gensim库中,建立Word2Vec模型的词汇表后(通过进行全面培训或调用build_vocab()之后),模型的{{1 }}属性包含一个wv类型的对象,该对象作为属性KeyedVectors的一个vocab类型对象的字典,该对象具有单词频率的Vocab属性在扫描的语料库中。

因此,您可以通过以下方式大致获得所需的内容:

count

普通的单词向量集(例如通过w2v_model = Word2Vec(your_corpus, ...) for word in w2v_model.wv.vocab: print((word, w2v_model.wv.vocab[word].count)) 的{​​{1}}方法加载的单词向量)没有准确的计数,但是按照惯例,通常在内部按从高到低的顺序排列-频繁。