public class Model
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
double[] |
biasCoefs
dim: N_labels
|
double[][] |
edgeCoefs
dim: (N_labels+1 x N_labels)
|
Vocabulary |
featureVocab |
Vocabulary |
labelVocab |
int |
numLabels |
double[][] |
observationFeatureCoefs
dim: (N_base_features x N_labels)
|
| Constructor and Description |
|---|
Model() |
| Modifier and Type | Method and Description |
|---|---|
void |
allocateCoefs(int numLabels,
int numObsFeats) |
void |
computeBiasScores(double[] labelScores)
Adds into labelScores
|
void |
computeEdgeScores(int t,
ModelSentence sentence,
double[] labelScores)
Adds into labelScores
|
void |
computeGradient(ModelSentence sentence,
double[] grad)
Training-only
add-in loglik gradient (direction of higher likelihood)
|
void |
computeLabelScores(int t,
ModelSentence sentence,
double[] labelScores)
Computes unnormalized log-potentials.
|
double |
computeLogLik(ModelSentence s) |
void |
computeObservedFeatureScores(int t,
ModelSentence sentence,
double[] labelScores)
Adds into labelScores
|
void |
computeVitLabelScores(int t,
int prior,
ModelSentence sentence,
double[] labelScores) |
double[] |
convertCoefsToFlat() |
static void |
copyCoefsForIntersectingFeatures(Model sourceModel,
Model destModel)
Copies coefs from sourceModel into destModel.
|
int |
flatIDsize() |
void |
greedyDecode(ModelSentence sentence,
boolean storeConfidences)
THIS CLOBBERS THE LABELS, stores its decoding into them.
|
double[][] |
inferPosteriorForUnknownLabels(ModelSentence sentence)
This needs forward-backward I think
|
double[][] |
inferPosteriorGivenLabels(ModelSentence sentence)
"given labels" i.e.
|
static Model |
loadModelFromText(java.lang.String filename) |
void |
lockdownAfterFeatureExtraction() |
void |
mbrDecode(ModelSentence sentence) |
void |
saveModelAsText(java.lang.String outputFilename) |
void |
setCoefsFromFlat(double[] flatCoefs) |
int |
startMarker() |
double[] |
ThreewiseMultiply(double[] a,
double[] b,
double[] c) |
void |
viterbiDecode(ModelSentence sentence)
vit[t][k] is the max probability such that the sequence
from 0 to t has token t labeled with tag k.
|
void |
viterbiEdgeScores(int prior,
ModelSentence sentence,
double[] EdgeScores) |
public Vocabulary labelVocab
public Vocabulary featureVocab
public double[] biasCoefs
public double[][] edgeCoefs
public double[][] observationFeatureCoefs
public int numLabels
public int startMarker()
public void lockdownAfterFeatureExtraction()
public void allocateCoefs(int numLabels,
int numObsFeats)
public double[][] inferPosteriorGivenLabels(ModelSentence sentence)
sentence - - must its have .labels setpublic void greedyDecode(ModelSentence sentence, boolean storeConfidences)
public double[][] inferPosteriorForUnknownLabels(ModelSentence sentence)
public void viterbiDecode(ModelSentence sentence)
public void mbrDecode(ModelSentence sentence)
public void computeLabelScores(int t,
ModelSentence sentence,
double[] labelScores)
public void computeVitLabelScores(int t,
int prior,
ModelSentence sentence,
double[] labelScores)
public void computeBiasScores(double[] labelScores)
public void computeEdgeScores(int t,
ModelSentence sentence,
double[] labelScores)
public void viterbiEdgeScores(int prior,
ModelSentence sentence,
double[] EdgeScores)
public void computeObservedFeatureScores(int t,
ModelSentence sentence,
double[] labelScores)
public double[] ThreewiseMultiply(double[] a,
double[] b,
double[] c)
public void computeGradient(ModelSentence sentence, double[] grad)
public double computeLogLik(ModelSentence s)
public void setCoefsFromFlat(double[] flatCoefs)
public double[] convertCoefsToFlat()
public int flatIDsize()
public void saveModelAsText(java.lang.String outputFilename)
throws java.io.IOException
java.io.IOExceptionpublic static Model loadModelFromText(java.lang.String filename) throws java.io.IOException
java.io.IOExceptionpublic static void copyCoefsForIntersectingFeatures(Model sourceModel, Model destModel)