2013-02-07 2 views
5

現在のMahout 0.8-SNAPSHOTには、トピックモデリング用の折りたたみ変分ベイズ(cvb)バージョンが含まれており、cvbを並列化してより効果的に行うことができるため、Latent Dirichlet Analysis(lda)残念ながら、例を実行して意味のある出力を生成する方法については、ldaのドキュメントしかありません。mahoutでcvbを実行する0.8

このように、私がしたい:一部のテキストが正しく

  • はCVB
  • のcvb0_localバージョンを実行

    • 前処理は、生成されたトピック
    • のそれぞれにおける上位n言葉を見て、結果を検査
  • 答えて

    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ワード示すことによって、出力を検査:詳細コマンドのJoKnoppに

    $MAHOUT_HOME/mahout vectordump \ 
        -i out/cvb/to_out \ 
        --dictionary out/sparseVectors/dictionary.file-0 \ 
        --dictionaryType sequencefile \ 
        --vectorSize 10 \ 
        -sort out/cvb/to_out 
    
    +0

    はeacheトピックdocumenをretriveする方法はありますTS?またはそれ以外の方法で、ドキュメントトピックを検索できますか? –

    3

    ありがとう。

    あなたが取得する場合:スレッド内 例外は、「メイン」とjava.lang.ClassCastException:java.lang.Integerのはjava.lang.Stringで

    にキャストすることはできませんあなたは、コマンドラインオプションを追加する必要がある「maxIterations」 : --maxIterations(-m)maxIterations

    私は20を-m使用して、それが

    はを参照して動作します: https://issues.apache.org/jira/browse/MAHOUT-1141

    関連する問題