【问题标题】:Is there any way to get the vocabulary size from doc2vec model?有没有办法从 doc2vec 模型中获取词汇量?
【发布时间】:2017-05-27 06:04:45
【问题描述】:

我正在使用 gensim doc2vec。我想知道是否有任何有效的方法可以从 doc2vec 中了解词汇量。一种粗略的方法是计算总字数,但如果数据量很大(1GB 或更多),那么这将不是一种有效的方法。

【问题讨论】:

    标签: gensim word2vec doc2vec


    【解决方案1】:

    如果 model 是您经过训练的 Doc2Vec 模型,那么在应用您的 min_count 后,幸存词汇表中唯一单词标记的数量可从以下位置获得:

    len(model.wv.vocab)
    

    经过训练的文档标签的数量可从以下位置获得:

    len(model.docvecs)
    

    【讨论】:

    • 没有vocab这样的参数。
    • 当然有——在撰写本文时!仍然是——只是在不同的地方!在更新版本的 gensim 中,vocab 对象已移动到组成部分 wv 属性中,并且在 1.0.0 中,在第一次编写此答案后于 2017 年 2 月发布,具有访问 vocab 的先前向后兼容能力通过model.vocab 被删除。上面的答案已更新以匹配当前的 gensim。
    • Welp,我删除了我的评论,因为你和我的评论是一样的。
    【解决方案2】:

    返回数据类型的词汇表是字典。使用键()如下:

    model.wv.vocab.keys()
    

    这应该返回一个单词列表。

    【讨论】:

      【解决方案3】:

      Gensim Version 4.您可以使用:

      使用词汇量大小
      vocab_len = len(model.wv)  # ?
      

      请参阅此Migrating to Gensim 4.0页面

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-21
        • 2019-07-08
        • 1970-01-01
        • 2018-04-12
        • 1970-01-01
        • 1970-01-01
        • 2016-09-17
        相关资源
        最近更新 更多