def test_to_chunks_calls_iobes(): seq = [random.randint(0, 5) for _ in range(random.randint(1, 6))] verbose = random.choice([True, False]) delim = random.choice(['@', '#', '%']) with patch('baseline.utils.to_chunks_iobes') as iobes_patch: to_chunks(seq, 'iobes', verbose, delim) iobes_patch.assert_called_once_with(seq, verbose, delim)
def _get_entites(golds, preds, span_type='iobes', verbose=False): """ Convert the tags into sets of entities. :param golds: `List[List[str]]` The list of gold tags. :param preds: `List[List[str]]` The list of predicted tags. :param span_type: `str` The span labeling scheme used. :param verbose: `bool` Should warnings be printed when an illegal transistion is found. """ golds = [set(to_chunks(g, span_type, verbose)) for g in golds] preds = [set(to_chunks(p, span_type, verbose)) for p in preds] return golds, preds
def test(): delim = random.choice(["@", "#", "$"]) spans = generate_spans() gold = spans[0] gold = [g.replace("@", delim) for g in gold] iobes = generate_iob(spans) chunks = to_chunks(iobes, 'iob', delim=delim) assert chunks == gold
def test(): spans = generate_spans() gold = spans[0] iobes = generate_iob(spans) chunks = to_chunks(iobes, 'iob') assert chunks == gold