/** {@inheritDoc} */ public HeadFinder typedDependencyHeadFinder() { return new NegraHeadFinder(this); }
String motherCat = basicCategory(t.label().value()); if (motherCat.startsWith("@")) { motherCat = motherCat.substring(1); log.info(" Using defaultRule"); return traverseLocate(t.children(), defaultRule, true); } else { return null; theHead = traverseLocate(t.children(), how[i], deflt); if (theHead != null) { break;
private int postBasicCategoryIndex(String category) { boolean sawAtZero = false; char seenAtZero = '\u0000'; int i = 0; for (int leng = category.length(); i < leng; i++) { char ch = category.charAt(i); if (isLabelAnnotationIntroducingCharacter(ch)) { if (i == 0) { sawAtZero = true; seenAtZero = ch; } else if (sawAtZero && ch == seenAtZero) { sawAtZero = false; } else { break; } } } return i; }
public String basicCategory(String category) { if (category == null) { return null; } return category.substring(0, postBasicCategoryIndex(category)); }
public String basicCategory(String category) { if (category == null) { return null; } return category.substring(0, postBasicCategoryIndex(category)); }
/** {@inheritDoc} */ public HeadFinder headFinder() { return new NegraHeadFinder(this); }
String motherCat = basicCategory(t.label().value()); if (motherCat.startsWith("@")) { motherCat = motherCat.substring(1); log.info(" Using defaultRule"); return traverseLocate(t.children(), defaultRule, true); } else { return null; theHead = traverseLocate(t.children(), how[i], deflt); if (theHead != null) { break;
public String basicCategory(String category) { if (category == null) { return null; } return category.substring(0, postBasicCategoryIndex(category)); }
private int postBasicCategoryIndex(String category) { boolean sawAtZero = false; char seenAtZero = '\u0000'; int i = 0; for (int leng = category.length(); i < leng; i++) { char ch = category.charAt(i); if (isLabelAnnotationIntroducingCharacter(ch)) { if (i == 0) { sawAtZero = true; seenAtZero = ch; } else if (sawAtZero && ch == seenAtZero) { sawAtZero = false; } else { break; } } } return i; }
/** Vends a "semantic" NegraHeadFinder---one that disprefers modal/auxiliary verbs as the heads of S or VP. * * @return a NegraHeadFinder that uses a "semantic" head-finding rule for the S category. */ public static HeadFinder negraSemanticHeadFinder() { NegraHeadFinder result = new NegraHeadFinder(); result.nonTerminalInfo.put("S", new String[][]{{result.right, "VVFIN", "VVIMP"}, {"right", "VP","CVP"}, { "right", "VMFIN", "VAFIN", "VAIMP"}, {"right", "S","CS"}}); result.nonTerminalInfo.put("VP", new String[][]{{"right","VVINF","VVIZU","VVPP"}, {result.right, "VZ", "VAINF", "VMINF", "VMPP", "VAPP", "PP"}}); result.nonTerminalInfo.put("VZ", new String[][]{{result.right,"VVINF","VAINF","VMINF","VVFIN","VVIZU"}}); // note that VZ < VVIZU is very rare, maybe shouldn't even exist. return result; }
String motherCat = basicCategory(t.label().value()); if (motherCat.startsWith("@")) { motherCat = motherCat.substring(1); System.err.println(" Using defaultRule"); return traverseLocate(t.children(), defaultRule, true); } else { return null; theHead = traverseLocate(t.children(), how[i], deflt); if (theHead != null) { break;
public String basicCategory(String category) { if (category == null) { return null; } return category.substring(0, postBasicCategoryIndex(category)); }
private int postBasicCategoryIndex(String category) { boolean sawAtZero = false; char seenAtZero = '\u0000'; int i = 0; for (int leng = category.length(); i < leng; i++) { char ch = category.charAt(i); if (isLabelAnnotationIntroducingCharacter(ch)) { if (i == 0) { sawAtZero = true; seenAtZero = ch; } else if (sawAtZero && ch == seenAtZero) { sawAtZero = false; } else { break; } } } return i; }
public NegraPennTreebankParserParams() { super(new NegraPennLanguagePack(defaultLeaveGF, defaultGFCharacter)); //wsg2010: Commented out by Roger? //return new NegraHeadFinder(); //return new LeftHeadFinder(); headFinder = new NegraHeadFinder(); // override output encoding: make it UTF-8 setOutputEncoding("UTF-8"); }
String motherCat = basicCategory(t.label().value()); if (motherCat.startsWith("@")) { motherCat = motherCat.substring(1); log.info(" Using defaultRule"); return traverseLocate(t.children(), defaultRule, true); } else { return null; theHead = traverseLocate(t.children(), how[i], deflt); if (theHead != null) { break;
private int postBasicCategoryIndex(String category) { boolean sawAtZero = false; char seenAtZero = '\u0000'; int i = 0; for (int leng = category.length(); i < leng; i++) { char ch = category.charAt(i); if (isLabelAnnotationIntroducingCharacter(ch)) { if (i == 0) { sawAtZero = true; seenAtZero = ch; } else if (sawAtZero && ch == seenAtZero) { sawAtZero = false; } else { break; } } } return i; }
return new ModCollinsHeadFinder(); } else if(headfinderName.equalsIgnoreCase("NegraHeadFinder")) { return new NegraHeadFinder(); } else if(headfinderName.equalsIgnoreCase("SemanticHeadFinder")) { return new SemanticHeadFinder();
/** {@inheritDoc} */ public HeadFinder typedDependencyHeadFinder() { return new NegraHeadFinder(this); }
/** {@inheritDoc} */ public HeadFinder typedDependencyHeadFinder() { return new NegraHeadFinder(this); }
/** {@inheritDoc} */ public HeadFinder headFinder() { return new NegraHeadFinder(this); }