The problem
An idiom is non-compositional: its meaning cannot be derived from its parts. That single property defeats word-indexed lookup and literal translation alike, and it makes idioms a persistent failure case for both language learners and NLP systems.
It is also occurrence-dependent. Spilled the beans is idiomatic in one sentence and literal in the next, so a resource that labels phrases rather than usages cannot tell you which one you are reading. Detection has to happen per occurrence, in context, with the extent of the idiom marked — otherwise a downstream tool has nothing to highlight.
The dataset
- Languages
- 7
- Idioms
- 14,505
- Senses
- 34,184
- Examples
- 112,317
Each record carries the idiom, a sense number, one or more definitions, register and region tags, and usage examples. Every example is labelled idiomatic or literal and carries the character-level start and end offsets of the idiom within the sentence.
Roughly a fifth of the annotated senses are labelled literal. They are published deliberately: a model that only ever sees idiomatic usage cannot learn to tell the two apart, and the literal cases are what make the idiomaticity label meaningful rather than a constant.
How it was built
MultiIdiom was constructed with a six-stage LLM-assisted pipeline, seeded from Wiktionary idiom entries and validated against human judgements on a sample of each language.
Stage-by-stage description to be added from the paper draft.
Splits
English, Spanish, Hindi and Telugu are split 80/10/10 at the idiom-type level, so no idiom appears in more than one split. Indonesian, French and German are held out entirely as zero-shot test languages.
Annotator agreement
Idiomaticity labels were checked against independent human judgements for two languages.
- English91.86%203 of 221
- Telugu88.24%90 of 102
Models
Three models, three different relationships to MultiIdiom and to what’s actually running. Not all of them are the same checkpoint they might look like at a glance.
- Task
- Joint idiomaticity classification + span start/end localization
- Base
google-bert/bert-base-multilingual-cased- Trained on
- MultiIdiom — EN, ES, HI, TE
One forward pass yields a literal/idiomatic label and the span indices. Task heads ship separately in task_heads.pt — see the model card for the exact loading procedure. Powers the extractor’s "Literal vs. idiomatic" method — the only one that judges sentences with no idiom at all, not just the ones with one.
Earlier prototype — BIO token classifierDefault in the live extractor
- Task
- BIO sequence labelling (O / B-IDIOM / I-IDIOM)
- Base
google-bert/bert-base-multilingual-cased- Trained on
- ID10M (Tedeschi et al., 2022)
A LoRA adapter over mBERT, fine-tuned on the public ID10M dataset — predates MultiIdiom and is not the model the research below evaluates. It is the default "Model" method in the extractor today because it is the only full BIO checkpoint that still exists as deployable weights. Structurally has no literal/idiomatic decision: it flags a span or it doesn’t.
System G — BIO token classifierNot currently deployed
- Task
- BIO sequence labelling (O / B-IDIOM / I-IDIOM)
- Base
google-bert/bert-base-multilingual-cased- Trained on
- MultiIdiom — EN, ES, HI, TE
Full fine-tune (not LoRA), trained and evaluated on MultiIdiom — this is the checkpoint the accuracy figures on this site and in the paper refer to. Not currently deployed: the trained weights exist only as saved predictions, not as a loadable checkpoint, so it cannot serve the live extractor until retrained or recovered.