feat(svd): update 8 of 10 axis labels derived from motion content

Revise SVD_THEMES labels based on TF-IDF analysis of top 50 motions
per component (pool size: current_parliament). Manual review of motion
titles ensures labels reflect actual parliamentary content rather than
party position semantics.

Key corrections:
- Axis 1: fiscal/economic policy vs social welfare + international rights
- Axis 4: active international engagement vs restraint
- Axis 5: pragmatic financial support vs progressive individual rights
- Axis 6: fossil fuels/financial incentives vs climate/intl rights
- Axis 7: practical-administrative vs idealistico-procedural (kept)
- Axis 8: European defense cooperation vs domestic socioeconomic policy
- Axis 9: concrete-administrative vs systemic reform
- Axis 10: citizen protection vs government regulation

Subagent analysis caught that axes 5 and 6 are NOT the same
(Nationale soevereiniteit) — manual motion review confirms distinct
content for each. Axes 1, 5, 6 had completely wrong labels.

Refs: thoughts/explorer/svd_label_review.md
See also: docs/brainstorms/2026-04-13-topic-derived-svd-labels-requirements.md
This commit is contained in:
2026-04-13 23:59:50 +02:00
parent 3a6710091a
commit cf549dcc1c
8 changed files with 1030 additions and 89 deletions
+70 -74
View File
@@ -66,15 +66,17 @@ PARTY_COLOURS: Dict[str, str] = {
SVD_THEMES: dict[int, dict[str, str]] = {
1: {
"label": "Economische sectorbelangen versus sociale welvaart",
"label": "Fiscaal-economisch beleid versus sociaal welzijn en internationale rechten",
"explanation": (
"Deze as scheidt rechts kabinetsbeleid van links oppositiebeleid. "
"Aan de positieve kant staan PVV, NSC, SGP en BBB. "
"Aan de negatieve kant staan PvdD, GroenLinks-PvdA en DENK. "
"Deze as weerspiegelt de klassieke links-rechts verdeling op economisch en migratiebeleid."
"Deze as scheidt fiscaal-economisch beleid van sociaal welzijn en internationale solidariteit. "
"Aan de positieve kant staan moties over dijkvervanging, medische bijscholing, gaswinning op land, "
"landbouwsubsidies en fiscale verlichting. "
"Aan de negatieve kant staan moties over huurprijsbeheersing, boycot van defensiebedrijven, "
"beëindiging van militaire verdragen, antipersoneelslandmijnen en zorgbuurthuizen. "
"Deze as weerspiegelt de spanning tussen financieel-economische prioriteiten en sociaal-internationaal beleid."
),
"positive_pole": "Rechts: PVV, NSC, SGP, BBB — kabinetsbeleid, defensie en restricties",
"negative_pole": "Links: PvdD, GroenLinks-PvdA, DENK — oppositie, zorg en multilateraal",
"positive_pole": "Fiscaal-economisch: dijkvervanging, landbouwsubsidies, gaswinning, fiscale verlichting",
"negative_pole": "Sociaal welzijn en internationale rechten: huurbeheersing, defensieboycot, zorg, landmijnverbod",
"flip": False,
},
2: {
@@ -109,49 +111,49 @@ SVD_THEMES: dict[int, dict[str, str]] = {
"flip": True,
},
4: {
"label": "Internationale instituties en multilateralisme versus nationale soevereiniteit",
"label": "Actieve internationale betrokkenheid versus terughoudendheid",
"explanation": (
"Een residuele as met een brede spreiding van partijen. "
"Aan de negatieve kant staan moties waar NSC en BBB sterk op scoren. "
"Aan de positieve kant staan moties waar D66, CDA en JA21 sterk op scoren. "
"FVD en DENK scoren rond het midden — deze as scheidt hen niet van de rest. "
"Dit is geen klassieke links-rechts verdeling maar een mengeling van "
"thematische positieshet label is indicatief."
"Deze as scheidt actieve internationale betrokkenheid van terughoudendheid of terugtrekking. "
"Aan de positieve kant staan moties over bilaterale en Europese samenwerking: partnerschappen met Australië, "
"actieve vaderbetrokkenheid, kennisuitwisseling en coördinatie via internationale gremia. "
"Aan de negatieve kant staan moties over verlaten van de WHO, beperking van migratiesaldo, "
"gezinsbeleid en asielrestricties. "
"Deze as is indicatiefde spreiding van partijen is breed."
),
"positive_pole": "D66, CDA, JA21 — moties met brede steun",
"negative_pole": "NSC, BBB — moties met andere focus",
"positive_pole": "Actieve internationale betrokkenheid: bilaterale samenwerking, kennisuitwisseling, multilaterale coördinatie",
"negative_pole": "Terughoudendheid en restricties: WHO-verlating, migratielimieten, binnenlands gericht beleid",
"flip": False,
},
5: {
"label": "Gemeenschapszin versus individuele rechten",
"label": "Pragmatische financiële ondersteuning versus progressieve individuele rechten",
"explanation": (
"Deze as scheidt christelijk-sociale partijen van progressieve partijen op het "
"vlak van gemeenschapswaarden. Aan de positieve kant staan moties over "
"schuldhulpverlening via vrijwilligersorganisaties, maatschappelijke "
"diensttijd voor jongeren, gastouderopvang en financiële prikkels voor scholieren. "
"ChristenUnie, SGP, CDA en NSC voeren hier de toon; ook D66 en FVD scoren positief. "
"Aan de negatieve kant staan moties over wettelijke erkenning van meerouderschap, "
"abortusrecht in het EU-Handvest, armoedebeleid en sociaal-maatschappelijke thema's. "
"SP, VVD, GL-PvdA, PvdD en Volt scoren negatief."
"Deze as scheidt pragmatische financiële en structurele ondersteuning van progressieve individuele rechten. "
"Aan de positieve kant staan moties over een vrijgesteld minimumbudget voor infrastructurele werken, "
"maatschappelijke diensttijd voor kwetsbare jongeren, verkorting van de WW alleen met concrete "
"ondersteuningsmaatregelen, en vrijwaring van kindertoeslagen. "
"Aan de negatieve kant staan moties over erkenning van meerouderschap, "
"wettelijke kwaliteitseisen aan zwemlessen, een nationaal coördinator tegen buitenlandse beïnvloeding, "
"en vastlegging van abortusrecht in het EU-Handvest. "
"Deze as weerspiegelt de spanning tussen financiële prikkels en individuele rechtenbescherming."
),
"positive_pole": "Christelijk-sociaal: ChristenUnie, SGP, CDA, NSC — gemeenschap en vrijwilligers",
"negative_pole": "Progressief-individueel: SP, VVD, GL-PvdA, PvdD, Volt — individuele rechten",
"positive_pole": "Pragmatische financiële ondersteuning: budgetvrijwaring, diensttijd, WW-hervorming, kindertoeslagen",
"negative_pole": "Progressieve individuele rechten: meerouderschap, abortusrecht, zwemveiligheid, buitenlandse beïnvloeding",
"flip": False,
},
6: {
"label": "Ecologische transitie versus economische conservatie",
"label": "Fossiele brandstoffen en financiële prikkels versus klimaatbeleid en internationale rechten",
"explanation": (
"Deze as combineert migratie- en culturele posities. Aan de positieve kant staan "
"moties over asielrestricties, nationale cultuur en identiteit, en beperkte "
"immigratie. PVV, JA21, BBB, CDA, ChristenUnie, VVD, SGP, FVD en DENK scoren positief. "
"Aan de negatieve kant staan moties over klimaatmaatregelen, progressieve "
"inclusie, discriminatiebestrijding en internationale samenwerking. "
"SP, PvdD, D66, GL-PvdA en Volt scoren negatief. "
"De as scheidt partijen met restrictief migratiebeleid van partijen met "
"progressief-inclusief beleid."
"Deze as scheidt fossiele brandstoffen en financiële marktprikkels van klimaatbeleid en internationale rechten. "
"Aan de positieve kant staan moties over lng-capaciteit als alternatief voor gaswinning, "
"kernenergie als volwaardig onderdeel van energiebeleid, vermogenswinstbelasting en beperkte "
"overheidsuitgaven. "
"Aan de negatieve kant staan moties over het uitsluiten van de fossiele industrie van klimaatconferenties, "
"veroordeling van aanvallen op Libanon, sancties tegen internationale conflicten, "
"en structureel overleg met moslimgemeenschappen. "
"Deze as weerspiegelt de spanning tussen economisch-fiscale prioriteiten en klimaat/internationale solidariteit."
),
"positive_pole": "Restrictief migratiebeleid: PVV, JA21, BBB, CDA, ChristenUnie, VVD, SGP, FVD, DENK",
"negative_pole": "Progressieve inclusie: SP, PvdD, D66, GL-PvdA, Volt — klimaat en diversiteit",
"positive_pole": "Fossiel en financieel: lng-capaciteit, kernenergie, vermogenswinstbelasting, bezuinigingen",
"negative_pole": "Klimaat en internationale rechten: fossiele industrie uitsluiten, sancties, Libanon, gemeenschappen",
"flip": False,
},
7: {
@@ -173,56 +175,50 @@ SVD_THEMES: dict[int, dict[str, str]] = {
"flip": True,
},
8: {
"label": "Internationale samenwerking versus nationale soevereiniteit",
"label": "Europese defensiesamenwerking versus binnenlands sociaaleconomisch beleid",
"explanation": (
"Een residuele as die overwegend thematisch diverse moties uit 2024-2025 vangt. "
"Aan de positieve kant staan moties over vaccinatiegraad-verlaging voor kinderen, "
"een VWO-profiel kunst en cultuur, stages voor mbo-studenten in het buitenland, "
"en woningbouw voor jongeren in kleine kernen. BBB, SGP en JA21 scoren positief. "
"Aan de negatieve kant staan moties over het instellen van een vaccinatiecommissie, "
"heropening van het coronaoversterfte-onderzoek, regionale energiestrategieën "
"en toegankelijkheid van het basispakket. SP, DENK en PvdD scoren sterk negatief. "
"Deze as combineert onderwijs- en volksgezondheidsposities met regionale "
"huisvestingsprioriteiten — het label is indicatief."
"Deze as scheidt Europese defensiesamenwerking van binnenlands sociaaleconomisch beleid. "
"Aan de positieve kant staan moties over militaire mobiliteit in EU- en NAVO-verband, "
"een Europees onderzoeksinstituut voor defensie, en concrete stappen voor 35% defensie-uitgaven. "
"Aan de negatieve kant staan moties over toeslagenaffaire-herstel, ontslagrecht, "
"coronastrategie en bestuurlijke instructieregels. "
"Deze as is indicatief — de spreiding van partijen is breed en de thematische diversiteit is groot."
),
"positive_pole": "Onderwijs en volksgezondheid: BBB, SGP, JA21 — vaccinatie, profielkeuze, woningbouw",
"negative_pole": "Zorg en toegankelijkheid: SP, DENK, PvdD, Volt — coronaonderzoek, energie, basispakket",
"positive_pole": "Europese defensiesamenwerking: NAVO-militaire mobiliteit, Europees defensie-instituut, defensie-uitgaven",
"negative_pole": "Binnenlands beleid: toeslagen, ontslagrecht, coronastrategie, administratieve lasten",
"flip": False,
},
9: {
"label": "Pragmatische probleemoplossing versus regulering",
"label": "Concreet-bestuurlijke versus systemische hervorming",
"explanation": (
"Deze as scheidt pragmatische, concrete probleemoplossing van idealistische "
"systeemhervorming. Aan de positieve kant staan moties over naleving van de "
"Financiële-verhoudingswet voor gemeenten, beperking van arbeidsmigratie, "
"een nieuwe tandartsopleiding in Rotterdam, een actieplan tegen misbruik van "
"hallucinerende geneesmiddelen en oplossingen voor milieuproblemen op Bonaire. "
"SGP en ChristenUnie scoren sterk positief; ook DENK en SP. Aan de negatieve kant "
"staan moties over een moratorium op geitenstallen, een verbod op gokadvertenties, "
"verduidelijking van gronden voor voorlopige hechtenis, een leegstandbelasting "
"en end-to-end-encryptie. D66, JA21 en PVV scoren negatief. "
"Deze as scheidt concreet-bestuurlijke oplossingen van systemische hervorming. "
"Aan de positieve kant staan moties over naleving van financiële verhoudingswetten voor gemeenten, "
"beperking van arbeidsmigratie, een nieuwe tandartsopleiding in Rotterdam, "
"en oplossingen voor milieuproblemen op Bonaire. "
"Aan de negatieve kant staan moties over een moratorium op geitenstallen, "
"een verbod op gokadvertenties, gronden voor voorlopige hechtenis, "
"een leegstandbelasting en end-to-end-encryptie. "
"Deze as is indicatief — de scores zijn smal en ideologisch divers."
),
"positive_pole": "Pragmatisch-bestuurlijk: SGP, ChristenUnie, DENK, SP — concrete oplossingen",
"negative_pole": "Systeemhervorming: D66, JA21, PVV — idealistische beleidsposities",
"positive_pole": "Concreet-bestuurlijk: financiële verhoudingswet, arbeidsmigratie, tandartsopleiding, Bonaire",
"negative_pole": "Systemische hervorming: geitenstallen-moratorium, gokverbod, leegstandbelasting, encryptie",
"flip": False,
},
10: {
"label": "Minder overheidsbemoeienis versus meer handhaving",
"label": "Bescherming van burgers versus overheidsregulering",
"explanation": (
"Deze as scheidt partijen die kritisch staan tegenover overheidsbemoeienis van "
"partijen die strikte regulering en handhaving steunen. Aan de positieve kant "
"staan moties over minder tijdsintensieve schoolinspecties, het recht van "
"toeslagenouders op hun persoonlijk dossier, behoud van tegemoetkomingen voor "
"arbeidsongeschikten en verlaging van de leeftijdsdrempel voor kindgesprekken. "
"DENK, SP en PvdD scoren positief. Aan de negatieve kant staan moties over "
"een aangifteplicht voor scholen bij veiligheidsincidenten, een rookverbod in "
"auto's met kinderen, braakliggende landbouwgrond en verhoogd beloningsgeld "
"voor tipgevers. GroenLinks-PvdA scoort opvallend sterk negatief. "
"Deze as scheidt bescherming van burgers van overheidsregulering en handhaving. "
"Aan de positieve kant staan moties over minder tijdsintensieve schoolinspecties, "
"het recht van toeslagenouders op hun persoonlijk dossier, behoud van tegemoetkomingen "
"voor arbeidsongeschikten, integratie die geldt voor nieuwkomers (niet voor Nederlanders), "
"en verlaging van de leeftijdsdrempel voor kindgesprekken. "
"Aan de negatieve kant staan moties over een aangifteplicht voor scholen bij "
"veiligheidsincidenten, rookverboden in auto's met kinderen, "
"braakliggende landbouwgrond en verhoogd beloningsgeld voor tipgevers. "
"Deze as is indicatief — de scores zijn smal en de partijcombinaties divers."
),
"positive_pole": "Kritisch op overheidsbemoeienis: DENK, SP, PvdD — minder inspectielast en lastenverlichting",
"negative_pole": "Pro-regulering: GroenLinks-PvdA, CDA, SGP — veiligheid, naleving en handhaving",
"positive_pole": "Bescherming van burgers: minder inspecties, toegang tot dossiers, behoud toeslagen, kindleeftijd",
"negative_pole": "Overheidsregulering: aangifteplicht scholen, rookverbod, braakliggende grond, tipgeversbeloning",
"flip": True,
},
}