文本相似度——汉明距离

文章目录

    • 1 基本思路
    • 2 算法实现
      • 2.1 Python 实现
      • 2.2 Python 包


文本相似度计算方法汇总:文本相似度计算方法详解


1 基本思路

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

示例:

  • 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 ↩︎

你可能感兴趣的:(#,1.1,Python,#,2.4,信息论,Information,Theory,#,2.10,自然语言处理,NLP,6.,笔试,AND,面试,文本相似度,汉明距离,Hamming,Distance,nlp)