gpt4 book ai didi

python - gensim word2vec : Find number of words in vocabulary

转载 作者:IT老高 更新时间:2023-10-28 22:20:09 30 4
gpt4 key购买 nike

使用 python 训练 word2vec 模型后 gensim ,如何找到模型词汇表中的单词数?

最佳答案

在最近的版本中,model.wv 属性包含单词和向量,并且 can 本身可以报告长度 - 它包含的单词数。因此,如果 w2v_model 是您的 Word2Vec(或 Doc2VecFastText)模型,那么只需这样做:

vocab_len = len(w2v_model.wv)

如果您的模型只是一组原始词向量,例如 KeyedVectors 实例而不是完整的 Word2Vec/etc 模型,那么它只是:

vocab_len = len(kv_model)

Gensim 4.0+ 中其他有用的内部组件包括 model.wv.index_to_key,每个索引位置的键(单词)的普通列表,以及 model.wv.key_to_index,一个普通的字典,将键(单词)映射到它们的索引位置。

在 4.0 之前的版本中,词汇表位于 Word2Vec 模型的 wv 属性的 vocab 字段中,作为字典,键是每个标记(单词) .所以这只是获取字典长度的常用 Python:

len(w2v_model.wv.vocab)

在 0.13 之前的非常古老的 gensim 版本中,vocab 直接出现在模型上。所以回到那时你会使用 w2v_model.vocab 而不是 w2v_model.wv.vocab

但是,如果您仍在使用 Gensim 4.0 之前的任何东西,那么您绝对应该升级!内存和性能有了很大的改进,调用代码所需的更改相对较小——一些重命名和移动,在 4.0 Migration Notes 中有介绍。 .

关于python - gensim word2vec : Find number of words in vocabulary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596031/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com