Text Generation
Transformers
Safetensors
Arabic
English
qwen2
propaganda-detection
persuasion-techniques
span-identification
explainability
lora
conversational
text-generation-inference
Instructions to use QCRI/ProBel-MTL with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use QCRI/ProBel-MTL with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="QCRI/ProBel-MTL") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("QCRI/ProBel-MTL") model = AutoModelForCausalLM.from_pretrained("QCRI/ProBel-MTL", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use QCRI/ProBel-MTL with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "QCRI/ProBel-MTL" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "QCRI/ProBel-MTL", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/QCRI/ProBel-MTL
- SGLang
How to use QCRI/ProBel-MTL with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "QCRI/ProBel-MTL" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "QCRI/ProBel-MTL", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "QCRI/ProBel-MTL" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "QCRI/ProBel-MTL", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use QCRI/ProBel-MTL with Docker Model Runner:
docker model run hf.co/QCRI/ProBel-MTL
prompt templates for all ten language-task pairs; card with verified examples
Browse files- README.md +64 -63
- prompts/templates.json +46 -0
README.md
CHANGED
|
@@ -27,13 +27,13 @@ extraction in two output formats.
|
|
| 27 |
Trained with LoRA (r=16, alpha=32) on the Arabic and English training splits of
|
| 28 |
[QCRI/ProBel](https://huggingface.co/datasets/QCRI/ProBel) across all five task
|
| 29 |
formats jointly; the checkpoint was selected on validation loss and merged into
|
| 30 |
-
the base model, so it loads as a regular causal LM. The LoRA adapter alone is
|
| 31 |
-
`lora_adapter/`.
|
| 32 |
|
| 33 |
Companion resources: [dataset](https://huggingface.co/datasets/QCRI/ProBel) ·
|
| 34 |
[code](https://github.com/MohamedBayan/ProBel) · paper: *ProBel: Propaganda
|
| 35 |
-
Detection with Techniques, Spans, and Explanations* (
|
| 36 |
-
|
| 37 |
|
| 38 |
## Test scores
|
| 39 |
|
|
@@ -46,80 +46,81 @@ Binary is macro-F1; coarse/technique are micro-F1; spans use the
|
|
| 46 |
overlap-adjusted micro-F1 of Da San Martino et al. (2020). These match the
|
| 47 |
paper's Mt-SFT rows and were produced with greedy decoding.
|
| 48 |
|
| 49 |
-
##
|
| 50 |
|
| 51 |
-
|
| 52 |
-
|
|
|
|
|
|
|
|
|
|
| 53 |
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
"specialized in English text. You analyze texts to determine whether "
|
| 61 |
-
"they contain propaganda techniques and provide clear, evidence-based "
|
| 62 |
-
"explanations for your assessments.")
|
| 63 |
-
user = open("binary_prompt_en.txt").read().replace(
|
| 64 |
-
"{TEXT}", "Even sadder, however, is the fact that these smear campaigns "
|
| 65 |
-
"work most of the time.")
|
| 66 |
-
|
| 67 |
-
ids = tok.apply_chat_template(
|
| 68 |
-
[{"role": "system", "content": system}, {"role": "user", "content": user}],
|
| 69 |
-
add_generation_prompt=True, return_tensors="pt").to(model.device)
|
| 70 |
-
out = model.generate(ids, max_new_tokens=512, do_sample=False)
|
| 71 |
-
print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True))
|
| 72 |
-
# Label: false
|
| 73 |
-
# Explanation: ...
|
| 74 |
-
```
|
| 75 |
-
|
| 76 |
-
The model also serves directly with vLLM (`vllm serve QCRI/ProBel-MTL`).
|
| 77 |
|
| 78 |
-
|
|
|
|
| 79 |
|
| 80 |
-
|
| 81 |
-
for all five tasks and both languages ship with the
|
| 82 |
-
[dataset conversion scripts](https://github.com/MohamedBayan/ProBel)
|
| 83 |
-
(`src/ms_swift/prepare_data.py`); the binary English prompt looks like this
|
| 84 |
-
(`{TEXT}` is the input sentence):
|
| 85 |
|
|
|
|
|
|
|
| 86 |
```
|
| 87 |
-
Analyze the following text and determine whether it contains propaganda techniques.
|
| 88 |
|
| 89 |
-
|
| 90 |
-
- Loaded_Language: emotionally charged words to influence perception
|
| 91 |
-
- Name_Calling-Labeling: attaching negative labels to dismiss someone
|
| 92 |
-
[...technique glossary...]
|
| 93 |
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
|
|
|
| 97 |
|
| 98 |
-
|
|
|
|
|
|
|
|
|
|
| 99 |
|
| 100 |
-
|
| 101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
|
| 103 |
-
|
| 104 |
-
- Use "true" if the text contains ANY propaganda technique, "false" otherwise.
|
| 105 |
-
- The Label MUST be exactly "true" or "false" (lowercase).
|
| 106 |
-
- The Explanation should identify which specific techniques are used (if any) and why.
|
| 107 |
-
- Analyze the text objectively, considering the language, framing, and intent.
|
| 108 |
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
```
|
| 111 |
|
| 112 |
-
|
| 113 |
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
| coarse / technique | `Labels: <comma-separated or none>` + `Explanation: ...` |
|
| 118 |
-
| span-tag | the input sentence with inline `<span type="Technique">...</span>` tags |
|
| 119 |
-
| span-occ | a JSON list of `{"text", "label", "occurrence"}` objects |
|
| 120 |
|
| 121 |
-
|
| 122 |
-
|
|
|
|
| 123 |
|
| 124 |
## Intended use and limitations
|
| 125 |
|
|
@@ -138,6 +139,6 @@ in moderation or policy settings.
|
|
| 138 |
Sartori, Elisa and Shahroor, Ali Ezzat and Da San Martino, Giovanni
|
| 139 |
and Alam, Firoj},
|
| 140 |
year = {2026},
|
| 141 |
-
note = {
|
| 142 |
}
|
| 143 |
```
|
|
|
|
| 27 |
Trained with LoRA (r=16, alpha=32) on the Arabic and English training splits of
|
| 28 |
[QCRI/ProBel](https://huggingface.co/datasets/QCRI/ProBel) across all five task
|
| 29 |
formats jointly; the checkpoint was selected on validation loss and merged into
|
| 30 |
+
the base model, so it loads as a regular causal LM. The LoRA adapter alone is
|
| 31 |
+
in `lora_adapter/`.
|
| 32 |
|
| 33 |
Companion resources: [dataset](https://huggingface.co/datasets/QCRI/ProBel) ·
|
| 34 |
[code](https://github.com/MohamedBayan/ProBel) · paper: *ProBel: Propaganda
|
| 35 |
+
Detection with Techniques, Spans, and Explanations* (arXiv preprint; the link
|
| 36 |
+
will be added here once the listing is live).
|
| 37 |
|
| 38 |
## Test scores
|
| 39 |
|
|
|
|
| 46 |
overlap-adjusted micro-F1 of Da San Martino et al. (2020). These match the
|
| 47 |
paper's Mt-SFT rows and were produced with greedy decoding.
|
| 48 |
|
| 49 |
+
## Prompt templates
|
| 50 |
|
| 51 |
+
The model expects the exact task prompts it was trained on.
|
| 52 |
+
[`prompts/templates.json`](prompts/templates.json) ships all ten of them —
|
| 53 |
+
`{arabic, english} x {binary, coarse, multilabel, span_tag, span_match_occ}` —
|
| 54 |
+
each a `{"system": ..., "user": ...}` pair where the user message contains a
|
| 55 |
+
`{TEXT}` placeholder for the input sentence.
|
| 56 |
|
| 57 |
+
| Task | Model output |
|
| 58 |
+
|---|---|
|
| 59 |
+
| `binary` | `Label: true` or `Label: false`, then `Explanation: ...` |
|
| 60 |
+
| `coarse` / `multilabel` | `Labels: <names or none>`, then `Explanation: ...` |
|
| 61 |
+
| `span_tag` | the input sentence with inline `<span type="Technique">...</span>` tags |
|
| 62 |
+
| `span_match_occ` | a JSON list of `{"text", "label", "occurrence"}` objects |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
|
| 64 |
+
Arabic templates carry the same task instructions with an Arabic-specialized
|
| 65 |
+
system prompt; the model answers Arabic inputs in Arabic.
|
| 66 |
|
| 67 |
+
## Usage
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
|
| 69 |
+
```bash
|
| 70 |
+
pip install "transformers>=4.51" accelerate
|
| 71 |
```
|
|
|
|
| 72 |
|
| 73 |
+
Binary detection with an explanation:
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
+
```python
|
| 76 |
+
import json
|
| 77 |
+
from huggingface_hub import hf_hub_download
|
| 78 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 79 |
|
| 80 |
+
templates = json.load(open(hf_hub_download("QCRI/ProBel-MTL", "prompts/templates.json")))
|
| 81 |
+
model = AutoModelForCausalLM.from_pretrained("QCRI/ProBel-MTL",
|
| 82 |
+
dtype="bfloat16", device_map="auto")
|
| 83 |
+
tok = AutoTokenizer.from_pretrained("QCRI/ProBel-MTL")
|
| 84 |
|
| 85 |
+
def run(task, lang, text, max_new_tokens=512):
|
| 86 |
+
t = templates[lang][task]
|
| 87 |
+
msgs = [{"role": "system", "content": t["system"]},
|
| 88 |
+
{"role": "user", "content": t["user"].replace("{TEXT}", text)}]
|
| 89 |
+
ids = tok.apply_chat_template(msgs, add_generation_prompt=True,
|
| 90 |
+
return_tensors="pt").to(model.device)
|
| 91 |
+
out = model.generate(ids, max_new_tokens=max_new_tokens, do_sample=False)
|
| 92 |
+
return tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True)
|
| 93 |
+
|
| 94 |
+
print(run("binary", "english",
|
| 95 |
+
"The corrupt elites are destroying everything we hold dear."))
|
| 96 |
+
# Label: true
|
| 97 |
+
# Explanation: The paragraph relies on a sweeping, emotive accusation that
|
| 98 |
+
# unnamed "elites" are ruining "everything we hold dear" ...
|
| 99 |
+
```
|
| 100 |
|
| 101 |
+
Technique-labeled span extraction (same helper):
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
|
| 103 |
+
```python
|
| 104 |
+
print(run("span_tag", "english",
|
| 105 |
+
"The corrupt elites are destroying everything we hold dear."))
|
| 106 |
+
# <span type="Appeal_to_Fear-Prejudice">The corrupt elites are destroying
|
| 107 |
+
# everything we hold dear.</span>
|
| 108 |
+
|
| 109 |
+
print(run("multilabel", "arabic",
|
| 110 |
+
"الإعلام الكاذب يواصل نشر أكاذيبه المسمومة لتضليل الشعب."))
|
| 111 |
+
# Labels: Loaded_Language, Questioning_the_Reputation
|
| 112 |
+
# Explanation: يستخدم النص لغة محملة بالعواطف مثل "الكاذب" و"أكاذيبه المسمومة" ...
|
| 113 |
```
|
| 114 |
|
| 115 |
+
The model also serves directly with vLLM:
|
| 116 |
|
| 117 |
+
```bash
|
| 118 |
+
vllm serve QCRI/ProBel-MTL
|
| 119 |
+
```
|
|
|
|
|
|
|
|
|
|
| 120 |
|
| 121 |
+
The parsers that turn the span outputs back into character offsets, and the
|
| 122 |
+
full evaluation pipeline, are in the
|
| 123 |
+
[code repository](https://github.com/MohamedBayan/ProBel).
|
| 124 |
|
| 125 |
## Intended use and limitations
|
| 126 |
|
|
|
|
| 139 |
Sartori, Elisa and Shahroor, Ali Ezzat and Da San Martino, Giovanni
|
| 140 |
and Alam, Firoj},
|
| 141 |
year = {2026},
|
| 142 |
+
note = {arXiv preprint}
|
| 143 |
}
|
| 144 |
```
|
prompts/templates.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"arabic": {
|
| 3 |
+
"binary": {
|
| 4 |
+
"system": "You are an expert in media analysis and propaganda detection, specialized in Arabic text. You analyze texts to determine whether they contain propaganda techniques and provide clear, evidence-based explanations for your assessments.",
|
| 5 |
+
"user": "Analyze the following text and determine whether it contains propaganda techniques.\n\nPropaganda techniques include manipulative language strategies such as:\n- Loaded_Language: emotionally charged words to influence perception\n- Name_Calling-Labeling: attaching negative labels to dismiss someone\n- Exaggeration-Minimisation: inflating or downplaying the significance of facts\n- Appeal_to_Fear-Prejudice: exploiting fears or prejudices\n- Causal_Oversimplification: reducing complex issues to simple cause-and-effect\n- Flag_Waving: exploiting national or patriotic sentiments\n- Questioning_the_Reputation: attacking credibility without evidence\n- Doubt: raising questions without providing solid evidence\n- Appeal_to_Authority: citing authority figures to bolster claims\n- Slogans: using catchy, brief phrases to simplify complex issues\n- And other techniques that aim to manipulate the audience's opinion\n\nRespond EXACTLY in this format (in English):\nLabel: true\nExplanation: <your explanation of why this text is or is not propagandistic>\n\nOR\n\nLabel: false\nExplanation: <your explanation>\n\nNotes:\n- Use \"true\" if the text contains ANY propaganda technique, \"false\" otherwise.\n- The Label MUST be exactly \"true\" or \"false\" (lowercase).\n- The Explanation should identify which specific techniques are used (if any) and why.\n- Analyze the text objectively, considering the language, framing, and intent.\n\nText: \"{TEXT}\""
|
| 6 |
+
},
|
| 7 |
+
"coarse": {
|
| 8 |
+
"system": "You are an expert in media analysis and propaganda detection, specialized in Arabic text. You categorize propaganda techniques into broad categories and provide clear, evidence-based explanations.",
|
| 9 |
+
"user": "Analyze the following text and identify which broad propaganda categories are present.\n\nPropaganda Categories (with descriptions and included techniques):\n\n- Manipulative_Wording: The text uses emotionally charged, exaggerated, or loaded language to influence the reader's perception. This includes: Loaded_Language (emotionally charged words), Exaggeration-Minimisation (inflating/downplaying facts), Obfuscation-Vagueness-Confusion (deliberately vague language).\n\n- Reputation: The text attacks, questions, or manipulates the reputation or credibility of a person, group, or institution. This includes: Name_Calling-Labeling (attaching negative labels), Questioning_the_Reputation (undermining credibility), Guilt_by_Association (linking to negative entities), Doubt (raising unfounded questions).\n\n- Justification: The text uses appeals to authority, emotions, values, or popularity to justify a position without proper evidence. This includes: Appeal_to_Authority (citing experts), Appeal_to_Fear-Prejudice (exploiting fears), Appeal_to_Pity (exploiting sympathy), Appeal_to_Popularity (bandwagon), Appeal_to_Values (exploiting shared values), Flag_Waving (patriotic sentiments).\n\n- Simplification: The text oversimplifies complex issues, causes, or consequences to push a particular narrative. This includes: Causal_Oversimplification (simplifying causes), Consequential_Oversimplification (simplifying outcomes), False_Dilemma-No_Choice (only two options presented).\n\n- Call: The text uses slogans, conversation killers, or urgency to push the audience toward action or shut down critical thinking. This includes: Slogans (catchy brief phrases), Conversation_Killer (shutting down discussion), Appeal_to_Time (false urgency).\n\n- Distraction: The text diverts attention from the main argument using irrelevant topics, counter-accusations, or misrepresentations. This includes: Red_Herring (irrelevant diversions), Whataboutism (counter-accusations), Straw_Man (misrepresenting arguments), Appeal_to_Hypocrisy (tu quoque fallacy), Repetition (repeated messaging).\n\nRespond EXACTLY in this format (in English):\nLabels: Category1, Category2\nExplanation: <your explanation of why each category applies>\n\nIf the text contains NO propaganda:\nLabels: none\nExplanation: <your explanation of why this text is not propagandistic>\n\nNotes:\n- List ALL categories that apply, separated by commas.\n- Use the EXACT category names: Manipulative_Wording, Reputation, Justification, Simplification, Call, Distraction.\n- Multiple categories can apply to the same text.\n- The Explanation should identify which specific techniques within each category are present.\n- Analyze the text objectively, considering the language, framing, and rhetorical strategies used.\n\nText: \"{TEXT}\""
|
| 10 |
+
},
|
| 11 |
+
"multilabel": {
|
| 12 |
+
"system": "You are an expert in media analysis and propaganda detection, specialized in Arabic text. You identify specific propaganda techniques used in texts and provide detailed, evidence-based explanations.",
|
| 13 |
+
"user": "Analyze the following text and identify ALL propaganda techniques present.\n\nPropaganda Techniques (with descriptions):\n- Appeal_to_Authority: Citing an authority figure or expert to bolster a claim, even when the cited authority lacks relevant expertise.\n- Appeal_to_Fear-Prejudice: Exploiting existing fears, anxieties, or prejudices to promote a conclusion rather than using rational arguments.\n- Appeal_to_Hypocrisy: Deflecting criticism by accusing the opponent of the same behavior, rather than addressing the argument.\n- Appeal_to_Pity: Exploiting the audience's sympathy or compassion to gain support, bypassing logical reasoning.\n- Appeal_to_Popularity: Arguing something is true because many people believe it, regardless of evidence.\n- Appeal_to_Time: Creating a false sense of urgency to push the audience toward a decision without careful consideration.\n- Appeal_to_Values: Exploiting deeply held values (religious, cultural, moral) to emotionally sway the audience.\n- Causal_Oversimplification: Reducing a complex issue with multiple causes to a single simplistic cause-and-effect.\n- Consequential_Oversimplification: Oversimplifying the consequences of an action, presenting only one possible outcome.\n- Conversation_Killer: Using cliches or authoritative statements that shut down further discussion or critical thinking.\n- Doubt: Raising questions about credibility without providing solid evidence, creating uncertainty.\n- Exaggeration-Minimisation: Inflating or downplaying the importance of something to distort perception.\n- False_Dilemma-No_Choice: Presenting only two options as if they are the only possibilities.\n- Flag_Waving: Exploiting national, patriotic, or group identity feelings to justify an action.\n- Guilt_by_Association: Discrediting someone by associating them with something negative without logical connection.\n- Loaded_Language: Using emotionally charged words that carry strong connotations beyond their literal meaning.\n- Name_Calling-Labeling: Attaching negative labels to dismiss or discredit without engaging with substance.\n- Obfuscation-Vagueness-Confusion: Using vague or complex language to confuse the audience or obscure the message.\n- Questioning_the_Reputation: Attacking credibility or reputation to undermine arguments or authority.\n- Red_Herring: Introducing an irrelevant topic to divert attention from the main issue.\n- Repetition: Deliberately repeating a message to make it more memorable and persuasive.\n- Slogans: Using brief, catchy phrases to simplify complex issues and rally support.\n- Straw_Man: Misrepresenting someone's argument to make it easier to attack.\n- Whataboutism: Responding to criticism with a counter-accusation about a different issue.\n\nRespond EXACTLY in this format (in English):\nLabels: Technique1, Technique2, Technique3\nExplanation: <your explanation of why each technique applies>\n\nIf the text contains NO propaganda:\nLabels: none\nExplanation: <your explanation of why this text is not propagandistic>\n\nNotes:\n- List ALL techniques that apply, separated by commas.\n- Use the EXACT technique names as listed above (e.g., \"Loaded_Language\", not \"loaded language\").\n- Multiple techniques can apply to the same text.\n- The Explanation should reference specific parts of the text that exemplify each technique.\n- Analyze the text objectively, considering the language, framing, and rhetorical strategies used.\n\nText: \"{TEXT}\""
|
| 14 |
+
},
|
| 15 |
+
"span_tag": {
|
| 16 |
+
"system": "You are a precise propaganda detection model specialized in Arabic text analysis. You identify propaganda techniques at the span level, extracting exact text spans and classifying them.",
|
| 17 |
+
"user": "Identify propaganda techniques in the given Arabic text.\nCopy the ENTIRE input text and surround propaganda spans with XML tags.\n\nTag Format: <span type=\"TECHNIQUE_NAME\">text</span>\n\nTechniques:\n - Loaded_Language: كلمات أو عبارات مشحونة عاطفياً تهدف للتأثير على القارئ\n - Name_Calling-Labeling: إلصاق تسميات أو ألقاب سلبية بالأشخاص أو الكيانات\n - Exaggeration-Minimisation: تضخيم أو تقليل أهمية الحقائق والأحداث\n - Questioning_the_Reputation: التشكيك في سمعة أو مصداقية شخص أو جهة\n - Obfuscation-Vagueness-Confusion: استخدام لغة غامضة أو مبهمة لإرباك القارئ\n - Causal_Oversimplification: تبسيط مفرط للأسباب والعلاقات السببية\n - Doubt: إثارة الشكوك حول شيء ما دون تقديم أدلة\n - Appeal_to_Authority: الاستشهاد بسلطة أو خبير لتعزيز الحجة\n - Flag_Waving: استخدام المشاعر الوطنية أو القومية للتأثير\n - Repetition: التكرار المتعمد لكلمات أو عبارات لترسيخها في الأذهان\n - Slogans: استخدام شعارات جذابة ومختصرة\n - Appeal_to_Fear-Prejudice: استغلال المخاوف أو التحيزات\n - Consequential_Oversimplification: تبسيط مفرط للنتائج والعواقب\n - Appeal_to_Hypocrisy: اتهام الطرف الآخر بالنفاق لتحويل الانتباه\n - False_Dilemma-No_Choice: تقديم خيارين فقط كأنهما الخياران الوحيدان\n - Appeal_to_Time: استخدام ضغط الوقت أو الإلحاح\n - Conversation_Killer: عبارات تهدف لإنهاء النقاش\n - Appeal_to_Values: استغلال القيم المشتركة للتأثير\n - Red_Herring: تحويل الانتباه عن الموضوع الأصلي\n - Appeal_to_Popularity: الاحتكام إلى رأي الأغلبية\n - Appeal_to_Pity: استغلال التعاطف أو الشفقة للتأثير على الرأي\n - Guilt_by_Association: الربط بين شخص وجهة سلبية\n - Straw_Man: تشويه حجة الطرف الآخر لتسهيل مهاجمتها\n - Whataboutism: الرد على انتقاد بانتقاد مضاد بدلاً من الإجابة\n\nNotes:\n- Your output MUST include a copy of the entire input text, including non-tagged parts.\n- If no propaganda is found, copy the input text exactly without any tags.\n- Spans may overlap. For overlapping spans, use separate tags (nesting is allowed).\n- Do not alter the text in any way. Do not output explanations.\n- Start generating output straight away.\n\nText: {TEXT}"
|
| 18 |
+
},
|
| 19 |
+
"span_match_occ": {
|
| 20 |
+
"system": "You are a precise propaganda detection model specialized in Arabic text analysis. You identify propaganda techniques at the span level, extracting exact text spans and classifying them.",
|
| 21 |
+
"user": "Identify propaganda techniques in the given Arabic text.\nFor each technique found, extract the exact text span and classify it.\n\nOutput Format:\n[{\"text\": \"exact span from input\", \"label\": \"TECHNIQUE_NAME\", \"occurrence\": N}]\n\nTechniques:\n - Loaded_Language: كلمات أو عبارات مشحونة عاطفياً تهدف للتأثير على القارئ\n - Name_Calling-Labeling: إلصاق تسميات أو ألقاب سلبية بالأشخاص أو الكيانات\n - Exaggeration-Minimisation: تضخيم أو تقليل أهمية الحقائق والأحداث\n - Questioning_the_Reputation: التشكيك في سمعة أو مصداقية شخص أو جهة\n - Obfuscation-Vagueness-Confusion: استخدام لغة غامضة أو مبهمة لإرباك القارئ\n - Causal_Oversimplification: تبسيط مفرط للأسباب والعلاقات السببية\n - Doubt: إثارة الشكوك حول شيء ما دون تقديم أدلة\n - Appeal_to_Authority: الاستشهاد بسلطة أو خبير لتعزيز الحجة\n - Flag_Waving: استخدام المشاعر الوطنية أو القومية للتأثير\n - Repetition: التكرار المتعمد لكلمات أو عبارات لترسيخها في الأذهان\n - Slogans: استخدام شعارات جذابة ومختصرة\n - Appeal_to_Fear-Prejudice: استغلال المخاوف أو التحيزات\n - Consequential_Oversimplification: تبسيط مفرط للنتائج والعواقب\n - Appeal_to_Hypocrisy: اتهام الطرف الآخر بالنفاق لتحويل الانتباه\n - False_Dilemma-No_Choice: تقديم خيارين فقط كأنهما الخياران الوحيدان\n - Appeal_to_Time: استخدام ضغط الوقت أو الإلحاح\n - Conversation_Killer: عبارات تهدف لإنهاء النقاش\n - Appeal_to_Values: استغلال القيم المشتركة للتأثير\n - Red_Herring: تحويل الانتباه عن الموضوع الأصلي\n - Appeal_to_Popularity: الاحتكام إلى رأي الأغلبية\n - Appeal_to_Pity: استغلال التعاطف أو الشفقة للتأثير على الرأي\n - Guilt_by_Association: الربط بين شخص وجهة سلبية\n - Straw_Man: تشويه حجة الطرف الآخر لتسهيل مهاجمتها\n - Whataboutism: الرد على انتقاد بانتقاد مضاد بدلاً من الإجابة\n\nNotes:\n- Copy spans EXACTLY from the input text, character-for-character.\n- Spans may overlap: the same text region can have multiple techniques.\n- Use \"occurrence\" to distinguish repeated text (1=first, 2=second, etc.).\n- If no propaganda is found, return an empty array: []\n- Return a valid JSON array only. Do not output explanations.\n\nText: {TEXT}\n\nOutput:"
|
| 22 |
+
}
|
| 23 |
+
},
|
| 24 |
+
"english": {
|
| 25 |
+
"binary": {
|
| 26 |
+
"system": "You are an expert in media analysis and propaganda detection, specialized in English text. You analyze texts to determine whether they contain propaganda techniques and provide clear, evidence-based explanations for your assessments.",
|
| 27 |
+
"user": "Analyze the following text and determine whether it contains propaganda techniques.\n\nPropaganda techniques include manipulative language strategies such as:\n- Loaded_Language: emotionally charged words to influence perception\n- Name_Calling-Labeling: attaching negative labels to dismiss someone\n- Exaggeration-Minimisation: inflating or downplaying the significance of facts\n- Appeal_to_Fear-Prejudice: exploiting fears or prejudices\n- Causal_Oversimplification: reducing complex issues to simple cause-and-effect\n- Flag_Waving: exploiting national or patriotic sentiments\n- Questioning_the_Reputation: attacking credibility without evidence\n- Doubt: raising questions without providing solid evidence\n- Appeal_to_Authority: citing authority figures to bolster claims\n- Slogans: using catchy, brief phrases to simplify complex issues\n- And other techniques that aim to manipulate the audience's opinion\n\nRespond EXACTLY in this format (in English):\nLabel: true\nExplanation: <your explanation of why this text is or is not propagandistic>\n\nOR\n\nLabel: false\nExplanation: <your explanation>\n\nNotes:\n- Use \"true\" if the text contains ANY propaganda technique, \"false\" otherwise.\n- The Label MUST be exactly \"true\" or \"false\" (lowercase).\n- The Explanation should identify which specific techniques are used (if any) and why.\n- Analyze the text objectively, considering the language, framing, and intent.\n\nText: \"{TEXT}\""
|
| 28 |
+
},
|
| 29 |
+
"coarse": {
|
| 30 |
+
"system": "You are an expert in media analysis and propaganda detection, specialized in English text. You categorize propaganda techniques into broad categories and provide clear, evidence-based explanations.",
|
| 31 |
+
"user": "Analyze the following text and identify which broad propaganda categories are present.\n\nPropaganda Categories (with descriptions and included techniques):\n\n- Manipulative_Wording: The text uses emotionally charged, exaggerated, or loaded language to influence the reader's perception. This includes: Loaded_Language (emotionally charged words), Exaggeration-Minimisation (inflating/downplaying facts), Obfuscation-Vagueness-Confusion (deliberately vague language).\n\n- Reputation: The text attacks, questions, or manipulates the reputation or credibility of a person, group, or institution. This includes: Name_Calling-Labeling (attaching negative labels), Questioning_the_Reputation (undermining credibility), Guilt_by_Association (linking to negative entities), Doubt (raising unfounded questions).\n\n- Justification: The text uses appeals to authority, emotions, values, or popularity to justify a position without proper evidence. This includes: Appeal_to_Authority (citing experts), Appeal_to_Fear-Prejudice (exploiting fears), Appeal_to_Popularity (bandwagon), Appeal_to_Values (exploiting shared values), Flag_Waving (patriotic sentiments).\n\n- Simplification: The text oversimplifies complex issues, causes, or consequences to push a particular narrative. This includes: Causal_Oversimplification (simplifying causes), Consequential_Oversimplification (simplifying outcomes), False_Dilemma-No_Choice (only two options presented).\n\n- Call: The text uses slogans, conversation killers, or urgency to push the audience toward action or shut down critical thinking. This includes: Slogans (catchy brief phrases), Conversation_Killer (shutting down discussion), Appeal_to_Time (false urgency).\n\n- Distraction: The text diverts attention from the main argument using irrelevant topics, counter-accusations, or misrepresentations. This includes: Red_Herring (irrelevant diversions), Whataboutism (counter-accusations), Straw_Man (misrepresenting arguments), Appeal_to_Hypocrisy (tu quoque fallacy), Repetition (repeated messaging).\n\nRespond EXACTLY in this format (in English):\nLabels: Category1, Category2\nExplanation: <your explanation of why each category applies>\n\nIf the text contains NO propaganda:\nLabels: none\nExplanation: <your explanation of why this text is not propagandistic>\n\nNotes:\n- List ALL categories that apply, separated by commas.\n- Use the EXACT category names: Manipulative_Wording, Reputation, Justification, Simplification, Call, Distraction.\n- Multiple categories can apply to the same text.\n- The Explanation should identify which specific techniques within each category are present.\n- Analyze the text objectively, considering the language, framing, and rhetorical strategies used.\n\nText: \"{TEXT}\""
|
| 32 |
+
},
|
| 33 |
+
"multilabel": {
|
| 34 |
+
"system": "You are an expert in media analysis and propaganda detection, specialized in English text. You identify specific propaganda techniques used in texts and provide detailed, evidence-based explanations.",
|
| 35 |
+
"user": "Analyze the following text and identify ALL propaganda techniques present.\n\nPropaganda Techniques (with descriptions):\n- Appeal_to_Authority: Citing an authority figure or expert to bolster a claim, even when the cited authority lacks relevant expertise.\n- Appeal_to_Fear-Prejudice: Exploiting existing fears, anxieties, or prejudices to promote a conclusion rather than using rational arguments.\n- Appeal_to_Hypocrisy: Deflecting criticism by accusing the opponent of the same behavior, rather than addressing the argument.\n- Appeal_to_Popularity: Arguing something is true because many people believe it, regardless of evidence.\n- Appeal_to_Time: Creating a false sense of urgency to push the audience toward a decision without careful consideration.\n- Appeal_to_Values: Exploiting deeply held values (religious, cultural, moral) to emotionally sway the audience.\n- Causal_Oversimplification: Reducing a complex issue with multiple causes to a single simplistic cause-and-effect.\n- Consequential_Oversimplification: Oversimplifying the consequences of an action, presenting only one possible outcome.\n- Conversation_Killer: Using cliches or authoritative statements that shut down further discussion or critical thinking.\n- Doubt: Raising questions about credibility without providing solid evidence, creating uncertainty.\n- Exaggeration-Minimisation: Inflating or downplaying the importance of something to distort perception.\n- False_Dilemma-No_Choice: Presenting only two options as if they are the only possibilities.\n- Flag_Waving: Exploiting national, patriotic, or group identity feelings to justify an action.\n- Guilt_by_Association: Discrediting someone by associating them with something negative without logical connection.\n- Loaded_Language: Using emotionally charged words that carry strong connotations beyond their literal meaning.\n- Name_Calling-Labeling: Attaching negative labels to dismiss or discredit without engaging with substance.\n- Obfuscation-Vagueness-Confusion: Using vague or complex language to confuse the audience or obscure the message.\n- Questioning_the_Reputation: Attacking credibility or reputation to undermine arguments or authority.\n- Red_Herring: Introducing an irrelevant topic to divert attention from the main issue.\n- Repetition: Deliberately repeating a message to make it more memorable and persuasive.\n- Slogans: Using brief, catchy phrases to simplify complex issues and rally support.\n- Straw_Man: Misrepresenting someone's argument to make it easier to attack.\n- Whataboutism: Responding to criticism with a counter-accusation about a different issue.\n\nRespond EXACTLY in this format (in English):\nLabels: Technique1, Technique2, Technique3\nExplanation: <your explanation of why each technique applies>\n\nIf the text contains NO propaganda:\nLabels: none\nExplanation: <your explanation of why this text is not propagandistic>\n\nNotes:\n- List ALL techniques that apply, separated by commas.\n- Use the EXACT technique names as listed above (e.g., \"Loaded_Language\", not \"loaded language\").\n- Multiple techniques can apply to the same text.\n- The Explanation should reference specific parts of the text that exemplify each technique.\n- Analyze the text objectively, considering the language, framing, and rhetorical strategies used.\n\nText: \"{TEXT}\""
|
| 36 |
+
},
|
| 37 |
+
"span_tag": {
|
| 38 |
+
"system": "You are a precise propaganda detection model specialized in English text analysis. You identify propaganda techniques at the span level, extracting exact text spans and classifying them.",
|
| 39 |
+
"user": "Identify propaganda techniques in the given English text.\nCopy the ENTIRE input text and surround propaganda spans with XML tags.\n\nTag Format: <span type=\"TECHNIQUE_NAME\">text</span>\n\nTechniques:\n - Loaded_Language: emotionally charged words or phrases used to influence the reader\n - Name_Calling-Labeling: attaching negative labels to people or entities\n - Exaggeration-Minimisation: inflating or downplaying the significance of facts\n - Questioning_the_Reputation: undermining the credibility of a person or entity\n - Obfuscation-Vagueness-Confusion: using vague or ambiguous language to confuse\n - Causal_Oversimplification: oversimplifying causes and causal relationships\n - Doubt: raising doubts without providing evidence\n - Appeal_to_Authority: citing authority figures or experts to strengthen argument\n - Flag_Waving: exploiting national or patriotic sentiments\n - Repetition: deliberate repetition of words or phrases for emphasis\n - Slogans: use of catchy, brief phrases\n - Appeal_to_Fear-Prejudice: exploiting fears or prejudices\n - Consequential_Oversimplification: oversimplifying consequences\n - Appeal_to_Hypocrisy: accusing the opponent of hypocrisy to deflect\n - False_Dilemma-No_Choice: presenting only two options as if they are the only ones\n - Appeal_to_Time: using urgency or time pressure\n - Conversation_Killer: phrases designed to end discussion\n - Appeal_to_Values: exploiting shared values to influence\n - Red_Herring: diverting attention from the main topic\n - Appeal_to_Popularity: appealing to majority opinion\n - Guilt_by_Association: linking a person to a negative entity\n - Straw_Man: distorting the opponent's argument to make it easier to attack\n - Whataboutism: responding to criticism with counter-criticism instead of answering\n\nNotes:\n- Your output MUST include a copy of the entire input text, including non-tagged parts.\n- If no propaganda is found, copy the input text exactly without any tags.\n- Spans may overlap. For overlapping spans, use separate tags (nesting is allowed).\n- Do not alter the text in any way. Do not output explanations.\n- Start generating output straight away.\n\nText: {TEXT}"
|
| 40 |
+
},
|
| 41 |
+
"span_match_occ": {
|
| 42 |
+
"system": "You are a precise propaganda detection model specialized in English text analysis. You identify propaganda techniques at the span level, extracting exact text spans and classifying them.",
|
| 43 |
+
"user": "Identify propaganda techniques in the given English text.\nFor each technique found, extract the exact text span and classify it.\n\nOutput Format:\n[{\"text\": \"exact span from input\", \"label\": \"TECHNIQUE_NAME\", \"occurrence\": N}]\n\nTechniques:\n - Loaded_Language: emotionally charged words or phrases used to influence the reader\n - Name_Calling-Labeling: attaching negative labels to people or entities\n - Exaggeration-Minimisation: inflating or downplaying the significance of facts\n - Questioning_the_Reputation: undermining the credibility of a person or entity\n - Obfuscation-Vagueness-Confusion: using vague or ambiguous language to confuse\n - Causal_Oversimplification: oversimplifying causes and causal relationships\n - Doubt: raising doubts without providing evidence\n - Appeal_to_Authority: citing authority figures or experts to strengthen argument\n - Flag_Waving: exploiting national or patriotic sentiments\n - Repetition: deliberate repetition of words or phrases for emphasis\n - Slogans: use of catchy, brief phrases\n - Appeal_to_Fear-Prejudice: exploiting fears or prejudices\n - Consequential_Oversimplification: oversimplifying consequences\n - Appeal_to_Hypocrisy: accusing the opponent of hypocrisy to deflect\n - False_Dilemma-No_Choice: presenting only two options as if they are the only ones\n - Appeal_to_Time: using urgency or time pressure\n - Conversation_Killer: phrases designed to end discussion\n - Appeal_to_Values: exploiting shared values to influence\n - Red_Herring: diverting attention from the main topic\n - Appeal_to_Popularity: appealing to majority opinion\n - Guilt_by_Association: linking a person to a negative entity\n - Straw_Man: distorting the opponent's argument to make it easier to attack\n - Whataboutism: responding to criticism with counter-criticism instead of answering\n\nNotes:\n- Copy spans EXACTLY from the input text, character-for-character.\n- Spans may overlap: the same text region can have multiple techniques.\n- Use \"occurrence\" to distinguish repeated text (1=first, 2=second, etc.).\n- If no propaganda is found, return an empty array: []\n- Return a valid JSON array only. Do not output explanations.\n\nText: {TEXT}\n\nOutput:"
|
| 44 |
+
}
|
| 45 |
+
}
|
| 46 |
+
}
|