gpt4 book ai didi

gensim - (gensim) LdaMallet vs LdaModel?

转载 作者:行者123 更新时间:2023-12-04 12:10:09 26 4
gpt4 key购买 nike

使用 gensim.models.LdaMallet 有什么区别和 gensim.models.LdaModel ?我注意到参数并不完全相同,想知道什么时候应该使用一个而不是另一个?

最佳答案

TL;DR:两者都是潜在狄利克雷分配的两个完全独立的实现。
如果您只是想尝试 LDA 而您对 Mallet 的特殊功能不感兴趣,请使用 gensim。
gensim.models.LdaModel 是在 gensim 中实现的 LDA 的单核版本。
gensim ( gensim.models.ldamulticore ) 中还有并行化的 LDA 版本。
两种 Gensim 实现都使用在线变分贝叶斯 (VB) 算法进行潜在狄利克雷分配,如 Hoffman et al. 中所述。 [1]。
Gensim 算法(不限于 LDA)是独立于内存的 w.r.t.语料库大小(可以处理大于 RAM 的输入、流式传输、核外)。
Gensim 还提供流行工具的包装器 Mallet (Java) 和 Vowpal Wabbit (C++)。
gensim.models.wrappers.LdaVowpalWabbit 使用与 Gensim 的 LdaModel 相同的在线变分贝叶斯 (VB) 算法 [1]。
gensim.models.wrappers.LdaMallet 使用 optimized Gibbs sampling algorithm用于潜在狄利克雷分配 [2]。
这就是参数不同的原因。
然而,大多数参数,例如主题的数量,alpha 和 (b)eta) 在两种算法之间共享,因为它们都实现了 LDA。
两个包装器( gensim.models.wrappers.LdaVowpalWabbit
gensim.models.wrappers.LdaMallet ) 需要安装相应的工具(独立于 gensim)。因此,gensim 更易于使用。
除此之外,尝试不同的实现,看看什么适合你。
引用
[1] Hoffman、Matthew、Francis R. Bach 和 David M. Blei。 “潜在狄利克雷分配的在线学习。”神经信息处理系统的进展。 2010 年。
[2] Yao、Limin、David Mimno 和 Andrew McCallum。 “对流式文档集合进行主题模型推理的有效方法。”第 15 届 ACM SIGKDD 知识发现和数据挖掘国际 session 论文集。 2009 年。

关于gensim - (gensim) LdaMallet vs LdaModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62581874/

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