Kurze Zusammenfassung über das Archive Processing. --------- Co-authored-by: Philipp Horstenkamp <philipp@horstenkamp.de>
3.2 KiB
Archive Processing
Im vorherigen Kapitel wurde die mangelnde Datenhistorie beschrieben, da dass Data-Mining inhaltlich nicht die erforderliche Tiefe erreichte und durch die Projektlaufzeit nur ein kurzes Intervall erfasst wurde.
Durch Recherche konnte ein Nachrichtenarchiv gefunden werden, welches 175000 Artikel aus verschiedenen Kategorien, wie z.B. Wirtschaft, Politik, Weltgeschehen, Kultur und Sport zusammenträgt. Die Quellen dieser Artikel sind Online-Nachrichtenseiten wie welt.de, heise.de, sueddeutsche.de und weiteren lokalen Tageszeitungen.
Die Artikel sind als CSV-Datei organisiert und in Spalten strukturiert.
Datenaufbereitung - JSON Strukturierung
Um die Nachrichtenartikel für das Projekt nutzbar zu machen, müssen sie in die gleiche JSON-Struktur überführt werden, wie bereits im vorherigen Data-Mining-Kapitel beschrieben.
Notwendige Schritte:
- Erstellung des Attributs source_url aus der Spalte source
- Löschen der Elemente, die keinen Text enthalten
- Umwandlung und Vereinheitlichung der Spalte published in date
- Datensatzbereinigung
Nach der Aufbereitung stehen 167.256 Artikel im benötigten Format zur Verfügung.
Identifikation von Unternehmen - NER Pipeline
In einem ersten Schritt werden Organisationen in den Artikeln identifiziert. Hierfür wird eine Pipeline für die Named-Entity-Recognition verwendet. Die Funktion dieser NER-Pipeline wird in einem späteren Kapitel genauer erläutert. Das NER-Processing benötigt ~119h für die 167256 Dokumente, was etwa 2,5 Sekunden pro Dokument entspricht.
Datenreduktion - Name Matching mit Rapidfuzz
Aufgrund der Anzahl der Dokumente ist es notwendig, nur relevante Artikel zu identifizieren, um einen Mehrwert für die Projektdatenbank zu erzielen und überflüssiges Processing zu vermeiden. Im vorherigen Schritt wurden die Organisationen identifiziert und es existiert bereits eine Collection mit relevanten Unternehmen.
Diese beiden Dokumentendatenbanken werden mit Rapidfuzz, einer Bibliothek zum String-Matching mit Unschärfe, verglichen. Unschärfe bedeutet, dass die Strings nicht identisch sein müssen, sondern ein Ähnlichkeitsmaß erfüllen müssen, wodurch Namensabwandlungen erkannt werden können.
Durch diesen Abgleich wird die Dokumentenanzahl auf 3.655 reduziert.
Stimmungsanalyse
Für das Projekt muss die Stimmung in den Nachrichten bestimmt werden, um z.B. einen Trend in der Aussenwahrnehmung eines Unternehmens zu analysieren. Diese Sentiment-Analyse wird in einem späteren Kapitel genauer erklärt. An dieser Stelle ist lediglich zu erwähnen, wie die Verteilung der Stimmungen im Nachrichtenarchiv war:
positiv | negativ | neutral |
---|---|---|
1637 | 164 | 1854 |
Fazit
Die Recherche und Aufbereitung des Nachrichtenarchivs bestanden aus verschiedenen Arbeitspaketen sowie einem zeitlichen Aufwand des Data-Processing. Der Einsatz hat sich gelohnt, um die Datenbasis des Projekts zu erweitern und eine Historie zu den Unternehmen aufzubauen.