Azmaval

BIO tagging

Updated 23 October 2026

DefinitionBIO tagging labels each token with B for the Beginning of an entity, I for Inside an entity, or O for Outside any entity. It turns span annotation into one tag per token, the form most sequence labelling models expect.

Example

CoNLL style, one token and tag per line
Zarghona	B-PERSON
visited	O
Kandahar	B-PLACE
in	O
March	O

Variants

BIOES adds E for the end of an entity and S for a single-token entity. IOB1 uses B only when two entities of the same type are adjacent. The differences matter when you train, so check what your tooling expects.

Limits

BIO is defined over tokens, so the tokenisation you choose affects the labels. Languages without spaces between words, or with attached clitics, need a tokeniser first.

How Azmaval uses it

Campaigns with span questions export BIO tags in CoNLL format. The JSONL export keeps the character offsets, so you can re-tokenise as you like.

Frequently asked questions

What is the difference between BIO and IOB?

People use the names loosely. The common form, also called IOB2, starts every entity with B.

Can entities overlap in BIO?

No. One tag per token cannot represent nested or overlapping entities. Use span offsets for those.