public Pos(String aName, String[] posValues, TargetElementNavigator wordNavi) { this.values = new ByteStringTranslator(posValues); this.navigator = wordNavi; this.name = aName; }
public byte process(Target target) { Element segment = navigator.getElement(target); if (segment == null) return values.get(pauseSymbol); if (!segment.getTagName().equals(MaryXML.PHONE)) return values.get(pauseSymbol); String ph = segment.getAttribute("p"); if (!values.contains(ph)) return values.get("0"); return values.get(ph); }
public String[] getValues() { return values.getStringValues(); }
public byte process(Target target) { if (!(target instanceof HalfPhoneTarget)) return 0; HalfPhoneTarget hpTarget = (HalfPhoneTarget) target; String value = (hpTarget.isLeftHalf() ? "L" : "R"); return values.get(value); } }
byte numberOfValuesEncoded = input.readByte(); // attention: this is an unsigned byte int numberOfValues = numberOfValuesEncoded & 0xFF; byteFeatureValues[i] = new ByteStringTranslator(numberOfValues); for (int b = 0; b < numberOfValues; b++) { String value = input.readUTF(); byteFeatureValues[i].set((byte) b, value);
@Test public void testToStringValues() { String[] values = processor.getValues(); ByteStringTranslator translator = new ByteStringTranslator(values); for (String expected : values) { byte feature = translator.get(expected); FeatureVector vector = new FeatureVector(new byte[] { feature }, new short[] {}, new float[] {}, 0); String actual = computer.toStringValues(vector); assertEquals(expected, actual); } }
@Test public void smallListContainsString() { Assert.assertTrue(t10.contains("a5")); }
/** * Get the number of possible values for the feature with the given index number. This method must only be called for * byte-valued or short-valued features. * * @param featureIndex * the index number of the feature. * @return for byte-valued and short-valued features, return the number of values. * @throws IndexOutOfBoundsException * if featureIndex < 0 or featureIndex ≥ getNumberOfByteFeatures() + getNumberOfShortFeatures(). */ public int getNumberOfValues(int featureIndex) { if (featureIndex < numByteFeatures) return byteFeatureValues[featureIndex].getNumberOfValues(); featureIndex -= numByteFeatures; if (featureIndex < numShortFeatures) return shortFeatureValues[featureIndex].getNumberOfValues(); throw new IndexOutOfBoundsException("Feature no. " + featureIndex + " is not a byte-valued or short-valued feature"); }
public byte process(Target target) { Element segment = navigator.getElement(target); if (segment == null) return values.get("0"); String ph; if (!segment.getTagName().equals(MaryXML.PHONE)) { ph = pauseSymbol; } else { ph = segment.getAttribute("p"); } String value = phoneSet.getPhoneFeature(ph, phonesetQuery); if (value == null) return values.get("0"); return values.get(value); } }
byte numberOfValuesEncoded = input.readByte(); // attention: this is an unsigned byte int numberOfValues = numberOfValuesEncoded & 0xFF; byteFeatureValues[i] = new ByteStringTranslator(numberOfValues); for (int b = 0; b < numberOfValues; b++) { String value = input.readUTF(); byteFeatureValues[i].set((byte) b, value);
@Test public void testToStringValues() { String[] values = processor.getValues(); ByteStringTranslator translator = new ByteStringTranslator(values); for (String expected : values) { byte feature = translator.get(expected); FeatureVector vector = new FeatureVector(new byte[] { feature }, new short[] {}, new float[] {}, 0); String actual = computer.toStringValues(vector); assertEquals(expected, actual); } }
@Test public void smallListDoesntContainString() { Assert.assertFalse(t10.contains("abc")); }
/** * Get the number of possible values for the feature with the given index number. This method must only be called for * byte-valued or short-valued features. * * @param featureIndex * the index number of the feature. * @return for byte-valued and short-valued features, return the number of values. * @throws IndexOutOfBoundsException * if featureIndex < 0 or featureIndex ≥ getNumberOfByteFeatures() + getNumberOfShortFeatures(). */ public int getNumberOfValues(int featureIndex) { if (featureIndex < numByteFeatures) return byteFeatureValues[featureIndex].getNumberOfValues(); featureIndex -= numByteFeatures; if (featureIndex < numShortFeatures) return shortFeatureValues[featureIndex].getNumberOfValues(); throw new IndexOutOfBoundsException("Feature no. " + featureIndex + " is not a byte-valued or short-valued feature"); }
public byte process(Target target) { Element segment = navigator.getElement(target); if (segment == null) return values.get(pauseSymbol); if (!segment.getTagName().equals(MaryXML.PHONE)) return values.get(pauseSymbol); String ph = segment.getAttribute("p"); if (!values.contains(ph)) return values.get("0"); return values.get(ph); }
/** * @param name * name of this feature processor * @param wordNavigator * a navigator which returns a word for a target. This navigator decides the word for which the punctuation * will be computed. */ public WordPunc(String name, TargetElementNavigator wordNavigator) { this.name = name; this.navigator = wordNavigator; this.values = new ByteStringTranslator(new String[] { "0", ".", ",", ";", ":", "(", ")", "?", "!", "\"" }); }
public String[] getValues() { return values.getStringValues(); }
public byte process(Target target) { if (!(target instanceof HalfPhoneTarget)) return 0; HalfPhoneTarget hpTarget = (HalfPhoneTarget) target; String value = (hpTarget.isLeftHalf() ? "L" : "R"); return values.get(value); } }
byte numberOfValuesEncoded = bb.get(); // attention: this is an unsigned byte int numberOfValues = numberOfValuesEncoded & 0xFF; byteFeatureValues[i] = new ByteStringTranslator(numberOfValues); for (int b = 0; b < numberOfValues; b++) { String value = StreamUtils.readUTF(bb); byteFeatureValues[i].set((byte) b, value);
@Test public void maxListDoesntContainString() { Assert.assertFalse(tMax.contains("abc")); }
@Test public void smallListLength() { Assert.assertEquals(t10.getNumberOfValues(), list10.length); }