if (tree.numChildren() == 1) { UnaryRule ur = new UnaryRule(parent, firstChild); double score = SloppyMath.max(ug.scoreRule(ur), -10000.0) + validateBinarizedTree(tree.children()[0], start); double bound = iScore[start][start + tree.yield().size()][parent]; if (score > bound + epsilon) {
double score = ug.scoreRule(ur) + scoreBinarizedTree(tree.children()[0], start); tree.setScore(score); return score;
if (tree.numChildren() == 1) { UnaryRule ur = new UnaryRule(parent, firstChild); double score = SloppyMath.max(ug.scoreRule(ur), -10000.0) + validateBinarizedTree(tree.children()[0], start); double bound = iScore[start][start + tree.yield().size()][parent]; if (score > bound + epsilon) {
if (tree.numChildren() == 1) { UnaryRule ur = new UnaryRule(parent, firstChild); double score = SloppyMath.max(ug.scoreRule(ur), -10000.0) + validateBinarizedTree(tree.children()[0], start); double bound = iScore[start][start + tree.yield().size()][parent]; if (score > bound + epsilon) {
if (tree.numChildren() == 1) { UnaryRule ur = new UnaryRule(parent, firstChild); double score = SloppyMath.max(ug.scoreRule(ur), -10000.0) + validateBinarizedTree(tree.children()[0], start); double bound = iScore[start][start + tree.yield().size()][parent]; if (score > bound + epsilon) {
ur.parent = parent; ur.child = firstChild; double score = SloppyMath.max(ug.scoreRule(ur), -10000.0) + validateBinarizedTree(tree.children()[0], start); double bound = iScore[start][start + tree.yield().size()][parent]; if (score > bound + epsilon) {
double score = ug.scoreRule(ur) + scoreBinarizedTree(tree.children()[0], start); tree.setScore(score); return score;
double score = ug.scoreRule(ur) + scoreBinarizedTree(tree.children()[0], start); tree.setScore(score); return score;
double score = ug.scoreRule(ur) + scoreBinarizedTree(tree.children()[0], start); tree.setScore(score); return score;
double score = ug.scoreRule(ur) + scoreBinarizedTree(tree.children()[0], start); tree.setScore(score); return score;