Notes Complètes : Bloc 2 - Le TAL par niveau de langue
Le Processus de Prétraitement en TAL par Niveau de Langue
Le Traitement Automatique des Langues (TAL) vise à modéliser le langage pour permettre aux machines de traiter des données linguistiques. Les corpus initiaux se présentent sous forme de texte brut (une suite de caractères sans structure interprétable). Pour passer de ce flux de symboles à une représentation exploitable, quatre niveaux d'analyse sont nécessaires : morphologique, syntaxique, sémantique et discursive.
Définition du nettoyage et de la normalisation :
Nettoyer consiste à ignorer certains caractères inutiles (ponctuation superflue, espaces doubles).
Normaliser consiste à regrouper les variantes d’un élément sous une forme standard unique (ex. : uniformisation de l'orthographe).
Techniques de normalisation courantes :
Suppression des espaces et ponctuations en double.
Suppression des accents (pour réduire les erreurs d'encodage selon les langues).
Passage en minuscules (souvent plus efficace, sauf pour l'extraction de noms propres).
Suppression/substitution des caractères spéciaux ou émojis (selon la tâche, car un émoji peut porter le sens global d'un tweet).
Développement des formes contractées (ex. : ).
Transformation des nombres écrits en lettres en chiffres (ex. : ).
Substitution de valeurs par leur type (ex. : ).
Normalisation des sigles et acronymes (ex. : ) et abréviations (ex. : ).
Correction orthographique pour réduire la variation du vocabulaire.
Les Expressions Régulières (Regex)
Les expressions régulières sont des outils compacts pour caractériser et manipuler des ensembles de chaînes de caractères. Elles sont essentielles pour identifier et transformer automatiquement des motifs spécifiques (montants, dates, abréviations).
Exemples de base :
Chaîne simple :
/woodchucks/(respecte la casse).Disjonction (OU) :
/[wW]oodchuck/trouve le mot avec ou sans majuscule ;/cat|dog/trouve l'un ou l'autre ;/[1-10]/cherche un chiffre dans cette plage.Négation (ET NON) :
[^A-Z]exclut les majuscules.Présence optionnelle : Le symbole
?(ex. :/woodchucks?/accepte le s final ou non).Répétition :
*: 0 répétition ou plus.+: au moins une répétition (ex. :/hallo+/trouve "hallo", "halloo", etc.).
Applications : Le programme ELIZA utilise des chaînes de substitution par regex pour simuler une conversation. Des outils comme Sketch Engine permettent d'effectuer des recherches complexes via regex.
Niveau Morphologique : Définition et Segmentation
L'unité de base est le morphème, qui peut être lexical (liste ouverte) ou grammatical (liste fermée). En TAL, on ajoute la catégorie des entités nommées (liste ouverte).
Anatomie du mot : Un mot (unité lexicale) possède un radical, des affixes (préfixes, suffixes, circonfixes, infixes) et suit des règles de dérivation ou de flexion. Il est défini par sa forme lemmatisée, sa catégorie grammaticale et ses traits de flexion.
Tokénisation (Segmentation en tokens) :
C'est l'action de couper un document en occurrences nommées tokens.
Problématiques :
L'espace n'est pas un séparateur universel (ex. : le japonais).
La ponctuation nécessite des exceptions (ex. :
google.com,Ph.D.,#metoo).Les clitiques doivent être reconvertis (ex. : ).
Les collocations/multi-mots doivent être liés (ex. :
Charles de Gaulle).Gestion des disfluences (interjections comme "euh") : On les garde généralement pour la reconnaissance de la parole (prédiction du mot suivant) mais on les supprime pour la transcription propre.
Types vs Tokens :
Tokens () : Nombre total de mots dans un corpus.
Types : Nombre de mots distincts (vocabulaire unique).
Exemple de Jurafsky : "They picnicked by the pool, then lay back on the grass and looked at the stars" compte tokens et types.
Prétraitements Morphologiques : Lemmatisation et Racinisation
Suppression des mots vides (Stop words) : Retrait des mots très fréquents () qui n'apportent pas de valeur sémantique directe pour certaines analyses (mots-clés), bien qu'ils puissent être cruciaux dans d'autres contextes.
Lemmatisation :
Consiste à ramener un mot à sa forme canonique (entrée de dictionnaire : infinitif pour les verbes, masculin singulier pour les adjectifs/noms).
Lemme : Radical + catégorie + sens commun (ex. : "manger").
Forme : Forme fléchie ou dérivée (ex. : "mangeant", "mangeait").
Racinisation (Stemming) :
Suppression des affixes pour normaliser les variantes morphologiques. Le résultat peut ne pas être un mot réel (ex. : ).
Erreurs de stemming :
Over-stemming (Faux positif) : Deux lemmes différents ramenés à la même racine (ex. : ).
Under-stemming (Faux négatif) : Deux mots de même racine ne sont pas liés (ex. : / ).
Niveau Lexical : Étiquetage et Entités Nommées
Ce niveau enrichit le texte avec des informations structurelles supplémentaires.
Étiquetage morphosyntaxique (POS Tagging) :
Attribution d'une catégorie grammaticale (Part-of-Speech) à chaque mot.
Classes fermées : Prépositions, conjonctions.
Classes ouvertes : Noms, verbes.
Dépendances Universelles (Nivre et al.) : Liste de catégories théoriquement applicables à toutes les langues (nom, verbe, pronom, préposition, adverbe, conjonction, participe, article).
Le défi de l'ambiguïté : des tokens d'un texte sont ambigus (ex. : "manque" peut être un verbe ou un nom). Malgré cela, les POS Taggers atteignent une précision de , équivalente à celle des experts humains.
Reconnaissance d'Entités Nommées (NER) :
Identification de noms propres classés en types : PER (personne), LOC (lieu), ORG (organisation), GPE (entité géopolitique).
Extension aux catégories numériques : TIME (dates/heures), MONEY (prix/devises), pourcentages.
Difficultés : Détermination de l'extension (début et fin de l'expression) et ambiguïté (ex. : "Charles de Gaulle" peut désigner l'aéroport ou l'homme d'État).
Techniques : Symboliques (règles/dictionnaires), Statistiques (machine learning supervisé) ou Apprentissage profond.
Niveau Syntaxique : Analyse de Structure
L'analyse syntaxique permet de déterminer les rôles (qui fait quoi à qui). Les Treebanks (corpus arborés) sont les ressources essentielles pour entraîner ces modèles.
Unités syntaxiques :
Chunks : Plus petites séquences catégorisables sans structure interne complexe.
Termes : Noms communs ou groupes nominaux composés.
Syntagmes : Suite de mots formant une unité syntaxique (NP, VP).
Clauses/Propositions : Séquences avec sujet et prédicat.
Outils d'analyse :
Analyseur superficiel (Chunker) : Identifie les constituants de base sans structure interne. Moins coûteux, utile pour les transcriptions orales non normées.
Analyseur syntaxique (Parser) :
Basé sur les constituants : Structure hiérarchique représentée par un arbre (ex. : French Treebank).
Basé sur les dépendances : Se concentre sur les relations de type "parent-enfant" (tête-dépendant) entre les mots.
Ambigüité de structure : Exemple célèbre de Chomsky : "Time flies like an arrow" possède structures possibles (ex. : le temps vole comme une flèche vs. les mouches du temps aiment une flèche).
Niveau Sémantique : Représentation du Sens
Ce niveau traite de la relation entre le mot, le sens et la chose (le triangle sémiotique).
Relativité Linguistique (Hypothèse de Sapir-Whorf) : La langue influence la perception du monde (ex. : catégorisation variable des couleurs selon les cultures).
Désambiguïsation lexicale (WSD) :
Visée : déterminer le sens exact d'un mot en contexte.
Méthodes : Règles manuelles (bases de données sémantiques), Apprentissage automatique (ML), ou approche non supervisée (Embeddings).
Organisations du sens :
Thésaurus : Réseau de relations entre termes d'un domaine.
Relations clés :
Synonymie : Sens presque identiques.
Antonymie : Sens opposés.
Hyperonymie/Hyponymie : Relation de type (ex. : "oiseau" est l'hyperonyme de "pingouin").
Méronymie : "est une partie de".
Ontologie : Hiérarchie de concepts indépendante de la langue.
WordNet (Fellbaum, 1998) :
Ressource lexicale organisée en synsets (ensembles de quasi-synonymes).
Chaque sens possède une glose (définition) et est rattaché à des "supersenses" lexicographiques.
Plongements lexicaux (Word Embeddings) :
Représentation moderne des mots sous forme de vecteurs de nombres réels dans un espace sémantique.
Calculés par entraînement sur des corpus massifs : la proximité vectorielle indique une relation sémantique.
Attention : Les antonymes (ex. : "haut" et "bas") sont souvent très proches vectoriellement car ils apparaissent dans des contextes similaires.
Questions & Exercices sur les Cas Pratiques
Analyse morphologique de la phrase d'exemple :
Phrase : "Au contraire, cet article s'intéresse à leur application au langage parlé…"
Nombre de tokens : (sans ponctuation) / (avec).
Liste de lemmes : "à le contraire ce article se intéresser leur application langage parler…"
Analyse d'entités nommées sur Marie Haps :
Extraction : "Marie Haps" (PER), "Marie Julie Frauenberg" (PER), "Luxembourg" (LOC/GPE), "Diekirch" (LOC), "29 avril 1879" (TIME), "La Panne" (LOC), "Belgique" (LOC/GPE), "1919" (TIME), "Institut libre Marie Haps" (ORG).
Outils recommandés :
CoreNLP (Stanford) : POS Tagger, NER et Parser.
FreeLing : Utilisé par Sketch Engine pour l’étiquetage du français.