align/evaluate.py [16:28]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ap_inter += len(a.intersection(p))
        as_inter += len(a.intersection(s))
        a_size += len(a)
        p_size += len(p)
        s_size += len(s)
    prec = ap_inter / a_size if a_size > 0 else 0
    rec = as_inter / s_size if s_size > 0 else 0
    return {
        'prec': prec,
        'rec': rec,
        'f1': 2 * prec * rec / (prec + rec) if s_size > 0 and a_size > 0 else 0,
        'aer': 1 - (as_inter + ap_inter) / (a_size + s_size)
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



align/test.py [21:33]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ap_inter += len(a.intersection(p))
        as_inter += len(a.intersection(s))
        a_size += len(a)
        p_size += len(p)
        s_size += len(s)
    prec = ap_inter / a_size if a_size > 0 else 0
    rec = as_inter / s_size if s_size > 0 else 0
    return {
        'prec': prec,
        'rec': rec,
        'f1': 2 * prec * rec / (prec + rec) if s_size > 0 and a_size > 0 else 0,
        'aer': 1 - (as_inter + ap_inter) / (a_size + s_size)
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



