private CNGramsStats extractFragment(final String content, String label)
      throws SemanticAnalysisException {
    int nGramRank = -1;

    CText document = new CText(content);
    CNGramsStats nGramsFrequencyStats = new CNGramsStats(label);

    CNGramsGenerator nGramsExtractor = new CNGramsGenerator(nGramsFrequencyStats);
    if (nGramsExtractor.extract(document, content)) {
      nGramsFrequencyStats = nGramsExtractor.getNGramsFrequencyStats();
      if (nGramsFrequencyStats != null) {
        NTaxonomiesConn taxonomyConnection =
            CTaxonomyConnectionsPool.getInstance().getLabelsAndCatsConnection();
        CTaxonomyExtractor taxonomyExtractor = new CTaxonomyExtractor(taxonomyConnection);
        if (taxonomyExtractor.extract(document)) {

          /*
           * Walk through the list of taxonomyInstance nouns from
           * this document document to extract statistics for the label.
           */
          int rank = 0;
          /*
          for( CTaxonomyInstance taxonomyInstance : document.getObjectsMap().values()) {
          	if( label.compareTo(taxonomyInstance.getLabel()) == 0) {
          		nGramRank = rank;
          		break;
          	}
          	rank++;
          }
          */
        }
      }
    }

    return (nGramRank >= 0) ? nGramsFrequencyStats : null;
  }
 /** Create a text semantic service. */
 public CTextSemanticService(short index) throws SemanticAnalysisException {
   _taxonomyConnection = CTaxonomyConnectionsPool.getInstance().getLabelsConnection();
   _textIndex = index;
 }