L’autre jour, il fallait que je catégorise une liste de mots clés assez importante afin de nettoyer cette base et proposer quelque chose de logique à mon client.
Évidemment, quand on a 2 millions de mots clés à catégoriser, c’est un peu compliqué, alors j’ai pris la liberté de me faire aider par un assistant personnel des plus pratiques : un LLM
Bien sûr, tout le monde a maintenant accès à un LLM, aussi, ce que je vais révéler est disponible pour tous, dans la plupart des cas gratuitement :
Vous pouvez catégoriser vos mots clés avec ChatGPT. (Ou Ollama, ou tout autre LLM compétent).
Prenons l’exemple de ChatGPT :
Il vous faut commencer par un prompt initial pour situer la demande :
“Tu es un expert linguistique qui est aussi un bibliothécaire assidu, tu sais classer et catégoriser les sujets comme personne. Je vais te donner une tâche très importante pour aider une machine à faciliter ton travail :
Tu vas créer des catégories selon une thématique générale, et à partir d’un échantillon de mots clés choisis par mes soins, tu vas créer des chaînes de caractères retrouvées fréquemment que tu vas associer sous forme de liste à chaque catégorie que tu auras créé.
N’hésite pas à affiner ta liste de catégories pour inclure le plus possible de mots clés pertinents pour le sujet principal.
Réponds OK si tu as compris et que tu souhaites que je passe à la suite.”
Puis, on va lui donner une liste de mots clés parmi ceux sur lesquels le client se positionne déjà et qu’il trouve déjà pertinents.
“Voici la liste des mots clés du sujet principal du site “nom du site” : sujet : “insérer le sujet”.
liste de mots:
“insérer la liste de mots”
Crée une liste de catégories puis liste moi les catégories et les listes de chaines de caractères correspondantes.”
Enfin, viens le moment du test grandeur nature :
“à partir du fichier suivant, extrait 1000 mots clés aléatoirement et propose de nouvelles chaines de caractères et catégories : fournis une liste sous le format “catégorie, chaine, mots clés correspondants”.”
Là il suffit de sélectionner ce qui marche ou pas, de faire des allers retours avec le LLM pour lui dire qu’on a corrigé la liste en lui montrant la nouvelle liste, ou en lui indiquant ce qui manque.
Enfin, vient le moment tant attendu de la catégorisation :
import pandas as pd
# Dictionnaire des catégories
tokens_par_categorie = {[insérer le dictionnaire de catégories et de valeurs]}
# Fonction pour catégoriser les mots clés
def categorize_keyword(keyword, tokens_dict):
categories = set() # Utiliser un set pour éviter les doublons
keyword_lower = keyword.lower()
for category, tokens in tokens_dict.items():
for token in tokens:
if token in keyword_lower: # Vérifier si le token est contenu dans le mot clé
categories.add(category)
if categories:
return ', '.join(categories) # Retourner les catégories sous forme de chaîne de caractères
else:
return None # Retourner None si aucune catégorie trouvée
def main():
# Charger la liste des mots clés depuis le CSV
file_input = 'search_console_data_by_Query.csv'
keywords_df = pd.read_csv(file_input)
# Appliquer la catégorisation à chaque mot clé
keywords_df['Catégorie'] = keywords_df['Query'].apply(lambda x: categorize_keyword(x, tokens_par_categorie))
# Enregistrer le DataFrame mis à jour dans un nouveau fichier CSV
keywords_df.to_csv('categorized_keywords.csv', index=False)
print("Les mots clés ont été catégorisés et enregistrés dans 'categorized_keywords.csv'.")
if __name__ == '__main__':
main()
Il ne vous reste plus qu’à vérifier la liste en sortie pour supprimer ce qui n’a pas de catégorie ou le recatégoriser et vous avez peut être gagné du temps (surtout si vous partez avec un fichier de plusieurs millions de mots clés).