I am particularly working on a function to allow the misspelled and aliases of person names. I have done some research & found there are quite a number of algorithms for String metric and phonetic libraries too.
I have tried some and of all those Jaro Winkler gives some good results as below.
compareStrings("elon musk","elon musk")) --> 1.0
compareStrings("elonmusk","elon musk")) --> 0.98
compareStrings("elon mush","elon musk")) --> 0.99
compareStrings("eln msuk","elon musk")) --> 0.94
compareStrings("elon","elon musk")) --> 0.89
compareStrings("musk","elon musk")) --> 0.0 //This is bad, but can fix that.
compareStrings("mr elon musk","elon musk")) --> 0.81
The above is the implementation from Apache commons Library.I wanted to know if there is any better implementation which serves the purpose better. Any help is appreciated.
Edit: @newuserua_ext @Trasher Thanks, I appreciate for your time. I have gone through all StackExchange Q&A related to this. And posted this question focusing on person names.