试图实现levenshtein距离的计算,而不是基于两个词的比较,而是一个句子和一个模式。
在原始的levenshtein中,op是l(w1,w2)=距离
我想做,l'(模式,输入)=距离
输入是文本,单词/句子。
模式类似于printf(%v%d等),因此,电话号码模式可能类似于%3d-%2d-%2d(取决于您所在的地区)
因此该算法可用于判断给定输入是否与给定模式匹配, 结果不应该是二进制(true或false),就像regexp那样,但是软值0-> 1。
input: dear mr john smith,(...)
pattern: dear %v,
result: a value indicating the match
input: 01 20 54 21 25 23
pattern: dear %v,
matching: a value indicating the NOT match
input: 01 20 54 21 25 23
pattern: %d %d %d %d %d,
matching: a value indicating the match
input: 01 20 54 21 25 23
pattern: %d-%d-%d-%d-%d,
matching: a value indicating the partial match
input: dear john smith,
pattern: %d-%d-%d-%d-%d,
matching: a value indicating the NOT match