0% ont trouvé ce document utile (0 vote)
93 vues174 pages

Raitement Utomatique Des Angues Aturelles Atural Anguage Rocessing

Le traitement automatique des langues naturelles (TALN) est un domaine multidisciplinaire qui vise à rendre le langage humain accessible aux ordinateurs, en intégrant des méthodes de linguistique, d'informatique et d'intelligence artificielle. Il englobe des applications variées telles que la traduction automatique, les chatbots, l'analyse des sentiments et la correction grammaticale. L'évolution du TALN a été marquée par des avancées significatives depuis les années 1950, avec des approches statistiques et linguistiques pour traiter le langage humain.

Transféré par

FATIMA ZAHRA MOUMENE
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
93 vues174 pages

Raitement Utomatique Des Angues Aturelles Atural Anguage Rocessing

Le traitement automatique des langues naturelles (TALN) est un domaine multidisciplinaire qui vise à rendre le langage humain accessible aux ordinateurs, en intégrant des méthodes de linguistique, d'informatique et d'intelligence artificielle. Il englobe des applications variées telles que la traduction automatique, les chatbots, l'analyse des sentiments et la correction grammaticale. L'évolution du TALN a été marquée par des avancées significatives depuis les années 1950, avec des approches statistiques et linguistiques pour traiter le langage humain.

Transféré par

FATIMA ZAHRA MOUMENE
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Traitement Automatique des Langues Naturelles

(TALN)

Natural Language Processing


(NLP)
1
Pr Arsalane ZARGHILI
2
Introduction
TAL: Introduction
3
 Ensemble des méthodes permettant de rendre le langage
humain accessible aux ordinateurs.

 Conception de systèmes et techniques informatiques permettant


de manipuler le langage humain dans tous ses aspects.

 Un domaine multidisciplinaire qui inclut:


 Linguistique : étude de la langue.

 Informatique

 Intelligence artificielle
TAL: Introduction
4
Objets d’étude:
 Parole : Onde sonore
 Analyse par des méthodes statistiques afin de :
 identifier le locuteur
 transcrire les paroles en texte
 Image:
 Extraire le texte à partir d’image: OCR (Optical Character Recognition)

 Texte : Une suite de caractères


TAL: Introduction
5
Motivations:
 Texte : Données non structurées ;
 Quantités massives de données textuelles non structurées stockées sous forme
électronique nécessitent de :
 Classer/évaluer les documents textes
 Découvrir des modèles (jusque-là inconnus)
TAL: Introduction
6
Test de Turing (Alain Turing 1950)
 Le test de Turing permet de déceler si un ordinateur
est intelligent.
 Un humain est placé est dans une pièce et discute
par clavier et interposé avec une personne et un
ordinateur.
 Le test est considéré comme réussi si l’humain
n’arrive pas à déterminer qui est l’autre humain et
qui est l’ordinateur.

 Le TAL étudie la composante langagière de l’intelligence artificielle


 une caractéristique les plus distinctives de l’intelligence humaine est sa capacité à
comprendre/utiliser des langues complexes
 C’est une composante primordiale derrière le test de Turing
TAL: Introduction
7
Test de Turing (Alain Turing 1950)
 Le test de Turing permet de savoir si le comportement de la machine est semblable à
celui d’un être humain. On évalue le comportement extérieur de la machine, ce qui ne
garantit pas forcément la présence d’intelligence ou une compréhension de la langue.

Exemple:

 ELIZA – simulation d’entretien avec un psychothérapeute : http://elizia.net/

 Voir le lien « la supervision » en bas de la page :


 ici on peut voir la liste des règles qui constituent l’ « intelligence » d’Elize :

 Dans la première colonne on a des mots-clés ou des situations,

 et dans la deuxième colonne on a les réactions possibles d’Elize.

 le programme suit des règles simples, sans vraiment comprendre le discours humain.
TAL: Introduction
8
Test de Turing (Alain Turing 1950)
 Au-delà d’imiter un comportement humain, un système devrait être capable de
« comprendre » partiellement un texte : pouvoir identifier certains éléments
textuels afin de les associer à des significations.

 Pas de théorie linguistique opératoire


 Deux approches :
 Linguistique informatique : partir de la langue, étudier les exemples (échantillons
observables), modéliser et concevoir des algorithmes pour un traitement
automatique.

 Informatique linguistique : partir de l’informatique et des mathématiques, appliquer


les modèles existants à la langue, puis observer le résultat en espérant que ça
marche.
TAL: Introduction
9
Histoire: Naissance de l’IA et âge d’or : Les années 195x

 1951 : Shannon a exploité les modèles probabilistes des langages naturels

 1954 : Expérimentation Georgetown-IBM pour traduire automatiquement 60


phrases du russe vers l’anglais.

 1956 : Chomsky a développé les modèles formels de syntaxe.

 1958 : Luhn (IBM) a expérimenté sur le résumé automatiquement du texte


TAL: Introduction
10
Histoire: Naissance de l’IA et âge d’or : Les années 196x
 1961 : Développement du premier analyseur syntaxique automatique à
l’Université de Pennsylvanie. [Joshi, 1961, Harris, 1962]

 1964 : Weizenbaum a mis au point ELIZA, une simulation d’un psychothérapeute


au sein du laboratoire MIT AI.

 1964 : Bobrow a mis au point STUDENT, conçu pour lire et résoudre des
problèmes de mots trouvés dans les livres d’algèbre de lycée [Bobrow, 1964].

 1967 : Brown corpus, le premier corpus électronique.


TAL: Introduction
11
Histoire: Hiver de l’IA : Les années 197x
 1971 : Winograd (MIT) a développé SHRDLU, un programme de compréhension
du langage naturel

 1972 : Colby (Stanford) a créé PARRY un chatbot qui simule une personne avec
la schizophrénie paranoïde.

 1975 : MARGIE un système qui fait des inférences et des paraphrases à partir des
phrases en utilisant la représentation conceptuelle du langage.

 1975 : DRAGON, un système pour la reconnaissance automatique de la parole


en utilisant les modèles de Markov cachés
TAL: Introduction
12
Histoire: Hiver de l’IA : Les années 198x
 1980 : KL-One, représentation de connaissance pour le traitement de la syntaxe
et la sémantique [Bobrow and Webber, 1980].
 1986 : TRUMP, analyseur de langage en utilisant une base lexicale [Jacobs,
1986].
 1987 : HPSG (grammaire syntagmatique guidée) [Sag and Pollard, 1987].
 1988 : Utilisation des modèles de Markov cachés dans l’étiquetage
morphosyntaxique [Church, 1988].

 Solutions symboliques sur le traitement du discours et la génération du langage


naturel
TAL: Introduction
13
Histoire: Printemps de l’IA : Les années 199x

 1990 : Une approche statistique pour la traduction automatique [Brown et


al., 1990].

 1993 : Pen Treebank, un corpus annoté de l’anglais [Marcus et al., 1993].

 1995 : Wordnet, une base lexicale pour l’anglais [Miller, 1995].

 1996 : SPATTER, un analyseur lexical statistique basé sur les arbres de décision
[Magerman, 1996].

 Popularité des méthodes statistiques et de l’évaluation empirique.


TAL: Introduction
14
Histoire: Printemps de l’IA : Les années 200x

 2003 : Les modèles probabilistes de langues en utilisant les réseaux de


neurones [Bengio et al., 2003].

 2006 : Watson (IBM), un système de question/réponse.

 Utilisation de l’apprentissage non supervisé comme alternatives à


l’apprentissage purement supervisé.

 Déplacer le focus sur les tâches sémantiques.


TAL: Introduction
15
Histoire: Printemps de l’IA : Les années 200x

 2011 : Siri (Apple) un assistant numérique personnel. Il a été suivi par Alexa
(Amazon, 2014) et Google Assistant (2016).

 2014 : Word embedding [Lebret and Collobert, 2014].

 2018 : Apparition des représentations contextuelles (des modèles de langue


pré-entraînés) :

 ULMfit (fast.AI) [Howard and Ruder, 2018],


 ELMO (AllenNLP) [Peters et al., 2018],
 GPT (OpenAI) [Radford et al., 2018],
 BERT (Google) [Devlin et al., 2018],
 XLM (Facebook) [Lample and Conneau, 2019].
TAL: Introduction
16
Exemples d’utilisation
 Traduction automatique:
 Depuis ses débuts dans les années 50, la traduction automatique a parcouru un long
chemin.

 Une traduction efficace ne se limite pas à remplacer les mots, elle doit saisir avec
précision le sens de la langue source pour pouvoir retranscrire le texte dans une autre
langue et conserver son sens d’origine.

 Les services de traduction automatique, tels que Google Translate ou DeepL,


exploitent la puissance du traitement du langage naturel pour comprendre et
produire une traduction précise dans plusieurs langues, sous forme textuelle ou
même vocale.
TAL: Introduction
17
Exemples d’utilisation
 Agents virtuels et chatbots:
 Grâce à la technologie du traitement du langage naturel, les chatbots ressemblent
davantage aux humains.
 Les chatbots intelligents alimentés par l’IA, utilisent le traitement du langage naturel
pour comprendre le sens des questions de l’utilisateur et y répondre de manière
précise.
 Les chatbots ont de nombreuses applications dans différents secteurs, car ils
facilitent les échanges avec les clients et automatisent diverses tâches basées sur
des règles, comme
 les réponses aux FAQ, la réservation de vols, l’e-commerce, éducation, santé ……etc.
 Ils peuvent même présenter des capacités transactionnelles, permettant
 de trouver les produits que les utilisateurs recherchent,
 de suggérer des produits similaires,
 de promouvoir des offres,
 de conclure des ventes sans avoir à quitter le chatbot.
TAL: Introduction
18
Exemples d’utilisation
 Analyse des sentiments:
 Vise à évaluer le caractère général d’un texte ou d’un document, en analysant le
langage utilisé dans son contenu.
 Elle peut être utilisée pour les publications sur les réseaux sociaux, les réponses, les
critiques, etc. afin d’identifier le sentiment, l’opinion ou la croyance suscités par un
énoncé.
 Elle fournit ainsi de nombreuses informations concernant les choix des clients et leurs
critères de décision.
Avis sur l’utilisation des Chatbots
TAL: Introduction
19
Exemples d’utilisation
 Classification des e-mails:
 Les e-mails entrants sont automatiquement classés dans la boîte de réception
principale, les promotions et les spams.
 L’IA est programmée pour identifier et classer les messages dans ces catégories
grâce à sa compréhension du contenu des messages.
 le courrier indésirable a tendance à contenir des messages peu clairs et des liens
sortants peu pertinents.
 les e-mails promotionnels utilisent un langage spécifique et présentent
généralement un contenu à caractère commercial, comme des coupons ou des
offres à prix réduit.
 Les notifications des réseaux sociaux
 Les emails à caractère professionnels
 Etc.
TAL: Introduction
20
Exemples d’utilisation
 Outils de correction grammaticale:
 Les outils de correction grammaticale, tels que Grammarly, utilisent les techniques
de traitement du langage naturel afin d’analyser un texte, de vérifier les erreurs
linguistiques et de suggérer les corrections à apporter.
 D’après Grammarly, le logiciel est alimenté par des données relatives aux règles de
grammaire et d’orthographe par son équipe de linguistes et d’ingénieurs en deep
Learning.
 Ceux-ci ont conçu des algorithmes capables d’apprendre les règles et les modèles
de bonne écriture, en analysant des millions de phrases issues de textes de
recherche.
 Le logiciel évolue également grâce aux données: chaque fois qu’un utilisateur
accepte ou ignore une suggestion donnée par Grammarly, l’IA devient plus
intelligente.
 Grâce à ces connaissances, l’outil sait faire la différence entre un usage correct et
incorrect et peut ainsi suggérer des modifications ou des corrections.
TAL: Introduction
21
Exemples d’utilisation
 Résumés de texte:
 Le résumé de texte consiste à raccourcir un texte et à en générer un
résumé concis, tout en conservant l’idée principale et le message véhiculé
par le document d’origine.
 Objectif est :
 « absorber » d’énormes volumes de textes numériques,
 en comprendre le contenu,
 en extraire les idées principales,
 tout en ignorant les informations non pertinentes,
 et créer un texte plus court contenant tous les points essentiels.
TAL: Introduction
22
Exemples d’utilisation
 CV parsing:
 Le parsing CV analyse les CV grâce à l’IA
 Il intervient entre la phase de réception des CVs et de la préqualification des
candidats.
 Cette technique va donc permettre une lecture automatique des CV envoyés par
les candidats.
 Le parsing va ainsi analyser le CV et en extraire les données de façon automatisée.
Cela permet d’utiliser les données du CV pour les insérer dans un tableur de type
Excel ou dans un logiciel personnalisé afin de les structurer et de procéder à leur
classement.
TAL: Introduction
23
Approches en TAL
 Approche statistique
 Elle s’appuient sur un formalisme mathématique.

 Applicable à des corpus de très grande taille.

 Indépendantes de la langue.

 Ne nécessitent pas de connaissances linguistiques

 Les méthodes permettent d’observer la suite de caractères et des mots afin d’en
trouver des régularités et pouvoir prédire certaines propriétés.

 Ne permettent pas de comprendre les phénomènes linguistiques.

 Méthodes : N-grammes, apprentissage automatique.

 Les résultats du système, notamment les erreurs, sont difficiles à expliquer et corriger.
TAL: Introduction
24
Approches en TAL
 Approche utilisant des ressources linguistiques
 Il s’agit de modéliser une certaine partie de la connaissance linguistique afin de la
rendre exploitable par la machine
 Exemple : dans un analyseur morphosyntaxique, on peut introduire la règle :
 SI on trouve une occurrence de « un » ou « une »,
 ALORS c’est un article et le mot suivant est un nom
 Dépendantes de la langue
 Plus difficiles à mettre en place : obligent une conceptualisation des phénomènes
linguistiques
 Nécessitent plus de temps et plus de travail (par des linguistes)
 Les résultats du système, notamment les erreurs, peuvent être expliqués et corrigés
facilement.
TAL: Introduction
25
Niveaux de traitement
 Phonétique
 Etude des sons ou phones produits par l’appareil phonatoire humain.

 Les branches de la phonétique :

 Phonétique articulatoire (la division la plus anatomique et physiologique) décrit


comment les voyelles et les consonnes sont produites ou ≪articulées≫ dans diverses
parties de la bouche et de la gorge.

 Phonétique acoustique (la branche qui a les affinités les plus étroites avec la
physique) étudie les ondes sonores qui transmettent les voyelles et les consonnes
dans l’air du locuteur à l’auditeur.

 Phonétique auditive (la branche qui intéresse le plus les psychologues) examine la
manière dont le cerveau de l’auditeur décode les ondes sonores en voyelles et
consonnes initialement prévues par le locuteur.
TAL: Introduction
26
Niveaux de traitement
 Phonétique: Etude des sons ou phones
produits par l’appareil phonatoire humain.

 Labial à l’aide des lèvres.


Exemple: [b], [p], [m], [f], [v]
 Apicale avec la pointe de la langue ou sa
partie antérieure.
Exemple: [t], [d], [n]
 Dorsal avec la partie postérieure de la langue.
Exemple, [c], [k], [g], [q]
 Pharyngale au niveau du pharynx.
Exemple: ‫ غ‬, ‫ح‬
Voie Orale
 …….Etc.
TAL: Introduction
27
Niveaux de traitement
 Phonologie:
 Etude des sons ou phonèmes d’une langue donnée.

 s’intéresse aux sons en tant qu’éléments d’un système.

 Exemple:
 phonème /i/ : il ;
 phonème /e/ : blé ;
 phonème /ɛ/ : colère ;
 phonème /a/ : platte ;
 phonème /ɑ/ : pâte ;
 phonème /ɔ/ : mort ;
 phonème /o/ : chaud ;
 phonème /u/ : genou ;
 mot « Phonème »: phonème \fɔnɛm\
TAL: Introduction
28
Niveaux de traitement
 Orthographe:

 Etude des types et de la forme des lemmes

 Système d’écriture:

 logographique : logogrammes, chacun est un graphème unique notant un lemme


(mot). Exemple: le Japonais日, 本, 語

 alphabétique : lettres, chacune d’elles représente un phonème. Exemple: Le latin :


A, B, C

 Ponctuation

 Règles d’écriture
TAL: Introduction
29
Niveaux de traitement
 Morphologie:
 Etude de la formation des mots, y compris la façon dont les nouveaux mots sont
inventés dans les langues du monde.

 Etude de la façon dont les formes des mots varient en fonction de leurs utilisations
dans les phrases.

 Morphème : la plus petite unité du langage qui a sa propre signification: les noms
propres, les suffixes, etc.

 Lexème: Morphème lexical libre (mot), ou lié (élément, racine).

 Lemme : un mot choisi parmi ces formes pour représenter le lexème.

 Les catégories grammaticales : adjectif, nom, verbe, adverbe, article, conjonction,


interjection, préposition, pronom
TAL: Introduction
30
Niveaux de traitement
 Syntaxe: ou grammaire
 Structure des phrases : comment les mots se combinent pour former des phrases.
 Catégories grammaticales ou parties du discours (verbe, Nom, Adjectif, etc) des mots
de la phrase ( étiquetage morphosyntaxique).
 Ordre des mots selon le sujet (S), le Verbe (V) et l’Objet (O).
 Fonctions grammaticales : Sujet, COD, COI, etc.
 Une phrase est constituée de plusieurs syntagmes qui sont constitués des mots et
d’autres syntagmes.
 Un syntagme contient un noyau qui est l’élément central.
 Selon le noyau, le syntagme peut être : nominal (NP), adjectival (AP), verbal (VP) ou
prépositionnel (PP).
 Le système formel le plus utilisé pour modéliser la structure des constituants d’une
phrase est la grammaire hors-contexte
TAL: Introduction
31
Niveaux de traitement
 Syntaxe: ou grammaire
 Exemple: la phrase « le petit chat mange le poisson »
 La grammaire qui a généré cet arbre syntaxique peut être écrite:

1. P → NP VP
2. NP → DET NP’
3. NP → DET N
4. NP’ → ADJ N
5. VP → V NP
 La règle (2) n’est pas écrite (NP → DET NP)
 sinon on peut avoir plusieurs déterminants à un nom
TAL: Introduction
32
Niveaux de traitement
 Sémantique:
 Etude du sens dans les langages.
 Sémantique lexicale : sens des mots.
 Sémantique propositionnelle : sens des phrases.
 Un mot peut avoir plusieurs sens (Polysémie).

Exemple de différents sens: Le terme poulet a plusieurs sens selon la phrase

 J’écoute les piaulements des poulets. “Petit du coq et de la poule, plus âgé
que le poussin, avant d’être adulte.”

 Je mange du poulet. “Viande de jeune poule ou jeune coq.”

 Mon petit poulet. “Terme d’affection, que l’on adresse généralement aux
enfants.”
TAL: Introduction
33
Niveaux de traitement
 Sémantique:
 Sème: une unité minimale de signification (trait sémantique minimal).
 Sémème: un faisceau de sèmes correspondant à une unité lexicale.
 Les mots ayant un ou plusieurs sèmes positifs en commun
 appartiennent au même champ sémantique.
 Exemple de l’analyse sémique
TAL: Introduction
34
Niveaux de traitement
 Sémantique: relations sémantiques
 Synonyme: si on substitue un mot par un autre dans une phrase sans changer le
sens, donc les mots sont des synonymes.

 Antonyme: le sens opposé. Les deux mots doivent exprimer deux valeurs d’une
même propriété. Exemple, grand et petit expriment la propriété taille.

 Hyponyme: un mot ayant un sens plus spécifique qu’un autre. Exemple, chat est
l’hyponyme de félin hyponyme de animal.

 Hyperonyme: un mot avec un sens plus générique. Exemple, félin est


l’hyperonyme de chat.

 Méronyme: un mot qui désigne une partie d’un autre. Exemple, roue est un
méronyme de voiture.
TAL: Introduction
35
Niveaux de traitement
 Pragmatique:

 Imaginer qu’on est dans un anniversaire: Une personne a créé : ”Les bougies!”

 On peut directement comprendre qu’il n’y a pas des bougies sur la tarte.

 Question : comment peut-on déduire ca ?

 Réponse : du contexte.
TAL: Introduction
36
Défis du TAL:

Ressources

 Manque des outils et des Datasets pour les langues moins parlées.

 Annotation manuelle des corpus d’entraînement et de test.

 Traitement des documents larges : l’apprentissage automatique est


limité lorsqu’il s’agit de représenter des contextes longs.
TAL: Introduction
37
Défis du TAL: Compréhension de la langue

 Interpréter une phrase correctement est une tâche très complexe


à automatiser

 pour un être humain, c’est une tâche qui requière souvent aucun effort

 mais même pour l’être humain, certains cas peuvent être une casse-tête

 Voici quelques sources de difficultés à surmonter par les méthodes


de TAL
TAL: Introduction
38
Défis du TAL: Compréhension de la langue
Ambiguïté
 Il est possible qu’une phrase puisse être interprétée de plusieurs façons différentes

 Les indicateurs syntagmatiques permettent la distinction entre des phrases de même


structure mais sont syntaxiquement et sémantiquement différentes
TAL: Introduction
39
Défis du TAL: Compréhension de la langue
 Ambiguïté
 Soit la phrase suivante : « cet artiste peint la nuit » peut signifier que:

Cet artiste peint un tableau dont le sujet est la nuit Cet artiste peint un tableau pendant la nuit
TAL: Introduction
40
Défis du TAL: Compréhension de la langue
 Ambiguïté
 Soit la phrase suivante : « Our company is training workers » :
TAL: Introduction
41
Défis du TAL: Compréhension de la langue
 Métaphores
 C’est une phrase ou un mot où les termes y sont pris au sens figuré.

 Certains mots sont parfois utilisés de façon métaphorique (sens figuré)

 Exemple : « La marée de la nuit a progressivement envahi la


campagne »

 Exemple: « The supernova swallowed the planet” : on s’attend à ce


que le mot swallow ait comme sujet une entité vivante
TAL: Introduction
42
Défis du TAL: Compréhension de la langue
 Variations dans le temps
 l’utilisation des mots peut varier dans le temps

 Exemple1: Embarquer

 Au départ, ce verbe n’était utilisé que pour désigner l’action de monter à bord d’un navire,
d’une embarcation.

 Puis son sens s’est élargi et on a commencé à « embarquer » dans les avions et les trains.

 Aujourd’hui, on peut également employer le verbe « embarquer » lorsqu’il est question de


voitures ou d’autres véhicules routiers. On l’entend fréquemment, au Canada, dans des
expressions familières comme « embarquer dans une auto, un taxi ou un autobus ».

 Actuellement il est utilisé dans le domaine de l’électronique « Systèmes Embarqués »

 Exemple2: « ‫ »السيارة‬sens actuel (voiture) et celui de l’époque médiévale (convoi de


voyageurs)
TAL: Introduction
43
Défis du TAL: Compréhension de la langue
 Autres défis:
 Polysémie : un mot ayant plusieurs sens.
 Exemple: Indien : de l’Inde ou bien indigène des Amériques.
 Enantiosémie : un terme polysémique ayant deux sens antonymes.
 Exemple: Regret, désigne la plainte ou la nostalgie : “Je regrette mon enfance”.
 Personnalité : comment modéliser une personnalité ? comment la personnalité affecte
le discours ?
 Variations et communication non standard : les utilisateurs ne respectent pas les
standards d’écriture d’une langue.
 Exemple: langue de chat, arabizi, franglais, etc.
 Intention : il existe des phrases qui ne veulent pas dire ce qu’on comprenne
directement ; elles veulent dire une autres chose (expression idiomatique « Avoir une
langue de vipère »).
 Emotions : les phrases peuvent changer de sens selon les émotions accompagnées.
TAL: Introduction
44
Propriétés statistiques de données textuelles
 L’approche statistique permet d’attaquer naturellement les difficultés (cités
précédemment) par:

 Définition des modèles probabilistes du langage

 Estimation, de façon automatisée, des paramètres du modèle probabiliste à partir de


données

 Les probabilités permettent de gérer notre incertitude sur l’interprétation


(ambiguïté)

 La bonne exploitation de données permet d’adapter automatiquement les


modèles (métaphore, variations dans le temps)
TAL: Introduction
45 Propriétés statistiques de données textuelles
 Données:
Le point de départ du TAL statistique, c’est les données

Corpus : collection de textes / documents

Certaines structures/propriétés sont typiques de données


textuelles

un corpus n’est jamais une combinaison arbitraire de mots


TAL: Introduction
46 Propriétés statistiques de données textuelles
 Fréquence:
 Exemple : statistiques des mots du roman Tom Sawyer
 Word Frequency : nombre d’apparitions
 Frequency of Frequency: nombre de mots

 peu de mots fréquents, beaucoup de mots rares


TAL: Introduction
47 Propriétés statistiques de données textuelles
 Classe fermée: Common Word
 les mots fréquents proviennent surtout des

classes de mots fermées

 ce sont les classes pour lesquelles des mots

ne sont jamais inventés

 déterminants (un, le, son, etc.)

 pronoms (je, tu, il, etc.)

 conjonctions (mais, ou et, donc, etc.)

 prépositions (pour, de, etc.)


TAL: Introduction
48 Propriétés statistiques de données textuelles
 Loi de Zipf
 Une propriété qu’on observe toujours dans la majorité les données textuelles
 Loi de Zipf : la fréquence d’un mot est(approximativement) inversement
proportionnelle à son rang :

 où est une constante

 Rang du mot : ordre du mot dans l’ordre des fréquences des mots
TAL: Introduction
49 Propriétés statistiques de données textuelles
 Loi de Zipf: Roman Tom Sawyer
TAL: Introduction
50 Propriétés statistiques de données textuelles
 Loi de Zipf: Roman Tom Sawyer
 La variation de la fréquence est (approximativement) linéaire en fonction du rang
TAL: Introduction
51 Propriétés statistiques de données textuelles
 Collocations
 Phrases courtes dont le sens va «au-delà» de la combinaison des sens de ses
mots

 Peut être incluses dans un dictionnaire

 Si un mot apparaît dans une collocation, il pourrait être traduit différent

 Exemples :

 disk drive

 make up

 New York
TAL: Introduction
52 Propriétés statistiques de données textuelles
 Collocations
 Exemple (Corpus New York Times)
 sélections des paires nom-nom
et adjectif-nom les plus fréquentes
53
Traitement Basique du Texte
Traitement Basique du Texte
54
Manipulation du Texte
 Avant d’appliquer une méthode statistique, on doit définir la forme que doit
prendre nos données
 la forme désirée va souvent varier selon l’application

 le choix de la forme peut avoir un impact significatif sur les résultats

 Transformer nos données sous la forme désirée nécessitera de définir certaines


règles de transformation qui sont inspirées par des connaissances linguistiques

 Dans ce qui suit, on supposera que nos données sont déjà dans un document
qui a un format électronique purement textuel
 Un document sera une longue chaîne de caractères
Traitement Basique du Texte
55
Manipulation du Texte
 Un texte est structuré en paragraphes, phrases, mots et caractères.

 Certaines tâches exploitent cette structure.

 Plusieurs tâches se basent sur les mots comme unité de traitement.

 Avant de procéder à un traitement, il faut d’abord exécuter une phase de


prétraitement :

 Segmenter le texte ;

 Filtrer les données non nécessaires ;

 Normaliser les mots pour limiter les variations à traiter.


Traitement Basique du Texte
56 Manipulation du Texte
 Caractères
 Utilisation des Expressions régulières
 Calcul de la Distance d’édition
 Segmentation
 Délimitation de la phrase
 Séparation des mots
 Normalisation et filtrage
 Normaliser les mots pour limiter les variations à traiter
 Filtrage du texte
 Analyse Morphologique
 Formation des mots
 Réduction des formes
Traitement Basique du Texte
57
Manipulation du Texte: les caractères
 Expressions régulières

 utilisées pour chercher des chaînes de caractères dans un texte.

 reconnaissent des langages réguliers.

 utiles pour l’analyse lexicale (séparation des mots).

 Distance d’édition

 utilisée pour mesurer la différence entre deux chaînes de caractères.

 utile pour la recherche approximative.


Traitement Basique du Texte: Les Caractères
58 Expressions Régulières

 Une expression régulière (ER) est une façon simple de caractériser un ensemble
de chaînes de caractères, de façon compacte.

 C’est un formalisme utile pour faire de l’extraction d’information dans des


données textuelles.

 Les ERs permettent de rechercher des mots ayant certaines propriétés dans un
texte.

 Elle sont utiles pour l’Analyse Lexicale (séparation des mots).

 Elles sont utilisées pour mesurer la différence entre deux chaînes de caractères.

 Elles sont utiles pour la recherche approximative.

 On peut les retrouver dans de nombreux langages (PHP, Javascript, python,...) ou


encore dans des logiciels d'édition de code(Notepad++,….)
Traitement Basique du Texte: Les Caractères
59 Expressions Régulières: Règles

 Les caractères de début et de fin de chaîne, respectivement ^ et $,


représentent, comme leur nom l'indique, le début et la fin de la chaîne.
 ^Bonjour

 Bonjour$

 pour le groupement, utiliser ( )


 (bla)

 pour la disjonction (ou), utiliser |


 ^(jour|nuit|matin|soir)$ : exactement les quatre mots “jour” ou “nuit” ou “matin”
ou “soir” (permet de rechercher une liste de mots)

 Un ensemble de caractère est délimité par des crochets [ ] dans lesquels se


trouvent les caractères faisant partie du OU.

 mots|mats|mits est équivalent à m[oai]ts


Traitement Basique du Texte: Les Caractères
60 Expressions Régulières: Règles

Les Quantificateurs
 Ce sont des caractères qui indiquent le nombre de répétition du caractère ou de la suite
de caractère qui les précèdent. Le quantificateur, peut s'écrire de 4 façons :
 {min,max} : le nombre de répétition varie entre la valeur minimale et la valeur
maximale
 {min,} : le nombre de répétition varie entre la valeur minimale incluse et l'infini
 {,max} : le nombre de répétition varie entre 0 et la valeur maximale incluse
 {nombre} : le nombre de répétition correspond au nombre marqué entre les
accolades
Traitement Basique du Texte: Les Caractères
61 Expressions Régulières: Règles
 Les Quantificateurs:

Il Quantificateur
existe aussi des quantificateurs préconçus. En voici la liste:Équivalent
Traduction
* 0 ou plusieurs répétitions {0,}
+ 1 ou plusieurs répétitions {1,}
? 0 ou 1 répétition {,1}

 Exemple:
Traitement Basique du Texte: Les Caractères
62 Expressions Régulières: Règles

 un moyen plus simple existe pour écrire des ERs moins longues, à l’aide des intervalles

Intervalle Equivalent Traduction

[a-z] [abcdefghijklmonpqrstuvwxyz] Lettres minuscules de a à z

[ABCDEFGHIJKLMNOPQRSTUVWXY
[A-Z] Lettres majuscules de A à Z
Z]

[0-9] [0123456789] Chiffres de 0 à 9

[abcdefghijklmonpqrstuvwxyz0123 Lettres minuscules de a à z ou


[a-z0-9]
456789] chiffres de 0 à 9
Traitement Basique du Texte: Les Caractères
63 Expressions Régulières: Règles

 Un ensemble préconçu est une façon très simple de représenter plusieurs


intervalles. Voici quelques exemples :

Ensemble Equivalent
. Absolument n'importe quel caractère
\w [a-zA-Z0-9_]
\W [^\w]
\d [0-9]
\D [^0-9]
\n Un retour à la ligne
\t Une tabulation
\f Un saut de page
\s [\n\r\t\f]
\S [^\s]
Traitement Basique du Texte: Les Caractères
64 Expressions Régulières: Règles
 Le backslash \

Pour faire comprendre qu’un caractère parmi « ^ $ \ | { } [ ] ( ) ? # ! . + * » présent dans


l’ER est bien un caractère et non pas un caractère de l’ER ou bien pour capturer un
groupe de caractère, il faut l’échapper avec le caractère d'échappement le backslash \

 Exemple1 : Pour sélectionner les noms de domaine des adresses email


[email protected] et [email protected], on utilise:

yahoo\.[a-z]{2,3} au lieu de yahoo.[a-z]{2,3}

 Exemple2 : \(1er)
Traitement Basique du Texte: Les Caractères
65 Expressions Régulières: Exemples

 ion : recherche les mots qui contiennent la chaine “ion”, dans n’importe
quelle position

 ion$ : mots se terminant par “ion” ($=fin de mot)

 ^anti : recherche tous les mots commençant par “anti” (^=début de mot)

 ^maison$ : recherche exactement le mot “maison”

 p.t : recherche les mots qui contiennent un “p”, suivi d’une lettre quelconque,
puis d’un “t” (le point correspond à n’importe quel caractère)

 ^p…r$ : mots commençant par “p”, suivi de trois lettres quelconques, et


finissant par “r”
Traitement Basique du Texte: Les Caractères
66 Expressions Régulières: Exemples

 [aeiou][aeiou] : mots contenant (au moins) 2 voyelles successives ([ ] = classe de


caractères: [abc] signifie la même chose que (a|b|c))

 ^[aeiou] : mots commençant par une voyelle

 ^[^aeiou] : mots ne commençant pas par une voyelle

 m[^oai]ts: mots commençant par un m, suivi d'une lettre qui n'est ni o, ni a, ni i, , suivi
d'un t, suivi d'un s

 oid|ion|ein : recherche les mots qui contiennent (au moins) une des trois chaînes
“oid”, “ion” ou “ein”
Traitement Basique du Texte: Les Caractères
67 Expressions Régulières: Exercices

 Donner l’ER qui cherche les mots “il” (singulier et pluriel).


Comme par exemple : « Il a passé par son lieu de travail et il a dit : “je suis devenu vieil ; ils n’ont
plus besoin de moi”

(i|I)ls?

 Les nombres à virgule flottante


^(+|-)?[0-9]+\.[0-9]+ ou bien ^(+|-)?\d+\.\d+
 Soit le texte suivant: chercher les couleurs en hexadécimal à 24 bits
24 bit:
AliceBlue #F0F8FF
AntiqueWhite #FAEBD7
Aqua #00FFFF
Aquamarine #7FFFD4 #(\d|[A-F]){6}
Azure #F0FFFF
12 bit:
White #FFF
Red #F00
Green #0F0
Blue #00F
Traitement Basique du Texte: Les Caractères
68 Expressions Régulières: Exercices

 ER qui recherche les lignes ayant au moins 30 caractères


This line is way too loooooooooooong.
^.{30,}
This one is fine.
This one is fine too.
This line is also too long................

 ER pour vérifier si un numéro de téléphone marocain est correct

(0|(\+|00) 212)[5-7]([0-9]{2}){4}

 ER pour détecter les liens HyperText


https?://[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}(/\S*)?
Traitement Basique du Texte: Les Caractères
69 Expressions Régulières: Lookahead et Lookbehind
 Parfois on a juste besoin de trouver les mots précédent ou suivant un autre mot.
 Il existe pour cela des syntaxes spéciales, appelées “lookahead” et “lookbehind”
Exemple:
Trouvons le prix à partir d’une chaîne de caractères comme :1 dindes coûte 30DH.
C’est un nombre suivi par le signe DH

Lookahead

 La syntaxe X(?=Y) : veut dire "recherche X, mais renvoie une correspondance


seulement si il est suivi de Y".
Tous les motifs peuvent être utilisés au lieu de X et Y.
Pour un nombre entier suivi de DH, l’expression régulière sera \d+(?=DH)
 La syntaxe X(?!Y) : veut dire "X, mais seulement si il n’est pas suivi de Y".
Traitement Basique du Texte: Les Caractères
70 Expressions Régulières: Lookahead et Lookbehind

Lookbehind

 (?<=Y)X, correspond à X, mais seulement si il y a Y avant lui.

 (?<!Y)X, correspond à X, mais seulement si il n’y a pas Y avant lui.

Par exemple, changeons le prix en dollars US. Le signe dollar est généralement placé
avant le chiffre, donc pour récupérer $30 nous utiliserons (?<=\$)\d+
Traitement Basique du Texte: Les Caractères
71 Expressions Régulières: Regroupement des correspondances et remplacement
 On peut regrouper les pièces de correspondance en les mettant entre ().
 Ensuite, on référence les groupes dans ER par \1, \2, etc.
 On peut utiliser des groupes pour les remplacer, en les référençant par des
nombres : $1, $2, .. dans l'expression de remplacement

 Pour changer le formatage du nom ci-dessous de

« Ali Alaoui » à « Alaoui, Ali » en remplaçant (\w+)\s(\w+) par $2, $1

Ali Alaoui Alaoui, Ali


Sara Kamal Kamal, Sara
Khalid Lahlou Lahlou, Khalid
Traitement Basique du Texte: Les Caractères
72 Expressions Régulières: Backreference
 Les Backreferences offrent un moyen pratique d’identifier un caractère répété ou une sous-
chaîne répétée dans une chaîne. une ER identifie un groupe précédemment mis en
correspondance et recherche à nouveau exactement le même texte

 Par exemple, si la chaîne d’entrée contient plusieurs occurrences d’une sous-chaîne arbitraire,
vous pouvez faire correspondre la première occurrence à un groupe de capture, puis utiliser une
référence arrière pour faire correspondre les occurrences suivantes de la sous-chaîne.

 On peut référencer la même séquence de symboles par référence arrière.

 \1 représentera le premier groupe correspondant,

 \2 le second, etc.

 Exemple: (\d)\1 pour faire correspondre deux chiffres égaux consécutifs.

3679027856362882322728927929378923538045296622
Traitement Basique du Texte: Les Caractères
73 Distance d’Edition:

 utilisée pour mesurer la différence entre deux chaînes de


caractères
 Correcteurs orthographiques

 Utile pour la recherche approximative

 Opérations d’édition
 Insertion: insertion d’un caractère dans une chaîne

 Suppression: suppression d’un caractère d’une chaîne

 Substitution: substitution d’un caractère par un autre

 Transposition: changement de l’ordre de deux caractères


Traitement Basique du Texte: Les Caractères
74 Distance d’Edition:

 Distances
 Hamming: permet seulement la substitution

 Levenshtein: permet l’insertion, la suppression et la substitution

 Jaro: permet la transposition

 Damerau–Levenshtein: permet l’insertion, la suppression, la substitution et la


transposition entre deux caractères adjacents
Traitement Basique du Texte: Les Caractères
75 Distance d’Edition: Distance de Hamming

 X : chaîne source de longueur n.

 Y : chaîne destinataire de longueur m.

Exemples des distances de Hamming

 D(100100, 101001) = 3

 D(abdelkrim, abderahim) = 3
Traitement Basique du Texte: Les Caractères
76 Distance d’Edition: Distance de Levenshtein
 Calcule le plus petit nombre d'opérations d'édition nécessaires (insertion, suppression,
substitution) pour modifier une chaîne afin d'obtenir une autre chaîne.

 La méthode de calcul la plus courante consiste à utiliser l'approche de programmation


dynamique.

 X : chaîne source de longueur n.

 Y : chaîne destinataire de longueur m.

 D : une matrice où D[i, j] est la distance d’édition entre les sous-chaînes X[1..i] et Y[1..j].

 pour calculer D[n,m], on utilise la programmation dynamique D[0,0] = 0

1
//Substitution
Traitement Basique du Texte: Les Caractères
77 Distance d’Edition: Distance de Levenshtein

Exemple: panorama  paronomase


 En allant jusqu'à la dernière case tout en choisissant à chaque pas la case
suivante la moins coûteuse, on trouve un ensemble minimal d'opérations :

 un saut de colonne (de gauche à droite): correspond à une insertion,

 par exemple de D[8, 8] = 3 à D[8, 9] = 4, ici l'ajout d'un "s" ;

 un saut de ligne (de haut en bas), correspond à une suppression ;

 un saut de ligne et de colonne (case juste en bas à droite): correspond à


une substitution

 par exemple de D[2, 2] = 0 à D[3, 3] = 1, ici la substitution de "n" en "r".


Traitement Basique du Texte: Les Caractères
78 Distance d’Edition: Distance de Levenshtein
D e s t i n a t i o n
# P A R O N O M A S E
# 0 1 2 3 4 5 6 7 8 9 10 Insertion
S P 1 0 1 2 3 4 5 6 7 8 9
o A 2 1 0 1 2 3 4 5 6 7 8
u N 3 2 1 1 2 2 3 4 5 6 7 Suppression

r O 4 3 2 2 1 2 2 3 4 5 6
R 5 4 3 2 2 2 3 3 4 5 6
c A 6 5 4 3 3 3 3 4 3 4 5 Subtitution
e M 7 6 5 4 4 4 4 3 4 4 5
A 8 7 6 5 5 5 5 4 3 4 5

Distance de Levenshtein = 5
1
Traitement Basique du Texte: Les Caractères
79 Distance d’Edition: Distance de Levenshtein

On peut retrouver la transformation de la chaîne "panorama" en la chaine "paronomase"


à l'aide des cinq opérations de coût minimal avec l'algorithme de Levenshtein et vérifier
qu'il s'agit bien d'une transformation .

 panorama  parorama : substitution de "n" en "r"

 parorama  paronama : substitution de "r" en "n"

 paronama  paronoma : substitution de "a" en "o"

 paronoma  paronomas : ajout d'un "s"

 paronomas  paronomase : ajout d'un "e"

Le chemin mis en exergue dans la matrice correspond aux opérations proposées


intuitivement plus haut. Cependant, d'autres chemins de même distance sont possibles.
Traitement Basique du Texte: Les Caractères
80 Distance d’Edition: Distance de Levenshtein
 Exercices:
calculer les distances de Levenshtein pour les transformations
suivantes :

niche  chien

intention  exécution

amibe immature
Traitement Basique du Texte: Les Caractères
81 Distance d’Edition: Quelques Applications

 Révision des fichiers : par exemple, la commande Unix diff qui compare
entre deux fichiers.

 Correction d’orthographe : suggérer des corrections possibles d’une faute

 Détection du plagiat : ici, on utilise des mots à la place des caractères.

 Filtrage de spam : parfois, les spammeurs commettent des fautes


d’orthographe intentionnellement pour tromper l’outil de détection de
spam.

 Bio-informatique : quantification de la similarité entre deux séquences


d’ADN.
Traitement Basique du Texte: Les Caractères
82 Manipulation du texte: Segmentation
Problématique: Segmentation en paragraphes, mots, expressions particulières
 Tokenisation  Détection et dénombrement des mots (ou parfois N-grams)
 Parfois simple -> ponctuation
 Parfois impossible selon la langue

 Un nouveau paragraphe est marqué par un retour à la ligne ou en utilisant la balise <p>
en HTML.

 Lorsqu’on utilise un outil pour extraire du texte à partir des pdfs, on aura plusieurs
retours à la ligne.

 Une nouvelle phrase est marquée par un point (ou une autre marque).

 Le point n’est pas seulement utilisé pour marquer une phrase.

 Un mot est délimité par un espace.

 Pas toujours!
Traitement Basique du Texte: Les Caractères
83 Manipulation du texte: Segmentation
Problématique: Segmentation en paragraphes, mots, expressions particulières
 Le point est utilisé dans les nombres :

 123,456.78 (style américain), 123.456,78 (style européen)

 Les abréviations contiennent des points. (etc., Mr., ….)

 Des phrases longues sont difficiles à traiter ; il vaut mieux les séparer.

 Les phrases entre guillemets.

 Des langues, comme le chinois, le japonais, n’utilisent pas des marqueurs pour séparer les
phrases. (今年は本当に忙しかったです)
 Les mots composés : par attachement
 (“‫يختبرونهم‬, ils les testent”)
 ou par trait d’union (va-t-il, c-à-dire).
 Confusion entre des caractères : l’apostrophe est utilisée pour la citation, la contraction
(She’s, J’ai)
Traitement Basique du Texte: Les Caractères
84 Manipulation du texte: Segmentation
Facteurs de segmentation de phrase

 La casse : les phrases commencent par une lettre en majuscule.

 Catégorie grammaticale : les catégories des mots avant le point peuvent aider la
décision (limite ou non).

 Longueur du mot : les abréviations sont moins longues.

 Préfixes et suffixes : les mots avec des infixes sont moins probables d’être des
abréviations.

 Noms propres : les noms propres commencent par une lettre en majuscule et ils peuvent
ne pas être le début d’une phrase.
Traitement Basique du Texte: Les Caractères
85 Manipulation du texte: Segmentation
Approches de Séparation des mots

 Approche par règles : en utilisant des expressions régulières.

 https://www.nltk.org/api/nltk.tokenize.html

 https://nlp.stanford.edu/software/tokenizer.shtml

 https://spacy.io/

 Pas toujours simple

 Approche Statistique : en utilisant un modèle de langue pour calculer la probabilité


qu’un caractère marque la fin d’un mot.

 https://nlp.stanford.edu/software/segmenter.html

 https://opennlp.apache.org/
Traitement Basique du Texte: Les Caractères
86 Manipulation du texte: Normalisation et Filtrage
Normalisation du texte
 PROBLEMATIQUE:

 Un texte peut contenir des variations du même terme (lemmatisation).

 Aussi, dans des tâches comme la recherche d’information, on n’a pas besoin
d’avoir le contenu exacte du texte.

 SOLUTION: transformer le texte à une forme canonique

Filtrage du texte
 PROBLEMATIQUE : le texte peut contenir des caractères, des mots et des

expressions qui peuvent entraver son traitement.

 SOLUTION : suppression.
Traitement Basique du Texte: Les Caractères
87 Manipulation du texte: Normalisation et Filtrage
Normalisation : (Tokenization)
Tokenization  découpage en token

 Acronymes et les abréviations ;

 forme standard : US → USA, U.S.A. → USA

 version longue : M. → Monsieur

 Formater les valeurs comme les dates et les nombres de la même façon;

 conversion à la forme textuelle : 1500 MAD → Mille cinq cent dirhams


marocain

 format spécifique : 12 Janvier 1986, 12.01.86 → 1986-01-12.

 remplacement par le type : 12 Janvier 1986 → DATE,

[email protected] → EMAIL.
Traitement Basique du Texte: Les Caractères
88 Manipulation du texte: Normalisation et Filtrage
Normalisation :
 Transformer les majuscules en minuscules ;

 Texte → texte

 Des fois, il faut laisser la casse telle qu’elle est, comme dans les noms propres (Ali)

 Contractions ;

 you’ll → you will, s’il → si il

 Diacritiques

 désaccentuation : système → systeme

 dévocalisation : ُ‫س‬
ُ ‫ يدرس → يَد ُْر‬Sauf dans les cas où on a besoin des diacritiques
(poèmes)
Traitement Basique du Texte: Les Caractères
89 Manipulation du texte: Normalisation et Filtrage
Normalisation : Exemple
Tokenization  découpage en token

Plus complexe
Traitement Basique du Texte: Les Caractères
90 Manipulation du texte: Normalisation et Filtrage
Filtrage : (Filtering)
 Les caractères spéciaux comme les caractères non imprimables ;

 peuvent mener à des traitements erronés.

 Les mots clés dans les formats textuelles ;

 les balises HTML, XML, etc.

 Les mots vides : les mots non significatifs comme les prépositions, articles et les
pronoms.

 en anglais : stop words.

 dans la recherche d’information, il est inutile de les indexer.

 dans le résumé automatique, ces mots peuvent dégrader les scores des phrases.
Traitement Basique du Texte: Les Caractères
91 Manipulation du texte: Normalisation et Filtrage
Exemple:
Traitement Basique du Texte: Les Caractères
92 Manipulation du texte: Morphologie
 La morphologie étudie la façon dont les mots sont construits

 exemple : on obtient le pluriel de voiture en ajoutant un s à la fin

 Le morphème est l’unité de base dans la construction d’un mot en morphologie

 ce sont les sous-chaînes les plus petites d’un mot, telles que chacune de ces sous-
chaînes porte quand même une partie de la signification d’un mot (contrairement
aux lettres)

 Exemple : chanteurs

 chant (chant)

 eur (celui qui fait)

 s (pluriel)
Traitement Basique du Texte: Les Caractères
93 Manipulation du texte: Morphologie

 Trois procédés morphologiques principaux, utilisés dans de


nombreuses langues, peuvent être distingués:

Flexion ‫إلصاق‬

Dérivation ‫اشتقاق‬

Composition ‫تركيب‬
Traitement Basique du Texte: Les Caractères
94 Manipulation du texte: Morphologie

Flexion ‫إلصاق‬

 modifie un radical afin de modifier sa forme linguistique (changement de


nombre, genre, temps, personne, mode et cas).

 Enfant  Enfants

 Intéressant  Intéressante Intéressantes

 Monter  Remonter montent

 ‫قرأ‬  ‫سيقرأه‬ ‫قرأه‬

 ‫مدرسة‬  ‫بالمدرسة‬ ‫بمدرستهم‬

 ‫أكفي‬  ‫فسأكفيكهم‬
Traitement Basique du Texte: Les Caractères
95 Manipulation du texte: Morphologie

Flexion ‫إلصاق‬

 La flexion n’induit pas de changement de catégorie grammaticale.

 Les différents mots liés par la flexion (ou formes fléchies) sont, représentés par le
lemme qui est une forme unique et correspond pour la langue française à
l’infinitif des verbes, au masculin singulier des adjectifs, et au singulier pour les
noms
Traitement Basique du Texte: Les Caractères
96 Manipulation du texte: Morphologie

Flexion ‫إلصاق‬

 Pour la langue arabe, le stem représente le mot dépourvu de l’enclitique et du


proclitique, et le lemme correspond au singulier masculin du stem pour les noms
et pour les verbes à la forme de leurs stems conjuguée au passé à la troisième
personne du singulier.
Traitement Basique du Texte: Les Caractères
97 Manipulation du texte: Morphologie
Dérivation ‫اشتقاق‬

 Formation de nouveaux mots grâce à l’adjonction d’affixes au radical.

 En français, on peut distinguer trois opérations dérivationnelles:

 Dérivation par préfixation (relire = [re + lire])

 Dérivation par suffixation (cancéreux = [cancer + eux])

 Formation parasynthétique (intraveineuse = [intra + vein +euse]).

 La dérivation peut induire un changement de catégorie grammaticale.


Traitement Basique du Texte: Les Caractères
98 Manipulation du texte: Morphologie
Dérivation ‫اشتقاق‬

 En langue arabe, la dérivation se fait en appliquant des modèles ) ‫) األوزان‬aux


racines ( ‫)الجذور‬

 Exemples:
Traitement Basique du Texte: Les Caractères
99 Manipulation du texte: Morphologie

COMPOSITION : ‫تركيب‬

 Combinaison de deux ou plusieurs bases pour former un nouveau mot.

 On peut par exemple ajouter un morphème libre à un autre morphème libre


(ex:cellulecible).

 En langue arabe, la composition est présente essentiellement dans les noms propres

 Exemples:

‫عبد هللا – عبد الرحيم – حضرموت – ساحل العاج – المغرب العربي‬

doghouse

cerf-volant
Traitement Basique du Texte: Les Caractères
100 Manipulation du texte: Morphologie – Stemming - ‫الجذع‬
 On distingue deux types de morphèmes:

 Radical ou racine (stem) : le morphème «principal»

 affixes :

 morphèmes ajoutant à la signification de la racine.

 Il crée un nouveau mot tout en modifiant le sens ou la fonction

 Exemple : chanteurs

 chant (chant): radical ou stem

 -eur (celui qui fait) affixes

 -s (pluriel)affixes
Traitement Basique du Texte: Les Caractères
101 Manipulation du texte: Morphologie- Stemming
 On distingue différents types d’affixes
 Préfixe ) ‫(السابق‬: se place avant le radical: ‫ يطالعون‬, incapable, unlucky

 Suffixe )‫ (الالحق‬: se place après le radical : ‫ يطالعون‬, commencement, happiness

 Infixe )‫(الداخل‬: se place à l’intérieur du radical: ‫ طالع‬, boitiller, Passersby


 Circonfixe : peut se placer avant ou après le radical (spécifique pour certaines
langues)

 Un mot a normalement un seul radical mais peut avoir plusieurs affixes


 Rewrites, unbelievably, ‫فسيطالعونه‬

 l’ajout d’un suffixe peut modifier les lettres sur la frontière entre le radical et le suffixe:

 Tries, begging

 Certaines langues (Turque) ont des mots avec jusqu’à 9 ou 10 affixes


 on appelle de telles langues des langues agglutinantes
Traitement Basique du Texte: Les Caractères
102 Manipulation du texte: Morphologie- Stemming
Cliticisation, Clitique
 Un clitique est une unité à mi-chemin entre un mot et un affixe

 La cliticisation est l’ajout en affixe d’un clitique


Traitement Basique du Texte: Les Caractères
103 Manipulation du texte: Morphologie- Stemming
proclitique, enclitique

 Les proclitiques)‫ (قبلُالسابق‬précèdent le mot


exemples : l’opéra, je m’asseois, ‫فسيطالعونه‬

 Les enclitiques )‫(بعدُالالحق‬suivent le mot


exemples : he’d, she’s, ‫فسيطالعونه‬

 À noter que leur utilisation peut être ambiguë


en anglais:
she’s peut être she is ou she has
Traitement Basique du Texte: Les Caractères
104 Manipulation du texte: Morphologie – Stemming
Algorithmes:

 Stemmers pour l’Arabe:


 ISRIStemmer
 Arabicstemmer
 AlKhalil-Stemmer
 Tashaphyne, etc.
Traitement Basique du Texte: Les Caractères
105 Manipulation du texte: Morphologie- Lemmatization
 Réduction de formes pour chercher la forme canonique d’un mot appelé le
lemme (anglais : lemma)

 La lemmatisation est similaire au stemming mais elle apporte un contexte aux


mots.

 Ainsi, il relie des mots ayant des significations similaires à un seul mot (Lemme).

 Exemples:

Comprennent → comprendre,

Better → good

On doit avoir le contexte du mot: saw → (V) see (voir)

ou saw → (N) saw (scie)


Traitement Basique du Texte: Les Caractères
106 Manipulation du texte: Morphologie
Traitement Basique du Texte: Les Caractères
107 Manipulation du texte: Morphologie
Conclusion:

 La morphologie est le niveau le plus simple dans le traitement d’un langage.

 Les tâches dans ce niveau sont beaucoup plus basées sur le caractère (graphème) qui
est l’unité la plus basique dans le système d’écriture.

 La plupart des problèmes peuvent être résolus avec des expressions régulières. Ces
dernières peuvent être utilisées pour rechercher des mots, extraire les phrases et les mots,
extraire des parties du mot (racine), etc.

 Toutes ces tâches reviennent à la recherche d’un segment dans le texte.

 Pour une recherche approximative, des méthodes de comparaison dans le niveau


caractère (distance d’édition) sont utilisées.
Etiquettage Morpho-syntaxique
108
Etiquetage: Définition
 But : affecter des étiquettes à des éléments d’une séquence.

 Exemple : affecter des catégories grammaticales à des mots dans une


phrase.

 Formulation du problème

Soit w = w1, . . . ,wn : une séquence d’entrée

Et t = t1, . . . , tn : une séquence des étiquettes

argmax P(t|w)

argmax: la fonction argument maximum représente la valeur de la variable


pour laquelle la valeur de la fonction concernée atteint son maximum
Etiquettage Morpho-syntaxique
109
Etiquetage: Applications
 Exemple de Reconnaissance d’entités nommées
 Trouver les personnes, les organisations, les places, les nombres, etc dans une
phrase.
 Exemple de la reconnaissance d’Entités Nommées (mots propres)

DH Fez, Morocco

 Exemple d’étiquetage morpho-syntaxique sur : https://corenlp.run/

DH Fez , Morocco .
Etiquettage Morpho-syntaxique
110
Définition
 Trouver les catégories grammaticales de chaque mot dans une
phrase
 Définir les catégories grammaticales:
 Nature, catégorie grammaticale, catégorie lexicale, classe grammaticale,
espèce grammaticale, partie du discours
 Anglais : Part of speech (POS)

 Il y a donc intérêt à automatiser l’extraction et l’ajout de cette


information à des corpus
 on appelle cette tâche en TAL: Etiquetage Morphosyntaxique
 En Anglais: Part-Of-Speech Tagging: POS Tagging
Etiquettage Morpho-syntaxique
111 Définition :Part-Of-Speech (POS)
Connaître le POS d’un mot est souvent très utile
les affixes applicables à un nom ou à un verbe sont différents

peut influencer la traduction d’un mot


Exemple : drink peut être boisson (nom) ou boire (verbe)

peut influencer la façon de prononcer un mot


Exemple : OBject (nom) vs. obJECT (verbe)
Etiquettage Morpho-syntaxique
112 Définition: classe ouverte, classe fermée
 Généralement, une classe regroupe les mots qui s’utilisent de la
même façon, sans égard à leur sens

 En Anglais: Il existe deux grandes catégories de classes

 les classes ouvertes : des mots sont régulièrement ajoutés à ces classes

 les classes fermées : des mots sont jamais (rarement) ajoutés à ces classes et
sont surtout des mots-outils

Voir: https://universaldependencies.org/u/pos/
Etiquettage Morpho-syntaxique
113 Définition: Classes ouvertes
 Les classes ouvertes principales sont
noms (ship, relationship, IBM)

verbes (draw, provide, eating)

adjectifs (good, bad, beautiful)

adverbes (here, downhill, slowly, yesterday)

 D’un corpus à l’autre, les mots de classe ouverte peuvent changer


Etiquettage Morpho-syntaxique
114 Définition: Classes ouvertes
 Les noms couvrent normalement les personnes, endroits et choses
 les noms sont les mots qui peuvent être attachés à un déterminant (a ball) ou
prendre une forme possessive (IBM’s annual revenue)

 ils forment le mot principal des sujets ou objets des verbes

 On distingue les noms propres des noms communs


 les noms propres correspondent à des noms donnés de personnes, endroits,
etc. (Colorado, IBM)

 les noms propres débutent souvent par une lettre majuscule


Etiquettage Morpho-syntaxique
115 Définition: Classes ouvertes
 On distingue les noms propres des noms communs

 Parmi les noms communs on distingue les count nouns des mass nouns

 les count nouns peuvent être au pluriel (ball/balls) et être comptés (one ball, two

balls, etc.)

 les mass nouns représentent un concept plus homogène qui ne se compte pas

(snow, salt, communism) et peuvent ne pas être précédés d’un article

 “Snow is white” vs “The ball is red”


Etiquettage Morpho-syntaxique
116 Définition: Classes ouvertes
 Verbes, Auxiliaires
Les verbes font normalement référence à des actions

 plusieurs formes morphologiques leur sont applicables

 en anglais : eat

 troisième personne : eats

 forme progressive : eating

 participe passé : eaten

 les auxiliaires (have, is, can, may, should) sont une sous-famille des verbes, qui se
combinent à d’autres verbes considérés comme une classe fermée

 Toutes les langues ont des noms et des verbes


Etiquettage Morpho-syntaxique
117 Définition: Classes ouvertes
 Adjectifs

 Les adjectifs décrivent normalement des propriétés ou qualités

 la plupart des langues ont des adjectifs décrivant les concepts de


couleur (while, black), d’âge (old, young) et valeur (good, bad)

 il existe tout de même des langues sans adjectifs (Coréen)

 Adverbes
 Les adverbes mot invariant ajoutant une détermination à un verbe ou à un
adjectif ou à un autre adverbe pour en préciser le sens

 tous les mots soulignés ci-dessous sont des adverbes

“Unfortunately, John walked home extremely slowly yesterday”


Etiquettage Morpho-syntaxique
118 Définition: Classes ouvertes
 Adverbes
On distingue différents types d’adverbe
directional adverbs (home, here,)

degree adverbs (extremely, very, minor)

manner adverbs (slowly, delicately)

temporal adverbs (yesterday, Monday)

Certains adverbes sont parfois étiquetés comme des noms


(Monday)
Etiquettage Morpho-syntaxique
119 Définition: Classes fermées
 Les classes fermées varient d’une langue à l’autre

Les principales en Anglais :


préprosition (on, under, over, near, by, at, from, to, with)

déterminants (a, an, the)

pronoms (she, who, I, others)

conjonctions (and, but, or, as, if, when)

auxiliaires (can, may, should, are)

particules (up, down, on, off, in, out, at, by)

adjectifs numéraux ou numerals (one, two, three, first, second, third)


Etiquettage Morpho-syntaxique
120 Définition: Classes fermées
 Les prépositions marquent généralement des relations spatiales ou
temporelles
 Exemple : on it, before then, by the house, on time, beside herself

 Elles sont utilisées devant un syntagme nominal (noun phrase)


 un syntagme nominal est un nom ainsi que les mots qui l’entourent, décrivant
normalement l’objet ou le sujet d’un verbe
Etiquettage Morpho-syntaxique
121 Définition: Classes fermées
 Les particules ressemblent à une préposition ou à un adverbe et
sont utilisées en combinaison avec un verbe

 Exemple : He arose slowly and brushed himself off.

 Exemple : she had turned the paper over.

 La combinaison d’un verbe et d’une particule est appelée un


verbe à particule (phrasal verb)

 la particule peut changer significativement la signification du verbe

 Exemple : turn down dans le sens de rejeter


Etiquettage Morpho-syntaxique
122 Définition: Classes fermées
 Les déterminants sont utilisés avec les noms ou syntagmes
nominaux
 Exemple : this chapter, that page

 Les articles sont un sous-ensemble des déterminants


 il n’y en a que 3 en anglais : a, an et the

 Les conjonctions combinent des segments de phrase

 il y a les conjonctions de coordination : but, and, or

 il y a les conjonctions de subordination

Exemple : I thought that you might like some milk


Etiquettage Morpho-syntaxique
123 Définition: Classes fermées
 Les pronoms sont des mots courts faisant normalement référence à
un syntagme nominal

 les pronoms personnels (you, she, I, it, me, etc.) font référence à une
personne ou entité

 les pronoms possessifs (my, your, his, her, its, one’s, our, their) marque
la possession d’un objet à une personne

 les wh-pronouns (what, who, whom, whoever) sont normalement


utilisés dans des questions
Etiquettage Morpho-syntaxique
124 Définition: Classes fermées
 Les auxiliaires sont des verbes qui se combinent avec d’autres verbes
(be, do, have, can, may, must, etc.)

 peut marquer le temps du verbe (I have gone, We were robbed, We are


leaving)

 peut marquer la possibilité (I can sing) ou nécessité (I must work) d’une


action
Etiquettage Morpho-syntaxique
125 Définition: Autres Classes
 D’autres classes existent

 interjection (oh, ah, hey, man)

 négation (no, not)

 marqueurs de politesse (please, thank you)

 symboles

 etc.
Etiquettage Morpho-syntaxique
126 Ensemble d’étiquettes: Tagset
 Dans un corpus, on représente les classes grammaticales à partir d’ensembles
d’étiquettes ou tagset

 le choix du tagset détermine quelles classes grammaticales on va distinguer dans nos


données

 Exemples :
Etiquettage Morpho-syntaxique
127 Ensemble d’étiquettes: Tagset
 Penn Treebank Tagset (université de Pennsylvanie): Le Tagset le plus populaire
(45 étiquettes)
Etiquettage Morpho-syntaxique
128 Ensemble d’étiquettes: Tagset
 Penn Treebank Tagset:

Exemple
Etiquettage Morpho-syntaxique
129 Ensemble d’étiquettes: Tagset
 Brown Tagset:

 Il existe d’autres Tagsets, plus exhaustifs

 le Brown tagset contient 87 étiquettes

 le Penn Treebank est inspiré en partie du Brown tagset et en est une


version simplifiée
Etiquettage Morpho-syntaxique
130 Ensemble d’étiquettes:
 POST TAGGER pour la langue Arabe

Stanford POS TAGGER (disponible en pyhton)

Aramorph

Khoja

Alkhalil (Université Oujda)

Xerox

TAGGAR

Etc
Text document modeling
131 Problématique:
 Un problème avec la modélisation du texte est que le texte est une donnée non
structurée

 Des techniques telles que les algorithmes d'apprentissage automatique


préfèrent des entrées et des sorties bien définies.

 Les algorithmes d'apprentissage automatique ne peuvent pas fonctionner


directement avec du texte brut ;

 Le texte doit être converti en chiffres: vecteurs de nombres.

 Dans le traitement du langage, les vecteurs sont dérivés de données textuelles,


afin de refléter diverses propriétés linguistiques du texte.

 C'est ce qu'on appelle l‘extraction de caractéristiques (Feature Extraction).


Text document modeling
r

132 Bag of words Model (BoW)

 La façon la plus courante de traiter les documents textes, est d'abord de les

transformer en vecteurs numériques creux (Sparse Vector), puis de les traiter

avec des opérations d'algèbre linéaire

 Par conséquent, on oublie tout de la structure linguistique à l'intérieur du texte

 Bag-of-Words (sac de mots) est l'une des méthodes les plus fondamentales pour

transformer les Tokens en un ensemble de caractéristiques (Features).

 Ces caractéristiques peuvent être utilisées pour entraîner des algorithmes

d'apprentissage automatique.
Text document modeling
r

133 Bag of words Model (BoW)

 Un morceau de texte/document est représenté comme un sac de


mots (BoW), sans tenir compte de la grammaire et de l'ordre des
mots.
 Exemple:

Document: “Three midterm exams in a week, and I love exams!


Can we have another midterm exam this week please?“

Bag of words: {three:1, midterm:2, exam:3, week:2, I:1, love:1,


can:1, we:1, have:1, another:1, this:1,please:1}
Text document modeling
r

134 Bag of words Model (BoW)


BoW pour 1 document (Uni-gram)
Text document modeling
r

135 Bag of words Model (BoW)


 TRUMP MAKES BID FOR CONTROL OF RESORTS Casino owner and real estate
Donald Trump has offered to acquire all Class B common shares of Resorts
International Inc, a spokesman for Trump said. The estate of late Resorts chairman
James M. Crosby owns 340,783 of the 752,297 Class B shares. Resorts also has Original text
about 6,432,000 Class A common shares outstanding. Each Class B share has 100
times the voting power of a Class A share, giving the Class B stock about 93 pct of
Resorts' voting power.

 [RESORTS:0.624] [CLASS:0.487] [TRUMP:0.367] [VOTING:0.171] [ESTATE:0.166]


[POWER:0.134] [CROSBY:0.134] [CASINO:0.119] [DEVELOPER:0.118] [SHARES:0.117] Bag-of-Words
[OWNER:0.102] [DONALD:0.097] [COMMON:0.093] [GIVING:0.081] [OWNS:0.080] representation
[MAKES:0.078] [TIMES:0.075] [SHARE:0.072] [JAMES:0.070] [REAL:0.068]
[CONTROL:0.065] [ACQUIRE:0.064] [OFFERED:0.063] [BID:0.063] [LATE:0.062]
[OUTSTANDING:0.056] [SPOKESMAN:0.049] [CHAIRMAN:0.049]
[INTERNATIONAL:0.041] [STOCK:0.035] [YORK:0.035] [PCT:0.022] [MARCH:0.011]
Text document modeling
r

136 N-grams Model


 Représenter les relations spatiales entre les mots .

 Généralisation du BoW.

 Example:
 Document: “Three midterm exams in a week, and I love exams! Can we
have another midterm exam this week please?“

 Bigrams: {threemidterm:1, midtermexam:2, examweek:2, …}


Text document modeling
r

137 Document-Term Matrix


 Un Document-Term est une matrice dont les éléments représentent le nombre ou la fréquence
des termes (c'est-à-dire des mots ou des n-grammes) qui apparaissent dans une collection de
documents (corpus).

 Dans une matrice Document-terme, les lignes correspondent aux documents et les colonnes
correspondent aux termes.
Document ids nova galaxy heat h’wood film role diet fur
1 10 5 3
2 5 10
3 10 8 7
4 9 10 5
5 10 10
6 9 10
7 5 7 9
8 6 10 2 8
9 7 5 1 3
Text document modeling
r

138
Document-Term Matrix
• La matrice Document-Term A(ti, dj) contient le nombre
d’apparition du term i dans le document j.

D1 = "I like data mining"


D2 = "I hate data mining, data engineering is interesting“
I like hate data mining engineering is interesting
D1 1 1 0 1 1 0 0 0
D2 1 0 1 2 1 1 1 1

 Term frequency:
I like hate data mining engineering is interesting

D1 0.25 0.25 0 0.25 0.25 0 0 0

D2 0.125 0 0.125 0.25 0.125 0.125 0.125 0.125


Text document modeling
r

139
Term Frequency–Inverse Document Frequency Model: (TF-IDF)
 Un problème avec la fréquence des mots est que les mots très
fréquents commencent à dominer dans le document

 mais peuvent ne pas contenir autant de "contenu informationnel" pour


le modèle que des mots plus rares mais peut-être spécifiques à un
domaine.

 Une approche consiste à redimensionner la fréquence des mots en


fonction de leur fréquence d'apparition dans tous les documents, de
sorte que les scores des mots fréquents comme « le » qui sont
également fréquents dans tous les documents soient pénalisés.
Text document modeling
r

140
Term Frequency–Inverse Document Frequency Model: (TF-IDF)
 Cette approche de la notation s'appelle Term Frequency - Inverse Document
Frequency, (TF-IDF) où :

 Fréquence du terme : est une notation de la fréquence du mot dans le document


actuel.

 Inverse Document Frequency : est une notation de la rareté du mot dans les
documents.

 TF-IDF est un schéma de pondération pour réduire l'importance des termes


fréquemment rencontrés dans le corpus.

 Mesure statistique utilisée pour évaluer la représentativité d'un mot pour un


document particulier dans une collection de documents
Text document modeling
r

141
Term Frequency–Inverse Document Frequency Model: (TF-IDF)
 Représenter chaque document sous forme de vecteur
TF-IDF= 𝒕𝒇𝟏 ∗ 𝒊𝒅𝒇𝟏 , 𝒕𝒇𝟐 ∗ 𝒊𝒅𝒇𝟐 , … , 𝒕𝒇𝒏 ∗ 𝒊𝒅𝒇𝒏

 Term frequency
𝒕𝒇𝒊 est la fréquence du ième terme dans le document..

 Inverse document frequency


𝑵
𝒊𝒅𝒇𝒊 = 𝒍𝒐𝒈
𝒅𝒇𝒊
où:
N est le nombre de documents dans le corpus
dfi (Document Frequency) est le nombre de documents qui contiennent le ième
terme
Text document modeling
r

142 Term Frequency–Inverse Document Frequency Model: (TF-IDF)


 Exemple:
Document 1 Document 2
Term Term
Term Term
Frequency Frequency
this 0.2 this 0.25

apple 0.01 weather 0.1

music 0.05 rain 0.05

computer 0.1 forecast 0.15


… … … …

𝑡𝑓 𝑡ℎ𝑖𝑠, 𝐷1 = 0.2 𝑡𝑓 𝑡ℎ𝑖𝑠, 𝐷2 = 0.25


2
𝑖𝑑𝑓 𝑡ℎ𝑖𝑠 = log =0
2
2
𝑖𝑑𝑓 𝑎𝑝𝑝𝑙𝑒 = log ≈ 0.3
1
Text document modeling
r

143  Limitations des modèles à base de Bag-of-Words

 Les modèles à base de BOW sont utilisés avec beaucoup de succès sur des
problèmes de prédiction tels que la modélisation du langage et la classification de
la documentation.

 Néanmoins, il souffre de quelques défauts, tels que :

 Les représentations en vecteur Creux sont parfois plus difficiles à modéliser à la fois pour
des raisons de calcul et également pour des raisons d'information, où le défi consiste à
exploiter peu d'informations dans un grand espace représentatif.

 Ignorer l'ordre des mots, ignore le contexte et, par conséquent, la signification des mots
dans le document (sémantique).

 Le contexte et la signification peuvent être utiles dans beaucoup de modèle,

 pourrait faire la différence entre les mêmes mots disposés différemment

("c'est intéressant" vs "est-ce intéressant?"), les synonymes ("vieux vélo" vs "vélo d'occasion") ,
Text document modeling
r

144 Word Embedding


 Nous avons vu une première manière de représenter nos documents comme: BoW,
NGram et les méthodes de comptage direct (FD ou TF-IDF).

 Représentation de chaque document par un vecteur de fréquences du dictionnaire de


mots que l’on avait à disposition et Traitement des données (Vecteurs) creuses ( sparse).

 TF-IDF: comptages déterministes représentatifs des données, en l’occurrence la


fréquence du mot et la fréquence inverse du document.

 Une autre famille de techniques (Circa 2013) a permis de repenser ce modèle

 Nouvelle représentation des mots dans un espace avec une forme de similarité entre eux
(probabiliste), dans lequel:

 le sens des mots les rapproche dans cet espace, en terme de distances statistiques.

 C’est un plongement (Embedding) dans un espace de dimension inférieur : Word2Vec.


Text document modeling
r

145 Word Embedding


 Word embedding est une classe de techniques de vectorisation de données (BoW,N-Gram,
TF-IDF) qui représentent le vocabulaire d'un document sous forme de vecteurs de nombres
réels tout en capturant les relations entre les termes.

 Word embedding est un type de représentation de mots qui permet à des mots ayant une
signification similaire d'avoir une représentation similaire.

 Les termes qui ont une relation sémantique sont présentés par des vecteurs proches les uns
des autres.
Text document modeling
r

146 Word Embedding


 L’hypothèse principale de ces méthodes étant de prendre en compte le
“contexte” dans lequel le mot a été trouvé, c’est à dire les mots avec lesquels il
est souvent utilisé.

 Ce contexte permet de créer un espace qui rapproche des mots qui ne se sont
pas forcément trouvés les uns à côté des autres dans un corpus

 Ces méthodes de représentation vectorielles ont aussi permis d’entraîner des


modèles de représentation des mots sur des corpus beaucoup plus grands (des
centaines de milliards de mots par exemple...)

 Word Embedding peuvent être générées à l'aide de diverses méthodes telles


que les réseaux de neurones, la matrice de cooccurrence, les modèles
probabilistes, etc.
Text document modeling
r

147 Word Embedding


 Ces représentations possèdent des capacités surprenantes.

 Par exemple, on peut retrouver beaucoup de régularités linguistiques simplement en


effectuant des translations linéaires dans cet espace de représentation.

 Par exemple le résultat de vec(“Madrid”) - vec(“Spain”) , vec(“France”) donne une


position dont le vecteur le plus proche est vec(“Paris”) !
Text document modeling
r

148 Word Embedding


 Apprentissage de « représentations contextuelles » des mots
 Un vecteur qui représente le lien sémantique entre les mots

1 mot (ou phrase)  1 vecteur (dense)


 2 mots se trouvant dans un même contexte ont une proximité sémantique et syntaxique

 Exemple:

 Grande similarité sémantique entre ORANGE et POMME (tous les deux sont
des fruits)
 Ils ont tendance à apparaître dans un contexte similaire dans les textes.
Text document modeling
r

149 Word Embedding


Soustraction vectorielle dans l'espace de projection
 Proximité syntaxique: Vectapple - Vectapples ≈ Vectcar - Vectcars ≈ Vectfamily - Vectfamilies
 Proximité sémantique: Vectshirt - Vectclothing ≈ Vectchair - Vectfurniture
Vectking – Vectman ≈ Vectqueen - Vectwoman

 Afin de calculer les vecteurs qui représentent les mots, les méthodes word2vec utilisent
des perceptrons linéaires simples.

 L’idée est de compresser notre corpus vers un dictionnaire de vecteurs denses de


dimension bien inférieure choisie.
Text document modeling
r

150 Word Embedding: Matrice de Co-Occurences


 Cooccurrence-Matrix C(i , j ) = nombre d'occurrences du mot i à côté de mot j
 Définition d’une fenêtre de taille n (5-10 mots plutôt que par phrase)
 Matrice C symétrique N x N où N est la taille du vocabulaire
 Capte à la fois les informations syntaxiques et sémantiques
 1 embedding = 1 colonne ∈ RN
 Augmente en taille avec le vocabulaire
 nécessite beaucoup de stockage
 Sparsité  faible robustesse
 Exemple: la matrice de Co-Occurrence
du corpus et l’embedding de like
 I like deep learning.
 I like NLP.
 I enjoy flying.
Text document modeling
r

151 Word Embedding: Matrice de Co-Occurences


 On veut un vecteur dense (de dimension assez faible entre 25-1000)

 Réduction de la dimensionnalité possible en utilisant la décomposition en valeurs


singulières de C (k valeurs / vecteurs propres )

 Problèmes
 Coût de calcul

 Sparsité partiellement résolue

 Difficile d'intégrer de nouveaux mots

 Nouvelles méthodes
 Apprendre à prédire les mots voisins plutôt que de compter des cooccurrences

 Apprendre directement des vecteurs de faible dimension

 Utilisation de Réseaux de Neurones de type MLP (Multi Layer Perceptron)


Text document modeling
r

152 Word Embedding: Word2Vec


 Il a été développé en 2013 par une équipe Google sous la supervision de Tomas
Mikolov.

 Il peut être mis en œuvre selon 2 modèles différents :

 CBOW (Continous Bag Of Words)  prédire la target en fonction du contexte


 Skip-gram  prédire le contexte en fonction de la target

 Basées sur une architecture MLP


Text document modeling
r

153 Word Embedding: Word2Vec

 One-hot encoding
Exemple: Corpus

 He went back to the hallway.

 Showers are located in the hallway.

1. Attribuez à chaque mot unique une valeur entière unique.

(he : 1), (went : 2), (back : 3), (to : 4), (the : 5), (hallway : 6), (showers : 7),

(are : 8), (located : 9), (in : 10)

2. Représenter chaque mot comme un vecteur de taille n, où n est le nombre total


de mots uniques dans la base de données.
Text document modeling
r

154 Word Embedding: Word2Vec


 One-hot encoding Vecteur « one-hot encoding » du mot Went

he Went Back To The Hallway Showers Are Located in

He 1 1 0 0 0 0 0 0 0 0 0
Went 2 0 1 0 0 0 0 0 0 0 0
Back 3 0 0 1 0 0 0 0 0 0 0
To 4 0 0 0 1 0 0 0 0 0 0
The 5 0 0 0 0 1 0 0 0 0 0
Hallway 6 0 0 0 0 0 1 0 0 0 0
Showers 7 0 0 0 0 0 0 1 0 0 0
Are 8 0 0 0 0 0 0 0 1 0 0
Located 9 0 0 0 0 0 0 0 0 1 0
In 10 0 0 0 0 0 0 0 0 0 1
Text document modeling
r

155 Word Embedding: Word2Vec (Etapes de Fonctionnement)

1ère étape 2ème étape 3ème étape

Il s'agit d'un problème qui Il résout ce problème en Le modèle final entraîné


consiste: utilisant un réseau sur ce problème sera utilisé
neuronal superficiel. pour calculer les
 soit à compléter un mot
manquant dans une phrase, plongements (Embedding)

 soit à trouver les mots qui des mots dans la base de

entourent un terme dans données.


une phrase (le contexte).
Text document modeling
r

156 Word Embedding: Word2Vec


 Modèle CBOW (Continuous Bag Of Word)

 Le modèle CBOW tente de prédire un mot w(t) en

fonction de son contexte w(t-2), w(t-1), w(t+1), w(t+2).

 Dans un premier temps, tous les mots sont transformés

en vecteurs one-hot.

 Ensuite, le modèle additionne les vecteurs de

contexte et essaie ensuite de prédire le mot au milieu

du contexte w(t), qui est appelé le mot cible (Target).


Text document modeling
r

157 Word Embedding: Word2Vec


 Modèle CBOW (Continuous Bag Of Word)

 MLP à 2 couches + sortie

 Apprendre W et W’ pour obtenir:

 Input = {April, 1959, recorded, what}

 Output = {Davis}

 Les mots sont représentés par des vecteurs "one-hot"  Xi

 Xi ∈ Rv avec V = taille du vocabulaire


r Text document modeling
158 Word Embedding: Word2Vec
 Modèle CBOW (Continuous Bag Of Word)
Dataset: ‘I love ice cream’

I love ___ cream ice

V= {‘I’, ‘love’, ‘ice’, ‘cream’}

I : [1,0,0,0] love : [0,1,0,0] ice : [0,0,1,0] cream : [0,0,0,1]


r Text document modeling
159 Word Embedding: Word2Vec
 Modèle CBOW (Continuous Bag Of Word)

0 Output
Input layer Hidden layer
One-hot 1
Love 0 0 0
𝒉𝟏
0 1 0
Sum 𝒉𝟐
0 1
𝒉𝟑
0 1 0
One-hot 0
Cream
0
1
r Text document modeling
160 Word Embedding: Word2Vec
 Modèle CBOW (Continuous Bag Of Word)
 Apprentissage:
 Entrée : les one-hot vecteurs des mots du contexte (xc-m;…; xc-1; xc+1;…; xc+m)
 V = taille du vocabulaire
 Sorties souhaitées du réseau : ^y = un one-hot vecteur correspondant au mot cible
 Les matrices W et W' correspondent à des
Embeddings en entrée et en sortie
* En entrée: la jème colonne de W est le vecteur
d‘embeddings du mot dj
* En sortie: la ième ligne de W' est le vecteur
d’embedding pour le mot di (target)

* Nous apprenons en fait deux vecteurs pour chaque mot.


r Text document modeling
161 Word Embedding: Word2Vec
 Modèle Skip-Gram
 Le skip-gram consiste à prédire les mots voisins
w(t-2), w(t-1), w(t+1), w(t+2), à partir du mot
courant w(t).

 Le modèle reçoit en entrée le mot courant et il


doit prédire ses mots de contexte.

 Il utilise l'algorithme de rétropropagation pour


entraîner un réseau de neurones, et qui consiste
à mettre à jour les poids de chaque neurone de
la dernière couche vers la première.
r Text document modeling
162 Word Embedding: Préparation des vecteurs pour les phrases
 Word2Vec
 CBoW fonctionne bien pour les mots fréquents
 Skip gram pour les mots rares
 Les bases de données contiennent des phrases et pas seulement des mots.

 Nous devrons utiliser les vecteurs de mots du modèle word2vec pour créer une
représentation vectorielle pour un document entier.

 Le plus simple est de calculer la moyenne de tous les vecteurs de mots présents
dans le texte
Exemple:
 Tweet : 𝒘𝟏 , 𝒘𝟐 , 𝒘𝟑
 𝒘𝟏 : [0.95 1.02 -0.45] Moyenne
 𝒘𝟐 : [-1.25 0.28 0.14] [-0.14 0.09 -0.06]
 𝒘𝟑 : [-0.13 -1.01 0.12]
Text document modeling
r

163 Word Embedding


 Plusieurs extensions de Word2vec ont été mises en œuvre telles que:
 FastText: Facebook
 GloVe
 BERT
 etc.

 Applications de Word Embedding :

 Sentiment Analysis

 Speech Recognition

 Information Retrieval

 Question Answering
r Text document modeling
164 Word Embedding: FastText

 FastText est l'une des méthodes de vectorisation pour implémenter

le Word Embedding.

 Il a été développé et publié pour la première fois en 2015 par

l'équipe de recherche sur l'intelligence artificielle de Facebook.

 Il est essentiellement considéré comme une amélioration ou une

extension du Word2Vec.

 Les unités de données est N-gram de caractères.


r Text document modeling
165 Word Embedding: FastText vs Word2Vec

 Word2Vec fonctionne au niveau du mot, tandis que FastText fonctionne sur

les N-gram de caractères.

 Word2Vec ne peut pas fournir le word Embedding hors vocabulaire (OOV),

tandis que FastText peut fournir des Embedding pour les mots OOV.

 FastText peut fournir de meilleurs embedding pour les langues

morphologiquement riches par rapport à word2vec.

 FastText est plus rapide que word2vec.


r Text document modeling
166 Word Embedding:

Commencer par la démonstration de Gensim pour le Word Embedding

Voir le lien :
https://www.nltk.org/howto/gensim.html?highlight=sample+usage+gensim
Text document modeling
167 Similarité

Information
Collections
need

Pre-process
text input

Parse Query Index

Rank

Evaluate
Text document modeling
r

168 Mesures de similarité:


Simple matching |QD|

|QD|
Dice’s Coefficient 2
|Q|| D|

Jaccard’s Coefficient
|QD|
|QD|

Cosine Coefficient |QD|


1 1
|Q | | D |
2 2

Overlap Coefficient |QD|


min(| Q |, | D |)
Text document modeling
r

169 Cosine Similarity:

 Cosine Similarity est une méthode qui calcule la distance entre deux
vecteurs.

 Il est utilisé pour déterminer la similarité entre deux vecteurs dans un


espace produit interne.

σ𝑛𝑖=1 𝐴𝑖 ∗ 𝐵𝑖
𝐶𝑜𝑠𝑖𝑛𝑒𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝐴,𝐵 = cos 𝜃 =
σ𝑛𝑖=1 𝐴𝑖² ∗ σ𝑛𝑖=1 𝐵𝑖²
Text document modeling
r

170 Cosine Similarity:

A1  (0.8, 0.3)
A2  (0.2, 0.7)
1.0 B  (0.4, 0.8)
B
A2 cos 1  0.74
0.8
cos  2  0.98
0.6 2
0.4
1 A1
0.2

0.2 0.4 0.6 0.8 1.0


Text document modeling
171 Evaluation de Perfomance

Information
Collections
need

Pre-process
text input

Parse Query Index

Rank

Evaluate
Text document modeling
172 Evaluation de Performance
 Soit un classifieur pour des articles de nouvelles politiques
 Comment mesurer sa performance ?

 On peut distinguer 4 situations différentes


 on appelle ce type de tableau un tableau de contingence
Text document modeling
173 Evaluation de Performance
 On s’intéresse entre autre :

 à la précision : vp / (vp + fp)

 au rappel : vp / (vp + fn)

 Il y a un compromis à faire entre la précision et le rappel

 dépend du seuil appliqué pour déterminer la classe prédite

 plus le seuil est élevé, plus la précision sera élevée mais le rappel sera bas

 plus le seuil est bas, plus la précision sera basse mais le rappel sera élevé
Text document modeling
174
Evaluation de Performance: F-mesure
 La F-mesure (F-measure, F1 score) est souvent utilisée comme
combinaison de la précision et du rappel :

 C’est la moyenne harmonique de la précision et du rappel

F1 Score Interpretation
> 0.9 Very good
0.8 - 0.9 Good
0.5 - 0.8 OK
< 0.5 Not good

Vous aimerez peut-être aussi