File size: 1,557 Bytes
d673e9a
 
a0760fc
 
 
 
 
 
 
 
 
 
 
 
d673e9a
 
a0760fc
d673e9a
a0760fc
d673e9a
a0760fc
d673e9a
a0760fc
d673e9a
a0760fc
d673e9a
a0760fc
d673e9a
a0760fc
 
 
 
 
 
d673e9a
a0760fc
 
d673e9a
a0760fc
 
 
d673e9a
a0760fc
 
 
 
 
 
 
 
 
 
 
 
 
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
---
library_name: transformers
datasets:
- vector-institute/newsmediabias-plus
language:
- en
metrics:
- accuracy
- precision
- recall
- f1
base_model:
- google-bert/bert-base-uncased
pipeline_tag: text-classification
---

# BERT NMB+ (Disinformation Sequence Classification):

Classifies sentences as "Likely" or "Unlikely" biased/disinformation (max token len 128).

Fine-tuned BERT ([bert-base-uncased](https://huggingface.co/google-bert/bert-base-uncased)) on the `headline` and `text_label` fields in the [News Media Bias Plus Dataset](https://huggingface.co/datasets/vector-institute/newsmediabias-plus).

**This model was trained with weighted sampling so that each batch contains 50% 'Likely' examples and 50% 'Unlikely' examples.** The same model trained without weighted sampling is [here](https://huggingface.co/maximuspowers/nmbp-bert-headlines), and got slightly better eval metrics. However, this model preformed better when predictions were evaluated by gpt-4o as a judge.

### Metics

*Evaluated on a 0.1 random sample of the NMB+ dataset, unseen during training*

- Accuracy:  0.6745
- Precision: 0.9070
- Recall:    0.6288
- F1 Score:  0.7427
  
## How to Use:

```python
from transformers import pipeline

classifier = pipeline("text-classification", model="maximuspowers/nmbp-bert-headlines-balanced")
result = classifier("He was a terrible politician.", top_k=2)
```

### Example Response:
```json
[
  {
    'label': 'Likely',
    'score': 0.9967995882034302
  },
  {
    'label': 'Unlikely',
    'score': 0.003200419945642352
  }
]
```