Neues aus dem GiNLab (II): Netzwerk-Graphen in der BDSL

In diesem Blogpost beschäftigen wir uns mit Netzwerk-Graphen in der BDSL* und einem Verfahren zur Analyse dieser Graphen, die Entdeckung von "Commmunities".

Was ist überhaupt ein Graph? Dazu ein kurzes Intermezzo mit der Mathematik: Aus mathematischer Sicht besteht ein Graph aus einer Menge von Knoten und einer Menge von Kanten. Jede Kanten verbindet jeweils ein Knotenpaar miteinander. Durch diese Struktur können wir Netzwerke modellieren und analysieren.

Ein Beispiel ist ein Kopublikationsnetzwerk, welches auf Publikationen in gemeinsamen Sammelbänden basiert. Wir nehmen an, dass eine Kopublikationsbeziehung zwischen zwei Autor*innen besteht, falls diese in mindestens einem gemeinsamen Sammelband einen Artikel oder Aufsatz publiziert haben. Dieses Netzwerk können wir nun als Graph modellieren: Jede*r Autor*in, der*die in einem Sammelband einen Aufsatz oder Artikel veröffentlicht hat, wird durch einen Knoten repräsentiert. Falls zwei Autor*innen in mindestens einem gemeinsamen Sammelband publiziert haben, verbinden wir die Autor*innen durch eine Kante.

Kleine Netzwerk-Graphen, z. B. die Beziehungen zwischen Figuren in einem Roman, lassen sich einfach visualisieren, da die Zahl der Knoten und Kanten sehr limitiert ist. Oft sind Netzwerk-Graphen aber sehr groß (in der BDSL gibt es über 25.000 Autor*innen, die in Sammelbänden publiziert haben, d.h. es gibt genausoviele Knoten im Graphen). Dies macht eine übersichtliche Visualisierung des Graphen fast unmöglich. Um diese Graphen zu analysieren, gibt es verschiedene Möglichkeiten.

Eine Möglichkeit sind Verfahren zur Entdeckung von sogenannten "Communities", auch "Community Detection" genannt. Communities definieren wir lose als eine Menge von Knoten (in unserem Beispiel Autor*innen), die durch Kanten dichter (d. h. öfter) untereinander verbunden sind als mit anderen Knoten. Es gibt bereits viele Algorithmen, die auf verschiedene Arten solche "Communities" entdecken können.

Bleiben wir beim Beispiel des Kopublikationsnetzwerks: Nach dem Erstellen des Graphen nutzen wir einen "Community Detection"-Algorithmus, den Louvain-Algorithmus, um "Communities" zu entdecken.

Das Ergebnis des Algorithmus teilt die Knoten in Communities ein. Dies kann folgendermaßen visualisiert werden: Alle Knoten, die zu einer "Community" gehören, werden zu einem neuen Community-Knoten zusammengefasst. Je größer der Knoten, desto mehr Autor*innen gehören zu dieser Community. Zwei Community-Knoten verbinden wir genau dann mit einer Kante, wenn mindestens ein Paar von Autor*innen aus diesen Communities in mindestens einem gemeinsamen Sammelband einen Aufsatz publiziert hat. Die Breite der Kante zwischen den Knoten gibt an, wie häufig es Kopublikationsbeziehungen zwischen den beiden Communities gibt.

Die Community-Knoten können zudem auf Themenschwerpunkte, z. B. auf Epochenzugehörigkeit, untersucht werden. Dazu schauen wir uns die BDSL-Epochenklassifikationen aller Publikationen der Community-Autor*innen an und wählen die Epoche, die am häufigsten den Publikationen zugeordnet wurde. In Abbildung 1 und 2 können wir uns selbst ein Bild dieser Visualisierung machen. Dargestellt sind die größten Communities, um die Graphik übersichtlich zu gestalten. Außerdem können wir verschiedene Grenzwerte für die Kanten angeben, um die schwächere Verbindungen wegzulassen.

In Abbildung 1 ist der Schwellwert sehr niedrig, in Abbildung 2 sehr hoch. Der große orange Knoten lässt sich der Goethezeit zuordnen. Andere Epochen, wie das 20. Jahrhunderts (1945–1989), sind in verschiedene kleinere Communities zerfallen. Allgemein können wir anhand der Vielzahl an Kanten sehen, dass die Autor*innen der BDSL nicht nur innerhalb ihrer Community in Sammelbänden publizieren, sondern auch mit anderen Community-Autor*innen. Wenn wir mehr ins Detail gehen, wie in Abbildung 2, können wir mehr Unterschiede feststellen. Hier kann man gut erkennen, dass die Community der Goethezeit (oranger Knoten) am stärksten vernetzt ist.

Allerdings müssen wir vorsichtig mit den Interpretationen sein und die einzelnen Community-Knoten gegebenenfalls eingehender analysieren. Dies ist eine ganz eigene Aufgabe, die eventuell in Zukunft hier noch diskutiert wird.

Eine interaktive Visualisierung kann hier angesehen werden: https://amor.cms.hu-berlin.de/~schwabmi/ginlab2020/index5.html.

*Die Datengrundlage basiert nur auf einen Teil der BDSL.

Gastbeitrag von Michel Schwab