public void add(CNGramsStats nGramsFreqStats) {

      String label = nGramsFreqStats.getLabel();
      float tagEstimator = CNGramsModel.getInstance().getTagEstimator();
      float maxTermFreqEstimator = CNGramsModel.getInstance().getMaxTermFreqEstimator();

      double[] allDataset = new double[5];
      double isNNPValue = nGramsFreqStats.isNNP() ? 1.0 : 0.0;
      allDataset[0] = nGramsFreqStats.getNGramRank();
      allDataset[1] = tagEstimator;
      allDataset[2] = maxTermFreqEstimator;
      allDataset[3] = isNNPValue;
      allDataset[4] = (label.split(" ").length > 1) ? 1.0 : 0.0;

      if (label.split(" ").length > 1) {
        allDataset[4] = 1.0;
        double[] nGramDataset = new double[4];
        nGramDataset[0] = nGramsFreqStats.getNGramRank();
        nGramDataset[1] = tagEstimator;
        nGramDataset[2] = maxTermFreqEstimator;
        nGramDataset[3] = isNNPValue;
        _nGramDatasetsList.add(nGramDataset);
      } else {
        allDataset[4] = 0.0;
        double[] oneGramDataset = new double[4];
        oneGramDataset[0] = nGramsFreqStats.getNGramRank();
        oneGramDataset[1] = tagEstimator;
        oneGramDataset[2] = maxTermFreqEstimator;
        oneGramDataset[3] = isNNPValue;
        _oneGramDatasetsList.add(oneGramDataset);
      }
      _allDatasetsList.add(allDataset);
    }
    public void add(CNGramsStats nGramsFreqStats) {
      String label = nGramsFreqStats.getLabel();

      if (label.split(" ").length > 1) {
        _validationNGramRankList.add(Integer.valueOf(nGramsFreqStats.getNGramRank()));
        _validationNGramNNPList.add(Boolean.valueOf(nGramsFreqStats.isNNP()));
      } else {
        _validation1GramRankList.add(Integer.valueOf(nGramsFreqStats.getNGramRank()));
        _validation1GramNNPList.add(Boolean.valueOf(nGramsFreqStats.isNNP()));
      }
    }