code: public double getIntrinsicInformationContent(Category category) throws WikiApiException {
          int node = category.getPageId();
  
          int hyponymCount  = getHyponymCountMap().get(node);
          int numberOfNodes = this.getNumberOfNodes();
  
          if (hyponymCount > numberOfNodes) {
              throw new WikiApiException("Something is wrong with the hyponymCountMap. " + hyponymCount + " hyponyms, but only " + numberOfNodes + " nodes.");
          }
  
          logger.debug(category.getTitle().getPlainTitle() + " has # hyponyms: " + hyponymCount);
  
          double intrinsicIC = -1;
          if (hyponymCount >= 0) {
              intrinsicIC = (1 - ( Math.log(hyponymCount + 1) / Math.log(numberOfNodes) ) );
          }
          return intrinsicIC;
      }
docs: Intrinsic information content (Seco Etal. 2004) allows to compute information content from the structure of the taxonomy (no corpus needed).
  IC(n) = 1 - log( hypo(n) + 1) / log(#cat)
  hypo(n) is the (recursive) number of hyponyms of a node n. Recursive means that the hyponyms of hyponyms are also taken into account
  #cat is the number of categories in the graph
  @param category The category node for which the intrinsic information content should be returned.
  @return The intrinsic information content for this category node.
  @throws WikiApiException Thrown if errors occurred.