Stai utilizzando un browser vecchio, che non rispetta gli standard web. Ti consigliamo di cambiarlo, perché questo sito potrebbe non funzionare correttamente.

Text Mining e Sentiment Analysis with R

ICBG23

In: Data Science & Machine Learning

I dati testuali sono diventati ubiqui con la diffusione di Internet: le persone comunicano in genere in forma testuale, anche tramite i social network (FB, Twitter, ecc); i clienti postano sui siti le loro recensioni dei prodotti e commenti; e poi ci sono le pagine web personali, le email, i post, ecc. Google usa molta data science text-oriented, infatti, ed ogni buon sito web oggi deve offrire ai suoi utenti delle funzioni avanzate di web search di frasi. Text Mining (TM) e Sentiment Analysis (SA) aiutano a capire meglio i clienti ed aumentare le vendite.
L’analisi dei dati testuali richiede la conoscenza di tecniche di Machine Learning particolari, che sono illustrate in questo corso mediante l’uso di casi di studio, interamente implementati in codice. Il corso illustra anche come vettorizzare un testo preliminarmente (tramite la text preparation): sono mostrati i passi di base – sempre con il loro relativo codice - per trasformare un corpus testuale (non-strutturato) in un set di dati (strutturati) processabili da un algoritmo di Machine Learning.
Ampio spazio è dato anche all’analisi della “voce del cliente” (sentiment analysis), ovvero come i clienti di un’azienda percepiscono i suoi prodotti ed il suo brand (sui social media e sul web in generale).
Il taglio del corso è hands-on, tutti i temi ed i casi d’uso sono presentati con l’utilizzo di solo codice R (sia con le funzioni di R base che con i pacchetti più recenti ed efficienti); non si usano slide. I “testi” dei casi d’uso sono in italiano ed inglese, si mostrerà come elaborare testi anche in altre lingue.
È disponibile una versione del corso di 2 gg (con alcuni casi d’uso complessi in meno).

Contenuti

  • I principali scenari di utilizzo del TM e della SA;
  • Google News e Google Trends;
  • Introduzione ai pacchetti di R per TM/SA;
  • L’acquisizione del corpus documentale da http, email, tweet, zip file, directory, PDF, XML, json;
  • L’approccio “bag-of-words” applicato a semplici insiemi di frasi e paragrafi testuali (per iniziare);
    • I passi del text pre-processing (in italiano ed inglese): tokenization, rimozione delle stopword, riduzione a radice (stemming), lemmatizzazione, normalizzazione (riduzione a categoria), filtri di frequenza, de-sinonimizzazione, gestione maiuscole (case normalization), boundary detection; in generale, riduzione del vocabolario e del rumore;
    • La trasformazione di dati non-strutturati in dati strutturati (matrice termini-documenti);
    • Il calcolo della frequenza di un termine in un documento (TF) o dei documenti con quel termine (IDF) e come combinarle (TFIDF); regole pratiche;
    • Esercizi.
  • La variable selection per ridurre i vocabolari troppo ampi;
  • Tecniche di TM più sofisticate:
    • L’elaborazione dell’ordine delle parole tramite gli n-gram;
    • L’estrazione dei nomi (named entity extraction) di nomi, aziende, città e numeri;
    • Il part-of-speech tagging (etichettatura del testo);
    • L’estrazione dei principali concetti dai documenti testuali tramite il latent semantic indexing;
  • Un altro approccio al TM: la vettorizzazione dei token di un testo (one-hot encoding e word embedding) in input ad una rete neurale;
  • L’utilizzo più frequente del TM: la etichettatura (labelling) di un documento nuovo in base alle caratteristiche del corpus documentale;
  • La costruzione del modello predittivo tramite i termini/concetti estratti dai documenti testuali (classificazione, clustering, regressione) e la valutazione della sua accuratezza;
  • La sentiment analysis: come capire se un commento/recensione del cliente è positivo o negativo;
  • La sentiment analysis: come capire se la percezione del brand tra i clienti è positiva o negativa;
  • La sentiment analysis con approccio lessicale (con lessici italiani);
  • SA di base (la polarità di un testo) vs SA avanzata (gli stati emotivi del cliente)
  • La visualizzazione dei dati testuali: word clouds, polarized tag clouds, word trees, phrase nets;
  • Un passo oltre: la “comprensione” di un documento testuale (nella sua grammatica e sintassi) tramite la NLP (cenni);
  • Scalare il TM/SA su petabyte di testo con Hadoop: cenni;
  • TM/SA con tidy data: cenni;
  • Errori frequenti e tipici nell’applicazione del TM/SA al business;
  • Limiti degli attuali algoritmi di TM/SA e sfide per il futuro.

Il corso affronterà anche alcuni casi d’uso più complessi:

  • La funzione di search (di frasi semplici o complesse) nelle pagine di un sito web,tramite la cosine similarity ed il Latent Semantic Indexing;
  • Analisi testuale e social dei tweet: estrazione on-line da Twitter (o da file), parsificazione dei tweet e riduzione a radici (stemming), creazione della matrice tweet-parole (con le frequenze di occorrenza) e sua eventuale riduzione (resizing), identificazione di parole popular e di associazioni frequenti e loro visualizzazione, produzione della “nuvola di parole” (grafica) con l’importanza delle parole, ricerca e visualizzazione dei gruppi di parole e dei gruppi di tweet (clustering), network analysis dei tweet e delle parole dei tweet e loro visualizzazione grafica avanzata ed interattiva;
  • Sentiment analysis di una serie di recensioni prodotti, di commenti e di domande/risposte dei clienti su un sito e-commerce, con vari pacchetti R a confronto;
  • Lo stato dell’arte della SA: la classificazione di una recensione di prodotto (testuale) in positiva o negativa, tramite una rete neurale;
  • Analisi rapida delle news dell’agenzia Reuters relative ad una specifica azienda, citata direttamente (es. rapporti ricavi, annunci di fusioni/acquisizioni, ecc) od indirettamente (rapporti settimanali di settore, liste titoli in crescita, trend di mercato, ecc): preparazione testuale (eliminazione dei tag html, text-case normalization), creazione del vocabulary e degli score di frequenza TFIDF, clustering (con dendogramma) delle storie simili e loro interpretazione;
  • Classificazione di una news Reuters con una rete neurale;
  • Previsione dei trend dei prezzi delle azioni tramite le news finanziarie in tempo reale (ad es. annunci di acquisizione, rapporti trimestrali, modifiche normative, pubblicazione di bilanci, market commentary, ecc);
  • Classificazione di una email come spam oppure no, tramite naive bayes ed evidence lift e tramite cubic spline, alberi e boosting;
  • Classificazione di pubblicità inserita da utenti su un sito come rilevante oppure no, tramite la regressione logistica;
  • Analisi costi-benefici di una strategia di trading tramite maching learning testuale.

Durata

  • 21 ore
  • 3 giorni

Prerequisiti

Conoscenza di base del linguaggio R.

Solo su richiesta

Questo corso è erogabile solo su richiesta, in modalità on-line (con formazione a distanza), oppure on-site, sempre personalizzati secondo le esigenze.

Richiesta informazioni