Stance detection is the task of automatically determining the position expressed in a text toward a specific target, which may be a controversial topic (e.g., climate change), a political figure, a policy proposal, or a factual claim. Unlike sentiment analysis, which measures the overall affective tone of text, stance detection is inherently relational: the same text may express different stances toward different targets. A tweet saying "The new healthcare bill will hurt millions" expresses negative sentiment, but this alone does not determine whether the author opposes the bill or is criticising its opponents. Stance detection resolves this ambiguity by explicitly conditioning on the target.
Task Formulation and Datasets
Predict: stance s ∈ {FAVOR, AGAINST, NEITHER}
Zero-shot variant: target t not seen during training
Cross-target transfer: train on target A, predict for target B
Multi-target: detect stance toward multiple targets simultaneously
The SemEval-2016 Task 6 on stance detection (Mohammad et al., 2016) established the standard formulation and provided a benchmark dataset of tweets annotated for stance toward five targets: atheism, climate change, feminist movement, Hillary Clinton, and legalisation of abortion. The task introduced a zero-shot subtask where models trained on the first five targets were evaluated on a sixth unseen target (Donald Trump), requiring generalisation beyond target-specific training data. This cross-target generalisation remains a central challenge: models that learn target-specific lexical cues (e.g., "denier" for climate change) fail when the target changes.
Modelling Approaches
Early approaches to stance detection used feature-based classifiers with bag-of-words, sentiment lexicon features, and target-specific keyword lists. Neural approaches improved performance through attention mechanisms that model the interaction between the text and the target. Bidirectional encoding of the text conditioned on the target representation allows the model to focus on target-relevant portions of the text. Pretrained language models further advance the state of the art by encoding the text-target pair as a natural language inference (NLI) problem, treating the target as a hypothesis and the text as a premise, and classifying the relationship as entailment (FAVOR), contradiction (AGAINST), or neutral (NEITHER).
Stance detection is a core component of automated fact-checking systems. The Fake News Challenge (FNC-1) framed fact-checking as a stance detection problem: given a news headline and a body text, classify the body's stance toward the headline as agree, disagree, discuss, or unrelated. This formulation decomposes the complex problem of veracity assessment into a tractable NLP task. By identifying whether evidence documents support or refute a claim, stance detection systems can assist human fact-checkers in prioritising claims and gathering relevant evidence.
Stance detection intersects with related tasks including argumentation mining, rumour verification, and political ideology detection. In argumentation mining, stance toward a claim is determined by analysing the argumentative structure of the text. In rumour verification, stance detection applied to social media replies (support, deny, query, comment) aggregates community evidence about the veracity of a rumour. Cross-lingual stance detection extends the task to multilingual settings, where models trained on English data are applied to texts in other languages using multilingual pretrained models or translation-based approaches.