public void loadtfidf(LinkedHashMap<String, Ngram> orderedGrams) {
    HashMap<String, Double> idf = ic.getIdfCollection();
    for (String s : orderedGrams.keySet()) {
      // defining size of ngrams to be counted, used with idfs for special
      // ngram size
      Ngram temp = orderedGrams.get(s);
      if (config.prop.containsKey("extractSize")) {

        if (idf.containsKey(s)) {

          temp.setSingleTfidf(idf.get(s) * temp.frequency);
        } else {
          temp.setSingleTfidf(0.1 * temp.frequency);
        }
      } else { // when size of ngram not defined we count each word
        // separately
        for (int i = 0; i < temp.gram.length; i++) {
          if (idf.containsKey(temp.gram[i])) {
            temp.tfidf[i] += idf.get(temp.gram[i]) * temp.frequency;
          } else {
            temp.tfidf[i] += 0.1 * temp.frequency;
          }
        }
      }
    }
  }