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

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

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

term    count
apple   123004
country 4432180
runs    620102
...

有可能吗?我如何从word2vec中获取数据?

python word2vec word-embedding word-frequency natural-language-processing
1个回答
0
投票

你使用哪个word2vec实现?

在流行的gensim库中,在Word2Vec模型建立了它的词汇(通过完全训练,或者在调用build_vocab()之后),模型的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))

简单的单词向量集(例如通过gensimload_word2vec_format()方法加载的单词向量)将不具有准确的计数,但按照惯例,通常在内部排序从最频繁到最不频繁。

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