/** * Converts the given sequence into another sequence according to this transducer. * For exmaple, probabilistic transducer may do something like Viterbi here. * Subclasses of transducer may specify that they only accept special kinds of sequence. * @param input Input sequence * @return Sequence output by this transudcer */ public Sequence transduce (Sequence input) { return maxLatticeFactory.newMaxLattice(this, (Sequence)input).bestOutputSequence(); }
public boolean trainIncremental(Instance trainingInstance) { assert (expectations.structureMatches(crf.parameters)); trainIncrementalLikelihood(trainingInstance); return false; }
protected LatticeNode getLatticeNode (int ip, int stateIndex) { if (nodes[ip][stateIndex] == null) nodes[ip][stateIndex] = new LatticeNode (ip, t.getState (stateIndex)); return nodes[ip][stateIndex]; }
public void addStartState (String name) { for (int i = 0; i < numStates (); i++) parameters.initialWeights[i] = IMPOSSIBLE_WEIGHT; String[] dests = new String [numStates()]; for (int i = 0; i < dests.length; i++) dests[i] = getState(i).getName(); addState (name, 0, 0.0, dests, dests); // initialWeight of 0.0 }
public CRFTrainerByStochasticGradient(CRF crf, InstanceList trainingSample) { this.crf = crf; this.expectations = new CRF.Factors(crf); this.constraints = new CRF.Factors(crf); this.setLearningRateByLikelihood(trainingSample); }
public SearchState nextState() { lookAhead(); weight = weights[prev++]; found = false; return getViterbiNode(inputPosition-1, prev-1); }
/** * Initializes default sum-product and max-product inference engines. */ public Transducer () { sumLatticeFactory = new SumLatticeDefault.Factory(); maxLatticeFactory = new MaxLatticeDefault.Factory(); }
private LatticeNode getLatticeNode (int ip, int stateIndex) { if (nodes[ip][stateIndex] == null) nodes[ip][stateIndex] = new LatticeNode (ip, t.getState (stateIndex)); return nodes[ip][stateIndex]; }
protected LatticeNode getLatticeNode(int ip, int stateIndex) { if (nodes[ip][stateIndex] == null) nodes[ip][stateIndex] = new LatticeNode(ip, t.getState(stateIndex)); return nodes[ip][stateIndex]; }
public boolean trainIncremental(Instance trainingInstance) { assert (expectations.structureMatches(crf.parameters)); trainIncrementalLikelihood(trainingInstance); return false; }
protected LatticeNode getLatticeNode (int ip, int stateIndex) { if (nodes[ip][stateIndex] == null) nodes[ip][stateIndex] = new LatticeNode (ip, t.getState (stateIndex)); return nodes[ip][stateIndex]; }
public CRFTrainerByStochasticGradient(CRF crf, InstanceList trainingSample) { this.crf = crf; this.expectations = new CRF.Factors(crf); this.constraints = new CRF.Factors(crf); this.setLearningRateByLikelihood(trainingSample); }
public SearchState nextState() { lookAhead(); weight = weights[prev++]; found = false; return getViterbiNode(inputPosition-1, prev-1); }
/** * Initializes default sum-product and max-product inference engines. */ public Transducer () { sumLatticeFactory = new SumLatticeDefault.Factory(); maxLatticeFactory = new MaxLatticeDefault.Factory(); }
public boolean trainIncremental(Instance trainingInstance) { assert (expectations.structureMatches(crf.parameters)); trainIncrementalLikelihood(trainingInstance); return false; }
protected LatticeNode getLatticeNode (int ip, int stateIndex) { if (nodes[ip][stateIndex] == null) nodes[ip][stateIndex] = new LatticeNode (ip, t.getState (stateIndex)); return nodes[ip][stateIndex]; }
public CRFTrainerByStochasticGradient(CRF crf, InstanceList trainingSample) { this.crf = crf; this.expectations = new CRF.Factors(crf); this.constraints = new CRF.Factors(crf); this.setLearningRateByLikelihood(trainingSample); }