Wirtschaft im Beziehungscheck

Das Bachelorprojekt am Lehrstuhl Informationssysteme von Prof. Naumann beschäftigt sich seit fast einem Jahr mit Data Integration, Deduplication, Text Mining und Data Curation. Das Projektziel ist einen informationsdichten Graph über die deutsche Unternehmenslandschaft zu generieren, mit dem sich Untersuchungen zur Risikoanalyse automatisiert durchführen lassen.

0
264
views
Das Bachelorprojektteam: Jan Ehmüller, Milan Gruner, Jonathan Janetzki, Lando Loeper, Leonard Pabst, Matthias Radscheit, Alec Schneider und Nils Strelow (v.l.n.r.), betreut von Toni Grütze (ganz links) und Michael Loster (ganz rechts)

Ingestion ist eine automatisierte Datenpipeline, die strukturierte Datenquellen wie Wikidata und DBpedia und unstrukturierte Quellen wie den Freitext von Wikipedia und Zeitungsartikeln aus Spiegel Online und Zeit Online analysiert. Dabei werden automatisiert Beziehungen zwischen Datenobjekten hergestellt. Die Datenpipeline wurde mit dem Cluster-Computing-Framework Apache Spark und der verteilten NoSQL-Datenbank Apache Cassandra realisiert. Das System läuft aktuell auf einem Rechnercluster aus acht Knoten mit insgesamt 160 Threads und 320 GB RAM. Erst dadurch können die umfangreichen Datenquellen in einer angemessenen Zeitspanne analytisch verarbeitet werden.

Das Netzwerk deutscher Unternehmen wird als Graph modelliert. Die Knoten sind dabei die Unternehmen selbst, die Kanten sind die Beziehungen zwischen ihnen, beispielsweise Partnerschaften, Tochtergesellschaften oder Zulieferer. Mit diesem Graphen lassen sich beispielsweise Untersuchungen zu den Konkurrenten eines Unternehmens anstellen oder auch die Kooperation und Vernetzung mit anderen lokalen Unternehmen veranschaulichen.

Das System besteht aus drei großen Bausteinen:
Die Deduplication-Komponente befasst sich mit der automatisierten Erkennung und Zusammenführung von Datenobjekten verschiedener Quellen, die die gleiche Organisation beschreiben.Dazu werden die vorhandenen Datensätze mehrfach nach unterschiedlichen Schlüsseln in Blöcke zerlegt, um die Duplikatsuche in akzeptabler Laufzeit zu ermitteln. Als Schlüssel kommen z.B. die Anfangsbuchstaben der Organisationen oder ihre Geokoordinaten zum Einsatz. Anschließend werde die Datenobjekte aus den Blöcken paarweise – unter Anwendung etablierter Ähnlichkeitsmaße – miteinander verglichen. Aus dieser Berechnung ergibt sich für jedes Paar aus dem dem jeweiligen Block ein Ähnlichkeitswert zwischen 0 und 1. Dieser Wert beschreibt die Ähnlichkeit der Objekte. Ab einem Confidence-Schwellwert wird davon ausgegangen, dass die Objekte das gleiche Realwelt-Objekt beschreiben und es wird die Datenfusion eingeleitet. Der Vorgang gilt als geglückt, wenn anhand eines Test-Datensatzes, in akzeptabler Laufzeit, möglichst viele korrekte Duplikatpaare gefunden wurden (trotz der Unterteilung in Blöcke).

Nicht nur in der Unternehmenswelt, sondern auch im Bachelorprojekt ist Kommunikation wichtig.

Frei verfügbare, strukturierte Datenquellen (z.B. DBpedia und Wikidata) listen deutsche Unternehmen mit zusätzlichen Informationen auf, wie Mitarbeiterzahlen und Umsätzen. Diese können leicht ausgewertet werden und liefern somit bereits die Knotenmenge für den gesuchten Graphen. Die Beziehungen zwischen Unternehmen sind jedoch nur selten angegeben und müssen aus anderen Datenquellen bezogen werden. Hierfür bieten sich Zeitungen im Internet an, in denen häufig über die deutsche Wirtschaft berichtet wird. Die Herausforderung besteht darin, die relevanten Informationen aus dem für Menschen geschriebenen Artikel automatisiert zu extrahieren. Dieser Aufgabe widmet sich unsere Text-Mining-Komponente.

Um Beziehungen zwischen Unternehmen in Fließtexten zu erkennen, müssen zunächst Unternehmensnennungen erkannt werden. Ein Unternehmen kann dabei unter verschiedenen Namen auftreten, wie z.B. „VW“, „Volkswagen“ und „Volkswagen AG“. Bekannte Namen werden deshalb im Vorfeld mit Hilfe der deutschen Wikipedia ermittelt. Die Text-Mining-Komponente findet dann die Nennungen von Unternehmen im Fließtext. Mithilfe eines Tools, das an Prof. Naumanns Lehrstuhl entwickelt wurde, werden anschließend die Beziehungen zwischen diesen Unternehmen extrahiert. Diese werden schließlich als Kanten in den Unternehmensgraphen eingefügt.

Die Zwischenresultate der einzelnen Pipeline-Sektionen lassen sich über das Curation-Interface, das als Kontroll-, Bearbeitungs- und Analyse-Schnittstelle fungiert, betrachten. Dies geschieht in Form von Diagrammen, die z.B. die gefundenen Duplikate durch die Ähnlichkeitsmaße darstellen oder die Größe der einzelnen Blöcke, die durch das Blocking generiert wurden. Außerdem werden auch Zwischenergebnisse wie automatisch erkannte Relationen aus Texten mit dem Interface dargestellt. Sie lassen sich so einfacher auf Fehler überprüfen.
Das Curation-Interface enthält interaktive Tabellen und Graphen, mit denen sich auch manuell Fehler in den automatisch extrahierten Daten und Relationen finden und bearbeiten lassen. Realisiert wurde es mittels React und Material UI, was uns eine schnelle Prototypenentwicklung für die Benutzeroberfläche ermöglichte. Im Hintergrund arbeitet ein NodeJS-Webserver mit Cassandra-ORM, der auf die Datenbank des Ingestion-Projekts zugreift und die enthaltenen Daten per REST-API anbietet.

Die hier besprochenen Komponenten werden nach Abschluss des Projekts als Open Source veröffentlicht und sind modular konstruiert, sodass sich eine Anpassung mittels neuer Datenquellen, Algorithmen, Datenbankschemata und Visualisierungen realisieren lässt. Wenn ihr Fragen habt, besucht die GitHub-Projektseiten oder erreicht uns hier:
Ingestion: http://github.com/bpn1/ingestion
Curation: http://github.com/bpn1/curation

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here