TEORIE E TECNICHE DEL RICONOSCIMENTO

Slides:



Advertisements
Presentazioni simili
Macchine di Percezione
Advertisements

Termodinamica Chimica
DTD Document Type Definition per XML
Sistemi di Classificazione usando NCD
2.VARIABILI CONTINUE A. Federico ENEA; Fondazione Ugo Bordoni Scuola estiva di fonetica forense Soriano al Cimino 17 – 21 settembre 2007.
Riconoscimento di forme
Classificatore bayesiano
Sistemi di supporto alle decisioni 2. Features space
Apprendimento Automatico: Apprendimento Bayesiano
Apprendimento Automatico: Apprendimento Probabilistico Roberto Navigli 1 Apprendimento Automatico: Apprendimento Bayesiano.
Apprendimento Automatico: Elaborazione del Linguaggio Naturale
Apprendimento Bayesiano
Valutazione delle ipotesi
Computational Learning Theory and PAC learning
Metodi di Ensemble Metaclassificatori.
Support Vector Machines
Apprendimento Bayesiano
CAMPIONAMENTO Estratto dal Cap. 5 di:
Università degli studi La Sapienza CLS Ingegneria Informatica a.a. 2007/2008 Visione e Percezione Face Recognition Studenti: Andrea Pennisi Daniele Perrone.
Apprendimento di movimenti della testa tramite Hidden Markov Model
Waikato Environment for Knowledge Analysis
Modelli probabilistici
PATTERN RECOGNITION.
Analisi di un dataset di perizie assicurative
Learning finite Mixture-Models
Bayesian Learning Martedì, 16 Novembre 2004 Giuseppe Manco Readings: Sections , Mitchell Chapter 2, Bishop Chapter 4, Hand-Mannila-Smith Bayesian.
Intelligenza Artificiale
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
Software per il b-tagging Gabriele Segneri Firenze, 16 Gennaio 2003.
REGOLE DEL CALCOLO DELLE PROBABILITA’
Descrizione Semantica ad Alto Livello di Ambienti Virtuali in X3D
UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI INGEGNERIA   CORSO DI LAUREA IN INGEGNERIA ELETTRONICA Dipartimento di Ingegneria Elettrica Elettronica e.
Semi-Supervised Learning
Le distribuzioni campionarie
Tecniche descrittive Utilizzano modelli matematici per semplificare le relazioni fra le variabili in studio Il fine è la descrizione semplificata del fenomeno.
Enver Sangineto, Dipartimento di Informatica Annotazione Automatica di materiale multimediale.
Probabilità probabilità Probabilità totale
Test parametrici I test studiati nelle lezioni precedenti (test- t, test-z) consentono la verifica di ipotesi relative al valore di specifici parametri.
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
Metaclassificazione Giovedì, 18 novembre 2004 Francesco Folino ( Combinare Classificatori Lecture 8.
ODMG. L’ODMG L’Object Data Management Group è un consorzio di produttori di ODBMS che ha proposto uno standard per: il modello a oggetti il linguaggio.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
TEORIE E TECNICHE DEL RICONOSCIMENTO
Lezione B.10 Regressione e inferenza: il modello lineare
SONIA: A Service for Organizing Networked Information Autonomously Stud. Davide D’Alessandro Prof. Amedeo Cappelli Seminario di ELN – A.A. 2002/2003.
Linguistica computazionale: task sul linguaggio naturale Cristina Bosco 2015 Informatica applicata alla comunicazione multimediale.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
DATA MINING.
TEORIE E TECNICHE DEL RICONOSCIMENTO
TEORIE E TECNICHE DEL RICONOSCIMENTO Python: Dizionari.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
TEORIE E TECNICHE DEL RICONOSCIMENTO
Linguistica computazionale: come accedere all’informazione codificata nel linguaggio naturale (seconda parte) Cristina Bosco 2014 Informatica applicata.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Laboratorio di R 2° Lezione: stima puntuale ed intervalli di confidenza 5 Maggio 2007 Dott.ssa Michela Cameletti.
Dispositivi Mobili per Sentiment Analysis
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Operazioni di campionamento CAMPIONAMENTO Tutte le operazioni effettuate per ottenere informazioni sul sito /area da monitorare (a parte quelle di analisi)
Stima back of envelope dell’efficienza di segnale per particelle di carica frazionaria e reiezione del bkg – Segnale muon-like con ionizzazione media (1/3)^2.
LINKED OPEN DATA APPLICATI: SENTIMENT ANALYSIS 1 Opinion Extraction Opinion Mining Sentiment Mining Subjectivity Analysis La Sentiment Analysis misura.
1 DISTRIBUZIONI DI PROBABILITÁ. 2 distribu- zione che permette di calcolare le probabilità degli eventi possibili A tutte le variabili casuali, discrete.
Introduzione a Weka Di Fabio Cassano
ELEMENTI DI CALCOLO DELLE PROBABILITA’. Evento Aleatorio Un evento si dice aleatorio se può o non può verificarsi (Alea in greco vuol dire dado)
#sqlsatTorino #sqlsat400 May 23, 2015 AzureML - Creating and Using Machine Learning Solutions Davide
Scienze tecniche e psicologiche
Semi-Supervised Text Classification Using EM. Visione della Probabilità 2 VISIONI VISIONE CLASSICA O FREQUENTISTA VISIONE SOGGETTIVA O BAYESIANA.
Un evento è un fatto che può accadere o non accadere. Se esso avviene con certezza si dice evento certo, mentre se non può mai accadere si dice evento.
Stima della qualità dei classificatori per l’ analisi dei dati biomolecolari Giorgio Valentini
Transcript della presentazione:

TEORIE E TECNICHE DEL RICONOSCIMENTO Apprendimento automatico Sentiment analysis in SciKit-Learn

REMINDER 1: SENTIMENT ANALYSIS (o opinion mining) Identifica il ‘sentimento’ che un testo esprime Sentiment Analysis Positive Negative Neutral

SENTIMENT ANALYSIS COME CLASSIFICAZIONE DI TESTI Treat sentiment analysis as a type of classification Use corpora annotated for subjectivity and/or sentiment Train machine learning algorithms: Naïve bayes Decision trees SVM … Learn to automatically annotate new text

SENTIMENT ANALYSIS DI TWEETS

EASIER AND HARDER PROBLEMS Tweets from Twitter are probably the easiest short and thus usually straight to the point Reviews are next entities are given (almost) and there is little noise Discussions, comments, and blogs are hard. Multiple entities, comparisons, noisy, sarcasm, etc

REMINDER 2: NAÏVE BAYES Metodi Bayesiani: decisione su classificazione basata su un modello PROBABILISTICO che coniuga uso di informazioni A PRIORI ed A POSTERIORI come nella regola di Bayes Metodi NAÏVE BAYES: si fanno assunzioni che semplificano molto il calcolo delle probabilità

CLASSIFICAZIONE DI TESTI USANDO NAÏVE BAYES Attributes are text positions, values are words.

DATASET Diversi dataset di tweets annotati con sentiments P.e. SEMEVAL-2014 In questo studio: il dataset di Nick Sanders Totale 5000 Tweets Annotati con classi positive / negative / neutral / irrelevant Script per scaricarsi I tweets a partire dalle ID

Naïve Bayes per sentiment analysis: un esempio Supponiamo che il nostro training set consista di 6 tweets, che contengono solo le parole ‘awesome’ e ‘crazy’, e che sono stati classificati come segue:

Esempio, con’t I priors saranno quindi come segue: Ora calcoliamo le likelihoods per `awesome’

Ancora l’esempio Le altre likelihoods: Evidence (= il denominatore)

Classificazione dei tweets che ne risulta

Due problemi Probabilita’ 0 Underflow

Cosa fare con gli zeri Anche un corpus di grandi dimensioni rimane sempre un campione molto limitato dell’uso del linguaggio, in cui molte parole anche di uso comune non occorrono Soluzione: SMOOTHING – distribuire la probabilita’ in modo da coprire tutti gli eventi In particolare, ADD ONE o LAPLACE smoothing

Underflow Le vere probabilita’ hanno valori molto bassi E quando si hanno molte features il prodotto delle loro probabilita’ diventa ancora piu’ basso Presto anche i limiti di NumPy vengono raggiunti

Esempio di underflow Supponiamo di avere 65 features, per ognuna delle quali P(F|C) e’ < 0.0001

Soluzione Rimpiazzare il prodotto delle probabilita’ con la SOMMA dei loro LOGARITMI

Un sentiment analyzer Naïve Bayes in SciKit-Learn La libreria sklearn.naive_bayes contiene implementazioni di tre classificatori Naïve Bayes: GaussianNB (quando le features hanno distribuzione Gaussiana, per esempio altezze, etc) MultinomialNB (quando le features sono delle frequenze di occorrenza di parole) BernoulliNB (quando le features sono boolean) Per sentiment analysis: MultinomialNB

Creazione del modello Le parole dei tweets sono usate come feature. Vengono estratte e pesate usando la funzione create_ngram_model create_ngram_model usa la funzione TfidfVectorizer del pacchetto feature_extraction di scikit learn per estrarre i termini dai tweets http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html create_ngram_model usa MultinomialNB per creare un classificatore http://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.MultinomialNB.html La funzione Pipeline di scikit-learn viene usata per combinare l’estrattore di features e il classificatore in un unico oggetto (un estimator) che puo’ essere usato per estrarre features dai dati, creare (‘fit’) un modello, e usare il modello per classificare http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html

Estrazione di termini dai tweets & classificazione Estrae features & le pesa Classificatore Naïve Bayes Pipeline

Addestramento e valutazione La funzione train_model Usa uno dei metodi nella libreria cross_validation di scikit-learn, ShuffleSplit, per calcolare i folds da usare nella cross validation Ad ogni iterazione della cross validation addestra un modello usando il metodo fit, poi valuta I risultati usando score

Creazione di un modello Determina gli indici nella in ogni fold Addestra il modello

Esecuzione e risultati

Ottimizzazione Il programma sopra usa I valori di default dei parametri di TfidfVectorizer e MultinomialNB Possibili varianti per Tfidf Vectorizer: Usare unigrammi, bigrammi, trigrammi (parametro Ngrams) Rimuovere stopwords (stop_words) Usare versione binomiale dei counts Possibili varianti per MultinomialNB: Che tipo di smoothing usare

Esplorazione dei parametri La ricerca dei valori migliori per I parametri e’ una delle operazioni standard in apprendimento automatico Scikit-learn, come anche Weka ed altri pacchetti simili, fornisce una funzione (GridSearchCV) che permette di esplorare i risultati ottenuti con valori diversi dei parametri

Ottimizzazione con GridSearchCV Notate la sintassi per specificare I valori dei parametri Funzione di smoothing Usa F measure come metro di valutazione

Ripulire i tweets: emoticons

Ripulire I tweets: abbreviazioni

Usare il preprocessing con TfidfVectorizer

Altri possibili miglioramenti Usare il POS tagger di nltk Usare un sentiment lexicon, per esempio SentiWordNet http://sentiwordnet.isti.cnr.it

Risultati complessivi

LETTURE

QUESTA LEZIONE Echert & Coelho, capitolo 6