JavaでMalletを使用してLDAのモデル推定を計算しており、 term-topic-matrixを探しています。
モデルの計算とトピック ドキュメント マトリックスの取得はうまくいきます。
ParallelTopicModel model = ...; //... estimating the model
int numTopics = model.getNumTopics();
int numDocs = model.getData().size();
// Getting the topic-probabilities
double[][] tmDist = new double[numDocs][];
for (int i = 0; i < numTopics; i++) {
tmDist[i] = model.getTopicProbabilities(i);
}
そして今、私は上位n個の単語しか取得できません:
Object[][] topWords = model.getTopWords(5);
for(int i = 0; i < topWords.length; i++){
for(int j = 0; j < topWords[i].length; j++){
System.out.print(topWords[i][j] + " ");
}
System.out.println();
}
この問題に関する唯一の回答は、Mallet のコマンド ライン バージョンに関するものです。