cours
Qu'est-ce que la modélisation thématique ? Une introduction avec des exemples
L'objectif de l'analyse est de tirer des enseignements des données. Traditionnellement, ces données sont structurées, c'est-à-dire qu'elles sont présentées dans un format standardisé pour un accès efficace. À mesure que le monde évolue et se numérise, la plupart des données générées ne sont pas structurées, ce qui signifie qu'il n'existe pas de modèle de données prédéfini.
Selon Gartner, les données non structurées représentent 80 à 90 % de toutes les nouvelles données d'entreprise. En outre, elles se développent trois fois plus vite que les données structurées. Par conséquent, les experts en analyse doivent employer de nouvelles techniques pour obtenir des informations pertinentes à partir de leurs ensembles de données.
L'une de ces techniques est la modélisation des sujets dans le domaine de l'exploration de textes. Dans la suite de cet article, nous aborderons les points suivants :
- Qu'est-ce que la modélisation thématique ?
- Concepts de base
- Deux techniques populaires de modélisation des sujets
- Un exemple pratique
- Cas d'utilisation de la modélisation thématique
- En quoi la modélisation thématique diffère-t-elle des autres techniques ?
Devenez un scientifique ML
Qu'est-ce que la modélisation thématique ?
La modélisation thématique est une approche fréquemment utilisée pour découvrir les modèles sémantiques cachés représentés par un corpus de textes et pour identifier automatiquement les thèmes qui y existent.
Il s'agit d'un type de modélisation statistique qui s'appuie sur l'apprentissage automatique non supervisé pour analyser et identifier des grappes ou des groupes de mots similaires dans un texte.
Par exemple, un algorithme de modélisation thématique peut être déployé pour déterminer si le contenu d'un document implique qu'il s'agit d'une facture, d'une plainte ou d'un contrat.
Le rôle de la modélisation thématique dans les entreprises
Selon certaines sources, une personne moyenne génère plus de 1,7 Mo de données numériques par seconde. Ce chiffre représente plus de 2,5 quintillions d'octets de données par jour, dont 80 à 90 % ne sont pas structurés.
Prenons l'exemple d'une entreprise qui emploie une seule personne pour examiner chaque donnée non structurée et la segmenter en fonction du sujet sous-jacent. Ce serait une tâche impossible.
Cela prendrait beaucoup de temps et serait extrêmement fastidieux. De plus, le risque est beaucoup plus grand, car les humains sont naturellement biaisés et plus enclins aux erreurs que les machines.
La solution est la modélisation des sujets.
Grâce à la modélisation thématique, il est possible d'obtenir des informations sur les données plus rapidement et peut-être mieux. Cette technique combine les sujets dans une structure compréhensible, permettant aux entreprises de comprendre rapidement ce qui se passe.
Par exemple, une entreprise qui souhaite comprendre les défis les plus importants auxquels sont confrontés ses clients peut utiliser la modélisation thématique pour obtenir ces informations à partir de données non structurées.
En bref, la modélisation thématique aide les entreprises à :
- Analyse en temps réel de données textuelles non structurées
- Apprenez à partir de données non structurées à grande échelle
- Développez une compréhension cohérente des données, quel que soit leur format.
Concepts fondamentaux de la modélisation thématique
Nous avons établi que la modélisation thématique permet aux professionnels des données d'analyser et d'identifier rapidement des grappes ou des groupes de mots similaires dans un corps de texte à grande échelle.
Mais qu'est-ce qu'un thème et comment fonctionne la modélisation des thèmes ?
Que sont les thèmes et comment fonctionnent les modèles de thèmes ?
Les sujets sont les descriptions latentes d'un corpus (grand groupe) de textes. Intuitivement, les documents traitant d'un sujet spécifique sont plus susceptibles de produire certains mots plus fréquemment.
Par exemple, les mots "dog" et "bone" sont plus susceptibles d'apparaître dans des documents concernant des chiens, tandis que "cat" et "meow" sont plus susceptibles d'être trouvés dans des documents concernant des chats. Par conséquent, le modèle thématique analyse les documents et produit des groupes de mots similaires.
Essentiellement, les modèles thématiques fonctionnent en déduisant les mots et en regroupant les mots similaires dans des thèmes afin de créer des groupes de thèmes.
Visualisation du fonctionnement de la modélisation thématique
Exploration des techniques de modélisation thématique
L'analyse sémantique latente (LSA) et l'allocation de Dirichlet latente (LDA) sont deux techniques populaires de modélisation thématique. Leur objectif, qui est de découvrir des modèles sémantiques cachés dans les données textuelles, est le même, mais la manière dont ils y parviennent est différente.
Analyse sémantique latente (LSA)
L'analyse sémantique latente (LSA) est une technique de traitement du langage naturel utilisée pour analyser les relations entre les documents et les termes qu'ils contiennent. La méthode a été présentée pour la première fois en 1988 dans un article intitulé "Using Latent Semantic Analysis to Improve Access to Textual Information" et est encore utilisée aujourd'hui pour créer des données structurées à partir d'une collection de textes non structurés.
En d'autres termes, les LSA supposent que des mots ayant des significations similaires apparaissent dans des documents similaires. Pour ce faire, il construit une matrice contenant le nombre de mots par document, où chaque ligne représente un mot unique et les colonnes représentent chaque document. Il utilise ensuite une décomposition en valeurs singulières (SVD) pour réduire le nombre de lignes tout en préservant la structure de similarité entre les colonnes. Le SVD est une méthode mathématique qui simplifie les données tout en conservant leurs caractéristiques importantes. Il est utilisé ici pour maintenir les relations entre les mots et les documents.
Pour déterminer la similarité entre les documents, on utilise la similarité cosinusoïdale. Il s'agit d'une mesure qui calcule le cosinus de l'angle entre deux vecteurs, dans ce cas, représentant des documents. Une valeur proche de 1 signifie que les documents sont très similaires sur la base des mots qu'ils contiennent, tandis qu'une valeur proche de 0 signifie qu'ils sont très différents.
Allocation de Dirichlet Latent (LDA)
L'allocation de dirichlet latent (LDA) a été initialement proposée en 2000 dans un article intitulé "Inference of population structure using multilocus genotype data" (Inférence de la structure de la population à l'aide de données génotypiques multilocus). Cet article portait principalement sur la génétique des populations, un sous-domaine de la génétique qui s'intéresse aux différences génétiques au sein des populations et entre elles. Trois ans plus tard, l'allocation de Dirichlet latent a été appliquée à l'apprentissage automatique.
Les auteurs de l'article décrivent la technique comme "un modèle génératif pour les textes et autres collections de données discrètes". LDA peut donc être décrite comme une technique de langage naturel utilisée pour identifier les sujets auxquels un document appartient sur la base des mots qu'il contient.
Plus précisément, LDA est un réseau bayésien, ce qui signifie qu'il s'agit d'un modèle statistique génératif qui suppose que les documents sont constitués de mots qui aident à déterminer les sujets. Ainsi, les documents sont mis en correspondance avec une liste de sujets en assignant chaque mot du document à différents sujets. Ce modèle ignore l'ordre des mots apparaissant dans un document et les traite comme un sac de mots.
LSA vs LDA
L'analyse sémantique latente (LSA) et l'allocation de dirichlet latent (LDA) sont deux techniques de traitement du langage naturel utilisées pour créer des données structurées à partir d'une collection de textes non structurés.
Cependant, la LSA s'appuie sur la décomposition en valeurs singulières (SVD) pour réduire la dimensionnalité de la matrice terme-document et repose sur l'hypothèse que les mots ayant des significations similaires apparaîtront dans des documents similaires. En créant une représentation à faible dimension du texte, le modèle peut capturer les relations sous-jacentes entre les mots afin de déterminer le degré de similitude de deux documents.
En revanche, LDA est un modèle probabiliste génératif qui s'appuie sur l'inférence bayésienne pour trouver les thèmes sous-jacents dans un corpus de textes. Elle part du principe que chaque document est une combinaison d'un petit nombre de sujets latents et que chaque mot est généré par un sujet particulier.
En fin de compte, LSA tente de découvrir les relations sous-jacentes entre les mots, tandis que LDA cherche à découvrir les sujets sous-jacents dans un corpus de texte. Bien qu'il s'agisse dans les deux cas de techniques utilisées pour créer une représentation vectorielle du texte, elles reposent sur des hypothèses sous-jacentes différentes.
Mise en œuvre pratique de la modélisation thématique
Voyons comment ces techniques fonctionnent. Utilisez ce classeur DataLab pour suivre le code.
Préparation des données
La première chose dont nous avons besoin, ce sont des données.
Pour la modélisation thématique, les données que nous utilisons s'appellent un corpus, qui est simplement une collection de textes.
Voici un petit corpus que j'ai créé à partir de faits tirés de l'internet :
# Creating example documents
doc_1 = "A whopping 96.5 percent of water on Earth is in our oceans, covering 71 percent of the surface of our planet. And at any given time, about 0.001 percent is floating above us in the atmosphere. If all of that water fell as rain at once, the whole planet would get about 1 inch of rain."
doc_2 = "One-third of your life is spent sleeping. Sleeping 7-9 hours each night should help your body heal itself, activate the immune system, and give your heart a break. Beyond that--sleep experts are still trying to learn more about what happens once we fall asleep."
doc_3 = "A newborn baby is 78 percent water. Adults are 55-60 percent water. Water is involved in just about everything our body does."
doc_4 = "While still in high school, a student went 264.4 hours without sleep, for which he won first place in the 10th Annual Great San Diego Science Fair in 1964."
doc_5 = "We experience water in all three states: solid ice, liquid water, and gas water vapor."
# Create corpus
corpus = [doc_1, doc_2, doc_3, doc_4, doc_5]
Prétraitement
L'étape suivante consiste à nettoyer le texte :
# Code source: https://www.analyticsvidhya.com/blog/2016/08/beginners-guide-to-topic-modeling-in-python/
import string
import nltk
nltk.download('stopwords')
nltk.download('wordnet')
nltk.download('omw-1.4')
from nltk.corpus import stopwords
from nltk.stem.wordnet import WordNetLemmatizer
# remove stopwords, punctuation, and normalize the corpus
stop = set(stopwords.words('english'))
exclude = set(string.punctuation)
lemma = WordNetLemmatizer()
def clean(doc):
stop_free = " ".join([i for i in doc.lower().split() if i not in stop])
punc_free = "".join(ch for ch in stop_free if ch not in exclude)
normalized = " ".join(lemma.lemmatize(word) for word in punc_free.split())
return normalized
clean_corpus = [clean(doc).split() for doc in corpus]
Dans le code ci-dessus, nous :
- Importation des bibliothèques nécessaires et téléchargement des mots clés et du réseau de mots.
- Définition des stopwords anglais
- Instanciation de l'ensemble des signes de ponctuation que nous voulons exclure
- Création de l'instance du lemmatiseur de wordnet
- Création d'une fonction pour supprimer les mots d'arrêt et la ponctuation et pour lemmatiser les documents.
- Appliquer la fonction de nettoyage à chaque document du corpus.
Mais cela ne signifie pas pour autant que nous sommes prêts.
Avant de pouvoir utiliser ces données comme entrée d'un modèle LDA ou LSA, elles doivent être converties en une matrice terme-document. Une matrice terme-document est simplement une représentation mathématique d'un ensemble de documents et des termes qu'ils contiennent.
Il est créé en comptant l'occurrence de chaque terme dans chaque document, puis en normalisant les chiffres pour créer une matrice de valeurs qui peut être utilisée pour l'analyse.
Pour ce faire en Python, nous allons nous appuyer sur la bibliothèque Gensim.
from gensim import corpora
# Creating document-term matrix
dictionary = corpora.Dictionary(clean_corpus)
doc_term_matrix = [dictionary.doc2bow(doc) for doc in clean_corpus]
Nous pouvons maintenant ajuster nos modèles.
Modélisation
Le premier modèle que nous utiliserons dans l'ASL :
from gensim.models import LsiModel
# LSA model
lsa = LsiModel(doc_term_matrix, num_topics=3, id2word = dictionary)
# LSA model
print(lsa.print_topics(num_topics=3, num_words=3))
"""
[
(0, '0.555*"water" + 0.489*"percent" + 0.239*"planet"'),
(1, '0.361*"sleeping" + 0.215*"hour" + 0.215*"still"'),
(2, '-0.562*"water" + 0.231*"rain" + 0.231*"planet"')
]
"""
Cette méthode permet d'obtenir les thèmes (chaque ligne) avec les termes individuels du thème (termes) et leurs poids.
Essayons avec LDA :
from gensim.models import LdaModel
# LDA model
lda = LdaModel(doc_term_matrix, num_topics=3, id2word = dictionary)
# Results
print(lda.print_topics(num_topics=3, num_words=3))
"""
[
(0, '0.071*"water" + 0.025*"state" + 0.025*"three"'),
(1, '0.030*"still" + 0.028*"hour" + 0.026*"sleeping"'),
(2, '0.073*"percent" + 0.069*"water" + 0.031*"rain"')
]
"""
À quoi sert la modélisation thématique ?
En supprimant les tâches manuelles et répétitives, la modélisation thématique permet d'accélérer les processus de manière simple et peu coûteuse. Voici quelques exemples :
Marquage des tickets d'assistance
La modélisation thématique peut être utilisée pour aider le personnel du service clientèle à analyser les demandes d'assistance afin d'identifier les principaux problèmes et de déterminer ceux qui se répètent. Sur la base de ces données, ils peuvent être en mesure de créer un contenu en libre-service plus informatif ou d'aider les clients directement.
Améliorer l'expérience des clients
La modélisation des sujets peut être utilisée pour étiqueter les conversations afin qu'elles soient acheminées vers l'équipe la plus appropriée. Par exemple, une conversation contenant des mots tels que "prix", "abonnement", "renouvellement", etc. pourrait être envoyée directement au service de comptabilité pour obtenir de l'aide.
Modélisation des sujets par rapport à d'autres techniques
Modélisation thématique vs clustering
La modélisation thématique est utilisée pour découvrir les sujets latents qui existent dans une collection de documents. Il s'agit d'identifier des modèles dans les mots et les phrases qui apparaissent dans les documents et de les regrouper en thèmes en fonction de leur degré de similitude.
À l'inverse, le clustering est une technique utilisée pour regrouper des objets similaires sur la base d'une mesure de similarité. Ces méthodes sont employées pour découvrir des modèles et des structures dans les données en regroupant des points de données similaires.
Bien que les deux approches permettent de découvrir des modèles dans les données textuelles, elles ont des objectifs différents. La modélisation thématique vise à identifier les sujets latents dans une collection de documents, tandis que le regroupement vise à regrouper les points de données similaires.
Modélisation des sujets et classification des textes
La classification des textes, bien qu'il s'agisse d'une technique de traitement du langage naturel, relève de la catégorie de l'apprentissage supervisé. La classification des textes est employée pour étiqueter des catégories prédéfinies ou un morceau de texte donné. Pour que le modèle puisse réaliser cette prouesse, il doit d'abord apprendre à partir d'un ensemble de données étiquetées avant de pouvoir être utilisé pour faire des prédictions sur de nouveaux échantillons de texte non vus.
D'autre part, la modélisation thématique est une technique d'apprentissage non supervisée utilisée pour trouver les sujets sous-jacents dans une collection de documents textuels. Cela signifie qu'il n'a pas besoin d'apprendre à partir d'un ensemble de données étiquetées.
Ainsi, la différence entre les deux méthodes est que la classification des textes est utilisée pour attribuer des étiquettes prédéfinies au texte, alors que la modélisation des sujets permet de découvrir les sujets sous-jacents dans une collection de documents.
Un exemple de classification par rapport à la modélisation des sujets
Conclusion
La modélisation thématique est une technique populaire de traitement du langage naturel utilisée pour créer des données structurées à partir d'une collection de données non structurées. En d'autres termes, cette technique permet aux entreprises d'apprendre les modèles sémantiques cachés représentés par un corpus de textes et d'identifier automatiquement les thèmes qui y sont abordés.
Deux approches populaires de modélisation des sujets sont LSA et LDA. Ils cherchent tous deux à découvrir les modèles cachés dans les données textuelles, mais ils partent d'hypothèses différentes pour atteindre leur objectif. Alors que LSA part du principe que les mots ayant une signification similaire apparaissent dans des documents similaires, LDA part du principe que les documents sont constitués de mots qui aident à déterminer les sujets.
Dans ce tutoriel, nous avons abordé les concepts fondamentaux de la modélisation thématique, une mise en œuvre pratique et la manière dont la modélisation thématique diffère d'autres techniques, telles que la classification et le regroupement de textes. Pour poursuivre votre apprentissage, consultez quelques-unes de nos autres ressources :
Obtenez une certification de haut niveau en matière d'IA
Commencez dès aujourd'hui votre voyage de modélisation thématique !
cours
Introduction à l'analyse de texte en R
cours