code: public LinearClassifier<L,F> trainSemiSupGE(GeneralDataset<L, F> labeledDataset, List<? extends Datum<L, F>> unlabeledDataList) {
      List<F> GEFeatures = getHighPrecisionFeatures(labeledDataset,0.9,10);
      return trainSemiSupGE(labeledDataset, unlabeledDataList, GEFeatures,0.5);
    }
docs: Trains the linear classifier using Generalized Expectation criteria as described in
  <tt>Generalized Expectation Criteria for Semi Supervised Learning of Conditional Random Fields</tt>, Mann and McCallum, ACL 2008.
  The original algorithm is proposed for CRFs but has been adopted to LinearClassifier (which is a simpler, special case of a CRF).
  Automatically discovers high precision, high frequency labeled features to be used as GE constraints.
  IMPORTANT: the current feature selector assumes the features are binary. The GE constraints assume the constraining features are binary anyway, although
  it doesn't make such assumptions about other features.