public String computeAnswerType(Parse question) { double[] probs = computeAnswerTypeProbs(question);//<co id="atc.getprobs"/> return model.getBestOutcome(probs);//<co id="atc.outcome"/> }
public static void eval(MaxentModel model, Reader r, Evalable e, boolean verbose) { float totPos=0, truePos=0, falsePos=0; Event[] events = (e.getEventCollector(r)).getEvents(true); //MaxentModel model = e.getModel(dir, name); String negOutcome = e.getNegativeOutcome(); for (Event event : events) { String guess = model.getBestOutcome(model.eval(event.getContext())); String ans = event.getOutcome(); if (verbose) System.out.println(ans + " " + guess); if (!ans.equals(negOutcome)) totPos++; if (!guess.equals(negOutcome) && !guess.equals(ans)) falsePos++; else if (ans.equals(guess)) truePos++; } System.out.println("Precision: " + truePos/(truePos+falsePos)); System.out.println("Recall: " + truePos/totPos); }
public static void eval(MaxentModel model, Reader r, Evalable e, boolean verbose) { float totPos=0, truePos=0, falsePos=0; Event[] events = (e.getEventCollector(r)).getEvents(true); //MaxentModel model = e.getModel(dir, name); String negOutcome = e.getNegativeOutcome(); for (Event event : events) { String guess = model.getBestOutcome(model.eval(event.getContext())); String ans = event.getOutcome(); if (verbose) System.out.println(ans + " " + guess); if (!ans.equals(negOutcome)) totPos++; if (!guess.equals(negOutcome) && !guess.equals(ans)) falsePos++; else if (ans.equals(guess)) truePos++; } System.out.println("Precision: " + truePos/(truePos+falsePos)); System.out.println("Recall: " + truePos/totPos); }
String outcome = loadedMaxentModel.getBestOutcome(outcomeProbs);
public OUTCOME_TYPE classify(List<Feature> features) throws CleartkProcessingException { ContextValues contextValues = this.featuresEncoder.encodeAll(features); String encodedOutcome = this.model.getBestOutcome(this.model.eval( contextValues.getContext(), contextValues.getValues())); return outcomeEncoder.decode(encodedOutcome); }