docs: public void loadData() throws Exception{
  
  		System.out.print("Loading training data ...");
  		long beginTime = System.currentTimeMillis();
  
  		Pipe pipe = createProcessor();
  
  
  		trainSet = new InstanceSet(pipe, factory);
  		labels = factory.DefaultLabelAlphabet();
  		features = factory.DefaultFeatureAlphabet();
  		features.setStopIncrement(false);
  		labels.setStopIncrement(false);
  
  		// 训练集
  		trainSet.loadThruStagePipes(new SequenceReader(train, true));
  
  		long endTime = System.currentTimeMillis();
  		System.out.println(" done!");
  		System.out.println("Time escape: " + (endTime - beginTime) / 1000 + "s");
  		System.out.println();
  
  		// 输出
  		System.out.println("Training Number: " + trainSet.size());
  		System.out.println("Label Number: " + labels.size()); // 标签个数
  		System.out.println("Feature Number: " + features.size()); // 特征个数
  		System.out.println();
  
  		// 冻结特征集
  		features.setStopIncrement(true);
  		labels.setStopIncrement(true);
  
  
  		// 读入测试数据
  		if (testfile != null) {
  			System.out.print("Loading test data ...");
  			boolean hasTarget = true;;
  			if (!hasTarget) {// 如果test data没有标注
  				pipe = featurePipe;
  			} 
  
  			// 测试集
  			testSet = new InstanceSet(pipe);
  			testSet.loadThruStagePipes(new SequenceReader(testfile, hasTarget, "utf8"));
  			System.out.println("Test Number: " + testSet.size()); // 样本个数
  		}
  	}