AI data labelling

The text annotator labels text for training and checking language models. Mark spans - nested or overlapping where they need to be - join them with relations drawn as arcs, put each document in a class and answer its questions, all against your own label schema, with the guidelines and every label's description and examples beside the text. Your own model's pre-labels come in as suggestions with a confidence: accept or reject them one at a time, or every one at or above a threshold at once.

It works from the keyboard alone, reads Arabic and Hebrew right to left, and splits Chinese and Japanese character by character. It opens and writes JSONL as doccano writes it, CoNLL with IOB2 or BIOES tags, BRAT standoff, spaCy JSON and its own project file. When several people label the same documents, it keeps each person's labels, measures how far they agree (Cohen's and Fleiss' kappa, span F1), lists every disagreement with who chose what, and lets a reviewer build the agreed copy and approve it.

Try it with your own JSONL, CoNLL, BRAT or spaCy files in confidence: they are opened by your browser, on your device. Nothing is uploaded, no copy reaches us or anyone else, and nothing is kept once you close this tab.

Labelling reviews, with your model's suggestions

Five made-up guest reviews of invented hotels - one in Arabic, one in Japanese - with an invented schema: five labels, three relations, a class and a question for each review. The dashed labels with a percentage are the suggestions of an imaginary model. Accept the confident ones, label a phrase yourself, then see what is still missing before you export.

Accept every suggestion at 80% or more Label a phrase from code Next review Show the problems As CoNLL (BIOES) As spaCy JSON As JSONL (doccano)
Keyboard: click into the text, then ← and → move by word and Shift widens the selection; H, F, G, N and L label it Hotel, Feature, Hotel group, Person or Place. Tab moves between spans, R starts a relation, A accepts and X rejects the selected suggestion (Shift+A every one at the threshold or above), and [ and ] change review.

Three annotators, one agreed copy

Three invented support tickets for made-up smart-home products, each labelled by three invented annotators - Maren, Dev and Sofia - who did not quite agree. You are the reviewer: measure how far they agree, take the majority wherever there is one, look at any one person's labels, and approve the ticket. The Review tab lists every place they differ, with who chose what.

Measure the agreement Take every majority Show Maren's labels Approve the ticket Next ticket The agreement as CSV
Keyboard: V shows the next annotator's labels, then the agreed copy again; Ctrl+Enter approves the ticket and opens the next; [ and ] change ticket.