Political Relations

Laura Most, Merle Appelt, Hannah Büchner, Fernando Azevedo & Martin Weber

Political Relations

Änderungsverlauf der Wikipedia Seite »Recep Tayyip Erdoğan« in Bezug zur politischen Lage in der Türkei.

Dieses Projekt wurde im Rahmen der Vorlesung Grundlagen der Datenvisualisierung [GDV] entwickelt und beschreibt den Änderungsverlauf der Wikipedia Seite »Recep Tayyip Erdoğan« in Bezug auf die politische Lage der Türkei. Auf der Startseite sind die Aufrufe und Bearbeitungen von 2014 bis Mai 2017 zu sehen.

Dabei sind Ereignisse wie die Wahl von Erdoğan zum Präsidenten, der Putschversuch 2016 oder das Referendum zu erkennen. Fühle dich frei, die politische Lage der Türkei in den vergangenen vier Jahren zu erxplorieren!

Political Relations

Einführung / Konzept

Die zentrale Rahmenbedingung dieses Projekts war es Daten aus Wikipedia zu nutzen. Zu Beginn haben wir uns die Frage gestellt, ob politische Affären sich in Wikipedia wiederspiegeln und vor allem bis zu welchem Grad, werden kontroverse Themen hier ausdiskutiert, lassen sich eventuell Muster einer systematischen Manipulation erkennen. Ein politisches Thema, welches uns alle betroffen hat und allgegenwärtig in den Medien war, war die Beziehung zur Türkei und die Konflikte die diese mit sich brachte. Im Mittelpunkt aller Konflikte stand der Präsident der türkischen Republik Recep Tayyip Erdoğan. Anhand seiner Wikipedia Webseite wollten wir unseren Fragen nachgehen. Die Quantität der kontroversen Ereignisse, welche sich um ihn herum drehten, sein Ideologischer Wandel über die letzten Jahre und sein Stand zu Demokratie, Meinungsfreiheit und Netzwerkneutralität, machten ihn zum perfekten Kandidaten.

Die Grundidee war es anhand der Views, Edits und Autoren seiner Wikipediaseite, in den Sprachen Deutsch, Englisch und Türkisch, Beziehungen zu den politischen Ereignissen zu suchen, Bearbeitungsmuster zu erkennen und Anomalien zu finden. Weiterhin wollten wir anhand der bearbeiteten Kategorien der Autoren und dessen Edits, Aussagen über eine politische Gesinnung treffen. Diese Daten wollten wir möglichst intuitiv, attraktiv und interaktiv aufbereiten, um zukünftigen Nutzern die Möglichkeit zu gewähren, eigenständig Informationen zu gewinnen.

Fragen:

  • Haben politische Ereignisse Einfluss auf die Wikipedia Seite und lassen sich diese deutlich heraus erkennen?
  • Haben die Ereignisse unterschiedlichen Einfluss, in den verschiedenen Sprachen?
  • Sind politische Gesinnungen zu erkennen und haben diese Einfluss auf die Wikipedia Seite?

Daten / Auswertung

Daten

Unsere Daten beziehen sich nur auf die Wikipedia Seite von Erdoğan, analysieren wollten wir Unterschiede zwischen der Deutschen, Englischen und Türkischen Seite. Dazu haben wir uns die Views, Edits und die Autoren über den Zeitraum der letzten 4 Jahre abgerufen.

Die Erhebung, Aggregation und das Parsing der Daten findet über ein in PHP entwickeltes Backend statt. Mit Hilfe von Cronjobs können die Abrufe der API automatisiert werden und täglich abgerufen werden. Erweitert werden müsste jedoch dazu der Import in die MongoDB und das Frontend - diese sind noch nicht automatisierbar.

Die Views der drei verschiedensprachigen Wikipedias (deutsch, englisch, türkisch) werden mit einem Script (views.php) über zwei Services abgerufen. Die Aufrufe ab Juli 2015 werden direkt über die API von Wikipedia abgerufen. Ältere Views wurden über stats.grok.se abgerufen. Mit einem zweiten Script werden die Views auf Wochen aggregiert und als CSV abgelegt, damit sie direkt in das Frontend eingebunden werden können (views_per_month.php).

Um den Abruf der Revisions (Bearbeitungen eines Artikels) in den drei Sprachen kümmert sich ein weiteres Script (revisions.php). Diese werden auch über die API von Wikipedia abgerufen und pro Sprache als JSON abgelegt, ohne diese weiter zu bearbeiten.

Mit den Revisions können nun die Artikeldaten abgerufen werden (articles.php). Gespeichert werden von der Wikipedia API die Page-ID einer Seite und der Seitenname in einer JSON Datei pro Sprache. Zusätzlich werden aus den bereits abgerufenen Revisions die Summen der Revisions zur Seite gespeichert, sowie die Nutzer, die die Seite bearbeitet haben.

Zuletzt werden noch die Kategorien zu den Artikeln abgerufen (categories.php). Diese werden an die Artikeldaten gehängt, es werden keine Kategorien für Benutzer Diskussionen und Diskussionen zu Artikeln abgefragt.

Die Revisions, Views und die Artikeldaten inkl. Kategorien müssen für die API Aufrufe des NodeJS Servers in die MongoDB importiert werden. Die CSV Dateien für die Views müssen für die Liniendiagramme im Frontend abgelegt werden.

API-Quellen:

  • Allgemeine MediaWiki API Hilfseite: https://www.mediawiki.org/wiki/API:Main_page
  • Wikipedia API: https://en.wikipedia.org/w/api.php?action=help&modules=main
  • Views von älter als Juli 2015: http://stats.grok.se/json/$lang/$yearmonth/Recep_Tayyip_Erdo%C4%9Fan
  • Views jünger als Juli 2015: https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/$lang.wikipedia/all-access/user/Recep_Tayyip_Erdo%C4%9Fan/daily/$fromDate/$today
  • Articledaten: https://$lang.wikipedia.org/w/api.php?action=query&format=json&prop=revisions&titles=Recep_Tayyip_Erdo%C4%9Fan&rvprop=timestamp|user|comment
  • Revisions: https://$lang.wikipedia.org/w/api.php?action=query&format=json&list=usercontribs&ucuser=$user&uclimit=500
  • Kategorien: https://$lang.wikipedia.org/w/api.php?format=json&action=query&prop=categories&pageids=$pageId

Die Links zu den einzelnen API Aufrufen enthalten Variablen und können aus diesem Grund nicht direkt angeklickt werden, bzw. liefern dann ein ungültiges Ergebnis. Die Variable $lang muss durch die Sprachen ersetzt werden (en, de, tr). $yearmonth muss mit einem Datum ersetzt werden (Format: YYYYMM). $fromDate und $toDate wird auch durch ein Datum ersetzt (Format: YYYYMMDD). $user muss durch den Nutzernamen des abgefragten Benutzers ersetzt werden. Die $pageId zur Abfrage der Kategorien muss durch die ID der Wikipedia Seite ersetzt werden (Bsp.: Erdogan hat die PageId 55688).

Prototyp / Ergebnisse

Experimente

Um erste Erkenntnisse über den Zusammenhang zwischen realen Ereignissen und dem Einfluss auf die Wikipedia Seite zu erschließen, haben wir Visualisierungsexperimente in Tableau erstellt. Hierfür wurden small-multiples verwendet. Auf der x-Achse wurde die Zeit und auf die y-Achse die jeweilige Anzahl der Aufrufe oder Bearbeitungen für den Zeitraum aufgetragen. Anhand der Daten konnten wir eine Verbindung zu einigen wichtigen Ereignissen erstellen, wie zum Beispiel dem Putschversuch im Juli 2016. Es wurde auch erkenntlich, dass sich Peaks in den Aufrufen auch in den Bearbeitungen wiederfinden lassen.

Bearbeitungen der Wikipedia Seite in den lezten vier Jahren

Visualisierung / Gestaltprozess

Nachdem sich die Gruppe für ein Thema entschieden hatte und die Verfügbarkeit von Datenmaterial gesichert war, haben wir begonnen erste Schritte in einer möglichen Visualisierung zu gehen. Mit Hilfe von groben Skizzen und ersten einfachen digitalen Entwürfen haben wir versucht erste gewonnene Informationen in eine visuelle Form zu bringen. Über Sunburst Diagramme und Polar Area Charts entwickelten wir schlussendlich eine Kombination aus mehreren Diagrammen. Liniendiagramme wurden zur Darstellung der Views und Revisions verwendet, eine Bubble Chart zur Darstellung der wichtigsten politischen Ereignisse, eine Donut Chart, sowie ein Balkendiagramm um die Daten optimal zu vermitteln und Erkenntnisse hervorzuheben. Alle interaktiven Grafiken agieren miteinander und ermöglichen dem Nutzer sich aus vielen Informationen ein Bild zu erschließen. Die drei vorab ausgewählten Sprachen mit dem höchsten Anteil an Bearbeitung der Wikipedia-Seite werden durch drei Farben, die sich durch das gesamte Projekt ziehen codiert und schaffen so eine Übersichtlichkeit.

Implementierung

Die Abfrage der Daten erfolgt über das PHP-Backend aus dem Kapitel [Daten]. Um die Daten im Frontend auf der Unterseite darzustellen (Donutcharts, Top User) genügen keine CSV Dateien, da Abfragen zu einem bestimmten Zeitraum getätigt werden müssen, die im Frontend zu viel Ressourcen kosten würden.

Darum haben wir zusätzlich eine API in NodeJS für das Frontend programmiert. Um eine optimale Geschwindigkeit zu gewährleisten, haben wir uns für die Kombination NodeJS mit mongoDB entschieden. Für eine REST konforme API wurde auf das Repository Express zurückgegriffen. Die API ist über die folgende URL Political Relations erreichbar.

Über die API können die Views (/views) und die Benutzer (/users) für alle drei Sprachen über einen bestimmten Zeitraum abgerufen werden. Dazu sind die Parameter from und to nötig (Bspw: ?from=2014-06-01&to=2015-06-20)

Abrufe der Views

Der Abruf der Benutzer ergibt folgendes Ergebnis:

Abrufe der Benutzer

Die Ergebnisse der API werden dann direkt von den Donutcharts und der Top Users Darstellung (Balkendiagramm) übernommen. Die API wird auch jedes mal abgerufen, wenn der Zeitraum im Slider neu eingestellt wurde.

Der Slider baut auf dem ion.RangeSlider auf und wurde an eine Datumsanzeige (moment.js) angepasst und an das Layout. Source

Als Grundgerüst für unsere Webseite verwenden wir das Bootstrap Grid. Für die bessere Behandlung von verschiedene Nutzerinteraktionen wird jQuery verwendet.

Die Umsetzung der Visualisierungen erfolgte mittels der Javascript Library D3.js. Hierbei wurden die folgenden Beispiel-Diagramme als Orientierung genutzt und auf unsere Bedürfnisse angepasst: * Line Charts * Donut Charts * Bar Chart

Die Verwendung von D3.js erwies sich als schwierig, da umfassende Tutorials zum Erlernen der Grundlagen oder hilfreich dokumentierte Diagramm-Beispiele so gut wie nicht zu finden waren.

Probleme

  • Wird die Maus über eines der Line Charts gehovert, so sollten eigentlich die aktuellen Zahlen der Views oder Edits des entsprechenden Diagramms angezeigt werden. Hierbei besteht noch das Problem, das beim ersten Laden der Seite die Zahlen aus dem Wertebereich der Edits angezeigt werden. Beim weiteren Nutzen der Seite, genauer nach dem Besuch der Unterseite, werden dann allerdings in beiden Diagrammen die Zahlen aus dem Wertebereich der Views angezeigt.
  • Weiterhin überlagern sich bei schneidenden Linien die Hoveranzeigen der Zahlen und werden dadurch unleserlich.

Erkenntnisse

Die Relation von den Aufrufen und Bearbeitungen der Wikipedia Seite von Recep Tayyip Erdoğan wird anhand der Liniendiagramme veranschaulicht. Es ist sehr gut zu erkennen, dass die Türkische Wikipedia-Seite im Jahr 2014 deutlich öfter aufgerufen wurde, also die Deutsche Wikipedia-Seite oder Englische Wikipedia-Seite. Anfang des Jahres hebt sich das Gesetz zur Internetkontrolle (März und April) in den Aufrufen hervor, sowie die Wahl von Recep Tayyip Erdoğan zum Präsidenten der Republik Türkei im August. Außerdem spiegelt sich auch die Präsidentschaftswahl in den Bearbeitungen im unteren Liniendiagramm wieder.

Vergleich von Anzahl der Aufrufe und Bearbeitungen im August während der Präsidentschaftswahl.

Weiterhin zeigt unsere Visualisierung den Zusammenhang von tatsächlichen Ereignissen und den Views von »Recep Tayyip Erdoğan« Wikipedia-Artikel. Ein Beispiel hierfür bietet die Böhmermann Affäre im Jahr 2016. Obwohl ein vergleichsweise kleines Ereignis demonstriert dies, wie stark im Vergleich zum restlichen Jahr die deutsche Wikipedia Seite in diesem Zeitraum aufgerufen wurde.

Darüber hinaus ist im März 2017 im Rahmen der Nazivergleiche der Niederlande und Deutschland durch den türkischen Präsidenten ein weiter unverkennbarer Anstieg der Aufrufe der deutschen Wikipedia erkennbar. Zuvor dominierten hauptsächlich die Aufrufe der türkischen Wikipedia, die im Zusammenhang mit Wahlkampfauftritten zum türkischen Referendum stehen.

Aufrufe der Deutschen Wikipedia während der Böhmermann-Affäre deutlich erhöht.

Das Balkendiagramm zur Visualisierung der aktivsten Wikipedia-Nutzern belegt, dass es tatsächlich Nutzer gibt, die über mehrerer Sprachversionen hinweg den Artikel zum türkischen Präsidenten Recep Tayyip Erdoğan bearbeiten. Zeitraum: 24.08.14-07.09.14

Der Benutzer "Cobija" bearbeitete sowohl in türkisch als auch englisch.

Fazit

Ausgehend von unseren ursprünglichen Ideen mussten wir leider in der Umsetzung der Visualisierungen Abstriche verzeichnen, die auf mangelnde Kenntnisse in D3.js und fehlende Zeit für die Umsetzung zurückzuführen sind. In diesem Rahmen sind die erstellten Visualisierungen jedoch gelungen und besonders die Interaktivität unserer Visualisierung ist hervorzuheben. Dennoch sind die noch recht schlichten Diagrammtypen in ihrer Gestaltung durch aus ausbaufähig.

Allerdings ließen sich zwei unserer zu Beginn formulierten Hypothesen durch die Visualisierungen bestätigen. So spiegeln sich gerade die politischen Ereignisse in den Aufrufzahlen der Wikipedia Seite hervorragend wieder. Die Aufrufzahlen korrespondierten merklich gerade mit den schockierenden oder besorgniserregenden Nachrichten.

Die zweite Hypothese, die durch unser Visualisierungsprojekt bestätigt wurde, bezieht sich auf den unterschiedlichen Einfluss auf die verschiedenen Sprachversionen der Wikipedia. Gerade einige Ereignisse, die die Türkei innenpolitisch betroffen hat, haben in den anderen Sprachversionen kaum Auswirkungen verursacht.

Des Weiteren wären die nächste Schritte, zum einen die bestehenden Probleme zu lösen und zum anderen dass wir die Visualisierung der Nutzer und in welchen Kategorien sie Beiträge und Überarbeitungen geleistet haben umsetzten. Dazu hatten wir schon einen Ansatz, den wir leider aus zeitgründen nicht mehr realisieren konnten. Geplant war die Visualisierung so, dass auf der linken Seite die Nutzer stehen, die nur den Artiekl von Erdoğan bearbeitet haben. Auf der rechten Seite würden die Nutzer aufgelistet werden, die auch andere Artiekl bearbeitet haben. Daneben wären die jeweiligen Artikel mit den Namen und in der dritten Spalte, die Überkategorien dieser Artikel aufgeführt.

Mögliche Visualisierung der Bearbteitung von Artikeln in verschiedenen Kategorien

Spannend wäre auch eine Analyse der Wikipedia Nutzer anhand ihrer Bearbeitungen bezüglich ihrer Einstellung zum türkischen Präsidenten und der politischen Lage. Dabei handelt es sich allerdings um eine äußerst aufwändige Aufgabe, da die Einschätzung der Einstellung anhand von Textanalyse erfolgen müsste.

Aus technischer Sicht kann man noch erwähnen, dass der Import in die MongoDB und das Frontend automatisierbar gemacht werden.