Chapitre 2 : Prétraitement PDF
Document Details
Uploaded by SereneArgon3619
Université Virtuelle du Burkina Faso
NIKIEMA Issoufou
Tags
Summary
Ce document présente les différentes étapes du prétraitement des données textuelles pour le traitement du langage naturel (NLP). Il décrit les techniques clés comme les sacs de mots, la tokenisation, le stemming, la suppression des stop words, et mentionne les langages de programmations Python et R utilisés pour ces traitements. Le document explore les stratégies de transformation des données textuelles en données numériques pour les modèles de machine learning appliqués aux données textuelles.
Full Transcript
LE NLP à l’ère de l'IA. ISSOUFOU NIKIEMA L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 1 Plan de la présentation Introduction au NLP Etat de l’art...
LE NLP à l’ère de l'IA. ISSOUFOU NIKIEMA L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 1 Plan de la présentation Introduction au NLP Etat de l’art Méthodologie Mise en œuvre Résultats et Interprétation Conclusion L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 2 PRETRAITEMENT L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 3 CHAPITRE 2 : PRETRAITEMENT Définition Les Etapes de prétraitements Transformation des données L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 4 DEFINITIONS En termes simples, cette étape consiste à préparer et à « nettoyer » les données pour que les machines puissent les exploiter Elle met également en évidence les caractéristiques des textes avec lesquelles un algorithme peut fonctionner. les langages de programmation tels que Python ou R sont très utilisés pour ces techniques. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 5 DEFINITIONS Les différentes étapes pour le traitements des données sont : ❖ Les sacs de mots ❖ La tokenization ❖ Le Stemming ❖ La suppression des stop words L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 6 LES ETAPES DE PRETRAITEMENT Ce modèle permet de compter les mots 1 d’un texte Les sacs 2 Cela permet ensuite de constituer un de mots classificateur des caractéristiques. cette approche ne permet pas de faire une 3 analyse contextuelle ou sémantique de l’entrée. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 7 LES ETAPES DE PRETRAITEMENT Cette fois, le principe consiste à segmenter le 1 texte en phrases ou en mots. La 2 Les segments de textes sont appelés « tokens ». tokenisation Cette approche permet également d’éliminer les 3 caractères tels que les ponctuations ou les émojis. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 8 LES ETAPES DE PRETRAITEMENT le stemming est un autre processus de nettoyage 1 des textes. Le stemming supprimer les préfixes et les suffixes, il coupe la 2 fin ou le début des mots La difficulté de cette approche réside dans la 3 détermination des bons morceaux à couper. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 9 LES ETAPES DE PRETRAITEMENT 1 réduire un mot à sa forme de base Ensuite, les différentes formes d’un même mot 2 sont regroupées. La Cette approche nécessite également des dictionnaires détaillés lemmatisation 3 dans lesquels l’algorithme peut rechercher et relier les mots à leurs radicaux. La lemmatisation prend également en compte le contexte 4 du mot pour identifier les différents sens qu’il peut avoir L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 10 LES ETAPES DE PRETRAITEMENT Les Stop Words signifient également les mots 1 vides. La suppression cette technique du NLP vise à supprimer les 2 articles, les pronoms et les prépositions. des Stop Words Elle permet de libérer de l’espace dans la base de 3 données et d’accélérer le temps de traitement. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 11 TRANSFORMER LES DONNÉES L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 12 TRANSFORMER LES DONNÉES Afin de pouvoir appliquer les méthodes de Machine Learning aux problèmes relatifs au langage naturel, il est indispensable de transformer les données textuelles en données numériques. Il existe plusieurs approches dont les principales sont les suivantes : ❖ Term-Frequency (TF) ❖ Term Frequency-Inverse Document Frequency (TF-IDF) ❖ Word Embedding L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 13 TERM-FREQUENCY (TF) cette méthode consiste à compter le nombre d’occurrences des tokens présents dans le corpus pour chaque texte. Chaque texte est alors représenté par un vecteur d’occurrences. On parle généralement de Bag-Of-Word, ou sac de mots en français. Néanmoins, cette approche présente un inconvénient majeur : certains mots sont par nature plus utilisés que d’autres, ce qui peut conduire le modèle à des résultats erronés L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 14 TERM FREQUENCY-INVERSE DOCUMENT FREQUENCY (TF-IDF) cette méthode consiste à compter le nombre d’occurrences des tokens présents dans le corpus pour chaque texte, que l’on divise ensuite par le nombre d’occurrences total de ces même tokens dans tout le corpus L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 15 TERM FREQUENCY-INVERSE DOCUMENT FREQUENCY (TF-IDF) Pour le terme x présent dans le document y, on peut définir son poids par la relation suivante : ou, tƒx,y est la fréquence du terme x Cette approche permet donc d’obtenir pour chaque texte dans y ; une dƒx est le nombre de documents représentation vectorielle qui comporte des vecteurs de contenant x ; poids N est le total de documents. et non plus d’occurrences. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 16 TERM FREQUENCY-INVERSE DOCUMENT FREQUENCY (TF-IDF) L’efficacité de ces méthodes diffère selon le cas d’application. Toutefois, elles présentent deux principales limites : Plus le vocabulaire du corpus est riche, plus la taille des vecteurs est grande, ce qui peut représenter un problème pour les modèles d’apprentissage utilisées dans l’étape suivante. Le comptage d’occurrence des mots ne permet pas de rendre compte de leur agencement et donc du sens des phrases. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 17 WORD EMBEDDING Elle consiste à construire des vecteurs de taille fixe qui prennent en compte le contexte dans lequel se trouvent les mots Ainsi, deux mots présents dans des contextes similaires auront des vecteurs plus proches (en terme de distance vectorielle). Cela permet alors de capturer à la fois similarités sémantiques, syntaxiques ou thématiques des mots. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 18 WORD EMBEDDING Exemple L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 19 WORD EMBEDDING Exemple avec spacy L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 20 WORD EMBEDDING Généralement de telles représentations sont construites via l’entraînement d’un réseau de neurones sur des tâches de prédiction. Concrètement un apprentissage est effectué, sur des corpus gigantesques de textes via ces réseaux, soit pour prédire un mot en fonction du contexte, soit pour prédire le contexte en fonction du mot. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 21 N-GRAMS De nombreux mots, en anglais comme en français, disposent d’un préfixe ou d’un suffixe qui viennent en changer le sens. En particulier un préfixe peut inverser le sens d’un mot. (correct et incorrect) À l’inverse, un suffixe différent n’affecte généralement pas le sens global du mot. (jour, journée) Il serait pertinent de considérer un embedding qui prendrait en compte ces caractéristiques. L’idée est de mettre le plus loin possible, dans l’espace vectoriel considéré, les mots opposés et de mettre à proximité les mots de sens similaires. Une façon de faire cela, tout en évitant de gérer explicitement, des règles linguistiques complexes est de considérer des n- grams L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 22 N-GRAMS Un n-gram est une sous-séquence de n éléments (ici des lettres) dans une séquence donnée. Par exemple, dans la langue française, le 2-gram (ou bi-gram) le plus répandu est « de », qui apparaît à la fois dans l’article « de » mais aussi dans des mots comme « monde » ou « mode ». Un modèle possible est d’effectuer un apprentissage, possiblement en brute force (ie en testant toutes les possibilités permises), sur l’ensemble de ces n-grams pour en calculer une représentation vectorielle pertinente. C’est le type de modélisation proposée par fastText L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 23 N-GRAMS Un modèle possible est d’effectuer un apprentissage, en brute force (ie en testant toutes les possibilités permises), sur l’ensemble de ces n-grams pour en calculer une représentation vectorielle pertinente. C’est le type de modélisation proposée par fastText L’idée est de considérer chaque mot comme l’ensemble des n-grams qui le constitue, plus le mot lui-même. Par exemple, pour n=3, le mot « where » est constitué des éléments suivants « _wh », « whe », «her », « ere », « re_ » et « where ». L’embedding du mot correspond alors à la somme des tous les vecteurs associés à l’ensemble des n-grams qui le constituent. L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 24 Références 1. https://datascientest.com/le-word-embedding 2. https://dataanalyticspost.com/Lexique/word-embedding/ 3. https://blent.ai/blog/a/word-embedding-nlp-definition 4. https://openclassrooms.com/fr/courses/4470541-analysez-vos-donnees-textuelles/4855006-effectuez-des-plongements- de-mots-word-embeddings 5. https://www.turing.com/kb/guide-on-word-embeddings-in-nlp 6. https://medium.com/@shikezhan/analyse-du-langage-naturel-nlp-partie-1-techniques-de-base-19c0a556671d 7. https://lbourdois.github.io/blog/nlp/Les-tokenizers/ 8. https://www.cloudflare.com/fr-fr/learning/ai/natural-language-processing-nlp/ 9. https://geekflare.com/fr/nlp-text-cleaning-and-preprocessing/ 10. https://aws.amazon.com/fr/what-is/nlp/ 11. https://www.iso.org/fr/intelligence-artificielle/traitement-langage-naturel 12. https://www.youtube.com/watch?v=fokmPpLf3O0&list=PL4GjoPPG4VqOBrkdQ11Dhzs- BP33wMaj_&ab_channel=Learnerea L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 25 Merci Pour votre attention L3 NLP UVBF – PURE DEVELOPPER NIKIEMA Issoufou 26