String metric
From Wikipedia, the free encyclopedia
The introduction to this article provides insufficient context for those unfamiliar with the subject. Please help improve the article with a good introductory style. |
String metrics (also known as similarity metrics) are a class of textual based metrics resulting in a similarity or dissimilarity (distance) score between two pairs of text strings for approximate matching or comparison and in fuzzy string searching. For example the strings "Sam" and "Samuel" can be considered (although not the same) to a degree similar. A string metric provides a floating point number indicating an algorithm-specific indication of similarity.
The most widely known (although rudimentary) string metric is Levenshtein Distance (also known as Edit Distance), which operates between two input strings, returning a score equivalent to the number of transpositions, substitutions and deletions needed in order to transform one input string into another. Simplistic string metrics such as Levenshtein distance have expanded to include phonetic, token, grammatical and character-based methods of statistical comparisons.
A widespread example of a string metric is DNA sequence analysis and RNA analysis, which are performed by optimised string metrics to identify matching sequences.
String metrics are used heavily in information integration and are currently used in fraud detection, fingerprint analysis, plagiarism detection, ontology merging, DNA analysis, RNA analysis, image analysis, evidence-based machine learning, database deduplication, data mining, Web interfaces, e.g. Ajax-style suggestions as you type, data integration, semantic knowledge integration, etc..
[edit] List of string metrics
- Hamming distance
- Levenshtein distance
- Needleman-Wunsch distance or Sellers algorithm
- Smith-Waterman distance
- Gotoh distance or Smith-Waterman-Gotoh distance
- Monge Elkan distance
- Block distance or L1 distance or City block distance
- Jaro distance metric
- Jaro-Winkler
- Soundex distance metric
- Matching coefficient
- Dice's coefficient
- Jaccard similarity or Jaccard coefficient or Tanimoto coefficient
- Overlap coefficient
- Euclidean distance or L2 distance
- Cosine similarity
- Variational distance
- Hellinger distance or Bhattacharyya distance
- Information radius (Jensen-Shannon divergence)
- Harmonic mean
- Skew divergence
- Confusion probability
- Tau metric, an approximation of the Kullback-Leibler divergence
- Fellegi and Sunters metric (SFS)
- TFIDF or TF/IDF
- Maximal matches
- Monge-Elkan
[edit] See also
- String matching
- SimMetrics - an implementation
- Carnegy Mellon University open source library
[edit] External links
- http://www.dcs.shef.ac.uk/~sam/stringmetrics.html A fairly complete overview