def test_span_squad(self): ref = "a string" ans_span = "start:2 end:3" context = "this is a string! it has the answer." self.assertDictClose( metrics.span_squad( [{"answers": ["", ref], "context": context}, {"answers": [ref, ref], "context": context}], [ans_span, ans_span]), {"em": 100, "f1": 100})
def test_span_squad_one_word(self): ref = "answer" ans_span = "start:1 end:1" context = "the answer" self.assertDictClose( metrics.span_squad([{ "answers": [ref], "context": context }], [ans_span]), {"em": 100, "f1": 100})
def test_span_squad_non_numbers(self): ref = "answer" ans_span = "start:test end:why" context = "the answer" self.assertDictClose( metrics.span_squad([{ "answers": [ref], "context": context }], [ans_span]), {"em": 0, "f1": 0})