DOAG BI 2013 Data-Mining in sozialen Online-Netzwerken Bianca Vornamen Böckelmann, Name, 17. dd.mm.yyyy April 2013
Agenda Über Robotron Motivation Knowledge Discovery in Databases (KDD)-Prozess Oracle Data Mining (ODM) Indirekte Bestimmung privater Informationen Selektion Vorverarbeitung Transformation Data-Mining Evaluierung Ausblick Praxiserfahrungen 2
Zahlen und Fakten Robotron Datenbank-Software GmbH Gründungsjahr 1990 Mitarbeiterzahl 303 (Stand 02/2013) Stammkapital Umsatz 2012 Geschäftssitz 2,4 Mio. EUR 31,1 Mio. EUR Stuttgarter Str. 29 01189 Dresden Oracle-Partner ISO 9001 zertifiziert 3
Robotron-Firmengruppe Tschechien: Robotron Database Solutions s.r.o. Schweiz: Robotron Schweiz GmbH Österreich: Robotron Austria GmbH Russland: Robotron Rus GmbH Deutschland, mit ECG Erdgas-Consult GmbH: Robotron ECG solutions GmbH 4
Motivation Soziale Online-Netzwerke erfreuen sich großer Beliebtheit Veröffentlichung privater Daten vs. Schutz der Privatsphäre Konsequenzen der Veröffentlichung: personenbezogene Daten können von Fremden missbraucht werden Privatsphäreeinstellungen ausreichender Schutz durch Verbergen der Profilinformationen? Ableiten privater Profilinformationen einer Person nur anhand der öffentlichen Daten seiner Freunde möglich? 5
Motivation Masterarbeit an der Brandenburgischen Technischen Universität Cottbus in Kooperation mit der Robotron Datenbank-Software GmbH und der IHP GmbH im Jahr 2012 Einsatz von Oracle Data Mining 11gR2, speziell Oracle Data Miner (ODMr) Umsetzung am Beispiel des sozialen Graphen von Facebook Können Fremde mittels Data-Mining (DM) die privaten Profilinformationen eines Nutzers nur anhand der öffentlichen Daten seiner Freunde vorhersagen? Ziel: Risiken aufzeigen, um Privatsphäre eines Einzelnen zu schützen Schlussfolgerung: Neben Profilinformationen auch Freundschaftsbeziehungen privat halten, um eigene Privatsphäre zu schützen? 6
KDD-Prozess KDD (semi-)automatischer Prozess zum Finden von Mustern in Daten KDD-Prozessmodell Entnommen aus Fayyad, Usama M.; Piatetsky-Shapiro, Gregory; Smyth, Padhraic: From Data Mining to Knowledge Discovery in Databases. In: AI Magazine 17 (1996), Nr. 3, S. 37 54 7
Oracle Data Mining Teil der Oracle Advanced Analytics Option Data-Mining in der Datenbank Zugriff über PL/SQL, SQL, R Grafische Benutzeroberfläche: Oracle Data Miner Erweiterung des SQL Developers 8
Oracle Data Mining Beispiel-Workflow im Oracle Data Miner 9
Oracle Data Mining Datenüberprüfungsknoten: einfache Statistiken Transformationsknoten: Binning Normalisierung Fehlende Werte Ausreißer 10
Oracle Data Mining Überwachtes Lernen Unüberwachtes Lernen Data-Mining-Verfahren Klassifikation Regression Assoziationsanalyse Clustering Anomalieerkennung Data-Mining-Algorithmen Entscheidungsbaum Naive Bayes Support Vector Machine (SVM) Generalisiertes Lineares Modell (GLM) logistische Regression GLM lineare Regression SVM Apriori k-means O-Cluster One-Class SVM 11
Oracle Data Mining Modellknoten 12
Oracle Data Mining Gelernte Modelle und Testergebnisse 13
privater Informationen Selektion PHP-Anwendung Hidden Profile in Facebook Graph API - Abfrage folgender Informationen Profilinformationen: Geburtstag Geschlecht Wohn- und Heimatort Gefällt mir -Angaben (TV, Film, Musik, Buch, Spiel, Sport) Informationen zur Arbeit und zur Bildung Freundschaftsbeziehungen Weltweit 698 Nutzer 14
privater Informationen Vorverarbeitung Fehlende Werte behandeln Geschlecht anhand öffentlicher Informationen herleiten Ableiten des Wohn- und Heimatorts anhand des Orts der Schule bzw. Hochschule und des Unternehmens Mittelwert, Modus Selten angegebene Attribute von Analyse ausschließen Bereinigung der Daten Vereinheitlichung des Vokabulars Notwendigkeit, da kaum Restriktionen bei Facebook-Eingabe Automatisches Matching anhand Syntax: Jaro-Winkler-Ähnlichkeit zu extrahierten Informationen aus DBpedia, Freebase Manuelle Korrektur aufgrund von Synonymen und Homonymen 15
privater Informationen Transformation Datentypkonvertierung Normalisierung: Automatisches Vorbereiten der Daten (ADP) Kategorisierung: Klassifikationshierarchien (vorwiegend automatisch mittels DBpedia, Freebase, ) Ort Gemeinde Kreis Bundesland Staat Studiengang Studienrichtung TV-Sendung TV-Genres Alter Altersgruppe (Quantil-Binning) Ausreißer Erkennen: One-Class SVM und manuell Behandeln: Glättung Alter; seltene, aber reale Werte nicht filtern Anteil in % 10 8 6 4 2 0 10 20 30 40 50 60 70 80 90 100 Alter in Jahren 16
privater Informationen Transformation Hidden Profile Graph Kante entspricht Facebook-Freundschaft 17
privater Informationen Transformation Auswahl der Freunde Maximale Anzahl an Facebook-Freunden: 700 Zu analysierende Nutzer haben mind. 3 bzw. 5 direkte Freunde (min_friends) Direkte und indirekte Freunde Anzahl erfasster Nutzer 300 241 200 100 186 150 112 85 68 0 3 4 5 6 7 8 min_friends 18
privater Informationen Transformation Attribut für einen Nutzer Atomar: CHAR,VARCHAR2,NUMBER,FLOAT Verschachtelt: DM_NESTED_NUMERICALS,DM_NESTED_CATEGORICALS Attributname VARCHAR2(4000) z.b. Fernsehsendungen DM_NESTED_CATEGORICALS( DM_NESTED_CATEGORICAL('Simpsons', '1'), DM_NESTED_CATEGORICAL ('Grey`s Anatomy', '1')) Wert NUMBER bei DM_NESTED_NUMERICAL VARCHAR2(4000) bei DM_NESTED_CATEGORICAL 19
privater Informationen Transformation Attribut für die Freunde eines Nutzers ODM setzt genau eine Falltabelle voraus mit genau einer Zeile pro Fall unterschiedliche Freundesanzahl unter Nutzern Aggregation der Freundeswerte notwendig Einsatz verschachtelter Datentypen Aggregation: relativer Anteil des Vorkommens unter Freunden Anzahl indirekter Freunde meist viel größer als Anzahl direkter separate Aggregation für direkte und indirekte Freunde, anschließende gewichtete Summierung Gewichtung w d in Abhängigkeit von kürzester Distanz d: w 1 = 1,0 und w 2 = 0,0 bzw. w 1 = 0,6 und w 2 = 0,4 20
privater Informationen Transformation Problemtransformierende Methode: Transformation Multi- in Single-Label-Daten anhand Auswahl eines Werts Auswahl relevanter Attribute Manuell: Granularitätsstufen Unbereinigt Bereinigt Kategorisiert auf verschiedenen Ebenen Automatisch: Minimum Description Length (MDL) Filterung irrelevanter Attribute für Vorhersage von Wohnort, Geschlecht, Alter Alle Single-Label-Attribute der Freunde irrelevant, außer bei Alter ist nur Alter der Freunde relevant Alle Multi-Label-Attribute der Freunde relevant 21
privater Informationen Data-Mining Überwachtes Lernen Verwendung des zuvor modellierten Graphen Nur Angaben der Freunde als Prädiktoren (Geschlecht, Wohn- und Heimatort, Alter, Schule, Unternehmen, TV ) vorherzusagender Nutzer = Blackbox Aufteilung in Trainings- und Testmenge Klassifikation: Geschlecht, aktueller Wohnort SVM Naive Bayes Entscheidungsbaum (ODM: nur Single-Label-Daten) GLM (logistische Regression nur für Geschlecht) Regression: Alter SVM GLM (lineare Regression) 22
privater Informationen Data-Mining Unüberwachtes Lernen Alle Nutzer einbeziehen, nicht nur die Freunde Assoziationsregeln Annahme: Nutzer hat mindestens eine Ausprägung eines Attributs A öffentlich Ziel: für Nutzer restliche private Ausprägungen von A vorhersagen Exemplarisch für TV-Angaben 23
privater Informationen Evaluierung Klassifikation Entscheidungsbaum im Allgemeinen schlechte Ergebnisse Wohnort - beste Prognosen bei Naive Bayes Gesamtklassifikationsgenauigkeit (CA) von 71 % auf bereinigter Ebene CA von 86 % auf Bundeslandebene Geschlecht - 65 % CA bei SVM Regression Alter - mittlerer absoluter Fehler von 2,05 Jahren bei GLM, wenn nur gewichteter Altersdurchschnitt der Freunde verwendet wird 24
privater Informationen Evaluierung Bestes Regressionsmodell für Alter liefert folgende Prognosen vorhergesagtes Alter 35 30 25 20 15 15 20 25 30 35 40 tatsächliches Alter 25
privater Informationen Evaluierung Beim Wohnort Multi-Label-Daten besser als Single-Label-Daten, beim Geschlecht keine Priorisierung Beste Altersvorhersage nur anhand gewichtetem Altersdurchschnitt der Freunde MDL nicht zuverlässig Hoher Zeitaufwand für Bereinigung und Kategorisierung, Einsatz nur beim Wohnort sinnvoll Einbeziehen indirekter Freunde nicht nötig Bessere Ergebnisse bei mind. 5 direkten Freunden als bei 3 26
privater Informationen Evaluierung Assoziationsregeln R = A B auf TV-Sendungen Support(R) 0,1 Allgemeingültigkeit Konfidenz(R) 0,4 Verlässlichkeit Lift(R) > 1 positive Korrelation A und B 27
privater Informationen Evaluierung Keine Regeln mit sehr guten Werten für alle 3 Maße Bereinigung sinnvoll Höherer Support Keine sinnlosen Regeln wie American Dad AND How I Met Your Mother AND South Park South Park 28
privater Informationen Evaluierung Gibt der Nutzer nur wenige TV-Sendungen öffentlich preis, so können weitere anhand der Angaben aller 698 erfassten Nutzer vorhergesagt werden! Anhand ausschließlich öffentlicher Informationen direkter Freunde können private Informationen eines Einzelnen geschlussfolgert werden! (Grundlage:150 Nutzer) Gute Vorhersage des Alters und des Wohnorts Mittelmäßige Ergebnisse für Geschlecht Fazit: Sämtliche Profilinformationen und Freundschaftsbeziehungen privat halten, um seine persönlichen Informationen vor Fremden zu schützen! 29
privater Informationen Ausblick Mögliche Verbesserung der Ergebnisse Anwendung auf größerer Datenmenge Mindestanzahl an direkten Freunden erhöhen Modellierung eines Interaktionsgraphen Anderes Anwendungsgebiet Andere graphenbasierte Strukturen 30
Praxiserfahrungen Vorverarbeitung und Transformation nehmen Großteil am KDD-Prozess ein Oracle Data Miner Einfache Handhabung aufgrund von Workflows, für Vergleich der Ergebnisse bei vielen unterschiedlichen Knoteneinstellungen auf gleichen Daten eher PL/SQL-API geeignet Nicht unterstützte Transformationen mittels SQL, PL/SQL selbst implementieren kein zusätzlicher Datentransport nötig 31
Praxiserfahrungen Oracle Data Mining Implizite Behandlung von fehlenden Werten und implizite Zuweisung des Skalentyps eines Attributs anhand des Datentyps beachten Einschränkungen Keine verschachtelten Prädiktoren beim Entscheidungsbaum Keine Vorhersage von verschachtelten Zielattributen 32
Bianca Böckelmann M.Sc. Systemberaterin BI/DW Vielen Dank für Ihre Aufmerksamkeit! Robotron Datenbank-Software GmbH Stuttgarter Straße 29 01189 Dresden Telefon: +49 351 25859-2463 Telefax: +49 351 25859-3699 bianca.boeckelmann@robotron.de http://www.robotron.de 33