metodi e applicazioni per social networks -...

17
Metodi e applicazioni per social networks SOcial MEdia MiNIng

Upload: phungnga

Post on 18-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Metodi e applicazioni per social networks

SOcial MEdia MiNIng

Page 2: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Social Media Mining is the processof representing, analyzing, and extracting meaningful patterns from social media data

Page 3: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Generalità del corso

Docenti:

– Sabrina Gaito [email protected]

– Matteo Zignani [email protected]

Ricevimento:

– Su appuntamento via mail

Web:

http://someni.di.unimi.it

Orario:

– Lunedì Aula Beta - Via Comelico 14.30 - 16.30 da confermare

– Mercoledì Aula Beta - Via Comelico 11.30 - 13.30

– Giovedì Aula Beta - Via Comelico 13.45 - 15.30

– Venerdì Aula Delta - Via Comelico 09:00 - 12:45 (Laboratorio)

Page 4: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Teoria

Page 5: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

ProgrammaTeoria

• Graph essential• Rappresentazione di grafi• Tipi di grafo• Sottografi, diadi e triadi• Cammini• Grafi connessi e componenti• Algoritmi su grafi

• Misure di popolarità e centralità• Degree• Betweenness, closeness, …

• Random networks e scale free network• Diadi:

• Link strength: weak e strong • Link reciprocity• Link transitivity and balance theory

• Triadi:• Clustering coefficient• Common neighbours• Link prediction

• Small world network• Sottografi: Clique and community detection

• Applicazioni• Information diffusion• Influence e homophily• Recommendation

Page 6: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Materiale Didattico

Reza Zafarani, Mohammad Ali Abbasi, Huan LiuSocial Media Mining: An IntroductionA Textbook by Cambridge University Presshttp://www.cambridge.org/ca/academic/subjects/computer-science/knowledge-management-databases-and-data-mining/social-media-mining-introduction [http://dmml.asu.edu/smm/]

Albert-László BarabásiNetwork Sciencehttp://barabasi.com/networksciencebook/

D. Easley, J. KleinbergNetworks, Crowds, and Markets: Reasoning About a Highly Connected Worldhttp://www.cs.cornell.edu/home/kleinber/networks-book/

Wasserman, Stanley and Katherine Faust. 1994.Social Network Analysis: Methods and Applications.Cambridge: Cambridge University Press.

Newman, M.E.J.Networks: An Introduction.Oxford University Press. 2010.

Page 7: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Modalità d’esame

Scritto:

– Domande aperte

– Esercizi

Orale:

– Presentazione dal progetto

– Domande sul progetto

Page 8: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Laboratorio

Page 9: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

ProgrammaLaboratorio

– Introduzione a Python

– Web scraping

– Sviluppo di un focused crawler (Scrapy)

– Social Media API

– Twitter API

– Tools per l’analisi di reti sociali (NetworkX)

– Utilizzo delle metriche e indici visti nella parte di teoria

– Analisi delle proprietà dei nodi e dei link

– Analisi mesoscopica

– Estrazioni di sottografi particolari

– Community detection

– Graph Visualization (Gephi)

Page 10: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Linguaggi, librerie ed altri tools

Linguaggio di programmazione: Python

– Anaconda (distribuzione Python orientata al calcolo scientifico e data analysis) @ https://www.anaconda.com/download/

– Python 3.6 (consigliato)

– Jupyter Notebook: web-app per l’analisi dei dati in Python (sviluppo applicazioni, visualizzazione, editor, file explorer, etc...)

Librerie: networkx, requests, twython, flask

Visualizzazione: Gephi

Hardware:

– Postazioni in laboratorio

– Utilizzo del laptop (vedi slide in Appendice)

Page 11: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Progetto

– Progetto: analisi di una rete originata da dati provenienti da un social media.

– Il progetto deve essere originale e viene proposto dallo studente. Sono disponibili alcuni progetti proposti dai docenti, solo nel caso in cui non si abbia alcuna idea.

– Una bozza del progetto viene discussa preventivamente con i docenti del corso in modo da verificarne la reale fattibilità e originalità.

– Il progetto viene svolto individualmente o in caso di progetto complesso a coppie (deve essere ben definito il contributo dei membri).

– Ogni progetto è costituito dalle fasi:– Data collection

– Analisi

– Commento dei risultati ottenuti

Page 12: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

CriteridiValutazione

Data collection (Raccolta Dati):

– Base: Utilizzo di un dataset già disponibile

– Intermedio: Utilizzo di API supportate da moduli Python adeguatamente documentati

– Avanzato:

– Utilizzo di API scarsamente supportate da moduli Python

– Raccolta dati utilizzando web scraping e focused crawler

Analisi:

– Base: analisi delle proprietà fondamentali di una rete (cfr. articolo su analisi di Twitter o Facebook, escluso ANF ed avearge shortest path)

– Intermedio: analisi delle proprietà fondamentali di una rete, analisi assortatività per attributo, community detection (intermedio/avanzato)

– Avanzato: analisi precedenti +

– Implementazione di misure/algoritmi non presenti in Networkx

– Analisi delle relazioni tra ulteriore oggetti (commenti, elementi testuali, foto, video, informazioni geografiche, informazioni sugli account, etc.. ) e la struttura della rete

Commenti sul'analisi effettuata:

– Base: statistiche descrittive e confronto con altre reti simili

– Intermedio: statistiche descrittive e analisi critica rispetto alle nozioni viste nelle lezioni di teoria

– Avanzato: intermedio + discussione originale su alcuni/tutti i risultati ottenuti.

Dimensione del dataset (valutato in caso di data collection intermedia o avanzata):

– Numero di nodi, archi del grafo

– Numero di elementi/oggetti utilizzati nell'analisi intermedia/avanzata

– Utilizzo di framework per la manipolazione di Big Data (Apache Spark, Hadoop)

Page 13: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Esempi di progetti

– NBA e YouTube (Ba Cheick)

http://someni.di.unimi.it/progetti2017/Ba-Youtube.pdf

– Eurovision Song Contest su Twitter (Laura Mandelli)

http://someni.di.unimi.it/progetti2017/Mandelli-Twitter_ESC.pdf

– Mastodon (Dondi Federica)

http://someni.di.unimi.it/progetti2017/Dondi-Mastodon.pdf

Page 14: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

MaterialeDidattico

Twitter API

Ad ogni lezione di laboratorio è associata un Jupyter Notebook con esempi ed esercizi

Page 15: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Agenda e orario

Agenda (Tentativo)

02 Marzo: Introduzione a Python

9 Marzo: Web scraping

16 Marzo: Focused crawling + Scrapy

23 Marzo: Oauth e Twitter API

06 Aprile: Webapp, Social plugin e Flask

13 Aprile: Presentazione ‘bozza’ del progetto

20 Aprile: Networkx e centralità

27 Aprile: Assortatività e link analysis

04 Maggio: Community detection

11 Maggio: Sviluppo progetto

18 Maggio: Sviluppo progetto

Orario: 9:00 – 12:45

Page 16: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

Installazione Anaconda

Desktop/Laptop Studente

Page 17: Metodi e applicazioni per social networks - someni.di.unimi.itsomeni.di.unimi.it/slide/2018/Introduzione al corso.pdf · • Rappresentazione di grafi • Tipi di grafo • Sottografi,

https://docs.anaconda.com/anaconda/install/linux

Win: Installare Anaconda senza privilegi di amministrazione e solo per il vostro utente

macOS: Installare Anaconda solo per il vostro utente

Linux: seguire le istruzioni (vedi link nella slide).

Check Installazione:1. Aprire una shell2. Digitare conda listSe Anaconda è stato installato correttamente viene visualizzato l’elenco dei package/moduli installati