Créer de nouvelles features à partir du texte

Analyse de sentiments en Python

Violeta Misheva

Data Scientist

Objectif de la vidéo

 

Objectif : enrichir le jeu de données avec des features liées à la colonne texte (capturer le sentiment)

Analyse de sentiments en Python

Données d'avis produits

reviews.head()

5 premières lignes des avis produits Amazon

Analyse de sentiments en Python

Features depuis la colonne review

 

  • Quelle est la longueur de chaque avis ?
  • Combien de phrases contient-il ?
  • Quelles catégories grammaticales sont présentes ?
  • Combien de signes de ponctuation ?
Analyse de sentiments en Python

Tokeniser une chaîne

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','.']
Analyse de sentiments en Python

Tokens depuis une colonne

# Forme générale d'une compréhension de liste
[expression for item in iterable]
word_tokens = [word_tokenize(review) for review in reviews.review]
type(word_tokens)
list
type(word_tokens[0])
list
Analyse de sentiments en Python

Tokens depuis une colonne

len_tokens = []

# Parcourir la liste word_tokens
for i in range(len(word_tokens)):
     len_tokens.append(len(word_tokens[i]))

# Créer une nouvelle feature : longueur de chaque avis
reviews['n_tokens'] = len_tokens
Analyse de sentiments en Python

Gérer la ponctuation

  • Nous ne l'avons pas traité, mais vous pouvez l'exclure
  • Une feature qui mesure le nombre de signes de ponctuation
    • Un avis très ponctué peut signaler une opinion très chargée émotionnellement
Analyse de sentiments en Python

Avis avec une feature de longueur

reviews.head()

5 premières lignes des avis Amazon, avec la colonne ajoutée pour la longueur d'un avis

Analyse de sentiments en Python

Passons à la pratique !

Analyse de sentiments en Python

Preparing Video For Download...