首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何初始化gensim LDA主题模型?

如何初始化gensim LDA主题模型?
EN

Stack Overflow用户
提问于 2018-06-29 00:30:12
回答 1查看 1.3K关注 0票数 0

有人认为,使用词簇初始化主题模型可以获得更高质量的模型或更健壮(一致)的推理。我说的是初始化优化器,而不是设置优先级。下面是一些代码来说明我想要做的事情:

创建一个LdaModel对象,但不要传入一个语料库。

代码语言:javascript
复制
lda_model =
LdaModel(
         id2word=id2word,
         num_topics=30,
         eval_every=10,
         pass=40,
         iterations=5000)

接下来,指定对象的一些属性,对应于将主题中的每个单词绘制到我自己构造的矩阵的概率。

代码语言:javascript
复制
lda_model.topics = my_topic_mat

然后配合语料库:

代码语言:javascript
复制
lda_model.update(corpus)

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2018-06-30 20:24:51

实际上,设置优先级可能比初始化优化器更好。

有两个超参数alphaeta,其中alpha是文档主题矩阵的先验,eta是主题词矩阵的先验。要影响主题中的单词概率,请尝试传递eta作为附加参数:

代码语言:javascript
复制
lda_model = gensim.models.ldamodel.LdaModel(num_topics=30, id2word=id2word, eta=your_topic_mat, 
                                            eval_every=10, iterations=5000)

来自gensim docs

eta可以是对称优先于主题/词分布的标量,也可以是形状num_words的向量,用于将(用户定义的)不对称先验强加于单词分布。它还支持特殊的值‘auto’,它学习不对称的优先于直接从您的数据单词。eta也可以是形状num_topics x num_words的矩阵,它可以用于在每个主题的基础上对单词分布施加不对称的先验(不能从数据中学习)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51092771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档