double TotalSim = 0; for (int i = 0; i < k; i++) { WVTWordVector wv = vectors[i]; int numClass = wv.getDocumentInfo().getClassValue(); ClassSim[numClass] += Sim[i]; TotalSim += Sim[i]; }
// output the first 3 class int[] index = new int[ClassSim.length]; for (int i = 0; i < ClassSim.length; i++) index[i] = i; for (int i = 0; i < cLimit; i++) { for (int j = i + 1; j < ClassSim.length; j++) { if (ClassSim[j] > ClassSim[i]) { double dtemp = ClassSim[i]; ClassSim[i] = ClassSim[j]; ClassSim[j] = dtemp;
List<CategoryResult> result = new ArrayList<CategoryResult>(); for (int i = 0; i < cLimit; i++) { if (ClassSim[i] > 0) { CategoryResult cr = new CategoryResult(indexmap.get(index[i]).toString(), ClassSim[i] / TotalSim); result.add(cr); } }
///* for (int i = 0; i < index.length; i++){ System.out.println("cat:"+index[i] + ": " + ClassSim[i]); }
for (int i = 0; i < k; i++){ WVTWordVector wv = vectors[i]; String id; //int cutIndex = wv.getDocumentInfo().getSourceName().lastIndexOf(File.separator); //if (cutIndex > 0) // id = wv.getDocumentInfo().getSourceName().substring(cutIndex + 1); //else id = wv.getDocumentInfo().getSourceName(); System.out.println("c:"+id + ": " + Sim[i]); } //*/ return result; }
}
class CategoryResult { private String CategoryName; private double similarity;