Why BLEU and ROUGE fail for LLMs: from word-overlap to LLM-as-judge
The instinct to score generated text by how much it overlaps a reference answer comes from machine translation — and it breaks the moment an output can be right in many wordings. Here's the ladder from n-gram overlap to embedding metrics to LLM judges, and how to pick a rung.
When you first try to measure an LLM's text output, the obvious move is to compare it against a reference answer and score the overlap. That instinct is inherited from machine translation and summarisation, where it worked well for years — and it falls apart the instant outputs can be correct in many different wordings. Understanding why is the difference between an eval suite that tracks quality and one that punishes the model for using a synonym. This is the metric backdrop to the eval-discipline post.
The word-overlap era: BLEU and ROUGE
BLEU (from machine translation) scores the n-gram precision of your output against a reference, with a brevity penalty so you can't game it by being terse. ROUGE (from summarisation) is its recall-oriented mirror — how much of the reference's n-grams, or its longest common subsequence, your output recovers. Both are cheap, deterministic, and perfectly reproducible, which is why they dominated for two decades.
Their fatal flaw for LLMs is that they score surface form, not meaning. 'The film was excellent' and 'I loved the movie' mean the same thing and share almost no words — BLEU and ROUGE rate them as unrelated. For open-ended generation, where there is no single canonical phrasing of a good answer, a metric that rewards matching the reference's exact words is measuring the wrong thing.
The embedding era: BERTScore, BLEURT, entailment
The next rung fixed the synonym problem by comparing meaning in vector space instead of counting words. BERTScore matches output and reference tokens by the cosine similarity of their contextual embeddings — so 'loved' and 'excellent' register as close — and reports a precision/recall/F1 over that alignment (the same embedding idea as the encoders-and-vector-embeddings post, pointed at scoring). BLEURT goes further: it's a learned metric, a BERT model fine-tuned on human quality ratings, so it predicts what a person would score rather than what overlaps. And NLI-based entailment scoring asks a different question entirely — does the output logically follow from (or contradict) the reference or source? That last idea is the direct ancestor of today's faithfulness and groundedness checks in the grounding-citations-abstention post.
These capture semantics that word-overlap misses, but they still need a reference to compare against, and they don't reason about task-specific quality — whether an answer is actually helpful, complete, or appropriately hedged.
The LLM-as-judge era
The current default for open-ended quality is to hand the output — optionally with a reference and an explicit rubric — to a strong model and ask it to score. It correlates well with human judgment (studies on pairwise judging report agreement above 80%, roughly the level humans agree with each other), and for many criteria it needs no reference answer at all, which is what makes it usable where BLEU and BERTScore can't go.
The catch is that a judge is a biased instrument — position bias, verbosity bias, self-preference, and run-to-run stochasticity — which the eval-discipline post covers in full. Use it, but treat its score as a signal to calibrate against human ratings, not as ground truth.
RAG is where reference-free judging earns its keep
For RAG you often can't write a golden answer at all, so evaluation leans on decomposed, mostly LLM-judged metrics: faithfulness (is every claim in the answer grounded in the retrieved context?), answer relevancy, and context precision/recall for the retrieval step. Scoring claim-by-claim rather than rating a whole paragraph reduces the judge's noise — and it's why RAG evals separate retrieval quality from generation quality, as the evaluating-retrieval-vs-generation post argues.
How to actually choose
It's a ladder, not a leaderboard — no single metric wins. Where a canonical answer exists (classification, extraction, closed-book QA), use cheap exact-match or overlap: it's free, stable, and unbiased, so don't pay for a judge you don't need. Where you have a reference but the wording legitimately varies, reach for an embedding or entailment metric. And where the output is genuinely open-ended with no reference, use an LLM judge — and accept both its cost and its biases. Most real eval suites mix all three, one per product surface, which is exactly the golden-dataset discipline from the testing-the-untestable and metrics-for-genai posts.
BLEU asked 'do these words match?'. LLMs forced a better question: 'does this mean the same thing, and is it any good?' — which no word-counter can answer, and no single metric fully can either.