mbayan commited on
Commit
a4d25eb
·
verified ·
1 Parent(s): 9935b38

prompt templates for all ten language-task pairs; card with verified examples

Browse files
Files changed (2) hide show
  1. README.md +64 -63
  2. 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 in
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* (PDF in the code
36
- repository; arXiv link will be added once available).
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
- ## Usage
50
 
51
- ```python
52
- from transformers import AutoModelForCausalLM, AutoTokenizer
 
 
 
53
 
54
- model = AutoModelForCausalLM.from_pretrained("QCRI/ProBel-MTL",
55
- torch_dtype="bfloat16",
56
- device_map="auto")
57
- tok = AutoTokenizer.from_pretrained("QCRI/ProBel-MTL")
58
-
59
- system = ("You are an expert in media analysis and propaganda detection, "
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
- ## Instruction format
 
79
 
80
- The model expects the exact task prompts it was trained on. The full templates
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
- Propaganda techniques include manipulative language strategies such as:
90
- - Loaded_Language: emotionally charged words to influence perception
91
- - Name_Calling-Labeling: attaching negative labels to dismiss someone
92
- [...technique glossary...]
93
 
94
- Respond EXACTLY in this format (in English):
95
- Label: true
96
- Explanation: <your explanation of why this text is or is not propagandistic>
 
97
 
98
- OR
 
 
 
99
 
100
- Label: false
101
- Explanation: <your explanation>
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
- Notes:
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
- Text: "{TEXT}"
 
 
 
 
 
 
 
 
 
110
  ```
111
 
112
- Output formats per task:
113
 
114
- | Task | Output |
115
- |---|---|
116
- | binary | `Label: true\|false` + `Explanation: ...` |
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
- Arabic inputs use Arabic prompt variants of the same structure and answer in
122
- Arabic.
 
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 = {Preprint. This entry will be updated upon publication.}
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
+ }