Moritz Thomas, Timo Sona, Valentin Plattner, Alexander Daum & Sebastian Schuler
visuwiki
Jeder Nutzer von Wikipedia kennt es: Man liest einen Wikipedia Artikel, sieht eine interessante Verknüpfung und klickt darauf. Auf diese Weise navigiert man sich immer weiter durch das Netzwerk von Artikeln. Auf dieses Vorgehen wollten für unser Vorhaben - das Vergleichen von verlinkten Wikipedia-Artikeln anhand von Popularität und Kontroversität - aufbauen und dabei unterstützen. Um diesen Vergleich zu ermöglichen, haben wir eine Visualisierung erstellt in welcher die meist besuchten Verlinkungen für einen beliebigen Artikel mit deren Besucherzahlen und Kontroversiät aufgezeigt werden.
Einführung / Konzept
Das Projekt VisuWiki entstand im Rahmen der Vorlesung GDV (Grundlagen der Datenvisualisierung) und wurde als einzige Vorgabe dadurch beschränkt, dass es auf Daten der Wikipedia API aufbauen muss. Mit dem Fokus auf Wikipedia haben wir uns die Frage gestellt ob es möglich ist, bei Wikipedia Artikeln die direkt miteinander verknüpft sind einen Zusammenhang zwischen der Populatität und der Kontroversität zu erkennen.
Hierfür wollten wir dem Benutzer die Möglichkeit bieten, den Namen eines beliebigen Wikipedia-Artikels für den er diese Zusammenhänge wissen möchte anzugeben. Außerdem soll dieser in der Lage sein, die Wikipedia-Sprachversion dieses Artikels selbst zu bestimmen. Der Benutzer sollte so wenig wie möglich eingeschränkt und auch beim eingangs erwähnten Navigieren durch das Artikelnetzwerk unterstützt werden.
Daten / Auswertung
Daten
Die für das Projekt bezogenen Daten stammen von der Wikipedia API und können in allen Sprachversionen von Wikipedia abgerufen werden. Um die Verarbeitung der Daten im Frontend zu vereinfachen, werden alle bezogenen Daten vorher in einem auf NodeJS basierenden Backend aufbereitet und über eine REST Schnittstelle bereitgestellt. Folgende Informationen können über die Rest Schnittstelle eingeholt werden:
Der Zeitraum dieser Daten beschränkt sich auf die letzten 60 Tage um Vergleichbarkeit und Aktualität gewährleisten zu können. Die Anzahl der Aufrufe eines Artikels wird als Referenzwert für die Popularität eines Artikels verwendet. Zum Berechnen der Kontroversität, wird die durchschnittliche Anzahl an Bytes, die bei einem Edit hinzugefügt und entfernt wurden mit einem Faktor multipliziert. Dieser Faktor wiederum liegt zwischen 0 und 1 und ergibt sich aus der Anzahl aller Edits, welche etwas hinzugefügt oder gelöscht haben.
Prozess
Im Verlauf des Projekts haben wir versucht eine geeignete Darstellungsform der für uns relevanten Daten zu finden. Schon bei ersten Anfragen über die API wurde klar, das es warscheinlich nicht möglich sein wird alle verknüpften Artikel in einer sinnvollen Visualisierung anzeigen zu lassen, da viele Artikel zu mehreren hunterten weiteren Artikeln weiter verweisen.
In ersten Plänen wollten wir die Verknüpften Artikel über mehrere Ebenen in Hierarchischer Form anzeigen lassen, diese ersten Ideen wurden jedoch wieder verworfen, da wir hier keine Möglichkeit gefunden haben Popularität und Controversität sinnvoll darzustellen.
Weitere Entwürfe befassten sich mit mit der Darstellung der Daten in einem Netzwerk in welchem wir die Größe und Farbe der einzelnen Elemente verwenden wollten, um Popularität und Kontroversität dar zu stellen.
Bei den Netzwerk Diagrammen haben wir festgestellt, dass man bei zu vielen Elementen die Übersicht verliert und haben uns darauf geeinigt, dass wir uns bei den anzuzeigenden Elementen auf wenige Wichtige beschränken, sodass man sofort sehen kann um welchen Artikel es sich jeweils handelt. Um hier einen optisch schöneren Eindruck zu hinterlassen, haben wir uns dafür entschieden Hexagons als einzelne Elemente zu verwenden. Hierbei sollte die Anzahl der Rahmen die Popularität wieder geben und die Farbe die Kontroversität
Um herauszufinden, ob unsere Idee wirklich visualisierbar ist, mussten wir ermitteln, wie aussagekräftig die von uns gewählten Daten sind. Daher visualisierten wir die erhaltenen Links einer Seite zunächst in Tableau und sortierten diese nach der Anzahl der Aufrufe.
Hier stellten wir fest, dass einige erwartete Artikel in den ersten sechs Verlinkungen vorkamen, aber auch Überraschungen. Beispielsweise war einige Tage “Youtube” die populärste Verlinkungen auf der Seite von “Donald Trump”.
Prototyp / Ergebnisse
Visualisierung
Das Ziel der Visualisierung ist es die vorausgewählten Artikel dem Nutzer so zu präsentieren, dass er ihre Popularität und Kontroversität schnell erfassen und mit den anderen Artikeln vergleichen kann. Zudem ermöglicht es diese vereinfachte Darstellung eines Netzwerkes dem Nutzter schnell durch viele Artikel zu navigieren. Um die Visualisierung möglichst intuitiv zu gestalten wird die Kontroversität, die eine Art Gefühlszustand vermittlet durch eine Farbskala von Grün bis Rot dargestellt, wobei Grün eine geringe Kontroversität suggeriert, Rot hingegen eine hohe Kontroversität. Da es sich bei der Popularität um die reine Anzahl der Aufrufe handelt, wird diese auf die Größe der Felder abgebildet.
Interaktionen: - Aufrufen beliebiger Artikel über Suchfenster - Beliebiges weiter-/zurücknavigieren durch klicken auf Hexagons oder Elemente der Verlinkten / zuletzt besuchten Artikel - Einblenden von Detaildrawer bei Hovern über Hexagons - Vergleichen von aktuellem Element und Center Element
Erkenntnisse
Interessante Beispiele die wir bei dem Arbeiten mit den Datensätzen finden konnten, sind unter anderem die Ergebnisse der Suchen nach der Demokratischen Partei im englischen Wikipedia und nach den Anschlägen vom elften September im deutschen wikipedia.
Die Visualisierung bei der demokratische Partei lässt schließen, dass sowohl die demokratische Partei als auch Barack Obama kontroverser sind als der aktuelle Präsident Donald Trump. Der Grund weshalb wir dieses Beispiel so interessant fanden war, dass über Donald Trump (besonders in Amerika) sehr viel in den Medien berichtet und diskutiert wird, er wird weltweit als sehr kontoverser Chrakter gehandelt. Barack Obama hingegen ist schon seit längerer Zeit nicht mehr im Amt und hatte keine erwähnenswerten Medienauftritte.
Das zweite Beispiel bildet die Visualisierung über den elften September im deutschen Wikipedia. Hier waren wir sehr über das Auftreten des Artikels der Stadt Hamburg überrascht. Erst nach erneuter Recherge wurde uns bewusst, dass einige der Attentäter aus Hamburg kamen.
Weitere interessante Beispiele waren zum Beispiel, das “Youtube” als populärer Link bei “Donald Trump” auftrat. Auch konnte man hier Erkennen, dass sich aktuelle Themen in der Popularität der Wikipedia Artikel wiederspiegeln. Am 12.06.2017 war in dem Artikel “Donald Trump” die populärste Verlinkung “Youtube”. Am 26.06.2017 hingegen übertraf die Popularität von “Emmanuel Macron” und “James Comey” die von “Youtube” was durch aktuelle Ereignisse wie die französischen Wahlen bzw. der Amtsenthebung von James Comey durch Donald Trump begründet werden kann.
Probleme
Bei der Implementierung unseres Prototyps sind besonders performancetechnisch einige Probleme aufgetreten. Aufgrund der hohen Anzahl an Verlinkungen - Beispiel Donald Trump mit über 2000 verlinkten Artikeln - die einzeln auf Popularität und teilweise auf Kontroversität geprüft werden mussten, war beim abrufen eines Artikels mit sehr hohen Wartezeiten zu rechnen. Aufgrund dieser war es uns auch nicht möglich die Ergebnisslisten durch backlinks weiter zu filtern ohne diese weiter zu erhöhen. Das Prüfen von verlinkten Artikeln auf Backlinks wäre eine gute Möglichkeit gewesen unrelevante Artikel aus den Ergebnissen heraus zu filtern. So werden zum Beispiel Länderartikel in sehr vielen Artikeln verlinkt obwohl diese oft nicht zum direkten Umfeld gehören. (Siehe Abbildung)
Implementierung
Nachdem wir uns die zur Verfügung stehende Daten angeschaut hatten, fanden wir sehr interessant herauszufinden, welche Artikel mit welchen verlinkt sind. Daher haben wir uns einen Weg überlegt, wie wir Nutzer die miteinander verlinkten Artikel aufbereiten können. Wir entschieden uns für eine möglichst einfach erreichbare, intuitive und interaktive Umsetzung in Form einer Website. Um die Rechenlast für das Endgerät möglichst gering zu halten haben wir die Anwendung in eine Client- und mehrere Server-Komponenten aufgeteilt: Das Frontend wurde mit HTML, CSS und d3 umgesetzt. Im Backend laufen zwei NodeJS-Server, einer hosted eine REST-API, der andere einen Webserver.
Fazit
Mit unserer Visualisierung können wir die Ergebnisse in einer übersichtlichen und Aussagekräftigen Form zeigen. Die Popularität kann gut vom Nutzer wahrgenommen werden. Problematisch ist der Algorithmus zur Berechnung der Kontroversität da dies keine direkt ablesbare und eindeutig verständliche Kennzahl ist. Um diese besser bestimmen zu können, müssten wir noch mehr Zeit in die Analyse und in die Weiterentwicklung des Algorithmus investieren und auch stärker im Dialog mit zukünftigen Nutzern arbeiten. Für zukünftige Weiterentwicklungen des Prototyps könnte man sich außerdem mit einer Vergleichsansicht auseinander setzen in dem verschiedene Artikel miteinander verglichen werden können. Auch über weitere Diagramme in der Detailansicht könnte ein großer Mehrwert erreicht werden. So könnten hier ein Popularitäts- oder Kontroversitätsverlauf angezeigt werden. Auch das Filtern der Verlinkungen (z.B. durch Prüfen auf Backlinks) wäre eine essenzielle Funktion welche der Visualisierung einen höheren Nutzen verschaffen würde.