File size: 5,483 Bytes
723fc6d
86e09d8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
723fc6d
86e09d8
 
 
 
 
 
 
 
 
 
 
 
a4d25eb
 
86e09d8
 
 
a4d25eb
 
86e09d8
 
 
 
 
 
 
 
 
 
 
 
a4d25eb
86e09d8
a4d25eb
 
 
 
 
86e09d8
a4d25eb
 
 
 
 
 
86e09d8
a4d25eb
 
86e09d8
a4d25eb
86e09d8
a4d25eb
 
86e09d8
 
a4d25eb
86e09d8
a4d25eb
 
 
 
86e09d8
a4d25eb
 
 
 
86e09d8
a4d25eb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86e09d8
a4d25eb
86e09d8
a4d25eb
 
 
 
 
 
 
 
 
 
86e09d8
 
a4d25eb
86e09d8
a4d25eb
 
 
86e09d8
a4d25eb
 
 
86e09d8
 
 
 
 
 
 
 
 
 
 
 
486e10e
 
 
 
 
 
 
 
86e09d8
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
---
license: apache-2.0
base_model: Qwen/Qwen2.5-7B-Instruct
language:
- ar
- en
pipeline_tag: text-generation
library_name: transformers
datasets:
- QCRI/ProBel
tags:
- propaganda-detection
- persuasion-techniques
- span-identification
- explainability
- lora
---

# ProBel-MTL

The bilingual multi-task model from the ProBel paper (Mt-SFT): a single
Qwen2.5-7B-Instruct fine-tune that handles all five ProBel tasks in both Arabic
and English — binary propaganda detection, coarse-category and fine-grained
technique classification (with explanations), and technique-labeled span
extraction in two output formats.

Trained with LoRA (r=16, alpha=32) on the Arabic and English training splits of
[QCRI/ProBel](https://huggingface.co/datasets/QCRI/ProBel) across all five task
formats jointly; the checkpoint was selected on validation loss and merged into
the base model, so it loads as a regular causal LM. The LoRA adapter alone is
in `lora_adapter/`.

Companion resources: [dataset](https://huggingface.co/datasets/QCRI/ProBel) ·
[code](https://github.com/MohamedBayan/ProBel) · paper: *ProBel: Propaganda
Detection with Techniques, Spans, and Explanations* (arXiv preprint; the link
will be added here once the listing is live).

## Test scores

| | Binary | Coarse | Technique | Span-tag | Span-occ |
|---|---|---|---|---|---|
| Arabic  | 0.763 | 0.682 | 0.575 | 0.411 | 0.362 |
| English | 0.735 | 0.410 | 0.272 | 0.189 | 0.241 |

Binary is macro-F1; coarse/technique are micro-F1; spans use the
overlap-adjusted micro-F1 of Da San Martino et al. (2020). These match the
paper's Mt-SFT rows and were produced with greedy decoding.

## Prompt templates

The model expects the exact task prompts it was trained on.
[`prompts/templates.json`](prompts/templates.json) ships all ten of them —
`{arabic, english} x {binary, coarse, multilabel, span_tag, span_match_occ}` —
each a `{"system": ..., "user": ...}` pair where the user message contains a
`{TEXT}` placeholder for the input sentence.

| Task | Model output |
|---|---|
| `binary` | `Label: true` or `Label: false`, then `Explanation: ...` |
| `coarse` / `multilabel` | `Labels: <names or none>`, then `Explanation: ...` |
| `span_tag` | the input sentence with inline `<span type="Technique">...</span>` tags |
| `span_match_occ` | a JSON list of `{"text", "label", "occurrence"}` objects |

Arabic templates carry the same task instructions with an Arabic-specialized
system prompt; the model answers Arabic inputs in Arabic.

## Usage

```bash
pip install "transformers>=4.51" accelerate
```

Binary detection with an explanation:

```python
import json
from huggingface_hub import hf_hub_download
from transformers import AutoModelForCausalLM, AutoTokenizer

templates = json.load(open(hf_hub_download("QCRI/ProBel-MTL", "prompts/templates.json")))
model = AutoModelForCausalLM.from_pretrained("QCRI/ProBel-MTL",
                                             dtype="bfloat16", device_map="auto")
tok = AutoTokenizer.from_pretrained("QCRI/ProBel-MTL")

def run(task, lang, text, max_new_tokens=512):
    t = templates[lang][task]
    msgs = [{"role": "system", "content": t["system"]},
            {"role": "user", "content": t["user"].replace("{TEXT}", text)}]
    ids = tok.apply_chat_template(msgs, add_generation_prompt=True,
                                  return_tensors="pt").to(model.device)
    out = model.generate(ids, max_new_tokens=max_new_tokens, do_sample=False)
    return tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True)

print(run("binary", "english",
          "The corrupt elites are destroying everything we hold dear."))
# Label: true
# Explanation: The paragraph relies on a sweeping, emotive accusation that
# unnamed "elites" are ruining "everything we hold dear" ...
```

Technique-labeled span extraction (same helper):

```python
print(run("span_tag", "english",
          "The corrupt elites are destroying everything we hold dear."))
# <span type="Appeal_to_Fear-Prejudice">The corrupt elites are destroying
# everything we hold dear.</span>

print(run("multilabel", "arabic",
          "الإعلام الكاذب يواصل نشر أكاذيبه المسمومة لتضليل الشعب."))
# Labels: Loaded_Language, Questioning_the_Reputation
# Explanation: يستخدم النص لغة محملة بالعواطف مثل "الكاذب" و"أكاذيبه المسمومة" ...
```

The model also serves directly with vLLM:

```bash
vllm serve QCRI/ProBel-MTL
```

The parsers that turn the span outputs back into character offsets, and the
full evaluation pipeline, are in the
[code repository](https://github.com/MohamedBayan/ProBel).

## Intended use and limitations

Built for research on propaganda and persuasion-technique analysis in news and
social-media text. Predictions are imperfect, technique performance follows the
long-tailed label distribution (rare techniques are often missed), and outputs
should support trained human reviewers rather than replace them, particularly
in moderation or policy settings.

## Citation

```bibtex
@misc{kmainasi2026probelpropagandadetectiontechniques,
      title={ProBel: Propaganda Detection with Techniques, Spans, and Explanations}, 
      author={Mohamed Bayan Kmainasi and Ali Ezzat Shahroor and Elisa Sartori and Giovanni Da San Martino and Firoj Alam},
      year={2026},
      eprint={2608.22388},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2608.22388}, 
}
```