Comment extraire des mots-clés d'un texte en R ?

Image illustrant l'interface R avec un extrait de code en surbrillance utilisé pour l'extraction de mots-clés à partir d'un texte.
Image illustrant l'interface R avec un extrait de code en surbrillance utilisé pour l'extraction de mots-clés à partir d'un texte.

Eskritor 2023-07-06

Qu’est-ce que l’extraction de mots-clés ?

L’extraction de mots-clés permet d’extraire automatiquement les mots et expressions les plus utilisés et les plus importants d’un texte, à l’aide d’une technique d’analyse de texte. Il permet de résumer le contenu des textes et de reconnaître les principaux sujets abordés, ce qui est utile pour les études de marché , l’analyse des sentiments et d’autres types d’analyse de données. Cette technique s’appuie sur les enchâssements de phrases et permet d’analyser de vastes ensembles de données en temps réel.

L’apprentissage automatique de l’intelligence artificielle (IA) avec le traitement du langage naturel (NLP) (un domaine des sciences informatiques) décompose le langage humain pour que les machines puissent le comprendre et l’analyser. L’extraction de mots-clés automatise les flux de travail, comme le marquage des réponses aux enquêtes entrantes ou la réponse aux demandes urgentes des clients. Cette technique utilise des informations linguistiques et sémantiques sur les textes et les mots qu’ils contiennent. Il existe différents algorithmes et techniques d’apprentissage automatique pour extraire les mots-clés les plus pertinents d’un texte.

Pourquoi l’extraction de mots-clés est-elle importante ?

L’extraction de mots-clés et de phrases-clés est importante pour plusieurs raisons :

  1. Optimisation des moteurs de recherche (SEO ) : L’extraction de mots-clés permet d’identifier les mots et expressions les plus importants d’un document, qui peuvent être utilisés pour optimiser le contenu du site web pour les moteurs de recherche.
  2. Résumé de texte : L’extraction de mots-clés peut être utilisée pour résumer un document en identifiant les mots et les phrases les plus importants qui représentent le thème principal du texte.
  3. Classification de textes : L’extraction de mots-clés peut être utilisée pour classer des documents textuels dans différentes catégories en fonction des mots-clés qu’ils contiennent. Ceci est utile dans des applications telles que l’analyse des sentiments.
  4. Recherche d’informations : L’extraction de mots-clés peut être utilisée pour améliorer la précision des systèmes de recherche d’informations en identifiant les mots-clés pertinents qui correspondent à la requête de recherche d’un utilisateur.

Comment faire de l’extraction de mots-clés dans R ?

Voici quelques techniques d’extraction de mots-clés et leurs cas d’utilisation :

  • Trouver des mots-clés en procédant à l’étiquetage des parties du discours afin d’identifier les noms.
  • Trouver des mots-clés basés sur les collocations et les cooccurrences
  • Trouver des mots-clés sur la base de l’algorithme Textrank
  • Trouver des mots-clés sur la base de RAKE (extraction automatique rapide de mots-clés)
  • Recherche de mots-clés sur la base des résultats de l’analyse des dépendances (obtention du sujet du texte)
extraire des mots-clés d'un texte

Extraction des noms

Un moyen facile de trouver des mots-clés est d’examiner les noms. Comme chaque terme possède une balise Parts of Speech si vous avez annoté un texte à l’aide du paquetage udpipe :

Code :

stats <- subset(x, upos %in% "NOUN") 
stats <- txt_freq(x = stats$lemma) 
library(lattice) 
stats$key <- factor(stats$key, levels = rev(stats$key)) 
barchart(key ~ freq, data = head(stats, 30), col = "cadetblue", main = "Most occurring nouns", xlab = "Freq")

Collocation et cooccurrences

Obtenez des expressions multi-mots en examinant les collocations (mots qui se suivent), les cooccurrences de mots dans chaque phrase ou les cooccurrences de mots qui sont proches l’un de l’autre.

Code :

Collocation (words following one another)

stats <- keywords_collocation(x = x,
term = "token", group = c("doc_id", "paragraph_id", "sentence_id"),
ngram_max = 4)

Co-occurrences: How frequent do words occur in the same sentence, in this case only nouns or adjectives

stats <- cooccurrence(x = subset(x, upos %in% c("NOUN", "ADJ")),
term = "lemma", group = c("doc_id", "paragraph_id", "sentence_id"))

## Co-occurrences: How frequent do words follow one another

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"))

## Co-occurrences: How frequent do words follow one another even if we would skip 2 words in between

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"), skipgram = 2)

Textrank (réseau de mots classés par Google Pagerank)

Textrank est une autre méthode d’extraction de mots-clés. Le package R textrank implémente l’algorithme Textrank. L’algorithme Textrank permet de résumer un texte et d’en extraire des mots-clés. Pour construire un réseau de mots, l’algorithme vérifie si les mots se suivent. L’algorithme « Google Pagerank » extrait les mots pertinents. Les mots pertinents qui se suivent se combinent pour former des mots-clés. TextRank ne s’appuie pas sur le texte original, puisqu’il s’agit d’une approche basée sur les graphes.

Code :

stats <- textrank_keywords(x$lemma, relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 8, sep = " ") 
stats <- subset(stats$keywords, ngram > 1 & freq >= 5) library(wordcloud) wordcloud(words = stats$keyword, freq = stats$freq)

Extraction automatique et rapide de mots-clés : RAKE

RAKE est l’algorithme de base suivant, acronyme de Rapid Automatic Keyword Extraction. RAKE est un algorithme d’extraction de mots-clés indépendant du domaine dans le cadre du traitement du langage naturel.

  1. Le calcul d’un score pour chaque mot faisant partie d’un mot-clé candidat se fait de la manière suivante
    • parmi les mots des mots-clés candidats, l’algorithme examine le nombre d’occurrences de chaque mot et le nombre de cooccurrences avec d’autres mots
    • chaque mot reçoit un score qui est le rapport entre le degré du mot (le nombre de fois qu’il cooccurbe avec d’autres mots) et la fréquence du mot
  2. Un score RAKE pour le mot-clé candidat complet est calculé en additionnant les scores de chacun des mots qui définissent le mot-clé candidat.

Code :

stats <- keywords_rake(x = x, term = "token", group = c("doc_id", "paragraph_id", "sentence_id"), relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 4) 
head(subset(stats, freq > 3)) 

Utiliser les résultats de l’analyse des dépendances pour obtenir le sujet nominal et son adjectif.

Lorsque vous avez exécuté l’annotation à l’aide de udpipe, le champ dep_rel indique comment les mots sont liés les uns aux autres. Un token est lié au parent à l’aide de token_id et head_token_id . Le champ dep_rel indique comment les mots sont liés les uns aux autres. Le type de relations se trouve à l’adresse http://universaldependencies.org/u/dep/index.html.

Code :

stats <- merge(x, x, by.x = c("doc_id", "paragraph_id", "sentence_id", "head_token_id"), by.y = c("doc_id", "paragraph_id", "sentence_id", "token_id"), all.x = TRUE, all.y = FALSE, suffixes = c("", "_parent"), sort = FALSE) 
stats <- subset(stats, dep_rel %in% "nsubj" & upos %in% c("NOUN") & upos_parent %in% c("ADJ")) 
stats$term <- paste(stats$lemma_parent, stats$lemma, sep = " ") 
stats <- txt_freq(stats$term) 
library(wordcloud) 
wordcloud(words = stats$key, freq = stats$freq, min.freq = 3, max.words = 100, random.order = FALSE, colors = brewer.pal(6, "Dark2"))

Qu’est-ce que le Text-Mining ?

Le text mining en R fait référence au processus d’analyse et d’extraction de données textuelles à l’aide du langage de programmation R et des bibliothèques et paquets associés. L’exploration de texte comporte plusieurs étapes, notamment le nettoyage et le prétraitement des données, l’extraction de caractéristiques, la modélisation statistique et la visualisation.
Le paquetage tm fournit des fonctions pour lire des données textuelles, nettoyer et prétraiter les données, et créer des matrices document-terme, qui sont couramment utilisées pour analyser des données textuelles. Le paquetage tidytext fournit des outils pour convertir des données textuelles en cadres de données ordonnés.
Parmi les tâches courantes de l’exploration de texte figurent l’analyse des sentiments, la modélisation des sujets, le regroupement de documents et la classification des textes. Ces tâches impliquent l’application de techniques statistiques et d’apprentissage automatique pour identifier des modèles et des relations dans les données textuelles.

Les API d’extraction de mots clés sont des interfaces logicielles qui permettent aux développeurs d’extraire des mots clés et des phrases clés d’un texte à l’aide d’algorithmes prédéfinis et de modèles d’apprentissage automatique. Ces API constituent une solution facile à utiliser et évolutive pour automatiser le processus d’extraction des mots clés, sans que les développeurs aient à élaborer et à former leurs propres modèles.

R est un langage de programmation et un environnement logiciel open-source pour le calcul statistique, l’analyse de données et les graphiques. R est largement utilisé dans les universités, la recherche et l’industrie pour des tâches telles que la modélisation statistique, la visualisation de données, l’apprentissage automatique et l’exploration de données. Il dispose d’interfaces avec d’autres langages de programmation tels que Python et C++ . Vous trouverez des informations plus détaillées dans les tutoriels en ligne sur GitHub.

Partager l’article

Écrivain AI

img

Eskritor

Créer du contenu généré par l’AI