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.

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.

Que sont les API d’extraction de mots-clés ?

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.

Qu’est-ce que R ?

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.

Questions fréquemment posées

Qu’est-ce que le CSV ?

CSV signifie « Comma-Separated Values » (valeurs séparées par des virgules). Il s’agit d’un format de fichier qui stocke et échange des données dans un format de texte brut, où chaque ligne représente un enregistrement et chaque colonne représente un champ ou un attribut de l’enregistrement. La première ligne d’un fichier CSV contient généralement les en-têtes de colonne, qui fournissent une étiquette pour chaque champ de l’ensemble de données.

Qu’est-ce que le TF-IDF ?

TF-IDF signifie « Term Frequency-Inverse Document Frequency ». Il s’agit d’une statistique numérique qui reflète l’importance d’un terme dans un corpus de documents. Le TF-IDF est couramment utilisé dans les applications d’exploration de texte, de recherche d’informations et de traitement du langage naturel.

Que sont les mots vides ?

Les mots vides sont des mots courants que les tâches de traitement du langage naturel (NLP) excluent parce qu’ils n’ont que peu de sens ou d’importance dans l’analyse du texte. Parmi les exemples de mots vides, citons « le », « et », « de », « à », « dans », « un », « une », « est » et « pour ».

Partager l'article :

État de l'art A.I.

Commencez avec Eskritor dès maintenant !

Articles connexes

Image d'un écran d'ordinateur montrant une conversation avec GPT-3, superposée à des diagrammes illustrant les étapes de traitement du langage par l'AI.
Eskritor

Comment fonctionne le GPT-3 ?

Les étapes ci-dessous expliquent comment le GPT-3 fonctionne pour générer des réponses : Pourquoi le GPT-3 est-il utile ? Voici une liste de raisons pour lesquelles le GPT-3 est utile

Un graphique visuel présentant des données relatives à l'impact de l'AI sur le marché de l'emploi des rédacteurs de contenu.
Eskritor

L’IA va-t-elle remplacer les rédacteurs de contenu ?

Oui, les auteurs de l’IA peuvent remplacer certains auteurs, mais ils ne pourront jamais remplacer les bons auteurs. Il remplacera certains types de travaux d’écriture. Les générateurs de contenu d’IA

Une représentation visuelle de l'architecture de ChatGPT, avec le modèle de transformateur qui permet de comprendre et de générer des langues.
Eskritor

Comment fonctionne ChatGPT ?

À un niveau élevé, ChatGPT est un modèle d’apprentissage profond qui utilise un réseau neuronal pour générer un texte de type humain. La version spécifique du modèle, ChatGPT-3, est basée