Inspiration
Digitalisierung im Bauwesen? - Genau unser Thema! Als eine Bauingenieurin, die genau zu diesem Thema ihre Masterthesis schreibt, ein motivierter Informatiker und ein kompetenter Maschinenbaustudent mussten wir uns direkt beim Hackathon anmelden. Networking, Erfahrungen im Programmieren sammeln und gemeinsam ein Projekt auf die Beine stellen reichten als erste Motivation. Die ansprechende Moderation von Alex und die Aussicht auf eine Goodie Bag haben uns letztendlich endgültig davon überzeugt, dass wir beim richtigen Hackathon mitmachen.;) Nach der Vorstellung der Challenges fiel die Wahl der Datenschutz-Challenge nicht schwer. Eine unserer Meinung nach sinnvolle Herausforderung, zu der wir direkt erste Ideen entwickelten war perfekt!
What it does
Unser Konzept basiert auf einer Kombination aus konventioneller Datenanalyse und Machine Learning. In einem iterativen, mehrstufigen Prozess werden die personenbezogenen Daten aus unterschiedlichen Dateiformaten ausgelesen und durch Aliase ersetzt. Dabei wird die Wahrscheinlichkeit bestimmt, mit welcher für den vorliegenden Text oder das abgebildete Logo eine Anonymisierung notwendig ist. Als beispielhaftes Use Case wählten wir die Betrachtung von LVs in der Form von GAEB-Dateien. Das Prinzip ist auf weitere Dateiformate übertragbar. Die ersten vier Schritte werden anhand einer konventionelle Datenanalyse durchgeführt. Der erste Schritt zur Anonymisierung umfasst dabei die Analyse der Tags aus den XML-Daten. Es werden kritische Tags festgelegt, die zu 100 % anonymisiert werden müssen, sobald sie einen Inhalt aufweisen. Beispielsweise fallen hierunter die Adressdaten des Kunden. Weiteren Tags werden niedrigere Wahrscheinlichkeiten für eine notwendige Anonymisierung zugewiesen. Beispielsweise ist es möglich, das in einem Fließtext der Kundenname erwähnt wird. Im zweiten Schritt wird die Datei auf Keywords, wie straße oder mann untersucht, welchen eine hohe Wahrscheinlichkeit der Anonymisierungsnotwendigkeit zugeordnet wird. In der darauffolgenden Websearch werden bestehende Adressdaten, Namenslisten und Handelsregister durchsucht, um eventuelle Übereinstimmungen mit einer Wahrscheinlichkeit zu klassifizieren. Durch eine anschließende Dursuchung des Dokumentens wird die Datei auf bereits als kritisch identifizierte Elemente untersucht. Die bereits identifizierten Stellen werden einer KI als Grundlage zur Verfügung gestellt. Es wird zunächst analysiert an welcher Position im Dokument die zu anonymisierenden Daten mit welcher Wahrscheinlichkeit aufzufinden sind. Daneben wird untersucht, in welcher Nähe zu weiteren kritischen Daten die untersuchten Elemente stehen. Beispielsweise ist es wahrscheinlich, dass auf einen erkannten Vornamen ein Nachname folgt oder auf einen Straßenname eine Postleitzahl. Eine weitere Iterationsstufe bildet die Risikoanalyse. Die KI weist den Elementen Risiken zu und erkennt so eigene Muster.
How we built it
Zu Beginn stand die Problemanalyse an. Nach der Klärung der Ausgangssituation arbeiteten wir Anforderungen aus, die wir an unser Konzept stellten. Unter anderem stellt die möglichst hohe Erhaltung von Informationen nach der Anonymisierung einen Gegenstand der Untersuchung dar. Durch ein Ersetzen von Elementen wie Straßennamen durch den Begriff "Musterstraße" etc. wird so beispielsweise das Textverständnis sichergestellt. Auf Basis unserer Anforderungen entwickelten wir darauffolgend das oben beschriebene Konzept. Ein komplettes Programmieren aller Konzeptschritte stellte sich in 48 Stunden als unmöglich dar, weshalb wir uns auf die Umsetzung eines Teils der ersten Stufe beschränkten. In diesem Zusammenhang begannen wir damit, zunächst zu 100 % kritische Elemente der gegebenen GAEB-Dateien zu definieren. Die so entstandene Liste bildete die Basis zum Programmieren der nachfolgenden Taganalyse.
Challenges we ran into
Als Herausforderung stellte sich zunächst die Nutzung von Azure dar, mit der kein Mitglied unserer Gruppe vertraut war. Nach Absprache mit einem Mentor entschlossen wir uns schließlich dazu, eine virtuelle Maschine über Azure zu nutzen, während auf den zwei weiteren PCs lokal programmiert und die Ergebnisse über Github zusammengeführt wurden.
Accomplishments that we're proud of and what we learned
Die Level unserer Programmierkenntnisse sind unterschiedlich ausgeprägt. Dennoch konnten wir alle an dem Code mitschreiben und dabei sicherstellen, dass bei allen Teammitgliedern das Verständnis nicht zu kurz kommt. So erlernte ein Mitglied dieses Wochenende beispielsweise den Umgang mit rekursiven Funktionen. Währenddessen kam stets der Spaß nicht zu kurz und besseres Teamwork kann man sich nicht wünschen.
What's next for #Musterprojekt
Nach der Programmierung des ersten Teils unseren Konzepts steht die Ausarbeitung der weiteren Schritte an. Der fertige Code kann daraufhin auf weitere Dateiformate angewandt werden.
Log in or sign up for Devpost to join the conversation.