TfIdf : d'autres façons de transformer le texte

Analyse de sentiment en Python

Violeta Misheva

Data Scientist

Quels sont les composants de TfIdf ?

  • TF : fréquence du terme : fréquence d'apparition d'un mot donné dans un document du corpus

  • Fréquence inverse de document : rapport logarithmique entre le nombre total de documents et le nombre de documents contenant un mot donné

    • Sert à pondérer les mots peu fréquents
Analyse de sentiment en Python

Score TfIdf d'un mot

  • Score TfIdf :
TfIdf = term frequency * inverse document frequency
  • BOW n'intègre pas la longueur d'un document, TfIdf oui.
  • TfIdf capte mieux les mots fréquents dans un document, mais rares entre documents.
Analyse de sentiment en Python

À quoi sert TfIdf ?

Sentiment des compagnies aériennes sur Twitter
  • Scores TfIdf faibles : United, Virgin America
  • Scores TfIdf élevés : « check-in process » (si rare dans l'ensemble des documents)
En savoir plus sur TfIdf
  • Comme il pénalise les mots fréquents, moins besoin de traiter explicitement les mots vides.
  • Très utile pour les requêtes de recherche et la recherche d'information afin de classer la pertinence des résultats.
Analyse de sentiment en Python

TfIdf en Python

# Import the TfidfVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
  • Paramètres de TfidfVectorizer : max_features, ngram_range, stop_words, token_pattern, max_df, min_df
vect = TfidfVectorizer(max_features=100).fit(tweets.text)
X = vect.transform(tweets.text)
Analyse de sentiment en Python

TfidfVectorizer

X
<14640x100 sparse matrix of type '<class 'numpy.float64'>'
    with 119182 stored elements in Compressed Sparse Row format>
X_df = pd.DataFrame(X_txt.toarray(), columns=vect.get_feature_names())
X_df.head()

5 premières lignes des données créées avec TfIdf

Analyse de sentiment en Python

Passons à la pratique !

Analyse de sentiment en Python

Preparing Video For Download...