Mallet主题建模 - 主题关键词输出参数

4
在MALLET主题建模中,--output-topic-keys [FILENAME]选项输出每个主题旁边的一个参数,在MALLET网站上的教程中称之为主题的“Dirichlet参数”。我想知道这个参数代表什么?它是LDA模型中的β吗?如果不是,那它是什么,有什么意义和用途。
我注意到,当我在生成主题模型时不使用参数优化选项时,这个参数在版本2.0.7和版本2.0.8中有所不同。我想知道为什么会出现这种差异。
以下是版本2.0.7的输出: Version 2.0.7 以及2.0.8: enter image description here 我知道输出结果因每次运行而异,但我只关心这个参数。
2个回答

7
Mallet中使用的主题模型推断算法涉及重复为每个单词抽取新的主题分配,保持所有其他单词的分配不变。控制此过程的因素是(1)当前单词类型在每个主题中出现的频率和(2)每个主题在当前文档中出现的次数。平滑参数确保这些值对于任何主题都不为零:beta用于第一个因素,alpha用于第二个因素。
您可以将此处显示的alpha参数视为添加的每个主题中“虚构”单词的数量。在第一种情况下,主题0在每个文档中都有2.5个虚构单词的权重。该参数的默认值最初为50 / numTopics。较大的值鼓励模型在文档中具有更均匀的主题分布,较小的值则鼓励更稀疏。一般经验是50太大了,而5是更好的默认值。这在2.0.8中进行了更改。
默认情况下,使所有主题的alpha权重相等。启用超参数优化后,这些值可能会有所不同。通常您会发现,具有大值的主题包含“接近停用词”的单词,这些单词在大多数文档中都很频繁,没有太多内容。具有非常小值的主题通常是不同寻常和独特的文档。中间的主题通常是最有趣的。

如果我想要从MALLET中排除某些主题,该怎么办?在状态模型中设置alpha可以保证吗?如果不能,我该如何实现? - Mahmoud Yusuf

1
如果我理解正确,参数是alpha,而不是beta。
您可以使用标志来使用非对称的alpha。
--optimize-interval INTEGER

整数 次迭代重新评估超参数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接