vicca / Entity_Extract /SimMetric.py
sayehghp's picture
Add application file
0f8411f
from .SimilarityScorev2 import similarity_score
import numpy as np
def find_similar_entities(list1, list2):
similar_strings = []
list1_copy = list1.copy() # Create a copy of list1 to avoid modifying it directly
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))