similarity.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # 第一种 大于80好一点 70?
  2. from fuzzywuzzy import fuzz
  3. def levenshtein_similarity(str1, str2):
  4. if str1 != None and str2 != None:
  5. return fuzz.ratio(str1.upper(), str2.upper())
  6. return None
  7. # # 示例
  8. # str1 = "o python"
  9. # str2 = "hello python"
  10. # similarity = levenshtein_similarity(str1, str2)
  11. # # print(f"相似度: {similarity}")
  12. #
  13. #
  14. # from sklearn.feature_extraction.text import TfidfVectorizer
  15. # from sklearn.metrics.pairwise import cosine_similarity
  16. #
  17. # def cosine_similarity_strings(str1, str2):
  18. # vectorizer = TfidfVectorizer()
  19. # tfidf = vectorizer.fit_transform([str1, str2])
  20. # return cosine_similarity(tfidf)[0, 1]
  21. #
  22. # # 示例
  23. # str1 = "hello pytho"
  24. # str2 = "hello python"
  25. # similarity = cosine_similarity_strings(str1, str2)
  26. # print(f"相似度: {similarity}")
  27. #
  28. #
  29. #
  30. # import difflib
  31. #
  32. # def string_similarity(str1, str2):
  33. # return difflib.SequenceMatcher(None, str1, str2).ratio()
  34. #
  35. # # 示例
  36. # str1 = "hello world"
  37. # str2 = "hello python"
  38. # similarity = string_similarity(str1, str2)
  39. # print(f"相似度: {similarity}")