【问题标题】:How to see the content of a Gensim-generated dictionary?如何查看 Gensim 生成的字典的内容?
【发布时间】:2021-07-03 21:35:30
【问题描述】:

我正在使用 Gensim 运行主题建模。在创建文档术语矩阵之前,需要创建一个令牌字典。

dictionary = corpora.Dictionary(tokenized_reviews)
doc_term_matrix = [dictionary.doc2bow(rev) for rev in tokenized_reviews]

但是,我不明白“字典”是什么类型的对象。

所以,当我输入:

type(dictionary)

我明白了

gensim.corpora.dictionary.Dictionary

这是一个字典(一种数据结构)吗?如果是这样,为什么我看不到内容(我只是好奇)?

当我输入时

dictionary

我明白了:

NLTK 中的某些对象也存在同样的问题。

如果这是一个字典(作为一种数据结构),为什么我不能像任何其他 Python 字典一样看到键和值?

谢谢, 纳维德

【问题讨论】:

    标签: python data-structures nltk gensim topic-modeling


    【解决方案1】:

    这是由 Gensim 项目实现的特定 Dictionary 类。

    它将在接口上与标准 Python dict(以及您可能在其他地方使用过的其他各种 Dictionary/HashMap/etc 类型)非常相似。

    但是,要确切了解它可以做什么,您应该查阅特定于类的文档:

    https://radimrehurek.com/gensim/corpora/dictionary.html

    dict一样,可以做典型的操作:

    len(dictionary)  # gets number of entries
    dictionary[key]  # gets the value at a certain key (word)
    dictionary.keys()  # gets all stored keys
    

    当您尝试显示 dictionary 本身的值时,您看到通用 <gensim.corpora.dictionary.Dictionary at 0x1bac985ebe0> 的原因是它没有定义任何带有更多信息的便捷显示字符串 - 所以您看到的是默认值随机 Python 对象。 (此类词典通常太大而无法在被问及“展示自己”时有用地转储其全部内容。

    【讨论】:

    • 感谢您的解释!
    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 2013-04-08
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 2011-01-21
    • 1970-01-01
    相关资源
    最近更新 更多