|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umass.cs.mallet.base.fst.Transducer
edu.umass.cs.mallet.base.fst.CRF3
Nested Class Summary | |
class |
CRF3.MinimizableCRF
|
static class |
CRF3.State
|
protected static class |
CRF3.TransitionIterator
|
Nested classes inherited from class edu.umass.cs.mallet.base.fst.Transducer |
Transducer.BeamLattice, Transducer.Lattice, Transducer.ViterbiLattice, Transducer.ViterbiPath, Transducer.ViterbiPath_NBest, Transducer.ViterbiPathBeam, Transducer.ViterbiPathBeamB, Transducer.ViterbiPathBeamFB, Transducer.ViterbiPathBeamKL |
Field Summary | |
boolean |
printGradient
|
Fields inherited from class edu.umass.cs.mallet.base.fst.Transducer |
INFINITE_COST, inputPipe, outputPipe, ZERO_COST |
Constructor Summary | |
CRF3(Alphabet inputAlphabet,
Alphabet outputAlphabet)
|
|
CRF3(Pipe inputPipe,
Pipe outputPipe)
|
Method Summary | |
void |
addFullyConnectedStates(java.lang.String[] stateNames)
|
void |
addFullyConnectedStatesForBiLabels()
|
void |
addFullyConnectedStatesForLabels()
|
void |
addFullyConnectedStatesForThreeQuarterLabels(InstanceList trainingSet)
|
void |
addFullyConnectedStatesForTriLabels()
|
java.lang.String |
addOrderNStates(InstanceList trainingSet,
int[] orders,
boolean[] defaults,
java.lang.String start,
java.util.regex.Pattern forbidden,
java.util.regex.Pattern allowed,
boolean fullyConnected)
Assumes that the CRF's output alphabet contains String s. |
void |
addSelfTransitioningStateForAllLabels(java.lang.String name)
|
void |
addState(java.lang.String name,
double initialCost,
double finalCost,
java.lang.String[] destinationNames,
java.lang.String[] labelNames)
|
void |
addState(java.lang.String name,
double initialCost,
double finalCost,
java.lang.String[] destinationNames,
java.lang.String[] labelNames,
java.lang.String[] weightNames)
|
void |
addState(java.lang.String name,
double initialCost,
double finalCost,
java.lang.String[] destinationNames,
java.lang.String[] labelNames,
java.lang.String[][] weightNames)
|
void |
addState(java.lang.String name,
java.lang.String[] destinationNames)
|
void |
addStatesForBiLabelsConnectedAsIn(InstanceList trainingSet)
Add states to create a second-order Markov model on labels, adding only those transitions the occur in the given trainingSet. |
void |
addStatesForHalfLabelsConnectedAsIn(InstanceList trainingSet)
Add as many states as there are labels, but don't create separate weights for each source-destination pair of states. |
void |
addStatesForLabelsConnectedAsIn(InstanceList trainingSet)
Add states to create a first-order Markov model on labels, adding only those transitions the occur in the given trainingSet. |
void |
addStatesForThreeQuarterLabelsConnectedAsIn(InstanceList trainingSet)
Add as many states as there are labels, but don't create separate observational-test-weights for each source-destination pair of states---instead have all the incoming transitions to a state share the same observational-feature-test weights. |
void |
estimate()
|
void |
evaluate(TransducerEvaluator eval,
InstanceList testing)
This method is deprecated. |
double |
getGaussianPriorVariance()
|
Alphabet |
getInputAlphabet()
Create a new CRF sharing Alphabet and other attributes, but possibly having a larger weights array. |
CRF3.MinimizableCRF |
getMinimizableCRF(InstanceList ilist)
|
Alphabet |
getOutputAlphabet()
|
double |
getParameter(int sourceStateIndex,
int destStateIndex,
int featureIndex,
double value)
Only gets the parameter from the first group of parameters. |
double |
getParametersAbsNorm()
|
Transducer.State |
getState(int index)
|
CRF3.State |
getState(java.lang.String name)
|
double |
getUseHyperbolicPriorSharpness()
|
double |
getUseHyperbolicPriorSlope()
|
SparseVector[] |
getWeights()
|
SparseVector |
getWeights(int weightIndex)
|
SparseVector |
getWeights(java.lang.String weightName)
|
int |
getWeightsIndex(java.lang.String weightName)
Increase the size of the weights[] parameters to match (a new, larger) input Alphabet size |
java.lang.String |
getWeightsName(int weightIndex)
|
java.util.Iterator |
initialStateIterator()
|
boolean |
isTrainable()
|
int |
numStates()
|
Sequence[] |
predict(InstanceList testing)
This method is deprecated. |
void |
print()
|
void |
priorCost(InstanceList trainingSet)
|
void |
reset()
|
void |
setGaussianPriorVariance(double p)
|
void |
setHyperbolicPriorSharpness(double p)
|
void |
setHyperbolicPriorSlope(double p)
|
void |
setParameter(int sourceStateIndex,
int destStateIndex,
int featureIndex,
double value)
Only sets the parameter from the first group of parameters. |
void |
setTrainable(boolean f)
|
void |
setUseHyperbolicPrior(boolean f)
|
void |
setWeights(int weightsIndex,
SparseVector transitionWeights)
|
void |
setWeights(SparseVector[] m)
|
void |
setWeights(java.lang.String weightName,
SparseVector transitionWeights)
|
void |
setWeightsDimensionAsIn(InstanceList trainingData)
|
boolean |
train(InstanceList ilist)
|
boolean |
train(InstanceList ilist,
InstanceList validation,
InstanceList testing)
|
boolean |
train(InstanceList ilist,
InstanceList validation,
InstanceList testing,
TransducerEvaluator eval)
|
boolean |
train(InstanceList ilist,
InstanceList validation,
InstanceList testing,
TransducerEvaluator eval,
int numIterations)
|
boolean |
train(InstanceList training,
InstanceList validation,
InstanceList testing,
TransducerEvaluator eval,
int numIterations,
int numIterationsPerProportion,
double[] trainingProportions)
|
boolean |
trainWithFeatureInduction(InstanceList trainingData,
InstanceList validationData,
InstanceList testingData,
TransducerEvaluator eval,
int numIterations,
int numIterationsBetweenFeatureInductions,
int numFeatureInductions,
int numFeaturesPerFeatureInduction,
double trueLabelProbThreshold,
boolean clusteredFeatureInduction,
double[] trainingProportions)
|
boolean |
trainWithFeatureInduction(InstanceList trainingData,
InstanceList validationData,
InstanceList testingData,
TransducerEvaluator eval,
int numIterations,
int numIterationsBetweenFeatureInductions,
int numFeatureInductions,
int numFeaturesPerFeatureInduction,
double trueLabelProbThreshold,
boolean clusteredFeatureInduction,
double[] trainingProportions,
java.lang.String gainName)
|
void |
write(java.io.File f)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public boolean printGradient
Constructor Detail |
public CRF3(Pipe inputPipe, Pipe outputPipe)
public CRF3(Alphabet inputAlphabet, Alphabet outputAlphabet)
Method Detail |
public Alphabet getInputAlphabet()
public Alphabet getOutputAlphabet()
public void setUseHyperbolicPrior(boolean f)
public void setHyperbolicPriorSlope(double p)
public void setHyperbolicPriorSharpness(double p)
public double getUseHyperbolicPriorSlope()
public double getUseHyperbolicPriorSharpness()
public void setGaussianPriorVariance(double p)
public double getGaussianPriorVariance()
public void addState(java.lang.String name, double initialCost, double finalCost, java.lang.String[] destinationNames, java.lang.String[] labelNames, java.lang.String[][] weightNames)
public void addState(java.lang.String name, double initialCost, double finalCost, java.lang.String[] destinationNames, java.lang.String[] labelNames, java.lang.String[] weightNames)
public void addState(java.lang.String name, double initialCost, double finalCost, java.lang.String[] destinationNames, java.lang.String[] labelNames)
public void addState(java.lang.String name, java.lang.String[] destinationNames)
public void addFullyConnectedStates(java.lang.String[] stateNames)
public void addFullyConnectedStatesForLabels()
public void priorCost(InstanceList trainingSet)
public void addStatesForLabelsConnectedAsIn(InstanceList trainingSet)
public void addStatesForHalfLabelsConnectedAsIn(InstanceList trainingSet)
public void addStatesForThreeQuarterLabelsConnectedAsIn(InstanceList trainingSet)
public void addFullyConnectedStatesForThreeQuarterLabels(InstanceList trainingSet)
public void addFullyConnectedStatesForBiLabels()
public void addStatesForBiLabelsConnectedAsIn(InstanceList trainingSet)
public void addFullyConnectedStatesForTriLabels()
public void addSelfTransitioningStateForAllLabels(java.lang.String name)
public java.lang.String addOrderNStates(InstanceList trainingSet, int[] orders, boolean[] defaults, java.lang.String start, java.util.regex.Pattern forbidden, java.util.regex.Pattern allowed, boolean fullyConnected)
String
s. Creates an order-n CRF with input
predicates and output labels given by trainingSet
and order, connectivity, and weights given by the remaining
arguments.
trainingSet
- the training instancesorders
- an array of increasing non-negative numbers giving
the orders of the features for this CRF. The largest number
n is the Markov order of the CRF. States are
n-tuples of output labels. Each of the other numbers
k in orders
represents a weight set shared
by all destination states whose last (most recent) k
labels agree. If orders
is null
, an
order-0 CRF is built.defaults
- If non-null, it must be the same length as
orders
, with true
positions indicating
that the weight set for the corresponding order contains only the
weight for a default feature; otherwise, the weight set has
weights for all features built from input predicates.start
- The label that represents the context of the start of
a sequence. It may be also used for sequence labels.forbidden
- If non-null, specifies what pairs of successive
labels are not allowed, both for constructing norder
states or for transitions. A label pair (u,v)
is not allowed if u + "," + v matches
forbidden
.allowed
- If non-null, specifies what pairs of successive
labels are allowed, both for constructing norder
states or for transitions. A label pair (u,v)
is allowed only if u + "," + v matches
allowed
.fullyConnected
- Whether to include all allowed transitions,
even those not occurring in trainingSet
,
public CRF3.State getState(java.lang.String name)
public void setWeights(int weightsIndex, SparseVector transitionWeights)
public void setWeights(java.lang.String weightName, SparseVector transitionWeights)
public java.lang.String getWeightsName(int weightIndex)
public SparseVector getWeights(java.lang.String weightName)
public SparseVector getWeights(int weightIndex)
public SparseVector[] getWeights()
public void setWeights(SparseVector[] m)
public void setWeightsDimensionAsIn(InstanceList trainingData)
public int getWeightsIndex(java.lang.String weightName)
public int numStates()
numStates
in class Transducer
public Transducer.State getState(int index)
getState
in class Transducer
public java.util.Iterator initialStateIterator()
initialStateIterator
in class Transducer
public boolean isTrainable()
isTrainable
in class Transducer
public void setTrainable(boolean f)
setTrainable
in class Transducer
public double getParametersAbsNorm()
public void setParameter(int sourceStateIndex, int destStateIndex, int featureIndex, double value)
public double getParameter(int sourceStateIndex, int destStateIndex, int featureIndex, double value)
public void reset()
public void estimate()
public void print()
print
in class Transducer
public boolean train(InstanceList ilist)
train
in class Transducer
public boolean train(InstanceList ilist, InstanceList validation, InstanceList testing)
public boolean train(InstanceList ilist, InstanceList validation, InstanceList testing, TransducerEvaluator eval)
public boolean train(InstanceList ilist, InstanceList validation, InstanceList testing, TransducerEvaluator eval, int numIterations)
public boolean train(InstanceList training, InstanceList validation, InstanceList testing, TransducerEvaluator eval, int numIterations, int numIterationsPerProportion, double[] trainingProportions)
public boolean trainWithFeatureInduction(InstanceList trainingData, InstanceList validationData, InstanceList testingData, TransducerEvaluator eval, int numIterations, int numIterationsBetweenFeatureInductions, int numFeatureInductions, int numFeaturesPerFeatureInduction, double trueLabelProbThreshold, boolean clusteredFeatureInduction, double[] trainingProportions)
public boolean trainWithFeatureInduction(InstanceList trainingData, InstanceList validationData, InstanceList testingData, TransducerEvaluator eval, int numIterations, int numIterationsBetweenFeatureInductions, int numFeatureInductions, int numFeaturesPerFeatureInduction, double trueLabelProbThreshold, boolean clusteredFeatureInduction, double[] trainingProportions, java.lang.String gainName)
public Sequence[] predict(InstanceList testing)
public void evaluate(TransducerEvaluator eval, InstanceList testing)
public void write(java.io.File f)
public CRF3.MinimizableCRF getMinimizableCRF(InstanceList ilist)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |