// Modifying this comment will cause the next execution of LBJ2 to overwrite this file. // F1B88000000000000000D509DCA038030148F556A78A82EF05A7C64B79E344FC14758580152985B45C77F6C86B2DE56166776EB18D68D6D68C1D4DA45692383330DC74CD46FCE4A2E7947CD9E8FED99603AF190ACC13185B30B0CAB6451E491494BE63120D676013B79721064951EC882A5D278A0A705A402D4931F4BD271A5290AA0D4F47203FF15EA8C3056C2A734F0EE60BB3B2FC30B6CD14BBBEB421EFEE31B4588F5BE258B4ED296B40E435C5CF6BEFCB18A95813FB10FCEFDD64E2100000 package LBJ2.nlp; import LBJ2.classify.*; import LBJ2.infer.*; import LBJ2.jni.*; import LBJ2.learn.*; import LBJ2.parse.*; /** * This class implements a classifier that takes a {@link Word} as input and * generates Boolean features representing the capitalizations of the words * in a [-2, +2] window around the input word. The generated features * consist of the capitalization (as read from {@link Word#capitalized}) of * the input word as well as the capitalizations of the two words before the * input word in the sentence and the capitalizations of the two words after * the input word in the sentence. If any of those words do not exist, the * corresponding feature isn't generated. * * <p> This class's implementation was automatically generated by the LBJ * compiler. * * @author Nick Rizzolo **/ public class Capitalization extends Classifier { public Capitalization() { containingPackage = "LBJ2.nlp"; name = "Capitalization"; } public String getInputType() { return "LBJ2.nlp.Word"; } public String getOutputType() { return "discrete%"; } private static String[] __allowableValues = DiscreteFeature.BooleanValues; public static String[] getAllowableValues() { return __allowableValues; } public String[] allowableValues() { return __allowableValues; } public FeatureVector classify(Object __example) { if (!(__example instanceof Word)) { String type = __example == null ? "null" : __example.getClass().getName(); System.err.println("Classifier 'Capitalization(Word)' defined on line 45 of CommonFeatures.lbj received '" + type + "' as input."); new Exception().printStackTrace(); System.exit(1); } Word word = (Word) __example; FeatureVector __result; __result = new FeatureVector(); String __id; String __value; int i; Word w = word, last = word; for (i = 0; i <= 2 && last != null; ++i) { last = (Word) last.next; } for (i = 0; i > -2 && w.previous != null; --i) { w = (Word) w.previous; } for (; w != last; w = (Word) w.next) { __id = "" + (i++); __value = "" + (w.capitalized); __result.addFeature(new DiscretePrimitiveStringFeature(this.containingPackage, this.name, __id, __value, valueIndexOf(__value), (short) 2)); } return __result; } public FeatureVector[] classify(Object[] examples) { if (!(examples instanceof Word[])) { String type = examples == null ? "null" : examples.getClass().getName(); System.err.println("Classifier 'Capitalization(Word)' defined on line 45 of CommonFeatures.lbj received '" + type + "' as input."); new Exception().printStackTrace(); System.exit(1); } return super.classify(examples); } public int hashCode() { return "Capitalization".hashCode(); } public boolean equals(Object o) { return o instanceof Capitalization; } }