Why raw agreement is not enough
If two annotators label documents as human-written or machine-written and 90 percent of the set is human-written, they will agree on most cases even if one of them is guessing. Chance-corrected statistics remove that effect. Cohen's kappa compares observed agreement between two annotators with the agreement expected from their label frequencies alone; Krippendorff's alpha generalises the idea to more annotators, missing labels and ordered scales. Artstein and Poesio's survey for computational linguistics explains when each fits and warns against reading fixed thresholds too literally.
A labelling process that produces trustworthy data
- Write guidelines with a definition of each label, five or more worked examples per label, and explicit rules for the hard cases you already know about.
- Train annotators on a pilot batch and discuss disagreements before the real work begins.
- Double-label an overlapping sample, at least 10 to 20 percent of the set and never fewer than 200 cases, with annotators working independently.
- Compute kappa or alpha on the overlap, per label and per slice, not just overall.
- Where agreement is low, read the disputed cases, revise the guidelines and relabel; low agreement is usually a specification problem.
- Adjudicate remaining disagreements with a third person and record the reason, so the rule can be added to the guidelines.
This is the same loop testers know from reviewing requirements: ambiguity found early in the specification is cheaper than ambiguity found after the product ships, as the guide to sampling-based inspection shows for documents. For evaluation sets the specification is the annotation guideline.
How much agreement is enough
| Situation | What to aim for | What to do if you cannot reach it |
|---|---|---|
| Clear-cut labels (known machine output against verified human writing) | Kappa above 0.8 | Check for labelling errors and unclear source records |
| Judgement labels (quality, helpfulness, tone) | Alpha above about 0.67 for tentative conclusions | Narrow the scale, add examples, report the figure prominently |
| Contested labels (is this passage partly machine-written?) | Report agreement whatever it is | Treat the label as uncertain and exclude it from pass criteria |
Never publish an accuracy figure for an AI system without the agreement figure for the labels it was scored against. If humans agree 80 percent of the time, a model at 95 percent agreement with one annotator is not super-human; it has learned that annotator.
Worked example: kappa on a 400-case overlap
Two annotators labelled the same 400 documents as human-written or machine-written before and after the guidelines were revised. The counts are invented but realistic, and they are the counts behind the figure at the top of this guide.
| Cell of the 400-case overlap | Before revision | After revision |
|---|---|---|
| Both say human-written | 264 | 292 |
| Both say machine-written | 72 | 80 |
| A says human, B says machine | 38 | 16 |
| A says machine, B says human | 26 | 12 |
| Raw agreement | 0.84 | 0.93 |
| Cohen's kappa | 0.58 | 0.81 |
The arithmetic for the first round: observed agreement is (264 + 72) / 400, or 0.84. Annotator A called 302 documents human and 98 machine; annotator B called 290 human and 110 machine. Expected agreement by chance is (302 x 290 + 98 x 110) / 400 squared, which is 0.615. Kappa is (0.84 minus 0.615) / (1 minus 0.615), or 0.58. Reading the 64 disputed cases showed that most were essays with a machine-generated outline and human prose, which the guidelines had not addressed. A new rule (label by the majority of the prose, record the outline separately) removed most of the disagreement in the second round, where observed agreement rose to 0.93, expected agreement by chance was 0.64, and kappa reached 0.81. The improvement is entirely in the disputed cells: 64 disagreements fell to 28, and the remaining ones were adjudicated with a written reason each.
Before the main overlap, label 50 cases together and 50 apart. If kappa on the 50 apart is under 0.6, revise the guidelines before spending annotator time on the full set.
Common mistakes when measuring agreement
- Letting annotators confer during the overlap, which measures how well they negotiate rather than how clear the guidelines are.
- Reporting one overall figure. Agreement on the majority label is usually high; the figure that matters is agreement on the minority label and on the hardest slice.
- Treating 0.8 as a universal bar. The survey by Artstein and Poesio warns that the right threshold depends on the task and on what the labels will decide.
- Fixing low agreement by replacing an annotator. If two careful people disagree, the guideline is the problem, and a third careful person will disagree in the same places.
- Double labelling a convenience sample. The overlap must be drawn at random from the whole set, or the agreement figure describes the easy cases and flatters every accuracy number built on it.
- Reporting agreement once and reusing the labels for years. Guidelines and annotators drift; remeasure whenever the set is extended or a new annotator joins, on a fresh random overlap.
How to report agreement
Report the number of double-labelled cases, the statistic and its value, per label and per slice, next to the accuracy figure they underpin, together with the guideline version and the adjudication rule. Keep the disputed cases and the reason each was resolved, since those decisions are the specification of the label. A usable line reads: kappa 0.81 on 400 double-labelled cases drawn at random from 2,400; 0.86 for the human label, 0.74 for the machine label; guideline v2; 28 cases adjudicated by a third annotator. Anyone reading an accuracy claim built on those labels can then see how much the labels can carry. Where labels feed a benchmark or fairness result that may later be cited against a writer, the label record is part of the evidence, and the guide to evidence-grade test records describes how to keep it so that the labels, the guidelines and the agreement figures stay attached to the numbers they support.
Labels for detector evaluation
For AI text detectors the ideal label is provenance, not judgement: a document is machine-written because it was generated in a recorded session, and human-written because it was written under conditions that exclude assistance. Where provenance is available, use it and keep human judgement out of the label. Where it is not, for example for historical documents, double label, measure agreement and record the uncertainty in the datasheet for the evaluation set. Agreement also matters when a model is used as a grader, as the guides to metamorphic testing and prompt regression testing discuss: the grader must agree with people before its scores mean anything.
Common questions
What is inter-rater agreement?
A measure of how consistently different people assign the same labels to the same cases. Chance-corrected versions such as Cohen's kappa and Krippendorff's alpha discount agreement that would happen by luck.
What is a good kappa value?
For clear-cut labels, above 0.8 is commonly treated as strong. Judgement tasks often score lower, and the right bar depends on how the labels will be used.
How many cases should be double labelled?
At least 10 to 20 percent of the set and not fewer than 200 cases, so that agreement can be estimated per label and per slice.
What should I do when annotators disagree a lot?
Read the disputed cases, fix the guidelines and relabel. Low agreement usually means the labels are underspecified, not that the annotators are careless.
Can a language model replace human annotators?
Only after its labels have been shown to agree with human labels on a representative sample at an acceptable level, and that check must be repeated when the model or task changes.
What is the difference between Cohen's kappa and Krippendorff's alpha?
Kappa handles two annotators and nominal labels. Alpha generalises to any number of annotators, missing labels and ordered or interval scales, and is the better default when more than two people label or when some cases have only one label.
Sources
- Artstein and Poesio, Inter-Coder Agreement for Computational Linguistics, Computational Linguistics (2008)
- Gebru et al., Datasheets for Datasets
Further reading named in the text
- Jacob Cohen, A Coefficient of Agreement for Nominal Scales (Educational and Psychological Measurement 20(1), 1960)
- Klaus Krippendorff, Content Analysis: An Introduction to Its Methodology (Sage, 4th edition 2018)
This guide is part of the testing AI systems hub. It is best read alongside metamorphic testing for language models and evaluation test set design for ai models, which cover the neighbouring questions.