Crea nuove feature dal testo

Sentiment Analysis con Python

Violeta Misheva

Data Scientist

Obiettivo del video

 

Obiettivo: arricchire il dataset con feature dalla colonna di testo (cogliendo il sentiment)

Sentiment Analysis con Python

Dati delle recensioni di prodotto

reviews.head()

prime 5 righe delle recensioni di prodotti Amazon

Sentiment Analysis con Python

Feature dalla colonna delle recensioni

 

  • Quanto è lunga ogni recensione?
  • Quante frasi contiene?
  • Quali parti del discorso compaiono?
  • Quanti segni di punteggiatura?
Sentiment Analysis con Python

Tokenizzare una stringa

from nltk import word_tokenize
anna_k = 'Happy families are all alike, every unhappy family is unhappy in its own way.'
word_tokenize(anna_k)

['Happy','families','are', 'all','alike',',',
 'every','unhappy', 'family', 'is','unhappy','in',
 'its','own','way','.']
Sentiment Analysis con Python

Token dalla colonna

# Forma generale della list comprehension
[expression for item in iterable]
word_tokens = [word_tokenize(review) for review in reviews.review]
type(word_tokens)
list
type(word_tokens[0])
list
Sentiment Analysis con Python

Token dalla colonna

len_tokens = []

# Itera sulla lista word_tokens
for i in range(len(word_tokens)):
     len_tokens.append(len(word_tokens[i]))

# Crea una nuova feature per la lunghezza di ogni recensione
reviews['n_tokens'] = len_tokens
Sentiment Analysis con Python

Gestire la punteggiatura

  • Non l'abbiamo gestita, ma puoi escluderla
  • Una feature che misura il numero di segni di punteggiatura
    • Una recensione con molta punteggiatura può indicare un'opinione molto carica emotivamente
Sentiment Analysis con Python

Recensioni con feature di lunghezza

reviews.head()

prime 5 righe delle recensioni Amazon, inclusa la colonna aggiunta con la lunghezza della recensione

Sentiment Analysis con Python

Esercitiamoci!

Sentiment Analysis con Python

Preparing Video For Download...