SlideShare a Scribd company logo
1 of 50
MUSEUM REVIEWS
collected from TripAdvisor
Intelligenza Artificiale
a.a. 2019/2020
Teoria e Tecnologia della Comunicazione
2
BEVILACQUA
ENRICA
839595
CONSOLI
CECILIA
846153
SPREAFICO
MATTIA
807178
1. ANALISI DEL DOMINIO
Analisi feature e featured engineering
4
ANALISI DEL DOMINIO - 1
4
Il turismo è sempre più condizionato dalle opinioni dei viaggiatori precedenti ed anche i musei
stanno risentendo molto di questo trend. Le recensioni online rappresentano un tassello
fondamentale delle strategie di marketing e di promozione di un luogo.
TripAdvisor è la piattaforma di informazioni sui viaggi più grande del mondo, sulla quale è possibile
esplorare centinaia di milioni di recensioni.
Tutte le strutture che possiedono almeno una recensione su TripAdvisor hanno un rating, ovvero un
giudizio espresso da un soggetto esterno. Sul portale preso in considerazione gli utenti possono
stabilire se una determinata attività è: Excellent, Very good, Average, Poor oppure Terrible.
5
ANALISI DEL DOMINIO - 2
5
Esempio di una pagina di un museo su TripAdvisor:
Esempio di una recensione
di un museo su TripAdvisor:
6
ANALISI DEL DOMINIO - 3
6
I dati di interesse sono stati acquisiti dal sito Kaggle – Your Home for Data Science: una comunità
online di data scientist e professionisti dell'apprendimento automatico.
Il dataset di partenza si trova a questo indirizzo:
https://www.kaggle.com/annecool37/museum-data
Si tratta di un insieme di file in lingua inglese denominato:
Museum reviews collected from TripAdvisor –
Museum name, type, location, review, rating, rank, etc.
7
ANALISI FEATURE DEL DATASET - 1
7
Il file tripadvisor_merged.CSV contiene i dati dei musei e delle relative recensioni
pubblicate su TripAdvisor:
Tipo di dato Attributo
INTEGER ID
STRING
Address, description, lenghtofvisit,. Museumname, phone num,
country, state, rankpercentage
DECIMAL
Featurecount, langtitude, latitude, rank, rating, reviewcount,
totalthingstodo
BOOLEAN Artefatti (82 attributi)
DOUBLE
PreciseRating, quote_pol_mean, quote_sub_mean,
review_pol_mean, review_sub_mean (e altri 17 attributi)
8
ANALISI FEATURE DEL DATASET - 2
8
Oltre a al dataset principale, sono presenti altri 6 file con estensione .JSON:
Nome del file .JSON Descrizione
museum_categories_world Definisce le diverse categorie assegnate a ogni museo
review_content_world Raccoglie le recensioni di ogni museo
review_content_world Raccoglie i titoli delle recensioni di ogni museo
tag_clouds_world
Raccoglie le parole maggiormente usate nelle recensioni di ogni
museo
traveler_rating_world
Raccoglie il numero di rating assegnato ad ogni museo per
categoria
traveler_type_world Raccoglie il numero di visitatori di ogni museo per categoria
9
FEATURED ENGINEERING
9
Per ciascuno dei musei rappresentati nel dataset tripadvisor_merged, è possibile effettuare un
collegamento con i dati presenti all’interno dei file JSON per arricchirli ulteriormente.
Le informazioni aggiuntive sono:
● Le categorie assegnate al museo;
● Le singole recensioni del museo (e i titoli di ciascuna);
● Le parole maggiormente usate nelle recensioni;
● Il rating assegnato per categoria ad ogni museo;
● Il numero di visitatori per categoria di ogni museo.
2. APPRENDIMENTO
SUPERVISIONATO
Sentiment Analysis
APPRENDIMENTO SUPERVISIONATO
11
Un sistema di apprendimento supervisionato
deve essere in grado, dato un insieme di
esempi etichettati di associarli ad una corretta
classificazione.
L’obiettivo è quello di costruire una funzione a
partire dai dati (insieme di punti annotati) che
possa essere usata per prevedere la classe dei
nuovi casi.
Ci sono due categorie di approcci principali:
classificazione e regressione. In questo
progetto, viene utilizzata la classificazione.
Ogni etichetta aggiunta sui dati è una classe
discreta che identifica il giudizio di valore.
SENTIMENT ANALYSIS
12
La sentiment analysis è un campo dell'elaborazione del linguaggio naturale che si occupa di
costruire sistemi per l'identificazione ed estrazione di opinioni dal testo.
Lo scopo della sentiment analysis è determinare la polarità generale di un documento, ossia
classificarlo come positivo o negativo.
L’obiettivo principale di questa sentiment analysis è:
Partendo da una singola recensione di un museo,
decretare se tale museo può essere
classificato come “positivo” o “negativo”.
DATA COLLECTION, CLEANING AND PREPARATION
13
Sono stati analizzati 32 musei italiani.
Manipolazioni su due file del database:
1. tripadvisor_museum_world.csv: utilizzo dei valori di latitudine e longitudine;
2. review_content_world.json: sono stati individuati solamente i musei italiani.
Il file risultante dalla combinazione dei precedenti è italian_museums.csv, composto da 5 colonne:
L’ultima colonna relativa al Sentiment è stata calcolata suddividendo il valore PreciseRating in due
insiemi identici: i valori superiori alla media dei valori del Rating sono stati etichettati con classe
POS, mentre i valori inferiori con classe NEG.
ID (univoco) MuseumName Review PreciseRating
Sentiment
(POS/NEG)
WORKFLOW
14
MODEL DEEPENING - SNOWBALL STEMMER
Snowball è un linguaggio di elaborazione di
stringhe progettato per la creazione di algoritmi
di derivazione da utilizzare nel recupero delle
informazioni.
Lo stemming è un metodo che identifica la
radice delle parole per generalizzare le
operazioni di interrogazione e selezione.
Trasforma le parole nella loro forma flessa e più
generale.
L’algoritmo derivante Porter,
basato sulla lingua inglese,
permette di estrarre i termini
di interesse presenti all’interno del
documento pre-processato
15
MODEL DEEPENING - DECISION TREE
16
L'albero decisionale è un classico algoritmo di
analisi predittiva per risolvere problemi di
classificazione binaria o multinomiale.
Un albero di classificazione è un albero in cui
ogni nodo interno (non foglia) è etichettato
con una funzione di input.
Gli archi provenienti da un nodo etichettato
con una funzione sono etichettati con
ciascuno dei possibili valori della funzione.
Ogni foglia dell'albero è etichettata con una
classe o una distribuzione di probabilità sulle
classi.
RESULT AND TUNING - 1
17
I valori di interesse per determinare la bontà della sentiment analysis sono i seguenti:
NOME FORMULA/DEFINIZIONE
Recall TruePositive/(TruePositive+FalseNegative)
Precision TruePositive/(TruePositive+FalsePositive)
Sensitivity TruePositive/(TruePositive+FalseNegative)
Specifity TrueNegative/(TrueNegative+FalsePositive)
F-measure 2*(Precision*Recall)/(Precision+Recall)
Accuracy (TruePositive+TrueNegative)/(Total Number of Prediction)
Cohen’s kappa Grado di accuratezza e affidabilità in una classificazione
ROC curve
L’area sotto la curva ROC esprime il “potere diagnostico” del
test (“diagnosticity”)
RESULT AND TUNING - 2
18
Alcuni dei risultati delle varie prove effettuate:
● 90% (con n=2) accuracy: 0.844 ROC curve: 0.8613
● 90% (con n=3) accuracy: 0.625 ROC curve: 0.5859
● 90% (con n=4) accuracy: 0.781 ROC curve: 0.8613
● 90% (con n=5) accuracy: 0.719 ROC curve: 0.7812
● 85% (con n=2) accuracy: 0.750 ROC curve: 0.74025
● 85% (con n=3) accuracy: 0.688 ROC curve: 0.6450
● 85% (con n=4) accuracy: 0.708 ROC curve:0.7517
● 85% (con n=5) accuracy: 0.604 ROC curve: 0.7014
● 70% (con n=2) accuracy: 0.667 ROC curve: 0.6780
● 70% (con n=3) accuracy: 0.625 ROC curve: 0.6966
● 70% (con n=4) accuracy: 0.656 ROC curve: 0.6999
● 70% (con n=5) accuracy: 0.573 ROC curve: 0.5879
● 55% (con n=2) accuracy: 0.604 ROC curve: 0.6323
● 55% (con n=3) accuracy: 0.562 ROC curve: 0.6314
● 55% (con n=4) accuracy: 0.576 ROC curve: 0.6452
● 55% (con n=5) accuracy: 0.521 ROC curve: 0.5736
RESULT DISCUSSION - 1
19
Curve ROC e matrici di confusione dei primi due risultati migliori:
90% (con n=2) 85% (con n=4)
ROC curve = 0.8613 ROC curve = 0.7517
Document Class NEG POS
NEG 15 1
POS 4 12
Document Class NEG POS
NEG 17 7
POS 7 17
RESULT DISCUSSION - 2
20
Curve ROC e matrici di confusione degli altri due risultati migliori:
70% (con n=4) 55% (con n=4)
ROC curve = 0.6999 ROC curve = 0.6452
Document Class NEG POS
NEG 31 17
POS 16 32
Document Class NEG POS
NEG 40 32
POS 29 43
3. APPRENDIMENTO NON
SUPERVISIONATO
K-Means
APPRENDIMENTO NON SUPERVISIONATO
22
Un sistema di apprendimento non
supervisionato è una tecnica di
apprendimento automatico in cui la
macchina impara dall’esperienza, senza
avere esempi e risposte di riferimento.
A differenza dell’apprendimento
supervisionato, i dati non sono annotati e
per apprendere la macchina deve estrarre le
informazioni rilevanti dai dati.
Il clustering è una delle principali tecniche di
apprendimento non supervisionato che
consiste in un insieme di metodi per
raggruppare i dati in classi omogenee.
K-MEANS
23
Un algoritmo di clustering di tipo partizionale è K-Means. Quando si applica questo algoritmo
bisogna conoscere a priori in quanti gruppi si vuole suddividere l’insieme.
Le funzioni chiave del cluster sono quelle relative alla similarità ed alla distanza.
L’obiettivo principale di questo clustering è:
Assegnare ogni museo al cluster corretto, basandosi su diversi
parametri come: PreciseRating, quote_pol_mean,
quote_sub_mean, review_pol_mean, review_sub_mean e class
DATA COLLECTION, CLEANING AND PREPARATION
24
La manipolazione eseguita sul file tripadvisor_merged.csv è composta da due fasi:
● Filtraggio: mediante Column filter, sono state filtrate le colonne di interesse della tabella;
● Assegnazione di una classe tramite delle regole: ad ogni riga è stata assegnata una classe
tramite il proprio valore di PreciseRating, compreso tra 2.781 e 4.964. Per dividere i musei in 5
classi è stata presa come unità 0.4366.
Il file risultante dalla manipolazione è tripadvisor_merged_class.csv, composto da 8 colonne:
ID MuseumName
Precise
Rating
quote_
pol_mean
quote_
sub_mean
review_
pol_mean
review_
sub_mea
n
class
WORKFLOW
25
MODEL DEEPENING – K-MEANS
26
K-Means permette di suddividere un insieme di oggetti in K gruppi sulla base dei loro attributi,
utilizzando la distanza euclidea.
Vengono generati i centri del cluster per un numero predefinito di cluster.
L’algoritmo esegue un cluster che assegna un vettore di dati a un cluster e termina quando le
assegnazioni del cluster non cambiano più.
RESULT AND TUNING - 1
27
Alcuni dei risultati delle varie prove effettuate, con partizione draw sampling:
Partitioning Correct class Wrong class Accuracy Error
95% 80 0 100% 0%
90% 156 3 98.11% 1.88%
85% 233 5 97.89% 2.10%
80% 374 23 92.20% 8.51%
75% 459 17 96.42% 3.57%
70% 467 9 98.01% 1.89%
65% 531 24 95.68% 4.32%
60% 598 36 94.23% 5.68%
55% 698 16 97.76% 2.24%
50% 738 55 93.06% 6.93%
45% 856 16 98.16% 1.83%
40% 836 115 87.90% 12.1%
35% 939 92 91.07% 8.93%
30% 1052 58 94.77% 5.25%
25% 1073 116 90.24% 9.75%
20% 1093 175 86.19% 13.80%
27
Alcuni dei risultati delle altre opzioni di partizione:
Take from the top:
Partitioning Correct Wrong Accuracy Error Cohen’s kappa
95% 80 0 100% 0% ?
50% 317 476 39.97% 60.02% 0
25% 317 872 26.66% 73.39% 0
Linear sampling:
Partitioning Correct Wrong Accuracy Error Cohen’s kappa
95% 79 1 98.75% 1.25% 0.98
50% 784 9 98.86% 1.13% 0.98
25% 1216 52 95.89% 4.10% 0.94
Stratified sampling:
Partitioning Correct Wrong Accuracy Error Cohen’s kappa
95% 80 0 100% 0% 1
50% 736 57 92.81% 7.18% 0.91
25% 880 309 74.01% 25.98% 0.67
RESULT AND TUNING - 2
28
RESULT DISCUSSION - 1
29
Scatter plot e tabella dello scorer del miglior risultato ottenuto con partizione draw sampling.
Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean.
Partitioning= 90%, accuracy = 100%
Class/
Cluster
Terrible Poor Average
Very
good
Excellent
Terrible 15 0 0 0 0
Poor 0 15 0 0 0
Average 0 0 17 0 0
Very good 0 0 0 14 0
Excellent 0 0 0 0 19
RESULT DISCUSSION - 2
30
Scatter plot e tabella dello scorer di uno dei risultati intermedi con partizione draw sampling.
Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean.
Partitioning= 50%, accuracy = 93,06%
Class/
Cluster
Terrible Poor Average
Very
good
Excellent
Terrible 149 13 0 0 0
Poor 0 134 20 0 0
Average 0 0 131 14 0
Very good 0 0 0 153 8
Excellent 0 0 0 0 171
RESULT DISCUSSION - 3
31
Scatter plot e tabella dello scorer del risultato peggiore ottenuto con partizione draw sampling.
Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean.
Partitioning= 20%, accuracy = 86,19%
Class/
Cluster
Terrible Poor Average
Very
good
Excellent
Terrible 233 23 0 0 0
Poor 0 207 44 0 0
Average 0 0 188 60 0
Very good 0 0 0 205 48
Excellent 0 0 0 0 260
4. APPRENDIMENTO NON
SUPERVISIONATO
K-Medoids
K-MEDOIDS
33
K-Medoids è un altro algoritmo di clustering partizionale, correlato a K-Means ma più robusto al
rumore e agli outlier. K-Medoids si basa sul calcolo della distanza per individuare i punti centrali del
cluster.
L'algoritmo più utilizzato per la costruzione di cluster con K-Medoids è il Partitioning Around
Medoids (PAM).
L’obiettivo principale di questo clustering è:
Assegnare ogni museo al cluster corretto, basandosi su diversi
parametri come: PreciseRating, quote_pol_mean,
quote_sub_mean, review_pol_mean, review_sub_mean e class
WORKFLOW
34
MODEL DEEPENING - K-MEDOIDS
35
K-Medoids utilizza la distanza per calcolare i medoids, ovvero i punti più centrali dei K cluster,
dove K viene scelto a priori. Un medoide è quindi un punto di un cluster la cui dissimilarità media
rispetto a tutti gli oggetti nel cluster è minima.
In base ai dati di input, si possono utilizzare diversi tipi di distanze, le più comuni sono la distanza
euclidea e Manhattan.
L’algoritmo parte da un inizializzazione casuale dei medoidi e continua la sua esecuzione fino a
quando raggiunge una riduzione del costo negativa, a quel punto termina.
RESULT AND TUNING
36
La tabella riporta i risultati delle prove effettuate con K-Medoids per ottenere 5 cluster utilizzando
come metriche di distanza quella euclidea e Manhattan.
Distanza
utilizzata
Numero di
iterazioni
Correct
classified
Wrong
classified
Accuracy Error
Cohen’s
kappa
Euclidea 34 1578 7 99.55% 0.44% 0.99
Manhattan 23 1563 22 98.61% 1.38% 0.98
RESULT DISCUSSION - 1
37
Scatter plot e tabella dello scorer per le due metriche di distanza utilizzate.
Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean.
Distanza euclidea
Class/
Cluster
Terrible Poor Average
Very
good
Excellent
Terrible 316 0 0 0 0
Poor 2 315 0 0 0
Average 0 2 315 0 0
Very good 0 0 2 316 0
Excellent 0 0 0 1 316
RESULT DISCUSSION - 2
38
Scatter plot e tabella dello scorer per le due metriche di distanza utilizzate.
Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean.
Distanza Manhattan
Class/
Cluster
Terrible Poor Average
Very
good
Excellent
Terrible 316 0 0 0 0
Poor 9 308 0 0 0
Average 0 8 309 0 0
Very good 0 0 4 314 0
Excellent 0 0 0 1 316
5. CONCLUSIONI
Applicazioni e approcci alternativi
APPLICAZIONI E SVILUPPI
40
40
Sentiment analysis:
● Individuare le parole maggiormente usate per recensire il museo in modo tale da identificare
gli eventuali punti di forza e/o problematiche;
● Creare un dataset più vasto, integrando altre recensioni per affinare i risultati e ottenerne di
maggiormente validi;
● Utilizzare raccolte di tag/parole chiave già reperibili online per svolgere lo stesso flusso anche
con recensioni differenti.
Apprendimento non supervisionato:
● Raggruppare diversi musei utilizzando altri parametri come ad esempio la tipologia di
visitatore (famiglie, coppie, singoli, per affari, con amici);
● Utilizzare al posto delle recensioni dei musei quelle relative a ristoranti, hotel e altre attività
che vengono recensite sul sito;
● Cercare un dataset con le recensioni delle città più grandi del mondo e assegnarle ad un
cluster basandosi sempre sui parametri presi in considerazione.
APPROCCI ALTERNATIVI - SUPERVISIONATO
41
41
Random Forest (sentiment analysis): è uno speciale classificatore formato da un insieme di
classificatori semplici, rappresentati come vettori random indipendenti e identicamente distribuiti,
dove ognuno di essi vota per la classe più popolare in input.
Alcuni risultati:
● 90%: accuracy: 0.719 (Decision Tree = 0.844)
● 85%: accuracy: 0.687 (Decision Tree = 0.708)
● 70%: accuracy: 0.686 (Decision Tree = 0.656)
● 55%: accuracy: 0.667 (Decision Tree = 0.576)
● 40% accuracy: 0.644 (Decision Tree = 0.586)
● 35% accuracy: 0.647 (Decision Tree = 0.570)
I risultati ottenuti per i settaggi elevati sono stati decisamente inferiori, mentre per quanto riguarda
i settaggi di partizione inferiori, i risultati sono migliori.
APPROCCI ALTERNATIVI - NON SUPERVISIONATO
42
42
● QT (Quality Threshold): si tratta di un metodo alternativo di partizionare i dati. Utilizzando
questo approccio, però, non solo non è richiesto di specificare il numero di cluster a priori, ma
è richiesta più potenza di calcolo rispetto al K-Means.
● DBSCAN (Density-Based Spatial Clustering of Applications with Noise): come l’algoritmo QT,
anche DBSCAN permette di effettuare un clustering senza conoscere a priori il numero di
cluster. Questo algoritmo si basa sulla densità perché trova il numero di cluster a partire dalla
distribuzione della densità stimata dei nodi corrispondenti. A differenza di K-Means, DBSCAN
necessita di un'attenta selezione dei suoi parametri e non funziona in maniera ottimale su
cluster con densità diverse.
APPROFONDIMENTO - CECILIA CONSOLI
43
43
Utilizzo di un ulteriore approccio di apprendimento automatico al flusso della sentiment analysis:
Neural Networks
L’obiettivo è quello di applicare l’approccio di apprendimento supervisionato tramite un modello di
rete neurale - MultiLayer Perceptron -per classificare un museo come “positivo” o “negativo”
partendo da una singola recensione.
Il MLP è un tipo di rete neurale feedforward: le connessioni tra le unità non formano cicli ma si
muovono in una sola direzione, in avanti, dal livello di input, attraverso il livello nascosto (o livelli
nascosti) fino al livello di output.
APPROFONDIMENTO - WORKFLOW
44
44
APPROFONDIMENTO - MULTILAYER PERCEPTRON
45
45
Nell’algoritmo del MLP l’output di uno strato è utilizzato come input per lo strato successivo: i
neuroni dello stesso livello non possono comunicare tra loro ma possono inviare segnali solo allo
strato successivo.
Una delle tecniche più diffuse per addestrare un MLP è l’algoritmo di backpropagation o retro-
propagazione dell’errore.
APPROFONDIMENTO - RESULT AND TUNING I
46
46
Alcuni dei risultati delle varie prove effettuate con partitioning 90%. Per ogni tipo di sampling, la prima
riga riporta i risultati ottenuti con i valori di default, la seconda quelli del parameter optimization loop.
Type of Sampling Hidden layers Hidden neurons Accuracy
Stratified sampling 1 10 71.88%
Stratified sampling 1 10 75%
Draw randomly 1 10 71.88%
Draw randomly 2 14 71.88%
Linear sampling 1 10 75%
Linear sampling 1 11 81.26%
Take from top 1 10 78.12%
Take from top 1 13 84.39%
APPROFONDIMENTO - RESULT AND TUNING II
47
47
Risultati delle varie prove effettuate con Cross Validation:
ID
N. of
validations
Type of
sampling
Correct
classified
Wrong
classified
Accuracy Error
Cohen’s
kappa
P1 10 Linear 223 95 70.12% 29.88% 0.40
P2 20 Linear 235 83 73.90% 26.10% 0.48
P3 10 Random 229 89 72.01% 27.99% 0.44
P4 20 Random 221 97 69.50% 30.50% 0.39
P5 10 Stratified 223 95 70.12% 29.88% 0.40
P6 20 Stratified 219 99 68.87% 31.13% 0.38
P7 /
Leave one
out
221 97 69.50% 30.50% 0.39
APPROFONDIMENTO - DISCUSSION I
48
48
Error plot e matrice di confusione del risultato migliore (p 90%)
Take from top (accuracy: 84.39%)
.
Document Class NEG POS
NEG 12 2
POS 5 13
APPROFONDIMENTO - DISCUSSION II
49
49
Error plot e matrice di confusione del risultato peggiore (p 30%)
Stratified sampling (accuracy: 60.09%)
.
Document Class NEG POS
NEG 69 42
POS 47 65
50
GRAZIE!
Bevilacqua Enrica, matr. 839595
Consoli Cecilia, matr. 846153
Spreafico Mattia, matr. 807178

More Related Content

Similar to Artificial Intelligence - Museum reviews collected from TripAdvisor

Progetto e realizzazione di un sistema per la generazione automatica di recen...
Progetto e realizzazione di un sistema per la generazione automatica di recen...Progetto e realizzazione di un sistema per la generazione automatica di recen...
Progetto e realizzazione di un sistema per la generazione automatica di recen...Università degli Studi di Trieste
 
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...Nicola Procopio
 
Tecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systemsTecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systemsGiuseppe Ricci
 
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori PugliaPresentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori PugliaGiuseppe Ricci
 
Creactives - Spending Analysis
Creactives - Spending Analysis Creactives - Spending Analysis
Creactives - Spending Analysis Maurizio Girometti
 
Algoritmi di clustering
Algoritmi di clusteringAlgoritmi di clustering
Algoritmi di clusteringRosario Turco
 

Similar to Artificial Intelligence - Museum reviews collected from TripAdvisor (7)

Progetto e realizzazione di un sistema per la generazione automatica di recen...
Progetto e realizzazione di un sistema per la generazione automatica di recen...Progetto e realizzazione di un sistema per la generazione automatica di recen...
Progetto e realizzazione di un sistema per la generazione automatica di recen...
 
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
Modelli di Durata: un'analisi sull'utilizzo del portale Web dell'Università d...
 
Tecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systemsTecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systems
 
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori PugliaPresentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
 
Creactives - Spending Analysis
Creactives - Spending Analysis Creactives - Spending Analysis
Creactives - Spending Analysis
 
Algoritmi di clustering
Algoritmi di clusteringAlgoritmi di clustering
Algoritmi di clustering
 
Machine Yelping
Machine YelpingMachine Yelping
Machine Yelping
 

More from Enrica Bevilacqua

Tesi di laurea magistrale TTC - presentazione finale
Tesi di laurea magistrale TTC - presentazione finaleTesi di laurea magistrale TTC - presentazione finale
Tesi di laurea magistrale TTC - presentazione finaleEnrica Bevilacqua
 
Data Visualization - Coffee Consumption
Data Visualization - Coffee ConsumptionData Visualization - Coffee Consumption
Data Visualization - Coffee ConsumptionEnrica Bevilacqua
 
Re-design di un sito web No Profit - Fides Onlus
Re-design di un sito web No Profit - Fides OnlusRe-design di un sito web No Profit - Fides Onlus
Re-design di un sito web No Profit - Fides OnlusEnrica Bevilacqua
 
EvolveItUp - Le piccole aziende nel digitale
EvolveItUp - Le piccole aziende nel digitaleEvolveItUp - Le piccole aziende nel digitale
EvolveItUp - Le piccole aziende nel digitaleEnrica Bevilacqua
 
Progetto di identità visuale
Progetto di identità visualeProgetto di identità visuale
Progetto di identità visualeEnrica Bevilacqua
 

More from Enrica Bevilacqua (7)

Tesi di laurea magistrale TTC - presentazione finale
Tesi di laurea magistrale TTC - presentazione finaleTesi di laurea magistrale TTC - presentazione finale
Tesi di laurea magistrale TTC - presentazione finale
 
Data Visualization - Coffee Consumption
Data Visualization - Coffee ConsumptionData Visualization - Coffee Consumption
Data Visualization - Coffee Consumption
 
Re-design di un sito web No Profit - Fides Onlus
Re-design di un sito web No Profit - Fides OnlusRe-design di un sito web No Profit - Fides Onlus
Re-design di un sito web No Profit - Fides Onlus
 
EvolveItUp - Le piccole aziende nel digitale
EvolveItUp - Le piccole aziende nel digitaleEvolveItUp - Le piccole aziende nel digitale
EvolveItUp - Le piccole aziende nel digitale
 
Sviluppo di un app AR
Sviluppo di un app ARSviluppo di un app AR
Sviluppo di un app AR
 
Analisi di usabilità
Analisi di usabilitàAnalisi di usabilità
Analisi di usabilità
 
Progetto di identità visuale
Progetto di identità visualeProgetto di identità visuale
Progetto di identità visuale
 

Artificial Intelligence - Museum reviews collected from TripAdvisor

  • 1. MUSEUM REVIEWS collected from TripAdvisor Intelligenza Artificiale a.a. 2019/2020 Teoria e Tecnologia della Comunicazione
  • 3. 1. ANALISI DEL DOMINIO Analisi feature e featured engineering
  • 4. 4 ANALISI DEL DOMINIO - 1 4 Il turismo è sempre più condizionato dalle opinioni dei viaggiatori precedenti ed anche i musei stanno risentendo molto di questo trend. Le recensioni online rappresentano un tassello fondamentale delle strategie di marketing e di promozione di un luogo. TripAdvisor è la piattaforma di informazioni sui viaggi più grande del mondo, sulla quale è possibile esplorare centinaia di milioni di recensioni. Tutte le strutture che possiedono almeno una recensione su TripAdvisor hanno un rating, ovvero un giudizio espresso da un soggetto esterno. Sul portale preso in considerazione gli utenti possono stabilire se una determinata attività è: Excellent, Very good, Average, Poor oppure Terrible.
  • 5. 5 ANALISI DEL DOMINIO - 2 5 Esempio di una pagina di un museo su TripAdvisor: Esempio di una recensione di un museo su TripAdvisor:
  • 6. 6 ANALISI DEL DOMINIO - 3 6 I dati di interesse sono stati acquisiti dal sito Kaggle – Your Home for Data Science: una comunità online di data scientist e professionisti dell'apprendimento automatico. Il dataset di partenza si trova a questo indirizzo: https://www.kaggle.com/annecool37/museum-data Si tratta di un insieme di file in lingua inglese denominato: Museum reviews collected from TripAdvisor – Museum name, type, location, review, rating, rank, etc.
  • 7. 7 ANALISI FEATURE DEL DATASET - 1 7 Il file tripadvisor_merged.CSV contiene i dati dei musei e delle relative recensioni pubblicate su TripAdvisor: Tipo di dato Attributo INTEGER ID STRING Address, description, lenghtofvisit,. Museumname, phone num, country, state, rankpercentage DECIMAL Featurecount, langtitude, latitude, rank, rating, reviewcount, totalthingstodo BOOLEAN Artefatti (82 attributi) DOUBLE PreciseRating, quote_pol_mean, quote_sub_mean, review_pol_mean, review_sub_mean (e altri 17 attributi)
  • 8. 8 ANALISI FEATURE DEL DATASET - 2 8 Oltre a al dataset principale, sono presenti altri 6 file con estensione .JSON: Nome del file .JSON Descrizione museum_categories_world Definisce le diverse categorie assegnate a ogni museo review_content_world Raccoglie le recensioni di ogni museo review_content_world Raccoglie i titoli delle recensioni di ogni museo tag_clouds_world Raccoglie le parole maggiormente usate nelle recensioni di ogni museo traveler_rating_world Raccoglie il numero di rating assegnato ad ogni museo per categoria traveler_type_world Raccoglie il numero di visitatori di ogni museo per categoria
  • 9. 9 FEATURED ENGINEERING 9 Per ciascuno dei musei rappresentati nel dataset tripadvisor_merged, è possibile effettuare un collegamento con i dati presenti all’interno dei file JSON per arricchirli ulteriormente. Le informazioni aggiuntive sono: ● Le categorie assegnate al museo; ● Le singole recensioni del museo (e i titoli di ciascuna); ● Le parole maggiormente usate nelle recensioni; ● Il rating assegnato per categoria ad ogni museo; ● Il numero di visitatori per categoria di ogni museo.
  • 11. APPRENDIMENTO SUPERVISIONATO 11 Un sistema di apprendimento supervisionato deve essere in grado, dato un insieme di esempi etichettati di associarli ad una corretta classificazione. L’obiettivo è quello di costruire una funzione a partire dai dati (insieme di punti annotati) che possa essere usata per prevedere la classe dei nuovi casi. Ci sono due categorie di approcci principali: classificazione e regressione. In questo progetto, viene utilizzata la classificazione. Ogni etichetta aggiunta sui dati è una classe discreta che identifica il giudizio di valore.
  • 12. SENTIMENT ANALYSIS 12 La sentiment analysis è un campo dell'elaborazione del linguaggio naturale che si occupa di costruire sistemi per l'identificazione ed estrazione di opinioni dal testo. Lo scopo della sentiment analysis è determinare la polarità generale di un documento, ossia classificarlo come positivo o negativo. L’obiettivo principale di questa sentiment analysis è: Partendo da una singola recensione di un museo, decretare se tale museo può essere classificato come “positivo” o “negativo”.
  • 13. DATA COLLECTION, CLEANING AND PREPARATION 13 Sono stati analizzati 32 musei italiani. Manipolazioni su due file del database: 1. tripadvisor_museum_world.csv: utilizzo dei valori di latitudine e longitudine; 2. review_content_world.json: sono stati individuati solamente i musei italiani. Il file risultante dalla combinazione dei precedenti è italian_museums.csv, composto da 5 colonne: L’ultima colonna relativa al Sentiment è stata calcolata suddividendo il valore PreciseRating in due insiemi identici: i valori superiori alla media dei valori del Rating sono stati etichettati con classe POS, mentre i valori inferiori con classe NEG. ID (univoco) MuseumName Review PreciseRating Sentiment (POS/NEG)
  • 15. MODEL DEEPENING - SNOWBALL STEMMER Snowball è un linguaggio di elaborazione di stringhe progettato per la creazione di algoritmi di derivazione da utilizzare nel recupero delle informazioni. Lo stemming è un metodo che identifica la radice delle parole per generalizzare le operazioni di interrogazione e selezione. Trasforma le parole nella loro forma flessa e più generale. L’algoritmo derivante Porter, basato sulla lingua inglese, permette di estrarre i termini di interesse presenti all’interno del documento pre-processato 15
  • 16. MODEL DEEPENING - DECISION TREE 16 L'albero decisionale è un classico algoritmo di analisi predittiva per risolvere problemi di classificazione binaria o multinomiale. Un albero di classificazione è un albero in cui ogni nodo interno (non foglia) è etichettato con una funzione di input. Gli archi provenienti da un nodo etichettato con una funzione sono etichettati con ciascuno dei possibili valori della funzione. Ogni foglia dell'albero è etichettata con una classe o una distribuzione di probabilità sulle classi.
  • 17. RESULT AND TUNING - 1 17 I valori di interesse per determinare la bontà della sentiment analysis sono i seguenti: NOME FORMULA/DEFINIZIONE Recall TruePositive/(TruePositive+FalseNegative) Precision TruePositive/(TruePositive+FalsePositive) Sensitivity TruePositive/(TruePositive+FalseNegative) Specifity TrueNegative/(TrueNegative+FalsePositive) F-measure 2*(Precision*Recall)/(Precision+Recall) Accuracy (TruePositive+TrueNegative)/(Total Number of Prediction) Cohen’s kappa Grado di accuratezza e affidabilità in una classificazione ROC curve L’area sotto la curva ROC esprime il “potere diagnostico” del test (“diagnosticity”)
  • 18. RESULT AND TUNING - 2 18 Alcuni dei risultati delle varie prove effettuate: ● 90% (con n=2) accuracy: 0.844 ROC curve: 0.8613 ● 90% (con n=3) accuracy: 0.625 ROC curve: 0.5859 ● 90% (con n=4) accuracy: 0.781 ROC curve: 0.8613 ● 90% (con n=5) accuracy: 0.719 ROC curve: 0.7812 ● 85% (con n=2) accuracy: 0.750 ROC curve: 0.74025 ● 85% (con n=3) accuracy: 0.688 ROC curve: 0.6450 ● 85% (con n=4) accuracy: 0.708 ROC curve:0.7517 ● 85% (con n=5) accuracy: 0.604 ROC curve: 0.7014 ● 70% (con n=2) accuracy: 0.667 ROC curve: 0.6780 ● 70% (con n=3) accuracy: 0.625 ROC curve: 0.6966 ● 70% (con n=4) accuracy: 0.656 ROC curve: 0.6999 ● 70% (con n=5) accuracy: 0.573 ROC curve: 0.5879 ● 55% (con n=2) accuracy: 0.604 ROC curve: 0.6323 ● 55% (con n=3) accuracy: 0.562 ROC curve: 0.6314 ● 55% (con n=4) accuracy: 0.576 ROC curve: 0.6452 ● 55% (con n=5) accuracy: 0.521 ROC curve: 0.5736
  • 19. RESULT DISCUSSION - 1 19 Curve ROC e matrici di confusione dei primi due risultati migliori: 90% (con n=2) 85% (con n=4) ROC curve = 0.8613 ROC curve = 0.7517 Document Class NEG POS NEG 15 1 POS 4 12 Document Class NEG POS NEG 17 7 POS 7 17
  • 20. RESULT DISCUSSION - 2 20 Curve ROC e matrici di confusione degli altri due risultati migliori: 70% (con n=4) 55% (con n=4) ROC curve = 0.6999 ROC curve = 0.6452 Document Class NEG POS NEG 31 17 POS 16 32 Document Class NEG POS NEG 40 32 POS 29 43
  • 22. APPRENDIMENTO NON SUPERVISIONATO 22 Un sistema di apprendimento non supervisionato è una tecnica di apprendimento automatico in cui la macchina impara dall’esperienza, senza avere esempi e risposte di riferimento. A differenza dell’apprendimento supervisionato, i dati non sono annotati e per apprendere la macchina deve estrarre le informazioni rilevanti dai dati. Il clustering è una delle principali tecniche di apprendimento non supervisionato che consiste in un insieme di metodi per raggruppare i dati in classi omogenee.
  • 23. K-MEANS 23 Un algoritmo di clustering di tipo partizionale è K-Means. Quando si applica questo algoritmo bisogna conoscere a priori in quanti gruppi si vuole suddividere l’insieme. Le funzioni chiave del cluster sono quelle relative alla similarità ed alla distanza. L’obiettivo principale di questo clustering è: Assegnare ogni museo al cluster corretto, basandosi su diversi parametri come: PreciseRating, quote_pol_mean, quote_sub_mean, review_pol_mean, review_sub_mean e class
  • 24. DATA COLLECTION, CLEANING AND PREPARATION 24 La manipolazione eseguita sul file tripadvisor_merged.csv è composta da due fasi: ● Filtraggio: mediante Column filter, sono state filtrate le colonne di interesse della tabella; ● Assegnazione di una classe tramite delle regole: ad ogni riga è stata assegnata una classe tramite il proprio valore di PreciseRating, compreso tra 2.781 e 4.964. Per dividere i musei in 5 classi è stata presa come unità 0.4366. Il file risultante dalla manipolazione è tripadvisor_merged_class.csv, composto da 8 colonne: ID MuseumName Precise Rating quote_ pol_mean quote_ sub_mean review_ pol_mean review_ sub_mea n class
  • 26. MODEL DEEPENING – K-MEANS 26 K-Means permette di suddividere un insieme di oggetti in K gruppi sulla base dei loro attributi, utilizzando la distanza euclidea. Vengono generati i centri del cluster per un numero predefinito di cluster. L’algoritmo esegue un cluster che assegna un vettore di dati a un cluster e termina quando le assegnazioni del cluster non cambiano più.
  • 27. RESULT AND TUNING - 1 27 Alcuni dei risultati delle varie prove effettuate, con partizione draw sampling: Partitioning Correct class Wrong class Accuracy Error 95% 80 0 100% 0% 90% 156 3 98.11% 1.88% 85% 233 5 97.89% 2.10% 80% 374 23 92.20% 8.51% 75% 459 17 96.42% 3.57% 70% 467 9 98.01% 1.89% 65% 531 24 95.68% 4.32% 60% 598 36 94.23% 5.68% 55% 698 16 97.76% 2.24% 50% 738 55 93.06% 6.93% 45% 856 16 98.16% 1.83% 40% 836 115 87.90% 12.1% 35% 939 92 91.07% 8.93% 30% 1052 58 94.77% 5.25% 25% 1073 116 90.24% 9.75% 20% 1093 175 86.19% 13.80% 27
  • 28. Alcuni dei risultati delle altre opzioni di partizione: Take from the top: Partitioning Correct Wrong Accuracy Error Cohen’s kappa 95% 80 0 100% 0% ? 50% 317 476 39.97% 60.02% 0 25% 317 872 26.66% 73.39% 0 Linear sampling: Partitioning Correct Wrong Accuracy Error Cohen’s kappa 95% 79 1 98.75% 1.25% 0.98 50% 784 9 98.86% 1.13% 0.98 25% 1216 52 95.89% 4.10% 0.94 Stratified sampling: Partitioning Correct Wrong Accuracy Error Cohen’s kappa 95% 80 0 100% 0% 1 50% 736 57 92.81% 7.18% 0.91 25% 880 309 74.01% 25.98% 0.67 RESULT AND TUNING - 2 28
  • 29. RESULT DISCUSSION - 1 29 Scatter plot e tabella dello scorer del miglior risultato ottenuto con partizione draw sampling. Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean. Partitioning= 90%, accuracy = 100% Class/ Cluster Terrible Poor Average Very good Excellent Terrible 15 0 0 0 0 Poor 0 15 0 0 0 Average 0 0 17 0 0 Very good 0 0 0 14 0 Excellent 0 0 0 0 19
  • 30. RESULT DISCUSSION - 2 30 Scatter plot e tabella dello scorer di uno dei risultati intermedi con partizione draw sampling. Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean. Partitioning= 50%, accuracy = 93,06% Class/ Cluster Terrible Poor Average Very good Excellent Terrible 149 13 0 0 0 Poor 0 134 20 0 0 Average 0 0 131 14 0 Very good 0 0 0 153 8 Excellent 0 0 0 0 171
  • 31. RESULT DISCUSSION - 3 31 Scatter plot e tabella dello scorer del risultato peggiore ottenuto con partizione draw sampling. Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean. Partitioning= 20%, accuracy = 86,19% Class/ Cluster Terrible Poor Average Very good Excellent Terrible 233 23 0 0 0 Poor 0 207 44 0 0 Average 0 0 188 60 0 Very good 0 0 0 205 48 Excellent 0 0 0 0 260
  • 33. K-MEDOIDS 33 K-Medoids è un altro algoritmo di clustering partizionale, correlato a K-Means ma più robusto al rumore e agli outlier. K-Medoids si basa sul calcolo della distanza per individuare i punti centrali del cluster. L'algoritmo più utilizzato per la costruzione di cluster con K-Medoids è il Partitioning Around Medoids (PAM). L’obiettivo principale di questo clustering è: Assegnare ogni museo al cluster corretto, basandosi su diversi parametri come: PreciseRating, quote_pol_mean, quote_sub_mean, review_pol_mean, review_sub_mean e class
  • 35. MODEL DEEPENING - K-MEDOIDS 35 K-Medoids utilizza la distanza per calcolare i medoids, ovvero i punti più centrali dei K cluster, dove K viene scelto a priori. Un medoide è quindi un punto di un cluster la cui dissimilarità media rispetto a tutti gli oggetti nel cluster è minima. In base ai dati di input, si possono utilizzare diversi tipi di distanze, le più comuni sono la distanza euclidea e Manhattan. L’algoritmo parte da un inizializzazione casuale dei medoidi e continua la sua esecuzione fino a quando raggiunge una riduzione del costo negativa, a quel punto termina.
  • 36. RESULT AND TUNING 36 La tabella riporta i risultati delle prove effettuate con K-Medoids per ottenere 5 cluster utilizzando come metriche di distanza quella euclidea e Manhattan. Distanza utilizzata Numero di iterazioni Correct classified Wrong classified Accuracy Error Cohen’s kappa Euclidea 34 1578 7 99.55% 0.44% 0.99 Manhattan 23 1563 22 98.61% 1.38% 0.98
  • 37. RESULT DISCUSSION - 1 37 Scatter plot e tabella dello scorer per le due metriche di distanza utilizzate. Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean. Distanza euclidea Class/ Cluster Terrible Poor Average Very good Excellent Terrible 316 0 0 0 0 Poor 2 315 0 0 0 Average 0 2 315 0 0 Very good 0 0 2 316 0 Excellent 0 0 0 1 316
  • 38. RESULT DISCUSSION - 2 38 Scatter plot e tabella dello scorer per le due metriche di distanza utilizzate. Sull’asse x troviamo il PreciseRating e sull’asse y review_pol_mean. Distanza Manhattan Class/ Cluster Terrible Poor Average Very good Excellent Terrible 316 0 0 0 0 Poor 9 308 0 0 0 Average 0 8 309 0 0 Very good 0 0 4 314 0 Excellent 0 0 0 1 316
  • 39. 5. CONCLUSIONI Applicazioni e approcci alternativi
  • 40. APPLICAZIONI E SVILUPPI 40 40 Sentiment analysis: ● Individuare le parole maggiormente usate per recensire il museo in modo tale da identificare gli eventuali punti di forza e/o problematiche; ● Creare un dataset più vasto, integrando altre recensioni per affinare i risultati e ottenerne di maggiormente validi; ● Utilizzare raccolte di tag/parole chiave già reperibili online per svolgere lo stesso flusso anche con recensioni differenti. Apprendimento non supervisionato: ● Raggruppare diversi musei utilizzando altri parametri come ad esempio la tipologia di visitatore (famiglie, coppie, singoli, per affari, con amici); ● Utilizzare al posto delle recensioni dei musei quelle relative a ristoranti, hotel e altre attività che vengono recensite sul sito; ● Cercare un dataset con le recensioni delle città più grandi del mondo e assegnarle ad un cluster basandosi sempre sui parametri presi in considerazione.
  • 41. APPROCCI ALTERNATIVI - SUPERVISIONATO 41 41 Random Forest (sentiment analysis): è uno speciale classificatore formato da un insieme di classificatori semplici, rappresentati come vettori random indipendenti e identicamente distribuiti, dove ognuno di essi vota per la classe più popolare in input. Alcuni risultati: ● 90%: accuracy: 0.719 (Decision Tree = 0.844) ● 85%: accuracy: 0.687 (Decision Tree = 0.708) ● 70%: accuracy: 0.686 (Decision Tree = 0.656) ● 55%: accuracy: 0.667 (Decision Tree = 0.576) ● 40% accuracy: 0.644 (Decision Tree = 0.586) ● 35% accuracy: 0.647 (Decision Tree = 0.570) I risultati ottenuti per i settaggi elevati sono stati decisamente inferiori, mentre per quanto riguarda i settaggi di partizione inferiori, i risultati sono migliori.
  • 42. APPROCCI ALTERNATIVI - NON SUPERVISIONATO 42 42 ● QT (Quality Threshold): si tratta di un metodo alternativo di partizionare i dati. Utilizzando questo approccio, però, non solo non è richiesto di specificare il numero di cluster a priori, ma è richiesta più potenza di calcolo rispetto al K-Means. ● DBSCAN (Density-Based Spatial Clustering of Applications with Noise): come l’algoritmo QT, anche DBSCAN permette di effettuare un clustering senza conoscere a priori il numero di cluster. Questo algoritmo si basa sulla densità perché trova il numero di cluster a partire dalla distribuzione della densità stimata dei nodi corrispondenti. A differenza di K-Means, DBSCAN necessita di un'attenta selezione dei suoi parametri e non funziona in maniera ottimale su cluster con densità diverse.
  • 43. APPROFONDIMENTO - CECILIA CONSOLI 43 43 Utilizzo di un ulteriore approccio di apprendimento automatico al flusso della sentiment analysis: Neural Networks L’obiettivo è quello di applicare l’approccio di apprendimento supervisionato tramite un modello di rete neurale - MultiLayer Perceptron -per classificare un museo come “positivo” o “negativo” partendo da una singola recensione. Il MLP è un tipo di rete neurale feedforward: le connessioni tra le unità non formano cicli ma si muovono in una sola direzione, in avanti, dal livello di input, attraverso il livello nascosto (o livelli nascosti) fino al livello di output.
  • 45. APPROFONDIMENTO - MULTILAYER PERCEPTRON 45 45 Nell’algoritmo del MLP l’output di uno strato è utilizzato come input per lo strato successivo: i neuroni dello stesso livello non possono comunicare tra loro ma possono inviare segnali solo allo strato successivo. Una delle tecniche più diffuse per addestrare un MLP è l’algoritmo di backpropagation o retro- propagazione dell’errore.
  • 46. APPROFONDIMENTO - RESULT AND TUNING I 46 46 Alcuni dei risultati delle varie prove effettuate con partitioning 90%. Per ogni tipo di sampling, la prima riga riporta i risultati ottenuti con i valori di default, la seconda quelli del parameter optimization loop. Type of Sampling Hidden layers Hidden neurons Accuracy Stratified sampling 1 10 71.88% Stratified sampling 1 10 75% Draw randomly 1 10 71.88% Draw randomly 2 14 71.88% Linear sampling 1 10 75% Linear sampling 1 11 81.26% Take from top 1 10 78.12% Take from top 1 13 84.39%
  • 47. APPROFONDIMENTO - RESULT AND TUNING II 47 47 Risultati delle varie prove effettuate con Cross Validation: ID N. of validations Type of sampling Correct classified Wrong classified Accuracy Error Cohen’s kappa P1 10 Linear 223 95 70.12% 29.88% 0.40 P2 20 Linear 235 83 73.90% 26.10% 0.48 P3 10 Random 229 89 72.01% 27.99% 0.44 P4 20 Random 221 97 69.50% 30.50% 0.39 P5 10 Stratified 223 95 70.12% 29.88% 0.40 P6 20 Stratified 219 99 68.87% 31.13% 0.38 P7 / Leave one out 221 97 69.50% 30.50% 0.39
  • 48. APPROFONDIMENTO - DISCUSSION I 48 48 Error plot e matrice di confusione del risultato migliore (p 90%) Take from top (accuracy: 84.39%) . Document Class NEG POS NEG 12 2 POS 5 13
  • 49. APPROFONDIMENTO - DISCUSSION II 49 49 Error plot e matrice di confusione del risultato peggiore (p 30%) Stratified sampling (accuracy: 60.09%) . Document Class NEG POS NEG 69 42 POS 47 65
  • 50. 50 GRAZIE! Bevilacqua Enrica, matr. 839595 Consoli Cecilia, matr. 846153 Spreafico Mattia, matr. 807178