Semantic Entropy
Learn how semantic entropy measures uncertainty in an LLM’s meaning, distinguishes conflicting answers, and supports safer AI evaluation and hallucination detection.
Semantic entropy measures how uncertain a generative AI model is about the meaning of its answer. Instead of treating every wording variation as a different outcome, it groups semantically equivalent responses and measures how widely probability is distributed across the resulting meanings. If repeated answers express one consistent idea, semantic entropy is low. If they support several conflicting ideas, it is high, indicating that the model may not know which answer is correct.
This measure is especially relevant to a large language model (LLM) or other system that produces free-form language, where the same meaning can be expressed through many different sequences of words.
How Semantic Entropy Works#
Entropy is a general measure of uncertainty in a probability distribution: it is low when probability concentrates on one outcome and high when several outcomes remain plausible. The NIST definition of entropy provides the underlying information-theoretic concept. (csrc.nist.gov)
A semantic entropy workflow typically follows four steps:
- Generate several responses to the same input using sampling.
- Group responses that communicate the same meaning.
- Estimate each meaning’s probability from its frequency or generation probability.
- Calculate entropy across those semantic groups.
For example, “Paris,” “The answer is Paris,” and “France’s capital is Paris” belong to one meaning group. “Lyon” belongs to another. Lexical entropy might exaggerate uncertainty by treating all four strings as different, while semantic entropy recognizes that the first three agree.
The grouping stage may use human judgment, textual entailment, or numerical embeddings combined with a similarity measure such as scikit-learn cosine similarity.
from collections import Counter
from scipy.stats import entropy
# Equivalent answers have already been assigned the same meaning label.
meaning_labels = [
"Paris",
"Paris",
"Paris",
"Lyon",
"Unknown",
]
counts = Counter(meaning_labels)
probabilities = [count / len(meaning_labels) for count in counts.values()]
score = entropy(probabilities, base=2)
print(f"Semantic entropy: {score:.3f} bits")This simplified example uses the documented SciPy entropy function. In a production system, semantic grouping must be validated carefully because incorrect grouping can distort the final score.
Related Concepts and Key Differences#
Semantic entropy belongs to the broader field of uncertainty quantification, but it addresses uncertainty over meanings rather than only labels, tokens, or numerical predictions.
- Token entropy measures uncertainty over the next token or complete token sequence. It may assign high uncertainty to harmless phrasing differences.
- Self-consistency checks whether repeated generations produce compatible answers. Semantic entropy extends this idea by representing the relative distribution of different meanings.
- Confidence is usually a score attached to one prediction. Semantic entropy instead compares multiple possible generations. Neither should automatically be interpreted as a calibrated probability; calibration must be evaluated against observed outcomes. (scikit-learn.org)
- Hallucination in LLMs is an error in which generated content is false, unsupported, or misleading. Semantic entropy is a warning signal, not the error itself. High entropy may reveal conflicting answers, while low entropy does not prove correctness because a model can consistently repeat the same false claim. Hallucinations can therefore remain confident and internally consistent. (openai.com)
- Semantic segmentation assigns a class to each image pixel. Despite sharing the word “semantic,” it is a computer vision task and is unrelated to entropy over generated meanings.
Real-World Applications#
Question-answering assistants: A customer-support assistant can sample several answers before responding. If the outputs disagree about whether a warranty covers accidental damage, high semantic entropy can trigger document retrieval, clarification, or human review. Combined with retrieval-augmented generation (RAG), this reduces the chance that an unsupported policy claim reaches the customer.
Vision-language decision support: A vision-language model (VLM) might describe an industrial image as showing “surface corrosion,” “oil residue,” or “normal discoloration” across repeated generations. High semantic entropy indicates meaningful disagreement that could lead to an incorrect maintenance decision. The system can route the image to an inspector rather than treating one fluent description as definitive.
Practical Use and Limitations#
Semantic entropy should be treated as one component of a risk-based evaluation pipeline. Teams should test whether higher scores actually correspond to more errors in their domain, select thresholds according to the consequences of mistakes, and retain an abstention or human-review path. The NIST AI Risk Management Framework Core emphasizes measuring uncertainty and connecting evaluation results to ongoing risk monitoring. (airc.nist.gov)
It is most appropriate for open-ended generated outputs. Structured computer vision predictions require different evaluation methods: Ultralytics validation mode measures performance against labeled data, while semantic entropy can assess any free-text explanation added by a multimodal component.
Production teams should also track score distributions, failure categories, latency, and changes in input data. Google’s guidance on monitoring production ML systems recommends logging and alerting for prediction drift and quality degradation. Ultralytics Platform deployment monitoring can support the broader annotation, training, deployment, and monitoring workflow surrounding vision models. Semantic entropy can identify uncertain cases within that workflow, but factual verification and representative testing remain essential.






