I found another similarity distance useful that is fast to compute. It is based on letter pairs present in the key and the search string. You can find it explained here: strsim.
This tool implements another algorithm that is
relatively robust against swapped characters and small additions and
deletions. The algorithm builds for each string a set of all adjacent
characters (a set of pairs) and compares these:
Let x and y be strings and xs and ys the corresponding sets of adjacent pairs
from these string and ss their intersection. The similarity s of x and y is
computed as
s = (2*|ss|)/(|xs|+|ys|)
where |xs| denotes the cardinality of set |xs|. Example:
x = hello
y = hallo (German for hello)
xs = {he,el,ll,lo}
ys = {ha,al,ll,lo}
ss = {ll,lo}
s = (2*2)/(4+3) = 4/7 = 0.57
I found another similarity distance useful that is fast to compute. It is based on letter pairs present in the key and the search string. You can find it explained here: strsim.
This tool implements another algorithm that is relatively robust against swapped characters and small additions and deletions. The algorithm builds for each string a set of all adjacent characters (a set of pairs) and compares these:
Let x and y be strings and xs and ys the corresponding sets of adjacent pairs from these string and ss their intersection. The similarity s of x and y is computed as
where |xs| denotes the cardinality of set |xs|. Example:
Thank you very much @lindig . I’ll have a look at it!
[Comment removed by author]