standford NLP课程笔记四 编辑距离

编辑距离用来衡量两个串的相似度

编辑距离就是用最少的编辑操作将一个词变为另一个词,操作有三种

插入

删除

替换

如何计算最短编辑距离? 采用动态规划

字符串X长度为n

字符串Y长度为m

定义D(i,j)表示X[1,i]和Y[1,j]的最短编辑距离,则D(n,m)表示X和Y的最短编辑距离,注意这里的字符串  下标是从1开始的,而数组D的下标是从0开始的

比如 D(0,1)表示X不取,Y取第一个字符 这两个字串的聚类,显然是1,即删除Y的第一个字符即可

初始化

D(i,0)=i

D(j,0)=j

先计算i,j较小的情况下的D(i,j),然后再 利用已经计算出来的结果来计算i,j较大的情况下的D(i,j)

X(1...i)和Y(1...j)的编辑距离,要么是 已知X(1....i-1)和Y(1,j)的编辑距离的基础上,在X(1....i-1)的末尾进行增加操作 

  或者 在已知X(1....i)和Y(1....j-1)的编辑距离的基础上,在Y(1....j-1)的末尾进行增加操作

或者 在已知X(1....i-1)和Y(1,j-1)的编辑距离的基础上,将X的第i个字符和Y的第j个字符进行替换操作,当然,如果相同的话就不需要替换了

用公式表达出来就是

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值