【问题标题】:Can LDAvis analyse the results of vowpal_wabbit LDA?LDAvis 可以分析 vowpal_wabbit LDA 的结果吗?
【发布时间】:2021-04-19 23:42:19
【问题描述】:

LDAvis 提供了一种可视化和探索主题模型的绝佳方式。 LDAvis 需要 5 个参数:

  1. phi(维度数乘以主题数的矩阵)
  2. theta(维度为文档数乘以主题数的矩阵)
  3. 每个文档的字数(整数向量)
  4. 词汇表(字符向量)
  5. 整个语料库中的词频(整数向量)

我的问题的简短版本是:用 vowpal wabbit 拟合 LDA 模型后,如何导出 phi 和 theta?

theta 表示每个文档的主题混合,因此每个文档的总和必须为 1。 phi 表示给定主题的术语的概率,因此每个主题的总和必须为 1。

在使用vowpal wabbit (vw) 运行 LDA 后,某种权重会存储在模型中。可以通过提供一个特殊文件来获取该模型的人类可读版本,词汇表中每个术语一个文档,同时停用学习(通过-t 参数),例如

vw -t -i weights -d dictionary.vw --readable_model readable.model.txt

根据documentation of vowpal wabbit,所有列都期望readable.model.txt 的第一个现在“代表每个单词的主题分布”。

您还可以使用vw 生成预测,即针对文档集合

vw -t -i weights -d some-documents.txt -p predictions.txt

predictions.txtreadable.model.txt 都有一个维度来反映输入(行)和主题(列)的数量,它们都不是概率分布,因为它们不总和为 1(不是每行,也不是每列)。

我知道vw 不适合胆小的人,我需要一些编程/脚本,但我确信必须有某种方法来导出 theta 和 phi来自vw 的一些输出。我已经被这个问题困扰了好几天了,请给我一些提示。

【问题讨论】:

    标签: lda vowpalwabbit pyldavis


    【解决方案1】:

    我不知道如何直接将 pyLDAvis 与 Vowpal Wabbit 一起使用。 但是,由于您已经在使用 python 工具,您可以同时使用 Gensim 包装器和 pyLDAvis。

    VowpalWabbit 的 Python 包装器在 gensim (vwmodel2ldamodel 后由 Gensim 自己训练模型一样。

    如果您不熟悉 Vowpal Wabbit(以及一般的 LDA)的内部结构,此解决方法可能是最简单的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      相关资源
      最近更新 更多