python from pydeep import pyhashxx def ngram_features(text, n=3): return [text[i:i+n] for i in range(len(text)-n+1)] def construct_feature_vector(text): features = ngram_features(text) feature_vector = {} for feature in features: if feature in feature_vector: feature_vector[feature] += 1 else: feature_vector[feature] = 1 return feature_vector pydeep_obj = pyhashxx.PyDeep(64, 8) def calculate_similarity(text1, text2): feature_vector1 = construct_feature_vector(text1) feature_vector2 = construct_feature_vector(text2) similarity = pydeep_obj.similarity(feature_vector1, feature_vector2) return similarity def search_similar_strings(strings, threshold): similar_strings = [] for string in strings: similarity = calculate_similarity(query_string, string) if similarity >= threshold: similar_strings.append(string) return similar_strings threshold = 0.8 similar_strings = search_similar_strings(strings, threshold) print(similar_strings)


上一篇:
下一篇:
切换中文