• Email : contact@refbax.com

Calculer TF-IDF avec Python

📢 Image qui illustre un article sur le : token, texte, TF-IDF, for token, TF-IDF d’un, nltk.corpus, nltk.tokenize, token.lower(), stopwords.words("french")], tf_scores.items():
Facebook
Twitter
LinkedIn
Temps de lecture : 2 minutes

Le TF-IDF (Term Frequency – Inverse Document Frequency) est un score de fréquence de terme utilisé pour évaluer l’importance d’un terme dans un document ou une collection de documents. Le TF-IDF d’un terme dans un document est calculé en multipliant sa fréquence dans le document (TF) par son importance inverse dans la collection de documents (IDF). Voici comment vous pouvez calculer le TF-IDF d’un texte avec Python :

  1. Séparez le texte en tokens (mots ou phrases) à l'aide de la bibliothèque nltk (Natural Language Toolkit).
  2. Calculez la fréquence de chaque token dans le texte (TF).

  3. Calculez l’importance inverse de chaque token dans la collection de documents (IDF).

  4. Multipliez le TF et l’IDF de chaque token pour obtenir leur score TF-IDF.

Voici un exemple de code Python qui implémente ces étapes pour calculer le TF-IDF d’un texte :

import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize

# Définissez le texte à analyser
text = "Ceci est le texte que je souhaite analyser, trouver les termes qui reviennent le plus souvent pour mieux comprendre de quoi il parle ou tout simplement pour obtenir des super statistiques qui vont me servir dans mes analyses SEO."

# Séparez le texte en tokens à l'aide de word_tokenize
tokens = word_tokenize(text)

# Enlevez les mots vides (stop words) à l'aide de la liste de mots vides de nltk (ici les français, mais il est possible de récupérer d'autres langues)
filtered_tokens = [token for token in tokens if token.lower() not in stopwords.words("french")]

# Calculez la fréquence de chaque token dans le texte (TF)
tf_scores = {}
for token in filtered_tokens:
    if token in tf_scores:
        tf_scores[token] += 1
    else:
        tf_scores[token] = 1

# Calculez l'importance inverse de chaque token dans la collection de documents (IDF)
# Pour simplifier, nous allons supposer que nous avons seulement un document dans notre collection
idf_scores = {token: 1 for token in set(filtered_tokens)}

# Multipliez le TF et l'IDF de chaque token pour obtenir leur score TF-IDF
tfidf_scores = {token: tf_scores[token] * idf_scores[token] for token in tf_scores}

# Affichez les scores TF-IDF
for token, score in tf_scores.items():
    print(f"Token: {token}, TF-IDF: {score}")

Ce code calcule d’abord les scores TF de chaque token en comptant le nombre de fois où chaque token apparaît dans le texte. Il calcule ensuite les scores IDF en attribuant une valeur de 1 à chaque token unique dans le texte (puisque nous avons seulement un document dans notre collection). Enfin, il multiplie les scores TF et IDF de chaque token pour obtenir leur score TF-IDF et affiche ces scores.

Laisser un commentaire

Sur le même thème 🤩

Qui suis-je ! 👨‍💻

Enfilez-votre cape

Apprenez le webmarketing et le code grâce à nos différentes ressources et améliorez la visibilité de votre site internet, grâce à nos outils SEO.

refbax superhero bas