# 第一种 大于80好一点 70? from fuzzywuzzy import fuzz def levenshtein_similarity(str1, str2): if str1 != None and str2 != None: return fuzz.ratio(str1.upper(), str2.upper()) return None # # 示例 # str1 = "o python" # str2 = "hello python" # similarity = levenshtein_similarity(str1, str2) # # print(f"相似度: {similarity}") # # # from sklearn.feature_extraction.text import TfidfVectorizer # from sklearn.metrics.pairwise import cosine_similarity # # def cosine_similarity_strings(str1, str2): # vectorizer = TfidfVectorizer() # tfidf = vectorizer.fit_transform([str1, str2]) # return cosine_similarity(tfidf)[0, 1] # # # 示例 # str1 = "hello pytho" # str2 = "hello python" # similarity = cosine_similarity_strings(str1, str2) # print(f"相似度: {similarity}") # # # # import difflib # # def string_similarity(str1, str2): # return difflib.SequenceMatcher(None, str1, str2).ratio() # # # 示例 # str1 = "hello world" # str2 = "hello python" # similarity = string_similarity(str1, str2) # print(f"相似度: {similarity}")