Skip to content

Instantly share code, notes, and snippets.

@jtejido
Created January 2, 2018 02:20
Show Gist options
  • Select an option

  • Save jtejido/0206691007ebc05b855c0dbe3712f55c to your computer and use it in GitHub Desktop.

Select an option

Save jtejido/0206691007ebc05b855c0dbe3712f55c to your computer and use it in GitHub Desktop.
BraunBlanquetSimilarity extension for php-nlp-tools
<?php
namespace App\Utilities;
/**
* https://doi.org/10.5962/bhl.title.7161
*/
class BraunBlanquetSimilarity
{
/**
* The similarity returned by this algorithm is a number between 0,1
*/
public function similarity(&$A, &$B)
{
$a = array_fill_keys($A,1);
$b = array_fill_keys($B,1);
$intersect = count(array_intersect_key($a,$b));
$a_count = count($a);
$b_count = count($b);
return $intersect/max($a_count,$b_count);
}
public function dist(&$A, &$B)
{
return 1-$this->similarity($A,$B);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment