language:
- da
license: mit
task_categories: - text-generation
- conversational
tags: - danish
- politics
- personas
- steering-vectors
- fine-tuning
- sft
pretty_name: Danish Political Personas
size_categories: - 1K<n<10K
Danish Political Personas (FV26)
Multi-turn conversational persona dataset for 11 Danish political parties, generated using steering vectors on gpt-oss-20b.
Dataset Description
- Records: 2,013 conversations (183 per party × 11 parties)
- Turns: 3 turns per conversation (opening question + 2 journalist-generated follow-ups)
- Alignment: 88% (1,771/2,013 conversations fully aligned with party positions)
- Language: Danish
- Format: JSONL with
messagesfield (system, user, assistant, user, assistant, user, assistant)
Parties
| Party | Alignment | Multiplier |
|---|---|---|
| Socialdemokratiet | 98% | 0.7 |
| Liberal Alliance | 97% | 0.8 |
| SF – Socialistisk Folkeparti | 96% | 0.5 |
| Venstre | 96% | 0.6 |
| Radikale Venstre | 95% | 0.5 |
| Moderaterne | 90% | 0.5 |
| Dansk Folkeparti | 86% | 0.7 |
| Alternativet | 85% | 0.8 |
| Det Konservative Folkeparti | 79% | 0.8 |
| Enhedslisten De Rød-Grønne | 78% | 0.5 |
| Danmarksdemokraterne – Inger Støjberg | 69% | 0.8 |
Question Categories
| Category | Count | Description |
|---|---|---|
| political_statements | 80 | Agree/disagree statements (29 original + 51 new) |
| policy_open | 40 | Open-ended policy questions |
| policy_debate | 25 | Challenge/debate questions |
| scenario | 15 | Hypothetical/situation questions |
| philosophy | 10 | Political vision questions |
| personal | 7 | Politician identity questions |
| contrast | 6 | Cross-party comparison questions |
| Total | 183 |
Pipeline
- Data source: Kandidattest FV26 (29,050 candidate responses across 29 questions)
- Contrastive pairs: 7.7M pairs generated from candidate answers
- Steering vector training: gpt-oss-20b, layers 10-18, activation_mode="stream"
- Layer optimization: Sweep confirmed layers 10-18 optimal
- Multiplier optimization: Per-party sweep (0.5-0.9) → optimized multipliers
- Multi-turn generation:
- Varied system prompts (12 templates: TV debate, interview, podcast, town hall, etc.)
- Opening question from expanded set
- Follow-up questions generated by unsteered model (journalist persona)
- Turn-1 alignment validated against party positions from candidate test
- Misaligned responses regenerated with up to 2x multiplier
- Output: 3-turn conversations in chat format
Record Format
{
"messages": [
{"role": "system", "content": "Du er spidskandidat for Socialdemokratiet..."},
{"role": "user", "content": "Hvad er dit standpunkt til: ..."},
{"role": "assistant", "content": "Som socialdemokrat mener jeg..."},
{"role": "user", "content": "Men hvordan vil du konkret..."},
{"role": "assistant", "content": "Vi vil..."},
{"role": "user", "content": "Hvad hvis..."},
{"role": "assistant", "content": "I det tilfælde..."}
],
"party": "socialdemokratiet",
"display_name": "Socialdemokratiet",
"category": "political_statements",
"question_id": 12,
"turns": 3,
"multiplier": 0.7,
"aligned": true,
"regenerated": false,
"turn_details": [
{"turn": 1, "aligned": true, "regenerated": false},
{"turn": 2, "aligned": true, "regenerated": false},
{"turn": 3, "aligned": true, "regenerated": false}
],
"statement": "Det er vigtigere at kunne udvise flere kriminelle udlændinge end at overholde internationale konventioner",
"expected_stance": "con"
}
Usage
from datasets import load_dataset
dataset = load_dataset("schneiderkamplab/danish-political-personas")
Files
alternativet.jsonl— 183 conversationsdanmarksdemokraterne_inger_støjberg.jsonl— 183 conversationsdansk_folkeparti.jsonl— 183 conversationsdet_konservative_folkeparti.jsonl— 183 conversationsenhedslisten_de_rød-grønne.jsonl— 183 conversationsliberal_alliance.jsonl— 183 conversationsmoderaterne.jsonl— 183 conversationsradikale_venstre.jsonl— 183 conversationssf_-_socialistisk_folkeparti.jsonl— 183 conversationssocialdemokratiet.jsonl— 183 conversationsvenstre_danmarks_liberale_parti.jsonl— 183 conversations
Citation
@misc{danish-political-personas-2026,
title={Danish Political Personas: Multi-turn Conversational Dataset via Steering Vectors},
author={JacobBITLABS},
year={2026},
publisher={schneiderkamplab},
url={https://huggingface.co/datasets/schneiderkamplab/danish-political-personas}
}