The project concerned the processing and treatment of twitter messages in order to highlight the most frequent words in the various feelings (anger, anticipation, disgust, fear, joy, sadness, surprise, trust) in appropriate WORDCLOUD.
Furthermore, twitter messages have been compared with studies by psychologists regarding different lexicons in order to highlight the frequency of use of lexicon words in twitter messages.
Finally, the two architectures were compared: MySQL and MongoDB. MongoDB, in particular, is suitable for BigData.
Language: Python
DB: MySQL, MongoDB.
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...MongoDB
Questo è il terzo webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Questo webinar ti spiegherà l'architettura dei database di documenti.
Talk divulgativo sull’evoluzione dei sistemi database nel corso negli anni, dalla nascita del modello relazionale fino alla definizione di nuovi modelli per la gestione di dati non strutturati ed esecuzione di elaborazioni dati parallele; in particolare vedremo insieme:
- Proprietà e limiti modello relazionale
- Big Data, Google e Hadoop
- Sharding, Amazon e NoSQL
- Database documentali
- Database a grafo
- Database orientati alle colonne
- Database In-Memory
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...Meet Magento Italy
Per un utente di un sito eCommerce la “buca” di ricerca è lo strumento preferenziale per l’inizio dell’esperienza di acquisto. Allo stesso tempo per il venditore può diventare un canale privilegiato per veicolare messaggi mirati. In questo talk Manuel e Simone analizzeranno la possibilità di integrare Magento con il motore di ricerca open source Elasticsearch (utilizzato fra gli altri da github, stackoverflow e mozilla). Ci mostreranno quali sono le peculiarità della soluzione rispetto a quelle offerte “out of the box” da Magento CE, parleranno brevemente dell’ecosistema di Elasticsearch, delle integrazioni disponibili e delle peculiarità rispetto ad altri full text search engine come Solr. Esamineranno, in particolare, una soluzione che utilizza Elasticsearch come engine per le collection Magento evidenziandone vantaggi e criticità.
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance TuningMongoDB
L’ultimo webinar della serie discuterà quali metriche sono importanti e come gestire e monitorare la vostra applicazione per migliorare le performance.
Massimo Brignoli:
Massimo ha 44 anni e vive a Milano. Ha lavorato nell’IT per 23 anni per aziende di trasporti, società web e database company. Nel 1998 è entrato una una piccola startup come sviluppatore aiutandola a diventare il più importante portale web italiano, venduto 3 anni più tardi per 700 milioni di dollari. E’ entrato a lavorare in MySQL come pre-vendita viaggiando in tutto il mondo e aiutando le società telecom ad adottare MySQL Cluster. Nel 2012 è entrato in SkySQL come product manager, seguendo l’integrazione con MariaDB e successivamente ha deciso di entrare in MongoDB per seguire nuove sfide professionali. Attualmente e’ Senior Solutions Architect.
Back to Basics, webinar 5: Introduzione ad Aggregation FrameworkMongoDB
Questo è il quinto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Con questo webinar ti presentiamo Aggregation Framework.
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilit...Kelyon Srl
Drupal è spesso usato come CMS in impieghi professionali con elevati volumi di contenuti gestiti, in questo ambito il tema della ricerca veloce e precisa è essenziale e deve essere in grado anche di sopportare picchi di richieste molto impegnative. Le peculiarità delle infrastrutture cloud da un lato e l’architettura distribuita assicurata da ElasticSearch dall'altro consentono di ottenere risultati di primo livello a costi contenuti.
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...MongoDB
Questo è il terzo webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Questo webinar ti spiegherà l'architettura dei database di documenti.
Talk divulgativo sull’evoluzione dei sistemi database nel corso negli anni, dalla nascita del modello relazionale fino alla definizione di nuovi modelli per la gestione di dati non strutturati ed esecuzione di elaborazioni dati parallele; in particolare vedremo insieme:
- Proprietà e limiti modello relazionale
- Big Data, Google e Hadoop
- Sharding, Amazon e NoSQL
- Database documentali
- Database a grafo
- Database orientati alle colonne
- Database In-Memory
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...Meet Magento Italy
Per un utente di un sito eCommerce la “buca” di ricerca è lo strumento preferenziale per l’inizio dell’esperienza di acquisto. Allo stesso tempo per il venditore può diventare un canale privilegiato per veicolare messaggi mirati. In questo talk Manuel e Simone analizzeranno la possibilità di integrare Magento con il motore di ricerca open source Elasticsearch (utilizzato fra gli altri da github, stackoverflow e mozilla). Ci mostreranno quali sono le peculiarità della soluzione rispetto a quelle offerte “out of the box” da Magento CE, parleranno brevemente dell’ecosistema di Elasticsearch, delle integrazioni disponibili e delle peculiarità rispetto ad altri full text search engine come Solr. Esamineranno, in particolare, una soluzione che utilizza Elasticsearch come engine per le collection Magento evidenziandone vantaggi e criticità.
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance TuningMongoDB
L’ultimo webinar della serie discuterà quali metriche sono importanti e come gestire e monitorare la vostra applicazione per migliorare le performance.
Massimo Brignoli:
Massimo ha 44 anni e vive a Milano. Ha lavorato nell’IT per 23 anni per aziende di trasporti, società web e database company. Nel 1998 è entrato una una piccola startup come sviluppatore aiutandola a diventare il più importante portale web italiano, venduto 3 anni più tardi per 700 milioni di dollari. E’ entrato a lavorare in MySQL come pre-vendita viaggiando in tutto il mondo e aiutando le società telecom ad adottare MySQL Cluster. Nel 2012 è entrato in SkySQL come product manager, seguendo l’integrazione con MariaDB e successivamente ha deciso di entrare in MongoDB per seguire nuove sfide professionali. Attualmente e’ Senior Solutions Architect.
Back to Basics, webinar 5: Introduzione ad Aggregation FrameworkMongoDB
Questo è il quinto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Con questo webinar ti presentiamo Aggregation Framework.
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilit...Kelyon Srl
Drupal è spesso usato come CMS in impieghi professionali con elevati volumi di contenuti gestiti, in questo ambito il tema della ricerca veloce e precisa è essenziale e deve essere in grado anche di sopportare picchi di richieste molto impegnative. Le peculiarità delle infrastrutture cloud da un lato e l’architettura distribuita assicurata da ElasticSearch dall'altro consentono di ottenere risultati di primo livello a costi contenuti.
Deploy MongoDB su Infrastruttura Amazon Web ServicesStefano Dindo
Lo scopo della presentazione è quella di fornire una visione a 360 gradi su come realizzare un'architettura MongoDB su un'infrastruttura Cloud Amazon Web Services.
La presentazione è suddivisa in quattro aree:
- Introduzione di base su MongoDB
- Preview delle caratteristiche di MongoDB 3
- Come organizzare architetture Replica Set e Sharding di MongoDB in VPC Cloud di Amazon Web Services
- Introduzione alle logiche di Schema Design di MongoDB
Talk di Luca Lusso | Drupal Day Roma 2011
Snellire il carico del server per generare e restituire un json da usare per un autocompletamento. Notificare che un nodo è stato appena creato a tutti gli utenti che stanno visitando il sito in questo momento. Oppure ancora mettere a disposizione degli utenti una chat in tempo reale. Tutto questo (e molto altro) si può delegare ad un processo esterno a Drupal per aumentare velocità di interazione e diminuire il carico del server.
Durante il talk si vedrà come installare e usare node.js e come integrarlo con Drupal. Verrà mostrato il modulo nodejs presente nel repository di drupal.org
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
MongoDB è un database non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.
Lo scopo del MongoDB User Group Padova è quello di condividere esperienze sulla tecnologia MongoDB.
Questa presentazione, usata durante il primo evento dello User Group, è stata usata per introdurre i partecipanti sulle procedure di installazione ed i concetti di base su MongoDB.
Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)MongoDB
Come incrementare le prestazioni di scrittura e il volume di dati in MongoDB
Come costruire un semplice cluster partizionato
Come scegliere una chiave della partizione
Structured Streaming è il modulo di Stream Processing costruito sul motore Spark SQL. In poche parole garantisce l'esecuzione di un messaggio esattamente una volta, è scalabile e fault-tolerant. È possibile definire le analisi stream nello stesso modo in cui si definirebbe un calcolo batch sui dati usando i Dataset/DataFrame API in Scala, Java, Python or R utilizzando l'engine SQL di Spark.
Durante la sessione vedremo un'overview delle funzionalità e un esempio di di come sia possibile eseguire l'ingestion dei dati con Event Hub (Kafka enabled) eseguire un'analisi con Spark e salvare i risultati su Cosmos DB.
This talk is a brief introduction to Elasticsearch. What is it ? How can I use it ? How can it be useful for my company or for my business ? (the slides are in ITALIAN)
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
Let's find out in this session how Azure Synapse Analytics, with its SQL Serverless Pool, ADX, Data Factory, Notebooks, Spark can be useful for managing data analysis in an IoT solution.
Descrizione delle principali tecnologie abilitanti alla gestione dei Big Data, con particolare attenzione all’ecosistema che gravita intorno al framework Hadoop di Apache.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
Deploy MongoDB su Infrastruttura Amazon Web ServicesStefano Dindo
Lo scopo della presentazione è quella di fornire una visione a 360 gradi su come realizzare un'architettura MongoDB su un'infrastruttura Cloud Amazon Web Services.
La presentazione è suddivisa in quattro aree:
- Introduzione di base su MongoDB
- Preview delle caratteristiche di MongoDB 3
- Come organizzare architetture Replica Set e Sharding di MongoDB in VPC Cloud di Amazon Web Services
- Introduzione alle logiche di Schema Design di MongoDB
Talk di Luca Lusso | Drupal Day Roma 2011
Snellire il carico del server per generare e restituire un json da usare per un autocompletamento. Notificare che un nodo è stato appena creato a tutti gli utenti che stanno visitando il sito in questo momento. Oppure ancora mettere a disposizione degli utenti una chat in tempo reale. Tutto questo (e molto altro) si può delegare ad un processo esterno a Drupal per aumentare velocità di interazione e diminuire il carico del server.
Durante il talk si vedrà come installare e usare node.js e come integrarlo con Drupal. Verrà mostrato il modulo nodejs presente nel repository di drupal.org
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
MongoDB è un database non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.
Lo scopo del MongoDB User Group Padova è quello di condividere esperienze sulla tecnologia MongoDB.
Questa presentazione, usata durante il primo evento dello User Group, è stata usata per introdurre i partecipanti sulle procedure di installazione ed i concetti di base su MongoDB.
Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)MongoDB
Come incrementare le prestazioni di scrittura e il volume di dati in MongoDB
Come costruire un semplice cluster partizionato
Come scegliere una chiave della partizione
Structured Streaming è il modulo di Stream Processing costruito sul motore Spark SQL. In poche parole garantisce l'esecuzione di un messaggio esattamente una volta, è scalabile e fault-tolerant. È possibile definire le analisi stream nello stesso modo in cui si definirebbe un calcolo batch sui dati usando i Dataset/DataFrame API in Scala, Java, Python or R utilizzando l'engine SQL di Spark.
Durante la sessione vedremo un'overview delle funzionalità e un esempio di di come sia possibile eseguire l'ingestion dei dati con Event Hub (Kafka enabled) eseguire un'analisi con Spark e salvare i risultati su Cosmos DB.
This talk is a brief introduction to Elasticsearch. What is it ? How can I use it ? How can it be useful for my company or for my business ? (the slides are in ITALIAN)
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
Let's find out in this session how Azure Synapse Analytics, with its SQL Serverless Pool, ADX, Data Factory, Notebooks, Spark can be useful for managing data analysis in an IoT solution.
Descrizione delle principali tecnologie abilitanti alla gestione dei Big Data, con particolare attenzione all’ecosistema che gravita intorno al framework Hadoop di Apache.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
Who Controls the Internet? Illusions of a Borderless World di Jack Goldsmith ...Luca Marignati
Who Controls the Internet? Illusions of a Borderless World di Jack Goldsmith e Tim Wu
Corso di Etica, Società e Privacy
Laurea Magistrale: Intelligenza Artificiale e Sistemi Informatici "Pietro Torasso"
Dipartimento di Informatica, Torino
Corso di Etica, Società e Privacy
Laurea Magistrale: Intelligenza Artificiale e Sistemi Informatici "Pietro Torasso"
Dipartimento di Informatica, Torino
Programming of intelligent agents
Topic: Auction (upward price)
Protocol: Contract Net
exchange of messages (with appropriate performances): CFP, INFORM, PROPOSE, REFUSE
Platform: JADE
Agents: Auctioneer (offers an asset for sale at an initial price), Bidders (want to buy the asset at a minimum price)
Dal modello a memoria condivisa al modello a rete, impossibilità del consenso...Luca Marignati
Computer Science Department in Turin
Concurrent Models and Distributed Algorithms
Artificial Intelligence course
TeamWork
Obiettivi
1. Dimostrare come viene ereditato il teorema di impossibilità del consenso dal sistema a memoria condivisa al sistema a rete;
2. Fornire una soluzione di tipo probabilistica al problema del consenso nei sistemi asincroni: Algoritmo di BenOr
3. Dimostrarne la correttezza.
Presentazione Tesi Laurea Triennale in InformaticaLuca Marignati
Università degli Studi di Torino
Dipartimento di Informatica
Titolo: Apprendimento per Rinforzo e Applicazione ai Problemi di Pianificazione del Percorso
Topic: Machine Learning
8. Main folder
•E.g. Anger, Anticipation, conScore, etc.archivi_risorse_lessicali
•Initial DATASET (e.g. dataset_dt_anger_60k.txt, etc.)twitter_message
•Wordcloud (MySQL)
•4 for each emotion: word + hashtag + emoji + emoticonsimg
•Wordcloud (Mongo collection)
•4 for each emotion: word + hashtag + emoji + emoticonsimg_mongo
•PRE-LOAD DB: results of ELABORATION.PY (NLTK)
•4 for each emotion: word + hashtag + emoji + emoticonsresult_count
•Mongo elaborationMongo
9. Main file (1/2) - MySQL
•INPUT: twitter message
•processing twitter message (string + nltk operation) + frequency count
•save to local array/dictionary (emoji, emotions, hashtag, word)
•OUTPUT: save local array/dictionary to file into folder «result_count»
ELABORATION.PY
•INPUT: read file from folder «result_count»
•OUTPUT: insert data to db («emotion»)
•Table = "anger", "anticipation", "disgust", etc.
DB_LOAD.PY
•INPUT: read file from folder «lexical resources»
•OUTPUT: Update table ("anger", "anticipation", "disgust”, etc.)
•boolean values (emo_sn, …) + conScore (afinn, ...) + Neg/Pos (gi_neg, …)
DB_LEXICAL.PY
10. Main file (2/2) - MySQL
•INPUT: «select sum from DB_NAME where (emo_sn = 1 or nrc = 1)»
•average calculation
•OUTPUT: save to file «frequency.txt»
FREQUENCY_COUNT.PY
•INPUT: read result count (e.g anger_emoji.txt, etc.)
•Create wordcloud IMG
•OUTPUT: save file to folder «wordcloud»
•4 for each emotion: word + hashtag + emoji + emoticons
WORDCLOUD_FROM_FILE.PY
11. Elaboration.py (1/3) – example
Processing twitter message
(pretty legit) 👌 ❤ 😍 :) @ atm the DISNEY gallery URL #nofilter
(pretty legit) 👌 ❤ 😍 :) @ atm the DISNEY gallery #nofilter
(pretty legit) 👌 ❤ 😍 :) @ atm the DISNEY gallery
(pretty legit) @ atm the DISNEY gallery
pretty legit @ atm the DISNEY gallery
pretty legit @ atm the disney gallery
Example (step by step):
12. Elaboration.py (2/3) – example
Processing twitter message
pretty legit @ atm the disney gallery
['pretty', 'legit', '@’, ‘atm’, 'the', 'disney', 'galleries']
['pretty', 'legit', '@’, ‘at the moment’, 'the', 'disney', 'galleries ']
[('pretty', 'RB'), ('legit', 'JJ'), ('@', 'NNP’),
('at the moment', 'VBD’), ('the', 'DT’),
('disney', 'NN'), ('galleries ', ‘NNS')]
TAG PART OF SPEECH (POS)
JJ adjective
NNP proper noun
VBD verb, past tense took
DT determiner
NNS noun, plural
RB adverbvery, silently
['pretty', 'legit', '@', 'at the moment', 'the', 'disney', 'gallery']
19. CLUSTER ARCHITECTURE (1/3)
MONGOS ROUTER
Router/balancer;
Interfaccia alle applicazioni client;
Le applicazioni esterne non devono preoccuparsi dell’architettura del sistema, ma
possono solamente connettersi a questo nodo come se fosse un semplice database
MongoDB;
Tutte le query e le operazioni di scrittura vengono quindi inviate ai nodi router, che le
smistano al cluster.
20. CLUSTER ARCHITECTURE (2/3)
CONFIG SERVERS (MONGOD)
Contiene informazioni sull’architettura del cluster;
Si occupa della distribuzione, del reperimento dei dati e dello smistamento
delle operazioni (a quale nodo inviare le richieste di lettura e di scrittura)
Nota: per le architetture di produzione, si raccomanda di utilizzarne almeno tre nodi di tipo config servers.
Utilizzarne uno solo è infatti un pericolo, perché in caso di guasto tutto il cluster diventa inutilizzabile.
45. PROPERTY MySQL MongoDB
Modello dei dati • Struttura dati fissa;
• Adatto per una struttura di dati
che non cambierà nel tempo;
• Si creano le tabelle richieste, le
colonne e si specifica il tipo di
dati per ogni colonna;
• Lo schema fisso comporta la
presenza di valori NULL;
• Prima di poter memorizzare i
dati, è necessario definire
tabelle e colonne.
• Flessibilità e dinamicità dello schema;
• Struttura KEY-VALUE;
• Possibilità di annidamenti (nested);
• I singoli documenti hanno una propria
struttura, che può essere diversa dagli
altri → in ogni momento è possibile
creare nuovi campi con un valore
qualsiasi.
Ricerca dei dati • Utilizzo dell’operatore JOIN che
permette di combinare dati da più
tabelle;
• Le FOREIGN KEY consentono di
creare relazioni tra tabelle;
• Una ricerca efficace richiede una
conoscenza approfondita del
modello dei dati di riferimento.
• Grazie all’annidamento (nested) tutti i
dati necessari sono presenti in un solo
documento.
• L’assenza di operazioni di JOIN tra i
documenti comporta performance più alte
per i tempi di risposta.
Conclusions (1/2)
46. PROPERTY MySQL MongoDB
Vincoli e
integrità dei dati
• Non accetta alcun tipo di dato
che non rispetti la strutture
imposta dal programmatore.
• Non esiste un vincolo sul tipo di dato.
• Svantaggio: non essendoci dei controlli
sull’integrità dei dati, il compito ricade
totalmente sull’applicativo che dialoga col
database.
Scalabilità • Scalabilità verticale;
• A fronte di un maggiore carico di
lavoro si procede a incrementare
l’hardware sulle macchine
server;
• La replica e il clustering sono
disponibili, ma comportano
complessità implementativa.
• Scalabilità orizzontale → caratteristica
importante per i Big Data;
• Consente di distribuire i dati e le
operazioni su macchine differenti al fine
di parallelizzare le operazioni;
• È possibile configurare più nodi che si
replicano automaticamente senza un
singolo punto di errore, cosi da evitare
che il crash di un server porti
all’interruzione del servizio;
• Elevata scalabilità e disponibilità dei dati.
Conclusions (2/2)