leo charre


group elements by similarity

I wrote some awesome useful subs and put them in String::Similarity::Group, it lets you provide a list of strings, and groups or isolates by similarity.
You can also provide a list of strings, and it tells you which is the closest match to a control string.

There’s also a cli interface called gbs, you could group files by similarity for example.

$ ls ./ | gbs

Basic API usage is..

To group elements by similarity

use String::Similarity::Group 'groups';
use Smart::Comments '###';

my @groups = groups( 0.8, qw/james joe jimmy vanessa carla vanesa kuiper MAarchus archus/ );

### @groups

To find most similar element in group

use String::Similarity::Group 'similarest';
use Smart::Comments '###';

my ($closest, $score) = similarest( qw/james joe jimmy vanessa carla vanesa kuiper MAarchus archus/, 'James' );

### $closest
### $score

Linux User