计算数值和字符串的相似度。包括编辑距离计算相似度和difflib.SequenceMatcher计算相似度
看下代码就清楚了,写的很清晰。
更多学习可以参考文章:https://www.cnblogs.com/chenpeng9/articles/4605577.html
#encoding:utf-8
__author__ = 'zgd'
from collections import Counter
import time
# count the value sim
def numSim(a,b):
a = float(a)
if(a*b==0) and (abs(a-b)<3):
return 0.8
else:
try:
return 1.0 - abs(a-b)/max(a,b)
except:
return 1.0
# count the longest common subsequence
def longSim(L1,L2):
m =len(L1)
n = len(L2)
if m == 0 and n == 0:
return 1.0
elif (m*n==0):
if m<10 or n<10:
return 0.3
else:return 0.0
else:
c1 = Counter(L1)
c2 = Counter(L2)
d1 = dict(c1)
d2 = dict(c2)
count = 0
for i in set(c1)&set(c2):
co

本文介绍了计算数值和字符串相似度的两种方法,包括编辑距离和difflib.SequenceMatcher。通过示例代码阐述了如何进行相似度计算,并提到了jaccard系数用于列表相似度的计算。推荐的文章提供了更深入的学习资源。
最低0.47元/天 解锁文章
6116

被折叠的 条评论
为什么被折叠?



