FzEditDistance
简述
基于编辑距离(Edit Distance)的模糊匹配算法,核心是计算将一个字符串转换为另一个字符串所需的最小编辑操作次数,允许的操作包含插入、删除、替换三类。
FzEditDistance():Integer;
应用于两字符串的相似性计算的相关模型中,如
FuzzyCompare与
FuzzyCompareEx。
范例一:FuzzyCompare相似性计算
return FuzzyCompare(FzEditDistance(),"kitten","sitting");
//返回:0.571428571428571
范例一:FuzzyCompareEx相似性计算
t:=FuzzyCompareEx(FzEditDistance(),"kitten","sitting",n,nret);
return array(t,nret);
//返回:array(0.571428571428571,3)
算法对比解析:
字符串"kitten"转换为"sitting"需要3步(k->s,e->i,添加g),字符串总长度7,相似度为1-3/7=4/7(即0.571428571428571)