わかりましたので、トピックを出力する方法はまだわかりませんが、cvb を取得する方法と、ドキュメント ベクトルであると思われるものを解決しましたが、それらをダンプする運がなかったので、ここで助けてください。感謝されます!
ああ、次の値を設定することを忘れないでください。
export MAHOUT_HOME=/home/sgeadmin/mahout
export HADOOP_HOME=/usr/lib/hadoop
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
そうでなければ、これは機能しません。
したがって、最初に starclusters put を使用してドキュメントをアップロードします (もちろん、starcluster を使用していない場合は、これをスキップしてください :) ):
starcluster put mycluster text_train /home/sgeadmin/
starcluster put mycluster text_test /home/sgeadmin/
次に、それらを hadoop の hbase ファイルシステムに追加する必要があります (-hadoop スタークラスターを忘れないでください)。
dumbo put /home/sgeadmin/text_train /user/sgeadmin/ -hadoop starcluster
次に、Mahoutseqdirectory
を呼び出して、テキストをシーケンス ファイルに変換します。
$MAHOUT_HOME/bin/mahout seqdirectory --input /user/sgeadmin/text_train --output /user/sgeadmin/text_seq -c UTF-8 -ow
次に、Mahoutseq2parse
を呼び出してそれらをベクトルに変換します
$MAHOUT_HOME/bin/mahout seq2sparse -i text_seq -o /user/sgeadmin/text_vec -wt tf -a org.apache.lucene.analysis.WhitespaceAnalyzer -ow
最後に を呼び出しますcvb
。-dt
フラグには、推論されたトピックがどこに行くべきかが示されていると思いますが、まだそれらをダンプできていないため、これを確認できません。
$MAHOUT_HOME/bin/mahout cvb -i /user/sgeadmin/text_vec/tf-vectors -o /user/sgeadmin/text_lda -k 100 -nt 29536 -x 20 -dict /user/sgeadmin/text_vec/dictionary.file-0 -dt /user/sgeadmin/text_cvb_document -mt /user/sgeadmin/text_states
-k
フラグはトピックの数、フラグは辞書のサイズです。これは、ベクトル内 (この場合は の下)-nt
のエントリ数を数えることで計算でき、反復回数です。dictionary.file-0
/user/sgeadmin/text_vec
-x
ここからドキュメントのトピックの確率を取得する方法を誰かが知っている場合は、助けていただければ幸いです。