@SuppressWarnings("unchecked") private void initialise() { Object[] dataStructures = maxentModel.getDataStructures(); outcomeNames = (String[]) dataStructures[2]; TreeSet<String> outcomeSet = new TreeSet<String>(); for (String outcome : outcomeNames) outcomeSet.add(outcome); outcomeList.addAll(outcomeSet); this.predicateTable = (IndexHashTable<String>) dataStructures[1]; predicates = new String[predicateTable.size()]; predicateTable.toArray(predicates); modelParameters = (Context[]) dataStructures[0]; }
@Override public Map<OUTCOME_TYPE, Double> score(List<Feature> features) throws CleartkProcessingException { ContextValues contextValues = this.featuresEncoder.encodeAll(features); double[] evalResults = this.model.eval(contextValues.getContext(), contextValues.getValues()); String[] encodedOutcomes = (String[]) this.model.getDataStructures()[2]; Map<OUTCOME_TYPE, Double> returnValues = Maps.newHashMap(); for (int i = 0; i < evalResults.length; i++) { returnValues.put(outcomeEncoder.decode(encodedOutcomes[i]), evalResults[i]); } return returnValues; }