求教字符串相似度的算法

thinkercui 2013-11-12 05:09:38
两个字符串的相似度,有很多定义方式。
有人认为,公共串越长,越相似;
有人认为,编辑距离越短,越相似。

本人认为应该以编辑距离为相似度度量标准。
但是,当求两个字符串的相似度时,传统的编辑距离算法时间和空间复杂度都比较高。
请教各位高手,有什么办法能够比较快速的求出两个串之间的编辑距离么。。?
...全文
428 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanweixianshi 2013-12-28
  • 打赏
  • 举报
回复
好吧,这个问题还是比较感兴趣的
thinkercui 2013-12-21
  • 打赏
  • 举报
回复
@sanweixianshi 楼主涉水未深,不敢说什么样的文献是经典的。。
thinkercui 2013-12-21
  • 打赏
  • 举报
回复
@zhou19891113 楼主也没什么想法啦。 第一种,就是采用传统的编辑距离算法,这种方法到网上一搜“编辑距离”,到处都是; 第二种,是改进的编辑距离算法,本方法是以传统的编辑距离算法为基础,采用限定区域的方法(也就是取对角线周围部分)来算一个估计编辑距离(因为限定了可以连续插入或者删除的可能性,所以只能算是局部最优); 第三种,在第二种基础上进行修改,首先限定一个区域,计算一个估计编辑距离,然后根据估计编辑距离来动态扩展选取范围,这种方法实际效果不很理想; 第四种,采用哈希表的方法,本方法设定一个编辑距离估计值H,也就是说,两个串间的编辑距离<=H。这样,可以将两个串分成H+1份,用着H+1份建哈希表,至少有一份是一定能粘到一起去(没有任何编辑错误),剩下的部分再采用传统编辑距离算法进行计算,本算法适合短距离测定。 楼主也尝试过其他方法,但是都没能有好的结果。。
sanweixianshi 2013-12-20
  • 打赏
  • 举报
回复
有没有经典文献?
Ericz 2013-12-02
  • 打赏
  • 举报
回复
楼主,把你的方法发出来看看。
thinkercui 2013-12-01
  • 打赏
  • 举报
回复
@zhuce1986 嗯,还是很感谢,但是,并行计算不能说明算法效率高。。。
手软脚软 2013-11-30
  • 打赏
  • 举报
回复
从算法角度提升两个串之间的编辑距离会比较有挑战。 当需要比较的字符串非常多,比如上亿的规模,楼主可以考虑下并行计算方案, 将这些字符串放到多台机器上计算,速度会快很多,开源hadoop是个不错的选择。 楼主可以查下资料。

2,760

社区成员

发帖
与我相关
我的任务
社区描述
搜索引擎的服务器通过网络搜索软件或网络登录等方式,将Internet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库。
社区管理员
  • 搜索引擎技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧