【问题标题】:Mallet topic modeling - topic keys output parameterMallet 主题建模 - 主题键输出参数
【发布时间】:2017-07-18 09:05:26
【问题描述】:

在 MALLET 主题建模中,--output-topic-keys [FILENAME] 选项在每个主题旁边输出一个参数,在 MALLET 站点的教程中称为主题的“Dirichlet 参数”。

我想知道这个参数代表什么?是 LDA 模型中的 β 吗?如果不是,它是什么,它的意义和用途是什么。

我注意到,当我在生成主题模型时不使用参数优化选项时,该参数在 2.0.7 版本中与在 2.0.8 版本中有所不同。我想知道为什么会出现这种差异。

这里是 2.0.7 版本的输出

和 2.0.8

我知道每次运行的输出都不同,但我只关心这个参数。

【问题讨论】:

    标签: topic-modeling mallet


    【解决方案1】:

    Mallet 中使用的主题模型推理算法涉及为每个单词重复采样新的主题分配,并保持所有其他单词的分配固定。控制这个过程的因素是(1)当前单词类型在每个主题中出现的频率以及(2)每个主题在当前文档中出现的次数。平滑参数确保这些值对于任何主题都不会为零:beta 用于第一个因素,alpha 用于第二个因素。

    您可以将此处显示的alpha 参数视为每个主题中添加的“虚构”单词的数量。在第一种情况下,主题 0 在每个文档中具有 2.5 个虚拟词的权重。此参数的默认值最初为 50 / numTopics。较大的值鼓励模型在文档中具有更均匀的主题分布,较小的值鼓励更多的稀疏性。一般的经验是 50 太大,而 5 是更好的默认值。这在 2.0.8 中已更改。

    默认设置是使所有主题的alpha 权重相等。启用超参数优化后,这些值可能会有所不同。通常你会发现,一个大值的主题会包含在大多数文档中频繁出现且内容不多的“近停用词”。具有非常小的值的主题通常是不寻常且独特的文档。中间的话题往往是最有趣的。

    【讨论】:

    • 那么,如果我想消除某个主题被 MALLET 选中怎么办?在状态模型中设置 alpha 会保证这一点吗?如果没有,我该如何实现?
    【解决方案2】:

    如果我理解正确的话,参数是alpha,而不是beta。

    您可以通过标志使用非对称 alpha

    --optimize-interval INTEGER
    

    INTEGER 次迭代重新估计超参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多