Example #1
0
  public void report(File outputFile) throws IOException {
    PrintWriter out = new PrintWriter(outputFile);

    int[] idx = ArrayUtils.argsort(model.getTopicPrevalence(), true);
    out.println("topic         weight      coherence   terms");
    out.println("-----   ------------   ------------   -----");
    for (int i : idx) {
      out.printf(
          "%5d   %12.6f   %12.6f   %s\n",
          i,
          model.getTopicPrevalence()[i],
          coherenceScores[i],
          corpus.getTerms(model.topTermIds(i)));
    }

    for (int k = 0; k < model.numberOfTopics(); k++) {
      out.printf("\n\ntopic %d:\n", k);

      out.printf("%18s", "");
      for (int m = 0; m < numberOfTerms; m++) {
        out.printf("%6.6s  ", corpus.getTerm(model.topTermIds()[k][m]));
      }
      out.println("total");

      for (int m = 0; m < numberOfTerms; m++) {
        out.printf("%15s   ", corpus.getTerm(model.topTermIds()[k][m]));

        int i = term2id.get(model.topTermIds()[k][m]);
        for (int n = 0; n < numberOfTerms; n++) {
          int j = term2id.get(model.topTermIds()[k][n]);
          out.printf("%6d  ", cooccurrenceCounts[i][j]);
        }
        out.printf("%6d\n", occurrenceCounts[i]);
      }
    }

    out.close();
  }