文本编辑距离

目录

引言

编辑距离

1.Levenshtein distance

2.Damerau,F,J distance

3.Optimal String Alignment / restricted Damerau-Levenshtein distance

4.Jaro distance/similarity

5.Jaro-Winkler distance/similarity

6.N-Gram距离

7.最长公共子串距离(Longest Common Substring distance)

计算速度

参考文献


引言

距离是一种度量,所以在描述编辑距离时,首先引入度量空间的概念。

所有的距离度量应该符合上述的四个度量公理

编辑距离

1.Levenshtein distance

在信息论和计算机科学中,.Levenshtein distance是一种两个字符串序列的距离度量。形式化地说,两个单词的.Levenshtein distance是一个单词变成另一个单词要求的最少单个字符编辑数量,包含删除、插入和替换三个操作(insertion,deletion,substitution),它满足度量的四个公理。

详见《BINARY CODES CAPABLE OF CORRECTING,DELETIONS,INSERTIONS AND REVERSALS》

例如:abc与ca之间的Levenshtein distance:

结果应该是3(删除b->原字符串开头的a被替换为c->原字符串结尾的c被替换为a)

2.Damerau,F,J distance

与Levenshtein distance相比,除了单个字符的插入、删除和替换之外,增加了交换的操作,允许插入、删除、替换和交换两个相邻字符,它也满足度量的四个公理。

例如:根据.Damerau,F,J distance计算abc与ca之间的编辑距离应该为2(删除b->原字符串首尾的字符a与c交换位置)

3.Optimal String Alignment / restricted Damerau-Levenshtein distance

基本定义与Damerau,F,J distance是一样的,在基本定义基础上限定每个子串只能被编辑一次。

例如,计算'ab',和'bxa'的编辑距离,如果是Damerau,F,J distance,那么距离为2(ab → ba → bxa)

但如果计算.Optimal String Alignment / restricted Damerau-Levenshtein distance&#x

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值