SlideShare a Scribd company logo
1 of 23
Game2vec
Costruire un Modello di Similarità tra Videogiochi
Attraverso le Recensioni
showeet.com
2
Ovvero:
Come ho imparato a non preoccuparmi dei label
e ad amare le reti neurali
3
Obiettivo del Progetto
Ottenere un sistema di similarità tra videogiochi a partire da
un modello puramente non-supervisionato di elaborazione di
dati non strutturati, come le recensioni.
4
Motivazione
Rimuovere, nel contesto di un'operazione di Sentiment
Analysis e di Machine Learning, il costo del labeling
necessario per mettere a punto un training set, e dunque
costruire un modello di apprendimento efficace che
proceda senza supervisione alcuna.
5
Perché i videogiochi ?
6
● Per il gioco DOTA (il MOBA forse più famoso al mondo insieme a
League of Legends) sono stati sviluppati predictive systems. Team di
ricercatori provenienti da Germania, Danimarca, Svezia.
● Office of National Statistics (ONS) : l'analisi del Digital Delivery in UK
potrebbe aiutare a misurare il tasso di inflazione.
● GTA V, in tre giorni dal lancio ha venduto più di 60 milioni di copie, con
un ritorno lordo di $ 1 miliardo (fastest selling entertainment product).
● Nel 2014, i ricavi provenienti dal gaming hanno raddoppiato i ricavi
dell'industria cinematografica: $ 35.9 miliardi vs. $ 70.4 miliardi.
● Ad oggi (2015), l'industria videoludica vale circa $ 100 miliardi.
● Entertainment Software Association ha stimato che, nel solo 2012,
l'industria del gaming negli Stati Uniti è cresciuta quattro volte più
rapidamente dell'intera economia statunitense nel periodo dal 2009 al
2012.
7
8
Domain Exploration
Estratte recensioni e metadati dai siti Polygon, Metacritic, Steam.
Pur essendo una piattaforme di digital delivery per Pc è stato deciso di
completare il lavoro direttamente su Steam:
● Quasi 60 milioni di utenti registrati.
● Database di videogiochi più ampio in assoluto (più di 20000 giochi,
recensioni utenti).
● Dati consistenti.
● Solo qualche perdita dovuta alle esclusive su console.
9
10
11
Dal crawling dei dati di Steam abbiamo estratto informazioni su 27413 videogiochi, incluse
ripetizioni dovute ad espansioni o pacchetti di gioco unici (Steam è pur sempre un sito di
digital delivery), ed esportato il contenunto su un file .csv.
12
Sono state estratte 6.070.747 recensioni per un totale di 612.927.672 ore di gioco. Le
review sono poi state destinate ad un file .csv con compressione bz2 (circa 600 Mb).
13
Word embeddings e il problema del significato
In una tassonomia lessicale le parole sono trattate come unità discrete e i significati sono
allineati su una stessa sequenza di continuità semantica, venendo così trattati secondo
relazioni di sinonimia.
Per esempio, una rappresentazione discreta o tassonomica di due termini come “hotel” e
“motel” in un documento D potrebbe essere la seguente:
h = [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]
m = [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0], dove |Vh,m| = |D|.
Dunque Vh V˄ m = 0.
14
Si può conoscere il significato di una parola conoscendone il
contesto di utilizzo (Harris, 1954)
Intuizione alla base del moderno approccio
Distributional Semantic Representation
15
L'approccio più recente al problema si basa sul sistema delle reti neurali, in particolar modo
legate al contesto del deep learning. Sono modelli che generano vettori di dimensione
predefinita. Due modelli che abbiamo preso in esame ed utilizzato sono appunto
Word2vec e Doc2vec.
L'idea alla base è quella di convertire termini in vettori di feature numeriche, e proiettarli in
uno spazio vettoriale di word embeddings:
W: w → Rn
Termini simili abiteranno regioni vicine dello spazio vettoriale, così come termini con
marcata differenza semantica si troveranno i regioni lontane. (Significati e relazioni tra
parole sono codificati in modo spaziale)
16
17
Con Word2vec (Google, 2013) si intende un insieme di modelli di reti neurali che generano
word embeddings. Questi modelli si articolano in:
Due algoritmi di ricostruzione del contesto sintattico e semantico attorno alla parola
di riferimento:
● Cbow (“continuous Bag-of-Words”)
● Skip-gram (“continuous Skip-gram”)
Due algoritmi di apprendimento:
● Negative Sampling
● Hierarchical Softmax
18
● Predice la parola corrente
a partire dal contesto
● Risulta essere molto
veloce e appropriato per
grandi quantità di testo
19
● Massimizza la
classificazione di una
parola sulla base di
un'altra parola nella
stessa frase
● Risulta essere
leggermente piùlento per
grandi quantità di testo
20
Doc2vec
● Word2vec ● Distributed Memory (DM)
● Distributed Bag-of-words (Dbow)
● Doc2vec è un'estensione di Word2vec ed è, parimenti, un algoritmo di apprendimento
composito non supervisionato che mira a rappresentare ogni documento o testo come
un vettore allenato a predire le parole che compaiono all'interno del documento
stesso.
21
Noi abbiamo considerato ogni gioco come un documento a sé stante, adottando il nome
del gioco (più propriamente il suo codice identificativo) come tag sostitutivo del titolo, e
accorpando l'insieme delle recensioni scritte per ogni gioco come testo del documento.
22
Visualizzazione
● Abbiamo operato sulla distanza tra i document embeddings per indicare una soglia
minima di similarità, e successivamente procedere alla visualizzazione (tramite un
codice JavaScript e D3) di un grafo di connessioni pesato.
● Abbiamo infine completato l'operazione di ristrutturazione dell'informazione attraverso
la costruzione di un grafo a raggera, uno per ogni videogioco processato, la cui soglia
di similarità con documenti a lui più vicini fosse risultata superabile e in grado di
presentare degli esempi di connessione.
23
Conclusione
● Uno degli assiomi fondamentali alla base della Sentiment Analysis è che le opinioni
altrui influenzano radicalmente, e a volte in-formano, il nostro punto di vista. Ci fidiamo
di quello che pensano gli altri, soprattutto se l'opinione è diffusa e largamente
condivisa.
● Costruire un'informazione basata sulle opinioni degli utenti e non pilotata da qualche
strategia pubblicitaria, o espressa nell'autoreferenzialità formale di pochi esperti di un
settore, apre allora prospettive più moderne di indagine di mercato e di sondaggio, e
senz'altro rispecchia più fedelmente il comportamento medio del consumatore odierno
o genericamente dell'utente che accede al dibattito “dal basso”.

More Related Content

Similar to Game2vec

Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...DavideFegez
 
HEALTHCARE-FISIRAD-Informatica di Base
HEALTHCARE-FISIRAD-Informatica di BaseHEALTHCARE-FISIRAD-Informatica di Base
HEALTHCARE-FISIRAD-Informatica di BaseLeonardo Pergolini
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009Massimiliano Dessì
 
Acadevmy - Visual Studio Code Overview
Acadevmy - Visual Studio Code OverviewAcadevmy - Visual Studio Code Overview
Acadevmy - Visual Studio Code OverviewFrancesco Sciuti
 
Tesi Marco Ventura
Tesi Marco VenturaTesi Marco Ventura
Tesi Marco Venturaguest335584
 
Gamemate - Design and Prototypical Implementation of an Architecture for shar...
Gamemate - Design and Prototypical Implementation of an Architecture for shar...Gamemate - Design and Prototypical Implementation of an Architecture for shar...
Gamemate - Design and Prototypical Implementation of an Architecture for shar...Alessandro Sanino
 
Custom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offlineCustom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offlineAlessio Iafrate
 
Valutazione smarticity
Valutazione smarticityValutazione smarticity
Valutazione smarticitySofia Muschio
 
Extended summary of 'Deep Learning for Video Game Playing'
Extended summary of 'Deep Learning for Video Game Playing'Extended summary of 'Deep Learning for Video Game Playing'
Extended summary of 'Deep Learning for Video Game Playing'kevinvargu
 
Deploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web ServicesDeploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web ServicesStefano Dindo
 
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleSanta Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleAlessio Iafrate
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaAlessandro Greppi
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRSManuel Scapolan
 

Similar to Game2vec (20)

Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
 
HEALTHCARE-FISIRAD-Informatica di Base
HEALTHCARE-FISIRAD-Informatica di BaseHEALTHCARE-FISIRAD-Informatica di Base
HEALTHCARE-FISIRAD-Informatica di Base
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
 
Vdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_juneVdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_june
 
couchbase mobile
couchbase mobilecouchbase mobile
couchbase mobile
 
WPF 4 fun
WPF 4 funWPF 4 fun
WPF 4 fun
 
Game ratings predictor
Game ratings predictorGame ratings predictor
Game ratings predictor
 
Hadoop in action!
Hadoop in action!Hadoop in action!
Hadoop in action!
 
Acadevmy - Visual Studio Code Overview
Acadevmy - Visual Studio Code OverviewAcadevmy - Visual Studio Code Overview
Acadevmy - Visual Studio Code Overview
 
Tesi Marco Ventura
Tesi Marco VenturaTesi Marco Ventura
Tesi Marco Ventura
 
Gamemate - Design and Prototypical Implementation of an Architecture for shar...
Gamemate - Design and Prototypical Implementation of an Architecture for shar...Gamemate - Design and Prototypical Implementation of an Architecture for shar...
Gamemate - Design and Prototypical Implementation of an Architecture for shar...
 
ORM - Introduzione
ORM - IntroduzioneORM - Introduzione
ORM - Introduzione
 
Custom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offlineCustom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offline
 
Valutazione smarticity
Valutazione smarticityValutazione smarticity
Valutazione smarticity
 
Extended summary of 'Deep Learning for Video Game Playing'
Extended summary of 'Deep Learning for Video Game Playing'Extended summary of 'Deep Learning for Video Game Playing'
Extended summary of 'Deep Learning for Video Game Playing'
 
Deploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web ServicesDeploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web Services
 
Graph databases
Graph databasesGraph databases
Graph databases
 
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleSanta Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanza
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 

Game2vec

  • 1. Game2vec Costruire un Modello di Similarità tra Videogiochi Attraverso le Recensioni showeet.com
  • 2. 2 Ovvero: Come ho imparato a non preoccuparmi dei label e ad amare le reti neurali
  • 3. 3 Obiettivo del Progetto Ottenere un sistema di similarità tra videogiochi a partire da un modello puramente non-supervisionato di elaborazione di dati non strutturati, come le recensioni.
  • 4. 4 Motivazione Rimuovere, nel contesto di un'operazione di Sentiment Analysis e di Machine Learning, il costo del labeling necessario per mettere a punto un training set, e dunque costruire un modello di apprendimento efficace che proceda senza supervisione alcuna.
  • 6. 6 ● Per il gioco DOTA (il MOBA forse più famoso al mondo insieme a League of Legends) sono stati sviluppati predictive systems. Team di ricercatori provenienti da Germania, Danimarca, Svezia. ● Office of National Statistics (ONS) : l'analisi del Digital Delivery in UK potrebbe aiutare a misurare il tasso di inflazione. ● GTA V, in tre giorni dal lancio ha venduto più di 60 milioni di copie, con un ritorno lordo di $ 1 miliardo (fastest selling entertainment product). ● Nel 2014, i ricavi provenienti dal gaming hanno raddoppiato i ricavi dell'industria cinematografica: $ 35.9 miliardi vs. $ 70.4 miliardi. ● Ad oggi (2015), l'industria videoludica vale circa $ 100 miliardi. ● Entertainment Software Association ha stimato che, nel solo 2012, l'industria del gaming negli Stati Uniti è cresciuta quattro volte più rapidamente dell'intera economia statunitense nel periodo dal 2009 al 2012.
  • 7. 7
  • 8. 8 Domain Exploration Estratte recensioni e metadati dai siti Polygon, Metacritic, Steam. Pur essendo una piattaforme di digital delivery per Pc è stato deciso di completare il lavoro direttamente su Steam: ● Quasi 60 milioni di utenti registrati. ● Database di videogiochi più ampio in assoluto (più di 20000 giochi, recensioni utenti). ● Dati consistenti. ● Solo qualche perdita dovuta alle esclusive su console.
  • 9. 9
  • 10. 10
  • 11. 11 Dal crawling dei dati di Steam abbiamo estratto informazioni su 27413 videogiochi, incluse ripetizioni dovute ad espansioni o pacchetti di gioco unici (Steam è pur sempre un sito di digital delivery), ed esportato il contenunto su un file .csv.
  • 12. 12 Sono state estratte 6.070.747 recensioni per un totale di 612.927.672 ore di gioco. Le review sono poi state destinate ad un file .csv con compressione bz2 (circa 600 Mb).
  • 13. 13 Word embeddings e il problema del significato In una tassonomia lessicale le parole sono trattate come unità discrete e i significati sono allineati su una stessa sequenza di continuità semantica, venendo così trattati secondo relazioni di sinonimia. Per esempio, una rappresentazione discreta o tassonomica di due termini come “hotel” e “motel” in un documento D potrebbe essere la seguente: h = [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0] m = [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0], dove |Vh,m| = |D|. Dunque Vh V˄ m = 0.
  • 14. 14 Si può conoscere il significato di una parola conoscendone il contesto di utilizzo (Harris, 1954) Intuizione alla base del moderno approccio Distributional Semantic Representation
  • 15. 15 L'approccio più recente al problema si basa sul sistema delle reti neurali, in particolar modo legate al contesto del deep learning. Sono modelli che generano vettori di dimensione predefinita. Due modelli che abbiamo preso in esame ed utilizzato sono appunto Word2vec e Doc2vec. L'idea alla base è quella di convertire termini in vettori di feature numeriche, e proiettarli in uno spazio vettoriale di word embeddings: W: w → Rn Termini simili abiteranno regioni vicine dello spazio vettoriale, così come termini con marcata differenza semantica si troveranno i regioni lontane. (Significati e relazioni tra parole sono codificati in modo spaziale)
  • 16. 16
  • 17. 17 Con Word2vec (Google, 2013) si intende un insieme di modelli di reti neurali che generano word embeddings. Questi modelli si articolano in: Due algoritmi di ricostruzione del contesto sintattico e semantico attorno alla parola di riferimento: ● Cbow (“continuous Bag-of-Words”) ● Skip-gram (“continuous Skip-gram”) Due algoritmi di apprendimento: ● Negative Sampling ● Hierarchical Softmax
  • 18. 18 ● Predice la parola corrente a partire dal contesto ● Risulta essere molto veloce e appropriato per grandi quantità di testo
  • 19. 19 ● Massimizza la classificazione di una parola sulla base di un'altra parola nella stessa frase ● Risulta essere leggermente piùlento per grandi quantità di testo
  • 20. 20 Doc2vec ● Word2vec ● Distributed Memory (DM) ● Distributed Bag-of-words (Dbow) ● Doc2vec è un'estensione di Word2vec ed è, parimenti, un algoritmo di apprendimento composito non supervisionato che mira a rappresentare ogni documento o testo come un vettore allenato a predire le parole che compaiono all'interno del documento stesso.
  • 21. 21 Noi abbiamo considerato ogni gioco come un documento a sé stante, adottando il nome del gioco (più propriamente il suo codice identificativo) come tag sostitutivo del titolo, e accorpando l'insieme delle recensioni scritte per ogni gioco come testo del documento.
  • 22. 22 Visualizzazione ● Abbiamo operato sulla distanza tra i document embeddings per indicare una soglia minima di similarità, e successivamente procedere alla visualizzazione (tramite un codice JavaScript e D3) di un grafo di connessioni pesato. ● Abbiamo infine completato l'operazione di ristrutturazione dell'informazione attraverso la costruzione di un grafo a raggera, uno per ogni videogioco processato, la cui soglia di similarità con documenti a lui più vicini fosse risultata superabile e in grado di presentare degli esempi di connessione.
  • 23. 23 Conclusione ● Uno degli assiomi fondamentali alla base della Sentiment Analysis è che le opinioni altrui influenzano radicalmente, e a volte in-formano, il nostro punto di vista. Ci fidiamo di quello che pensano gli altri, soprattutto se l'opinione è diffusa e largamente condivisa. ● Costruire un'informazione basata sulle opinioni degli utenti e non pilotata da qualche strategia pubblicitaria, o espressa nell'autoreferenzialità formale di pochi esperti di un settore, apre allora prospettive più moderne di indagine di mercato e di sondaggio, e senz'altro rispecchia più fedelmente il comportamento medio del consumatore odierno o genericamente dell'utente che accede al dibattito “dal basso”.