如何在python中计算编辑距离


两个字符串之间的编辑距离是将一个单词转换为另一个单词所需的最小单字符更改次数。

“修改”一词包括替换、插入和删除。

例如,假设我们有以下两个单词:

  • 参加派对
  • 公园

两个单词之间的编辑距离(即将一个单词转换为另一个单词所需的更改数量)将为2

编辑距离示例

在实践中,编辑距离用于许多不同的应用,包括模糊字符串匹配、拼写检查和自然语言处理。

本教程介绍如何使用 python-Levenshtein 模块计算 Python 中字符串之间的编辑距离。

您可以使用以下语法来安装此模块:

 pip install python-Levenshtein

然后您可以加载函数来计算 Levenshtein 距离:

 from Levenshtein import distance as lev

以下示例展示了如何在实践中使用此功能。

示例 1:两个字符串之间的编辑距离

以下代码显示了如何计算两个字符串“party”和“park”之间的编辑距离:

 #calculate Levenshtein distance
lev(' party ', ' park ')

2

编辑距离结果为2

示例 2:两个表之间的编辑距离

以下代码显示如何计算两个不同数组中每个字符串成对组合之间的编辑距离:

 #define arrays
a = ['Mavs', 'Spurs', 'Lakers', 'Cavs']
b <- ['Rockets', 'Pacers', 'Warriors', 'Celtics']

#calculate Levenshtein distance between two arrays
for i,k in zip (a,b):
  print (lev(i, k))

6
4
5
5

结果解释方式如下:

  • “小牛”和“火箭”之间的编辑距离是6
  • “马刺”和“步行者”之间的编辑距离是4
  • “湖人队”和“勇士队”之间的编辑距离是5
  • “骑士队”和“凯尔特人队”之间的编辑距离是5

其他资源

如何在 Python 中计算汉明距离
如何在Python中计算欧几里得距离
如何在 Python 中计算马氏距离

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注