Nieuwe features uit tekst bouwen

Sentimentanalyse in Python

Violeta Misheva

Data Scientist

Doel van de video

 

Doel: het bestaande dataset verrijken met features uit de tekstkolom (die het sentiment vangen)

Sentimentanalyse in Python

Data van productreviews

reviews.head()

top 5 rijen van de Amazon-productreviews

Sentimentanalyse in Python

Features uit de reviewkolom

 

  • Hoe lang is elke review?
  • Hoeveel zinnen bevat die?
  • Welke woordsoorten komen voor?
  • Hoeveel leestekens?
Sentimentanalyse in Python

Een string tokenizen

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','.']
Sentimentanalyse in Python

Tokens uit een kolom

# 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
Sentimentanalyse in Python

Tokens uit een kolom

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
Sentimentanalyse in Python

Omgaan met leestekens

  • We hebben het niet behandeld, maar je kunt het uitsluiten
  • Een feature die het aantal leestekens meet
    • Veel leestekens kan duiden op een sterk emotionele review
Sentimentanalyse in Python

Reviews met een feature voor lengte

reviews.head()

top 5 rijen van Amazon-productreviews, inclusief de extra kolom met reviewlengte

Sentimentanalyse in Python

Laten we oefenen!

Sentimentanalyse in Python

Preparing Video For Download...