docs: private double calculateMutualInformation(String phrase, List<Term> terms) {
          int size = terms.size();
          if (size == 1) {
              return -Math.log(getFrequency(terms.get(0).getRealName()) / totalTerm);
          }
  
          double product = 1.;
          for (Term term : terms) {
              product *= getFrequency(term.getRealName());
          }
  
          return Math.log(occurrenceMap.get(phrase).getFrequency() * Math.pow(totalTerm, size - 1)) - Math.log(product);
      }