1.一种基于编辑距离的数据相似度检测方法,其特征在于:该方法包括以下步骤:步骤S1:输入字符串str1,str2;
步骤S2:采用动态规划方法获得LD(str1,str2),LCS(str1,str2),LCCS(str1,str2);
所述步骤S2包括以下步骤:
S21:计算字符串间的编辑距离Ld;
字符串str1和str2的长度分别为m和n,构造矩阵[LD]n+1,m+1,利用动态规划方法获得该矩阵元素,即在该矩阵中,矩阵右下角元素LD(n,m)为字符串str1和str2之间的编辑距离Ld,S22:计算字符串间的最长公共子序列的长度Lcs;
Lcs是两个字符串中最长的共同子序列的长度,字符串str1和str2的长度分别为m和n,构造矩阵[L]n+1,m+1,利用动态规划方法获得该矩阵元素,即在该矩阵中,矩阵右下角元素L(n,m)为字符串str1和str2之间的最长公共子序列长度Lcs;
S23:计算字符串间的最长公共子串的长度Lccs;
字符串str1和str2的长度分别为m和n,构造二维矩阵[L]n+1,m+1,利用动态规划方法获得该矩阵元素,即在该矩阵中,矩阵的斜对角线上找到值为1的单元格及其对应的字符串,最长公共子串的长度为Lccs;
步骤S3:联合Ld,Lcs,Lccs获得字符串相似度sim,定义新的相似度公式为式中, l为平衡因子,取0.1,len为两字符串中较长串的长度。
2.根据权利要求1所述的一种基于编辑距离的数据相似度检测方法,其特征在于:在所述步骤S23中最长公共子串Lccs中最长的公共子序列为连续的。
3.根据权利要求1所述的一种基于编辑距离的数据相似度检测方法,其特征在于:在所述步骤S23中,当矩阵需要填充1时,直接等于左上角的值加1,则矩阵的最大元素为Lccs的长度。