Sac de mots

Analyse de sentiments en Python

Violeta Misheva

Data Scientist

Qu'est-ce qu'un sac de mots (BOW) ?

 

  • Décrit la présence des mots dans un document ou un corpus

  • Crée un vocabulaire et une mesure de leur présence

Analyse de sentiments en Python

Avis produits Amazon

10 premières lignes du jeu de données d'avis produits Amazon

Analyse de sentiments en Python

Analyse de sentiment avec BOW : exemple

This is the best book ever. I loved the book and highly recommend it!!!

{'This': 1, 'is': 1, 'the': 2 , 'best': 1 , 'book': 2, 
'ever': 1, 'I':1 , 'loved':1 , 'and': 1  , 'highly': 1,
'recommend': 1 , 'it': 1 }
  • Perte de l'ordre des mots et des règles de grammaire !
Analyse de sentiments en Python

Résultat final BOW

  • La sortie ressemble à ceci :

5 premières lignes d'un jeu de données affichant la sortie d'une approche BOW

Analyse de sentiments en Python

Fonction CountVectorizer

import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
vect = CountVectorizer(max_features=1000) 
vect.fit(data.review)
X = vect.transform(data.review)
Analyse de sentiments en Python

Sortie de CountVectorizer

X
<10000x1000 sparse matrix of type '<class 'numpy.int64'>' 
  with 406668 stored elements in Compressed Sparse Row format>

Analyse de sentiments en Python

Transformer le vectoriseur

# Transform to an array
my_array = X.toarray()
# Transform back to a DataFrame, assign column names
X_df = pd.DataFrame(my_array, columns=vect.get_feature_names())
Analyse de sentiments en Python

Passons à la pratique !

Analyse de sentiments en Python

Preparing Video For Download...