Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
assert isinstance(ignoreStart, bool)
if level != 1 and level != 2:
raise KeyError
spans = set([])
g_spans = [g.get_tag_span(t.tag_id) for t in g.tag_list()]
s_spans = [s.get_tag_span(t.tag_id) for t in s.tag_list()]
if ignoreStart:
for i, g_span in enumerate(g_spans):
g_spans[i] = g_span[1]
for i, s_span in enumerate(s_spans):
s_spans[i] = s_span[1]
spans = spans.union(set(g_spans))
spans = spans.union(set(s_spans))
scorer = Scorer()
for span in spans:
g_to_span = None
s_to_span = None
g_dpndtype = None
s_dpndtype = None
try:
gold_pid = g_spans.index(span)
if (level == 2) and (gold_pid == len(g_spans) - 2):
continue
g_to = g.tag_list()[gold_pid].parent_id
if g_to == -1:
continue
g_dpndtype = g.tag_list()[gold_pid].dpndtype
g_to_span = g_spans[g_to]
except ValueError:
pass
def phrase(g, s, level=0):
assert isinstance(g, BList)
assert isinstance(s, BList)
assert isinstance(level, int)
if level != 0:
raise KeyError
spans = set([])
g_spans = [g.get_tag_span(t.tag_id) for t in g.tag_list()]
s_spans = [s.get_tag_span(t.tag_id) for t in s.tag_list()]
spans = spans.union(set(g_spans))
spans = spans.union(set(s_spans))
scorer = Scorer()
for span in spans:
try:
gold_pid = g_spans.index(span)
except ValueError:
scorer.fp += 1
continue
try:
sys_pid = s_spans.index(span)
except ValueError:
scorer.fn += 1
continue
scorer.tp += 1
return scorer