@Override protected void addVariables(ILPSolver xmp, InferenceVariableLexManager variableManager) { assert xmp != null; for (int predicateId = 0; predicateId < numPredicates; predicateId++) { SenseInstance senseX = instance.predicates.get(predicateId); String lemma = senseX.getPredicateLemma(); assert lemma != null; log.debug("Adding variables for " + lemma); double[] senseScores = manager.getScores(senseX, true); Set<Integer> set = new HashSet<>(); for (int senseId = 0; senseId < senseScores.length; senseId++) { if (!manager.isValidSense(lemma, senseId)) continue; String label = manager.getSense(senseId); double score = senseScores[senseId]; String variableIdentifier = getSenseVariableIdentifier(viewName, predicateId, label); int var = xmp.addBooleanVariable(score); variableManager.addVariable(variableIdentifier, var); set.add(var); log.debug("Sense variable: " + score + " " + variableIdentifier + " " + var + " " + label); } log.debug("Adding unique sense label constraint"); addUniqueLabelConstraint(xmp, set); } assert variableManager.size() > 0 : "No varaibles added for " + this.ta; }
protected int getArgumentVariable(InferenceVariableLexManager variables, String type, int predicateId, int candidateId, String arg) { String identifier = SRLILPInference.getArgumentVariableIdentifier(type, predicateId, candidateId, arg); return variables.getVariable(identifier); } }
InferenceVariableLexManager variableManager = new InferenceVariableLexManager(); if (variableManager.size() == 0) { log.error("No variables added!");
InferenceVariableLexManager variableManager = new InferenceVariableLexManager(); if (variableManager.size() == 0) { log.error("No variables added!");
@Override protected void addVariables(ILPSolver xmp, InferenceVariableLexManager variableManager) { assert xmp != null; for (int predicateId = 0; predicateId < numPredicates; predicateId++) { SenseInstance senseX = instance.predicates.get(predicateId); String lemma = senseX.getPredicateLemma(); assert lemma != null; log.debug("Adding variables for " + lemma); double[] senseScores = manager.getScores(senseX, true); Set<Integer> set = new HashSet<>(); for (int senseId = 0; senseId < senseScores.length; senseId++) { if (!manager.isValidSense(lemma, senseId)) continue; String label = manager.getSense(senseId); double score = senseScores[senseId]; String variableIdentifier = getSenseVariableIdentifier(viewName, predicateId, label); int var = xmp.addBooleanVariable(score); variableManager.addVariable(variableIdentifier, var); set.add(var); log.debug("Sense variable: " + score + " " + variableIdentifier + " " + var + " " + label); } log.debug("Adding unique sense label constraint"); addUniqueLabelConstraint(xmp, set); } assert variableManager.size() > 0 : "No varaibles added for " + this.ta; }
manager.getPredictedViewName(), predicateId, candidateId, l); int var = variableManager.getVariable(variableIdentifier);
variableManager.addVariable(variableIdentifier, var); variableManager.addVariable(variableIdentifier, var); assert variableManager.size() > 0 : "No varaibles added for " + this.ta;
int senseVar = variables.getVariable(senseVarName);
private int getSenseLabelFromPrediction(ILPSolver xmp, InferenceVariableLexManager variableManager, SenseManager manager, int predicateId, String lemma) { String sense = null; Set<String> validSenseLabels = manager.getLegalSenses(lemma); for (String label : validSenseLabels) { String varName = ILPInference.getSenseVariableIdentifier(SenseManager.getPredictedViewName(), predicateId, label); int var = variableManager.getVariable(varName); if (var < 0) continue; if (xmp.getBooleanValue(var)) { sense = label; break; } } assert sense != null; return manager.getSenseId(sense); } }
private int getSenseLabelFromPrediction(ILPSolver xmp, InferenceVariableLexManager variableManager, SRLManager manager, int predicateId, String lemma) { String sense = null; Set<String> validSenseLabels = manager.getLegalSenses(lemma); for (String label : validSenseLabels) { String varName = SRLILPInference.getSenseVariableIdentifier( manager.getPredictedViewName(), predicateId, label); int var = variableManager.getVariable(varName); if (var < 0) continue; if (xmp.getBooleanValue(var)) { sense = label; break; } } assert sense != null; int senseLabel = manager.getSenseId(sense); return senseLabel; }
private int getSenseLabelFromPrediction(ILPSolver xmp, InferenceVariableLexManager variableManager, SenseManager manager, int predicateId, String lemma) { String sense = null; Set<String> validSenseLabels = manager.getLegalSenses(lemma); for (String label : validSenseLabels) { String varName = ILPInference.getSenseVariableIdentifier(SenseManager.getPredictedViewName(), predicateId, label); int var = variableManager.getVariable(varName); if (var < 0) continue; if (xmp.getBooleanValue(var)) { sense = label; break; } } assert sense != null; return manager.getSenseId(sense); } }