5

現在の Mahout 0.8-SNAPSHOT には、トピック モデリング用の Collapsed Variational Bayes (cvb) バージョンが含まれており、潜在ディリクレ分析 (lda) アプローチが削除されています。これは、cvb の方が優れた方法で並列化できるためです。残念ながら、例を実行して意味のある出力を生成する方法に関するldaのドキュメントしかありません。

したがって、私はしたい:

  • 一部のテキストを正しく前処理する
  • cvb の cvb0_local バージョンを実行します
  • 生成された各トピックの上位 n 単語を調べて、結果を調べます
4

2 に答える 2

12

そのため、これを行うために Linux シェルで呼び出さなければならなかったその後の 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
于 2013-02-08T09:03:52.560 に答える
3

詳細コマンドを提供してくれたJoKnoppに感謝します。

次の場合:スレッド "main"の例外java.lang.ClassCastException:java.lang.Integerをjava.lang.Stringにキャストできません

コマンドラインオプション「maxIterations」を追加する必要があります。--maxIterations(-m)maxIterations

私は-m20を使用し、それは機能します

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

于 2013-02-21T03:11:30.903 に答える