Class CRFTrainerByGE


  • public class CRFTrainerByGE
    extends TransducerTrainer
    Trains a CRF using Generalized Expectation constraints that consider either a single label or a pair of labels of a linear chain CRF. See: "Generalized Expectation Criteria for Semi-Supervised Learning of Conditional Random Fields" Gideon Mann and Andrew McCallum ACL 2008
    Author:
    Gregory Druck
    • Constructor Detail

      • CRFTrainerByGE

        public CRFTrainerByGE​(CRF crf,
                              java.util.ArrayList<GEConstraint> constraints)
      • CRFTrainerByGE

        public CRFTrainerByGE​(CRF crf,
                              java.util.ArrayList<GEConstraint> constraints,
                              int numThreads)
    • Method Detail

      • setGaussianPriorVariance

        public void setGaussianPriorVariance​(double gpv)
      • setNumResets

        public void setNumResets​(int numResets)
        Sets number of resets of L-BFGS during optimization. Resetting more times can be useful since the GE objective function is non-convex
        Parameters:
        numResets - Number of resets of L-BFGS
      • setStateLabelMap

        public void setStateLabelMap​(StateLabelMap map)
      • setOptimizable

        public void setOptimizable​(Optimizer optimizer)
      • train

        public boolean train​(InstanceList unlabeledSet,
                             int numIterations)
        Description copied from class: TransducerTrainer
        Train the transducer associated with this TransducerTrainer. You should be able to call this method with different trainingSet objects. Whether this causes the TransducerTrainer to combine both trainingSets or to view the second as a new alternative is at the discretion of the particular TransducerTrainer subclass involved.
        Specified by:
        train in class TransducerTrainer