An algorithm provides scores between 0.0 (no match) to 1.0 (perfect match) for a comparison of two strings.
The algorithm is designed for auto-completion. For string similarity, please check Levenshtein distance (Wagner–Fischer algorithm).
Include the library:
from stringscore import liquidmetal
Score any string against an abbreviation:
>>> liquidmetal.score('FooBar', 'foo')
0.95
>>> liquidmetal.score('FooBar', 'fb')
0.916666666667
>>> liquidmetal.score('Foo Bar', 'fb')
0.928571428571
>>> liquidmetal.score('Foo Bar', 'baz')
0.0
>>> liquidmetal.score('Foo Bar', '')
0.8
- Quicksilver's scoreForAbbreviation algorithm by Alcor (Blacktree, Inc)
- LiquidMetal by Ryan McGeary
- string_score by Joshaven Potter
- jQuery.fuzzyMatch by Rapportive
String Score is released under the MIT License.
Copyright © 2003 Blacktree, Inc (Original author of Quicksilver)
Copyright © 2009 Ryan McGeary (Author of LiquidMetal)
Copyright © 2013 Grey Lee
Copyright © 2009 Ryan McGeary (Author of LiquidMetal)
Copyright © 2013 Grey Lee