Table of Contents
Wichtige Links:
- Dashboard: https://verbote.nickyreinert.de
- Sourcecode: https://github.com/nickyreinert/verbote
In diesem Beitrag:
- Teil 1: Blahblah und Methodik
- Teil 2: Ergebnisse und Analyse
Blahblah
Politische Beiträge sind eigentlich überhaupt gar nicht mein Ding, außer es geht um so aufregende Themen wie Datenschutz. Alles andere gehört an den Stammtisch, wo man sich bei Bier und Salzstangen so richtig schön in die Haare kriegen kann und am nächsten Morgen ist sowieso alles vergessen. Was ist das hier also? Eine Datenanalyse, zu der ich mich aus sportlichem Ehrgeiz habe hinreißen lassen.
Worum geht es? Um den gerne kolportierten “Slogan” Verbotspartei. Davon hast du bestimmt schon mal gehört. Das ist ein Prädikat, das gerne den Grünen übergeholfen wird und ich könnte mich jetzt über wirtschaftliche Positiv- und Negativ-Anreize auslassen und über Pull- und Pushfaktoren sinnieren – aber weder ist das ein Rechtfertigungsartikel noch ein wirtschaftswissenschaftlicher Erziehungsversuch. Es geht um einen streng sachlichen Versuch. Eine hoffentlich fundierte Analyse der vorliegenden Daten. Das, was wir anfassen können. Also, mit den Augen. Also, wenn die Augen Hände hätten. Ihr wisst schon.
Die These lautet also: Die Grünen seien eine Verbotspartei. Und welche Daten könnten das bestätigen oder widerlegen? Das Wahlprogramm.
Also: Hände gerieben und losgelegt, liebe Freunde der sinnfreien Sonntagabendbeschäftigung!
Quellen
Die Wahlprogramme stammen von PsychArchives.org [1]. Dort befinden sich die Programme der Wahlperiode von 2003 bis 2021. Eine zusätzliche Quelle für noch ältere Wahlprogramme befindet sich unter manifesto-project.wzb.eu , nicht nur für Deutschland. Falls du auch mal nicht schlafen kannst!
Die Wahlprogramme stehen als DOCX, PDF und Textdateien zur Verfügung – für die Auswertung sollte die Textdatei ausreichen, zumal diese auch kleiner sind.
Ich habe mich für die Wahlprogramme der folgenden “großen” Parteien entschieden: Die Piratenpartei und “Die Partei” sind aus Sympathiegründen vertreten. Die FDP, weil… naja, eigentlich gehören sie ja auch dazu.
- CDU/CSU
- SPD
- Bündnis 90/Die Grünen
- Die Linke
- FDP
- AfD
- Die Partei
- Piratenpartei
Datenaufbereitung
Ich habe mich für die faule, technologische Variante entschieden: Die Auswertung per LLM. Vulgo Chatbot.
Die folgenden Modelle habe ich für die Auswertung verwendet. Es handelt sich ausschließlich um “kostenlose Zugänge”. Grundsätzlich habe ich immer den einfachsten Modus gewählt, da die Erkennung von “Verboten” nicht sehr aufwändig sein sollte. Außerdem fand jede Analyse in einer neuen, wenn möglich auch anonymen, Konversation statt, um den Einfluss vorheriger Eingaben zu vermeiden.
Nur mit drei Modellen konnte ich den gesamten Zeitraum durchforsten: Qwen, Grok und Gemini.
Deepseek
Das Token-Limit des normalen Modus ist sehr streng, deswegen habe ich es mit “Deep Thinking” probiert. Selbst dann führte das Modell die Aufgabe nicht immer vollständig aus.
Microsoft Copilot
Obwohl ich mit Copilot bisher relativ gute Erfahrungen gemacht habe, enttäuscht Microsofts Chatbot hier auf ganzer Linie: Die Auswertung wurde komplett abgelehnt. Die Begründung ist zunächst eher irritierend und widersprüchlich:
Das von dir bereitgestellte Dokument ist blockiert und ich habe keinen Zugriff auf seinen Inhalt. Daher kann ich die geforderte Analyse nicht direkt durchführen. Wenn du möchtest, kannst du den relevanten Textabschnitt (oder das gesamte Dokument) hier im Chat einfügen. Dann kann ich jede Verbotsaussage extrahieren, sie strikt in „Explizites Verbot“ oder „Semantisches Verbot“ einordnen und das Ergebnis im geforderten JSON-Format ausgeben.
Also was jetzt, Copilot – blockiert oder nicht blockiert? Erst auf Nachfrage erfahre ich, was “blockiert” genau heißt:
Was soll das bedeuten? Warum kannst du das Textdokument nicht verarbeiten? Das von dir hochgeladene Dokument wurde durch ein Inhalts‑Filter blockiert. […]
Aber wenn ich es direkt in den Chat kopiere, funktioniert es? Ja, genau 👍 — wenn du den Text direkt hier in den Chat einfügst, kann ich ihn ohne Blockade verarbeiten.
Das ist natürlich völliger Unsinn. Auch wenn ich den gesamten Korpus in den Chat kopiere, erhalte ich die gleiche Meldung. Danke für nichts, Microsoft.
Claude Sonnet 4.5
Claude ist als Coding Agent ein wertvoller Begleiter geworden, selbst mit dem kostenlosen Angebot. Für die Auswertung war Claude aber nicht hilfreich, da das zulässige Kontextfenster zu klein ist. Außerdem ist das zurückgelieferte JSON oft fehlerhaft, da die Werte Anführungszeichen enthalten.
Gemini
Gemini gehört zu den wenigen Agenten, die ihre Arbeit nicht nur zuverlässig ausgeführt haben, sondern auch über ein wirklich großzügiges Token-Limit verfügen. Das Angebot wird nur noch von Grok und Qwen übertroffen. Nur einmal reichte der “Fast-Modus” nicht aus; für das Parteiprogramm der SPD von 2021 musste ich den “Thinking-Modus mit 3 Pro” einsetzen.
Gemini hat übrigens konsequent die Vorgabe ignoriert, nur die ersten 100 Zeichen des Zitats zu liefern.
Grok 4.1
Auch Musks AI ist sehr großzügig, wenn es um das Verarbeiten vieler Daten geht. Die Ergebnisse sind zuverlässig, allerdings scheitert Grok daran, ein vernünftiges JSON-Artefakt zu liefern. Syntaktisch korrekt, aber nicht korrekt formatiert. Nur ein Hygiene-Problem, aber dennoch ärgerlich.
Qwen3-Max
Bei Qwen3-Max gibt es gefühlt keine Grenze für Anfragen. Das ist sehr erstaunlich. Ich konnte ohne Pause alle Wahlprogramme für 5 Wahlperioden hintereinander verarbeiten.
Mistral
Auch Mistral verfügt über ein kostenloses Angebot, allerdings ist das Ergebnis ernüchternd. Offensichtlich schafft es das Modell nicht, die Aufgabe vollständig zu verstehen; vielleicht liegt der Fehler aber auch bei meinem Prompt?
Methodik
Verbote identifizieren
Jedes Modell soll die Wahlprogramme nach expliziten oder semantischen Verboten durchsuchen ( den Prompt findest du hier ). Ein explizites Verbot zeichnet sich durch bestimmte Signalwörter aus, wie “verboten” oder “untersagt”. Semantische Verbote ergeben sich aus dem Kontext – hier dürfte es auf die Interpretationsfähigkeit des Modells ankommen. Das Ergebnis folgt diesem Schema:
1 {
2 "category": "semantisches Verbot",
3 "topic": "Keine pauschalen Zuwanderungskontingente und Umverteilungsquoten",
4 "location": "Kapitel 9 - Migration, Asyl und Integration",
5 "originalQuote": "Keine pauschalen Zuwanderungskontingente und Umverteilungsquoten, egal ob im nationalstaatlichen",
6 "classification": "ZUWANDERUNGSKONTINGENTE"
7 }
Verbots-Kategorien
Das Clustering der Verbote erfolgte im Nachgang algorithmisch (classify_topics.py). Im Prinzip könnte man das noch mit einem LLM verfeinern, der Mehrwert ist aber zu gering.
Das Skript arbeitet in zwei Schritten:
- Keyword-Mapping: Zunächst wird geprüft, ob der Text Schlagwörter aus einer vordefinierten Liste enthält:
1TOPIC_MAPPING = {
2 "Rüstung & Waffen": ["waffen", "rüstung", "export", "drohnen", "kampf", "militär", "bundeswehr", "abrüstung", "krieg", "panzer"],
3 "Umwelt & Klima": ["klima", "co2", "umwelt", "emissionen", "kohle", "atom", "energie", "fossile", "plastik", "diesel", "verbrenner", "naturschutz", "wald", "wasser", "luft"],
4 "Verkehr & Mobilität": ["tempolimit", "auto", "verkehr", "flug", "bahn", "mobilität", "diesel", "pkw", "lkw", "autobahn", "straße", "radverkehr", "öpnv"],
5 "Soziales & Arbeit": ["lohn", "arbeit", "rente", "hartz", "sozial", "mindestlohn", "leiharbeit", "befristung", "armut", "sicherung", "arbeitslos"],
6 "Wirtschaft & Steuern": ["steuer", "wirtschaft", "finanz", "unternehmen", "konzern", "banken", "schulden", "haushalt", "subvention", "markt", "handel"],
7 "Digitales & Überwachung": ["daten", "überwachung", "internet", "digital", "kamera", "vorratsdatenspeicherung", "uploadfilter", "netz", "cyber", "künstliche intelligenz"],
8 "Migration & Asyl": ["asyl", "migration", "flüchtling", "grenze", "abschiebung", "einwanderung", "integration"],
9 "Gesundheit & Drogen": ["drogen", "cannabis", "gesundheit", "pflege", "medizin", "impfung", "tabak", "alkohol", "krankenhaus", "versicherung"],
10 "Bildung & Forschung": ["bildung", "schule", "uni", "forschung", "studium", "kita", "ausbildung", "wissenschaft", "lehrer"],
11 "Wohnen & Miete": ["miete", "wohnen", "immobilien", "bau", "spekulation", "wohnraum", "eigentum"],
12 "Tierschutz & Landwirtschaft": ["tier", "landwirtschaft", "fleisch", "agrar", "gentechnik", "glyphosat", "bauern", "massentierhaltung"],
13 "Demokratie & Recht": ["demokratie", "recht", "wahl", "lobby", "korruption", "partei", "extremismus", "verfassung", "grundgesetz", "justiz"],
14 "Gleichstellung & Gesellschaft": ["frauen", "gleichstellung", "gender", "familie", "kinder", "jugend", "diskriminierung", "inklusion", "vielfalt", "queer"],
15 "Europa & Außenpolitik": ["europa", "eu", "außenpolitik", "international", "welt", "frieden", "menschenrechte"]
16}
- Heuristik: Greift keine der Kategorien, werden Stoppwörter und kurze Begriffe entfernt. Das längste verbleibende Wort wird dann als Kategorie angenommen (basierend auf der Annahme, dass im Deutschen das längste Wort oft das spezifische Substantiv/Kompositum ist).
Konsens
Hier stelle ich dar, ob es Überlappungen bei der Erkennung spezifischer Verbote gibt. Dazu wird erst ermittelt, an welcher Position sich ein Verbot befindet (anhand des Zitats in originalQuote). Finden andere Modelle an der selben Stelle ein Verbot, wird das als Übereinstimmung – also Konsens – gewertet.)
Je mehr Modelle an dieser Stelle ein Verbot erkennen, desto höher ist die Konsensrate eines Verbotes.
Über den Regler Toleranz-Radius lässt sich die Toleranz einstellen. Es werden also Verbote als ein Verbot identifiziert, deren Position in diesem Toleranz-Bereich liegt. Je niedriger der Wert, desto mehr “individuelle Verbote” gibt es. Je höher – desto weniger Verbote.
Auswertung
Das Dashboard befindet sich hier: https://verbote.nickyreinert.de . Sofern nicht anders angegeben, beziehe ich mich auf die Parteiprogramme von 2021.
Sinnloserweise zeigt die erste Ansicht “nur” die Ergebnisse eines Modells für ein ausgewähltes Jahr und eine Partei an. Als Einstieg und zum Schmökern. Da die Ergebnisse aber alles andere als eindeutig sind, schauen wir gleich mal im Bereich “Konsens” vorbei.
Dieses Chart zeigt die Summe aller Verbote pro Partei, die von jedem Modell erkannt wurden (namens “Verbots-Cluster”):
Die erste Erkenntnis lautet: Jede Partei verbietet irgendwas. Sogar die FDP.
Die zweite Erkenntnis, die wir aber mit Vorsicht genießen, lautet: Das Wahlprogramm der Grünen enthält nicht die meisten Verbote. Es sind die Linken. Gefolgt von der AfD. Auf Platz drei folgt die FDP. Und dann die Grünen.
Nun ist es aber so – und soviel zum Thema Vorsicht: Diese Aussage basiert auf der Summe aller Verbote. Die Ergebnismenge lässt sich über den Toleranzbereich noch etwas verfeinern. Wir fassen Verbote zusammen, die nahe zueinander liegen, um doppelte Zählungen zu vermeiden. In der Regel sollte das nicht vorkommen, da die Modelle recht zuverlässig die Textzitate liefern, anhand dessen wir die Position bestimmen, am Beispiel der FDP:
An dem Ergebnis ändert sich indes wenig. Um sich der Frage zu nähern, welches Modell die besten Ergebnisse liefert, werfen wir einen Blick auf die Konsens-Metrik:
Wenn ein Modell ein Verbot erkennt, das auch andere Modelle erkannt haben, ist das ein “bestätigter Fund”. Mistral zeigt hier deutlich Schwächen. Das zeigt auch ein Blick auf den Scatter-Plot der Fundstellen, wie hier der Auszug für 2021:
Da Mistral sehr viele Verbote erkannt hat, aber das nur mit einer geringen mutmaßlichen Zuverlässigkeit. Eine kurze stichprobenartige Überprüfung zeigt, wo Mistral scheitert. Diese Aussage:
“Die Regierung hat in der Pandemiebekämpfung versagt, weil sie die Profitinteressen der Wirtschaft über den…”
wurde von Mistral als “semantisches Verbot” erfasst. Ich gehe nicht weiter ins Detail – die Verbote lassen sich auf der Dashboard-Seite selbst nachvollziehen.
Claude hat zwar mit 60% eine relativ gute Konsensrate, will aber insgesamt auch über 460 Verbote erkannt haben. Aus dem Grund macht es vielleicht Sinn, diese beiden Modelle in der Betrachtung außen vor zu lassen.
Ohne dem P‑Hacking anheim zu fallen, können wir das Ergebnis noch etwas verfeinern und Fundstellen mit “niedrigem Konsens” ausblenden. Also Verbote, die nur von wenigen Modellen erkannt wurden. Das Bild ändert sich dadurch drastisch:
Interessanterweise verändert sich das Bild nun grundlegend – wenngleich immer noch nicht “Die Grünen” an der Spitze stehen. Für das folgende Chart habe ich den Bereich außerdem auf nur “explizite Verbote eingeschränkt, um “weiche” Aussagen wie “wir lehnen ab” nicht als Verbot zu zählen.
Aber auch hier lässt sich kein deutlicher “Sieg” der “Grünen” erkennen, erneut sind es die “Linken” und die “AfD” auf den vorderen Plätzen.
Wer will, kann noch einmal auf Modell‑Ebene blicken: Hier einmal alle Parteien für 2021 und alle 7 Modelle:
Auch wenn die Auswertung durch die LLMs fehleranfällig ist und die Modelle nicht einig sind, fehlt trotzdem die eindeutige Tendenz, die die These der “Verbotspartei Grüne” stützen könnte. Zwar haben die Grünen laut Qwen in 2021 die meisten Verbote in ihrem Wahlprogramm. Aber für 2017 oder nur “explizite Verbote” sieht das schon wieder ganz anders aus - von einer klaren Diagnose kann also keine Rede sein.
Wer will, kann noch ein wenig durch die Daten stöbern und sich z. B. die Verbote nach Kategorien anschauen:
Oder wie sich die Anzahl der Verbote über die Jahre entwickelt hat:
Zusammenfassung
Analyse der Wahlprogramme großer deutscher Parteien zur Frage, ob die Grünen tatsächlich eine 'Verbotspartei' sind.
Hauptthemen: Politische Analysen Wahlprogramme Künstliche Intelligenz Datenanalyse
Schwierigkeitsgrad: Mittel
Lesezeit: ca. 10 Minuten