Tworzenie nowych cech z tekstu

Analiza sentymentu w Pythonie

Violeta Misheva

Data Scientist

Cel lekcji

 

Cel: Wzbogacenie istniejącego zbioru danych o cechy związane z kolumną tekstową (odzwierciedlające sentyment)

Analiza sentymentu w Pythonie

Dane z recenzjami produktów

reviews.head()

5 pierwszych wierszy recenzji produktów Amazon

Analiza sentymentu w Pythonie

Cechy z kolumny recenzji

 

  • Jak długa jest każda recenzja?
  • Ile zawiera zdań?
  • Jakie części mowy są używane?
  • Ile znaków interpunkcyjnych?
Analiza sentymentu w Pythonie

Tokenizacja ciągu znaków

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','.']
Analiza sentymentu w Pythonie

Tokeny z kolumny

# General form of 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
Analiza sentymentu w Pythonie

Tokeny z kolumny

len_tokens = []

# Iterate over the word_tokens list
for i in range(len(word_tokens)):
     len_tokens.append(len(word_tokens[i]))

# Create a new feature for the length of each review
reviews['n_tokens'] = len_tokens
Analiza sentymentu w Pythonie

Praca ze znakami interpunkcyjnymi

  • Nie omówiliśmy tego, ale można to wykluczyć
  • Cecha mierząca liczbę znaków interpunkcyjnych
    • Wiele znaków interpunkcyjnych może wskazywać na emocjonalną opinię
Analiza sentymentu w Pythonie

Recenzje z cechą długości

reviews.head()

5 pierwszych wierszy recenzji produktów Amazon z dodaną kolumną długości recenzji

Analiza sentymentu w Pythonie

Czas na ćwiczenia!

Analiza sentymentu w Pythonie

Preparing Video For Download...