首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文本相似度——汉明距离

文本相似度——汉明距离

作者头像
莫斯
修改2020-09-10 11:14:40
1.4K0
修改2020-09-10 11:14:40
举报
文章被收录于专栏:备份备份

1 基本思路

汉明距离定义:在信息论中,两个等长字符串之间的汉明距离(英语:Hamming distance)是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。

示例:

  • 1011101与1001001之间的汉明距离是2。
  • 2143896与2233796之间的汉明距离是3。
  • "toned"与"roses"之间的汉明距离是3。

2 算法实现

2.1 Python 实现

  1. 方法一:
def hamming_distance(chaine1, chaine2):
    return sum(c1 != c2 for c1, c2 in zip(chaine1, chaine2))
  1. 方法二:
def hamming_distance2(chaine1, chaine2):
    return len(list(filter(lambda x : ord(x[0])^ord(x[1]), zip(chaine1, chaine2))))

2.2 Python 包

使用distance

# pip install distance
import distance
print(distance.hamming("hamming", "hamning"))
  1. https://en.wikipedia.org/wiki/Hamming_distance
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 基本思路
  • 2 算法实现
    • 2.1 Python 实现
      • 2.2 Python 包
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档