文本处理-英文拼写检查

文章介绍了如何使用编辑距离和海明距离来衡量字符串之间的相似度。实验1展示了用编辑距离计算两个自定义字符串的相似度,实验2则通过Python代码解释了如何运用海明距离计算二进制数和字符串的相似度,包括按位异或的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

  1. 掌握使用编辑距离和海明距离计算字符串间相似度;
  2. 通过实验理解编辑距离和海明距离的分析计算过程。

提示:以下是本篇文章正文内容,下面案例可供参考

一、介绍

  1. 实验1:用编辑距离计算两个自定义字符串间的相似度;
  2. 实验2:用海明距离分别计算二进制数间的相似度和字符串间的相似度。
    (要求二进制数间的相似度计算用按位异或的思想)

二、实验 1

代码如下(示例):

def edit_dist(string1, string2):
    m, n = len(string1), len(string2)
    arr = [[0 for x in range(n + 1)] for x in range(m + 1)]
    for i in range(m+1): 
        for j in range(n+1):
            if i == 0: 
                arr[i][j] = j
            elif j == 0:
                arr[i][j] = i
            elif string1[i - 1] == string2[j - 1]:
                arr[i][j] = arr[i - 1][j - 1]
            else: 
                arr[i][j] = 1 + min(arr[i][j - 1],
                                    arr[i - 1][j],
                                    arr[i - 1][j - 1])
  
    return arr[m][n]
s1= "ccaca"
s2= "aaca"
print(edit_dist(s1, s2))

2.实验 2

代码如下(示例):

def hamming_dist1(x, y):
    n = x ^ y
    return bin(n).count('1')
print(hamming_dist1(12, 10))
def hamming_dist2(s1, s2):
    if len(s1) != len(s2):
        raise ValueError("不等长")
    return sum(el1 != el2 for el1, el2 in zip(s1, s2))

s1= "ccaca"
s2= "aaca"
print(hamming_dist2(s1, s2))

总结

在这里插入图片描述
2.
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值