Acme-CPANModules-Similarity

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Similarity.pm  view on Meta::CPAN


our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2024-01-17'; # DATE
our $DIST = 'Acme-CPANModules-Similarity'; # DIST
our $VERSION = '0.001'; # VERSION

my $text = <<'_';
** Between arrays/bags/sets

<pm:Algorithm::HowSimilar> uses Algorithm::Diff to calculate similarity between
two arrays. It can also calculate similarity between two strings.

<pm:Bag::Similarity>

<pm:Set::Jaccard::SimilarityCoefficient>

<pm:Set::Partitions::Similarity>

<pm:Set::Similarity> provides several algorithms.


** Between codes

<pm:School::Code::Compare>


** Between colors

<pm:Color::Similarity>

<pm:Color::RGB::Util> provides `rgb_diff()` and `rgb_distance()` to calculate
difference between two RGB colors using one of several algorithms.


** Between files

<pm:File::FindSimilars> uses file size and a modified soundex algorithm on the
filename to determine similarity.


** Between graphs

<pm:Graph::Similarity>


** Between HTML/XML documents

<pm:HTML::Similarity> calculates the structural similarity between two HTML
documents.

<pm:XML::Similarity>


** Between images

<pm:Image::Similar>


** Between strings/texts

Similarity between two text can be calculated using Levenshtein edit distance.
There are several levenshtein modules on CPAN, among others:
<pm:Text::Levenshtein>, <pm:Text::Levenshtein::XS>,
<pm:Text::Levenshtein::Flexible>, <pm:Text::LevenshteinXS>, <pm:Text::Fuzzy>.
For more details, see <pm:Bencher::Scenario::LevenshteinModules>.

Soundex can also be used. Some example soundex moduless: <pm:Text::Soundex>,
<pm:Text::Phonetic::Soundex>.

<pm:Algorithm::HowSimilar> uses Algorithm::Diff to calculate similarity between
two strings. It's roughly similar in speed to pure-perl Levenshtein modules, and
tend to be faster for longer strings. It can also calculate similarity between
two arrays.

<pm:String::Similarity>

<pm:String::Similarity::Group>

<pm:Text::Similarity>

<pm:String::Simrank>

<pm:String::Similex>


** Between vectors

<pm:Data::CosineSimilarity>


** Between words (semantic similarity)

<pm:WordNet::Similarity>

<pm:WordNet::SenseRelate::AllWords>


** Others

<pm:Cluster::Similarity>

_

our $LIST = {
    summary => 'List of modules to finding similarity between stuffs',
    description => $text,
    tags => ['task'],
};

Acme::CPANModulesUtil::Misc::populate_entries_from_module_links_in_description;

1;
# ABSTRACT: List of modules to finding similarity between stuffs

__END__

=pod

=encoding UTF-8

=head1 NAME

Acme::CPANModules::Similarity - List of modules to finding similarity between stuffs

=head1 VERSION

This document describes version 0.001 of Acme::CPANModules::Similarity (from Perl distribution Acme-CPANModules-Similarity), released on 2024-01-17.

=head1 DESCRIPTION

** Between arrays/bags/sets

L<Algorithm::HowSimilar> uses Algorithm::Diff to calculate similarity between
two arrays. It can also calculate similarity between two strings.

L<Bag::Similarity>

L<Set::Jaccard::SimilarityCoefficient>

L<Set::Partitions::Similarity>

L<Set::Similarity> provides several algorithms.

** Between codes

L<School::Code::Compare>

** Between colors

L<Color::Similarity>

L<Color::RGB::Util> provides C<rgb_diff()> and C<rgb_distance()> to calculate
difference between two RGB colors using one of several algorithms.

** Between files

L<File::FindSimilars> uses file size and a modified soundex algorithm on the
filename to determine similarity.

** Between graphs

L<Graph::Similarity>

** Between HTML/XML documents

L<HTML::Similarity> calculates the structural similarity between two HTML
documents.

L<XML::Similarity>

** Between images

L<Image::Similar>

** Between strings/texts

Similarity between two text can be calculated using Levenshtein edit distance.
There are several levenshtein modules on CPAN, among others:
L<Text::Levenshtein>, L<Text::Levenshtein::XS>,
L<Text::Levenshtein::Flexible>, L<Text::LevenshteinXS>, L<Text::Fuzzy>.
For more details, see L<Bencher::Scenario::LevenshteinModules>.

Soundex can also be used. Some example soundex moduless: L<Text::Soundex>,
L<Text::Phonetic::Soundex>.

L<Algorithm::HowSimilar> uses Algorithm::Diff to calculate similarity between
two strings. It's roughly similar in speed to pure-perl Levenshtein modules, and
tend to be faster for longer strings. It can also calculate similarity between
two arrays.

L<String::Similarity>

L<String::Similarity::Group>

L<Text::Similarity>

L<String::Simrank>

L<String::Similex>

** Between vectors

L<Data::CosineSimilarity>

** Between words (semantic similarity)

L<WordNet::Similarity>

L<WordNet::SenseRelate::AllWords>

** Others

L<Cluster::Similarity>

=head1 ACME::CPANMODULES ENTRIES

=over

=item L<Algorithm::HowSimilar>

Author: L<JFREEMAN|https://metacpan.org/author/JFREEMAN>

=item L<Bag::Similarity>

Author: L<WOLLMERS|https://metacpan.org/author/WOLLMERS>

=item L<Set::Jaccard::SimilarityCoefficient>

Author: L<MLFISHER|https://metacpan.org/author/MLFISHER>

=item L<Set::Partitions::Similarity>

Author: L<KUBINA|https://metacpan.org/author/KUBINA>

=item L<Set::Similarity>

Author: L<WOLLMERS|https://metacpan.org/author/WOLLMERS>



( run in 0.558 second using v1.01-cache-2.11-cpan-140bd7fdf52 )