https://github.com/luozhouyang/python-string-similarity
from strsimpy.ngram import NGram
from strsimpy import SIFT4
from strsimpy.qgram import QGram
from strsimpy.normalized_levenshtein import NormalizedLevenshtein
from fuzzywuzzy import fuzz
import difflib
from strsimpy.cosine import Cosine
twogram = NGram(1)
qgram = QGram(2)
normalized_levenshtein = NormalizedLevenshtein()
sift4 = SIFT4()
cosine = Cosine(2)
def text_sim(str1, str2):
print(twogram.distance("abc", "def"))
print(qgram.distance(str1, str2))
print(sift4.distance("abc", "abc"))
print(normalized_levenshtein.similarity(str1, str2))
print(difflib.SequenceMatcher(a=str1, b=str2).ratio())
p0 = cosine.get_profile(str1)
p1 = cosine.get_profile(str2)
print(cosine.similarity_profiles(p0, p1))
if __name__ == '__main__':
str1 = '福建省福州市闽清县池园镇井后莲花小区9-12栋'
str2 = '福建省福州市闽清县池园镇井后莲花小区9-12号'
text_sim(str1, str2)
网友评论