【问题标题】:Run cvb in mahout 0.8在 mahout 0.8 中运行 cvb
【发布时间】:2013-01-23 07:25:34
【问题描述】:

当前的 Mahout 0.8-SNAPSHOT 包括用于主题建模的折叠变分贝叶斯 (cvb) 版本并删除了潜在狄利克雷分析 (lda) 方法,因为 cvb 可以更好地并行化。不幸的是,只有lda 的文档说明了如何运行示例并生成有意义的输出。

因此,我想:

  • 正确预处理部分文本
  • 运行 cvb 的 cvb0_local 版本
  • 通过查看每个生成的主题中的前 n 个单词来检查结果

【问题讨论】:

    标签: mahout lda topic-modeling


    【解决方案1】:

    感谢 JoKnopp 提供详细的命令。

    如果你得到: 线程“main”java.lang.ClassCastException 中的异常:java.lang.Integer 无法转换为 java.lang.String

    您需要添加命令行选项“maxIterations”: --maxIterations (-m) 最大迭代次数

    我使用 -m 20 并且它有效

    参考: https://issues.apache.org/jira/browse/MAHOUT-1141

    【讨论】:

      【解决方案2】:

      以下是我必须在 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
      

      【讨论】:

      • 有没有办法检索每个主题文档?还是以其他方式检索文档主题?
      猜你喜欢
      • 2014-02-16
      • 2013-05-07
      • 2013-06-04
      • 2013-03-18
      • 2014-12-11
      • 2014-04-03
      • 2014-01-21
      • 1970-01-01
      • 2012-07-27
      相关资源
      最近更新 更多