Traitement Automatique des Langues
Transcription
Traitement Automatique des Langues
Formalismes linguistiques – TAL © 2005 R. Marlet 1 Formalismes linguistiques Traitement Automatique des Langues Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet Formalismes linguistiques – TAL © 2005 R. Marlet Les révolutions techno-linguistiques 1. Invention de l'écriture – effets amplifiés par l'imprimerie 2. Grammaticalisation des langues – amplifiée par la mise en place de politiques linguistiques nationales et l'alphabétisation 3. Traitement électronique de la langue naturelle – s'appuie sur les deux premières révolutions, et sur les révolutions de l'électronique et de l'informatique 2 Formalismes linguistiques – TAL © 2005 R. Marlet 3 C'est pour un sondage Qu'est-ce que : – un ordinateur ? – un microprocesseur ? – un programme ? – un langage de programmation ? – une base de données ? – un corpus électronique ? – un traitement informatique de la langue ? Formalismes linguistiques – TAL © 2005 R. Marlet L'ordinateur, son environnement et le flux d'information Dispositifs de sortie Ordinateur (unité centrale) microprocesseur mémoire Dispositifs d'entrée clavier souris réseau écran [Plus généralement, il existe un grand nombre de types différents de dispositifs d'entrée et/ou de sortie: imprimante, lecteur de CD-ROM, etc.] 4 Formalismes linguistiques – TAL © 2005 R. Marlet 5 Microprocesseur et mémoire réalisation des opérations microprocesseur (fait les calculs) stockage des données mémoire volatile (rapide) mémoire persistante (lente) [En réalité, la mémoire persistante (disque, disquette, CD-ROM, clé USB, etc.) est un dispositif d'entrée et de sortie, mais cela importe peu pour le raisonnement] Formalismes linguistiques – TAL © 2005 R. Marlet 6 Mémoire (vue simplifiée) 1 -42 2 ... 35721 3.1415927 ... 14 35722 7 35723 1789 35724 ... 4294967296 0 ... 31 Chaque case contient une valeur Information grosse ou complexe (ex. date du 14 juillet 1789) : stockée dans plusieurs cases (souvent contiguës) Mémoire : une succession de « cases » numérotées dans lesquels sont rangées des valeurs. Un numéro de case est aussi appelé « adresse mémoire ». Formalismes linguistiques – TAL © 2005 R. Marlet 7 Mémoire (en réalité) 1 6 2 ... 35721 253 ... 14 35722 7 35723 17 35724 ... 4294967296 89 ... 31 Les cases ont toutes la même taille : elles peuvent généralement stocker un nombre entre 0 et 255 (00000000 à 11111111) Information grosse ou complexe (ex. date du 14 juillet 1789) : stockée dans plusieurs cases (souvent contiguës) 1789 = 100 × 17 + 89 1789 = 256 × 6 + 253 Mémoire : une succession de « cases » numérotées dans lesquels sont rangées des valeurs. Un numéro de case est aussi appelé « adresse mémoire ». Formalismes linguistiques – TAL © 2005 R. Marlet Représentation d'informations symboliques en mémoire (1) ● ● ● 8 Associer nombres et symboles ... 65 66 67 ... 97 98 92 ... A B C ... a b c ... 231 232 233 ... ... ç è é ... Il existe des conventions standardisées Savoir interpréter : 35721 65 – Un nombre ne « dit » pas s'il doit être interprété comme nombre (sens propre) ou comme symbole (sens figuré) – Il faut se souvenir du type de l'information stockée Formalismes linguistiques – TAL © 2005 R. Marlet Représentation d'informations symboliques en mémoire (2) ● Conventions pour représenter une succession de symboles (ex. suite de lettres d'un mot) – cases mémoire successives – symbole terminateur ou longueur de la chaîne Ex. mot « Bx3 », stocké à l'adresse 35721 et suivantes ... 35721 ... 66 ... 35721 ... 66 3 35722 120 35722 120 66 35723 51 35723 120 51 35724 ... 0 ... 35724 ... 51 0 ... 9 Formalismes linguistiques – TAL © 2005 R. Marlet Et un programme, c'est quoi ? 10 Formalismes linguistiques – TAL © 2005 R. Marlet Et un programme, c'est quoi ? Un programme, c'est comme une recette de cuisine (sauf que c'est un peu du chinois) 11 Formalismes linguistiques – TAL © 2005 R. Marlet 12 Exemple : Sauce Béchamel Qui sait la préparer ? Formalismes linguistiques – TAL © 2005 R. Marlet Sauce Béchamel Description par l'image 13 Formalismes linguistiques – TAL © 2005 R. Marlet Sauce Béchamelle (livre de cuisine de ma grand-mère) La Béchamelle — est essentiellement une sauce maigre ; on la prépare en faisant fondre dans une casserole 30 gr. de beurre auquel, peu à peu, l'on mélange quantité égale de farine en mouillant également peu à peu avec un demi-litre de lait froid bouilli, on aromatise avec sel, pincée de mignonnette, bouquet garni, pointe de muscade, carotte coupée en tranches minces, on tourne sans cesse jusqu'à ce que la sauce bouille ; après dix minutes d'ébullition, à grand feu et en remuant toujours, on supprime les aromates. Si la sauce est parfaitement lisse, il est inutile de la passer ; au cas contraire, on la passera dans une passoire en tournant. 14 Formalismes linguistiques – TAL © 2005 R. Marlet opération (instruction) récipient (case) produit (données) condition (test) contrôle (déroulement) Sauce Béchamelle (de mémé) La Béchamelle — est essentiellement une sauce maigre ; on la prépare en faisant fondre dans une casserole 30 gr. de beurre auquel, peu à peu, l'on mélange quantité égale de farine en mouillant également peu à peu avec un demi-litre de lait froid bouilli, on aromatise avec sel, pincée de mignonnette, bouquet garni, pointe de muscade, carotte coupée en tranches minces, on tourne sans cesse jusqu'à ce que la sauce bouille ; après dix minutes d'ébullition, à grand feu et en remuant toujours, on supprime les aromates. Si la sauce est parfaitement lisse, il est inutile de la passer ; au cas contraire, on la passera dans une passoire en tournant. 15 Formalismes linguistiques – TAL © 2005 R. Marlet Sauce Béchamel (mon livre de cuisine, plus moderne) ● 30 g. de farine ● 30 g. de beurre ● 1/3 l. de lait ● Sel, poivre ● Éventuellement noix de muscade Faire fondre le beurre dans une petite casserole, y ajouter la farine, faire chauffer jusqu'à ce que le mélange mousse. Ajouter, en remuant, le lait froid, continuer à tourner jusqu'à ce que la sauce épaississe. Assaisonner. 16 Formalismes linguistiques – TAL © 2005 R. Marlet Sauce Béchamel (mon livre de cuisine, plus moderne) ● 30 g. de farine ● 30 g. de beurre ● 1/3 l. de lait ● Sel, poivre ● Éventuellement noix de muscade opération (instruction) récipient (case) produit (données) condition (test) contrôle (déroulement) Faire fondre le beurre dans une petite casserole, y ajouter la farine, faire chauffer jusqu'à ce que le mélange mousse. Ajouter, en remuant, le lait froid, continuer à tourner jusqu'à ce que la sauce épaississe. Assaisonner. 17 Formalismes linguistiques – TAL © 2005 R. Marlet 18 Sauce Béchamel « informatisée » (1) Mémoire (état initial) – noms au lieu d'adresses – – Case [Farine] : 30 g. de farine Case [Beurre] : 30 g. de beurre – Case [Lait] : 1/3 l. de lait froid Case [Assaisonnement] : sel, poivre, muscade – Case [Casserole] : initialement vide – Opérations – vider/ajouter le contenu de la case [X] dans la case [Y] – chauffer/tourner le contenu de la case [X] – tester si le contenu de [X] est fondu, mousse, est épais Formalismes linguistiques – TAL © 2005 R. Marlet 19 Sauce Béchamel « informatisée » (2) Programme (version informelle) 1. Vider le contenu de la case [Beurre] dans la case [Casserole]. 2. Faire l'action « Chauffer » sur la case [Casserole] jusqu'à ce que le contenu de [Casserole] soit fondu. 3. Ajouter le contenu de la case [Farine] dans la case [Casserole]. 4. Faire l'action « Chauffer » sur la case [Casserole] jusqu'à ce que le contenu de la case [Casserole] mousse. 5. Vider le contenu de la case [Lait] dans la case [Casserole] 6. Faire l'action « Tourner le contenu de la case [Casserole] » jusqu'à ce que le contenu de la case [Casserole] soit épais. 7. Vider le contenu de la case [Assaisonnement] dans la case [Casserole]. 8. Tourner le contenu de la case [Casserole]. 9. Si le contenu de [Casserole] n'est pas lisse, passer le contenu de [Casserole]. Formalismes linguistiques – TAL © 2005 R. Marlet 20 Sauce Béchamel « informatisée » (3) Mémoire (état final) – Case [Farine] : vide – Case [Beurre] : vide – Case [Lait] : vide – Case [Assaisonnement] : vide – Case [Casserole] : sauce béchamel Formalismes linguistiques – TAL © 2005 R. Marlet 21 Sauce Béchamel « informatisée » (4) Programme (version formelle) 1. [Casserole] ← [Casserole] + [Beurre] 2. Faire chauffer([Casserole]) jusqu'à fondu([Casserole]) 3. [Casserole] ← [Casserole] + [Farine] 4. Faire chauffer([Casserole]) jusqu'à mousse([Casserole]) 5. [Casserole] ← [Casserole] + [Lait] 6. Faire tourner([Casserole]) jusqu'à épais([Casserole]) 7. [Casserole] ← [Casserole] + [Assaisonnement] 8. Tourner([Casserole]) 9. Si non lisse([Casserole]) alors passer([Casserole]) (Attention à la différence contenu/contenant) Formalismes linguistiques – TAL © 2005 R. Marlet 22 Sauce Béchamel « informatisée » (5) Programme (version formelle, syntaxe type) 1. Casserole ← Casserole + Beurre 2. do chauffer(Casserole) until fondu(Casserole) 3. Casserole ← Casserole + Farine 4. do chauffer(Casserole) until mousse(Casserole) 5. Casserole ← Casserole + Lait 6. do tourner(Casserole) until épais(Casserole) 7. Casserole ← Casserole + Assaisonnement 8. tourner(Casserole) 9. if not lisse(Casserole) then passer(Casserole) (Attention à la différence contenu/contenant) Formalismes linguistiques – TAL © 2005 R. Marlet 23 Les préparations de base ● ● La sauce Béchamel est utilisée dans plusieurs recettes, en particulier les gratins (choux-fleurs, endives, pâtes, ...) En ce cas, la recette dit quelque chose comme : – ● Napper de sauce Béchamel. Cela signifie qu'il faut : – sauter à la page de la sauce béchamel, – la faire, – et revenir au point où on en était dans la recette initiale Formalismes linguistiques – TAL © 2005 R. Marlet « Procédure » Sauce Béchamel ● Nommage du programme (procédure) sauce Béchamel pour une casserole données (passage d'argument) : procedure sauce_Béchamel(Casserole) 1. Casserole ← Casserole + Beurre ... 10. end ● Réutilisation de la procédure sauce_Béchamel dans le programme gratin_de_pâtes : 1. Casserole_1 ← Casserole_1 + Eau + Pâtes ... 17. do sauce_Béchamel(Casserole_2) 18. Plat_à_four ← Plat_à_four + Casserole_2 ... 24 Formalismes linguistiques – TAL © 2005 R. Marlet 25 Des recettes aux programmes Recette Programme récipient case mémoire (à une certaine adresse) produit donnée (contenu d'une case mémoire) instruction instruction Différents types de langages de programmation – langage machine – langages de haut niveau Formalismes linguistiques – TAL © 2005 R. Marlet 26 Programme en langage machine : suite d'instructions (version simplifiée) fonction factorielle : 4 × 3 × 2 × 1 ... ... 46 4 47 ... ... 1 ranger dans dans case case [48] [47] la le somme produit de de case case [46] [46] par et case case[47] [47] 721 ranger 722 soustraire 1 de case [46] 723 si case [46] est non nul, continuer l'exécution à l'adresse 721 724 terminer l'exécution ... ... Programme : cas particulier de données exécutables Formalismes linguistiques – TAL © 2005 R. Marlet Programme en langage machine : instructions avec arguments 27 fonction factorielle : 4 × 3 × 2 × 1 ... ... 46 4 47 ... ... 1 721 ranger 47 725 soustraire 1 46 727 si non nul 46 46 721 terminer 730 ... ... Programme : cas particulier de données exécutables 47 Formalismes linguistiques – TAL © 2005 R. Marlet 28 Programme en langage machine : code exécutables fonction factorielle : 4 × 3 × 2 × 1 ... ... 46 4 47 ... ... 1 ... ranger soustraire 1 si non nul terminer ... ... 28 721 28 47 725 139 46 727 205 46 731 ... ... 88 139 205 88 46 47 7 21 Le code des instructions est déchiffré par le microprocesseur à l'exécution ... Formalismes linguistiques – TAL © 2005 R. Marlet Langages de programmation de haut niveau 29 Des instructions sans référence directe à la mémoire – Affectation de valeurs, opérations arithmétique X ← 3 ; X ← X+1 – Contrôle de l'exécution if condition then instructions ; do instructions until condition Des données complexes tableaux : tab[i+1] ← tab[i] + 1 structures de données composites ☛ Ils simplifient l'écriture de programmes (par rapport au langage machine) Formalismes linguistiques – TAL © 2005 R. Marlet Différents paradigmes de langages de programmation ● Programmation impérative – ● Programmation fonctionnelle – ● instructions qui modifient l'état de la mémoire définition par équations sans référence explicite à la mémoire Programmation logique – expression de relations entre objets et recherches de solutions satisfaisant une relation Et aussi : programmation objet, réactive, déclarative, parallèle, par aspects, etc. 30 Formalismes linguistiques – TAL © 2005 R. Marlet Les limites de l'analogie avec les recettes de cuisine ● C'est trivial de copier une donnée (duplication de la valeur contenue dans une case mémoire et placement dans une autre case mémoire) Après l'exécution de X←Y ● – la valeur précédente de X est perdue – X et Y contiennent la même valeur C'est plus dur de multiplier les pains 31 Formalismes linguistiques – TAL © 2005 R. Marlet Traitement informatique de la langue Programme dont les données (d'entrée ou de sortie) sont des objets linguistiques – – texte : ● suite de caractères ● avec ou sans mise en page ● avec ou sans contenu hiérarchique et catégoriel son : ● – enregistrement audio ... Ex. comptage du nombre de mots dans un texte 32 Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : comptage du nombre de mots dans un texte 33 « Qu'elle était jolie la petite chèvre de Monsieur Seguin... » 35721 Q 35722 u 35723 ' 35724 e 35725 l 35726 l 35727 e 35728 35729 ... é ... 1. nbMots ← 0 2. adresse ← 35721 3. si contenu(adresse) = marque_fin_de_texte alors terminer 4. si contenu(adresse) = espace alors nbMots ← nbMots + 1 5. adresse ← adresse + 1 6. continuer à la ligne 3 Améliorations (corrections) possibles : ● traitement de l'apostrophe, de la ponctuation, ... ● cas d'un texte commençant par un espace, comportant plusieurs espaces à la suite, terminant sans ponctuation, ... Formalismes linguistiques – TAL © 2005 R. Marlet Petit historique du TAL Les événements marquants Traitement Automatique des Langues (TAL) Natural Language Processing (NLP) 34 Formalismes linguistiques – TAL © 2005 R. Marlet 35 Traduction automatique (1) ● ● Seconde guerre mondiale : premiers prototypes de calculateurs utilisés en cryptographie 1949 : Warren Weaver (mathématicien) prétend que la traduction automatique d'une langue naturelle à une autre est faisable Idée : la traduction est assimilable à du décryptage (!) « Quand je vois un article en russe, je me dis que c'est en fait un texte en anglais codé avec d'étranges symboles. Je vais donc entreprendre de le décoder. » ☛ Approche naïve et simpliste (~ mot à mot) Formalismes linguistiques – TAL © 2005 R. Marlet Traduction automatique (2) Traduction directe, mot à mot : – Unité lexicale de la langue source (analysée en composants morphologiques : lemmes + modifieurs) → équivalent dans la langue cible (trouvé par consultation d'un dictionnaire bilingue) – Analyse syntaxique : permutations pour rétablir l'ordre canonique de la langue cible Problème (entre autres) : Une unité lexicale peut avoir de multiples traductions selon le contexte 36 Formalismes linguistiques – TAL © 2005 R. Marlet Traduction automatique (3) ● 1954 : premiers « traducteurs » automatiques Double traduction célèbre d'un passage de l'évangile (de l'anglais au russe puis à l'anglais) : ● « l'esprit est ardent mais la chair est faible » → « l'alcool est fort mais la viande ne vaut rien » ● Résultats plus que décevants mais efforts poursuivis (généreux financement de dizaines de groupes de recherche) – Le contexte de la guerre froide fait accepter les promesses abusives des chercheurs (rêve de surveillance continue de l'URSS) 37 Formalismes linguistiques – TAL © 2005 R. Marlet 38 Traduction automatique (4) ● ● 1960 : Y. Bar-Hillel (linguiste et logicien) tire la sonnette d'alarme dans un rapport célèbre – « le bois était dans la maison » – bois : matériau ou lieu ? – besoin de connaissances générales sur le monde 1965 : commission d'enquête (rapport ALPAC), coup d'arrêt brutal au financement public et privé de la recherche américaine (et ~ mondiale) dans le domaine de la traduction automatique Formalismes linguistiques – TAL © 2005 R. Marlet 39 Traduction automatique (5) ● Aujourd'hui : – ● ● plusieurs niveaux de traduction selon la profondeur d'analyse (éventuellement un peu sémantique) L1 Notion de langage pivot – langage conceptuel universel – N langages → 2N traducteurs – encore hors d'atteinte – N langages → N(N-1) traducteurs – OK pour langues pas trop différentes et contextes délimités (ex. texte technique) langage pivot L6 Traduction par couple de langue L2 L5 L4 L1 L2 L6 L3 L3 L5 L4 Formalismes linguistiques – TAL © 2005 R. Marlet 40 Documentation automatique ● Gérer l'immense masse des documents écrits ● Processus d'automatisation depuis les années 50 – index de titres d'articles – « phrases représentatives » sélectionnées selon la fréquence de mots (ou co-occurrences) « importants » (généralement : noms, verbes) ● silence (non reconnaissance de passages importants) ● bruit (fausses reconnaissances) ● ● problèmes : mots polysémiques, importance des mots-outils éliminés (négation), reconnaissance de paraphrases, ... traduction en langages documentaires, aujourd'hui délaissés Formalismes linguistiques – TAL © 2005 R. Marlet Intelligence Artificielle et TAL (1) ● ● Intelligence Artificielle (IA) : simulation par l'ordinateur des activités intelligentes de l'homme – reconnaissance de formes (visuelles, sonores, ...) – résolution de problèmes – acquisition et utilisation des connaissances – compréhension du langage naturel Vaste champ de recherche né à la fin des années 1940 aux USA (Marvin Minsky, etc.) 41 Formalismes linguistiques – TAL © 2005 R. Marlet 42 Intelligence Artificielle et TAL (2) ● ● ● ● 1964 : Eliza, célèbre programme développé au labo d'IA du MIT (Joseph Weizenbaum) Objectif : simuler une conversation en anglais avec un interlocuteur humain Programme bâti sur deux niveaux – recherche de schémas d'expressions (pattern matching) – invention de réponse plausible sur un thème Doctor – joue le rôle d'un psychothérapeute Formalismes linguistiques – TAL © 2005 R. Marlet Exemple de dialogue avec Eliza – – – – – – – – – – – – – – – Men are all alike. IN WHAT WAY ? They're always bugging us about something or the other. CAN YOU THINK OF A SPECIFIC EXAMPLE ? Well, my boyfriend made me come here. YOUR BOYFRIEND MADE YOU COME HERE ? He says that I am depressed all the time. I AM SORRY TO HEAR YOU ARE DEPRESSED. It's true that I am unhappy. DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY ? I need help, that seems certain. WHAT WOULD IT MEAN IF YOU GOT SOME HELP ? Perhaps I could learn to get along with my mother. TELL ME MORE ABOUT YOUR FAMILLY. ... 43 Formalismes linguistiques – TAL © 2005 R. Marlet Principes de fonctionnement d'Eliza ● ● ● Reconnaissance de mots clés Si aucune séquence n'est reconnaissable, envoyer une formule passe-partout, du genre « pouvez-vous préciser votre pensée ? » Eliza « marche » pourtant étonnamment bien – pas de mise à l'épreuve de la réalité – principe de « renvoi de la balle » – simplicité mais efficacité du pattern matching – mais limites visibles en prolongeant la conversation 44 Formalismes linguistiques – TAL © 2005 R. Marlet Analyse syntaxique ● Noam Chomsky, fin des années 1950 – recherche sur la syntaxe des langues naturelles en s'appuyant sur les techniques pour langages formels – notion de compétence linguistiques (partition : phrases grammaticales / phrases agrammaticales) ● – – Colourless green ideas sleep furiously mise en correspondance d'une structure profonde avec une structure de surface grammaires non contextuelles (or hors contexte ; angl. context-free grammars), très utilisées en informatique = Essentiel de la recherche linguistique 1955-1970 45 Formalismes linguistiques – TAL © 2005 R. Marlet Analyse sémantico-logique ● ● Terry Winograd, début des années 1970, système SHRDLU Le monde des blocs : espace à 3 dimensions contenant des objets simples – ● parallélépipèdes, pyramides, cubes, de tailles et couleurs diverses Robot virtuel pour les manipuler 46 Formalismes linguistiques – TAL © 2005 R. Marlet Exemple de dialogue avec SHRDLU Person: PICK UP A BIG RED BLOCK. Computer: OK. Person: GRASP THE PYRAMID. Computer: I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN. Person (changing their mind): FIND A BLOCK WHICH IS TALLER THAN THE ONE YOU ARE HOLDING AND PUT IT INTO THE BOX. Computer: BY "IT", I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING. Computer: OK. Person: WHAT DOES THE BOX CONTAIN? Computer: THE BLUE PYRAMID AND THE BLUE BLOCK. Person: WHAT IS THE PYRAMID SUPPORTED BY? Computer: THE BOX. Person: HOW MANY BLOCKS ARE NOT IN THE BOX? Computer: FOUR OF THEM. Person: IS AT LEAST ONE OF THEM NARROWER THAN THE ONE WHICH I TOLD YOU TO PICK UP? Computer: YES, THE RED CUBE. 47 Formalismes linguistiques – TAL © 2005 R. Marlet 48 Caractéristiques de SHRDLU ● ● SHRDLU – comprend « de même couleur » selon le contexte – sait qu'il faut déplacer un objet pour en poser un autre à la place – est capable d'expliquer chacun de ses gestes – peut donner à tout moment une description correcte de son univers Analyse non seulement syntaxique mais aussi sémantique et logique – En fait, l'analyse sémantique guide l'analyse syntaxique Formalismes linguistiques – TAL © 2005 R. Marlet Analyse conceptuelle (1) ● ● Roger Schank, seconde moitié des années 1970 Observe que les humains se souviennent du contenu informatif mais peu de la forme → réduction de l'importance de la syntaxe → traduction en représentations conceptuelles 49 Formalismes linguistiques – TAL © 2005 R. Marlet 50 Analyse conceptuelle (2) Appel à des connaissances accumulées dans notre vie – Contexte des actions normales ou attendues (script) ● ● – Ex. « Jean, mécontent de la mauvaise qualité de son hamburger, a quitté le restaurant sans payer » Pour comprendre, il faut savoir que dans un restaurant on paie pour recevoir de la nourriture et qu'on attend qu'elle soit bonne Motivations psychologiques ● ● ● Ex. « Pierre a craché sur Marie, ce qui l'a fait pleurer » Il faut savoir que cracher sur quelqu'un est signe de mépris, que les gens n'aiment pas être méprisé, ce qui peut provoquer une émotion forte, ce qui peut provoquer des larmes La résolution de l'ambiguïté de l'anaphore « l' » est inutile Formalismes linguistiques – TAL © 2005 R. Marlet Analyse conceptuelle (3) Systèmes de compréhension automatique – performants pour l'interprétation de certains types de textes (sortie au restaurant, prise d'otage, déplacements d'une personne politique) – mais n'épuisent pas tout ce qu'on peut dire d'un texte – inadaptés pour tout ce qui n'est pas inscrit dans un enchaînement prédictible – difficiles à gérer 51 Formalismes linguistiques – TAL © 2005 R. Marlet 52 Approche connexionniste (1) ● ● 1943 : W. McCulloch et W. Pitt, analogie entre les neurones et les circuits électriques qui accomplissent des fonctions logiques 1949 : D. Hebb, modèle neurologique du fonctionnement de l'esprit – ● réseau de neurones formels, dont on donne un modèle mathématique 1958 : F. Rosenblatt, perceptron, réseau à trois couches – tâches de reconnaissance de forme et de classification Formalismes linguistiques – TAL © 2005 R. Marlet Approche connexionniste (2) ● 1969 : Minsky et Papert, limites du perceptron → désintérêt pendant une dizaine d'années ● ● Fin des années 1970 : – agglomérats multidimensionnels – réseaux compétitifs (effets excitateurs et inhibiteurs) Aujourd'hui – adaptés à la reconnaissance de la parole (y compris en milieu bruité), l'identification de caractères manuscrits, et l'analyse morphologique 53 Formalismes linguistiques – TAL © 2005 R. Marlet Ce qui a changé avec les années 1990 (1) Technologies – – – Augmentation de la capacité des ordinateurs ● puissance de calcul ● mémoire Réseau ● implantation mondiale ● haut débit Nouveaux supports de communication ● téléphone mobile, ordinateur portable, bornes interactives, systèmes embarqués, ... 54 Formalismes linguistiques – TAL © 2005 R. Marlet Ce qui a changé avec les années 1990 (2) Web – Mise à disposition d'informations ● – documents électroniques Offre de services ● sites interactifs, e-commerce, ... Bureautique – documents : ● – création, manipulation, recherche travail coopératif ● échange de messages 55 Formalismes linguistiques – TAL © 2005 R. Marlet Ce qui a changé avec les années 1990 (3) Linguistique informatique – – – Modèles statistiques ● indexation à grande échelle ● analyse superficielle de textes Formalismes linguistiques mécanisables ● développement de grammaires formelles réalistes ● analyseurs syntaxiques de complexité raisonnable Disponibilité de gros corpus électroniques ● mise au point des analyseurs ● extraction des connaissances 56 Formalismes linguistiques – TAL © 2005 R. Marlet Le TAL dans les industries de l'information : enjeux ● ● Le langage naturel est au coeur des systèmes d'information – forme orale : téléphone, ... – forme écrite : mail, web, documents électroniques, ... Besoins – ● 57 rechercher, analyser, classer, diffuser, reproduire, transformer, vérifier, ... Automatisation = source de productivité Formalismes linguistiques – TAL © 2005 R. Marlet Marché du TAL (1) [chiffres 2002] Marché – – – Monde : 1400 M€ ● représente environ 1/200 du marché du logiciel ● à titre de comparaison : ~ 1/1000 du marché de l'automobile Europe : 510 M€ ● 36% du marché mondial ● dont 60% Royaume-Uni, France, Allemagne, Italie France : 77 M€ ● 15% du marché européen ● 96 sociétés (ingénierie linguistique) 58 Formalismes linguistiques – TAL © 2005 R. Marlet Marché du TAL (2) [chiffres 2002] Offre – traitement du texte (80%) – traitement de la voix (20%) Demande – pharmacie et santé (36%) – services, banques, assurances, finances (20%) – public (15%) – transport, tourisme (11%) – ... 59 Formalismes linguistiques – TAL © 2005 R. Marlet Marché du TAL (3) 60 [chiffres 2002] Répartition de la demande par segment d'application – – 23% : gestion de documents 21% : moteurs de recherche intelligents – 14% : gestion de contenu 14% : e-business – 7% : traduction – 7% : ressources linguistiques 7% : e-learning – – – – 5% : production et édition 2% : vocal & multi-modal Formalismes linguistiques – TAL © 2005 R. Marlet Marché du TAL (4) 61 [chiffres 2002] Cible (au sein d'une même société) [*] – 18 % : moins de 100 personnes – 52% : de 100 à 1000 personnes – 12% : plus 1000 personnes Cause – 82% dû à l'accroissement des volumes de données à traiter → demande : 41% veille internet automatisée, 35% résumé [*] [*] Attention : chiffres en partie incohérents dans l'étude réalisée et rapportée ici — il y a peu de telles études —, ne regarder que l'ordre de grandeur Formalismes linguistiques – TAL © 2005 R. Marlet Travail demandé semaine dernière ● ● Quelles applications du TAL connaissez-vous ? – ... – ... – ... De quelles applications rêvez-vous ? – ... – ... – ... 62 Formalismes linguistiques – TAL © 2005 R. Marlet Le TAL dans l'entreprise (1) 80% des données ne sont pas structurées → exprimées en langue naturelle Ressources internes – recherche et gestion des CV – formation en ligne (e-learning) – gestion électronique de documents – travail collaboratif – ... 63 Formalismes linguistiques – TAL © 2005 R. Marlet Le TAL dans l'entreprise (2) Clients – e-commerce – traduction automatique et assistée – support en ligne – automates de reconnaissance et synthèse vocale pour le support automatique par téléphone – traitement automatique des mails – constitution et interrogation de bases de connaissances – ... 64 Formalismes linguistiques – TAL © 2005 R. Marlet Le TAL dans l'entreprise (3) Clients potentiels – moteur de recherche – aide à la recherche et la compréhension de documents – analyse de réponse à des enquêtes – profiling Environnement – veille : technologique, concurrentielle, légale (brevets) ... 65 Formalismes linguistiques – TAL © 2005 R. Marlet 66 Le TAL comme service embarqué (1) Bureautique – reconnaissance optique de caractères (OCR) – correction orthographique et grammaticale – résumé automatique – traduction automatique ou assistée – dictée vocale Formalismes linguistiques – TAL © 2005 R. Marlet 67 Le TAL comme service embarqué (2) Téléphonie (centres d'appel, ...) – reconnaissance vocale Véhicules (avion, automobile) – commande vocale – synthèse vocale (ex. couplée à un GPS) Formalismes linguistiques – TAL © 2005 R. Marlet Techniques de base pour l'analyse de texte ● Découper et étiqueter – – – – ● segmenter un texte en phrases et mots découper en lemmes et morphèmes reconnaître les catégories syntaxiques (nom, verbe, ...) reconnaître les traits morphologiques (genre, nombre) Reconnaître la structure – ● 68 analyse syntaxique Évaluer le sens – analyse sémantique : mise en relation avec une structure représentant le sens ; mise en contexte Formalismes linguistiques – TAL © 2005 R. Marlet 69 Ambiguïtés ● ● À chaque étape, des ambiguïtés sont possibles – prends : 2ème ou 3ème personne ? – car : substantif ou conjonction de coordination ? – « la petite brise la glace » – avocat : fruit ou juriste ? – construction : processus ou résultat ? – commencer un livre : lire ?, écrire ?, imprimer ?, ... Syntaxe : jusqu'à plusieurs millions d'analyses pour une phrase... Formalismes linguistiques – TAL © 2005 R. Marlet 70 Standards ISO TC 37 – Encodage des textes et caractères – Structuration des textes (XML) – Structurations des ressources linguistiques ● morphologie, syntaxe, sémantique ● terminologies mono- et multi-lingues ● lexiques et dictionnaires ● annotations de corpus Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : Veille (1) Problème : surveillance les concurrents (intelligence économique) – gros volume ● – besoin de réactivité ● – internet prise de décision en temps de crise besoin de fiabilité ● impact fort sur la stratégie de l'entreprise 71 Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : Veille (2) Technologie TAL – recherche des documents par mots-clés – analyse morpho-syntaxique des documents – analyse sémantique (extraction de connaissance) ● ● identification des entités : noms de personnes, noms de compagnies, valeurs, dates, lieux, ... reconnaissance des relations entre entité : relation d'achat, de cause à effet entre deux sociétés, ... Système effectivement utilisé : ex. société Total 72 Formalismes linguistiques – TAL © 2005 R. Marlet 73 Exemple : Portail Problème : – portail = contenu externe résultant de la surveillance de milliers de sites – besoin de fonctions de recherche « intelligentes » Technologie TAL – enrichissement de requête (synonymes) – expansion à d'autres langues – détection de la langue des documents (pour l'indexation) – Ex. un recherche sur « machines agricoles » trouvera des documents anglais parlant de « harvester » Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : Classification automatique Problème – enquêtes client suite à un achat – analyser les questions ouvertes ● donner une vue synthétique ● faire ressortir les points critiques Technologie TAL – analyse morpho-syntaxique et identification du thème – classification après un apprentissage sur un lot représentatif 74 Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : Gestion des brevets Problème – permettre de lire rapidement un brevet pour identifier s'il est pertinent ou non par rapport à une recherche Technologie TAL – collecte de formulations récurrentes et marqueurs lexicaux qui introduisent des éléments rhétoriques précis – mise en exergue des passages-clés : objet du brevet, aspects innovants, critiques des autres brevets, ... 75 Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : E-commerce (1) Problème : vente par correspondance – permettre au client d'aller vite au produit cherché ● – réduire les opérations proposer des produits du même type ou complémentaires pour vendre plus 76 Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : E-commerce (2) Technologie TAL – synonymie/dérivation ● ● – Ex. tenue de sport → tenue sportive Ex. lecteur CD portable → baladeur CD transformer des requêtes en langue naturelle en des requêtes de base de données (analyse morpho-syntaxique et automates) ● Ex. « pantalon noir en velours à moins de 60 euros » – – – – article : pantalon couleur : noir matière : velours prix : < 60 euros 77 Formalismes linguistiques – TAL © 2005 R. Marlet 78 Exemple : Terminologie d'entreprise Problème : – produire et maintenir une documentation technique – en plusieurs langues, adapté à diverses réglementations → mise en place d'une terminologie d'entreprise Technologie TAL – identification de la langue, lemmatisation, analyse et désambiguïsation morpho-syntaxique – extraction de terminologie multilingue (groupes nominaux, ...) Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : Gestion de candidatures Problème : – gérer de gros volumes de candidatures (20.000 à 200.000 CV par an) Technologie TAL – reconnaissance optique de caractères (OCR) – détection de la langue, du type de document (CV, lettre de motivation) – analyse morpho-syntaxique – application d'étiquettes sémantiques à certains types de lexiques 79 Formalismes linguistiques – TAL © 2005 R. Marlet Exemple : Gestion de candidatures Technologie TAL (suite) – normalisation (formation, ..) – interrogation suivant des critères (formation, expérience professionnelle, compétences, localisation géographique, ...) – envoi automatique d'accusé de réception – routage automatique des candidatures vers des recruteurs particuliers – statistiques – possibilité de rendre le CV anonyme 80 Formalismes linguistiques – TAL © 2005 R. Marlet 81 Et aussi... ● Génération de textes (bulletins météo, ...) ● Concordanciers ● Phonétisation (ex. lecture de textes pour aveugles) ● Accentuation automatique ● Annotation multilingue (alignements de phrases, de mots) ● Résumé par compréhension, par extraction ● Traduction assistée ● Dialogue homme-machine ● ... Formalismes linguistiques – TAL © 2005 R. Marlet Qualité (actuelle) variable Exemples : – Analyse syntaxique ● – – Traduction ● automatique : encore médiocre ● assistée : bons résultats Reconnaissance vocale ● – locale (fenêtre d'analyse) → raisonnable, pas parfaite nécessite de nombreuses corrections Indexation ● bons résultats 82 Formalismes linguistiques – TAL © 2005 R. Marlet Intérêts majeurs du TAL (il y en a d'autres) ● Traitement de gros volumes – ● 83 recherche sur de grosses bases de données, sur internet, ce qu'un humain ne pourrait pas faire Vitesse – plus rapide que ce que des humains pourraient faire → réactivité à un besoin urgent ● Dans certains cas (pour des choses suffisamment simples!), fiabilité – un humain commet plus facilement erreurs et oublis Formalismes linguistiques – TAL © 2005 R. Marlet 84 Bibliographie ● ● ● ● La philosophie du langage, Sylvain Auroux, Presses Universitaires de France, 1996 (chapitre 8) Ingénierie des langues, sous la direction de Jean-Marie Pierrel, Editions Hermes, 2000 Informatique et linguistique, Jean Véronis, Université de Provence, 2001 (disponible sur le web, chapitres 1 à 5: http://www.up.univ-mrs.fr/veronis/cours/INFZ18/) Le traitement automatique des langues dans les industries de l'information, Livre blanc, GRIIIL, Janvier 2005 (disponible sur le web: http://www.apil.asso.fr/docs/LB_GRIIIL.pdf)