public MaxLattice newMaxLattice (Transducer trans, Sequence inputSequence, Sequence outputSequence) { return new MaxLatticeDefault (trans, inputSequence, outputSequence); }
public MaxLattice newMaxLattice (Transducer trans, Sequence inputSequence, Sequence outputSequence) { return new MaxLatticeDefault (trans, inputSequence, outputSequence); }
public MaxLattice newMaxLattice (Transducer trans, Sequence inputSequence, Sequence outputSequence) { return new MaxLatticeDefault (trans, inputSequence, outputSequence); }
public void testViterbi () { double weight = new MaxLatticeDefault (transducer, seq).bestWeight(); System.out.println ("weight = "+weight); assertTrue (weight == seqWeight); }
public void testViterbi () { double weight = new MaxLatticeDefault (transducer, seq).bestWeight(); System.out.println ("weight = "+weight); assertTrue (weight == seqWeight); }
/** Calculates the confidence in the tagging of a {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { Sequence[] predictions = new Sequence[committee.length]; for (int i = 0; i < committee.length; i++) predictions[i] = new MaxLatticeDefault (committee[i], (Sequence)instance.getData()).bestOutputSequence(); // Higher return value means higher confidence this sequence is correct. double avg = avgVoteEntropy(predictions); return -1.0 * avg; }
/** Calculates the confidence in the tagging of a {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { Sequence[] predictions = new Sequence[committee.length]; for (int i = 0; i < committee.length; i++) predictions[i] = new MaxLatticeDefault (committee[i], (Sequence)instance.getData()).bestOutputSequence(); // Higher return value means higher confidence this sequence is correct. double avg = avgVoteEntropy(predictions); return -1.0 * avg; }
/** Calculates the confidence in the tagging of a {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { Sequence[] predictions = new Sequence[committee.length]; for (int i = 0; i < committee.length; i++) predictions[i] = new MaxLatticeDefault (committee[i], (Sequence)instance.getData()).bestOutputSequence(); // Higher return value means higher confidence this sequence is correct. double avg = avgVoteEntropy(predictions); return -1.0 * avg; }
/** Calculates the confidence in the tagging of an {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { SumLatticeDefault lattice = new SumLatticeDefault (model, (Sequence)instance.getData()); //ViterbiPathNBest bestViterbis = new ViterbiPathNBest (model, (Sequence)instance.getData(), 2); //double[] costs = bestViterbis.costNBest(); MaxLatticeDefault vlat = new MaxLatticeDefault (model, (Sequence)instance.getData(), null, 2); List<SequencePairAlignment<Object,Object>> alignments = vlat.bestOutputAlignments(2); double cost1 = alignments.get(0).getWeight(); double cost2 = alignments.get(1).getWeight(); double latticeCost = lattice.getTotalWeight(); return (Math.exp (-cost1 + latticeCost) / Math.exp(-cost2 + latticeCost)); } }
/** Calculates the confidence in the tagging of an {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { SumLatticeDefault lattice = new SumLatticeDefault (model, (Sequence)instance.getData()); //ViterbiPathNBest bestViterbis = new ViterbiPathNBest (model, (Sequence)instance.getData(), 2); //double[] costs = bestViterbis.costNBest(); MaxLatticeDefault vlat = new MaxLatticeDefault (model, (Sequence)instance.getData(), null, 2); List<SequencePairAlignment<Object,Object>> alignments = vlat.bestOutputAlignments(2); double cost1 = alignments.get(0).getWeight(); double cost2 = alignments.get(1).getWeight(); double latticeCost = lattice.getTotalWeight(); return (Math.exp (-cost1 + latticeCost) / Math.exp(-cost2 + latticeCost)); } }
/** Calculates the confidence in the tagging of an {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { SumLatticeDefault lattice = new SumLatticeDefault (model, (Sequence)instance.getData()); //ViterbiPathNBest bestViterbis = new ViterbiPathNBest (model, (Sequence)instance.getData(), 2); //double[] costs = bestViterbis.costNBest(); MaxLatticeDefault vlat = new MaxLatticeDefault (model, (Sequence)instance.getData(), null, 2); List<SequencePairAlignment<Object,Object>> alignments = vlat.bestOutputAlignments(2); double cost1 = alignments.get(0).getWeight(); double cost2 = alignments.get(1).getWeight(); double latticeCost = lattice.getTotalWeight(); return (Math.exp (-cost1 + latticeCost) / Math.exp(-cost2 + latticeCost)); } }
/** Calculates the confidence in the tagging of a {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { SumLatticeDefault lattice = new SumLatticeDefault (model, (Sequence)instance.getData()); SequencePairAlignment viterbi = new MaxLatticeDefault (model, (Sequence)instance.getData()).bestOutputAlignment(); return Math.exp (viterbi.getWeight() - lattice.getTotalWeight()); } }
/** Calculates the confidence in the tagging of a {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { SumLatticeDefault lattice = new SumLatticeDefault (model, (Sequence)instance.getData()); SequencePairAlignment viterbi = new MaxLatticeDefault (model, (Sequence)instance.getData()).bestOutputAlignment(); return Math.exp (viterbi.getWeight() - lattice.getTotalWeight()); } }
/** Calculates the confidence in the tagging of a {@link Instance}. */ public double estimateConfidenceFor (Instance instance, Object[] startTags, Object[] inTags) { SumLatticeDefault lattice = new SumLatticeDefault (model, (Sequence)instance.getData()); SequencePairAlignment viterbi = new MaxLatticeDefault (model, (Sequence)instance.getData()).bestOutputAlignment(); return Math.exp (viterbi.getWeight() - lattice.getTotalWeight()); } }
/** Take input sequence from instance.data and put the output sequence in instance.data. */ public Instance transduce (Instance instance) { if (inputPipe != null) instance = inputPipe.instanceFrom(instance); // TODO Use MaxLatticeFactory instead of hardcoding instance.setData(new MaxLatticeDefault(this, (Sequence)instance.getData()).bestOutputSequence()); if (outputPipe != null) instance = outputPipe.instanceFrom(instance); return instance; }
/** Take input sequence from instance.data and put the output sequence in instance.data. */ public Instance transduce (Instance instance) { if (inputPipe != null) instance = inputPipe.instanceFrom(instance); // TODO Use MaxLatticeFactory instead of hardcoding instance.setData(new MaxLatticeDefault(this, (Sequence)instance.getData()).bestOutputSequence()); if (outputPipe != null) instance = outputPipe.instanceFrom(instance); return instance; }
/** Take input sequence from instance.data and put the output sequence in instance.data. */ public Instance transduce (Instance instance) { if (inputPipe != null) instance = inputPipe.instanceFrom(instance); // TODO Use MaxLatticeFactory instead of hardcoding instance.setData(new MaxLatticeDefault(this, (Sequence)instance.getData()).bestOutputSequence()); if (outputPipe != null) instance = outputPipe.instanceFrom(instance); return instance; }
/** Take input sequence from instance.data and put the output sequence in instance.target. * Like transduce(Instance), but put best output sequence into instance.target rather than instance.data. */ // TODO Consider a different method name. public Instance label (Instance instance) { if (inputPipe != null) instance = inputPipe.instanceFrom(instance); // TODO Use MaxLatticeFactory instead of hardcoding instance.setTarget(new MaxLatticeDefault(this, (Sequence)instance.getData()).bestOutputSequence()); if (outputPipe != null) instance = outputPipe.instanceFrom(instance); return instance; }
/** Take input sequence from instance.data and put the output sequence in instance.target. * Like transduce(Instance), but put best output sequence into instance.target rather than instance.data. */ // TODO Consider a different method name. public Instance label (Instance instance) { if (inputPipe != null) instance = inputPipe.instanceFrom(instance); // TODO Use MaxLatticeFactory instead of hardcoding instance.setTarget(new MaxLatticeDefault(this, (Sequence)instance.getData()).bestOutputSequence()); if (outputPipe != null) instance = outputPipe.instanceFrom(instance); return instance; }
/** Take input sequence from instance.data and put the output sequence in instance.target. * Like transduce(Instance), but put best output sequence into instance.target rather than instance.data. */ // TODO Consider a different method name. public Instance label (Instance instance) { if (inputPipe != null) instance = inputPipe.instanceFrom(instance); // TODO Use MaxLatticeFactory instead of hardcoding instance.setTarget(new MaxLatticeDefault(this, (Sequence)instance.getData()).bestOutputSequence()); if (outputPipe != null) instance = outputPipe.instanceFrom(instance); return instance; }