Sac de mots

Analyse de sentiment en Python

Violeta Misheva

Data Scientist

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

 

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

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

Analyse de sentiment en Python

Avis de produits Amazon

10 premières lignes de l'ensemble d'avis de produits Amazon

Analyse de sentiment en Python

Analyse des sentiments 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 }
  • On perd l'ordre des mots et la grammaire !
Analyse de sentiment en Python

Résultat final de BOW

  • Le résultat ressemble à ceci :

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

Analyse de sentiment 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 sentiment 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 sentiment 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 sentiment en Python

Passons à la pratique !

Analyse de sentiment en Python

Preparing Video For Download...