TwiNex - News Extraction for Twitter

Die Seite wird erstellt Niko-Veit Hiller
 
WEITER LESEN
TwiNex - News Extraction for Twitter
TwiNex – News Extraction for Twitter

                             Bachelorarbeit
                     Technische Universität Dresden
                              Februar 2013

                         Stefan Herrmann

                Betreuer: Dipl.-Medieninf. Philipp Katz
   Hochschullehrer: Prof. Dr. rer. nat. habil. Dr. h. c. Alexander Schill

                            Fakultät Informatik
                      Institut für Systemarchitektur
                        Professur für Rechnernetze
TwiNex - News Extraction for Twitter
TwiNex

Aufgabenstellung
Diese Seite muss vor dem Binden der gedruckten Fassung der Arbeit durch die von dem Stu-
denten eigenhändig unterschriebene originale Aufgabenstellung ersetzt werden. Das zweite
abzugebende gebundene Exemplar soll stattdessen eine Kopie dieser originalen Aufgaben-
stellung enthalten.

                                                                                     III
TwiNex

Erklärung
Hiermit erkläre ich, Stefan Herrmann, die vorliegende Bachelorarbeit zum Thema

TwiNex – News Extraction for Twitter

selbstständig und ausschließlich unter Verwendung sowie korrekter Zitierung der im Litera-
turverzeichnis angegebenen Quellen und Hilfsmittel verfasst zu haben.

Dresden, 4. Februar 2013

Unterschrift

                                                                                        V
TwiNex                                                                                                                  Inhaltsverzeichnis

Inhaltsverzeichnis

1 Einleitung                                                                                                                                      1
  1.1 Motivation . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .    1
  1.2 Problemstellung und Zielsetzung       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .    1
  1.3 Anwendungsfälle . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .    2
  1.4 Forschungsthesen . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .    2
  1.5 Aufbau der Arbeit . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .    3

2 Twitter                                                                                                                                         5
  2.1 Überblick über Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                        5
  2.2 Die Twitter REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                            6

3 Stand der Forschung und Technik                                                                                                                 9
  3.1 Klassifizieren und Sammeln von Tweets . . .                       .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .    9
  3.2 Überprüfen der Glaubwürdigkeit von Tweets .                       .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   12
  3.3 Erstellen eines Nutzerrankings . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   15
  3.4 Auswerten von Zusatzinformationen . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   16
  3.5 Zusammenfassung Stand der Forschung . . .                         .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   16

4 Konzeption                                                                                                                                     19
  4.1 Gesamtkonzept . . . . . . . . . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .    .   .   .   .   .   .   19
  4.2 Anfragengenerierung . . . . . . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .    .   .   .   .   .   .   20
      4.2.1 Erste Anfrage an den Zugangspunkt . . . . .                                 .   .   .   .   .   .   .   .    .   .   .   .   .   .   20
      4.2.2 Verfeinern der Anfrage an den Zugangspunkt                                  .   .   .   .   .   .   .   .    .   .   .   .   .   .   21
  4.3 Tweet- und Nutzerverwaltung . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .    .   .   .   .   .   .   21
      4.3.1 Eigenschafts- und Textanalyse von Tweets . .                                .   .   .   .   .   .   .   .    .   .   .   .   .   .   22
      4.3.2 Nutzeranalyse und Einordnung . . . . . . . .                                .   .   .   .   .   .   .   .    .   .   .   .   .   .   24
  4.4 Clusterverwaltung . . . . . . . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .    .   .   .   .   .   .   27
      4.4.1 Event Clustering . . . . . . . . . . . . . . . .                            .   .   .   .   .   .   .   .    .   .   .   .   .   .   27
      4.4.2 Glaubwürdigkeitsranking . . . . . . . . . . .                               .   .   .   .   .   .   .   .    .   .   .   .   .   .   30
  4.5 Zusammenfassung der Konzeption . . . . . . . . . .                                .   .   .   .   .   .   .   .    .   .   .   .   .   .   32

5 Validierung                                                                                                                                    35
  5.1 Implementierung . . . . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   35
       5.1.1 Anfragengenerierung . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   36
       5.1.2 Tweet- und Nutzerverarbeitung . . . .                      .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   37
       5.1.3 Clustering . . . . . . . . . . . . . . . .                 .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   37
       5.1.4 MongoDB . . . . . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   37
  5.2 Evaluation . . . . . . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   38
       5.2.1 Vorgehensweise . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   38
       5.2.2 Erstellen des Goldstandards . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   39
       5.2.3 Evaluation des Clusterings . . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   40
       5.2.4 Evaluation des Rankings . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   48
       5.2.5 Auswertung der Anfragengenerierung .                       .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   53
       5.2.6 Vergleich mit anderen Ansätzen . . . .                     .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   54
  5.3 Zusammenfassung der Validierung . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   54

6 Fazit                                                                                 55
  6.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
  6.2 Untersuchung der Forschungsthesen . . . . . . . . . . . . . . . . . . . . . . . 55

                                                                                                                                                 VII
6.3   Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
         6.3.1 Tweet- und Nutzeranalyse . . . . . . . . . . . . . . . . . . . . . . . . . 56
         6.3.2 Klassifikation der Tweets . . . . . . . . . . . . . . . . . . . . . . . . . 57

A Evaluation Diagramme                                                                           i

B Ausgewählte vertrauenswürdige Quellen                                                         v

Literaturverzeichnis                                                                            ix

VIII
TwiNex

1 Einleitung
Aktuelle Nachrichten werden meistens durch Reporter und Journalisten der großen Nach-
richten- und Presseagenturen verbreitet. Diese Nachrichten werden hauptsächlich durch tra-
ditionelle Medien wie Zeitungen, Fernsehen und Radio übertragen. Durch die immer weitere
Verbreitung des Internets, vor allem im mobilen Bereich, werden immer mehr Nachrichten
auch online durch die Agenturen bereitgestellt. Dadurch werden immer mehr Möglichkei-
ten für den Menschen geschaffen, sich über aktuelle Ereignisse zu informieren oder selber
Informationen über ein Ereignis im Internet zu präsentieren.

1.1 Motivation
Aktuelle Newsaggregatoren wie beispielsweise Google News können im Internet bereitgestell-
te Nachrichten sammeln und übersichtlich dem Nutzer präsentieren. Ein Hauptkritikpunkt
dieser Aggregatoren ist, dass zuerst die notwendigen Informationen von den Nachrichten-
seiten extrahiert werden müssen, ohne dass die jeweiligen Suchmaschinenbots explizit über
neue Nachrichten informiert werden. Außerdem durchlaufen konventionelle Nachrichten im-
mer erst einen langwierigen Prozess bis sie am Ende mit etwas Wartezeit beim Leser oder
Zuschauer erscheinen. Durch das Entstehen sozialer Netzwerke verbreiten sich Nachrichten,
unabhängig von den etablierten Medien, auch unter den Menschen immer schneller. In sozia-
len Netzwerken können sich Nachrichten nicht nur schneller verbreiten als in konventionellen
Medien, sie bieten auch neue Möglichkeiten, um aktuelle Nachrichten zu erhalten. Dadurch
wird es auch wahrscheinlicher, dass Nutzer des jeweiligen Netzwerkes Augenzeugen eines
Ereignisses werden. Diese Nachrichten können dadurch hochaktuell sein, diese aber aus den
meistens eher persönlichen Nachrichten eines Nutzers herauszufiltern ist nicht einfach.
Twitter als ein soziales Netzwerk und Microblogging-Dienst ermöglicht seinen Nutzern kurze
Nachrichten, sogenannte Tweets, unter den „Followern” eines Nutzers in Echtzeit zu verbrei-
ten. Ein „Follower” ist eine dem Nutzer bekannte oder auch unbekannte Person, welche alle
Tweets des Nutzers empfängt. Dieses Konzept der Nutzerinteraktion macht den Erfolg des
Netzwerkes bis jetzt ungebrochen und prädestiniert dieses auch zum Übermitteln von ak-
tuellen Nachrichtenmeldungen oder Ereignissen, die in der Umwelt eines Nutzers gerade
passieren. Das Finden, Filtern und Zusammentragen dieser Ereignisse kann zu einem hoch-
aktuellen Nachrichtendienst führen und somit das Erhalten von aktuellen Nachrichten und
Trends, wie wir es heute kennen, revolutionieren.

1.2 Problemstellung und Zielsetzung
Ziel dieser Arbeit ist es ein System zu entwickeln, welches Nachrichten ereignisbasiert aus
Twitter filtert, zueinander passende Tweets zusammenträgt und diese in Echtzeit darstellt.
Dabei sollen aktuelle Ansätze analysiert und möglichst verbessert werden. Das entwickelte
Konzept soll dann in einer prototypischen Implementation umgesetzt werden.
Problematisch ist vor allem das Finden von passenden Tweets, da ein Großteil der Kom-
munikation das alltägliche Leben der Nutzer zum Thema hat, und somit das Finden von
interessanten Themen für Nachrichten schwierig ist. Hierzu müssen passende Methoden und
Algorithmen gefunden werden, die das Filtern von relevanten Nachrichten in der Masse an
Tweets effizient und erfolgreich ermöglichen. Dafür muss eine Datenbasis erstellt werden, wel-
che Schlagworte für Ereignisse und Trends spezifiziert, welche wiederum ein Tracking dieser
Ereignisse auslösen. Zusammenhängende Meldungen müssen dann erkannt und durch eine
intelligente Kategorisierung miteinander in Verbindung gebracht werden. Außerdem muss
eine Nutzerbasis erstellt werden, welche als zuverlässige Quelle für die Nachrichten dient.
Dabei müssen unter anderem die aktuellen Möglichkeiten der Twitter API beachtet werden,

                                                                                            1
sowie die sich ständig ändernde Zahl der Nutzer der Plattform. Dazu ist es notwendig, ein
Ranking der Nutzer und deren Tweets mittels Algorithmen, welche die Glaubwürdigkeit ihrer
Tweets analysieren, zu erstellen. Mittels dieser Nutzerbasis müssen dann weitere öffentliche
Tweets ausgewertet und auf ihre Plausibilität überprüft werden, damit keine Falschmeldun-
gen veröffentlicht werden. Konventionelle Nachrichtenagenturen können als Referenz dienen,
jedoch würde dadurch der Zeitvorteil verloren gehen. Deshalb müssen die ersten Meldungen
zu einem neuen Thema erkannt und gut abgewogen werden. Voraussetzung für eine effizi-
ente Analyse und Kategorisierung passender und glaubwürdiger Tweets ist die Verwendung
schneller und in Echtzeit arbeitender Algorithmen.

Die Hauptziele dieser Arbeit lassen sich wie folgt zusammenfassen:
      • Konzeption und Erweiterung von Algorithmen des Information Retrieval zur Echtzeit-
        analyse der Kommunikation auf Twitter zum ereignisbasierten Filtern von Tweets, um
        daraus Nachrichtenmeldungen zu erkennen und zusammenzufassen.
      • Erstellen eines funktionsfähigen Prototyps für ein übersichtliches Darstellen von aktu-
        ellen Nachrichten und deren Entwicklungstrend.

1.3 Anwendungsfälle
In diesem Abschnitt werden zwei Anwendungsfälle vorgestellt, die verdeutlichen sollen, mit
welchen Forschungsfragen sich diese Arbeit auseinandersetzt und die Hauptziele der Arbeit
näher beschreibt.

Anwendungsfall 1 - Hochaktuelles Ereignis
Bei einem hochaktuellen Ereignis, also einem Ereignis dessen Ende noch nicht absehbar ist
und dessen Anfang erst vor wenigen Minuten war, haben Tweets einen großen Zeitvorsprung.
Ein Nutzer des während dieser Arbeit entwickelten Dienstes kann auf Nachrichtentweets zu-
greifen und sich fortlaufend und zeitnah über die Entwicklung eines Ereignisses informieren.
Ereignet sich beispielsweise an einem beliebigen Ort auf der Erde ein Erdbeben, treten ak-
tuelle Nachrichtenmeldungen dazu im Minutentakt auf. Im Vergleich dazu, treten bei einem
Nachrichtendienst auf Twitterbasis neue Tweets im Sekundentakt auf.1 Vom Erdbeben be-
troffene Menschen, welche Twitter nutzen, können die ersten sein, die ein solches Beben
bestätigen. Nutzer können auf der Webseite Tweets zu diesem Ereignis sehen und sich sofort
darüber umfassend informieren. Helfer könnten schnell zu den am stärksten vom Erdbeben
betroffenen Gebieten geleitet werden oder Informationen über eventuell verschüttete Per-
sonen erhalten. Die Entwicklung eines solchen Ereignisses kann viel feiner wiedergegeben
werden, da einzelne Personen die Möglichkeit haben ihre Erlebnisse wiederzugeben und dem
Nutzer die Möglichkeit gegeben wird daran teilzuhaben.

Anwendungsfall 2 - Geplantes Ereignis
Twitternutzer beobachten auch geplante Ereignisse, welche über einen längeren Zeitraum
laufen. Durch Tweets von involvierten Personen können aktuelle Meldungen zu einem Er-
eignis schneller der breiten Öffentlichkeit zugänglich gemacht werden. So bot beispielsweise
die Präsidentschaftswahl 2012 in den USA die Möglichkeit, Hintergrundinformationen von
vielen Personen im Verlauf des Wahlkampfes zu gewinnen. Ein Nutzer von TwiNex kann nun
unabhängige Nachrichten erhalten, ohne dass diese durch konventionelle Medien beeinflusst
sind. Diese Unabhängigkeit der Nachrichten könnte genutzt werden, um ein umfassenderes
Bild über einen Wahlkandidaten und seine Themen zu erhalten.

1.4 Forschungsthesen
Aus den im vorherigen Abschnitt beschriebenen Anwendungsfällen ergeben sich folgende
Forschungsthesen, welche im Verlauf dieser Arbeit bearbeitet werden sollen:
    1 http://latimesblogs.latimes.com/technology/2008/07/twitter-earthqu.html   - abgerufen 14.12.2012

2
TwiNex                                                                  1.5 Aufbau der Arbeit

  1. Mittels einer kleinen, manuell definierten Ausgangsmenge von vertrauenswürdigen
     Quellen, lässt sich ein Nachrichtenaggregator schaffen, welcher dynamisch neue Tweets
     und Quellen für Nachrichten-relevante Themen findet.

  2. Bereits mit einer kleinen Anzahl von Tweets und Quellen, sowie ausgewählter, grund-
     legender Eigenschaften dieser, können Clustering- und Rankingverfahren so parame-
     trisiert werden, dass sie sich gut für die beschriebenen Anwendungsfälle generalisieren
     lassen.

1.5 Aufbau der Arbeit
Die vorliegende Arbeit ist wie folgt aufgebaut:
Im Kapitel 2 wird auf Twitter, sowie grundlegende dort verwendete Begriffe eingegangen.
Es findet ein kurzer Überblick über die Möglichkeiten der Twitter API statt.
Im Kapitel 3 wird auf den aktuellen Stand der Forschung und Technik eingegangen. Es wer-
den die aktuell bestehenden Ansätze zum Erkennen von Nachrichtenmeldungen in Tweets
und des Clusterings dieser zu Themengebieten erfasst. Außerdem werden die vorhandenen
Ansätze für das Ermitteln der Glaubwürdigkeit von Tweets und Nutzern, sowie des Rankings
dieser untersucht. Es wird dargestellt, welche Möglichkeiten zur Auswertung von Daten der
Tweets und Nutzer bestehen.
Das Kapitel 4 stellt mit TwiNex einen Nachrichtendienst auf Twitterbasis vor. Es wird auf
die entwickelten Komponenten für das Anfragen an die Twitter API, zum Finden passender
Nutzer, dem Ranken der Nutzer und der Analyse der ankommenden Tweets eingegangen.
Weiterhin werden die genutzten Methoden zum Clustern der Tweets in unterschiedliche Er-
eignisse und Bewerten der Tweets nach ihrer Glaubwürdigkeit behandelt.
Kapitel 5 beschreibt die genutzten Techniken zur Implementation des Prototypen, um das
Konzept aus Kapitel 4 zu überprüfen. Zuletzt wird im Kapitel 6 auf die gewonnenen Er-
kenntnisse aus der Arbeit eingegangen. Es wird gezeigt, ob die gestellten Forschungsthesen
belegt werden können und wohin eine zukünftige Entwicklung gehen könnte.

                                                                                           3
TwiNex

2 Twitter
In diesem Kapitel wird einleitend auf die Entwicklung Twitters und spezifische Begriffe bei
der Nutzung dieses sozialen Netzwerks eingegangen. Es werden die aktuellen Möglichkeiten
der Twitter API analysiert.

2.1 Überblick über Twitter
Twitter als Microblogging-Plattform und soziales Netzwerk wurde im März 2006 von Jack
Dorsey, Biz Stone und Evan Williams gegründet und entwickelte sich seitdem rasant zu
einem der größten sozialen Netzwerke.1 Aktuell hat Twitter, nach eigenen Angaben, 340
Millionen Tweets pro Tag und mehr als 140 Millionen aktive Nutzer.2 Der Erfolg von Twit-
ter beruht zum einen auf der Verbindung von Nachrichtendienst, Microbloggingdienst und
sozialem Netzwerk sowie zum anderen auf die weite Verbreitung unter ganz unterschiedli-
chen Personengruppen und Unternehmen, welche über ihr Leben oder Wirken berichten. Im
Folgenden wird auf einige der wichtigsten Begriffe von Twitter eingegangen.

Tweet

Ein Tweet ist eine Nachricht, die auf Twitter veröffentlicht wird. Er ist maximal 140 Zeichen
lang. Tweets können öffentlich oder privat sein. Privat bedeutet, dass nur Freunde eines
Nutzers diesen Tweet sehen können. Öffentliche Tweets können von jedem Twitternutzer
gesehen und gesucht werden. Oft werden Tweets mit Links ergänzt, um eine Aussage zu er-
weitern oder zu bestätigen. Durch die Begrenzung auf 140 Zeichen werden häufig sogenannte
URL-Shortener benutzt. Sie kürzen einen langen Link auf wenige Zeichen indem ein Link zu
dem Dienst, welcher dann zu der langen URL weiterleitet und der anstelle des langen Links
in dem Tweet benutzt wird.
Tweets können außerdem durch andere Nutzer weiterverbreitet werden, als dem ursprüng-
lichen Verfasser. Dieses Verfahren nennt sich retweeten. Ein Retweet ist ein Tweet eines
Nutzers, welcher erneut durch einen anderen Nutzer veröffentlicht wird. Retweets werden
häufig durch die Abkürzung „RT” am Anfang des Tweets markiert.

Follower

Ein Follower ist eine Person, welche alle öffentlichen Tweets eines Nutzers direkt nach ih-
rer Veröffentlichung bekommen möchte und darüber benachrichtigt werden will, dass neue
Tweets erschienen sind. Ein Nutzer kann unendlich viele Follower haben, jedoch selber nur
maximal 2000 Nutzern folgen.

Hashtag

Ein Hashtag ist eine Kombination aus einem Doppelkreuz-Symbol und einem Schlagwort,
welches zum besseren thematischen Beschreiben eines Tweets benutzt wird. Dazu wird einem
Wort ein „#” als Präfix hinzugefügt. Nun ist dieses Wort als Hashtag markiert und es kann
durch einen Klick darauf nach Tweets gesucht werden, welche dieses Hashtag enthalten und
somit auch dieses Thema behandeln.
 1 http://www.nzz.ch/aktuell/digital/twitter-wachstum-merkel-dorsey-1.15999106     - Abgerufen: 01.11.2012
 2 https://business.twitter.com/basics/what-is-twitter   - Abgerufen: 07.11.2012

                                                                                                             5
Erwähnung

Sollen ein oder mehrere Twitternutzer explizit mit einem Tweet angesprochen werden, so
bezeichnet man dies als Erwähnung in einem Tweet. Mittels eines „@”, gefolgt von dem
entsprechenden Nutzernamen wird dieser Nutzer in dem Tweet erwähnt.

2.2 Die Twitter REST API
Twitter stellt Entwicklern verschiedene Möglichkeiten zur Verfügung, um z.B. Twitterfunk-
tionen auf der eigenen Webseite einzubinden, eigene Anwendungen für Twitternutzer zu
schreiben, Suchanfragen an Twitter zu stellen oder Tweets aus dem Dienst zu extrahieren.
Für das Einbinden von Twitterfunktionen, wie dem follow-Button, in einfache HTML Seiten
gibt es vorgefertigte Produkte, welche von Twitter unter dem Namen „Twitter for Websites”
angeboten werden.
Für komplexere Aufgaben wird die REST API angeboten. Aktuell wird die Version 1.1 der
REST API von Twitter für die Nutzung vorgesehen, die ältere Version 1.0 wird in wenigen
Monaten nach dem Release der Version 1.1 eingestellt.3 REST steht hierbei für Represen-
tational State Transfer und bezeichnet ein Programmierparadigma für Webanwendungen.
Über REST ist es möglich, per HTTP GET oder POST über bereitgestellte URLs Informa-
tionen einzuholen oder zu senden. Twitter liefert diese Daten im JSON-Format aus.
Wichtig für die Version 1.1 sind vor allem Änderungen in der Handhabung der Authenti-
fizierung der Anwendungen und des Rate Limits, welches die Anzahl der GET-Anfragen
limitiert. Jeder Zugangspunkt benötigt nun eine OAuth Authentifizierung, dafür wird pro
Anwendung ein einziges Access-Token vergeben. Für jede GET-Anfrage an einen Zugangs-
punkt gibt es ein 15 minütiges Zeitfenster, in welchem je nach Zugangspunkt unterschiedlich
viele Anfragen getätigt werden können. Allgemein gibt es hier zwei verschiedene Ausprä-
gungen, entweder 15 Anfragen oder 180 Anfragen pro Zeitfenster4 . Twitter unterteilt, für
verschiedene Nutzungsszenarien, die REST API in mehrere Kategorien.
Allgemein ist es mit der REST API möglich, komplexere Funktionen von Twitter selber
in einer Anwendung anzubieten. So ist es über die REST API möglich, per GET statu-
ses/user_timeline die Timeline eines Nutzers abzufragen oder per POST statuses/update
einen Status zu übermitteln. Eine Möglichkeit nach Tweets auf Twitter zu suchen ist die
Search API. Über den Zugangspunkt search/tweets werden, zu einer Suchanfrage passen-
de, Tweets der letzten 6-9 Tage zurückgeliefert. Besser geeignet für einen Nachrichtendienst
auf Twitterbasis, ist jedoch die Streaming API. In dieser Kategorie wird nochmal unter-
schieden zwischen Public Streams, User Streams und Site Streams. Die Public Streams sind
am besten für das Data Mining geeignet, da sie alle öffentlichen Tweets von Twitter strea-
men. Im Gegensatz zu den anderen REST API Zugängen ist die Streaming API durch eine
kontinuierliche persistente HTTP Verbindung für einen konstanten Datenstrom an Tweets
gekennzeichnet, welche nicht durch ein konstantes Polling abgefragt werden muss und da-
durch keine Gefahr besteht das Rate Limit zu verletzen. Dennoch müssen Anwendungen,
welche auf die Streaming API zugreifen, den Stream auch in Echtzeit verarbeiten können.
Sollte dies nicht passieren und die Nachrichtenwarteschlange von Twitter für die Anwendung
ausgelastet sein, wird eine Stall Warning verschickt. Falls diese nicht beachtet wird und die
Anwendung weiterhin zu langsam arbeitet, wird die Verbindung zur Anwendung geschlos-
sen. Damit das garantiert wird, sollte eine Anwendung die Verbindung zu Twitter in einem
gesonderten Prozess verarbeiten und die Tweets, für eine weitere Nutzung, speichern. Für
einen Nachrichtendienst auf Twitterbasis sind vor allem die Public Streams interessant.5 Im
Folgenden werden deshalb die drei Zugangspunkte der Streaming API „statuses/filter” und
„statuses/samples”, „statuses/firehose” näher erläutert.6

    3 https://dev.twitter.com/blog/changes-coming-to-twitter-api - abgerufen 28.01.2013
    4 dev.twitter.com/docs/rate-limiting/1.1/limits- abgerufen 27.01.2013
    5 dev.twitter.com/docs/streaming-apis - abgerufen 27.01.2013
    6 dev.twitter.com/docs/streaming-apis/streams/public - abgerufen 27.01.2013

6
TwiNex                                                              2.2 Die Twitter REST API

statuses/filter
Gibt alle öffentlichen Tweets zurück, welche einer Menge übergebener Filterparameter ent-
sprechen. Die Standardzugriffsrechte erlauben bis zu 400 Schlüsselwörter, 5000 Nutzerids
und 25 Orte.

statuses/samples
Gibt eine kleine, zufällige Untermenge aller öffentlichen Tweets zurück.

statuses/firehose
Dieser Zugangspunkt benötigt spezielle Rechte, um zu ihm verbinden zu können. Er gibt
alle aktuellen öffentlichen Tweets zurück.

                                                                                           7
TwiNex

3 Stand der Forschung und Technik
Nachdem ein Überblick über Twitter und die Möglichkeiten der Twitter API gegeben wurde,
sollen bestehende Ansätze untersucht werden. Es wird auf unterschiedliche Ansätze zum
Klassifizieren und Kategorisieren von Tweets eingegangen sowie zum Bewerten und Ranken
der Glaubwürdigkeit von Quellen und Tweets. Zum Schluss werden die bestehenden Ansätze
miteinander verglichen.

3.1 Klassifizieren und Sammeln von Tweets
Eine große Herausforderung stellt das Erkennen und Filtern von relevanten Tweets dar.
Dazu wird als erstes unterschieden, ob ein Tweet nur unwichtige Daten enthält, im Fol-
genden Spamtweet genannt, oder ob er Nachrichtenmeldungen enthält, im Folgenden Nach-
richtentweet genannt. Es ist wichtig möglichst viele Spamtweets auszusortieren, ohne dabei
zu viele relevante Nachrichtentweets zu verlieren. Es ist jedoch schwierig die Grenze zwi-
schen Nachrichten- und Spamtweet klar zu bestimmen. Oft werden Nachrichteninformatio-
nen in Tweets durch Umgangssprache verdeckt. Wurde eine geeignete Methode gefunden,
die Tweets aus der großen Masse filtert, bleiben nur nutzbare Tweets übrig. Diese müssen
nach verschiedenen Themen kategorisiert werden, damit zusammengehörende Meldungen
gesammelt werden können. Algorithmen, die dieses Problem lösen, müssen dabei in Echt-
zeit die große Masse an ankommenden Tweets schnell und zuverlässig analysieren können.
Für Algorithmen ist dabei vor allem die Kürze der Tweets ein Problem, da das Analysieren
von Text bei dem klassischen Dokumentenclustering durch lernfähige Algorithmen mittels
großer Trainingssets stattfindet. Tweets, als einzelne, kurze Dokumente betrachtet, bieten
nur wenige Informationen, die diese Algorithmen klassifizieren können. [SST+09]

Sankaranarayanan et al. „TwitterStand: News in Tweets”
Sankaranarayanan et al. [SST+09] nutzen für die Architektur von TwitterStand einen Naive-
Bayes Klassifikator. Dieser unterscheidet aufgrund eines vorher manuell klassifizierten Trai-
ningsets, ob ein Tweet Spamtweet (S) oder ein Nachrichtentweet (N ) ist. Dabei wird für
einen Tweet aus den Wörtern w1 , w2 , ...wk die Wahrscheinlichkeit, ob er ein Spamtweet ist,
berechnet. Folgende Formel ergibt sich aus dem Bayesschem Theorem:

                                                         p(w1 , w2 , ...wk |S)
                       P (S|w1 , w2 , ...wk ) = p(S) ∗                                  (3.1)
                                                          p(w1 , w2 , ...wk )

Gleichbedeutend ist die Wahrscheinlichkeit, dass ein Tweet Nachrichten beinhaltet:

                                                         p(w1 , w2 , ...wk |N )
                      P (N |w1 , w2 , ...wk ) = p(S) ∗                                  (3.2)
                                                          p(w1 , w2 , ...wk )

Es wird angenommen, dass alle Wörter unabhängig voneinander sind. Über mehrere Schritte
werden dann die Gleichungen zusammengefasst und umgestellt, so dass eine Gleichung mit
einem Schwellwert D ermittelt wird.
                                                     k
                                          P (S)     X   p(wi |S)
                               D = log(          )+                                     (3.3)
                                          P (N )    i=1
                                                        p(wi |N )

Wenn nun D < 0 ist, wird der Tweet als Nachricht klassifiziert, andernfalls als Spamtweet
und damit verworfen. P (S) ist die Differenz aus der Gesamtzahl, an als Spam klassifizierte
Tweets, durch die Anzahl an Tweets in dem Trainingsset insgesamt. Gleichbedeutend ist
P (N ) die Differenz aus der Gesamtzahl an als Nachricht spezifizierten Tweets durch die

                                                                                            9
Anzahl an Tweets in dem Trainingsset insgesamt. P (wi |S) wird berechnet, indem die An-
zahl an Tweets gezählt wird, in denen wi vorkommt und der Tweet als Spam klassifiziert
wurde. Gleichfalls wird P (wi |N ) berechnet, indem die Anzahl der Tweets gezählt wird in
denen wi als Nachricht vorkommt. Die Wahrscheinlichkeiten für das Trainingsset werden im
Voraus berechnet und dann in einer Tabelle gespeichert. Um die Genauigkeit der Klassi-
fizierung, ob ein Tweet Nachricht oder Spam ist, zu verbessern, nutzen Sankaranarayanan
et al. [SST+09] ein statisches System, also das eben beschriebene Klassifizieren mittels des
Trainingssets, und ein dynamisches System. Das dynamische System basiert auf Tweets aus
aktuellen Nachrichtenmeldungen, die schon kategorisiert wurden. Deshalb werden diese aus
dem Clustering Modul genommen und dienen als Vergleichswert für die Wahrscheinlich-
keitsberechnungen. Außerdem werden dem dynamischen System noch Daten über aktuelle
Personennamen sowie Hashtags als Vergleichswert hinzugefügt. Die Idee dahinter ist, dass
das statische System hilft neue Themen zu identifizieren und das dynamische System hilft
neue Tweets zu einem Thema besser zu kategorisieren. [SST+09]
Nachdem passende Tweets gefiltert wurden, entwarfen Sankaranarayanan et al. einen Online
Clustering Algorithmus, um zueinander passende Nachrichtentweets zu sammeln. Er basiert
auf einem modifizierten Leader-Follower-Clustering Algorithmus von Duda et al. [DHS00].
Damit er ständig neue Daten analysieren kann, also online ist, und auch besser mit dem
hohem Hintergrundrauschen zurecht kommt, wurde er verändert. Als Hintergrundrauschen
gilt das hohe Aufkommen an Spamtweets im Vergleich zu relevanten Nachrichtentweets. Das
Besondere ist, dass dieser Algorithmus nach Zeit und Inhalt gruppieren kann und auch ohne
große Trainingssets zu einem guten Ergebnis kommen soll. Die hohe Geschwindigkeit des
Algorithmus wird unter anderem dadurch gewährleistet, dass ankommende Tweets nur ein-
mal kategorisiert und zu einem Cluster hinzugefügt werden und danach nicht noch einmal
überprüft und auch später nicht gelöscht werden. Nur der Cluster wird dann als inaktiv
markiert, wenn er nicht mehr aktualisiert wird, d.h. keine neuen Tweets mehr zu diesem
Cluster passen. Der Algorithmus arbeitet mit einer Liste von aktiven Clustern. Jeder dieser
Cluster hat einen Feature-Vektor, also eine gewichtete Liste von Schlüsselwörtern, welche
häufig in diesem Cluster vorkommen. Gewichtet werden diese Wörter nach dem TF-IDF-
Maß. Das TF-IDF-Maß bestimmt, wie oft ein Wort in einem Tweet vorkommt. Außerdem
besitzt jeder Cluster einen gemittelten Zeitpunkt, der zeigt wann durchschnittlich die Nach-
richten, die zu diesem Cluster gehören, veröffentlicht wurden. Ein Cluster wird als inaktiv
markiert, wenn dessen Zeitmittelpunkt älter als 3 Tage ist. Für neu ankommende Tweets
wird ihr TF-IDF-Vektor bestimmt, danach wird mittels der Kosinus-Ähnlichkeit [MR09] die
Distanz zu einem möglichen Cluster berechnet. [SST+09]
                                              −−−→ −−−→
                                              T F Vt • T F Vc
                                   δ(t, c) = −−−→ −−−→                                   (3.4)
                                             kT F Vt kkT F Vc k
             −−−→ −−−→
Dabei sind T F Vt , T F Vc die Feature-Vektoren von Tweet t und Cluster c. t wird zu einem
Cluster hinzugefügt, wenn gilt das δ(t, c) ≤ , wobei  eine vorher festgelegte Konstante
ist. Falls kein passender Cluster existiert, wird ein neuer Cluster gestartet. Zusätzlich zum
Feature-Vektor muss auch noch die zeitliche Komponente beachtet werden. Dazu wenden
Sankaranarayanan et al. eine Gaußsche Abschwächung auf die Kosinus-Distanz an. Der
Dämpfungsfaktor bevorzugt zeitlich zu einem Cluster nahestehende Tweets.
                                                          −(Tt −Tc )2
                                 δ̇(t, c) = δ(t, c) · e     2(σ)2                        (3.5)
Um die Vergleiche schnell zu gestalten, wird zum einen ein Invertierter Index der Zeitschwer-
punkte gehalten und zum anderen wird für jedes Feature f ein Zeiger zu jedem Cluster
gespeichert, welcher f enthält. Außerdem wird die Distanz zu einem Cluster nur berechnet,
wenn der Tweet mindestens ein Feature mit dem Cluster gemeinsam hat. Zusätzlich kön-
nen nur aktive Cluster neue Tweets bekommen, inaktive Cluster werden nicht betrachtet.
Neue Cluster können nun relativ schnell entstehen, wodurch auch weniger gute Meldungen
evtl. einen neuen Cluster formen und somit wieder zu viele unwichtige Nachrichtencluster
entstehen. Um das Problem des hohen Hintergrundrauschens zu lösen, dürfen nur Tweets
bestimmter Twitternutzer, aus einer Menge vertrauenswürdiger Quellen, neue Cluster veri-
fizieren. Cluster aus weniger vertrauenswürdigen Quellen sind anfangs als inaktiv markiert.

10
TwiNex                                               3.1 Klassifizieren und Sammeln von Tweets

Außerdem kann es passieren, dass sich neue Cluster formen, die jedoch das gleiche Thema
behandeln, weil die Distanz zu groß ist. Dadurch kann es zu einer Fragmentierung in viele
kleine Cluster kommen, was gleichbedeutend mit gar keinem Clustering wäre. Um das zu
vermeiden, wird regelmäßig überprüft, ob Duplikate vorhanden sind. Wenn ein Duplikat
gefunden wurde, wird der ältere Cluster als Master markiert und der jüngere als Slave. Nun
können neue Tweets nur noch zum Master-Cluster hinzugefügt werden. Es gehen also nur
wenige Tweets an den Slave-Cluster verloren. Ein weiteres Problem entsteht, wenn ein neues
Feature in das System kommt, was aber eigentlich nur ein falsch buchstabiertes schon vor-
handenes Feature ist. Weil es noch nicht vorhanden ist, hat es einen hohen TF-IDF-Wert
und es kann passieren, dass neu ankommende Tweets mit diesem Feature einen Cluster
bilden. Es entsteht ein Cluster mit Tweets, die nur dieses eine Feature gemeinsam haben.
Um dies zu vermeiden können Tweets nur zu einem Cluster hinzugefügt werden, wenn sie
mindestens k gemeinsame Features haben. Dabei ist k meistens eine kleine Zahl, aber größer
als eins. Beachtet werden müssen auch zusammenhängende Satzglieder. Gemeinsame Satz-
glieder in Tweets haben einen hohen TF-IDF-Wert und können daher schnell ein Clustering
hervorrufen, obwohl die Tweets eventuell nicht viel inhaltlich gemeinsam haben. Um dies zu
vermeiden, müssen Sätze nach zusammenhängenden Wörtern durchsucht werden. Das Pro-
blem kann gelöst werden, indem das dominante Wort bestimmt wird und nur dieser Term
geclustert wird oder beide Wörter als ein Term zusammengefasst werden und auf diesen
Term geclustert wird. [SST+09]

Lui et al. „Semantic Role Labeling for News Tweets”

Liu et al. [LLH+10] stellen in ihrem Paper einen gegensätzlichen Ansatz zum von Sankaran-
arayanan et al. [SST+09] vorgestellten Ansatz vor. Sie entwickelten ein speziell auf Tweets
angepasstes Semantic Role Labeling (SRL) System, um Nachrichten aus Tweets zu filtern,
welches zudem automatisch auf einer Menge von Tweets trainiert wird. Außerdem präsentie-
ren sie ein Verfahren, um Tweets mittels eines schon vorhandenen SRL-Systems zu sammeln
und zu kategorisieren.
Zuerst beschreiben sie vier Komponenten, die das vorhandene SRL-System, welches für
Nachrichtenmeldungen aus normalen Artikeln entwickelt wurde, als Basis benutzen, um da-
mit ein Semantic Role Labeling auf Tweets durchzuführen. Dieses System von Meza-Ruiz und
Riedel wird im Folgenden SRL-BS genannt. Diese 4-stufige Methode ermöglicht das Filtern
und Zusammentragen von Nachrichtentweets aus der großen Masse an Tweets auf Twitter.
Problematisch ist dabei, dass es nur bedingt für Nachrichtentweets geeignet ist, denn sein
F1 Maß fällt von 75,5% bei konventionellen Nachrichtenartikeln auf 43,3% bei Nachricht-
entweets wenn das SRL-BS genutzt wird. Deshalb haben sie als eine fünfte Komponente ein
eigenes domänenspezifisches SRL-System entworfen. Die erste Komponente extrahiert Nach-
richtenausschnitte, danach werden diese in der zweiten Komponente durch ein Clustering
zusammengefasst. Die dritte Komponente findet nun mittels der Cluster neue Nachrichtent-
weets. Danach wird ein Semantisches Mapping durch das SRL-BS auf die Tweets angewen-
det, um semantische Informationen aus den Nachrichten zu gewinnen. Im Folgenden werden
die vier Komponenten für das Extrahieren, Sammeln und Semantic Role Labeling genauer
beschrieben. Auf das auf Twitter angepasste SRL-System wird nun nur kurz eingegangen,
da auch im Paper von Lui et al. nur wenige Informationen dazu stehen.
In der ersten Komponente werden Nachrichtenausschnitte aus Tweets extrahiert, um das
automatische Anlernen des SRL-Systems zu ermöglichen, denn Auszüge aus Nachrichten-
artikeln werden grundsätzlich als glaubwürdige Informationen angesehen. Die Komponente
betrachtet nur Tweets, die einen Link zu einer von 57 ausgewählten Nachrichtenseiten besit-
zen. Wenn ein solcher Link gefunden wurde, wird der Text im Tweet mit dem Text im Nach-
richtenartikel verglichen. Sollte eine Übereinstimmung gefunden werden, wird dieser Tweet,
im Folgenden Nachrichtenauszug genannt, zur Ausgangsmenge hinzugefügt andernfalls wie-
der verworfen. Diese Vorgehensweise ermöglicht eine sehr gute Auswahl an glaubwürdigen
Tweets zu einem Thema. Dadurch wird das System mit Wörtern angelernt, welche ein Er-
eignis beschreiben. Es wird keine vorher manuell annotierte Menge von Tweets benötigt.
Die Ausgangsmenge für ein Thema soll aus 100 Tweets mit Nachrichtenauszügen bestehen,
welche später dazu genutzt werden, um weitere Tweets zu einem Thema zu kategorisieren.

                                                                                           11
In der zweiten Komponente werden nun die Nachrichtenauszüge einem Clustering unterzo-
gen. Dabei werden zuerst alle Metadaten aus dem Tweet entfernt, bis am Ende nur noch
der Nachrichtenauszug übrig bleibt. Danach wird mittels des OpenNLP Toolkits der Text
auf Tokens, Part-Of-Speech Tags, Chunks und ähnliches analysiert. Am Ende werden alle
Tweets mittels des SRL-BS auf ihre Prädikat-Argument-Strukturen untersucht und jeder
Nachrichtenausschnitt wird als Term-Frequency-Vektor aus den vorher extrahierten Struk-
turen dargestellt. Ein Cluster ist dann sozusagen ein Meta-Nachrichtenauszug, welcher auch
durch einen Term-Frequency-Vektor aus der Summe aller TF-Vektoren der enthaltenen
Nachrichtenausschnitte besteht. Um das Hintergrundrauschen zu verringern, werden Ter-
me wie Nummern und Stoppwörter nicht beachtet und die Anzahl unterschiedlicher Wörter
per Stemming reduziert. Wie bei Sankaranarayanan et al. [SST+09] wird nun die Kosinus-
Ähnlichkeit zwischen den Clustern ermittelt, um sie zu vergleichen. Liu et al. haben dabei
einen Grenzwert von 0,7 festgestellt, ab dem ein Cluster mit einem anderen Cluster vereint
wird, weil sie sich ähnlich genug sind.
In der dritten Komponente werden nun alle Tweets zu einem Thema auf ihre Nachrich-
tentauglichkeit überprüft, welche nicht unbedingt einen Link zu einem Nachrichtenartikel
haben. Dazu werden in zwei Schritten die verbleibenden Tweets zu den vorher erstellten
Clustern hinzugefügt. Im ersten Schritt wird für jeden Tweet die Kosinus-Ähnlichkeit zu
jedem Cluster geprüft. Dazu wird jeder Tweet, wie oben beschrieben, auf die für das SRL
wichtigen Bestandteile analysiert und reduziert, sowie sein TF-Vektor bestimmt. Wenn die
Kosinus-Ähnlichkeit bei 0,7 liegt wird der Tweet als Nachrichtentweet deklariert und zum
Cluster hinzugefügt. Im zweiten Schritt wird jeder Tweet als Nachrichtenauszug deklariert,
falls seine Kosinus-Ähnlichkeit über 0,9 liegt. Dies bedeutet, dass er nun auch durch das
SRL-BS auf seine Prädikat-Argument-Struktur analysiert wird.
In der vorletzten Komponente wird für jedes Paar aus Nachrichtenauszug und Nachrichtent-
weet in einem Cluster ein semantisches Mapping durchgeführt. Damit gibt es zu jedem Term
in einem Nachrichtenauszug eine semantische Information aus einem zugehörigen Nachricht-
entweet. Falls ein Nachrichtentweet keine semantischen Informationen durch einen Nachrich-
tenauszug erhält, z.B. weil es einen Fehler beim Word Alignment gab, oder kein passender
Nachrichtenauszug existiert, wird dieser Tweet aus dem Cluster gelöscht.
Als fünfte und somit letzte Komponente wird ein domänenspezifisches SRL-System durch Lui
et al. konstruiert, um das SRL-Basissystem zu ersetzen. Dabei nutzt dieses SRL-System das
Conditional-Random-Field Framework für Maschinelles Lernen von Lafferty et al. [LMP01],
um dieses auf automatisch konstruierten Trainingsdaten zu trainieren. Um speziell auf
Tweets angepasst zu sein, werden, wie in der zweiten Komponente, vor dem Extrahieren
von Eigenschaften alle Tweetmetadaten entfernt. Außerdem nutzen Lui et al. keine Eigen-
schaften, welche auf Syntaxbäumen basieren, damit kein Syntaxparser benutzt werden muss,
der auf Stil und Sprache des Textes achtet. Durch eine Analyse haben Lui et al. festgestellt,
dass das F1 -Maß ihres SRL-Systems bei 66% liegt und somit die Performance besser ist, als
bei dem SRL-BS mit einem F1 -Maß von 43,3%. Das System kann noch verbessert werden,
indem auch Tweetmetadaten für das Self-Supervised Learning benutzt werden [LLH+10].

3.2 Überprüfen der Glaubwürdigkeit von Tweets
Bei der großen Menge an Tweets und dem daraus entstehendem großen Informationsge-
halt auf Twitter ist es wahrscheinlich, dass nicht alle Informationen, die zu einem Thema
aufkommen, glaubwürdig sind. Für einen aus Twittermeldungen bestehenden Nachrichten-
dienst wäre es fatal, Falschmeldungen zu verbreiten. Daher ist es notwendig, Methoden zu
entwickeln, welche die Glaubwürdigkeit einer Information in einem Tweet überprüfen.

Sankaranarayanan et al. „TwitterStand: News in Tweets”

Sankaranarayanan et al. [SST+09] folgen in ihrer Arbeit dem Ansatz, dass eine gute Auswahl
an Quellen, in diesem Fall Nutzern von Twitter, für die Nachrichten auch glaubwürdige
Tweets bedeuten. In einer Studie aus dem Jahr 2009 von Heil und Piskorski wird festgestellt,
dass 10% der aktiven Nutzer von Twitter für 80% des Tweet-Aufkommens verantwortlich

12
TwiNex                                                3.2 Überprüfen der Glaubwürdigkeit von Tweets

sind.1 Daraus lässt sich schlussfolgern, dass eine gute Nutzerbasis nicht groß sein muss. Sie
muss vor allem qualitativ hochwertig, seriös und zuverlässig sein, sodass später neue Nutzer
gewonnen werden können. Sankaranarayanan et al. lösen dies, indem sie zuerst manuell
eine Nutzerbasis mit Twitternutzern aufbauen, welche größtenteils oder ausschließlich über
Nachrichten twittern. Danach wird diese Basis durch ein Ranking kontinuierlich erweitert.
Dazu wird der, zu diesem Zeitpunkt noch vorhandene, BirdDog Service der Twitter API
genutzt. Das Ranking betrachtet zum einen Nutzer, die vor allem mit einem hohen Anteil
der Grundbasis folgen, und zum anderen Nutzer, welche in der Vergangenheit gute Tweets
zu einem bestehendem Cluster hinzugefügt haben [SST+09].

Jackoway et al. „Identification of live news events using Twitter”
Einen anderen Ansatz präsentieren Jackoway et al. [JS11] in ihrem Paper, um einerseits die
Glaubwürdigkeit von Nachrichtentweets besser bestimmen zu können und andererseits auch
eine zeitliche Einordnung der Nachrichtentweets zu ermöglichen. Ihr System basiert auf dem
von Sankaranarayanan et al. vorgestellten „TwitterStand” und den darin enthaltenen Al-
gorithmen, um Nachrichten aus Twitter zu extrahieren und zu clustern. Es erweitert dieses
um eine zeitliche Einordnung der Tweets, die es möglich machen soll, auch hochaktuelle
Ereignisse zu beobachten. Da es bei hochaktuellen Nachrichten schwer ist eine Information
zu validieren, wenn sie publiziert wird und die Quelle unbekannt ist, müssen Tweets ge-
nauer auf ihre Glaubwürdigkeit überprüft werden. In der Arbeit von Sankaranarayanan et
al. ist dies weniger von Bedeutung, denn dort werden nur Tweets vertrauenswürdiger Quel-
len beachtet. Wenn aber ein dynamisches Ereignis betrachtet werden soll, ist es schwierig
zu diesem schnell neue Meldungen zu erhalten, wenn man nicht auch unbestätigte Quellen
heranzieht. Um auch bei solchen Ereignissen vertrauenswürdige Meldungen zu erhalten, ver-
suchen Jackoway et al. herauszufinden, wie sich ein Ereignis in der Zukunft entwickeln wird
und suchen dann Tweets zu diesem Thema sobald diese zukünftige Entwicklung eintritt. Da
sie nun wissen was voraussichtlich eintreten wird, können sie Tweets unbekannter Quellen
nach ihrer Glaubwürdigkeit bewerten, wenn diese neue Informationen über eine Entwicklung
veröffentlichen. Ein solches Ereignis ist z.B. ein Wirbelsturm. Es steht fest, dass er zu einem
bestimmten Zeitpunkt einen Ort erreichen und dort die Gegend verwüsten wird. Es steht
jedoch noch nicht fest, welche Personen direkt von diesem Wirbelsturm betroffen sind. Da
aber Zeit und Ort bekannt sind, können Tweets zu diesem Ereignis von unbekannten Perso-
nen nach ihrer Glaubwürdigkeit bewertet werden. Jackoway et al. nutzen bei einem Ereignis
Informationen aus einer Nachrichtendatenbank und die Geodaten eines Nutzers im Vergleich
zu den Geodaten eines Ereignisses, um zu bestimmen, ob eine Information plausibel ist.
Das Identifizieren von Tweets über zukünftige Ereignisse läuft in mehreren Schritten ab.
Als erstes wird eine Datenbank mit Nachrichtenartikeln aus vielen unterschiedlichen Quel-
len aus dem Internet erstellt. Dazu nutzen sie die Algorithmen aus einem anderen Projekt
namens „NewsStand” [TLP+08], um Nachrichtenartikel auf Webseiten zu einem Thema zu
finden, und diese auf zukünftige Entwicklungen zu untersuchen. Diese Nachrichtendaten-
bank enthält geclusterte Nachrichtenartikel, aus denen Schlüsselwörter extrahiert werden.
Als nächstes wird jedes Wort in jedem Artikel darauf überprüft, ob es einen zukünftigen
Zeitpunkt in einem Ereignis beschreibt. Wenn eine zukünftige Entwicklung eines Ereignisses
gefunden und durch genügend Artikel validiert wurde, kann nun die Technologie aus „Twit-
terStand” [SST+09] benutzt werden, um Tweets über dieses Ereignis zu finden. Dazu wird
überprüft, ob ein Tweet zu einem Cluster mit einem zukünftigen Ereignis gehört, indem
Schlüsselwörter aus dem Tweet mit denen aus dem Cluster über ihre TF-IDF-Werte vergli-
chen werden. Zusätzlich werden die Geodaten, des aus den Artikeln extrahierten Ereignisses,
mit denen aus den Tweets verglichen, um eine höhere Übereinstimmung zu erreichen. Um die
verschiedenen Zeitpunkte zu analysieren haben Jackoway et al. vier verschiedene Identifika-
tionsmethoden für Zeitformen entwickelt. Die mit „will”-Methode, die mit „-s” Methode, die
Verben-Methode und als letztes die Sätze-Methode. Die beiden erstgenannten Methoden sind
sehr schnell, einfach und als Grundlage für die komplexeren beiden letztgenannten Metho-
den entwickelt worden. Die zweit letztgenannten Methoden nutzen Part-of-speech Tagging,
um eine höhere Genauigkeit zu erreichen, sind aber langsamer. Das System von Jackoway
 1 http://blogs.hbr.org/cs/2009/06/new_twitter_research_men_follo.html   - abgerufen 24.01.2013

                                                                                                  13
et al. erreicht eine Precision von 93,8% bei der Bestimmung von Zukunftsereignissen in ei-
nem Tweet zu einem Thema. Verbesserungen könnten erreicht werden, indem eine bessere
Sprachverarbeitung genutzt wird, um Zeitformen zu identifizieren [JS11].

Gupta et al. „Credibility Ranking of Tweets during High Impact Events”
Gupta et al. [GK12] haben in ihrer Arbeit festgestellt, dass durchschnittlich 30% des In-
halts eines Tweets relevante Informationen über ein Ereignis waren, 14% des Inhalts jedoch
Spam war. Gerade einmal 17% aller Tweets über ein Ereignis enthielten darüber glaubwür-
dige Informationen, welche das Situationsbewusstsein über das Ereignis erhöht haben, also
aus welchen ein besseres Verständnis über ein Ereignis gewonnen werden konnte. Der von
Gupta et al. [GK12] entwickelte Algorithmus analysiert die Glaubwürdigkeit von Tweets auf
Tweetebene, unabhängig vom Thema, im Gegensatz zu der Arbeit von Castillo et al., welche
sich darauf beschränkt, Trending Topics auf ihre Nachrichtentauglichkeit zu bewerten. Da-
bei hatten Castillo et. al mit einem C4.5 Entscheidungsalgorithmus eine Genauigkeits- und
Trefferquote von 70-80% erreicht. Problematisch ist dabei, dass zwar ein Thema erkannt
wurde und dies auch glaubwürdig sein kann, aber die Tweets dazu eventuell unglaubwürdig
sind. Gupta et al. nutzten Techniken zum automatischen Ranken von Tweets über Supervi-
sed Machine Learning und Pseudo Relevance Feedback. Im ersten Schritt ihrer Arbeit wurde
ein Grundstock an durch Menschen klassifizierte Tweets erstellt, mit dem später die Lernal-
gorithmen für Maschinelles Lernen angelernt werden. Dabei wurden zu jedem Thema zufällig
500 Tweets ausgewählt und nach den Kriterien „definitiv glaubwürdig”, „scheint glaubwür-
dig”, „definitiv unglaubwürdig”, „unentschlossen”, „gehört zu dem Nachrichtenthema, aber
ohne Information”, „gehört nicht zum Thema” oder „überspringen” durch die Tester bewer-
tet. Für das erste Ranking der Tweets werden dann bestimmte Eigenschaften der Tweets
genutzt, um sie miteinander zu vergleichen. Über eine Regressionsanalyse des Anfangssets
konnten sie dabei die wichtigsten Eigenschaften eines Tweets, mit denen man am besten die
Glaubwürdigkeit bestimmen kann, herausfinden. Diese sind tweetbasiert z.B. die Anzahl ein-
zigartiger Buchstaben, von Schimpfwörtern, Pronomen und Emoticons. Nutzerbasiert sind
es beispielsweise die Anzahl an Followern, sowie die Länge der Nutzernamen. Tabelle 3.1
zeigt dabei genauer die betrachteten Eigenschaften. Die Tweets werden nun durch deren Ei-
genschaften mittels RankSVM2 gerankt. RankSVM trainiert eine Ranking Support Vector
Machine [Joa02] auf einem Trainingsset, gibt die gelernten Regeln in einer Modelldatei aus
und bewertet anhand dieses Modells eine Menge von Tweets. Weiterhin benutzten Gupta
et al. Pseudo Relevance Feedback als Re-Ranking-Algorithmus zum Verbessern der besten
Ergebnisse aus dem ersten Ranking durch ein erneutes Bewerten der Ergebnisse über ein
zweites Maß.
Im Folgenden wird genauer auf den Ablauf des Algorithmus eingegangen. Zuerst werden
die Eigenschaften aus den zu rankenden Tweets extrahiert und diese mittels des RankSVM-
Algorithmus, welcher das Anfangsset aus manuell annotierten Tweets als ersten Vergleichs-
wert nimmt, gerankt. Nun werden die Tweets nach ihrem Rankingwert sortiert. Der Re-
Ranking-Algorithmus ist am effektivsten, wenn die Vergleichstweets möglichst gute Ergeb-
nisse in dem ersten Ranking erhalten haben. Deswegen werden aus dieser Menge an sortier-
ten Tweets nur die besten K Tweets weiter benutzt. Aus den besten K Tweets werden die
häufigsten Unigramme extrahiert. Diese werden genutzt, um die Text-Ähnlichkeit zwischen
den besten Unigrammen und den besten K Tweets zu berechnen. Dazu wurde von Gupta
et al. das BM25-Maß benutzt. Das erstellte Ranking aus der Textähnlichkeit wird genutzt,
um die Menge von K Tweets erneut nach diesem neuen Rankingwert zu sortieren. Das
Ergebnis der Arbeit von Gupta et al. zeigt, dass es nicht nur wichtig ist, wer die Tweets ver-
öffentlicht, sondern auch die Qualität der Veröffentlichungen einer Person. Außerdem zeigt
das Re-Ranking mittels der am häufigsten benutzten Terme bzw. Unigramme, dass neben
kontextunabhängigen Eigenschaften (aus dem ersten Ranking) auch kontextspezifische Ei-
genschaften dem Rankingprozess helfen können. Problematisch ist hierbei das Anlernen des
RankSVM-Algorithmus. Hier muss eine Möglichkeit gefunden werden, eine Automatisierung
des Prozesses zu realisieren [GK12]. Von Gupta et al. werden nur bereits vorher gesammelte
Tweets betrachtet. Das durch Gupta et al. vorgestellte Ranking muss noch auf eine Taug-
 2 www.cs.cornell.edu/people/tj/svm_light/svm_rank.html   - abgerufen 27.1.2013

14
TwiNex                                                          3.3 Erstellen eines Nutzerrankings

 Nachrichtenbasiert
 Tweetlänge, Anzahl an Wörtern, Anzahl einzigartiger Buchstaben, Anzahl an Hash-
 tags, Anzahl an Schimpfwörtern, Anzahl an positiven Wörtern, Anzahl an negativen
 Wörtern, Tweet ist ein Retweet, Anzahl spezieller Symbole, Anzahl an Emoticons,
 Tweet ist eine Antwort, Anzahl an @-Erwähnungen, Anzahl an Retweets, Vergange-
 ne Zeit seit Publikation, hat URLs, Anzahl an URLs, Nutzung eines URL-Shortener
 Service
 Nutzerbasiert
 Registrationsalter des Nutzers, Anzahl an Statusmeldungen, Anzahl an Followern,
 Anzahl an Freunden, ob der Account verifiziert ist, Länge der Accountbeschreibung,
 Länge des Nutzernamens, hat eine URL, Rate von Followern zu Folgenden

         Tabelle 3.1: Eigenschaften eines Tweets zur Glaubwürdigkeitsanalyse [GK12]

lichkeit in einer echtzeitbasierten Anwendung überprüft werden, da bei ihrer Arbeit das
vorherige Erstellen einer Referenzmenge an kategorisierten Tweets fehlt und deshalb noch
unklar ist wie performant ihre Algorithmen arbeiten.

3.3 Erstellen eines Nutzerrankings
Neben des Rankings der Tweets nach ihrer Glaubwürdigkeit, sollen auch Nutzer nach ihrer
Popularität auf Twitter oder zu einem Thema gerankt werden. Wegen der Limitierungen
der Twitter API muss eine gute Auswahl an Nutzern, die als Quelle für Nachrichtentweets
dienen, getroffen werden. Dies hilft unter anderem dem Aufbau einer guten Nutzerbasis,
da durch die große Masse an Tweets auch viele Nutzer in den Fokus eines twitterbasierten
Nachrichtendienstes rücken. Es müssen zuverlässige Nutzer in der großen Masse gefunden
werden, indem nur die besten Nutzer eines Rankings betrachtet werden. Lag bisher der
Fokus auf der Glaubwürdigkeit eines Nutzers, um die Information innerhalb eines Tweets
einschätzen zu können, liegt der Fokus bei dem im Folgenden vorgestellten Nutzerranking
auf den verschiedenen Möglichkeiten die Popularität eines Nutzers zu ermitteln und mit
anderen zu vergleichen.

Kwak et al. „What is Twitter, a social network or a news media?”
Kwak et al. [KLP+10] haben in ihrer Arbeit What is Twitter, a social network or a news
media? die Topologie von Twitter betrachtet und dabei die Nutzerstrukturen analysiert. Sie
führten auch ein Ranking der Nutzer nach verschiedenen Kriterien durch. Ihr Ziel war es,
Nutzer nach ihrer Popularität zu sortieren. Sie haben festgestellt, dass dieses Problem gleich-
bedeutend dem Ranking von Webseiten auf Basis ihrer Verlinkung untereinander ist. Für
das Ranking haben sie daher drei unterschiedliche Methoden vorgestellt. Als erstes wurden
die Nutzer nach der Anzahl der Follower gerankt. Hier wurde festgestellt, dass hauptsächlich
bekannte Persönlichkeiten, Institute, Firmen oder Organisationen auf den oberen Plätzen
erscheinen, da diese sehr viele Follower besitzen. Die zweite Möglichkeit, Nutzer zu ranken
leiteten sie von dem Vergleich zu Webseiten ab. Sie nutzten den von Page et al. [PBM+98]
vorgestellten PageRank, um Nutzer im gesamten Kontext aller Nutzer zu ranken. Dabei ist
ein Nutzer gleichbedeutend einer Webseite und die Verbindung Follower zu Gefolgtem gleich-
bedeutend eines Links zu einer Webseite. Bei diesem Ranking nach PageRank im Netzwerk
der Follower zu Gefolgtem, stellten sie fest, dass eine starke Ähnlichkeit zu dem Ranking
nach der Anzahl der Follower besteht. Die letzte Art des Rankings, welche betrachtet wurde,
war ein Ranking über die Anzahl der Retweets eines Nutzers. Hier wurde ein starker Un-
terschied zu den ersten beiden Rankings festgestellt. Vor allem Nachrichtenagenturen und
ähnliche Organisationen waren höher gerankt. Auch unabhängige Nutzer, welche häufig über
Nachrichten berichteten, waren höher platziert [KLP+10]. Eine Schlussfolgerung daraus ist,
dass die Anzahl der Retweets ein besseres Ranking für nachrichtenrelevante Nutzer ergeben
kann. Es muss jedoch das Verhältnis von Followern zu Retweets untersucht werden. Tweets
eines Nutzers mit vielen Followern werden häufiger retweeted als Tweets eines Nutzer mit

                                                                                               15
wenigen Followern. Dies wird in dem Papier von Kwak et al. [KLP+10] nicht betrachtet.
In ihrem Papier wird auch, im Gegensatz zu dieser Arbeit, mit einem großen Bestand an
vorher heruntergeladenen Daten gearbeitet, um Nutzer zu ranken. Das Ranking der Nutzer
nach Popularität soll bei dieser Arbeit vor allem ereignisbezogen stattfinden, im Gegensatz
zu der von Kwak et al. [KLP+10] durchgeführten globalen Betrachtung aller Nutzer von
Twitter.

3.4 Auswerten von Zusatzinformationen
Nachdem die nützlichen Tweets für Nachrichten gefunden und dann miteinander verbunden
wurden, kann man nun beginnen, Tweets nach Zusatzinformationen auszuwerten, um die
Nachrichtenmeldungen zu ergänzen, da meistens in den 140 Zeichen Text eines Tweets auch
geographische Informationen sowie Links zu externen Artikeln oder Webseiten eingebettet
sind. Bei dem Service „TwitterStand” von Sankaranarayanan et al. [SST+09] erfolgt dies
durch Geotagging der einzelnen Tweets. Dazu werden die Geodaten des Tweets und die In-
formationen der externen Links benutzt. Die gefundenen Daten werden dann genutzt, um
den geographischen Fokus eines Clusters zu bestimmen. Dies ist nicht nur eine zusätzliche
Information für die Nutzer des Dienstes, es ist auch gut, um das Finden passender Tweets zu
einem Cluster zu vereinfachen. Das Geotagging erfolgt dabei in zwei Schritten. Zuerst findet
die Toponymerkennung statt. Dabei werden alle geographischen Referenzen in einem Tweet
gefunden. Danach findet die Toponymresolution statt. In diesem Schritt wird die Position
der gefundenen Orte auf einer Karte bestimmt, also deren Koordinaten herausgefunden.
Bei der Toponymerkennung muss vor allem beachtet werden, dass der Text in Tweets nur
wenige Informationen liefert und deswegen keine gewöhnlichen Algorithmen wie POS oder
NER benutzt werden können [SST+09]. Die Lösung ist ein Ortsverzeichnis, welches den
TF-IDF-Index eines Clusters nach bekannten Ortsnamen durchsucht. Für die Toponymre-
solution ist auch die Kürze der Texte ein Problem. Deswegen werden in „TwitterStand” die
referenzierten Links nach Informationen untersucht wenn sich herausstellt, dass es Nach-
richtenartikel sind. Dazu benutzen Sankaranarayanan et al. die Algorithmen, welche sie in
„STEWARD” und „NewsStand” entwickelt haben [SST+09]. Da diese Informationen nicht
immer zur Verfügung stehen, wird in mehreren Stufen aus den aktuell vorhandenen Daten
gefiltert, um so mit einer maximalen Genauigkeit den geographischen Fokus zu bestimmen.
Zuerst werden die Tweet-Metadaten ausgewertet. Dies ist zum Beispiel der Herkunftsort des
Twitternutzers. Diese Information ist meistens sehr genau aber nicht immer automatisch
der Ort, an dem das Ereignis stattfindet. Um noch besser den Fokus bestimmen zu können,
werden die gefundenen Geodaten-Referenzen nach ihrem Vorkommen im Cluster gerankt.
Es bestimmen die am häufigsten auftretenden Orte den geografischen Fokus.
Eine weitere Informationsquelle, welche Sankaranarayanan et al.[SST+09] auswerten, sind
die Hashtags, die in einem Cluster zu einem Thema gesammelt werden. Sie werden ab-
sichtlich nicht ausschließlich zum Finden gemeinsamer Tweets genutzt, da es sonst zu einer
starken Fragmentierung kommen würde. Die Hashtags fließen in die normale Bewertung des
Tweets nach seinem TF-IDF-Maß ein. Später werden sie jedoch benutzt, um auf der Suche
nach neuen Informationen zu einem Thema, dazugehörige Tweets besser finden zu können
[SST+09].

3.5 Zusammenfassung Stand der Forschung
Der aktuelle Stand der Forschung zeigt, dass schon verschiedene Konzepte, welche Tweets
als Nachrichtenquelle nutzen, existieren. Die vorgestellten Arbeiten behandeln dabei die
unterschiedlichen Problemfelder. Das Ziel aller ist, möglichst gut die großen Menge an an-
kommenden Tweets zu schnell verarbeiten, passende Tweets zu filtern und kategorisieren.
Es wurde auch festgestellt, dass es wichtig ist, vertrauenswürdige Nutzer und Tweets zu
finden. Mit dem System „TwitterStand” von Sankaranarayanan et al. [SST+09] wurde ein
fertiges Twitter-Nachrichtensystem entwickelt. In ihrer Arbeit liegt der Fokus auf der Be-
handlung des großen Hintergrundrauschens durch die Spamtweets und der hohen Rate an
neu ankommenden Tweets. Verbesserungen dieses Systems können dann durch die anderen

16
Sie können auch lesen