découverte du traitement automatique des langues
TRANSCRIPT
Introduction autraitement automatique des
langues
Meet up TOULOUSE DATA SCIENCEEstelle 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 texteAgrégation de données
Commission Européenne
Expertise réponses appels à projet
Estelle DelpechThèse Informatique, spécialité Traitement Automatique des Langues
3
SynomiaCFH
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
TAL
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
¬ supersuper
délicieux ¬ délicieux
NÉGATIFPOSITIF
POSITIF22
super délicieux moyen bof
◼ ◾ ◼ ◼
Classifieur linéaire
poids valeur dutrait
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,27signe()
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.072Pr(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
pinsonmerleoiseaumoineaupic-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
37source : 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 formesLa 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 continuesmesure, 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’Iphonebaisse des venteséconomie chinoiserecul des revenus
Parsing : relations longue distance
54
Le cuisinier de ce restau est particulièrement doué.
SUJETOBJET
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 techniquesessentielles
1. représenter la “sémantique” d’un document
2. représenter le sens d’un mot3. 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ÈLEtechnicien 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
StanfordCoreNLP
Java ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱
NLTKPython ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱
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-