当前的 Mahout 0.8-SNAPSHOT 包括用于主题建模的折叠变分贝叶斯 (cvb) 版本,并删除了潜在狄利克雷分析 (lda) 方法,因为 cvb 可以更好地并行化。不幸的是,只有文档lda https://cwiki.apache.org/confluence/display/MAHOUT/Latent+Dirichlet+Allocation关于如何运行示例并生成有意义的输出。
因此,我想:
- 正确预处理一些文本
- 运行 cvb0_local 版本的 cvb
- 通过查看每个生成的主题中的前 n 个单词来检查结果
下面是我必须在 Linux shell 中调用的后续 Mahout 命令。
$MAHOUT_HOME 指向我的 mahout/bin 文件夹。
$MAHOUT_HOME/mahout seqdirectory \
-i path/to/directory/with/texts \
-o out/sequenced
$MAHOUT_HOME/mahout seq2sparse -i out/sequenced \
-o out/sparseVectors \
--namedVector \
-wt tf
$MAHOUT_HOME/mahout rowid \
-i out/sparseVectors/tf-vectors/ \
-o out/matrix
$MAHOUT_HOME/mahout cvb0_local \
-i out/matrix/matrix \
-d out/sparseVectors/dictionary.file-0 \
-a 0.5 \
-top 4 -do out/cvb/do_out \
-to out/cvb/to_out
通过显示每个主题的前 10 个单词来检查输出:
$MAHOUT_HOME/mahout vectordump \
-i out/cvb/to_out \
--dictionary out/sparseVectors/dictionary.file-0 \
--dictionaryType sequencefile \
--vectorSize 10 \
-sort out/cvb/to_out
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)