Text mining e sentiment analysis con R
4.7 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
80 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Text mining e sentiment analysis con R to your Wishlist.

Add to Wishlist

Text mining e sentiment analysis con R

Una guida al text mining e alla sentiment analysis con R in lingua italiana
4.7 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
80 students enrolled
Created by Valentina Porcu
Last updated 4/2017
Italian
Current price: $10 Original price: $185 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 7 hours on-demand video
  • 1 Article
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Analizzare e trattare testi tramite le funzioni base e tm
  • Standardizzare un testo
  • Applicare procedure supervisionate e non supervisionate a corpus di documenti
  • Estrarre e analizzare tweet
  • Utilizzare varie stringhe e pacchetti per la gestione dei testi in R
  • Creare word cloud e rappresentazioni grafiche di documenti
  • Analizzare il sentiment di un testo con metodi supervisionati e non
  • Effettuare alcune analisi qualitative con RQDA
View Curriculum
Requirements
  • Nozioni introduttive su R
Description

Questo corso è dedicato a chi si avvicina al mondo del text mining e della sentiment analysis per la prima volta, pur avendo delle basi di programmazione e analisi dati con R. Non si tratta di un corso divulgativo generico sul text mining e sulla sentiment analysis, ma di un corso che vuole spiegare le basi dell'analisi dei testi tramite il linguaggio di programmazione R. 

Se non sai ancora programmare con R, purtroppo questo corso non è quello giusto per te, ma puoi dare un'occhiata al mio corso base. 

Se invece stai cercando esempi e casi per capire in maniera semplice le tecniche base per effettuare un'analisi di text mining o scoprire il sentiment dei tuoi testi con R, sei nel posto giusto. R è uno dei linguaggi di programmazione più diffusi quando si parla di analisi dati, e comprende una serie di pacchetti e funzioni che possono aiutarci sia nel text mining descrittivo che nel text mining predittivo.

Il text mining descrittivo "descrive" un testo a partire dalle parole che lo compongono, mentre il text mining predittivo utilizza le caratteristiche di un gruppo di testi per effettuare delle predizioni, ad esempio se un'email è spam o no, oppure se un testo è stato scritto o meno da un autore, oppure, per tornare alla sentiment analysis, se un commento è positivo o negativo.

Per prima cosa partiamo capendo come mai il text mining e la sentiment analysis sono tanto importante, e quali sono gli usi che se ne fanno, e le lingue più analizzate (spoiler: c'è anche l'italiano).

Analizzare un testo non è come analizzare un dataset: il testo va prima trasformato in qualcosa che il computer possa capire: imparerai quindi le tecniche più importanti per sintetizzare un testo, preprocessarlo, normalizzarlo e rappresentarlo. 

Imparerai poi a importare un documento o un corpus in R, preprocessarlo e analizzarlo, creando anche delle rappresentazioni grafiche.

Oltre al pacchetto base ci sono molti pacchetti per il text mining: il più importante per le analisi di base è di sicuro tm. 

Una volta chiarite queste parti introduttive, ci dedichiamo alle tecniche di machine learning applicate al text mining, che ci permettono a partire da un corpus o da un testo, di effettuare delle predizioni.

Uno degli strumenti per l'analisi più interessante è Twitter: in questo corso imparerai a estrarre dei tweet e ad analizzarli. Oltre ai pacchetti per il trattamento testi, come tm, e per l'estrazione dati, esistono ancora moltissimi pacchetti per il text mining che imparerai a utilizzare con questo corso, non solo per il text mining ma anche per la sentiment analysis. Vedremo quindi, dato un testo, come predire in maniera automatica tramite varie tecniche di machine learning, se il testo è positivo o negativo, tramite metodi supervisionati e non supervisionati. 

Il corso si chiude con una parte sulla rappresentazione grafica dei testi e alcuni cenni sui metodi di analisi qualitativa CAQDAS.


***Attenzione, questo corso al momento non comprende una parte relativa agli esercizi, che sarà aggiunta a breve con modalità che saranno chiarite nella Bonus Section

Who is the target audience?
  • Studenti con almeno alcune nozioni introduttive su R
Students Who Viewed This Course Also Viewed
Curriculum For This Course
115 Lectures
07:03:57
+
Introduzione al corso
9 Lectures 41:57

Introduzione al text mining e agli argomenti del corso. Perché è importante analizzare i testi, come è possibile utilizzare il text mining, quali sono le lingue più analizzate e i settori di punta

Preview 18:53

R non è l'unico software per il text mining. Vediamo una veloce panoramica degli strumenti per più utilizzati

I software per il text mining
02:05

La non strutturazione dei testi è solo uno dei problemi nell'analisi dei testi, un ambito in cui la ricerca ha ancora molti problemi da risolvere: la presenza (e talvolta la compresenza) di molte lingue, la polisemia, le problematiche specifiche di ogni lingua

I problemi nel trattamento del linguaggio
06:50

Uno dei problemi più importanti del machine learning è quello dell'overfitting, l'eccessiva aderenza di un modello ai dati sui quali è stato costruito, a cui segue l'impossibilità di generalizzare su altri dati

Overfitting
02:44

La cross validation è una tecnica di validazione dei modelli predittivi che permette di vedere quanto bene generalizzano

Cross-validation
02:04

Esistono molte tecniche per trattare un testo prima che esso sia sottoposto alle procedure di analisi

Tipi di strutture per l'analisi
02:47

La tecnica che utilizziamo maggiormente ai fini di questo corso è la "bag-of-words", in cui riduciamo un testo alla frequenza delle parole che lo compongono, senza che sia importante il loro ordine

Approcci all'analisi dei testi
01:28

Vediamo alcuni passi fondamentali per impostare il nostro ambiente di lavoro su RStudio prima di iniziare le analisi vere e proprie

Per semplificare le analisi in R
05:04

Questa lettura contiene il codice utilizzato nel corso di text mining e sentiment analysis in lingua italiana

Codice
00:02
+
Introduzione al text mining
20 Lectures 42:22

Cominciamo a vedere le fasi di analisi di un testo, che va prima strutturato per l'analisi

Per iniziare
01:35

Il trattamento di un testo comincia con le fasi di standardizzazione e preprocessing

Standardizzazione o preprocessing
03:09

La prima fase è la tokenizzazione, in cui riduciamo un documento alla lista di parole che lo compongono

Tokenizzazione
01:42

La maggior parte delle parole di un testo sono congiunzioni, preposizioni, avverbi, e in generale elementi di contorno al significato vero e proprio. Dobbiamo eliminarle prima di procedere con l'analisi vera e propria

Stopwords
01:09

Tramite lo stemming riduciamo una parola dalla sua forma flessa alla sua radice

Stemming
00:58

Vediamo un esempio di stemming con uno dei pacchetti di R

Stemming con R
02:01

La lemmatizzazione permette di ridurre una forma flessa di una parola nel suo lemma

Lemmatizzazione
00:34

La normalizzazione include la rimozione ad esempio di errori di battitura, e la conversione delle parole in minuscolo, ma dipende fortemente dal tipo di analisi che andiamo a fare

Normalizzazione
01:00

La fase di preprocessing di un testo richiede di determinarne i limiti delle parole. In italiano, e in generale nelle lingue più analizzate, i limiti di una parola sono semplicemente gli spazi, ma in alcune lingue ad esempio non esistono spazi tra una parola e l'altra

Boundary detection
01:12

Per analizzare un testo utilizziamo la vettorializzazione, che consiste nel rappresentare un documento come un vettore in cui gli elementi del vettore indicano il numero di occorrenze della parola nel testo

Vector-space model
02:44

Il modello della borsa di parole, o bag of words, è uno dei metodi che ci permettono di rappresentare e analizzare un testo in base alle parole che lo compongono, senza quindi preoccuparci della parte sintattica. Una volta creati due vettori di parole per due documenti differenti, possiamo misurare la distanza tra i due documenti tramite coseno

Bag of words e distanza tramite coseno
05:19

Il TF-IDF sta per term frequency - inverse document frequency. Il TF, o term frequency, misura la densità delle parole in un documento, mentre l’IDF, o inverse document frequency misura l’importanza di una parola rispetto al corpus (quanto più una parola è comune e tanti documenti, tanto meno sarà importante)

TF-IDF
02:20

Abbiamo visto come per effettuare delle analisi sui testi, scomponiamo un documento nelle parole che lo compongono. Talvolta, invece delle parole singole, possiamo utilizzare brevi sottosequenze composte da due o tre parole: gli ngram

N-gram
02:45

Per computare la distanza tra due testi possiamo usare il coseno, ma anche tutta una serie di indici, come la distanza di Levenshtein, la distanza di Jaccard, eccetera

Computazione della distanza
01:13

La funzione adist() ci permette di computare la distanza su R tramite varie metriche

La distanza in R
02:12

Le espressioni regolari sono dei pattern che permettono di descrivere delle stringhe generiche, e quindi a rendere più potente la ricerca e l'analisi all'interno dei testi: possiamo ad esempio identificare un pattern che individui tutti i numeri di telefono, tutte le email, e così via

Espressioni regolari
05:13

La leggibilità indica la complessità di un testo, e quindi la facilità di comprensione del significato di quel testo specifico in una determinata lingua. Esistono molti indici di leggibilità di un testo, e si differenziano tra le altre cose anche per la lingua di cui misurano la leggibilità.

Indici di leggibilità di un testo
02:12

Il parsing semantico, o POS, è il processo che permette di analizzare, a partire da un testo, la sua struttura in termini di frasi, periodi e paragrafi, e in termini di componenti quali soggetti, verbi, complementi.

Parts-of-Speech - POS
01:46

Il parsing permette di partire da una grammatica formale, e associare a una frase, una struttura ad albero in cui ogni foglia è un elemento della frase (soggetto, verbo, complemento)

Parsing
00:59

Named Entity Recognition e Information Extraction identificano i processi di individuazione e di estrazione automatica di nomi, oggetti e luoghi da grandi collezioni non strutturate di documenti

Named Entity Recognition e Information extraction
02:19
+
Introduzione al text mining con R base
13 Lectures 32:29

Cominciamo  a vedere come analizzare dei testi in R. In questa sezione utilizziamo le funzioni di base 

Manipolazione testi
01:03

Importazione di dati testuali tramite le funzioni base
03:00

Preprocessing con le funzioni base di R
01:05

Riduzione in lettere minuscole
01:48

Riduzione a singoli token
03:14

Rimozione degli spazi bianchi
02:40

Subsetting
01:30

Primi elementi di analisi
03:23

La funzione grep()
00:41

Rimozione delle stopwords
04:56

Rappresentazione grafica
01:49

Clustering sui testi
03:44

Importazione di cartelle e corpus
03:36
+
Introduzione al pacchetto tm
7 Lectures 29:20
Il pacchetto tm
01:16

Importazione dati
04:42

Pulizia e analisi del testo con tm
06:53

Importazione di un corpus di documenti
02:56

Analisi di base di un corpus
05:02

Creare le matrici
01:05

Esempio di regressione logistica sui testi con R
07:26
+
Algoritmi per il text mining
26 Lectures 02:02:30
Algoritmi per l'analisi dei testi
05:26

Analisi di regressione
03:19

La regressione logistica
01:53

Metodi supervisionati
02:36

K-nearest neighbors
04:43

Esempio di knn su un testo
09:03

Support Vector Machine
03:37

Esempio di SVM sui testi
02:56

Alberi di decisione
10:15

Alberi di decisione con R - pacchetto rpart
04:32

Network Neurali
09:40

Il calcolo delle probabilità
09:18

Alcuni cenni di calcolo combinatorio
03:10

La probabilità condizionata
02:15

Il teorema di Bayes
03:15

Naive Bayes
03:46

Naive Bayes sullo spam
10:04

Metodi non supervisionati
01:20

Hand-written rules
01:26

Clustering
05:42

Clustering sui testi
06:47

Modelli markoviani
04:40

LDA e topic models
02:09

Topic models in R
06:15

Analisi in Componenti Principali
03:50

Expectation Maximization
00:33
+
Qualche esempio con Twitter
4 Lectures 25:01
Creazione di un account su Twitter
03:03

Il pacchetto twitteR
07:38

Il pacchetto rtweet
07:05

Analisi sui tweet con il pacchetto tm
07:15
+
Altre funzioni per le stringhe
8 Lectures 20:14
Funzioni per le stringhe
00:46

La famiglia grep*
05:43

strsplit()
00:45

match()
00:45

substr()
00:35

paste()
02:07

gsub()
06:19

Il pacchetto stringr
03:14
+
Altri pacchetti per il text mining
8 Lectures 32:20
Altri pacchetti per il text mining
01:19

Il pacchetto tau
02:55

Il pacchetto textcat
03:17

Il pacchetto qdap per la pulizia dei testi
05:19

Il pacchetto koRpus
02:46

text2vec
06:36

Natural Language Processing
05:41

Calcolo degli N-gram
04:27
+
Visualizzazione dei dati testuali
5 Lectures 10:10
Visualizzazione dati testuali
02:05

Creazione di wordcloud
02:10

Creazione di wordcloud su corpus di documenti
02:26

Creazione di piramidi polarizzate
02:01

Rappresentare i cluster
01:28
+
Sentiment Analysis
12 Lectures 55:27
Introduzione alla Sentiment Analysis
04:22

Sentiment Analysis - metodi non supervisionati
06:13

Sentiment - pacchetto syuzhet
04:21

Sentiment - qdap
03:45

Sentiment - sentR
02:59

Sentiment - sentimentr
05:33

Sentiment Analysis - metodi supervisionati
01:06

Naive Bayes e Sentiment
02:11

Esempio di classificazione NB con R
08:32

Sentiment - RTextTools
11:38

Problemi della Sentiment Analysis
02:02

Fonti dati per la Sentiment Analysis
02:45
2 More Sections
About the Instructor
Valentina Porcu
4.4 Average rating
179 Reviews
2,764 Students
9 Courses
Data Scientist

I'm a computer geek, data mining and research passionate, with a Ph.D in communication and complex systems and years of experience in teaching in Universities in Italy, France and Morocco, and online, of course!

I work as consultant in the field of data mining and machine learning and I like writing about new technologies and data mining.

I spent the last 9 years working as freelance and researcher in the field of social media analysis, benchmark analysis and web scraping for database building, in particular in the field of buzz analysis and sentiment analysis for universities, startups and web agencies across UK, France, US and Italy.