gpt4 book ai didi

python - get_document_topics 的 LDA Mallet 替代方案 - 测量每个文档的主题

转载 作者:太空宇宙 更新时间:2023-11-03 19:41:32 30 4
gpt4 key购买 nike

目前正在使用 Python 和 Gensim Mallet 包装器进行 LDA 分析。训练模型并获取主题后,我想了解主题如何分布在各个文档中。在正常的 Gensim LDA 分析中,可以使用 get_document_topics 函数,我可以用它来迭代文件中的每个文档。然而,Mallet 包装器没有此功能。我可以检索一个特定文档上的主题分布,但无法找到一种解决方案来收集和存储每个文档上的主题分布(例如存储到列表或数据框中)。

我可以使用以下代码来获取一个文档的主题分布:

打印(ldamallet[mm[6000]])

这将返回以下输出:

[(0, 0.3055555555555555), (1, 0.3253968253968254), (2, 0.36904761904761907)]

但是,我无法让它迭代数据集中大约 9000 个文档。

可能相关的其他代码:

id2word = corpora.Dictionary(wordsFiltered)
id2word.filter_extremes(no_below=167, keep_tokens=None)
mm=[id2word.doc2bow(wordsFilter) for wordsFilter in wordsFiltered]
mallet_path = 'path'
ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=mm, num_topics=3, id2word=id2word)

有人有什么建议吗?提前致谢!

最佳答案

设法找到一个相当简单的解决方案。以下代码为我提供了每个文档的所有不同百分比的列表。

for m in ldamallet[mm]:
topics_docs.append(m)

如果有人有使其更干净的建议或有其他方法,请随时分享。仍然是初学者,所以欢迎所有建议。

关于python - get_document_topics 的 LDA Mallet 替代方案 - 测量每个文档的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60396376/

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