data science to go

Bundestags Mining – Teil 4

Auch einen guten, frei verfügbaren Datensatz für ein Clustering von deutschsprachigen Berufsbezeichnungen habe ich nicht gefunden. So blieb mir nichts anderes übrig, als relativ aufwändig ein manuelles Mapping zu erstellen. Folgende Schritte waren dazu nötig:

  • Bei einer Komma getrennten Aufzählung von Berufen wurde der erste gewählt, also z.B. „Rechtsanwalt, Parl. Staatssekretär a. D.“ => „Rechtsanwalt“. Hier musste ich mich auf eine sinnvolle Sortierung der Einträge verlassen. (Mir ist die Anfechtbarkeit dieses Ansatzes bewusst. Aber wie sollte ich mir das Recht herausnehmen, aus den teilweise 3 oder 4 aufgezählten Ausbildungen und Berufe „den richtigen“ herauspicken zu können?)
  • Kürzel, die die Art der Ausbildung („Dipl.“, „BA“) anzeigen oder reine beschreibende Zusätze zur eigentlichen Berufsbezeichnung darstellen („a.D.“) wurden weggelassen. Also z.B. „Postbeamter a.D.“=> „Postbeamter“
  • Weibliche und männliche Formen wurden durch eine generische Form ersetzt. Also z.B. „Jurist“ => „Jurist*in“ (auch hier war leider manuelle Arbeit nötig – falls jemand ein gutes Python Paket kennt, das diese Aufgabe zuverlässig für deutschsprachige Begriffe automatisiert, freue ich mich über entsprechende Hinweise 😉 )
  • Dann folgten eine Reihe manuell erstellter Regeln, die definieren, bei welchen Substrings auf welchen Beruf gemappt werden sollte. Hier ein kleiner Auszug:

Sobald ein String aus dem rechten Teil der Zuweisung (z.B. „anwalt“) in der nach den vorherigen Schritte noch verbleibenden Berufsbezeichnung auftauchte, wurde der links auftauchende String (z.B. „Jurist*in“) als Berufsbezeichnung gemappt. Diese Aufgabe war auch ein wunderbarer Anlass, mein Wissen über regular expressions in Python nochmal aufzufrischen. Diese helfen einem beispielsweise, alle möglichen Schreibweisen von „Dr. Jur.“, „dr.Jur.“, „dr jur“ usw durch eine einzige Expression abzufrühstücken.

Im Zuge dieses Schrittes gab es also auch eine – durchaus nicht objektive – Zusammenfassung von Berufsfamilien, wie sie mir persönlich sinnvoll schien. So habe ich beispielsweise „Maurer“, „KFZ-Mechaniker“ und „Bäcker“ zum Oberbegriff „Handwerker“ zugeordnet. Wer sich in seinem Berufsfeld hier missverstanden fühlt, möge mir mein fehlendes Feingefühl diesbezüglich verzeihen. Immerhin konnte ich so in relativ mühsamer Kleinarbeit die Anzahl der verschiedenen Berufsbezeichnungen von über 2000 auf 588 reduzieren.

Auf den verbleibenden Daten ergab sich mal wieder der typischen „long-Tail“-Effekt: die häufigsten Berufsbezeichnungen (etwa „Jurist*in“) machen den größten Teil der Menge aus, während die seltensten 441 Berufe (z.B. „Harfenist“ und „Hauptwirtschaftsleiter“) nur jeweils einmal auftauchen.

Die Häufigkeitsverteilung sieht dann so aus:

Häufigkeitsverteilung der Berufe nach dem manuellen Mapping

Was ist hier der erste Eindruck? Immerhin tauchen jetzt unter den häufigsten Berufen auch einige nicht reine Schreibtischtätigkeiten auf wie „Landwirt“ oder „Handwerker“ auf. Dennoch sind die Juristen weiterhin einsame Spitze, was die reine Anzahl angeht, gefolgt von den Berufspolitikern.

Beobachtung: über alle Wahlperioden und Parteien hinweg betrachtet, dominieren deutlich die Juristen im Parlament, gefolgt von Berufspolitikern, Lehrern und Kaufleuten.

Zu einem „Berufspolitker“ wird man bei diesem Mapping, wenn man als einziges (oder erste Angabe in einer Liste von Berufsbezeichnungen) ein Regierungsamt wie „Bundesminister“ oder „Bürgermeister“ angegeben hat.

1 Kommentar

  1. THO

    Sehr schöne Abendlektüre, vielen Dank dafür!

    Das ist die Mischung, die mein Data Science Herz aufgehen lässt:
    – wie die Analysen immer aufwendiger werden, weil noch kurz Word Embeddings, ein Dashboard oder Regexe eingebaut werden sollen
    – wie der Perfektionismus durchkommt und immer noch erklärt wird, dass ja alles nicht sauber ist und was man alles noch zusätzlich machen könnte
    – wie gleichzeitig aber doch ganz viele verschiedene Themen integriert werden, in diesem Fall gesellschaftlicher Natur (gendergerechte Berufe, Anteil an Single-Haushalten oder oder oder)
    – und am Schluss irgendwie der rote Faden noch da ist und die Handlungsempfehlungen rüberkommen

    Und ja, ich hätte 1000e Ideen, wo man nochmal reinschauen könnte. Beispielsweise nimmt der Anteil der Personen in Erwerbstätigkeit in der Landwirtschaft nun auch in der Gesamtbevölkerung ab (https://de.statista.com/statistik/daten/studie/242856/umfrage/bedeutung-der-landwirtschaft-nach-anzahl-der-erwerbstaetigen/), was aber sicherlich nicht gegen die These spricht, dass keine repräsentative Vertretung vorhanden ist. Und warum dürfen Politiker nach einer Scheidung nicht wieder verheiratet sein? Und wollen wir überhaupt lieber ältere PolitikerInnen, weil sie mehr Erfahrung haben, oder lieber jüngere und ledige NaturwissenschaftlerInnen, die anders denken? Vielleicht checke ich doch lieber nochmal die wahl-o-mat Analyse von David Kriesel, da gibt es zumindest nur endliche Optionen 😉

    Und ja: Warum gibt es eigentlich kein Python-Paket, das gendern kann? Gibt es nicht schon genug Texte, bei denen man die Wortneuschöpfungen rausziehen könnte? Mit *chen, Innen oder sonstwas? Mal auf die endlose Liste guter Ideen setzen, vielleicht kommt ja mal so richtig schlechtes Wetter …

    Aber auch aus technisch-finanziellem Interesse: Warum kostet dein Dashboard nur in ECR und nichts in ECS? Gibt es da keine Run Costs? Das Dashboard ist ja immerhin öffentlich erreichbar und nutzbar und der Container läuft doch bestimmt auch dauerhaft.

    Zum Schluss, completely unrelated, warum fehlt im Seitentitel und Footer das R? Das triggert mich 😉

    Also Danke nochmal, war schön zu lesen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

© 2024 yourcupofdata.com

Theme von Anders NorénHoch ↑