Introduction au
traitement automatique des
langues
Meet up TOULOUSE DATA SCIENCE
Estelle Delpech
Epitech, 28 janvier 2016
Objectifs
● Découvrir le TAL
○ Qu’est-ce que c’est ?
○ Quelles difficultés
● Adressé à tout public
○ apprentissage automatique
○ linguistique
● Compréhension de techniques essentielles
● Pointeurs ressources logicielles,
linguistiques, humaines
2
IRIT
Extraction d’
information
Lingua et
Machina
Traduction
automatique
Nomao
Génération de texte
Agrégation de données
Commission
Européenne
Expertise réponses
appels à projet
Estelle Delpech
Thèse Informatique, spécialité Traitement Automatique des Langues
3
Synomia
CFH
Analyse syntaxique
Extraction de termes
Plan
4
1. Introduction au TAL : domaine,
problématiques
2. Chaîne d’analyse linguistique
3. Trois techniques essentielles
4. Ressources logicielles et
linguistiques
Introduction
● Qu’est-ce que le TAL ?
● Apprentissage automatique
● Linguistique
● Particularités de la donnée
“langue”
5
“TAL” aka...
6
Rendre le langage intelligible aux machines
● Traduction automatique
● Analyse d’opinion
● Correction orthographique
● Reconnaissance vocale (SIRI)
● Génération de résumés
● Moteurs de recherche
7
TA
L
8
Multi-disciplinarité
Apprentissage automatique
9
Apprentissage automatique
Rendre une machine capable de :
● prendre des décisions,
● produire des analyses,
● avoir des comportements adéquats,
après analyse de données empiriques.
10
Applications
11
Classifier des textes
SPORT
SCIENCE
PEOPLE
12
?
Associer des mots
13
Reconnaître des structures
14
Produire du texte
15
Classification de textes à partir d’exemples
POSITIF ?
16
Choix des “traits”
ou “variables explicatives”, “variables prédictives”, “features” :
● fréquence du mot “super”
● présence du smiley☺
● longueur du commentaire
● nombre de mots positifs
● ...
17
Extraction et décompte des traits
super délicieux moyen bof
#1 positif ◾ ◾ ◼ ◼
#2 positif ◾ ◾ ◼ ◼
#3 négatif ◼ ◼ ◾ ◾
#4 négatif ◼ ◼ ◾ ◾
18
Matrice des observations
super délicieux moyen bof
#1 positif ◾ ◾ ◼ ◼
#2 positif ◾ ◾ ◼ ◼
#3 négatif ◼ ◼ ◾ ◾
#4 négatif ◼ ◼ ◾ ◾
traits descriptifs
exemples de
commentaires
classe
19
Apprentissage
super délicieux moyen bof
#1 positif ◾ ◾ ◼ ◼
#2 positif ◾ ◾ ◼ ◼
#3 négatif ◼ ◼ ◾ ◾
#4 négatif ◼ ◼ ◾ ◾
méthode CART,
SVM, Bayes, ...
MODÈLE
20
Application du modèle
POSITIF
MODÈLE
super délicieux moyen bof
◼ ◾ ◼ ◼
21
Arbre de décision
¬ super
super
délicieux ¬ délicieux
NÉGATIF
POSITIF
POSITIF
22
super délicieux moyen bof
◼ ◾ ◼ ◼
Classifieur linéaire
poids valeur du
trait
biaisclasse
Classifieur linéaire
super délicieux moyen bof
0.7 0.8 0.3 0.15
super délicieux moyen bof w0
1.02 1.27 -0.77 -0.29 -0.17
24
POSITIF1,27
signe()
poids et biais appris
décompte traits du texte à classer
Modèle probabiliste
25
probabilité classe
a priori
probabilité classe
sachant mot i
probabilité classe
sachant les n
mots du texte
Modèle probabiliste
26
super délicieux moyen bof A priori
POSITIF 0.7 0.8 0.3 0.15 0.6
NÉGATIF 0.2 0.1 0.6 0.65 0.4
super délicieux moyen bof
◼ ◾ ◼ ◾
Pr(POS|délicieux, bof) = Pr(POS) x Pr(délicieux|POS) x Pr(bof|POS) = 0.6 x
0.8 x 0.15 = 0.072
Pr(NÉG|délicieux, bof) = 0.026
probabilités
apprises
mots présents dans
texte à classer
Linguistique
27
Linguistique
● Étudier le fonctionnement des langues
○ ≠ parler plusieurs langues
● Approche descriptive
○ ≠ grammaire, prescription d’un bon usage
● Description formelle et modélisation des
phénomènes linguistiques
○ ≠ études littéraires, stylisitique….
28
Morphologie
● Études des “morphèmes” : plus petite unité de sens
● Identification par supression/substitution :
○ possible ≠impossible
○ “im-” = /contraire de/
● Morphèmes flexionnels :
○ pluriel : impossibles
○ féminin : grande
○ conjugaison : partageraient
● Morphèmes dérivationnels
○ impossible
○ absolument
29
Morphologie
● Retrouver le lemme :
○ serveuses, serveurs, serveuse, serveur → serveur
○ mange, manger, manges, mangeait, mangé → manger
● Retrouver la racine :
○ dérive, dérivait, dérivation, dériveur, indérivable → -dériv-
● TAL :
○ généralisation
○ relations sémantiques
30
Unités lexicales, entités nommées
● mot : unité graphique, suite de caractères entre deux espaces
● unité lexicale :
○ plusieurs mots : pomme de terre, pied-à-terre, jusque là
○ partie du discours : adverbe, nom, adjectif
● entité nommée :
○ référent unique
○ invariable
○ Nom propre : Epitech, numérique : date, prix, longueur...
● collocations :
○ association privilégiée entre deux unités lexicales : mettre de l’ordre, travailleur indépendant
31
Syntaxe
● Agencement des mots/groupes de mots
○ Groupe / Syntagme nominal : le petit chat → unités de sens pertinentes pour le TAL
● Relations entre les groupes et sens qui en découle :
○ Sujet, Objet, Complément…
● Nombreux formalismes et théories:
32
Sémantique lexicale
● Relations de sens entre les mots
○ Polysémie : pl. sens liés
○ Homonyme : 1 forme graphique, sens
différent
○ Antonyme : contraire
○ Synonyme
○ Hypernonyme
○ Hyponyme
○ Meronyme
● TAL : rapprochement sémantiques
pertinents
33
Sémantique distributionnelle
● Distributionnalisme : les unités de la langue sont commutables
34
a fait son nid.Le
pinson
merle
oiseau
moineau
pic-vert
* chien
* chat
même classe
classe différente
⇒ Les unités apparaissant dans des contextes similaires sont
sémantiquement proches.
Textométrie
● Exploration quantitative des textes
● Détermination des marqueurs
linguistiques d’un auteur, genre,
époque
● Étude des fréquences, répartition des
vocables selon les textes
● Loi de Zipf :
○ vocabulaire formé à partir de peu de mots
● Ratio forme:occurrence
○ variété d’un texte
35
Une donnée “humaine”
36
37
source : http://www.synomia.fr/fr/vision-et-techno/big-data-et-entreprises
Pas de bijection forme ⟷ sens
38
toile
film
Ambiguïté : une forme → plusieurs sens
Un bon repas, un très beau cadre, pas cher : c’était parfait !
Loin d’être parfait : bon d’achat refusé, cher. Bref, un beau bordel !
Le serveur m’a apporté le repas rapidement mais...
… il était froid → “repas froid”
… il était peu souriant → “serveur peu souriant”
… il y avait beaucoup de bruit → “bruyant”
39
Paraphrase : un sens → plusieurs formes
La soupe était délicieuse.
Le potage était savoureux.
L’attente fut vraiment longue.
Nous avons attendu très longtemps.
40
Des unités continues
galette
entremets
baba au rhum
tarte aux pommes
gateau de Simon
41
intégré - figé
libre
mot, unité lexicale simple
mot composé, lexie complexe
expression, locution
collocation
groupe grammatical, syntagme
Des unités continues
mesure, nom fém.
● action de mesurer : la mesure du temps
● quantité servant à mesurer : le mètre est une
mesure de surface
● récipient servant à mesurer : une mesure en
étain
● [MUSIQUE] division d’un morceau en parties
égales
● [POÉSIE] quantité de syllabe dans un vers
● modération : agir avec mesure
● moyen : mettre en œuvre une mesure
42
monosémie
homonymie
polysémie
Instabilité
● temps
○ selfie, zadiste, souris
● contexte
○ quoi vs koi
○ maman vs mère
● géographique
○ abreuvoir (CA) vs fontaine (FR)
○ chocolatine vs pain au chocolat
● domaine
○ licorne [économie] vs licorne [général]
○ extrêmités digitales [médecine] vs le bout des doigts [général]
○ assimilation [sociologie] vs assimilation [médecine] vs assimilation [linguistique]
43
Multilinguisme
4444
film
picture
film
movie
pellicule
photo
● boite aux lettres ↔ letter box
● lampe de poche ↔ torch
● faire la bringue ↔ paint the town red
Subjectivité
● Nombreux cas de désacords
○ entre humains
○ pour 1 même humain (sur le temps)
● analyse d’opinion : 20%
● compatibilité sémantique : 12%
● traduction de termes : 18%
45
FR : L'histoire du TAL commence dans les années 1950, bien que l'on puisse trouver des travaux
antérieurs.
EN1 : The history of the NLP began in the 1950s, although one can find previous work.
EN 2 : NLP history started in the 50’s, some former work can be found.
Chaîne d’analyse
linguistique
● Mots
● Catégories grammaticales
● Lemmes
● Groupes syntaxiques
● Analyse syntaxique profonde
46
Objectifs de l’analyse linguistique
● Gérer les difficultés inhérentes au langage
○ Délimitation les unités linguistiques
○ Identification de leurs relations
○ Attribution d’un sens
47
48
TOKENIZATION
PARSING
CHUNKING
STEMMING
“Mon amie a absolument adoré le baba au rhum.”
DETp NOM VERpres ADV VERper DETa NOM SENT
mon ami avoir absolument adorer le <unknown> .
mon ami a absolu ador le baba_au_rhum .
Mon amie a absolument adoré le baba_au_rhum .
LEMMATIZATION
POS TAGGING
Synt. nominal Syntagme verbal Syntagme nominal
SUJET OBJET
Tokenisation : découper en mot
● relativement trival
● liste d’exceptions
○ apostrophe : entr’ouverte vs l’arbre
○ virgule : 8,2 %
○ smileys : :-)
○ trait d’union : est-il vs anti-givre
○ point : M. Dupont, S.N.C.F.
○ espace : baba au rhum , 3 200 €, jusque là, s’il vous plaît
○ données numériques : 01/06/1980, 37°C
● adaptation au domaine
● désambiguïsation
○ pomme vs pomme de terre
49
Stemming : enlever les suffixes
● pas de la racinisation !
○ racinisation : anticonstitutionnellement → consitution
○ stemming : anticonstitutionnellement → anticonsitutionnel-
● généralisation
○ fin, fine, fins, fines → fin-
○ dériver, dérivation, dérivable → dériv-
● pas précis
○ portes, porté, porter, porte → port-
○ longtemps → longtemps- ; longuement, longue → longu- ; long → long-
● Intérêt :
○ recherche d’information
○ similarité thématique gros volumes
○ apprentissage : réduction du nombre de traits
50
Lemmatisation : forme “neutre”
● Ôter les flexions
○ verbe infinitif
○ nom, adjectif masculin singulier
● Généralisation : retrouver toutes les occurrences
○ Recherche d’information : “recette de crêpe” → recettes de crêpes
○ Extraction de traits : “adorer” → j’ai adoré le repas, j’adore ce restaurant
● Réduction du nombre d’éléments traités
51
POS tagging : catégories grammaticales
● Désambiguïsation
○ Il porte un beau costard. vs Elle ouvre la porte.
○ La belle ferme le voile. vs La belle ferme le voile.
● Extraction de patrons, sélection des mots pertinents
○ NOM/dessert ADV ? ADJ
■ desserts délicieux
■ dessert vraiment excellent
● Limite : ambiguïté des suites de POS
○ ADJ NOM PREP DET NOM
■ Ils servent un excellent vin au verre.
■ J’ai demandé un excellent vin au serveur.
52
Chunking : groupes syntaxiques
● Unités correctement délimitées
○ [J’] [ai demandé] [un verre de vin] [au serveur].
● Traits plus pertinents et précis
○ tarte : tarte aux pommes vs tarte aux pommes
○ [je] [n’ai pas aimé] → pas aimer
● Attribution de descripteurs :
53
ventes d’Iphone
baisse des ventes
économie chinoise
recul des revenus
Parsing : relations longue distance
54
Le cuisinier de ce restau est particulièrement doué.
SUJET
OBJET
NOM ÊTRE ADJ
cuisinier doué
Parsing : relations longue distance
55
● Correction grammaticale : accords sujet-verbe
● Traduction automatique : réordonnancement
OBJETSUJET VERBE
SUJET VERBE OBJET
Trois techniques
essentielles
1. représenter la “sémantique”
d’un document
2. représenter le sens d’un mot
3. annoter un texte
56
“Sémantique” d’un document
57
Représenter la “sémantique” d’un document
● Pourquoi ?
○ lui attribuer une classe
○ trouver des documents similaires
○ l’indexer dans un moteur de recherche
● Technique : le “sac de mots”, “vectorisation”
○ sélection des mots pertinents
○ attribution de poids
○ perte d’information de position, structure
58
Constitution du sac de mots
● Élimination de certains mots
○ mots outils : stop list ou PREP, DET, CONJ, PRO
○ mots trop ou pas assez fréquents
● Généralisation
○ casse, accents
○ stemming, lemmatisation
● Ajout de groupes de mots
○ n-grammes fréquents : suite de n mots
bigrammes :
○ syntagmes : 8 ans d’expérience, développement logiciel
59
passionnée de nouvelles technologies et d’innovation
Poids des mots
● Présence / absence
● Fréquence dans le document
● Fréquence dans le document vs dans la collection
○ TF.IDF, information mutuelle, taux de vraisemblance…
● Résultat : “sac de mots”, “vecteur”
60
java C# licence toulouse hausse ca web text mining
CV #1 ◾ ◾ ◾ ◾ ◼ ◼ ◾
Utilisation
61
java C# licence toulouse hausse ca web text mining
CV #1 ◾ ◾ ◾ ◾ ◼ ◼ ◾
MODÈLE
technicien
informatique
requête
offre
d’emploi
Similarité
● Similarité :
○ cosine
○ jaccard
Le sens des mots
62
Représenter le sens d’un mot
● Pourquoi ?
○ identifier des synonymes : réduction taille vecteurs
○ généraliser :
■ développement logiciel ↔ développement informatique
○ détecter des proximités sémantiques
■ aide à la saisie : HTML, CSS → Javascript ?
■ nettoyage de données : logiciel, informatique, développement, cuisine
○ identifier des traductions
■ logiciel ↔ software
63
Représenter le sens d’un mot
● Approche “statique”
○ Projection d’une ressource existante, exemple : WordNet
○ Proximité sémantique : distance dans le réseau
○ Limites : variation temps, domaine, contexte
64
Représenter le sens d’un mot
● Approche “distributionnelle” : le sens d’un mot est défini par son contexte
linguistique
● Exemple : tous les adjectifs régis par un nom
○ politique : commun, volontariste, nataliste, agressif, laxiste, cohérent
○ stratégie : fluctuant, attentiste, agressif, offensif, défensif, volontariste, cohérent
● Autres mots proches :
○ action, gestion, programme, mesure
65
Collecter le contexte d’un mot
● Relations syntaxiques :
○ verbe : tous les noms objets, sujets
○ nom : tous les adjectifs, noms, verbes
● Fenêtre
○ tous les mots dans la même phrase, paragraphe
○ tous les mots
● Calcul d’association :
○ Jaccard, Information Mutuelle, Taux de vraisemblance...
66
volontariste agressif commun nataliste agressif laxiste
politique ◾ ◾ ◾ ◾ ◼ ◼
Rapprocher les mots
67
● Similarité :
○ cosine
○ jaccard
● Obtention d’un graphe
○ extraction de cliques, etc.
Annoter un texte
68
Identifier les structures linguistiques
● Pourquoi ?
○ analyse fine
○ tagging, chunking, parsing
○ extraction d’information
69
Nom = ?
Contact = ?
Expérience = ?
Domaine = ?
Where do I buy fresh almonds ?
Reconnaissance de patrons
70
Spécialiste J2EE et passionnée par mon métier, je possède 10 années d’expérience au sein de…
spécialiste de? [NP] [NB] an|années d’expérience
Domaine = J2EE Expérience = 10 ans
le petit chat dort dans son panier .
DET ADJ NOM VB PREP DET NOM SENT
[DET ADV ? ADJ ? NOM] VB|SENT [DET ADV ? ADJ ? NOM] VB|SENT
GN= le petit chat GN= son panier
Approche empirique (apprentissage)
● Méthodes s’appuyant sur le contexte : CRF, HMM
● Exemples : corpus annoté… à la main !
○ bootstrapping
71
MODÈLE
10 000 phrases
Approche symbolique procédurale
● Codage direct
○ matching expressions régulières
○ if-then-else
○ transducteurs à états finis
72
Approche symbolique déclarative
● Description des règles linguistiques
● Application par un moteur d’analyse
73
Link parser
Approche hybride
● Ambiguïté rattachement préposition :
74
J’ai demandé du vin au serveur. ?? demander au serveur ? vin au serveur ?
● Solution : probabilités apprises sur exemples :
○ Pr(demander | au, serveur) = 0.7
○ Pr(vin | au, serveur) = 0.001
● Approches hybrides courantes : traduction, parsing, chunking,
extraction entités
Ressources logicielles
et linguistiques
75
Librairies open source
76
POS Lem Stem EN Chunk Parse Class Opin Coref Autre
Java ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱ n-grammes
Stanford
Core
NLP
Java ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱
NLTK
Python ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱
traduction,
corpus, vecteurs,
distance wordNet
✱ modèles FR existant
✱ pas de modèle FR
Logiciels open source FR
● Porter Stemmer : diverses implémentations C++, Python, Perl, Java…
● Lemmatisation : http://staffwww.dcs.shef.ac.uk/people/A.Aker/
● Parser : MaltParser
● Tagger + Parser : Talismane
● Extracteur de termes : YaTeA, Acabit
● Analyseur morphologique : Flemm
77
Logiciels propriétaires FR
● Univ. Stuttgart - TreeTagger
● Synapse - Cordial
● Témis/Xerox - Xelda
78
POS Tagging + Lemmatisation + Chunking :
Classification & annotation
● Approches empiriques
○ Scikit-learn : vectorisation
○ Weka : HMM
○ Mallet : CRF, HMM, Entités nommées, Tokénisation, Vectorisation
● Approches symboliques
○ UNITEX , Nooj : description et application de transducteurs, gestion m
○ JFLEX : générateur d’analyseurs lexicaux (compilation)
79
Gros Volume
● Classification, Espaces vectoriels :
○ Deeplearning4j
● Parallélisation chaîne d’analyse
○ Apache UIMA
■ wrappers, gestion de conf pénible, pas de traitement en flux
■ communauté FR, format commun, parallélisation ++, communauté et algos++
○ KNIME - équivalent commercial
■ parallélisation compliquée, communauté et algos++, convivialité
80
Ressources linguistiques
● Modèles FR Open NLP : N. Hernandez, Nantes
● LEFF - lexique formes fléchies : B. Sagot, Inria
● WOLF - WordNet français : B. Sagot, Inria
● Ress. morphologiques : N. Hathout, ERSS
● Morphalou, Prolex - CNRL
● Jeu de mots : M. Lafourcade, LIRMM
● French TreeBank - corpus arboré : A. Abeillé, LLF
● MeSH - Meta Thesaurus médical
● Agence de distribution ELRA
81
Merci pour
votre attention
http://www.uima-fr.org/
82
http://www.atala.org/-Liste-LN-

Découverte du Traitement Automatique des Langues

  • 1.
    Introduction au traitement automatiquedes langues Meet up TOULOUSE DATA SCIENCE Estelle Delpech Epitech, 28 janvier 2016
  • 2.
    Objectifs ● Découvrir leTAL ○ Qu’est-ce que c’est ? ○ Quelles difficultés ● Adressé à tout public ○ apprentissage automatique ○ linguistique ● Compréhension de techniques essentielles ● Pointeurs ressources logicielles, linguistiques, humaines 2
  • 3.
    IRIT Extraction d’ information Lingua et Machina Traduction automatique Nomao Générationde texte Agrégation de données Commission Européenne Expertise réponses appels à projet Estelle Delpech Thèse Informatique, spécialité Traitement Automatique des Langues 3 Synomia CFH Analyse syntaxique Extraction de termes
  • 4.
    Plan 4 1. Introduction auTAL : domaine, problématiques 2. Chaîne d’analyse linguistique 3. Trois techniques essentielles 4. Ressources logicielles et linguistiques
  • 5.
    Introduction ● Qu’est-ce quele TAL ? ● Apprentissage automatique ● Linguistique ● Particularités de la donnée “langue” 5
  • 6.
  • 7.
    Rendre le langageintelligible aux machines ● Traduction automatique ● Analyse d’opinion ● Correction orthographique ● Reconnaissance vocale (SIRI) ● Génération de résumés ● Moteurs de recherche 7
  • 8.
  • 9.
  • 10.
    Apprentissage automatique Rendre unemachine capable de : ● prendre des décisions, ● produire des analyses, ● avoir des comportements adéquats, après analyse de données empiriques. 10
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    Classification de textesà partir d’exemples POSITIF ? 16
  • 17.
    Choix des “traits” ou“variables explicatives”, “variables prédictives”, “features” : ● fréquence du mot “super” ● présence du smiley☺ ● longueur du commentaire ● nombre de mots positifs ● ... 17
  • 18.
    Extraction et décomptedes traits super délicieux moyen bof #1 positif ◾ ◾ ◼ ◼ #2 positif ◾ ◾ ◼ ◼ #3 négatif ◼ ◼ ◾ ◾ #4 négatif ◼ ◼ ◾ ◾ 18
  • 19.
    Matrice des observations superdélicieux moyen bof #1 positif ◾ ◾ ◼ ◼ #2 positif ◾ ◾ ◼ ◼ #3 négatif ◼ ◼ ◾ ◾ #4 négatif ◼ ◼ ◾ ◾ traits descriptifs exemples de commentaires classe 19
  • 20.
    Apprentissage super délicieux moyenbof #1 positif ◾ ◾ ◼ ◼ #2 positif ◾ ◾ ◼ ◼ #3 négatif ◼ ◼ ◾ ◾ #4 négatif ◼ ◼ ◾ ◾ méthode CART, SVM, Bayes, ... MODÈLE 20
  • 21.
    Application du modèle POSITIF MODÈLE superdélicieux moyen bof ◼ ◾ ◼ ◼ 21
  • 22.
    Arbre de décision ¬super super délicieux ¬ délicieux NÉGATIF POSITIF POSITIF 22 super délicieux moyen bof ◼ ◾ ◼ ◼
  • 23.
  • 24.
    Classifieur linéaire super délicieuxmoyen bof 0.7 0.8 0.3 0.15 super délicieux moyen bof w0 1.02 1.27 -0.77 -0.29 -0.17 24 POSITIF1,27 signe() poids et biais appris décompte traits du texte à classer
  • 25.
    Modèle probabiliste 25 probabilité classe apriori probabilité classe sachant mot i probabilité classe sachant les n mots du texte
  • 26.
    Modèle probabiliste 26 super délicieuxmoyen bof A priori POSITIF 0.7 0.8 0.3 0.15 0.6 NÉGATIF 0.2 0.1 0.6 0.65 0.4 super délicieux moyen bof ◼ ◾ ◼ ◾ Pr(POS|délicieux, bof) = Pr(POS) x Pr(délicieux|POS) x Pr(bof|POS) = 0.6 x 0.8 x 0.15 = 0.072 Pr(NÉG|délicieux, bof) = 0.026 probabilités apprises mots présents dans texte à classer
  • 27.
  • 28.
    Linguistique ● Étudier lefonctionnement des langues ○ ≠ parler plusieurs langues ● Approche descriptive ○ ≠ grammaire, prescription d’un bon usage ● Description formelle et modélisation des phénomènes linguistiques ○ ≠ études littéraires, stylisitique…. 28
  • 29.
    Morphologie ● Études des“morphèmes” : plus petite unité de sens ● Identification par supression/substitution : ○ possible ≠impossible ○ “im-” = /contraire de/ ● Morphèmes flexionnels : ○ pluriel : impossibles ○ féminin : grande ○ conjugaison : partageraient ● Morphèmes dérivationnels ○ impossible ○ absolument 29
  • 30.
    Morphologie ● Retrouver lelemme : ○ serveuses, serveurs, serveuse, serveur → serveur ○ mange, manger, manges, mangeait, mangé → manger ● Retrouver la racine : ○ dérive, dérivait, dérivation, dériveur, indérivable → -dériv- ● TAL : ○ généralisation ○ relations sémantiques 30
  • 31.
    Unités lexicales, entitésnommées ● mot : unité graphique, suite de caractères entre deux espaces ● unité lexicale : ○ plusieurs mots : pomme de terre, pied-à-terre, jusque là ○ partie du discours : adverbe, nom, adjectif ● entité nommée : ○ référent unique ○ invariable ○ Nom propre : Epitech, numérique : date, prix, longueur... ● collocations : ○ association privilégiée entre deux unités lexicales : mettre de l’ordre, travailleur indépendant 31
  • 32.
    Syntaxe ● Agencement desmots/groupes de mots ○ Groupe / Syntagme nominal : le petit chat → unités de sens pertinentes pour le TAL ● Relations entre les groupes et sens qui en découle : ○ Sujet, Objet, Complément… ● Nombreux formalismes et théories: 32
  • 33.
    Sémantique lexicale ● Relationsde sens entre les mots ○ Polysémie : pl. sens liés ○ Homonyme : 1 forme graphique, sens différent ○ Antonyme : contraire ○ Synonyme ○ Hypernonyme ○ Hyponyme ○ Meronyme ● TAL : rapprochement sémantiques pertinents 33
  • 34.
    Sémantique distributionnelle ● Distributionnalisme: les unités de la langue sont commutables 34 a fait son nid.Le pinson merle oiseau moineau pic-vert * chien * chat même classe classe différente ⇒ Les unités apparaissant dans des contextes similaires sont sémantiquement proches.
  • 35.
    Textométrie ● Exploration quantitativedes textes ● Détermination des marqueurs linguistiques d’un auteur, genre, époque ● Étude des fréquences, répartition des vocables selon les textes ● Loi de Zipf : ○ vocabulaire formé à partir de peu de mots ● Ratio forme:occurrence ○ variété d’un texte 35
  • 36.
  • 37.
  • 38.
    Pas de bijectionforme ⟷ sens 38 toile film
  • 39.
    Ambiguïté : uneforme → plusieurs sens Un bon repas, un très beau cadre, pas cher : c’était parfait ! Loin d’être parfait : bon d’achat refusé, cher. Bref, un beau bordel ! Le serveur m’a apporté le repas rapidement mais... … il était froid → “repas froid” … il était peu souriant → “serveur peu souriant” … il y avait beaucoup de bruit → “bruyant” 39
  • 40.
    Paraphrase : unsens → plusieurs formes La soupe était délicieuse. Le potage était savoureux. L’attente fut vraiment longue. Nous avons attendu très longtemps. 40
  • 41.
    Des unités continues galette entremets babaau rhum tarte aux pommes gateau de Simon 41 intégré - figé libre mot, unité lexicale simple mot composé, lexie complexe expression, locution collocation groupe grammatical, syntagme
  • 42.
    Des unités continues mesure,nom fém. ● action de mesurer : la mesure du temps ● quantité servant à mesurer : le mètre est une mesure de surface ● récipient servant à mesurer : une mesure en étain ● [MUSIQUE] division d’un morceau en parties égales ● [POÉSIE] quantité de syllabe dans un vers ● modération : agir avec mesure ● moyen : mettre en œuvre une mesure 42 monosémie homonymie polysémie
  • 43.
    Instabilité ● temps ○ selfie,zadiste, souris ● contexte ○ quoi vs koi ○ maman vs mère ● géographique ○ abreuvoir (CA) vs fontaine (FR) ○ chocolatine vs pain au chocolat ● domaine ○ licorne [économie] vs licorne [général] ○ extrêmités digitales [médecine] vs le bout des doigts [général] ○ assimilation [sociologie] vs assimilation [médecine] vs assimilation [linguistique] 43
  • 44.
    Multilinguisme 4444 film picture film movie pellicule photo ● boite auxlettres ↔ letter box ● lampe de poche ↔ torch ● faire la bringue ↔ paint the town red
  • 45.
    Subjectivité ● Nombreux casde désacords ○ entre humains ○ pour 1 même humain (sur le temps) ● analyse d’opinion : 20% ● compatibilité sémantique : 12% ● traduction de termes : 18% 45 FR : L'histoire du TAL commence dans les années 1950, bien que l'on puisse trouver des travaux antérieurs. EN1 : The history of the NLP began in the 1950s, although one can find previous work. EN 2 : NLP history started in the 50’s, some former work can be found.
  • 46.
    Chaîne d’analyse linguistique ● Mots ●Catégories grammaticales ● Lemmes ● Groupes syntaxiques ● Analyse syntaxique profonde 46
  • 47.
    Objectifs de l’analyselinguistique ● Gérer les difficultés inhérentes au langage ○ Délimitation les unités linguistiques ○ Identification de leurs relations ○ Attribution d’un sens 47
  • 48.
    48 TOKENIZATION PARSING CHUNKING STEMMING “Mon amie aabsolument adoré le baba au rhum.” DETp NOM VERpres ADV VERper DETa NOM SENT mon ami avoir absolument adorer le <unknown> . mon ami a absolu ador le baba_au_rhum . Mon amie a absolument adoré le baba_au_rhum . LEMMATIZATION POS TAGGING Synt. nominal Syntagme verbal Syntagme nominal SUJET OBJET
  • 49.
    Tokenisation : découperen mot ● relativement trival ● liste d’exceptions ○ apostrophe : entr’ouverte vs l’arbre ○ virgule : 8,2 % ○ smileys : :-) ○ trait d’union : est-il vs anti-givre ○ point : M. Dupont, S.N.C.F. ○ espace : baba au rhum , 3 200 €, jusque là, s’il vous plaît ○ données numériques : 01/06/1980, 37°C ● adaptation au domaine ● désambiguïsation ○ pomme vs pomme de terre 49
  • 50.
    Stemming : enleverles suffixes ● pas de la racinisation ! ○ racinisation : anticonstitutionnellement → consitution ○ stemming : anticonstitutionnellement → anticonsitutionnel- ● généralisation ○ fin, fine, fins, fines → fin- ○ dériver, dérivation, dérivable → dériv- ● pas précis ○ portes, porté, porter, porte → port- ○ longtemps → longtemps- ; longuement, longue → longu- ; long → long- ● Intérêt : ○ recherche d’information ○ similarité thématique gros volumes ○ apprentissage : réduction du nombre de traits 50
  • 51.
    Lemmatisation : forme“neutre” ● Ôter les flexions ○ verbe infinitif ○ nom, adjectif masculin singulier ● Généralisation : retrouver toutes les occurrences ○ Recherche d’information : “recette de crêpe” → recettes de crêpes ○ Extraction de traits : “adorer” → j’ai adoré le repas, j’adore ce restaurant ● Réduction du nombre d’éléments traités 51
  • 52.
    POS tagging :catégories grammaticales ● Désambiguïsation ○ Il porte un beau costard. vs Elle ouvre la porte. ○ La belle ferme le voile. vs La belle ferme le voile. ● Extraction de patrons, sélection des mots pertinents ○ NOM/dessert ADV ? ADJ ■ desserts délicieux ■ dessert vraiment excellent ● Limite : ambiguïté des suites de POS ○ ADJ NOM PREP DET NOM ■ Ils servent un excellent vin au verre. ■ J’ai demandé un excellent vin au serveur. 52
  • 53.
    Chunking : groupessyntaxiques ● Unités correctement délimitées ○ [J’] [ai demandé] [un verre de vin] [au serveur]. ● Traits plus pertinents et précis ○ tarte : tarte aux pommes vs tarte aux pommes ○ [je] [n’ai pas aimé] → pas aimer ● Attribution de descripteurs : 53 ventes d’Iphone baisse des ventes économie chinoise recul des revenus
  • 54.
    Parsing : relationslongue distance 54 Le cuisinier de ce restau est particulièrement doué. SUJET OBJET NOM ÊTRE ADJ cuisinier doué
  • 55.
    Parsing : relationslongue distance 55 ● Correction grammaticale : accords sujet-verbe ● Traduction automatique : réordonnancement OBJETSUJET VERBE SUJET VERBE OBJET
  • 56.
    Trois techniques essentielles 1. représenterla “sémantique” d’un document 2. représenter le sens d’un mot 3. annoter un texte 56
  • 57.
  • 58.
    Représenter la “sémantique”d’un document ● Pourquoi ? ○ lui attribuer une classe ○ trouver des documents similaires ○ l’indexer dans un moteur de recherche ● Technique : le “sac de mots”, “vectorisation” ○ sélection des mots pertinents ○ attribution de poids ○ perte d’information de position, structure 58
  • 59.
    Constitution du sacde mots ● Élimination de certains mots ○ mots outils : stop list ou PREP, DET, CONJ, PRO ○ mots trop ou pas assez fréquents ● Généralisation ○ casse, accents ○ stemming, lemmatisation ● Ajout de groupes de mots ○ n-grammes fréquents : suite de n mots bigrammes : ○ syntagmes : 8 ans d’expérience, développement logiciel 59 passionnée de nouvelles technologies et d’innovation
  • 60.
    Poids des mots ●Présence / absence ● Fréquence dans le document ● Fréquence dans le document vs dans la collection ○ TF.IDF, information mutuelle, taux de vraisemblance… ● Résultat : “sac de mots”, “vecteur” 60 java C# licence toulouse hausse ca web text mining CV #1 ◾ ◾ ◾ ◾ ◼ ◼ ◾
  • 61.
    Utilisation 61 java C# licencetoulouse hausse ca web text mining CV #1 ◾ ◾ ◾ ◾ ◼ ◼ ◾ MODÈLE technicien informatique requête offre d’emploi Similarité ● Similarité : ○ cosine ○ jaccard
  • 62.
    Le sens desmots 62
  • 63.
    Représenter le sensd’un mot ● Pourquoi ? ○ identifier des synonymes : réduction taille vecteurs ○ généraliser : ■ développement logiciel ↔ développement informatique ○ détecter des proximités sémantiques ■ aide à la saisie : HTML, CSS → Javascript ? ■ nettoyage de données : logiciel, informatique, développement, cuisine ○ identifier des traductions ■ logiciel ↔ software 63
  • 64.
    Représenter le sensd’un mot ● Approche “statique” ○ Projection d’une ressource existante, exemple : WordNet ○ Proximité sémantique : distance dans le réseau ○ Limites : variation temps, domaine, contexte 64
  • 65.
    Représenter le sensd’un mot ● Approche “distributionnelle” : le sens d’un mot est défini par son contexte linguistique ● Exemple : tous les adjectifs régis par un nom ○ politique : commun, volontariste, nataliste, agressif, laxiste, cohérent ○ stratégie : fluctuant, attentiste, agressif, offensif, défensif, volontariste, cohérent ● Autres mots proches : ○ action, gestion, programme, mesure 65
  • 66.
    Collecter le contexted’un mot ● Relations syntaxiques : ○ verbe : tous les noms objets, sujets ○ nom : tous les adjectifs, noms, verbes ● Fenêtre ○ tous les mots dans la même phrase, paragraphe ○ tous les mots ● Calcul d’association : ○ Jaccard, Information Mutuelle, Taux de vraisemblance... 66 volontariste agressif commun nataliste agressif laxiste politique ◾ ◾ ◾ ◾ ◼ ◼
  • 67.
    Rapprocher les mots 67 ●Similarité : ○ cosine ○ jaccard ● Obtention d’un graphe ○ extraction de cliques, etc.
  • 68.
  • 69.
    Identifier les structureslinguistiques ● Pourquoi ? ○ analyse fine ○ tagging, chunking, parsing ○ extraction d’information 69 Nom = ? Contact = ? Expérience = ? Domaine = ? Where do I buy fresh almonds ?
  • 70.
    Reconnaissance de patrons 70 SpécialisteJ2EE et passionnée par mon métier, je possède 10 années d’expérience au sein de… spécialiste de? [NP] [NB] an|années d’expérience Domaine = J2EE Expérience = 10 ans le petit chat dort dans son panier . DET ADJ NOM VB PREP DET NOM SENT [DET ADV ? ADJ ? NOM] VB|SENT [DET ADV ? ADJ ? NOM] VB|SENT GN= le petit chat GN= son panier
  • 71.
    Approche empirique (apprentissage) ●Méthodes s’appuyant sur le contexte : CRF, HMM ● Exemples : corpus annoté… à la main ! ○ bootstrapping 71 MODÈLE 10 000 phrases
  • 72.
    Approche symbolique procédurale ●Codage direct ○ matching expressions régulières ○ if-then-else ○ transducteurs à états finis 72
  • 73.
    Approche symbolique déclarative ●Description des règles linguistiques ● Application par un moteur d’analyse 73 Link parser
  • 74.
    Approche hybride ● Ambiguïtérattachement préposition : 74 J’ai demandé du vin au serveur. ?? demander au serveur ? vin au serveur ? ● Solution : probabilités apprises sur exemples : ○ Pr(demander | au, serveur) = 0.7 ○ Pr(vin | au, serveur) = 0.001 ● Approches hybrides courantes : traduction, parsing, chunking, extraction entités
  • 75.
  • 76.
    Librairies open source 76 POSLem Stem EN Chunk Parse Class Opin Coref Autre Java ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱ n-grammes Stanford Core NLP Java ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱ NLTK Python ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱ traduction, corpus, vecteurs, distance wordNet ✱ modèles FR existant ✱ pas de modèle FR
  • 77.
    Logiciels open sourceFR ● Porter Stemmer : diverses implémentations C++, Python, Perl, Java… ● Lemmatisation : http://staffwww.dcs.shef.ac.uk/people/A.Aker/ ● Parser : MaltParser ● Tagger + Parser : Talismane ● Extracteur de termes : YaTeA, Acabit ● Analyseur morphologique : Flemm 77
  • 78.
    Logiciels propriétaires FR ●Univ. Stuttgart - TreeTagger ● Synapse - Cordial ● Témis/Xerox - Xelda 78 POS Tagging + Lemmatisation + Chunking :
  • 79.
    Classification & annotation ●Approches empiriques ○ Scikit-learn : vectorisation ○ Weka : HMM ○ Mallet : CRF, HMM, Entités nommées, Tokénisation, Vectorisation ● Approches symboliques ○ UNITEX , Nooj : description et application de transducteurs, gestion m ○ JFLEX : générateur d’analyseurs lexicaux (compilation) 79
  • 80.
    Gros Volume ● Classification,Espaces vectoriels : ○ Deeplearning4j ● Parallélisation chaîne d’analyse ○ Apache UIMA ■ wrappers, gestion de conf pénible, pas de traitement en flux ■ communauté FR, format commun, parallélisation ++, communauté et algos++ ○ KNIME - équivalent commercial ■ parallélisation compliquée, communauté et algos++, convivialité 80
  • 81.
    Ressources linguistiques ● ModèlesFR Open NLP : N. Hernandez, Nantes ● LEFF - lexique formes fléchies : B. Sagot, Inria ● WOLF - WordNet français : B. Sagot, Inria ● Ress. morphologiques : N. Hathout, ERSS ● Morphalou, Prolex - CNRL ● Jeu de mots : M. Lafourcade, LIRMM ● French TreeBank - corpus arboré : A. Abeillé, LLF ● MeSH - Meta Thesaurus médical ● Agence de distribution ELRA 81
  • 82.