Creați caracteristici noi din text

Analiza sentimentelor în Python

Violeta Misheva

Data Scientist

Obiectivul videoclipului

 

Obiectiv: Îmbogățiți setul de date existent cu caracteristici legate de coloana text (care surprind sentimentul)

Analiza sentimentelor în Python

Date despre recenziile de produse

reviews.head()

primele 5 rânduri ale recenziilor de produse Amazon

Analiza sentimentelor în Python

Caracteristici din coloana de recenzii

 

  • Cât de lungă este fiecare recenzie?
  • Câte propoziții conține?
  • Ce părți de vorbire sunt implicate?
  • Câte semne de punctuație?
Analiza sentimentelor în Python

Tokenizarea unui șir de caractere

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 sentimentelor în Python

Tokeni dintr-o coloană

# 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 sentimentelor în Python

Tokeni dintr-o coloană

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 sentimentelor în Python

Gestionarea punctuației

  • Nu am abordat acest aspect, dar îl puteți exclude
  • O caracteristică care măsoară numărul semnelor de punctuație
    • O recenzie cu multe semne de punctuație poate indica o opinie puternic emoțională
Analiza sentimentelor în Python

Recenzii cu o caracteristică pentru lungime

reviews.head()

primele 5 rânduri ale recenziilor de produse Amazon, inclusiv coloana adăugată pentru lungimea recenziei

Analiza sentimentelor în Python

Să exersăm!

Analiza sentimentelor în Python

Preparing Video For Download...