leacock_chodorow method

double leacock_chodorow(
  1. Synset synset1,
  2. Synset synset2, {
  3. bool normalize = false,
  4. double normalized_max = 1.0,
})

This method implements the leackock and chodorow relatedness measure. For the path distance and depth, node count is used.

Implementation

double leacock_chodorow(Synset synset1, Synset synset2, {bool normalize = false, double normalized_max = 1.0}){

  assert(synset1.category == synset2.category);

  int pathlen = synset1.shortest_path_distance(synset2) + 1;
  double lch_sim = - (log(pathlen / (2 * (max_depth + 1)))) / log(10);
  if(normalize){
    lch_sim = this.normalize(lch_sim, normalized_max, SemRelMeasure.LeacockAndChodorow);
  }
  return dp(lch_sim, 5);
}