code: public void generateVectorFile(TrainingCorpus corpus) throws Exception {
  
  		if (this.lexicon.getLabelNum() < 2) {
  			throw new Exception(
  					"There must be at least two different class values in the training corpus");
  		}
  
  		// check that the current learner can handle
  		// the number of classes
  		if (this.lexicon.getLabelNum() > 2) {
  			if (supportsMultiLabels() == false)
  				throw new Exception(
  						"Leaner implementation does not support multiple classes");
  		}
  
  		// store in the lexicon the information
  		// about the classifier to use
  		this.lexicon.setClassifierType(getClassifierType());
  
  		// compute the loglikelihood score for each attribute
  		// and remove the attributes accordingly
  		if (keepNBestAttributes != -1) {
  			// double scores[] = logLikelihoodAttributeFilter.getScores(corpus,
  			// this.lexicon);
  			// this.lexicon.setLogLikelihoodRatio(scores);
  			// this.lexicon.keepTopNAttributesLLR(keepNBestAttributes);
  			AttributeScorer scorer = logLikelihoodAttributeScorer.getScorer(
  					corpus, lexicon);
  			this.lexicon.setAttributeScorer(scorer);
  			this.lexicon.applyAttributeFilter(scorer, keepNBestAttributes);
  		}
  		// saves the lexicon
  		this.lexicon.saveToFile(this.lexiconLocation);
  
  		// action specific to each learner implementation
  		internal_generateVector(corpus);
  	}
docs: *************************************************************************
  do not start the learning but only generates an input file for the
  learning algorithm. The actual training can be done with an external
  command.
  
  @throws Exception
  ************************************************************************