@Override protected File runPrediction(File tempFile) throws Exception { File prediction = FileUtil.createTempFile("libsvmPrediction", ".libsvm"); prediction.deleteOnExit(); _Prediction predictor = new _Prediction(); BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(tempFile), "utf-8")); DataOutputStream output = new DataOutputStream(new FileOutputStream(prediction)); predictor.predict(r, output, model, 0); output.close(); return prediction; } }
@Override protected File runPrediction(File tempFile) throws Exception { File prediction = FileUtil.createTempFile("libsvmPrediction", ".libsvm"); prediction.deleteOnExit(); _Prediction predictor = new _Prediction(); try (BufferedReader r = new BufferedReader( new InputStreamReader(new FileInputStream(tempFile), UTF_8)); DataOutputStream output = new DataOutputStream(new FileOutputStream(prediction))) { predictor.predict(r, output, model, 0); } return prediction; } }
@Override public List<String> predict(File data, File model) throws Exception { File predOut = FileUtil.createTempFile("svmhmmPrediction", ".txt"); List<String> command = buildPredictionCommand(data, model, predOut); runCommand(command); List<String> predictions = FileUtils.readLines(predOut, "utf-8"); return predictions; }
@Override public List<String> predict(File data, File model) throws Exception { File predTmp = FileUtil.createTempFile("libsvmPrediction", ".txt"); predTmp.deleteOnExit(); try (DataOutputStream output = new DataOutputStream(new FileOutputStream(predTmp)); BufferedReader input = new BufferedReader( new InputStreamReader(new FileInputStream(data), UTF_8))) { svm_model svmModel = svm.svm_load_model(model.getAbsolutePath()); _Prediction predictor = new _Prediction(); predictor.predict(input, output, svmModel, 0); } List<String> predictions = FileUtils.readLines(predTmp, UTF_8); return predictions; }
protected List<String> runPrediction(File tempFile, boolean isSequence) throws AnalysisEngineProcessException { List<String> predict = null; try { File prediction = FileUtil .createTempFile("vowpalWabbitPrediction" + System.currentTimeMillis(), ".txt"); prediction.deleteOnExit(); VowpalWabbitPredictor predictor = new VowpalWabbitPredictor(); predict = predictor.predict(tempFile, model); if (isSequence) { List<String> seqPred = new ArrayList<>(); for (String p : predict) { seqPred.addAll(Arrays.asList(p.split(" "))); } predict = seqPred; } } catch (Exception e) { throw new AnalysisEngineProcessException(e); } return predict; }
@Override protected File runPrediction(File testFile) throws Exception { File model = new File(tcModelLocation, Constants.MODEL_CLASSIFIER); XgboostPredictor predictor = new XgboostPredictor(); List<String> predict = predictor.predict(testFile, model); File predictions = FileUtil.createTempFile("xgboostPrediction", ".txt"); FileUtils.writeLines(predictions, "utf-8", predict); predictions.deleteOnExit(); return predictions; }
@Override protected File runPrediction(File testFile) throws Exception { File model = new File(tcModelLocation, Constants.MODEL_CLASSIFIER); XgboostPredictor predictor = new XgboostPredictor(); List<String> predict = predictor.predict(testFile, model); File predictions = FileUtil.createTempFile("xgboostPrediction", ".txt"); FileUtils.writeLines(predictions, UTF_8.toString(), predict); predictions.deleteOnExit(); return predictions; }
@Override public List<String> predict(File data, File model) throws Exception { File tmpPredictionOut = FileUtil.createTempFile("xgboostPredictionOut", ".txt"); tmpPredictionOut.deleteOnExit(); File config = buildTestConfigFile(data, model, tmpPredictionOut); List<String> command = new ArrayList<>(); command.add(flipBackslash(getExecutable().getAbsolutePath())); command.add(flipBackslash(config.getAbsolutePath())); runCommand(command); List<String> predictions = FileUtils.readLines(tmpPredictionOut, "utf-8"); return predictions; }
@Override public List<String> predict(File data, File model) throws Exception { File tmpPredictionOut = FileUtil.createTempFile("xgboostPredictionOut", ".txt"); tmpPredictionOut.deleteOnExit(); File config = buildTestConfigFile(data, model, tmpPredictionOut); List<String> command = new ArrayList<>(); command.add(flipBackslash(getExecutable().getAbsolutePath())); command.add(flipBackslash(config.getAbsolutePath())); runCommand(command); List<String> predictions = FileUtils.readLines(tmpPredictionOut, UTF_8); uninstallExecutable(); return predictions; }
@Override public List<String> predict(File data, File model) throws Exception { File predOut = FileUtil.createTempFile("svmhmmPrediction", ".txt"); List<String> command = buildPredictionCommand(data, model, predOut); runCommand(command); List<String> predictions = FileUtils.readLines(predOut, UTF_8); uninstallExecutable(); return predictions; }
@Override public List<String> predict(File data, File model) throws Exception { File predTmp = FileUtil.createTempFile("libsvmPrediction", ".txt"); predTmp.deleteOnExit(); DataOutputStream output = null; BufferedReader input = null; try { input = new BufferedReader( new InputStreamReader(new FileInputStream(data), "utf-8")); output = new DataOutputStream(new FileOutputStream(predTmp)); svm_model svmModel = svm.svm_load_model(model.getAbsolutePath()); _Prediction predictor = new _Prediction(); predictor.predict(input, output, svmModel, 0); } finally { IOUtils.closeQuietly(input); IOUtils.closeQuietly(output); } List<String> predictions = FileUtils.readLines(predTmp, "utf-8"); return predictions; }
@Override protected File runPrediction(File testFile) throws Exception { File model = new File(tcModelLocation, Constants.MODEL_CLASSIFIER); // SvmHmm struggles with paths longer than 255 characters to circumvent this // issue, we copy all files together into a local directory to ensure short path // names that are below this threshold File localModel = new File(SvmHmmPredictor.getPredictionExecutable().getParentFile(), "model.tmp"); FileUtils.copyFile(model, localModel); File localTestFile = new File(SvmHmmPredictor.getPredictionExecutable().getParentFile(), "testfile.txt"); FileUtils.copyFile(testFile, localTestFile); SvmHmmPredictor predictor = new SvmHmmPredictor(); List<String> predictions = predictor.predict(localTestFile, model); File prediction = FileUtil.createTempFile("svmHmmTmpFile", ".txt"); prediction.deleteOnExit(); FileUtils.writeLines(prediction, "utf-8", predictions); FileUtils.deleteQuietly(localModel); FileUtils.deleteQuietly(localTestFile); return prediction; }
@Override protected File runPrediction(File testFile) throws Exception { File model = new File(tcModelLocation, Constants.MODEL_CLASSIFIER); // SvmHmm struggles with paths longer than 255 characters to circumvent this // issue, we copy all files together into a local directory to ensure short path // names that are below this threshold File parent = new SvmHmm().getPredictionExecutable().getParentFile(); File localModel = new File(parent, "model.tmp"); FileUtils.copyFile(model, localModel); File localTestFile = new File(parent, "testfile.txt"); FileUtils.copyFile(testFile, localTestFile); SvmHmmPredictor predictor = new SvmHmmPredictor(); List<String> predictions = predictor.predict(localTestFile, model); File prediction = FileUtil.createTempFile("svmHmmTmpFile", ".txt"); prediction.deleteOnExit(); FileUtils.writeLines(prediction, UTF_8.toString(), predictions); FileUtils.deleteQuietly(localModel); FileUtils.deleteQuietly(localTestFile); return prediction; }
private File createInputFile(JCas jcas) throws Exception { File tempFile = FileUtil.createTempFile("libsvm", ".txt"); tempFile.deleteOnExit(); BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(tempFile), "utf-8")); InstanceExtractor extractor = new InstanceExtractor(featureMode, featureExtractors, true); List<Instance> instances = extractor.getInstances(jcas, true); for (Instance instance : instances) { bw.write(OUTCOME_PLACEHOLDER); bw.write(injectSequenceId(instance)); for (Feature f : instance.getFeatures()) { if (!sanityCheckValue(f)) { continue; } bw.write("\t"); bw.write(featureMapping.get(f.getName()) + ":" + f.getValue()); } bw.write("\n"); } bw.close(); return tempFile; }
protected File createInputFile(JCas jcas) throws Exception { File tempFile = FileUtil.createTempFile("libsvm", ".txt"); tempFile.deleteOnExit(); try (BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(tempFile), UTF_8))) { InstanceExtractor extractor = new InstanceExtractor(featureMode, featureExtractors, true); List<Instance> instances = extractor.getInstances(jcas, true); for (Instance instance : instances) { bw.write(OUTCOME_PLACEHOLDER); bw.write(injectSequenceId(instance)); for (Feature f : instance.getFeatures()) { if (!sanityCheckValue(f)) { continue; } bw.write("\t"); bw.write(featureMapping.get(f.getName()) + ":" + f.getValue()); } bw.write("\n"); } } return tempFile; }
tempFile = FileUtil.createTempFile("vowpalWabbit" + System.currentTimeMillis(), ".txt"); tempFile.deleteOnExit();
public List<String> run() throws Exception { String train = "src/main/resources/data/twentynewsgroups/bydate-train/*/*.txt"; String outputPathTrain = "target/tn_raw_output/train"; ensureFolderExistence(outputPathTrain); String test = "src/main/resources/data/twentynewsgroups/bydate-test/*/*.txt"; String outputPathTest = "target/tn_raw_output/test"; ensureFolderExistence(outputPathTest); File luceneFolder = new File(FileUtils.getTempDirectory(), "luceneDirRawDemo"); luceneFolder.deleteOnExit(); Object[] ngramParameter = new Object[] { WordNGram.PARAM_NGRAM_USE_TOP_K, "500", WordNGram.PARAM_UNIQUE_EXTRACTOR_NAME, "123", WordNGram.PARAM_SOURCE_LOCATION, luceneFolder.toString(), WordNGramMC.PARAM_TARGET_LOCATION, luceneFolder.toString() }; // Extract features from training data - this steps requires building the Lucene index for // the ngram feature runTrainingMetaCollection(train, ngramParameter); File extractedTrainData = runFeatureExtraction(train, ngramParameter, outputPathTrain); // Extract features from testing data - we use the Lucene index created during training here // - no need to run the meta collection again File extractedTestData = runFeatureExtraction(test, ngramParameter, outputPathTest); File modelOut = FileUtil.createTempFile("modeltmp", ".model"); modelOut.deleteOnExit(); TcTrainer trainer = new WekaTrainer(); trainer.train(extractedTrainData, modelOut, asList(SMO.class.getName())); TcPredictor predictor = new WekaPredictor(); return predictor.predict(extractedTestData, modelOut); }