Beispiel #1
0
def run_collapse_differences(fs, get=getdst):
    base = fs[0]
    del fs[0]
    subs = [
        [get(rule) for rule in concat(compare(base, f)) if rule.type == lev.SUB and rule.dst != rule.src] for f in fs
    ]
    return dct.zip(dct.count(concat(subs)), default=0, *map(dct.count, subs))
Beispiel #2
0
def combine(sed, ice):
    setify = lambda d: dct.map_keys(frozenset, d)
    d = dct.zip(setify(sed), setify(ice))
    del d[frozenset(['ld', 'se'])]
    del d[frozenset(['sw', 'se'])]
    del d[frozenset(['nw', 'se'])]
    del d[frozenset(['ld', 'nw'])]
    del d[frozenset(['ld', 'em'])]
    del d[frozenset(['yk', 'em'])]
    return d
Beispiel #3
0
def feature_sub(seg1, seg2):
    "({str:float}*{str:float}) -> float"
    return (len(set(seg1) ^ set(seg2))
            + sum(abs(f1-f2) for f1,f2 in dct.zip(seg1,seg2).values()))