怎么构造衡量字符串相似程度的标准

 我来答
CodeBlove
2016-06-21 · TA获得超过3364个赞
知道小有建树答主
回答量:936
采纳率:79%
帮助的人:248万
展开全部
很有意思的课题。不过既然是相似,就是模糊匹配,就没有标准,如果定义了严格的标准,那就是伪命题,只能说达到某种程度的相似要求,而不能称标准,只要实现你的需求就是合理的。

相似度匹配问题涉及几个方面
1、长度相似
2、大小写相似(这个简单)
3、字符或词组并集数量。

我相信根据以上三点你应该有想法了。

我的判断方式是,定义一个统计匹配次数的变量(完全相等不在下面处理流程考虑范围之内),每个测试项目都记做一分,即计数变量加一。

预处理:取长度较长的串定义为原串,将较短的定义为测试串。将原串和测试串全部转为大写或小写。
1、如果两串长度在70%以上则看做相似(这个值根据需要可调),+1
2、将被测试串与原串做包含测试(str.indexof(test)),如果命中+1
3、将原串和被测试串分别分割为三个子串,将它们各自的左中右子串做包含测试,每命中一个 +2。
4、将被测试串循环位移若干字符(可调),重复3#操作,重复次数根据移动字符数计算。

你可以选择选取以上几个条件进行判断,你也可以加入其它测试条件,组成10分制,达到6分看做相似。你也可以简单地单独采用一种方式判断,比如长度接近的情况下,选取第3个测试方法,将串分三部分,分别做包含测试,出现2次匹配就看做相似。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式