| | from .SimilarityScorev2 import similarity_score |
| | import numpy as np |
| |
|
| | def find_similar_entities(list1, list2): |
| | similar_strings = [] |
| | list1_copy = list1.copy() |
| | for string in list1: |
| | if string in list2: |
| | similar_strings.append(string) |
| | list1_copy.remove(string) |
| | list2.remove(string) |
| | return similar_strings, list1_copy, list2 |
| |
|
| | def sim_metric(ref, gen): |
| | if len(ref)==0 or len(gen)==0: |
| | return 0 |
| | else: |
| | similar, ref_remain, gen_remain = find_similar_entities(ref, gen) |
| | sim_score = similarity_score(ref,gen) |
| |
|
| | return (len(similar)+np.sum(sim_score))/(len(similar)+len(sim_score)) |