【问题标题】:Finding topics of an unseen document via Gensim通过 Gensim 查找未见过文档的主题
【发布时间】:2012-07-13 13:22:10
【问题描述】:

我正在使用 Gensim 进行一些大规模的主题建模。我很难理解如何确定未见(非索引)文档的预测主题。例如:我有 2500 万个文档,我已将其转换为 LSA(和 LDA)空间中的向量。我现在想弄清楚一个新文档的主题,我们称之为 x。

根据 Gensim 文档,我可以使用:

topics = lsi[doc(x)]

其中 doc(x) 是将 x 转换为向量的函数。

然而,问题是上面的变量topics返回一个向量。如果我将 x 与其他文档进行比较,该向量很有用,因为它可以让我找到它们之间的余弦相似度,但我实际上无法返回与 x 本身相关联的特定单词。

是我遗漏了什么,还是 Gensim 没有这种能力?

谢谢,

编辑

拉斯曼有答案。

我可以通过以下方式显示主题:

for t in topics:
    print lsi.show_topics(t[0])

【问题讨论】:

  • 请您分享您如何将 x 转换为向量?非常感谢!

标签: python nlp latent-semantic-indexing gensim


【解决方案1】:

[] 在 LSI 模型上返回的向量实际上是 (topic, weight) 对的列表。您可以通过 LsiModel.show_topic 方法检查主题

【讨论】:

  • 啊!那是我的问题,我假设 lsi[doc] 是一个向量。我看过 show_topics 方法,但不认为它适用。感谢您的帮助。
【解决方案2】:

我可以通过以下方式显示主题:

对于主题中的 t: 打印 lsi.show_topics(t[0])

只是想指出解决方案代码中的一个微小但重要的错误:您需要使用 show_topic() 函数而不是 show_topic**s**() 函数。

附:我知道这应该作为评论而不是答案发布,但我目前的声誉评分还不允许 cmets!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多