【NLP】最小编辑距离

编辑距离,也称为Levenshtein距离,是衡量两个字符串转换成彼此所需的最少字符编辑次数。通过动态规划实现,计算两个字符串A和B的最小编辑距离。思路涉及插入、删除、替换三种操作,时间复杂度和空间复杂度都是O(mn)。
摘要由CSDN通过智能技术生成

编辑距离

编辑距离又称Levenshtein距离,是指将一个字符串转为另一个字符串所需的字符编辑次数,包括以下三种操作:

  • 插入 - 在任意位置插入一个字符
  • 删除 - 将任意一个字符删除
  • 替换 - 将任意一个字符替换为另一个字符

最小编辑距离是指将一个字符串转为另一个字符串所需的最少字符编辑次数。

思路

计算最小编辑距离需要用到动态规划。对于两个字符串 A A A B B B,设 f ( i , j ) f(i, j) f(i,j)表示将 A A A的前 i i i个字符构成的子串转为 B B B的前 j j j个字符构成的子串所需的最少次数,那么 f ( i , 0 ) = i f(i, 0) = i f(i,0)=i f ( 0 , j ) = j f(0, j) = j f(0,j)=j,从 A A A B B B的最小编辑距离即 f ( m , n ) f(m, n) f(m,n) m m m n n n分别为 A A A B B B的长度。
由于 f ( i , 0 ) f(i, 0) f(i,0) f ( 0 , j ) f(0, j) f(0,j)已确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值