a

Lorem ipsum dolor sit amet, consectetur adicing elit ut ullamcorper. leo, eget euismod orci. Cum sociis natoque penati bus et magnis dis.Proin gravida nibh vel velit auctor aliquet. Leo, eget euismod orci. Cum sociis natoque penati bus et magnis dis.Proin gravida nibh vel velit auctor aliquet.

  /  Project   /  Blog: Raum- und Geodatenanalyse Münster

Blog: Raum- und Geodatenanalyse Münster


Das Projekt trägt den Namen Raum- und Geodatenanalyse Münster. Die Projektidee hatte im Laufe der Projektphase zwei Gesamtüberarbeitungen, was recht spannend war mitzuerleben.

Da der ursprüngliche Projektinitiator nicht unserer Gruppe zugeordnet wurde, waren wir am Projekt-Kick Off zu aller erst ahnungslos. Wir verstanden aus der Projektbeschreibung nicht, welches das Ziel war. Am Ende der ersten Überarbeitung konnten wir den Ideengeber per Zufall ausfindig machen und er erklärte uns:

Aus Geodaten, die wir aus dem Internet beziehen, sollte eine Analyse über die Stadt Münster erfolgen, bei der Stadtteile bzw. bestimmte Orte vorhergesagt werden, die bei der Gefahr von Hochwasser besonders betroffen wären.

Wir waren zu zweit (die anderen Mitglieder waren verhindert) und wir kannten also nur die Wörter: Raumdatenanalyse, Stadt und Münster. Das lässt ziemlich viel Spielraum übrig. Daraufhin haben wir gebrainstormt und sind auf eine andere interessante Idee gekommen:

Fahrraddaten in Münster auszuwerten mit der Fragestellung, wie sich Fahrradverkehrsströme verhalten. Da wir schon in Münster leben, darf die Leeze auch nicht fehlen!

Dieses sollte in Abhängig vom Zeitpunkt, den Wetterbedingungen und den Verkehrsströme der Autofahrer, etc. untersucht werden. Wo und wann kommt es vermehrt zu Fahrradunfällen, um dann zu untersuchen von welchen Variablen (Zeit, Ort, Verkehr) dieses abhängig ist.

Im Zeitraum von zwei Wochen wurde die Idee ein wenig weitergesponnen und als letztes und endgültiges Ergebnis entstand ein Erlebnisroutenplaner mit dem Stichwort:Kneipentour.

Ein Routenplaner schlägt eine Route mit drei offenen Kneipen, die alle offen haben.

Zwischen Hochwasser und Kneipentour-Empfehler ist ordentlich viel Raum, was jedoch das Aufregende war. Die Projektidee war nicht in Stein gemeißelt und das eigentliche Projekt konnte interaktiv und iterativ gestaltet werden.

Das konkrete Projekt sollte sich mit der Erstellung eine App befassen, welche mittels eines Recommenders dem Nutzer eine Kneipentour vorgeschlagen wird. Es soll eine zufällige Auswahl von n Kneipen, den Kriterien entsprechend, getroffen werden. Die Rahmenbedingungen, wie Entfernung und Zeitfenster, sollen berücksichtigt werden. Mittels eines Routing-Algorithmus sollte eine dem Verkehrsmittel entsprechend optimierte Route vorgeschlagen werden. Die Kriterien sollen Eigenschaften, wie Gemütlichkeit, Coolnessfaktor und Preise beinhalten. Es muss jedoch ein Datensatz mit den Kneipen, Bars und Gaststätten mit Öffnungszeiten, Ort und Informationen generiert werden.

Der Start für den User beginnt bei dem UI, in dem er seine Angaben über den geplanten Abend macht. Am Ende des Abends bewertet der Nutzer die Tour und die Lokalitäten.

Wir kannten das Ziel, und die Meilensteine waren: die Erstellung eines Datensatzes mit genügend Informationen, das Routing-Problem, die Erstellung eines User-Interfaces, das Coden eines vernünftigen Recommenders.

Unsere Ressourcen waren ein Team aus 5 Techies mit allen drei Tracks-Ausrichtungen: Drei Data-Science-Python-Anhänger, ein AI’ler und ein WebDev-Techie. Ergo waren wir breit aufgestellt.

Jeder Meilenstein geht mit unterschiedlichen Schwierigkeiten einher.

Die Generierung eines Datensatzes erfolgte mittels Web Scraping. Es muss zuerst eine vernünftige Quelle, die viele relevante und notwendige Informationen beinhaltet, gefunden werden. Es wurden passendere und weniger geeignete Seiten, wie Yelp, Facebook, usw. gefunden. Es wurde sich auf eine heimische und münsteraner Seite www.muenster-geht-aus.de festgelegt.

Hier haben sich die Data Scientists ran getraut und die Seiten auf die Lokalitäten ausgelesen. Es ist interessant zu erfahren, was hinter WebScrapping alles steckt und dabei gelernt wird. Die Internetseite muss zuerst auf seine Struktur „erforscht“ werden. Dann muss eine Strategie entwickelt werden, wie die gewünschten Seiten erreicht werden, um diese dann auf ihren Inhalt auszulesen.

Um diese Herausforderung zu bewältigen, diente BeautifulSoup, welches aus dem Roh-HTML-Text (der sogenannten Soup) einen geordneten und lesbaren Text („die schöne Suppe“) macht. Der Text wird daraufhin selektiert, sodass nur die gewünschten Informationen gesammelt werden. Dieses wird dann in ein DataFrame verpackt. Siehe da, es konnten 300 Internetseiten innerhalb von 3,5 Minuten auf ihren Inhalt gezielt „gescrawlt“ werden.

Das Paket Geopy diente dazu das gesamte Routing-Problem zu lösen. Es musste eine Infrastruktur erhalten werden, um die Positionen der Lokalitäten aus den Adressen zu bestimmen. Geopy half dabei die Adresse aus dem Datensatz mit Ortskoordinaten zu koppeln. Dieselbe Bibliothek kann ebenfalls die Distanz per Luftlinie bestimmen.

Die Erstellung eines User-Interfaces hat sich letzten Endes als schwierig herausgestellt, da unser WebDev-Spezialist sich aus dem Projekt entzogen hat. Aber das ist kein Problem für Sven, den Data-Science Pythonisten. Er konnte eine pragmatische Lösung für eine UI coden. Seine Notfalllösung bestand aus einer PyQT-Anwendung, die ein User-Interface erstellt.

Das Coden eines vernünftigen Recommenders ist derzeit recht spannend. Als erstes musste in Erfahrung gebracht werden, was überhaupt ein „recommendation engine“ ist. Ein Empfehlungssystem ist ein simpler Algorithmus, welcher das Ziel hat, den Nutzer mit der am meisten relevanten Information zu versorgen. Die Informationen werden durch Erforschung von Mustern aus dem Datensatz bezogen. Ein Beispiel dafür ist die Empfehlungs-Maschine von Netflix. Diese schlägt den Nutzer Filme und Serien vor, die ihm gefallen könnten. Es gibt zahlreiche Anwendungen in bekannten Plattformen, wie Amazon, Apple Music, usw.

Es gibt eine große Anzahl an Typen von „recommendation engines“. Die üblichen Arten sind sogenannte „collaborative filtering“ und „content-based“ Empfehlungssysteme.

Beim collaborative filtering wird das Verhalten einer Nutzergruppe verwendet, um Empfehlungen für andere Nutzer zu treffen.

Bei content-based Systemen hingegen werden Meta-Daten verwendet, um Gegenstände weiter zu empfehlen. Diese Daten sind zum Beispiel Genre, Schauspieler, Nationalität des Filmes.

Wir standen vor der Fragestellung, ob unsere Daten dafür geeignet sind, da wir keine Meta-Daten für ein content-based System und weder Bewertungen noch Nutzer-Historien zur Verfügung hatten.

Wir hatten nur eine kurze Beschreibung der Lokalitäten, sodass wir uns für ein regel-basiertes Modell entschieden haben. Wir mussten also den Text auf seine Wörter analysieren und die Wortfrequenzen bestimmen. Manche Begriffe müssen häufiger als andere vorkommen. Jedoch war die Verteilung nicht erwartet wie gewünscht. Die meisten Wörter wurden nicht richtig gezählt, da z.B. „legendär“ und „legendäre“ nicht zusammen gefasst werden.

Wir mussten also Text-Mining-Grundlagen verwenden. Das nltk (Natural Language Toolkit) Paket war unsere Rettung. Der Text muss zuerst vorverarbeitet und dann vereinheitlicht werden. Der Text wird also „tokenisiert“: Der Text wird in einzelne Wörter (Tokens) zerlegt. Im nächsten Schritt müssen die Tokens normalisiert werden, indem unterschiedliche flektierte Wortformen als gleiches Wort registriert werden. Das sogenannte „Stemming“ bildet unterschiedliche Wortformen auf den selben Wortrumpf oder Wortstamm ab. Der German-Stemmer aus dem nltk Paket erledigt genau dies für uns. Dieser entfernt Wortendungen, Umlaute, etc., sodass wir manuell nur Stoppwörter entfernen und kleine Anpassungen durchführen müssen. Es konnten also nun Wörter gezählt werden! Die Verteilung der Wörter war informativer, sodass wir diese clustern konnten. Um es nicht zu verkomplizieren, wurden die am häufigsten vorkommenden Wörter per Hand ausgewertet. Die Wörter konnten den Stimmungen oder dem Muster „entspannt, modern, romantisch, party, klassisch und legendär“ zugeordnet werden. Derzeitig befinden wir uns noch dabei den regel-basierten Algorithmus fertigzustellen, damit ihr eure Kneipentour nach diesen Mustern bestimmen könnt!

Wir hatten also einen Datensatz erstellt, welcher Geolocations enthält und somit die Route erstellt werden kann. Es ist eine vorübergehende UI erstellt worden und die Clubs & Kneipen konnten Clustern zugeordnet werden. Das Empfehlungssystem ist derzeitig noch in Entstehung.

Was waren die größten Herausforderungen?

Ich glaube es gibt fachlich keine nicht-lösbaren Probleme in den Projekten. Die Projekte wurden mit unserem Mentor überarbeitet, der auch ständig bei Schwierigkeiten hilft. Es ist eher eine Herausforderung eine simple und passende Lösung zu finden. Simple heißt nicht, die erste als auch nicht die komplizierteste, sondern eine passende Lösung, selbst wenn man Zeit in andere Möglichkeiten investiert hatte. Ach und außerdem, Google ist dein bester Freund!

Die Unsicherheit die Herausforderung nicht zu bewältigen, demotiviert einen zwischendurch. Wichtig war es einfach weiterzumachen und mich mit anderen Techies auszutauschen, sodass man sich gegenseitig hilft und motiviert. Der Community-Faktor ist bei TechLabs das Besondere. Es gab coole Vorträge und Hackathons, bei denen man gemeinsam gecoded hat. Man ist also nicht auf sich allein gestellt.

Eine Herausforderung war es teils einen Spagat zwischen der Universität, Freizeit und TechLabs zu machen. Es ist manchmal anzustrengend gewesen, aber man konnte sich die Arbeit aufteilen.

Der Anfang der Projektphase war zwar holprig, aber wir konnten unser Projekt nach unseren Vorstellungen gestalten. Wir wurden zwar recht schnell nur zu einer Zweier-Gruppe, doch unser Mentor hat uns die ganze Zeit unterstützt.

Wenn man ein Anfänger ohne Vorkenntnisse ist betritt man eine noch komplett unbekannte Welt, die einen öfters verunsichert. Hier liegt eine der größten Herausforderungen im Persönlichen. Die Hemmschwelle Probleme zuzugeben ist ziemlich groß, sodass diese eventuell nicht mitgeteilt werden. Ich muss sagen, ich hatte keine Vorkenntnisse und nun habe ich ein neues Hobby gefunden! Mein Horizont wurde durch TechLabs erweitert, sodass ich meine Spezialisierung meines Masterstudiums in Richtung Digitalisierung der Chemie-Industrie sehe.

Mein größter Erfolgsmoment war nach dem 200sten automatisierten Auslesen der Website. Es hatte endlich geklappt. Man lernt soviel dazu und es gibt keine bessere Abwechslung zum Hörsaal. — Jesús Andrés Duarte Traebecke

Source: Artificial Intelligence on Medium

(Visited 3 times, 1 visits today)
Post a Comment

Newsletter