Class EntropyLattice

  • public class EntropyLattice
    extends java.lang.Object
    Runs subsequence constrained forward-backward to compute the entropy of label sequences.

    Reference: Gideon Mann, Andrew McCallum "Efficient Computation of Entropy Gradient for Semi-Supervised Conditional Random Fields" HLT/NAACL 2007

    Gideon Mann, Gaurav Chandalia, Gregory Druck
    • Field Detail

      • latticeLength

        protected int latticeLength
      • inputLength

        protected int inputLength
      • numStates

        protected int numStates
      • entropy

        protected double entropy
    • Constructor Detail

      • EntropyLattice

        public EntropyLattice​(FeatureVectorSequence fvs,
                              double[][] gammas,
                              double[][][] xis,
                              Transducer transducer,
                              Transducer.Incrementor incrementor,
                              double scalingFactor)
        Runs constrained forward-backward.

        If incrementor is null then do not update expectations due to these computations.

        The contribution of entropy to the expectations is multiplies by the scaling factor.

    • Method Detail

      • getEntropy

        public double getEntropy()
      • forwardLattice

        public double forwardLattice​(double[][] gammas,
                                     double[][][] xis)
        Computes the forward entropies (H^alpha).
      • backwardLattice

        public double backwardLattice​(double[][] gammas,
                                      double[][][] xis)
        Computes the backward entropies (H^beta).