runetrust/blame-folketinget-dk
Viewer • Updated • 5.6M • 46
BlameBERT is the first model for zero-shot classification of blame in Danish (following the definition of Bilotta et al.). As it is mmBERT based, it should theoretically generalize across languages, but it has only been tested in Danish.
BlameBERT has been tested against QWEN 3.5:9B in a schema-constrained setting, outperforming it on the test set.
More details can be found in the GitHub for the BlameBERT Project.
The model is ready for use straight out of the box.
Example usage
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import numpy as np
tokenizer = AutoTokenizer.from_pretrained("Lundsfryd/BlameBERT")
model = AutoModelForMaskedLM.from_pretrained("Lundsfryd/BlameBERT")
def predict(text):
inputs = tokenizer(
text,
padding=True,
truncation=True,
max_length=512, #mmBERT accepts up to 8,192 tokens. For our purposes input was capped at 512.
return_tensors='pt'
)
inputs = {k: v.to(model.device) for k, v in inputs.items()}
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
probabilities = torch.softmax(logits, dim=1)
predicted_class = torch.argmax(probabilities, dim=1).item()
confidence = probabilities[0][predicted_class].item()
return predicted_class, confidence, probabilities[0].cpu().numpy()
texts = [
"Jeg er opmærksom på fængselspersonalets vilkår.",
"Det kommer både de studerende og erhvervslivet til gode.",
"Jeg er enig i, at der er kommet for mange hertil, som ikke vil Danmark, som ikke opfører sig ordentligt, som begår kriminalitet, og som i øvrigt med deres ideologiske tilgang til både religion og politik er med til at undergrave vores demokrati."
]
Base model
jhu-clsp/mmBERT-base