Institut für Informatik Hauptseminar „Data Science“: Mining Social Media Hauptseminar SS 2015 Ansprechpartner: Prof. Matthias Renz Dr. Tobias Emrich Johannes Niedermayer Ablauf Agenda • Einleitung • Seminarüberblick • Ziele des Seminars • Ablauf des Seminars • Mining Twitter • Warum Twitter? • Mögliche Fragestellungen • Grundlagen • Twitter API • Tools • Einteilung der Gruppen MediaQ Social Media Internetbasierte Applikationen, die auf dem Web 2.0 aufbauen und die Erzeugung sowie den Austausch nutzergenerierter Inhalte ermöglichen Twitter Twitter • Microblogging-Plattform • Kommunikation erfolgt über Tweets • • • • Kurze Textnachrichten mit bis zu 140 Zeichen Hashtags zur Kategorisierung Möglichkeit der Einbindung von Bildern und Videos Zusätzliche Anreichung mit Geoinformationen möglich Literaturempfehlung: Kwak, Lee, Park, Moon: “What is Twitter, a Social Network or a News Media?“ (2010). Ziele Ziele Entwicklung neuer Analysemethodiken für Microblogging-Plattformen wie Twitter und Instagram • Einarbeitung in Fragestellungen des Themengebiets „Data Science“ mit Konzentration auf Social Media Mining • Kreative Auseinandersetzung mit den gegebenen Daten • Neue Fragestellungen zur Analyse von Social Media Daten entwickeln • Ansprechende Visualisierung der Idee • Umsetzung der Ideen • Implementierung • Präsentation Ablauf des Seminars Ablauf des Seminars • 1. Termin (Heute) • Vorstellung der Thematik • Einteilung der Gruppen • 2. Termin (6. November 2015) • Meilenstein: theoretische Auseinandersetzung abgeschlossen • Paper-Präsentation (Theoretischer Teil) • Vorstellung der Projektideen (Praktischer Teil) • 3. Termin (4. Novemberwoche) • Meilenstein: praktische Einarbeitung beendet • Zwischenpräsentation des Projektes • Diskussion der Zwischenergebnisse • 4. Termin (5. Februar 2016) • Meilenstein: Projekt abgeschlossen • Abschlusspräsentation des Projektes Ablauf: Theoretischer Teil Ablauf: Theoretischer Teil • Einarbeitung in ein festgelegtes Themengebiet anhand eines vorgegebenen Papers • Entwicklung von eigenen Applikationsideen • • anhand der Publikation • anhand eigener Ideen Präsentation der Ergebnisse im Seminar • 15 Minuten Paper • 5 Minuten eigene Projektideen • 5 Minuten Diskussion Ablauf: Praktischer Teil (Einarbeitung) Ablauf: Praktischer Teil (Einarbeitung) • Einarbeitung in die Twitter- oder Instagram-API und Crawling der benötigten Daten über die API • Detaillierte Auseinandersetzung mit den Daten inklusiver erster Experimente - Realdaten sind schwierig: Vorverarbeitung ist kritisch! Vertraulichkeit: Twitter Terms of Service beachten • Crawler wird bereit gestellt (Java) • Weiterentwicklung der Ideen • Skizzierung einer detaillierten Analysepipeline • Präsentation der Ergebnisse (~10 Minuten) und Diskussion mit den Betreuern (~5 Minuten) Ablauf: Praktischer Teil (Umsetzung) Ablauf: Praktischer Teil (Umsetzung) • Implementierung des entwickelten Analyseverfahrens • Dokumentation der Applikation, sowie Beschreibung der Softwarearchitektur und Algorithmen in einem Webdokument • Präsentation des Verfahrens und der Umsetzung im Seminar (~15 Minuten) Ziele Benotungskriterien 1. Einarbeitung in ein Themengebiet anhand eines vorgegebenen Papers und Vortrag zu diesem Themengebiet 2. Entwicklung und Implementierung eines Analyseverfahrens 3. Dokumentation und Veröffentlichung des Verfahrens in Form eines Webauftritts 4. Präsentation der Ergebnisse im Seminar Es wird in Gruppen von 3 Personen gearbeitet. Warum Twitter? Geokoordinaten Bilder Retweets Hashtags Text Follower Links API Data Mining und Machine Learning Techniken • Clustering • Outlier Detection (bzw. Trend Detection) • Regression • Klassifikation • Frequent Pattern Mining • Hot-Spot Detection • Graph Pattern Mining • Query Processing • … Ziele Mögliche Fragestellungen Retweet Prediction: Wie groß ist für einen gegebenen Tweet die Wahrscheinlichkeit eines Retweets? Trend Analysis: Welche Begriffe sind aktuell im Trend? # Hashtag Prediction: Welche Hashtags bieten sich für einen Tweet an? Vergleich der Daten (Text, Geodaten, Bilder, Hashtags, …) von Twitter und Instagram Identifikation interessanter Orte (POIs) ? Weitere innovative Ideen sind Willkommen! MediaQ Twitter API • Nach einer Registrierung ermöglicht Twitter den Datenzugriff über eine API • Streaming API ermöglicht Empfang eines Samples • Spezielle Anfragen an die Twitter-API (Begrenzt bzgl. Anzahl an Queries) • Implementierungen für eine Vielzahl von Programmiersprachen • Crawler wird bereit gestellt (Java) • Links: • API http://dev.twitter.com/ • Libraries: http://dev.twitter.com/overview/api/twitter-libraries Hardware Hard- und Software (Auszug) • hekto.cip.ifi.lmu.de – 136 GB Arbeitsspeicher, 24 Kerne • deka.cip.ifi.lmu.de – 144 GB Arbeitsspeicher, 24 Kerne • cerboli.dbs.ifi.lmu.de – 32 GB Arbeitsspeicher, 12 Kerne, Tesla M2090 GPU Nach Anmeldung! • https://wiki.cip.ifi.lmu.de/tiki-index.php?page=tiki-sge – Sun Grid Engine des CIP-Pools Texte Arbeiten mit Texten • Tokenization: Splitten von einem Text String in einzelne Worte/Tokens • Stopword Removal und Term Weighting: Entfernung irrelevanter Worte (der, die das, …) • Gewichtung von Worten nach Informationsgehalt (TF/IDF) • Frameworks • NLTK (Python) – Stemming, Stopwortlisten, Klassifikatoren, Sentiment Analysis http://www.nltk.org/ • Lucene (Java) – Textsuchmaschine http://lucene.apache.org • OpenNLP (Java) – Natural Language Processing mit Java https://opennlp.apache.org/ Bilder Arbeiten mit Bildern • Mit Caffe (http://caffe.berkeleyvision.org/) können State-of-the-Art Features aus Bildern extrahiert werden, die dann wie beliebige Vektordaten verarbeitet werden können • OpenCV ermöglicht die Extraktion weiterer Features • theano, numpy und sklearn eignen sich gut für Fragestellungen aus dem Bereich Machine Learning (nicht nur für Bilder) Social Graphs Arbeiten mit sozialen Netzwerken • FlockDB (Graphdatenbank von Twitter) https://github.com/twitter/flockdb • Neo4j (Graphdatenbank) http://neo4j.com • Redis (NoSQL) http://redis.io/ Geodaten Arbeiten mit Geodaten • Lucene (Textsuchmaschine mit Spatial Tools) http://lucene.apache.org • PostGIS (Geodatenbank) http://postgis.net/ • Weka (Data-Mining Framework) http://www.cs.waikato.ac.nz/ml/weka/ • Elki (Data-Mining Framework) http://elki.dbs.ifi.lmu.de/ Ziele Gruppeneinteilung Austausch Die-Informatiker Forum Unter Hauptstudium -> DBS -> Hauptseminar „Data Science“ 2015 Gruppeneinteilung Vortragsthemen (1) 1. 2. 3. 4. 5. 6. 7. 8. 9. Georgiou, Agrawal, Abbadi GeoScope: Online Detection of Geo-Correlated Information Trends in Social Networks. Topic: Trend Detection. Cataldi, Di Caro, Schifanella: Emerging Topic Detection on Twitter based on Temporal and Social Terms Evaluation. Tropic: Trend Detection. Bakshy, Hofman, Mason, Watts: “Everyone’s an Influencer: Quantifying Influence on Twitter” (2011). Topic: Twitter Analysis. Pak, Paroubek: “Twitter as a Corpus for Sentiment Analysis and Opinion Mining” (1010). Topic: Sentiment Analysis. Wang, Wei, Liu, Zhou, Zhang: “Topic Sentiment Analysis in Twitter: A Graph-based Hashtag Sentiment Classification Approach”. Topic: Graph Mining. Bahmani, Chowdhury, Goel: “Fast Incremental and Personalized PageRank” (2010). Topic: Social Network Analysis. Lu, Chen, Kou: "Algorithms for spatial outlier detection„ (2003). Topic: Spatial Data Analysis. Krizhevsky, Sutskever, Hinton: “ImageNet Classification with Deep Convolutional Neural Networks” (2012). Topic: Image Classification. Castillo, Mendoza, Poblete: “Information Credibility on Twitter” (2011). Topic: Twitter Analysis. Hausaufgaben bis zum nächsten Mal… • Vertraut machen mit den Daten und Plattform • API-Richtlinien lesen • Twitter Entwickler-Konto anlegen • Einfache Applikation zum Zugriff auf die Streaming-API entwickeln • Präsentation Erstellen (Präsentationslänge ~20 Minuten) • Inhalt des Papers (ca. 15 Minuten) • Kreativer Teil (ca. 5 Minuten) • Auswahl einer der zuvor erwähnten Analysen oder Entwicklung einer neuen Fragestellung auf den Daten von Twitter oder Instagram • Anwendung und ggfs. Anpassung der Techniken des Papers auf die ausgewählte Fragestellung • Optional: Weitere Anwendungsideen unabhängig vom Paper