docs: @Override
  	public int generateAt(Instance instance, IFeatureAlphabet features, int pos,
  			int... numLabels) {
  		String[][] data = ( String[][]) instance.getData();
  		
  		int len = data[0][pos].length();
  
  		StringBuilder sb = new StringBuilder();
  
  		sb.append(id);
  		sb.append(':');
  		sb.append(pos);
  		sb.append(':');
  		
  		String str = data[0][pos]; //这里数据行列和模板中行列相反
  		StringType type = Chars.getStringType(str);
  		String stype = type.name(); 
  		
  		if(type == StringType.M){
  			
  			if(str.length()>4 && str.startsWith("http:"))
  				stype = "U$";
  			else if(str.length()>4&&str.contains("@"))
  				stype  = "E$";
  			else if(str.contains(":"))
  				stype = "T$";
  		}
  		
  		sb.append(stype);	
  		
  		int index = features.lookupIndex(sb.toString(), numLabels[0]);
  		return index;
  	}