October 31, 2018

Soziale Netzwerke sind aus der heutigen Zeit nicht mehr wegzudenken. Jeden Tag werden sie von Millionen Nutzern verwendet. Diese interagieren indem sie posten, liken und kommentieren, wodurch viele Informationen über Themen, die sie bewegen, preis gegeben werden. Aus Unternehmenssicht ist der Informationsgehalt der einzelnen Aktionen meist gering. Kann man aber eine Vielzahl solcher Aktionen von Nutzern bündeln und verdichten, steigt der Informationsgehalt rapide. Durch geeignete Visualisierung wird es möglich, sich die Daten zu Nutze zu machen und so Produkte, Marketing etc. marktgerechter zu gestalten.

In folgendem Beitrag erläutere ich eine Möglichkeit sich Daten aus der Twitter API nutzbarer zu machen. Als Endergebnis kommt der unten gezeigte Graph zustande. Zudem werde ich seine Aussagen aufschlüsseln und mögliche Erweiterungen  vorstellen.

Der Graph wurde mit Daten der Twitter API erstellt.

Benutze Werkzeuge

  1. Gephi ist ein Open Source Produkt zur Visualisierung von Graphen und Netzwerken.
  2. Twitter4J ist eine Java-Bibliothek, mit der Anfragen an die Twitter API geschickt werden können.
  3. Gefx4J ist eine Java-Bibliothek, mit der gefx-Dateien geschrieben werden können. Gexf steht für Graph Exchange XML Format und beinhaltet alle Informationen die Gephi braucht, um den Graphen darstellen zu können.
  4. TwitterAPI ist die Schnittstelle von Twitter, über die man die benötigten Informationen bekommt.

 

Beschreibung des Graphen

Im Zentrum des oben dargestellten Graphen liegt der Twitter-Account, den man betrachten möchte, in diesem Fall der Account der NovaTec. Dieser hat zur Erstellungszeit eine Menge an Followern, mit welchen er direkt verbunden ist. Je nachdem, ob sie auf einen der angegebenen Posts in einem (optional) festgelegten Zeitrahmen reagiert haben oder nicht, werden diese Followerknoten bei Reaktion in einen Grünton oder bei keiner Reaktion Grau gefärbt. Je dunkler der Grünton ausfällt, um auf so mehr Posts hat der Nutzer reagiert. Zudem sind ihre Kanten blau und etwas dicker, an diesen steht die mittlere Zeit (Median), in welcher der User auf ein Posting reagiert hat. Bei diesen Usern werden immer auch deren Follower angezeigt um abzuschätzen, wie viel Leute das Posting potentiell sehen können. Weiter kann man so die Reichweite über die Followerhierarchien sehen, aber dazu später mehr.

Im Allgemeinen kann man sagen, dass die Kanten zwischen den Knoten following bzw. ‚kann Posting sehen‘ Beziehung darstellen. Hierzu gibt es zwei Grenzfälle: Zum einen kann ein User auf einen Beitrag des zu betrachtenden Users reagieren ohne in irgendeiner Form mit diesem verbunden sein. In diesem Fall wird der User direkt mit dem zu betrachtenden User mit einer gerichteten, gelben Kante verbunden, um diese Situation auch optisch gut hervorzuheben. Zum anderen gibt es die Möglichkeit, dass ein User, der auf einen Post reagiert hat, mehreren direkten Followern des zu betrachtenden Users folgt, aber nicht dem zu betrachtenden User selbst und somit den Post von potentiell mehreren Usern gesehen haben könnte. Da ein Repost den originalen Post nur verlinkt und nicht – im eigentlichen Sinne – repostet, ist es nicht möglich, über die Twitter API herauszufinden, auf welchen Repost sich dieser User bezieht. In diesem Fall wird  der entsprechende User mit gerichteten Kanten zu den Usern, denen er folgt und die das Ausgangsposting gerepostet haben, verbunden.

 

Attribute die man dem Graphen visuell entnehmen kann

  1. Followeranzahl der einzelnen User an der Größe des Knotens
  2. Prozentsatz der Reaktionen bei mehreren Posts eines Users durch farbliche Unterteilung – Grau keine Reaktion des Users, je dunkler der Grünton umso hoher der Prozentsatz
  3. Mediane Repostzeit zur Originalpostzeit steht an den Kanten
  4. Reaktion auf ein Posting, das zu analysieren ist, aber keine Verbindung zum Ausgangsaccount hat, wird mit einer gelben, gerichteten Kante dargestellt
  5. Reaktion auf ein Posting, das zu analysieren ist, aber nur Verbindungen zu Followern hat, wird durch eine orange, gerichtete Kante dargestellt

 

Entstehung des Graphen

  1. Anfragen an die Twitter API schicken
  2. Den Graphen erstellen
  3. Gexf-File erstellen

1. Anfragen an die Twitter API schicken

Um Anfragen an die Twitter API zu schicken, nutzen wir Twitter4J. Im ersten Schritt müssen wir uns authentifizieren. Hierfür benötigen wir einen Consumer Key, mit dem Consumer Secret, sowie ein Access Token und das Access Token Secret – wie man diese bekommt ist hier, sowie hier beschrieben. Nun benutzen wir den ConfigurationBuilder von Twitter4J für die Authentifizierung:

Jetzt können wir Anfragen an die Twitter API absetzten. Um die Informationen eines Tweets zum Beispiel zu bekommen, könnte man so vorgehen:

So kann man alle Informationen, die wir für den Graphen benötigen, bekommen. Alle Methoden von Twitter4J sind hier dokumentiert.

2. Den Graphen erstellen

Um einen Graphen mit gexf4J erstellen zu können, müssen wir zu Beginn einen Graphen deklarieren:

Im nächsten Schritt erstellen wir die Attribute, die die einzelnen Knoten haben sollen. Diese können wir später auch im DataLab in Gephi einsehen (eignet sich also auch zur Überprüfung von bearbeiteten Daten). Wichtig: dies sind erstmal ganz normale Variablen, diese müssen wir später den Knoten noch explizit zuweisen, aber dazu im nächsten Schritt mehr.

Nun kommen wir zu den eigentlichen Elementen des Graphen, nämlich den Knoten und Kanten. Fangen wir mit den Knoten an. Hier ist eine Möglichkeit, sie zu erstellen und mit den richtigen Attributen zu versehen:

In unserem Fall sind alle Knoten gleich, es sind alles Twitter User, dementsprechend bietet es sich natürlich an, die Knoten in einer Schleife zu erstellen und sie für später zu speichern – in diesem Beispiel wurde eine HashMap verwendet, da wir die einzelnen Knoten in einem Durchlauf selten bis nie verändern müssen und der direkte Zugriff über die IDs sehr angenehm ist. Dies sieht man am Beispiel der Kantenerstellung. Gexf4J bietet die Möglichkeit, zwei Knoten anzugeben und diese mit einer Kante zu verbinden. Dies sieht dann, unter Verwendung einer HashMap, folgendermaßen aus:

Diese Schleife verbindet alle direkten Follower mit dem zu betrachtenden User.

Jetzt haben wir alle Informationen, die wir benötigen, um den kompletten Graph zu bauen. Es fehlt nur noch, dass wir das gexf-File erstellen können, um es mit Gephi öffnen zu können.

3. Gexf-File erstellen

Die Bibliothek gexf4J macht es einem sehr einfach, ein gexf-File zu erstellen:

Aussagen des Graphen

Die offensichtlichste Aussage des Graphen ist die Menge der Nutzer, die man potentiell erreichen kann – die Followerhülle. Dies ist eine pessimistische Abschätzung, da man User, die erstmal keine Verbindung zu dem betrachtenden User haben, nicht berücksichtigt.

Diese User werden erst integriert, wenn man Tweets analysiert. Es wird zudem ersichtlich, welcher User ein potentieller Influencer ist, da man Aussagen über die mediane Zeit bekommt, in der der besagte User auf den Post reagiert, auf wie viel Posts er reagiert hat und ob seine Follower ebenfalls darauf reagiert haben. Es lässt ebenfalls auf die Größe, also die Followerzahl, des möglichen Influencers schließen.

Wenn man sich die Entwicklung des Graphen über einen größeren Zeitraum anschaut, kann man erkennen, ob diese Influencer einen aktiven Beitrag leisten, sodass der zu betrachtende User neue Follower hinzugewinnt.

Der Graph wurde mit Daten der Twitter API erstellt.

Hier sieht man User, die einen Beitrag geretweetet haben, aber nicht direkte Follwer sind. Nun ist es interessant zu sehen, ob diese sich im Laufe der Zeit zu direkten Followern entwickeln, also ob die Influencer einen aktiven Beitrag leisten, den zu betrachtenden User zu pushen.

Weitere Ausarbeitungsmöglichkeiten

  1. Eine mögliche weitere Ausarbeitung ist es, eine Sentiment Analyse durchzuführen. In diesem Fall kann man sich ein genaues Bild über die Art der Resonanz bilden.
  2. Eine weitere visuelle Ausarbeitung befasst sich mit dem Verlauf des Graphen über einen Zeitraum. In diesem könnte man sich die Entwicklung seiner Follower genauer anschauen. Wie oben beschrieben, kann man zum Beispiel die Wirkung von Influencern sichtbarer machen: Wie viele neue direkte Follower hat man bekommen, die vorher einem anderen direkten Follower – ein möglicher Influencer – gefolgt sind u.A.
  3. Ein weiterer interessanter Punkt ist es, die Daten des Graphen zu verwenden, um Vorhersagen zur Resonanz zu treffen. Genauer: durch die Daten des Graphen die Bestimmung des bestmöglichen Zeitpunktes für einen Post mit einem bestimmten Inhalt vorherzusagen. Dieser Punkt ist natürlich noch aussagekräftiger, wenn man die ersten beiden Punkte bereits umgesetzt hat.

 

Leave a Comment

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close