SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Hollywood
Laurea Magistrale in Teoria e Tecnologia della Comunicazione
Corso di Intelligenza Artificiale
A.A. 2019/2020
Beatrice Ballabio, Jacopo Marcolini
bffs
QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI?
Raccolta dati:
Query SPARQL al
Knowledge
Graph di Wikidata
1 2
Grafo e clustering:
Rappresentazione con
Gephi e calcolo
modularità
Visualizzazione:
Infografica interattiva
delle relazioni con
JavaScript
3
IL PROGETTO
Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci:
QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI?
Raccolta dati:
Query SPARQL al
Knowledge
Graph di Wikidata
1 2
Grafo e clustering:
Rappresentazione con
Gephi e calcolo
modularità
Visualizzazione:
Infografica interattiva
delle relazioni con
JavaScript
3
IL PROGETTO
Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci:
Raccolta dati:
Query SPARQL al
Knowledge
Graph di Wikidata
1
Scrivere ed
eseguire
queries
Download dati
CSV e JSON
Preparare
manualmente
i dati
QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI?
Raccolta dati:
Query SPARQL al
Knowledge
Graph di Wikidata
1 2
Grafo e clustering:
Rappresentazione con
Gephi e calcolo
modularità
Visualizzazione:
Infografica interattiva
delle relazioni con
JavaScript
3
IL PROGETTO
Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci:
2
Grafo e clustering:
Rappresentazione con
Gephi e calcolo
modularità
Importare CSV
per creare
nodi
Importare CSV
per collegare
nodi (edges)
Calcolare
modularità
grafo
Applicare
algoritmo per
layout grafo
Definire
grafica (colore,
dimensioni,
labels)
QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI?
Raccolta dati:
Query SPARQL al
Knowledge
Graph di Wikidata
1 2
Grafo e clustering:
Rappresentazione con
Gephi e calcolo
modularità
Visualizzazione:
Infografica interattiva
delle relazioni con
JavaScript
3
IL PROGETTO
Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci:
Importare
JSON per lista
attori, relazioni
e immagini
Convertire dati
in matrice
simmetrica
ordinata
Calcolare
archi, fiocchi e
labels del
chord diagram
Calcolare
colori,
gradiente e
trasparenza
Aggiungere
tooltip con
somme dati e
immagini
Visualizzazione:
Infografica interattiva
delle relazioni con
JavaScript
3
Knowledge Base di linked data con triple formate da:
Wikidata is a free, collaborative, multilingual, secondary database, collecting structured data to provide support
for Wikipedia, Wikimedia Commons, the other wikis of the Wikimedia movement, and to anyone in the world.
(Source: Wikidata)
WIKIDATA
Item (Q) - Property (P) - Value
Item Property Value
Q42 P69 Q691283
Douglas Adams educated at St John's CollegeLabel
Id
Wikidata is published under the Creative
Commons Public Domain Dedication 1.0
1 RACCOLTA DATI
Dati acquisiti il 20/11/2019
935.731 film
160.844 attori
• Multiple queries SPARQL effettuate all’endpoint di
Wikidata
• Queries effettuate con divisione per genere
cinematografico per limiti computazionali:
- Tempo massimo di esecuzione consentito: 60s
- Aggiunta di labels molto onerosa in termini di tempo
• I risultati sono stati poi combinati per ottenere dati
da elaborare con Gephi e D3
Generi cinematografici Cast completo per film
Paese d’origine per
attore
Anno di pubblicazione
del film
No film realizzati per
attore con immagine
No di apparizioni in un
film per coppia di attori
QUERIES:
1 RACCOLTA DATI
Codice queries:
Download progetto > folder query > folder sparql
Generi cinematograficiQUERY:
# Ricerca dei generi cinematografici presenti su Wikidata. I risultati
# sono stati esaminati per valutare quali siano i più rilevanti per
# numero di film.
SELECT ?genre (COUNT(DISTINCT ?movie) AS ?movieNumber)
WHERE {
{ SELECT ?genre ?movie
WHERE {
?genre wdt:P31 wd:Q201658.
?movie wdt:P136 ?genre.
}
}
}
GROUP BY ?genre
ORDER BY DESC(?movieNumber)
# PARTE 1A: query per ottenere i nodi rappresentanti i film del grafo
# Gephi. I risultati ottenuti vanno collegati tramite ID per creare
# gli edges(PARTE 3).
# I dati sono stati salvati in CSV e manipolati per l’import in Gephi.
SELECT ?movie ?movieLabel
WHERE {
{ SELECT DISTINCT ?movie
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui il genere
FILTER EXISTS {
?movie wdt:P161 ?actor.
}
}
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
QUERY: Cast completo per film
# PARTE 2A: query per ottenere i nodi rappresentanti gli attori del
# grafo Gephi. I risultati ottenuti vanno collegati tramite ID per
# creare gli edges (PARTE 3).
# I dati sono stati salvati in CSV e manipolati per l’import in Gephi.
SELECT ?actor ?actorLabel
WHERE {
{ SELECT DISTINCT ?actor
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui il genere
?movie wdt:P161 ?actor.
}
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
QUERY: Cast completo per film
# PARTE 3A: query per ottenere gli edges rappresentanti il cast
# completo di un film nel grafo Gephi. I risultati ottenuti collegano
# tramite ID i nodi film e attore (PARTE 1 e PARTE 2).
# I dati sono stati salvati in CSV e manipolati per l’import in Gephi.
SELECT ?actor ?movie
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui il genere
?movie wdt:P161 ?actor.
}
QUERY: Cast completo per film
# PARTE 1B: query per ottenere i nodi rappresentanti i Paesi di
# cittadinanza del grafo Gephi. I risultati ottenuti vanno collegati
# tramite ID per creare gli edges (PARTE 2).
# I dati sono stati salvati in CSV e manipolati per l’import in Gephi.
SELECT ?country ?countryLabel
WHERE {
{ SELECT DISTINCT ?country
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui il genere
?movie wdt:P161 ?actor.
?actor wdt:P27 ?country.
FILTER EXISTS {
?actor wdt:P27 ?country.
}
}
}
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
QUERY: Paese d’origine per
attore
# PARTE 2B: query per ottenere gli edges rappresentanti la
# cittadinanza di un attore nel grafo Gephi. I risultati ottenuti
# collegano tramite ID i nodi attore e Paese (PARTE 1B e PARTE 2A).
# I dati sono stati salvati in CSV e manipolati per l’import in Gephi.
SELECT ?actor ?country
WHERE {
{ SELECT ?actor ?country
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui il genere
?movie wdt:P161 ?actor.
?actor wdt:P27 ?country.
}
}
}
QUERY: Paese d’origine per
attore
# Query per ottenere gli edges di collegamento fra i film e l’anno di
# pubblicazione. I risultati ottenuti collegano tramite ID i nodi film
#(PARTE 1A)e i nodi rappresentanti gli anni. Per ottenerli abbiamo
# semplicemente creato un CSV in Excel con le date da 1890 a 2020.
# I dati sono stati salvati in CSV e manipolati per l’import in Gephi.
SELECT DISTINCT ?movie ?year
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui il genere
?movie wdt:P577 ?year.
}
QUERY: Anno di pubblicazione
del film
# Query per ottenere i top 10 attori per numero di film.
# Dati utilizzati in JSON per creare il cerchio esterno del chord
# diagram in D3.
# E’ possibile rimuovere la variabile ?img per ottenere attori anche
# privi di immagine disponibile.
SELECT ?actor ?actorLabel (COUNT(DISTINCT ?movie) AS ?movieNumb) ?img
WHERE {
{ SELECT ?img ?actor ?movie
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui genere
?movie wdt:P161 ?actor.
?actor wdt:P18 ?img.
}
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
GROUP BY ?actor ?actorLabel ?img
ORDER BY DESC(?movieNumb)
LIMIT 10
QUERY: No film realizzati per
attore con immagine
# Numero di apparizioni in un film per coppia di attori.
# Dati utilizzati in JSON per creare i collegamenti interni
# del chord diagram in D3.
# E’ possibile decommentare le variabili ?movieBFFS e
# ?movieBFFSLabel per ottenere elenco completo dei film.
SELECT ?actor ?actorLabel ?actor2 ?actor2Label
(COUNT(DISTINCT ?movieBFFS) AS ?movieNumberBFFS)
# ?movieBFFS ?movieBFFSLabel
WHERE {
# SELECT top 10 ripetuto due volte per valutare le coppie
{ SELECT ?actor (COUNT(DISTINCT ?movie) AS ?movieNumber)
WHERE {
{ SELECT ?actor ?movie
WHERE {
?movie wdt:P136 wd:Q471839. # Inserisci qui genere
?movie wdt:P161 ?actor.
}
}
}
GROUP BY ?actor
ORDER BY DESC(?movieNumber)
LIMIT 10
}
# SELECT end
# continua ...
# ... segue
# SELECT top 10 ripetuto due volte per valutare le coppie
{ SELECT ?actor2 (COUNT(DISTINCT ?movie2) AS ?movieNumber2)
WHERE {
...
}
# SELECT end
?movieBFFS wdt:P136 wd:Q471839. # Inserisci qui genere
?movieBFFS wdt:P161 ?actor.
?movieBFFS wdt:P161 ?actor2.
FILTER (?actor != ?actor2).
SERVICE wikibase:label { bd:serviceParam wikibase:language
"[AUTO_LANGUAGE],en". }
}
GROUP BY ?actor ?actor2 ?actorLabel ?actor2Label #?movieBFFS
?movieBFFSLabel
ORDER BY DESC(?movieNumberBFFS)
QUERY: No di apparizioni in un
film per coppia di attori
Pre-processing dati manuale:
• Modifica nome colonne per
preparazione input Gephi (es.
Id, Label, Source, Target)
• Aggiunta colonna Type per
colorazione nodi
• Conversione codifica UTF-8
per caratteri speciali
• Rimozione nodi non collegati
(es. voci incomplete, film di
animazione senza attori, ecc)
Query
CSV JSON
Gephi
• Correzione manuale caso
particolare: immagine
duplicata attore
• Conversione dati con scrittura
codice JavaScript per
ottenere matrice simmetrica
ordinata
1 RACCOLTA DATI
Preparazione dati
D3
[
{
"actor": "http://www.wikidata.org/entity/Q1315977",
"actorLabel": "Haruo Nakajima",
"movieNumber": "25"
},
...
]
Id,Label,Type
http://www.wikidata.org/entity/Q1315977,Haruo Nakajima,actor
...
CSV
JSON
ESEMPI
1 RACCOLTA DATI
GEPHI
Gephi is the leading visualization and exploration software for all kinds of graphs and networks. Gephi is
open-source and free.
(Source: Gephi)
Importare CSV
per creare
nodi
Importare CSV
per collegare
nodi (edges)
Calcolare
modularità
grafo
Applicare
algoritmo per
layout grafo
Definire
grafica (colore,
dimensioni,
labels)
OpenOrd:
Algoritmo interno a Gephi in 5 fasi che distribuisce i nodi
secondo il numero di collegamenti e il peso degli edge.
Parametri usati:
Liquid = 35%; Expansion = 45%; Cooldown = 10%;
Crunch = 0%; Simmer = 10%; Num Iterations = 1000.
GRAFO E CLUSTERING2
• Visualizzazione della rete formata da attori e
film da loro interpretati
• La vicinanza tra i nodi rappresenta la forza
della relazione tra attori e/o film
• Individuazione di nodi HUB: attori che hanno
partecipato ad un numero elevato di film e
sono molto collegati nella rete
• La periferia del grafo è popolata da attori
che hanno partecipato ad un unico film e
che non fanno parte della componente
connessa centrale
Genere: Sci-Fi
Film
Attore
GRAFO E CLUSTERING2
HUB: Lance Henriksen HUB: Stan Lee
HUB: Lance Henriksen
Id,Label,Type
http://www.wikidata.org/entity/Q312077,Lance Henriksen,actor
...
Id,Label,Type
http://www.wikidata.org/entity/Q320588,Close Encounters of the Third Kind,film
http://www.wikidata.org/entity/Q162255,The Terminator,film
http://www.wikidata.org/entity/Q104814,Aliens,film
...
Source,Target
http://www.wikidata.org/entity/Q320588,http://www.wikidata.org/entity/Q312077
http://www.wikidata.org/entity/Q162255,http://www.wikidata.org/entity/Q312077
http://www.wikidata.org/entity/Q104814,http://www.wikidata.org/entity/Q312077
...
1st
2nd
(Images source: IMDb)
3rd
Genere: Sci-Fi
GRAFO E CLUSTERING2
GRAFO E CLUSTERING2
CLUSTERING
Clustering is a technique for finding similarity groups in data, called clusters. I.e., it groups data instances that are similar to
(near) each other in one cluster and data instances that are very different (far away) from each other into different clusters.
(Source: Bing Liu, UIC)
Per valutare l’esistenza di comunità all’interno del dataset abbiamo scelto di utilizzare
l’algoritmo Modularity con l’implementazione fornita da Gephi.
(Source: Neo4j)
• L’algoritmo è basato sul punteggio di modularità (M)
che misura il grado di connessione interna fra i
punti di una stessa comunità e di connessione
esterna fra le diverse comunità.
• L’obiettivo è individuare comunità con connessioni
dense fra gli elementi di uno stesso cluster e
connessioni sparse tra elementi di diversi cluster.
K-MEANS DBSCAN MODULARITY
REQUISITI
- Attributi dei punti
- Valore di K definito dall’utente
- Attributi dei punti
- Determinazione parametri
raggio intorno (ε) e numero
minimo oggetti intorno
(MinPts)
- Connessioni dei nodi in un grafo
PRO
- Facile implementazione
- Molto utilizzato
- Efficiente: tempo di
esecuzione lineare O(n)
- Resistente al rumore
- Resistente agli outliers
- Individua clusters di varie
forme e dimensioni
- Assenza di parametri
- Efficiente: tempo di
esecuzione linearitmico
O(n log n)
CONTRO
- Ottimo locale (con SSE)
- Necessita media/moda degli
attributi
- Valore di K definito dall’utente
- Sensibile agli outliers
- Sensibile a inizializzazione
casuale/con euristiche
- Individua solo clusters
iperellittici/ipersferici
- Non gestisce variazioni di
densità
- Sensibile alla determinazione
dei parametri
- Ottimo locale
- Ignora attributi dei punti
- Necessita punti connessi in un
grafo
- Difficoltà ad individuare
piccole comunità in grafi molto
grandi
GRAFO E CLUSTERING2
(Images source: Neo4j)
GRAFO E CLUSTERING2
ALGORITMO MODULARITY (GEPHI)
• Step 1: Formazione di comunità ottime
- Valutazione del punteggio di modularità fra ciascun nodo ed i
suoi vicini
- Individuazione delle comunità con punteggio di modularità
massimo
- Assegnazione di ciascun nodo alle nuove comunità individuate
• Step 2: Aggregazione comunità e formazione nuovo network
- Ogni comunità viene trattata come un nodo di una nuova rete
- Vengono create comunità di comunità
• Step 3: Iterazione step 1 e 2 fino a risultato non più migliorabile
• Step 0: Inizializzazione
- Assegnazione di ogni nodo ad una comunità formata
esclusivamente dal nodo stesso
Inizializzazione Formazione comunità Aggregazione comunità
Iterazione:
Formazione comunità
Iterazione:
Aggregazione comunità
1920 - 1940
Supereroi
1970 - 1980
Giappone
• Individuazione di 400+ comunità
• Clustering troppo granulare migliorabile con
l’aggiunta di nuove connessioni a tipi di
dati diversi (es. informazioni su nazionalità
degli attori, anno di pubblicazione dei film)
• Raggruppamenti per varie semantiche,
spesso confuse
Genere: Sci-Fi
DATI UTILIZZATI:
ATTORE - FILM
GRAFO E CLUSTERING2
GRAFO E CLUSTERING2
Giappone: Haruo Nakajima Supereroi: Samuel L. Jackson
Una delle comunità meglio definite è il Giappone, grazie ai numerosi film di Godzilla. Il recente trend Marvel definisce un’altra comunità di attori e film strettamente collegati.
GRAFO E CLUSTERING2
Giappone: Haruo Nakajima
Una delle comunità meglio definite è il Giappone, grazie ai numerosi film di Godzilla.
Id,Label,Type
http://www.wikidata.org/entity/Q1315977,Haruo Nakajima,actor
...
Id,Label,Type
http://www.wikidata.org/entity/Q200432,Godzilla vs. Hedorah,film
http://www.wikidata.org/entity/Q127430,King Kong Escapes,film
http://www.wikidata.org/entity/Q2622991,Space Amoeba,film
...
Source,Target
http://www.wikidata.org/entity/Q200432,http://www.wikidata.org/entity/Q1315977
http://www.wikidata.org/entity/Q127430,http://www.wikidata.org/entity/Q1315977
http://www.wikidata.org/entity/Q2622991,http://www.wikidata.org/entity/Q1315977
...
• Aggiunta dei dati relativi all’anno di
pubblicazione dei film (nuovi HUB)
• Individuazione di 36 comunità
• Clustering ben definito per epoche con
progressione lineare del tempo
• Alcuni raggruppamenti geografici isolati nei
casi di forte identità cinematografica
nazionale
1900 - 1980
1980 - 2000
2000 - 2020
Ex Jugoslavia
Giappone
Francia
Genere: Sci-Fi
DATI UTILIZZATI:
ATTORE – FILM – ANNO
GRAFO E CLUSTERING2
GRAFO E CLUSTERING2
Giappone: Ichirō Nagai
Gli HUB principali di questo grafo sono gli anni di pubblicazione, che sovrastano quelle regionali… … ma le comunità strettamente collegate mantengono la loro autonomia!
2011
GRAFO E CLUSTERING2
2011
Gli HUB principali di questo grafo sono gli anni di pubblicazione, che sovrastano quelle regionali…
Id,Label,Type
http://www.wikidata.org/entity/Q28262,Joel Kinnaman,actor
http://www.wikidata.org/entity/Q773355,Timothy Omundson,actor
...
Id,Label,Type
http://www.wikidata.org/entity/Q964657,The Darkest Hour,film
http://www.wikidata.org/entity/Q7940811,Voltron: The End,film
...
Id,Label,Type
2011,2011,year
...
Source,Target
http://www.wikidata.org/entity/Q964657,http://www.wikidata.org/entity/Q28262
http://www.wikidata.org/entity/Q7940811,http://www.wikidata.org/entity/Q773355
...
Source,Target
http://www.wikidata.org/entity/Q964657,2011
http://www.wikidata.org/entity/Q7940811,2011
...
• Aggiunta dei dati relativi al Paese di
cittadinanza degli attori
• Individuazione di 44 comunità
• Clustering ben definito per Paesi con
centralità degli USA, centro di gravità per le
relazioni tra clusters
• Vicinanza tra clusters rispecchia prossimità
geografica e/o linguistica
DATI UTILIZZATI:
ATTORE – FILM – ANNO – PAESE
USA
Giappone
Canada
UK
Francia
Italia
Germania
Russia
Genere: Sci-Fi
GRAFO E CLUSTERING2
GRAFO E CLUSTERING2
USA Italia: Nirvana (1997)
Gli attori con cittadinanza americana sono distribuiti in tutto il grafo, classificati
nei cluster delle nazioni in cui hanno lavorato maggiormente.
Haruhiko Yamanouchi è un attore giapponese che è stato molto attivo nel cinema
italiano, pertanto appartiene alla comunità «Italia» invece che «Giappone».
GRAFO E CLUSTERING2
Italia: Nirvana (1997)
Id,Label,Type
http://www.wikidata.org/entity/Q4007918,Valerio Staffelli,actor
...
Id,Label,Type
http://www.wikidata.org/entity/Q761423,Nirvana,film
...
Id,Label,Type
1997,1997,year
...
Id,Label,Type
http://www.wikidata.org/entity/Q38,Italy,country
...
Source,Target
http://www.wikidata.org/entity/Q761423,http://www.wikidata.org/entity/Q4007918
...
Source,Target
http://www.wikidata.org/entity/Q761423,1997
...
Source,Target
http://www.wikidata.org/entity/Q4007918,http://www.wikidata.org/entity/Q38
...
È POSSIBILE ELABORARE QUESTI DATI PER RENDERLI A MISURA D’UOMO?
GRAFICO UTILIZZATO:
CHORD DIAGRAM
• HTML
• CSS + Bootstrap
• JavaScript + D3
• Server locale (plugin Visual Studio)
3 VISUALIZZAZIONE
Abbiamo realizzato con JavaScript una serie di infografiche interattive per esplorare i dati.
Codice completo JavaScript:
Download progetto > folder js
WORKFLOW
Assemblare
pagina HTML
Ⅵ
Aggiungere
tooltip con
somme dati e
immagini
Ⅴ
Calcolare
colori,
gradiente e
trasparenza
Ⅳ
Calcolare
archi, fiocchi e
labels del
chord diagram
Ⅲ
Convertire dati
in matrice
simmetrica
ordinata
Ⅱ
Importare
JSON per lista
attori, relazioni
e immagini
Ⅰ
3 VISUALIZZAZIONE
Posizionando il cursore sopra gli archi verrà visualizzato il numero dei film rappresentati, mentre posizionandolo sopra il
nome dell’attore verrà visualizzata la sua immagine da Wikidata o un placeholder nel caso questa non fosse disponibile.
VISUALIZZAZIONE3
WORKFLOW
Attori che spesso appaiono nello stesso film
saranno molto collegati nel chord diagram.
Assemblare
pagina HTML
Ⅵ
Aggiungere
tooltip con
somme dati e
immagini
Ⅴ
Calcolare
colori,
gradiente e
trasparenza
Ⅳ
Calcolare
archi, fiocchi e
labels del
chord diagram
Ⅲ
Convertire dati
in matrice
simmetrica
ordinata
Ⅱ
Importare
JSON per lista
attori, relazioni
e immagini
Ⅰ
Convertire dati
in matrice
simmetrica
ordinata
Ⅱ
["Mack Sennett",
"Arthur V. Johnson",
"Owen Moore",
"Kate Bruce",
"George Nichols",
"Mary Pickford",
"Henry B. Walthall",
"Lionel Barrymore",
"Harry Carey",
"Lon Chaney"]
[0, 113, 89, 69, 65, 56, 36, 1, 0, 0]
[113, 0, 79, 41, 42, 40, 27, 0, 0, 0]
[89, 79, 0, 40, 43, 41, 23, 0, 0, 1]
[69, 41, 40, 0, 53, 48, 34, 11, 8, 0]
[65, 42, 43, 53, 0, 39, 30, 1, 2, 1]
[56, 40, 41, 48, 39, 0, 23, 5, 4, 0]
[36, 27, 23, 34, 30, 23, 0, 13, 13, 2]
[1, 0, 0, 11, 1, 5, 13, 0, 21, 1]
[0, 0, 0, 8, 2, 4, 13, 21, 0, 0]
[0, 0, 1, 0, 1, 0, 2, 1, 0, 0]
POSSIBILI MIGLIORAMENTI
CONCLUSIONI E SVILUPPI FUTURI
E’ stato possibile analizzare in modo soddisfacente la rete sociale degli attori:
• Scoperta di HUB: attori, Paesi ed anni molto collegati nella rete e centrali nella
definizione delle comunità
• Individuazione di comunità basate su caratteristiche esplicitamente rappresentate nel
grafo (cittadinanza degli attori, periodo di attività)
• Individuazione di comunità basate su caratteristiche non esplicitamente
rappresentate nel grafo (es. tema dei film, saghe cinematografiche)
• Rappresentazione dei risultati ottenuti in formato interattivo di più facile consultazione
RISULTATI OTTENUTI
• Aggiungere nuovi tipi di dato nei grafi per migliorare il clustering, ad esempio l’incasso
dei film per considerarne la popolarità (PROBLEMA: time-out 60s query Wikidata)
• Rimuovere la suddivisione per generi e considerare le comunità di attori nella loro
interezza (PROBLEMA: memoria richiesta da Gephi)
BIBLIOGRAFIA
• d3Vienno
https://www.youtube.com/channel/UCNYL0ZF2j8-
OSGZ4iHBLNPA
• Chord diagram in d3
https://www.d3-graph-gallery.com/chord
• Data-based orientations for gradients in a d3.js chord
diagram
https://www.visualcinnamon.com/2016/06/orientation-
gradient-d3-chord-diagram.html
• Chord diagram with color gradient and opacity
https://bl.ocks.org/JulienAssouline
• How to show data on mouseover in d3.js
https://chartio.com/resources/tutorials/how-to-show-data-on-
mouseover-in-d3js/
GEPHI D3
• Learn how to use Gephi
https://gephi.org/users/
• Visualising Twitter Friend Connections Using Gephi
https://blog.ouseful.info/2011/07/07/
• Fast unfolding of communities in large networks
https://arxiv.org/abs/0803.0476
• Louvain Modularity
https://neo4j.com/blog/graph-algorithms-neo4j-louvain-
modularity/

Más contenido relacionado

Último

Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxlorenzodemidio01
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...Nguyen Thanh Tu Collection
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereMarco Chizzali
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticanico07fusco
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024IISGiovanniVallePado
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxsasaselvatico
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 

Último (20)

Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 

Destacado

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Destacado (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Presentazione progetto Hollywood BFFs

  • 1. Hollywood Laurea Magistrale in Teoria e Tecnologia della Comunicazione Corso di Intelligenza Artificiale A.A. 2019/2020 Beatrice Ballabio, Jacopo Marcolini bffs
  • 2. QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI? Raccolta dati: Query SPARQL al Knowledge Graph di Wikidata 1 2 Grafo e clustering: Rappresentazione con Gephi e calcolo modularità Visualizzazione: Infografica interattiva delle relazioni con JavaScript 3 IL PROGETTO Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci:
  • 3. QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI? Raccolta dati: Query SPARQL al Knowledge Graph di Wikidata 1 2 Grafo e clustering: Rappresentazione con Gephi e calcolo modularità Visualizzazione: Infografica interattiva delle relazioni con JavaScript 3 IL PROGETTO Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci: Raccolta dati: Query SPARQL al Knowledge Graph di Wikidata 1 Scrivere ed eseguire queries Download dati CSV e JSON Preparare manualmente i dati
  • 4. QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI? Raccolta dati: Query SPARQL al Knowledge Graph di Wikidata 1 2 Grafo e clustering: Rappresentazione con Gephi e calcolo modularità Visualizzazione: Infografica interattiva delle relazioni con JavaScript 3 IL PROGETTO Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci: 2 Grafo e clustering: Rappresentazione con Gephi e calcolo modularità Importare CSV per creare nodi Importare CSV per collegare nodi (edges) Calcolare modularità grafo Applicare algoritmo per layout grafo Definire grafica (colore, dimensioni, labels)
  • 5. QUANTO SONO IN RELAZIONE TRA LORO GLI ATTORI CINEMATOGRAFICI? Raccolta dati: Query SPARQL al Knowledge Graph di Wikidata 1 2 Grafo e clustering: Rappresentazione con Gephi e calcolo modularità Visualizzazione: Infografica interattiva delle relazioni con JavaScript 3 IL PROGETTO Abbiamo analizzato la rete sociale degli attori attraverso i seguenti approcci: Importare JSON per lista attori, relazioni e immagini Convertire dati in matrice simmetrica ordinata Calcolare archi, fiocchi e labels del chord diagram Calcolare colori, gradiente e trasparenza Aggiungere tooltip con somme dati e immagini Visualizzazione: Infografica interattiva delle relazioni con JavaScript 3
  • 6. Knowledge Base di linked data con triple formate da: Wikidata is a free, collaborative, multilingual, secondary database, collecting structured data to provide support for Wikipedia, Wikimedia Commons, the other wikis of the Wikimedia movement, and to anyone in the world. (Source: Wikidata) WIKIDATA Item (Q) - Property (P) - Value Item Property Value Q42 P69 Q691283 Douglas Adams educated at St John's CollegeLabel Id Wikidata is published under the Creative Commons Public Domain Dedication 1.0 1 RACCOLTA DATI
  • 7. Dati acquisiti il 20/11/2019 935.731 film 160.844 attori • Multiple queries SPARQL effettuate all’endpoint di Wikidata • Queries effettuate con divisione per genere cinematografico per limiti computazionali: - Tempo massimo di esecuzione consentito: 60s - Aggiunta di labels molto onerosa in termini di tempo • I risultati sono stati poi combinati per ottenere dati da elaborare con Gephi e D3 Generi cinematografici Cast completo per film Paese d’origine per attore Anno di pubblicazione del film No film realizzati per attore con immagine No di apparizioni in un film per coppia di attori QUERIES: 1 RACCOLTA DATI Codice queries: Download progetto > folder query > folder sparql
  • 8. Generi cinematograficiQUERY: # Ricerca dei generi cinematografici presenti su Wikidata. I risultati # sono stati esaminati per valutare quali siano i più rilevanti per # numero di film. SELECT ?genre (COUNT(DISTINCT ?movie) AS ?movieNumber) WHERE { { SELECT ?genre ?movie WHERE { ?genre wdt:P31 wd:Q201658. ?movie wdt:P136 ?genre. } } } GROUP BY ?genre ORDER BY DESC(?movieNumber)
  • 9. # PARTE 1A: query per ottenere i nodi rappresentanti i film del grafo # Gephi. I risultati ottenuti vanno collegati tramite ID per creare # gli edges(PARTE 3). # I dati sono stati salvati in CSV e manipolati per l’import in Gephi. SELECT ?movie ?movieLabel WHERE { { SELECT DISTINCT ?movie WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui il genere FILTER EXISTS { ?movie wdt:P161 ?actor. } } } SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } } QUERY: Cast completo per film
  • 10. # PARTE 2A: query per ottenere i nodi rappresentanti gli attori del # grafo Gephi. I risultati ottenuti vanno collegati tramite ID per # creare gli edges (PARTE 3). # I dati sono stati salvati in CSV e manipolati per l’import in Gephi. SELECT ?actor ?actorLabel WHERE { { SELECT DISTINCT ?actor WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui il genere ?movie wdt:P161 ?actor. } } SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } } QUERY: Cast completo per film
  • 11. # PARTE 3A: query per ottenere gli edges rappresentanti il cast # completo di un film nel grafo Gephi. I risultati ottenuti collegano # tramite ID i nodi film e attore (PARTE 1 e PARTE 2). # I dati sono stati salvati in CSV e manipolati per l’import in Gephi. SELECT ?actor ?movie WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui il genere ?movie wdt:P161 ?actor. } QUERY: Cast completo per film
  • 12. # PARTE 1B: query per ottenere i nodi rappresentanti i Paesi di # cittadinanza del grafo Gephi. I risultati ottenuti vanno collegati # tramite ID per creare gli edges (PARTE 2). # I dati sono stati salvati in CSV e manipolati per l’import in Gephi. SELECT ?country ?countryLabel WHERE { { SELECT DISTINCT ?country WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui il genere ?movie wdt:P161 ?actor. ?actor wdt:P27 ?country. FILTER EXISTS { ?actor wdt:P27 ?country. } } } } SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } } QUERY: Paese d’origine per attore
  • 13. # PARTE 2B: query per ottenere gli edges rappresentanti la # cittadinanza di un attore nel grafo Gephi. I risultati ottenuti # collegano tramite ID i nodi attore e Paese (PARTE 1B e PARTE 2A). # I dati sono stati salvati in CSV e manipolati per l’import in Gephi. SELECT ?actor ?country WHERE { { SELECT ?actor ?country WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui il genere ?movie wdt:P161 ?actor. ?actor wdt:P27 ?country. } } } QUERY: Paese d’origine per attore
  • 14. # Query per ottenere gli edges di collegamento fra i film e l’anno di # pubblicazione. I risultati ottenuti collegano tramite ID i nodi film #(PARTE 1A)e i nodi rappresentanti gli anni. Per ottenerli abbiamo # semplicemente creato un CSV in Excel con le date da 1890 a 2020. # I dati sono stati salvati in CSV e manipolati per l’import in Gephi. SELECT DISTINCT ?movie ?year WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui il genere ?movie wdt:P577 ?year. } QUERY: Anno di pubblicazione del film
  • 15. # Query per ottenere i top 10 attori per numero di film. # Dati utilizzati in JSON per creare il cerchio esterno del chord # diagram in D3. # E’ possibile rimuovere la variabile ?img per ottenere attori anche # privi di immagine disponibile. SELECT ?actor ?actorLabel (COUNT(DISTINCT ?movie) AS ?movieNumb) ?img WHERE { { SELECT ?img ?actor ?movie WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui genere ?movie wdt:P161 ?actor. ?actor wdt:P18 ?img. } } SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } } GROUP BY ?actor ?actorLabel ?img ORDER BY DESC(?movieNumb) LIMIT 10 QUERY: No film realizzati per attore con immagine
  • 16. # Numero di apparizioni in un film per coppia di attori. # Dati utilizzati in JSON per creare i collegamenti interni # del chord diagram in D3. # E’ possibile decommentare le variabili ?movieBFFS e # ?movieBFFSLabel per ottenere elenco completo dei film. SELECT ?actor ?actorLabel ?actor2 ?actor2Label (COUNT(DISTINCT ?movieBFFS) AS ?movieNumberBFFS) # ?movieBFFS ?movieBFFSLabel WHERE { # SELECT top 10 ripetuto due volte per valutare le coppie { SELECT ?actor (COUNT(DISTINCT ?movie) AS ?movieNumber) WHERE { { SELECT ?actor ?movie WHERE { ?movie wdt:P136 wd:Q471839. # Inserisci qui genere ?movie wdt:P161 ?actor. } } } GROUP BY ?actor ORDER BY DESC(?movieNumber) LIMIT 10 } # SELECT end # continua ... # ... segue # SELECT top 10 ripetuto due volte per valutare le coppie { SELECT ?actor2 (COUNT(DISTINCT ?movie2) AS ?movieNumber2) WHERE { ... } # SELECT end ?movieBFFS wdt:P136 wd:Q471839. # Inserisci qui genere ?movieBFFS wdt:P161 ?actor. ?movieBFFS wdt:P161 ?actor2. FILTER (?actor != ?actor2). SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } } GROUP BY ?actor ?actor2 ?actorLabel ?actor2Label #?movieBFFS ?movieBFFSLabel ORDER BY DESC(?movieNumberBFFS) QUERY: No di apparizioni in un film per coppia di attori
  • 17. Pre-processing dati manuale: • Modifica nome colonne per preparazione input Gephi (es. Id, Label, Source, Target) • Aggiunta colonna Type per colorazione nodi • Conversione codifica UTF-8 per caratteri speciali • Rimozione nodi non collegati (es. voci incomplete, film di animazione senza attori, ecc) Query CSV JSON Gephi • Correzione manuale caso particolare: immagine duplicata attore • Conversione dati con scrittura codice JavaScript per ottenere matrice simmetrica ordinata 1 RACCOLTA DATI Preparazione dati D3
  • 18. [ { "actor": "http://www.wikidata.org/entity/Q1315977", "actorLabel": "Haruo Nakajima", "movieNumber": "25" }, ... ] Id,Label,Type http://www.wikidata.org/entity/Q1315977,Haruo Nakajima,actor ... CSV JSON ESEMPI 1 RACCOLTA DATI
  • 19. GEPHI Gephi is the leading visualization and exploration software for all kinds of graphs and networks. Gephi is open-source and free. (Source: Gephi) Importare CSV per creare nodi Importare CSV per collegare nodi (edges) Calcolare modularità grafo Applicare algoritmo per layout grafo Definire grafica (colore, dimensioni, labels) OpenOrd: Algoritmo interno a Gephi in 5 fasi che distribuisce i nodi secondo il numero di collegamenti e il peso degli edge. Parametri usati: Liquid = 35%; Expansion = 45%; Cooldown = 10%; Crunch = 0%; Simmer = 10%; Num Iterations = 1000. GRAFO E CLUSTERING2
  • 20. • Visualizzazione della rete formata da attori e film da loro interpretati • La vicinanza tra i nodi rappresenta la forza della relazione tra attori e/o film • Individuazione di nodi HUB: attori che hanno partecipato ad un numero elevato di film e sono molto collegati nella rete • La periferia del grafo è popolata da attori che hanno partecipato ad un unico film e che non fanno parte della componente connessa centrale Genere: Sci-Fi Film Attore GRAFO E CLUSTERING2
  • 21. HUB: Lance Henriksen HUB: Stan Lee
  • 22. HUB: Lance Henriksen Id,Label,Type http://www.wikidata.org/entity/Q312077,Lance Henriksen,actor ... Id,Label,Type http://www.wikidata.org/entity/Q320588,Close Encounters of the Third Kind,film http://www.wikidata.org/entity/Q162255,The Terminator,film http://www.wikidata.org/entity/Q104814,Aliens,film ... Source,Target http://www.wikidata.org/entity/Q320588,http://www.wikidata.org/entity/Q312077 http://www.wikidata.org/entity/Q162255,http://www.wikidata.org/entity/Q312077 http://www.wikidata.org/entity/Q104814,http://www.wikidata.org/entity/Q312077 ...
  • 23. 1st 2nd (Images source: IMDb) 3rd Genere: Sci-Fi GRAFO E CLUSTERING2
  • 24. GRAFO E CLUSTERING2 CLUSTERING Clustering is a technique for finding similarity groups in data, called clusters. I.e., it groups data instances that are similar to (near) each other in one cluster and data instances that are very different (far away) from each other into different clusters. (Source: Bing Liu, UIC) Per valutare l’esistenza di comunità all’interno del dataset abbiamo scelto di utilizzare l’algoritmo Modularity con l’implementazione fornita da Gephi. (Source: Neo4j) • L’algoritmo è basato sul punteggio di modularità (M) che misura il grado di connessione interna fra i punti di una stessa comunità e di connessione esterna fra le diverse comunità. • L’obiettivo è individuare comunità con connessioni dense fra gli elementi di uno stesso cluster e connessioni sparse tra elementi di diversi cluster.
  • 25. K-MEANS DBSCAN MODULARITY REQUISITI - Attributi dei punti - Valore di K definito dall’utente - Attributi dei punti - Determinazione parametri raggio intorno (ε) e numero minimo oggetti intorno (MinPts) - Connessioni dei nodi in un grafo PRO - Facile implementazione - Molto utilizzato - Efficiente: tempo di esecuzione lineare O(n) - Resistente al rumore - Resistente agli outliers - Individua clusters di varie forme e dimensioni - Assenza di parametri - Efficiente: tempo di esecuzione linearitmico O(n log n) CONTRO - Ottimo locale (con SSE) - Necessita media/moda degli attributi - Valore di K definito dall’utente - Sensibile agli outliers - Sensibile a inizializzazione casuale/con euristiche - Individua solo clusters iperellittici/ipersferici - Non gestisce variazioni di densità - Sensibile alla determinazione dei parametri - Ottimo locale - Ignora attributi dei punti - Necessita punti connessi in un grafo - Difficoltà ad individuare piccole comunità in grafi molto grandi GRAFO E CLUSTERING2
  • 26. (Images source: Neo4j) GRAFO E CLUSTERING2 ALGORITMO MODULARITY (GEPHI) • Step 1: Formazione di comunità ottime - Valutazione del punteggio di modularità fra ciascun nodo ed i suoi vicini - Individuazione delle comunità con punteggio di modularità massimo - Assegnazione di ciascun nodo alle nuove comunità individuate • Step 2: Aggregazione comunità e formazione nuovo network - Ogni comunità viene trattata come un nodo di una nuova rete - Vengono create comunità di comunità • Step 3: Iterazione step 1 e 2 fino a risultato non più migliorabile • Step 0: Inizializzazione - Assegnazione di ogni nodo ad una comunità formata esclusivamente dal nodo stesso Inizializzazione Formazione comunità Aggregazione comunità Iterazione: Formazione comunità Iterazione: Aggregazione comunità
  • 27. 1920 - 1940 Supereroi 1970 - 1980 Giappone • Individuazione di 400+ comunità • Clustering troppo granulare migliorabile con l’aggiunta di nuove connessioni a tipi di dati diversi (es. informazioni su nazionalità degli attori, anno di pubblicazione dei film) • Raggruppamenti per varie semantiche, spesso confuse Genere: Sci-Fi DATI UTILIZZATI: ATTORE - FILM GRAFO E CLUSTERING2
  • 28. GRAFO E CLUSTERING2 Giappone: Haruo Nakajima Supereroi: Samuel L. Jackson Una delle comunità meglio definite è il Giappone, grazie ai numerosi film di Godzilla. Il recente trend Marvel definisce un’altra comunità di attori e film strettamente collegati.
  • 29. GRAFO E CLUSTERING2 Giappone: Haruo Nakajima Una delle comunità meglio definite è il Giappone, grazie ai numerosi film di Godzilla. Id,Label,Type http://www.wikidata.org/entity/Q1315977,Haruo Nakajima,actor ... Id,Label,Type http://www.wikidata.org/entity/Q200432,Godzilla vs. Hedorah,film http://www.wikidata.org/entity/Q127430,King Kong Escapes,film http://www.wikidata.org/entity/Q2622991,Space Amoeba,film ... Source,Target http://www.wikidata.org/entity/Q200432,http://www.wikidata.org/entity/Q1315977 http://www.wikidata.org/entity/Q127430,http://www.wikidata.org/entity/Q1315977 http://www.wikidata.org/entity/Q2622991,http://www.wikidata.org/entity/Q1315977 ...
  • 30. • Aggiunta dei dati relativi all’anno di pubblicazione dei film (nuovi HUB) • Individuazione di 36 comunità • Clustering ben definito per epoche con progressione lineare del tempo • Alcuni raggruppamenti geografici isolati nei casi di forte identità cinematografica nazionale 1900 - 1980 1980 - 2000 2000 - 2020 Ex Jugoslavia Giappone Francia Genere: Sci-Fi DATI UTILIZZATI: ATTORE – FILM – ANNO GRAFO E CLUSTERING2
  • 31. GRAFO E CLUSTERING2 Giappone: Ichirō Nagai Gli HUB principali di questo grafo sono gli anni di pubblicazione, che sovrastano quelle regionali… … ma le comunità strettamente collegate mantengono la loro autonomia! 2011
  • 32. GRAFO E CLUSTERING2 2011 Gli HUB principali di questo grafo sono gli anni di pubblicazione, che sovrastano quelle regionali… Id,Label,Type http://www.wikidata.org/entity/Q28262,Joel Kinnaman,actor http://www.wikidata.org/entity/Q773355,Timothy Omundson,actor ... Id,Label,Type http://www.wikidata.org/entity/Q964657,The Darkest Hour,film http://www.wikidata.org/entity/Q7940811,Voltron: The End,film ... Id,Label,Type 2011,2011,year ... Source,Target http://www.wikidata.org/entity/Q964657,http://www.wikidata.org/entity/Q28262 http://www.wikidata.org/entity/Q7940811,http://www.wikidata.org/entity/Q773355 ... Source,Target http://www.wikidata.org/entity/Q964657,2011 http://www.wikidata.org/entity/Q7940811,2011 ...
  • 33. • Aggiunta dei dati relativi al Paese di cittadinanza degli attori • Individuazione di 44 comunità • Clustering ben definito per Paesi con centralità degli USA, centro di gravità per le relazioni tra clusters • Vicinanza tra clusters rispecchia prossimità geografica e/o linguistica DATI UTILIZZATI: ATTORE – FILM – ANNO – PAESE USA Giappone Canada UK Francia Italia Germania Russia Genere: Sci-Fi GRAFO E CLUSTERING2
  • 34. GRAFO E CLUSTERING2 USA Italia: Nirvana (1997) Gli attori con cittadinanza americana sono distribuiti in tutto il grafo, classificati nei cluster delle nazioni in cui hanno lavorato maggiormente. Haruhiko Yamanouchi è un attore giapponese che è stato molto attivo nel cinema italiano, pertanto appartiene alla comunità «Italia» invece che «Giappone».
  • 35. GRAFO E CLUSTERING2 Italia: Nirvana (1997) Id,Label,Type http://www.wikidata.org/entity/Q4007918,Valerio Staffelli,actor ... Id,Label,Type http://www.wikidata.org/entity/Q761423,Nirvana,film ... Id,Label,Type 1997,1997,year ... Id,Label,Type http://www.wikidata.org/entity/Q38,Italy,country ... Source,Target http://www.wikidata.org/entity/Q761423,http://www.wikidata.org/entity/Q4007918 ... Source,Target http://www.wikidata.org/entity/Q761423,1997 ... Source,Target http://www.wikidata.org/entity/Q4007918,http://www.wikidata.org/entity/Q38 ...
  • 36. È POSSIBILE ELABORARE QUESTI DATI PER RENDERLI A MISURA D’UOMO? GRAFICO UTILIZZATO: CHORD DIAGRAM • HTML • CSS + Bootstrap • JavaScript + D3 • Server locale (plugin Visual Studio) 3 VISUALIZZAZIONE Abbiamo realizzato con JavaScript una serie di infografiche interattive per esplorare i dati. Codice completo JavaScript: Download progetto > folder js
  • 37. WORKFLOW Assemblare pagina HTML Ⅵ Aggiungere tooltip con somme dati e immagini Ⅴ Calcolare colori, gradiente e trasparenza Ⅳ Calcolare archi, fiocchi e labels del chord diagram Ⅲ Convertire dati in matrice simmetrica ordinata Ⅱ Importare JSON per lista attori, relazioni e immagini Ⅰ 3 VISUALIZZAZIONE Posizionando il cursore sopra gli archi verrà visualizzato il numero dei film rappresentati, mentre posizionandolo sopra il nome dell’attore verrà visualizzata la sua immagine da Wikidata o un placeholder nel caso questa non fosse disponibile.
  • 38. VISUALIZZAZIONE3 WORKFLOW Attori che spesso appaiono nello stesso film saranno molto collegati nel chord diagram. Assemblare pagina HTML Ⅵ Aggiungere tooltip con somme dati e immagini Ⅴ Calcolare colori, gradiente e trasparenza Ⅳ Calcolare archi, fiocchi e labels del chord diagram Ⅲ Convertire dati in matrice simmetrica ordinata Ⅱ Importare JSON per lista attori, relazioni e immagini Ⅰ Convertire dati in matrice simmetrica ordinata Ⅱ ["Mack Sennett", "Arthur V. Johnson", "Owen Moore", "Kate Bruce", "George Nichols", "Mary Pickford", "Henry B. Walthall", "Lionel Barrymore", "Harry Carey", "Lon Chaney"] [0, 113, 89, 69, 65, 56, 36, 1, 0, 0] [113, 0, 79, 41, 42, 40, 27, 0, 0, 0] [89, 79, 0, 40, 43, 41, 23, 0, 0, 1] [69, 41, 40, 0, 53, 48, 34, 11, 8, 0] [65, 42, 43, 53, 0, 39, 30, 1, 2, 1] [56, 40, 41, 48, 39, 0, 23, 5, 4, 0] [36, 27, 23, 34, 30, 23, 0, 13, 13, 2] [1, 0, 0, 11, 1, 5, 13, 0, 21, 1] [0, 0, 0, 8, 2, 4, 13, 21, 0, 0] [0, 0, 1, 0, 1, 0, 2, 1, 0, 0]
  • 39. POSSIBILI MIGLIORAMENTI CONCLUSIONI E SVILUPPI FUTURI E’ stato possibile analizzare in modo soddisfacente la rete sociale degli attori: • Scoperta di HUB: attori, Paesi ed anni molto collegati nella rete e centrali nella definizione delle comunità • Individuazione di comunità basate su caratteristiche esplicitamente rappresentate nel grafo (cittadinanza degli attori, periodo di attività) • Individuazione di comunità basate su caratteristiche non esplicitamente rappresentate nel grafo (es. tema dei film, saghe cinematografiche) • Rappresentazione dei risultati ottenuti in formato interattivo di più facile consultazione RISULTATI OTTENUTI • Aggiungere nuovi tipi di dato nei grafi per migliorare il clustering, ad esempio l’incasso dei film per considerarne la popolarità (PROBLEMA: time-out 60s query Wikidata) • Rimuovere la suddivisione per generi e considerare le comunità di attori nella loro interezza (PROBLEMA: memoria richiesta da Gephi)
  • 40. BIBLIOGRAFIA • d3Vienno https://www.youtube.com/channel/UCNYL0ZF2j8- OSGZ4iHBLNPA • Chord diagram in d3 https://www.d3-graph-gallery.com/chord • Data-based orientations for gradients in a d3.js chord diagram https://www.visualcinnamon.com/2016/06/orientation- gradient-d3-chord-diagram.html • Chord diagram with color gradient and opacity https://bl.ocks.org/JulienAssouline • How to show data on mouseover in d3.js https://chartio.com/resources/tutorials/how-to-show-data-on- mouseover-in-d3js/ GEPHI D3 • Learn how to use Gephi https://gephi.org/users/ • Visualising Twitter Friend Connections Using Gephi https://blog.ouseful.info/2011/07/07/ • Fast unfolding of communities in large networks https://arxiv.org/abs/0803.0476 • Louvain Modularity https://neo4j.com/blog/graph-algorithms-neo4j-louvain- modularity/