NAME Acme::CPANModules::Similarity - List of modules to finding similarity between stuffs VERSION This document describes version 0.001 of Acme::CPANModules::Similarity (from Perl distribution Acme-CPANModules-Similarity), released on 2024-01-17. DESCRIPTION ** Between arrays/bags/sets Algorithm::HowSimilar uses Algorithm::Diff to calculate similarity between two arrays. It can also calculate similarity between two strings. Bag::Similarity Set::Jaccard::SimilarityCoefficient Set::Partitions::Similarity Set::Similarity provides several algorithms. ** Between codes School::Code::Compare ** Between colors Color::Similarity Color::RGB::Util provides rgb_diff() and rgb_distance() to calculate difference between two RGB colors using one of several algorithms. ** Between files File::FindSimilars uses file size and a modified soundex algorithm on the filename to determine similarity. ** Between graphs Graph::Similarity ** Between HTML/XML documents HTML::Similarity calculates the structural similarity between two HTML documents. XML::Similarity ** Between images 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: Text::Levenshtein, Text::Levenshtein::XS, Text::Levenshtein::Flexible, Text::LevenshteinXS, Text::Fuzzy. For more details, see Bencher::Scenario::LevenshteinModules. Soundex can also be used. Some example soundex moduless: Text::Soundex, Text::Phonetic::Soundex. 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. String::Similarity String::Similarity::Group Text::Similarity String::Simrank String::Similex ** Between vectors Data::CosineSimilarity ** Between words (semantic similarity) WordNet::Similarity WordNet::SenseRelate::AllWords ** Others Cluster::Similarity ACME::CPANMODULES ENTRIES Algorithm::HowSimilar Author: JFREEMAN Bag::Similarity Author: WOLLMERS Set::Jaccard::SimilarityCoefficient Author: MLFISHER Set::Partitions::Similarity Author: KUBINA Set::Similarity Author: WOLLMERS School::Code::Compare Author: BORISD Color::Similarity Author: MBARBON Color::RGB::Util Author: PERLANCAR File::FindSimilars Author: SUNTONG Graph::Similarity Author: SHOHEIK HTML::Similarity Author: XERN XML::Similarity Author: XERN Image::Similar Author: BKB Text::Levenshtein Author: NEILB Text::Levenshtein::XS Author: UGEXE Text::Levenshtein::Flexible Author: MBETHKE Text::LevenshteinXS Author: JGOLDBERG Text::Fuzzy Author: BKB Bencher::Scenario::LevenshteinModules Author: PERLANCAR Text::Soundex Author: RJBS Text::Phonetic::Soundex Author: MAROS String::Similarity Author: MLEHMANN String::Similarity::Group Author: LEOCHARRE Text::Similarity Author: TPEDERSE String::Simrank Author: SHURIKO String::Similex Author: BIAFRA Data::CosineSimilarity Author: AIMBERT WordNet::Similarity Author: TPEDERSE WordNet::SenseRelate::AllWords Author: TPEDERSE Cluster::Similarity Author: INGRIF FAQ What is an Acme::CPANModules::* module? An Acme::CPANModules::* module, like this module, contains just a list of module names that share a common characteristics. It is a way to categorize modules and document CPAN. See Acme::CPANModules for more details. What are ways to use this Acme::CPANModules module? Aside from reading this Acme::CPANModules module's POD documentation, you can install all the listed modules (entries) using cpanm-cpanmodules script (from App::cpanm::cpanmodules distribution): % cpanm-cpanmodules -n Similarity Alternatively you can use the cpanmodules CLI (from App::cpanmodules distribution): % cpanmodules ls-entries Similarity | cpanm -n or Acme::CM::Get: % perl -MAcme::CM::Get=Similarity -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n or directly: % perl -MAcme::CPANModules::Similarity -E'say $_->{module} for @{ $Acme::CPANModules::Similarity::LIST->{entries} }' | cpanm -n This Acme::CPANModules module also helps lcpan produce a more meaningful result for "lcpan related-mods" command when it comes to finding related modules for the modules listed in this Acme::CPANModules module. See App::lcpan::Cmd::related_mods for more details on how "related modules" are found. HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . SEE ALSO Acme::CPANModules - about the Acme::CPANModules namespace cpanmodules - CLI tool to let you browse/view the lists AUTHOR perlancar CONTRIBUTING To contribute, you can send patches by email/via RT, or send pull requests on GitHub. Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via: % prove -l If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me. COPYRIGHT AND LICENSE This software is copyright (c) 2024 by perlancar . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.