LDAvis提供了一种出色的可视化和探索主题模型的方法。LDAvis 需要 5 个参数:
- phi(维度数乘以主题数的矩阵)
- theta(具有维度的矩阵文档数乘以主题数)
- 每个文档的字数(整数向量)
- 词汇表(特征向量)
- 整个语料库中的词频(整数向量)
我的问题的简短版本是:在用 vowpal wabbit 拟合 LDA 模型后,如何导出 phi 和 theta?
theta 代表每个文档的主题混合,因此每个文档的总和必须为 1。phi 表示给定主题的术语的概率,因此每个主题的总和必须为 1。
在使用vowpal wabbit ( )运行 LDA 后,vw
某种权重会存储在模型中。可以通过提供一个特殊文件来获得该模型的人类可读版本,词汇表中每个术语一个文档,同时停用学习(通过-t
参数),例如
vw -t -i weights -d dictionary.vw --readable_model readable.model.txt
根据vowpal wabbit 的文档,所有列都期望readable.model.txt
现在的第一个“代表每个单词的主题分布”。
您还可以使用vw
, 即为文档集合生成预测
vw -t -i weights -d some-documents.txt -p predictions.txt
两者predictions.txt
和readable.model.txt
都有一个维度来反映输入(行)的数量和主题(列)的数量,它们都不是概率分布,因为它们的总和不等于 1(不是每行,也不是每列)。
我知道这vw
不适合胆小的人,并且我需要一些编程/脚本,但我确信必须有某种方法从vw
. 我已经被这个问题困扰了好几天了,请给我一些提示。