import com.aliasi.classify.Classifier; import com.aliasi.classify.ClassifierEvaluator; import com.aliasi.classify.ConfusionMatrix; import com.aliasi.classify.DynamicLMClassifier; import com.aliasi.classify.JointClassification; import com.aliasi.classify.LMClassifier; import com.aliasi.lm.NGramProcessLM; import com.aliasi.util.AbstractExternalizable; import java.io.File; import java.io.IOException; import com.aliasi.util.Files; public class ClassifyNews { private static File TRAINING_DIR = new File("../../data/fourNewsGroups/4news-train"); private static File TESTING_DIR = new File("../../data/fourNewsGroups/4news-test"); private static String[] CATEGORIES = { "soc.religion.christian", "talk.religion.misc", "alt.atheism", "misc.forsale" }; private static int NGRAM_SIZE = 6; public static void main(String[] args) throws ClassNotFoundException, IOException { DynamicLMClassifier classifier = DynamicLMClassifier.createNGramProcess(CATEGORIES,NGRAM_SIZE); for(int i=0; i compiledClassifier = (Classifier) AbstractExternalizable.compile(classifier); //testing //ConfusionMatrix confMatrix = new ConfusionMatrix(); ClassifierEvaluator evaluator = new ClassifierEvaluator(compiledClassifier, CATEGORIES); for(int i = 0; i < CATEGORIES.length; ++i) { File classDir = new File(TESTING_DIR,CATEGORIES[i]); String[] testingFiles = classDir.list(); for (int j=0; j