28 lines
887 B
Python
28 lines
887 B
Python
import difflib
|
|
import compareText
|
|
|
|
def get_similarity_ratio(s1, s2):
|
|
matcher = difflib.SequenceMatcher(None, s1, s2)
|
|
return matcher.ratio()
|
|
|
|
w_target = "CERTIFICATO DI FIRMA SCADUTO"
|
|
|
|
w_list = compareText.getObjectAndDescription('Assistenza Vinicoli','JExp')
|
|
w2_list = [item[0] for item in w_list]
|
|
w_list = w2_list
|
|
# Calculate similarity scores for each w in w_list
|
|
similarity_scores = [(w, get_similarity_ratio(w_target, w)) for w in w_list]
|
|
|
|
# Sort the list of tuples based on similarity score in descending order
|
|
sorted_similarity_scores = sorted(similarity_scores, key=lambda x: x[1], reverse=True)
|
|
|
|
# Get the best 5 matches from the sorted list
|
|
best_matches = sorted_similarity_scores[:5]
|
|
|
|
# Print the best 5 matches
|
|
print("Top 5 matches:")
|
|
for match, similarity_score in best_matches:
|
|
print("Match:", match)
|
|
print("Similarity score:", similarity_score)
|
|
print()
|