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 DiscreteConjunctiveFeature
s or
DiscreteReferringFeature
s that contain features of this type). Before storing these
features in a lexicon, however, they are converted to DiscretePrimitiveFeature
s using the
specified encoding.Modifier and Type | Field and Description |
---|---|
protected String |
identifier
The
identifier string distinguishes this Feature from other
Feature s. |
protected String |
value
The discrete value is represented as a string.
|
BooleanValues, totalValues, valueIndex
containingPackage, 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
DiscretePrimitiveStringFeature s 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, totalValues
childLexiconLookup, clone, compareNameStrings, conjunctWith, depth, fromArray, getFeatureKey, getGeneratingClassifier, getPackage, hasByteStringIdentifier, isConjunctive, isReferrer, lexReadFeature, readFeature, removeFromChildLexicon, setArrayLength, toString, toStringNoPackage, writeNoPackage
protected String identifier
identifier
string distinguishes this Feature
from other
Feature
s.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 Feature
true
iff this feature contains a string identifier field.public boolean isPrimitive()
isPrimitive
in class Feature
true
iff this is primitive.public String getStringIdentifier()
getStringIdentifier
in class Feature
public ByteString getByteStringIdentifier()
getByteStringIdentifier
in class Feature
public String getStringValue()
getStringValue
in class Feature
value
.public ByteString getByteStringValue()
getByteStringValue
in class Feature
value
.public boolean valueEquals(String v)
valueEquals
in class Feature
v
- 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 Feature
lexicon
- 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 Feature
s
- 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)
DiscretePrimitiveStringFeature
s 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 Feature
f
- Another feature.public int compareTo(Object o)
compareTo
in interface Comparable
compareTo
in class Feature
o
- 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 Feature
buffer
- The buffer to write to.public void write(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessOutputStream out)
write
in class DiscreteFeature
out
- The output stream.public void read(edu.illinois.cs.cogcomp.core.datastructures.vectors.ExceptionlessInputStream in)
read
in class DiscreteFeature
in
- 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 DiscreteFeature
out
- 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 DiscreteFeature
in
- 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.