• Non ci sono risultati.

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA

N/A
N/A
Protected

Academic year: 2021

Condividi "UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA"

Copied!
30
0
0

Testo completo

(1)

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Scienze Fisiche, Informatiche e Matematiche

Corso di Laurea in Informatica

Progettazione e sviluppo di un’applicazione Big Data per l’analisi e l’elaborazione di tweet in real-time

RELATORE CANDIDATO

Chiar.mo Professore Alessandro Pillo

Riccardo Martoglia MATR. 111759

Anno Accademico

2018/2019

(2)

Ambito di ricerca:

Big Data

~ 90%

dei dati mondiali sono stati generati

negli ultimi 2 anni

Ogni giorno creiamo oltre

2.500.000.000.000.000.000

(2.5 quintilioni) di byte.

Ogni minuto:

● ~ 500.000 nuovi tweet;

● ~ 49.380 nuove foto su Instagram;

● ~ 750.000 canzoni ascoltate su Spotify;

● ~ 176.220 chiamate su Skype;

● ~ 2.083.333 nuove snap su Snapchat.

Fonte: Domo Fonte: IBM

(3)

Paper

“Towards Tweet Content Suggestions For Museum Media Managers”

Professori:

- Riccardo Martoglia

- Federica Mandreoli

- Manuela Montangero

- Marco Furini

(4)

Progetto

Esigenze e requisiti Studio preliminare Scelte progettuali

Scelte implementative

Valutazione

(5)

Engine di elaborazione

Algoritmo di online ML

Esigenze e requisiti

● Progettazione di un’applicazione in Python

- in grado di elaborare stream di tweet in real-time

● Costruzione di un modello predittivo in grado di:

- evolvere nel tempo

- effettuare previsioni riguardanti la popolarità o meno di un tweet

● Tweet riguardanti tematiche concernenti il mondo dell’arte

(6)

Engine di elaborazione

Algoritmo di online ML

Esigenze e requisiti

● Progettazione di un’applicazione in Python

- in grado di elaborare stream di tweet in real-time

● Costruzione di un modello predittivo in grado di:

- evolvere nel tempo

- effettuare previsioni riguardanti la popolarità o meno di un tweet

● Tweet riguardanti tematiche concernenti il mondo dell’arte

(7)

Engine di elaborazione

Algoritmo di online ML

Esigenze e requisiti

● Progettazione di un’applicazione in Python

- in grado di elaborare stream di tweet in real-time

● Costruzione di un modello predittivo in grado di:

- evolvere nel tempo

- effettuare previsioni riguardanti la popolarità o meno di un tweet

● Tweet riguardanti tematiche concernenti il mondo dell’arte

(8)

Progetto

Esigenze e requisiti Studio preliminare Scelte progettuali

Scelte implementative

Valutazione

(9)

Ecosistema Hadoop

Data Source

Distributed File System

NoSQL Database

Machine Learning Data

Ingestion

NewSQL Database

Distributed data processing

& programming

System Deployment

SQL on Hadoop

Administration Metadata Scheduling Security

Data visualization

(10)

Ecosistema Hadoop

Data Source

Distributed File System

NoSQL Database

Machine Learning Data

Ingestion

NewSQL Database

Distributed data processing

& programming

System Deployment

SQL on Hadoop

Administration Metadata Scheduling Security

Data visualization

(11)

Distributed data processing & programming

● Apache Apex

● Apache Beam

● Apache Hadoop

● Apache Flink

● Apache Samza

● Apache Spark

● Apache Storm

● Apache Tez

● Cloud Dataflow

● Google MillWheel

● IBM InfoSphere Streams

● Twitter Heron

….

(12)

Parametri:

● Framework open source.

● Framework che implementa un engine di elaborazione.

● Possibilità di gestire il processing di dati stream.

● Integrazione nativa o estensibile con il machine learning su dati stream.

● Supporto al linguaggio di programmazione Python.

● Popolarità del framework.

Confronto

Grafico ottenuto assegnando ad ogni sistema, appartenente alla categoria “distributed data processing & programming”, un punteggio in base al fatto che esso soddisfi o meno ognuno dei parametri elencati.

(13)

Parametri:

● Framework open source.

● Framework che implementa un engine di elaborazione.

● Possibilità di gestire il processing di dati stream.

● Integrazione nativa o estensibile con il machine learning su dati stream.

● Supporto al linguaggio di programmazione Python.

● Popolarità del framework.

Confronto

Grafico ottenuto assegnando ad ogni sistema, appartenente alla categoria “distributed data processing & programming”, un punteggio in base al fatto che esso soddisfi o meno ognuno dei parametri elencati.

(14)

Progetto

Esigenze e requisiti Studio preliminare Scelte progettuali

Scelta dei parametri

Valutazione

(15)

1 - Scelta dell’engine di elaborazione

Apache Flink

Supporta il Jython:

- documentazione ridotta;

- l’API DataStream è in versione beta e con bug noti;

Non integra una libreria per l’online ML.

(16)

1 - Scelta dell’engine di elaborazione

Apache Flink

Supporta il Jython:

- documentazione ridotta;

- l’API DataStream è in versione beta e con bug noti;

Non integra una libreria per l’online ML.

Apache Storm

E’ multilinguaggio, tuttavia richiede l’implementazione di opportune classi in Java per invocare i metodi scritti in altri linguaggi.

La Stream API è in versione sperimentale.

Non integra una libreria per l’online ML.

(17)

1 - Scelta dell’engine di elaborazione

Apache Flink

Supporta il Jython:

- documentazione ridotta;

- l’API DataStream è in versione beta e con bug noti;

Non integra una libreria per l’online ML.

VS.

Apache Spark

Le principali funzionalità che esso offre sono disponibili anche in Python.

Documentazione dettagliata.

La libreria MLlib supporta l’online ML.

VS.

Apache Storm

E’ multilinguaggio, tuttavia richiede l’implementazione di opportune classi in Java per invocare i metodi scritti in altri linguaggi.

La Stream API è in versione sperimentale.

Non integra una libreria per l’online ML.

(18)

2 - Scelta dell’algoritmo di ML

● Tipologia di ML:

- online machine learning

Libreria MLlib:

- metodo StreamingLogisticRegression()

(19)

Pipeline concettuale

MLlib

Sorgente Data ingestion Engine di elaborazione

Online ML

Apache Kafka

(20)

Progetto

Esigenze e requisiti Studio preliminare Scelte progettuali

Scelte implementative

Valutazione

(21)

Elaborazione dello stream

1 h

1. Filtraggio iniziale

- tematica inerente l’arte;

- tweet “originali”;

- follower tra 1.000 e 30.000;

(22)

Elaborazione dello stream

1 h

2. Tempo di attesa

- Valore: 1 ora

Per valutare il numero di like ottenuto.

1. Filtraggio iniziale

- tematica inerente l’arte;

- tweet “originali”;

- follower tra 1.000 e 30.000;

(23)

Elaborazione dello stream

1 h

3. Filtraggio dataset per ML

- Soglie: like <= 3 e like >= 15 Per addestrare il modello sulla porzione di dati maggiormente significativa.

1. Filtraggio iniziale

- tematica inerente l’arte;

- tweet “originali”;

- follower tra 1.000 e 30.000;

2. Tempo di attesa

- Valore: 1 ora

Per valutare il numero di like ottenuto.

(24)

Progetto

Esigenze e requisiti Studio preliminare Scelte progettuali

Scelte implementative

Valutazione

(25)

1 settimana

(26)

1 settimana

(27)

1 settimana

2 maggio 2019

(28)

Input rate

(29)

Conclusioni

● E’ stata delineata la struttura dell’ecosistema di framework caratterizzanti il panorama dei Big Data.

● Sono stati approfonditi i principali framework utili al fine di analizzare, elaborare e interrogare dati.

● E’ stata progettata un’applicazione capace di elaborare uno stream di dati in real-time.

● E’ stato costruito un modello predittivo in grado di evolvere nel tempo e si è verificato sperimentalmente le sue capacità di adattamento e i vantaggi introdotti dall’online machine learning.

Sviluppi futuri

● Costruire un modello predittivo in grado di fare previsioni riguardanti il numero di like che un determinato

tweet dovrebbe riuscire a raggiungere sulla piattaforma.

(30)

Grazie per l’attenzione

Riferimenti

Documenti correlati

Nel caso specifico di questa tesi la necessità di generare in output i risultati della ricerca è legata alla possibilità di interrogare il database contenente i dati

It should be noted that despite the standardization of labor contracts concluded in the countries of the European Union, the legal regulation of an employment contract is

The impact of service delivery on the well-being of individuals depends therefore upon where those individuals live: households resident in a region with

PROGETTO E SVILUPPO DI APPLICAZIONI ANDROID PER LA COMUNICAZIONE CON DISPOSITIVI BLUETOOTH BLE.?. •

Primo, perché dopo il processo di inserimento dati nel database avremo a disposizione vari tipi di documenti dei quali alcuni non ci interessano, in secondo

Puis encore, en ce qui concerne les anglicismes qu’on peut trouver dans les noms propres de marque, dans notre corpus il y a un texte publicitaire dans

• se la query dell'utente richiede un servizio non presente nella città indicata, l'applicazione cerca in ogni modo di fornire un risultato e la sua scelta viene direzionata verso

«Quali sono i treni da Modena a Milano di tipo Regionale e senza cambi il 15/05/2015?».. L’applicazione restituisce l’elenco dei treni da Modena a Milano