BIO tagging
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
Zarghona B-PERSON
visited O
Kandahar B-PLACE
in O
March OVariants
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.