public class DiscretePrimitiveStringFeature extends DiscreteFeature
DiscretePrimitiveFeature, however its
value is stored as a String instead of a ByteString. Discrete
classifiers return features of this type (or DiscreteConjunctiveFeatures or
DiscreteReferringFeatures that contain features of this type). Before storing these
features in a lexicon, however, they are converted to DiscretePrimitiveFeatures using the
specified encoding.| Modifier and Type | Field and Description |
|---|---|
protected String |
identifier
The
identifier string distinguishes this Feature from other
Features. |
protected String |
value
The discrete value is represented as a string.
|
BooleanValues, totalValues, valueIndexcontainingPackage, generatingClassifier| Modifier | Constructor and Description |
|---|---|
protected |
DiscretePrimitiveStringFeature()
For internal use only.
|
|
DiscretePrimitiveStringFeature(String p,
String c,
String i,
String v)
Sets both the identifier and the value.
|
|
DiscretePrimitiveStringFeature(String p,
String c,
String i,
String v,
short vi,
short t)
Sets the identifier, value, value index, and total allowable values.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
classEquivalent(Feature f)
Some features are functionally equivalent, differing only in the encoding of their values;
this method will return
true iff the class of this feature and f
are different, but they differ only because they encode their values differently. |
int |
compareTo(Object o)
Used to sort features into an order that is convenient both to page through and for the
lexicon to read off disk.
|
Feature |
encode(String e)
Returns a feature object in which any strings that are being used to represent an identifier
or value have been encoded in byte strings.
|
boolean |
equals(Object o)
Two
DiscretePrimitiveStringFeatures are equivalent when their containing
packages, identifiers, and values are equivalent. |
ByteString |
getByteStringIdentifier()
Retrieves this feature's identifier as a byte string.
|
ByteString |
getByteStringValue()
Gives a string representation of the value of this feature.
|
Feature |
getFeatureKey(Lexicon lexicon,
boolean training,
int label)
Return the feature that should be used to index this feature into a lexicon.
|
String |
getStringIdentifier()
Retrieves this feature's identifier as a string.
|
String |
getStringValue()
Gives a string representation of the value of this feature.
|
int |
hashCode()
The hash code of a
DiscretePrimitiveStringFeature is the sum of the hash codes
of its containing package, identifier, and value. |
boolean |
hasStringIdentifier()
Determines if this feature contains a string identifier field.
|
boolean |
isPrimitive()
Determines if this feature is primitive.
|
void |
lexRead(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessInputStream in,
Lexicon lex,
String p,
String g,
String si,
ByteString bi)
Reads the representation of a feature with this object's run-time type as stored by a
lexicon, overwriting the data in this object.
|
String |
lexWrite(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessOutputStream out,
Lexicon lex,
String c,
String p,
String g,
String si,
ByteString bi)
Writes a binary representation of the feature intended for use by a lexicon, omitting
redundant information when possible.
|
RealFeature |
makeReal()
Returns a
RealPrimitiveFeature whose value field
is set to the strength of the current feature, and whose identifier field contains
all the information necessary to distinguish this feature from other features. |
void |
read(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessInputStream in)
Reads the representation of a feaeture with this object's run-time type from the given
stream, overwriting the data in this object.
|
boolean |
valueEquals(String v)
Determines whether or not the parameter is equivalent to the string representation of the
value of this feature.
|
Feature |
withStrength(double s)
Returns a new feature object that's identical to this feature except its strength is given by
s. |
void |
write(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessOutputStream out)
Writes a complete binary representation of the feature.
|
void |
write(StringBuffer buffer)
Writes a string representation of this
Feature to the specified buffer. |
void |
writeNameString(StringBuffer buffer)
Writes a string representation of this
Feature's package, generating classifier,
and identifier information to the specified buffer. |
conjunction, conjunctWith, getStrength, getValueIndex, isDiscrete, totalValueschildLexiconLookup, clone, compareNameStrings, conjunctWith, depth, fromArray, getFeatureKey, getGeneratingClassifier, getPackage, hasByteStringIdentifier, isConjunctive, isReferrer, lexReadFeature, readFeature, removeFromChildLexicon, setArrayLength, toString, toStringNoPackage, writeNoPackageprotected String identifier
identifier string distinguishes this Feature from other
Features.protected String value
protected DiscretePrimitiveStringFeature()
public DiscretePrimitiveStringFeature(String p, String c, String i, String v)
p - The new discrete feature's package.c - The name of the classifier that produced this feature.i - The new discrete feature's identifier.v - The new discrete feature's value.public DiscretePrimitiveStringFeature(String p, String c, String i, String v, short vi, short t)
p - The new discrete feature's package.c - The name of the classifier that produced this feature.i - The new discrete feature's identifier.v - The new discrete feature's value.vi - The index corresponding to the value.t - The total allowable values for this feature.public boolean hasStringIdentifier()
hasStringIdentifier in class Featuretrue iff this feature contains a string identifier field.public boolean isPrimitive()
isPrimitive in class Featuretrue iff this is primitive.public String getStringIdentifier()
getStringIdentifier in class Featurepublic ByteString getByteStringIdentifier()
getByteStringIdentifier in class Featurepublic String getStringValue()
getStringValue in class Featurevalue.public ByteString getByteStringValue()
getByteStringValue in class Featurevalue.public boolean valueEquals(String v)
valueEquals in class Featurev - The string to compare against.true iff the parameter is equivalent to the string representation of the
value of this feature.public Feature getFeatureKey(Lexicon lexicon, boolean training, int label)
getFeatureKey in class Featurelexicon - The lexicon into which this feature will be indexed.training - Whether or not the learner is currently training.label - The label of the example containing this feature, or -1 if we aren't doing per
class feature counting.public RealFeature makeReal()
RealPrimitiveFeature whose value field
is set to the strength of the current feature, and whose identifier field contains
all the information necessary to distinguish this feature from other features.public Feature withStrength(double s)
s.withStrength in class Features - The strength of the new feature.null if this feature cannot take the
specified strength.public Feature encode(String e)
public int hashCode()
DiscretePrimitiveStringFeature is the sum of the hash codes
of its containing package, identifier, and value.public boolean equals(Object o)
DiscretePrimitiveStringFeatures are equivalent when their containing
packages, identifiers, and values are equivalent.public boolean classEquivalent(Feature f)
true iff the class of this feature and f
are different, but they differ only because they encode their values differently. This method
does not compare the values themselves, however.classEquivalent in class Featuref - Another feature.public int compareTo(Object o)
compareTo in interface ComparablecompareTo in class Featureo - An object to compare with.public void write(StringBuffer buffer)
Feature to the specified buffer.public void writeNameString(StringBuffer buffer)
Feature's package, generating classifier,
and identifier information to the specified buffer.writeNameString in class Featurebuffer - The buffer to write to.public void write(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessOutputStream out)
write in class DiscreteFeatureout - The output stream.public void read(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessInputStream in)
read in class DiscreteFeaturein - The input stream.public String lexWrite(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessOutputStream out, Lexicon lex, String c, String p, String g, String si, ByteString bi)
lexWrite in class DiscreteFeatureout - The output stream.lex - The lexicon out of which this feature is being written.c - The fully qualified name of the assumed class. The runtime class of this feature
won't be written if it's equivalent to c.p - The assumed package string. This feature's package string won't be written if it's
equivalent to p.g - The assumed classifier name string. This feature's classifier name string won't be
written if it's equivalent to g.si - The assumed identifier as a string. If this feature has a string identifier, it
won't be written if it's equivalent to si.bi - The assumed identifier as a byte string. If this feature has a byte string
identifier, it won't be written if it's equivalent to bi.public void lexRead(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessInputStream in,
Lexicon lex,
String p,
String g,
String si,
ByteString bi)
This method is appropriate for reading features as written by
lexWrite(ExceptionlessOutputStream,Lexicon,String,String,String,String,ByteString).
lexRead in class DiscreteFeaturein - The input stream.lex - The lexicon we are reading in to.p - The assumed package string. If no package name is given in the input stream, the
instantiated feature is given this package.g - The assumed classifier name string. If no classifier name is given in the input
stream, the instantiated feature is given this classifier name.si - The assumed identifier as a string. If the feature being read has a string
identifier field and no identifier is given in the input stream, the feature is given
this identifier.bi - The assumed identifier as a byte string. If the feature being read has a byte
string identifier field and no identifier is given in the input stream, the feature is
given this identifier.Copyright © 2016. All rights reserved.