synapti/nci-propaganda-v5
Viewer โข Updated โข 24k โข 6
How to use synapti/nci-technique-classifier-v5.2 with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-classification", model="synapti/nci-technique-classifier-v5.2") # Load model directly
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("synapti/nci-technique-classifier-v5.2")
model = AutoModelForSequenceClassification.from_pretrained("synapti/nci-technique-classifier-v5.2")Multi-label propaganda technique classifier based on ModernBERT, trained to identify 18 propaganda techniques from the SemEval-2020 Task 11 taxonomy.
This model is part of the NCI (Narrative Coordination Index) Protocol for detecting coordinated influence operations. It classifies text into 18 propaganda techniques with well-calibrated probability outputs.
answerdotai/ModernBERT-basesynapti/nci-propaganda-v5 (24,037 samples)| ID | Technique | Description |
|---|---|---|
| 0 | Loaded_Language | Words with strong emotional implications |
| 1 | Appeal_to_fear-prejudice | Building support through fear or prejudice |
| 2 | Exaggeration,Minimisation | Overstating or understating facts |
| 3 | Repetition | Repeating messages for reinforcement |
| 4 | Flag-Waving | Appealing to patriotism/national identity |
| 5 | Name_Calling,Labeling | Using labels to evoke prejudice |
| 6 | Reductio_ad_hitlerum | Comparing to Hitler/Nazis |
| 7 | Black-and-White_Fallacy | Presenting only two choices |
| 8 | Causal_Oversimplification | Assuming single cause for complex issues |
| 9 | Whataboutism,Straw_Men,Red_Herring | Deflection techniques |
| 10 | Straw_Man | Misrepresenting opponent's position |
| 11 | Red_Herring | Introducing irrelevant topics |
| 12 | Doubt | Questioning credibility |
| 13 | Appeal_to_Authority | Using authority figures to support claims |
| 14 | Thought-terminating_Cliches | Phrases that end rational thought |
| 15 | Bandwagon | "Everyone is doing it" appeals |
| 16 | Slogans | Catchy phrases for memorability |
| 17 | Obfuscation,Intentional_Vagueness,Confusion | Deliberately confusing language |
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
model_id = "synapti/nci-technique-classifier-v5.2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)
text = "This is OUTRAGEOUS! They are LYING to you. WAKE UP!"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.sigmoid(outputs.logits)[0]
# Get techniques with probability > 0.5
LABELS = [
"Loaded_Language", "Appeal_to_fear-prejudice", "Exaggeration,Minimisation",
"Repetition", "Flag-Waving", "Name_Calling,Labeling", "Reductio_ad_hitlerum",
"Black-and-White_Fallacy", "Causal_Oversimplification",
"Whataboutism,Straw_Men,Red_Herring", "Straw_Man", "Red_Herring", "Doubt",
"Appeal_to_Authority", "Thought-terminating_Cliches", "Bandwagon", "Slogans",
"Obfuscation,Intentional_Vagueness,Confusion"
]
for i, (label, prob) in enumerate(zip(LABELS, probs)):
if prob > 0.5:
print(f"{label}: {prob:.1%}")
| Test Case | v5.2 | v4 | Status |
|---|---|---|---|
| Pure Propaganda | 66.8% | 70.8% | โ Detected |
| Neutral News | 6.9% | 5.5% | โ Clean |
| SpaceX Factual | 3.7% | - | โ Clean |
| Multi-Label Propaganda | 76.5% | - | โ Detected |
| Mixed Content | 7.3% | - | - |
| Fear Appeal | 69.9% | - | โ Detected |
| Scientific Report | 8.8% | 35.4% | โ Clean |
@inproceedings{da-san-martino-etal-2020-semeval,
title = "{S}em{E}val-2020 Task 11: Detection of Propaganda Techniques in News Articles",
author = "Da San Martino, Giovanni and others",
booktitle = "Proceedings of the 14th International Workshop on Semantic Evaluation",
year = "2020",
}
Apache 2.0
Base model
answerdotai/ModernBERT-base