【发布时间】:2018-10-06 14:22:22
【问题描述】:
我正在尝试了解如何将 LDA 用于文本检索,我目前正在使用 gensim 的 LdaModel 模型来实现 LDA,此处为:https://radimrehurek.com/gensim/models/ldamodel.html。
我已经设法确定了 k 个主题及其最常用的词,并且我知道 LDA 是关于主题的概率分布以及词在文档中这些主题中的分布方式,所以这很有意义。
也就是说,我不明白如何使用 LdaModel 来检索与搜索查询的字符串输入相关的文档,例如“节育的负面影响”。我尝试在搜索查询上推断主题分布,并使用 gensim 的相似性来查找搜索查询上的主题分布与语料库中的主题分布之间的相似性。MatrixSimilarity 来计算余弦相似度,如下所示:
lda = LdaModel(corpus, num_topics=10)
index = similarities.MatrixSimilarity(lda[corpus])
query = lda[query_bow]
sims = index[query]
但性能不是很好。我认为找到搜索查询的主题分布并没有太大意义,因为搜索查询中通常只有 1 个主题。但我不知道我还能如何在 gensim 上的 LdaModel 上实现它。任何建议都会非常感激,我是主题建模的新手,也许我错过了一些对我来说显而易见的东西?谢谢!
【问题讨论】:
标签: gensim information-retrieval lda topic-modeling