@Override public void train( List<Pair<BufferedReader, String>> pTrainingData, IPreprocessor pPreprocessor, ICategoryMapper pMapper) throws Exception { mClassifier = DynamicLMClassifier.createNGramProcess(getCategories(), NUM_NGRAMS); System.out.println("TRAINING UNDERLYING CLASSIFIER"); for (Pair<BufferedReader, String> datum : pTrainingData) { Classification classification = new Classification(pMapper.map(datum.snd)); String data = pPreprocessor.transform(NLPUtils.toString(datum.fst)); Classified<CharSequence> classified = new Classified<CharSequence>(data, classification); mClassifier.handle(classified); } }