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 automat...
IRIT
Extraction d’
information
Lingua et
Machina
Traduction
automatique
Nomao
Génération de texte
Agrégation de données
Co...
Plan
4
1. Introduction au TAL : domaine,
problématiques
2. Chaîne d’analyse linguistique
3. Trois techniques essentielles
...
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
● Rec...
TA
L
8
Multi-disciplinarité
Apprentissage automatique
9
Apprentissage automatique
Rendre une machine capable de :
● prendre des décisions,
● produire des analyses,
● avoir des co...
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ésenc...
Extraction et décompte des traits
super délicieux moyen bof
#1 positif ◾ ◾ ◼ ◼
#2 positif ◾ ◾ ◼ ◼
#3 négatif ◼ ◼ ◾ ◾
#4 né...
Matrice des observations
super délicieux moyen bof
#1 positif ◾ ◾ ◼ ◼
#2 positif ◾ ◾ ◼ ◼
#3 négatif ◼ ◼ ◾ ◾
#4 négatif ◼ ◼...
Apprentissage
super délicieux moyen bof
#1 positif ◾ ◾ ◼ ◼
#2 positif ◾ ◾ ◼ ◼
#3 négatif ◼ ◼ ◾ ◾
#4 négatif ◼ ◼ ◾ ◾
méthod...
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
2...
Modèle probabiliste
25
probabilité classe
a priori
probabilité classe
sachant mot i
probabilité classe
sachant les n
mots ...
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 ...
Linguistique
27
Linguistique
● Étudier le fonctionnement des langues
○ ≠ parler plusieurs langues
● Approche descriptive
○ ≠ grammaire, pr...
Morphologie
● Études des “morphèmes” : plus petite unité de sens
● Identification par supression/substitution :
○ possible...
Morphologie
● Retrouver le lemme :
○ serveuses, serveurs, serveuse, serveur → serveur
○ mange, manger, manges, mangeait, m...
Unités lexicales, entités nommées
● mot : unité graphique, suite de caractères entre deux espaces
● unité lexicale :
○ plu...
Syntaxe
● Agencement des mots/groupes de mots
○ Groupe / Syntagme nominal : le petit chat → unités de sens pertinentes pou...
Sémantique lexicale
● Relations de sens entre les mots
○ Polysémie : pl. sens liés
○ Homonyme : 1 forme graphique, sens
di...
Sémantique distributionnelle
● Distributionnalisme : les unités de la langue sont commutables
34
a fait son nid.Le
pinson
...
Textométrie
● Exploration quantitative des textes
● Détermination des marqueurs
linguistiques d’un auteur, genre,
époque
●...
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 ...
Paraphrase : un sens → plusieurs formes
La soupe était délicieuse.
Le potage était savoureux.
L’attente fut vraiment longu...
Des unités continues
galette
entremets
baba au rhum
tarte aux pommes
gateau de Simon
41
intégré - figé
libre
mot, unité le...
Des unités continues
mesure, nom fém.
● action de mesurer : la mesure du temps
● quantité servant à mesurer : le mètre est...
Instabilité
● temps
○ selfie, zadiste, souris
● contexte
○ quoi vs koi
○ maman vs mère
● géographique
○ abreuvoir (CA) vs ...
Multilinguisme
4444
film
picture
film
movie
pellicule
photo
● boite aux lettres ↔ letter box
● lampe de poche ↔ torch
● fa...
Subjectivité
● Nombreux cas de désacords
○ entre humains
○ pour 1 même humain (sur le temps)
● analyse d’opinion : 20%
● c...
Chaîne d’analyse
linguistique
● Mots
● Catégories grammaticales
● Lemmes
● Groupes syntaxiques
● Analyse syntaxique profon...
Objectifs de l’analyse linguistique
● Gérer les difficultés inhérentes au langage
○ Délimitation les unités linguistiques
...
48
TOKENIZATION
PARSING
CHUNKING
STEMMING
“Mon amie a absolument adoré le baba au rhum.”
DETp NOM VERpres ADV VERper DETa ...
Tokenisation : découper en mot
● relativement trival
● liste d’exceptions
○ apostrophe : entr’ouverte vs l’arbre
○ virgule...
Stemming : enlever les suffixes
● pas de la racinisation !
○ racinisation : anticonstitutionnellement → consitution
○ stem...
Lemmatisation : forme “neutre”
● Ôter les flexions
○ verbe infinitif
○ nom, adjectif masculin singulier
● Généralisation :...
POS tagging : catégories grammaticales
● Désambiguïsation
○ Il porte un beau costard. vs Elle ouvre la porte.
○ La belle f...
Chunking : groupes syntaxiques
● Unités correctement délimitées
○ [J’] [ai demandé] [un verre de vin] [au serveur].
● Trai...
Parsing : relations longue distance
54
Le cuisinier de ce restau est particulièrement doué.
SUJET
OBJET
NOM ÊTRE ADJ
cuisi...
Parsing : relations longue distance
55
● Correction grammaticale : accords sujet-verbe
● Traduction automatique : réordonn...
Trois techniques
essentielles
1. représenter la “sémantique”
d’un document
2. représenter le sens d’un mot
3. annoter un t...
“Sémantique” d’un document
57
Représenter la “sémantique” d’un document
● Pourquoi ?
○ lui attribuer une classe
○ trouver des documents similaires
○ l’i...
Constitution du sac de mots
● Élimination de certains mots
○ mots outils : stop list ou PREP, DET, CONJ, PRO
○ mots trop o...
Poids des mots
● Présence / absence
● Fréquence dans le document
● Fréquence dans le document vs dans la collection
○ TF.I...
Utilisation
61
java C# licence toulouse hausse ca web text mining
CV #1 ◾ ◾ ◾ ◾ ◼ ◼ ◾
MODÈLE
technicien
informatique
requê...
Le sens des mots
62
Représenter le sens d’un mot
● Pourquoi ?
○ identifier des synonymes : réduction taille vecteurs
○ généraliser :
■ dévelop...
Représenter le sens d’un mot
● Approche “statique”
○ Projection d’une ressource existante, exemple : WordNet
○ Proximité s...
Représenter le sens d’un mot
● Approche “distributionnelle” : le sens d’un mot est défini par son contexte
linguistique
● ...
Collecter le contexte d’un mot
● Relations syntaxiques :
○ verbe : tous les noms objets, sujets
○ nom : tous les adjectifs...
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’informatio...
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…
...
Approche empirique (apprentissage)
● Méthodes s’appuyant sur le contexte : CRF, HMM
● Exemples : corpus annoté… à la main ...
Approche symbolique procédurale
● Codage direct
○ matching expressions régulières
○ if-then-else
○ transducteurs à états f...
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...
Ressources logicielles
et linguistiques
75
Librairies open source
76
POS Lem Stem EN Chunk Parse Class Opin Coref Autre
Java ✱ ✱ ✱ ✱ ✱ ✱ ✱ ✱ n-grammes
Stanford
Core
...
Logiciels open source FR
● Porter Stemmer : diverses implémentations C++, Python, Perl, Java…
● Lemmatisation : http://sta...
Logiciels propriétaires FR
● Univ. Stuttgart - TreeTagger
● Synapse - Cordial
● Témis/Xerox - Xelda
78
POS Tagging + Lemma...
Classification & annotation
● Approches empiriques
○ Scikit-learn : vectorisation
○ Weka : HMM
○ Mallet : CRF, HMM, Entité...
Gros Volume
● Classification, Espaces vectoriels :
○ Deeplearning4j
● Parallélisation chaîne d’analyse
○ Apache UIMA
■ wra...
Ressources linguistiques
● Modèles FR Open NLP : N. Hernandez, Nantes
● LEFF - lexique formes fléchies : B. Sagot, Inria
●...
Merci pour
votre attention
http://www.uima-fr.org/
82
http://www.atala.org/-Liste-LN-
Prochain SlideShare
Chargement dans…5
×

Découverte du Traitement Automatique des Langues

1 905 vues

Publié le

Conférence donnée dans le cadre du meet-up "Toulouse Data Science".
L'exposé est une introduction du domaine du traitement automatique des langues (aussi connu comme TAL, text mining, ou NLP, fouille de texte, analyse sémantique...). L'exposé est à destination de tout public (informaticien, statisticien, linguiste, manageur, curieux).

Publié dans : Sciences
  • Soyez le premier à commenter

Découverte du Traitement Automatique des Langues

  1. 1. Introduction au traitement automatique des langues Meet up TOULOUSE DATA SCIENCE Estelle Delpech Epitech, 28 janvier 2016
  2. 2. 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
  3. 3. 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
  4. 4. Plan 4 1. Introduction au TAL : domaine, problématiques 2. Chaîne d’analyse linguistique 3. Trois techniques essentielles 4. Ressources logicielles et linguistiques
  5. 5. Introduction ● Qu’est-ce que le TAL ? ● Apprentissage automatique ● Linguistique ● Particularités de la donnée “langue” 5
  6. 6. “TAL” aka... 6
  7. 7. 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
  8. 8. TA L 8 Multi-disciplinarité
  9. 9. Apprentissage automatique 9
  10. 10. 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
  11. 11. Applications 11
  12. 12. Classifier des textes SPORT SCIENCE PEOPLE 12 ?
  13. 13. Associer des mots 13
  14. 14. Reconnaître des structures 14
  15. 15. Produire du texte 15
  16. 16. Classification de textes à partir d’exemples POSITIF ? 16
  17. 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. 18. Extraction et décompte des traits super délicieux moyen bof #1 positif ◾ ◾ ◼ ◼ #2 positif ◾ ◾ ◼ ◼ #3 négatif ◼ ◼ ◾ ◾ #4 négatif ◼ ◼ ◾ ◾ 18
  19. 19. 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
  20. 20. Apprentissage super délicieux moyen bof #1 positif ◾ ◾ ◼ ◼ #2 positif ◾ ◾ ◼ ◼ #3 négatif ◼ ◼ ◾ ◾ #4 négatif ◼ ◼ ◾ ◾ méthode CART, SVM, Bayes, ... MODÈLE 20
  21. 21. Application du modèle POSITIF MODÈLE super délicieux moyen bof ◼ ◾ ◼ ◼ 21
  22. 22. Arbre de décision ¬ super super délicieux ¬ délicieux NÉGATIF POSITIF POSITIF 22 super délicieux moyen bof ◼ ◾ ◼ ◼
  23. 23. Classifieur linéaire poids valeur du trait biaisclasse
  24. 24. 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
  25. 25. Modèle probabiliste 25 probabilité classe a priori probabilité classe sachant mot i probabilité classe sachant les n mots du texte
  26. 26. 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
  27. 27. Linguistique 27
  28. 28. 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
  29. 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. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. 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
  34. 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. 35. 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
  36. 36. Une donnée “humaine” 36
  37. 37. 37 source : http://www.synomia.fr/fr/vision-et-techno/big-data-et-entreprises
  38. 38. Pas de bijection forme ⟷ sens 38 toile film
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 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. 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. 44. Multilinguisme 4444 film picture film movie pellicule photo ● boite aux lettres ↔ letter box ● lampe de poche ↔ torch ● faire la bringue ↔ paint the town red
  45. 45. 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.
  46. 46. Chaîne d’analyse linguistique ● Mots ● Catégories grammaticales ● Lemmes ● Groupes syntaxiques ● Analyse syntaxique profonde 46
  47. 47. 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. 48. 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
  49. 49. 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
  50. 50. 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
  51. 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. 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. 53. 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
  54. 54. Parsing : relations longue distance 54 Le cuisinier de ce restau est particulièrement doué. SUJET OBJET NOM ÊTRE ADJ cuisinier doué
  55. 55. Parsing : relations longue distance 55 ● Correction grammaticale : accords sujet-verbe ● Traduction automatique : réordonnancement OBJETSUJET VERBE SUJET VERBE OBJET
  56. 56. 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
  57. 57. “Sémantique” d’un document 57
  58. 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. 59. 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
  60. 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. 61. 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
  62. 62. Le sens des mots 62
  63. 63. 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
  64. 64. 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
  65. 65. 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
  66. 66. 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 ◾ ◾ ◾ ◾ ◼ ◼
  67. 67. Rapprocher les mots 67 ● Similarité : ○ cosine ○ jaccard ● Obtention d’un graphe ○ extraction de cliques, etc.
  68. 68. Annoter un texte 68
  69. 69. 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 ?
  70. 70. 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
  71. 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. 72. Approche symbolique procédurale ● Codage direct ○ matching expressions régulières ○ if-then-else ○ transducteurs à états finis 72
  73. 73. Approche symbolique déclarative ● Description des règles linguistiques ● Application par un moteur d’analyse 73 Link parser
  74. 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. 75. Ressources logicielles et linguistiques 75
  76. 76. 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
  77. 77. 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
  78. 78. Logiciels propriétaires FR ● Univ. Stuttgart - TreeTagger ● Synapse - Cordial ● Témis/Xerox - Xelda 78 POS Tagging + Lemmatisation + Chunking :
  79. 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. 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. 81. 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
  82. 82. Merci pour votre attention http://www.uima-fr.org/ 82 http://www.atala.org/-Liste-LN-

×