télécharger 94.71 Kb.
|
![]() Jerôme Helmstetter Nicolas Maestro Jean-Baptiste Hainzelin Laurent Gendre Polytech’Nice-Sophia ESINSA Année 2005 COMPTE RENDU : Le Traitement Automatique des Langues ![]() Mr Thierry Pitarque Decembre 2005 Appréciations Table des matières 1 Introduction 4 2 Les Principes de fonctionnement 5 2.1 Description 5 2.2 Analyse textuelle 6 2.3 Analyse de la parole 9 3 Applications du TAL 10 3.1 Traitement de la parole 10 3.2 Traitement à partir d'un texte 11 3.3 Services embarqués du TAL 12 4 Les performances du TAL 13 4.1 Les limites du TAL 13 4.2 Les projets d'amélioration du TAL 13 5 Conclusion 15 6 Sources d'information 16 7 Annexes 17 1 IntroductionDans le cadre d'une recherche de Traitement Numérique du Signal, notre étude s'est portée sur le thème du Traitement Automatique des Langues. Notre travail de recherche consiste donc à montrer brièvement ce qu'est le TAL ainsi que ses applications potentielles. Il s'agit en fait d’un procédé informatique qui permet de traduire et de comprendre des messages. Ce protocole est quelque chose de récent puisque ce n'est qu'au début des années 40 que l'on s'en intéresse, et plus particulièrement avec l’avènement des guerres, qui nécessitaient une traduction automatisée afin de déchiffrer des documents importants interceptés. On laissait ensuite ces documents à de vrais traducteurs humains pour une traduction moins approximative. Ceci était devenu une nécessité, car la disponibilité de tels traducteurs faisait en sorte qu’il n’était pas possible de traduire tous les documents, sans avoir recourt au préalable à un système automatisé. Dès lors, on faisait face a des réels problèmes : la traduction mot a mot, méthode la plus simple, n’est absolument pas performantes. En effet, chaque langue adopte des règles d’arrangement des mots, ce qui conduit nécessairement au développement d’une méthode permettant d’arranger et d’uniformiser les mots utilisés, ce qui est appelé la "syntaxe opérationnelle". De nos jours, soit une cinquantaine d’années plus tard, cette discipline s’est bien développée, on trouve des systèmes capables de déchiffrer des séquences complètes, voir des textes entiers grâce au développement des cursus linguistiques et du domaine de l’informatique également. Pour aboutir a ceci, on a du se rendre a l’évidence, que les gros systèmes ambitieux du projet initial, n’était pas la solution, la fiabilité résidant dans de petits systèmes, personnalisables. De plus, avec l’arrivée d’Internet dans une grande majorité des foyers, on a un marché en constante évolution ainsi que de plus en plus de gros industriels et on est donc passé à une demande plus "populaire". En effet, sans peut être même le savoir, chacun de nous exploite les résultats de ces recherches dans ses actes de tous les jours, car les applications moderne du dispositif automatisé se retrouve dans les traitements de texte, pour la correction orthographique et grammaticale, sur les moteurs de recherches ainsi que dans les logiciels de reconnaissance vocale, voire même dans des applications permettant de résumer automatiquement des textes entiers. C'est pourquoi, il est important d'exprimer dans un premier temps le fonctionnement d'un tel système de traitement avant de développer sur ses applications et ses limites. Une version numérique de ce document se trouve sur internet à :
Ces fichiers ont été générés avec OpenOffice. Les sources sont disponibles à :
2 Les Principes de fonctionnement2.1 DescriptionL'objectif des traitements automatiques des langues est la conception de logiciels ou programmes, capables de traiter de façon automatique des données linguistiques, c’est-à-dire des données exprimées dans une langue "naturelle". Le TAL nécessite alors plusieurs outils pour un fonctionnement optimal comme l'informatique, la linguistique ainsi que les différentes études et recherches. L'informatique se préoccupe de développer des outils logiciels pour le traitement du langage par ordinateur. Il peut s’agir d’écrire des programmes de traitement dans des langages classiques (C, Java, Pascal, ...) ou spécialisés dans le traitement (LISP, Prolog, Self, ...). Elle a également pour tâche d’implémenter dans ces logiciels les théories et les descriptions linguistiques particulières. L’informatique théorique permet d’optimiser les algorithmes et programmes de traitement. Les recherches en sciences et en intelligence artificielle sur la représentation du savoir sont également très importantes, notamment pour les aspects sémantiques et textuels du TAL. L'objet linguistique que l'on cherche à traiter automatiquement n'est pas un langage, mais un ensemble de textes exprimés dans une langue particulière. En effet, toutes les langues humaines sont ainsi structurées. Cette faculté de langage, innée, se développe avec l’enfant, lors de l’acquisition de la langue maternelle (puis des langues secondaires), et peut se trouver (partiellement ou totalement) détruite accidentellement. Il est donc évident que la faculté de langage par elle-même ne peut constituer l’objet des traitements automatiques mais elle s'utilise nécessairement à travers une langue donnée. Bien sûr, les données linguistiques peuvent être des textes écrits, qui sont en fait un regroupement d'informations cohérentes (ex. : une notice ...), ou bien des dialogues écrits ou oraux, ou encore simplement des phrases ou des mots. Ces données forment alors un texte régi par des règles explicables : les règles de la langue. Si l'on revient sur le terme traitement automatique, c'est à dire un traitement qui opère par des moyens "mécaniques", on remarquera qu'il est basé sur la supposition d'être capable de ramener des manipulations sur des données linguistiques à des calculs.Un traitement automatique est en fait une suite d’actions ou calculs à faire effectuer par la machine dans un un programme. Cette automatisation est dite "totale" ou "partielle" :
On peut dire que le TAL évoluera en même temps que notre capacité à décrire notre langue de la façon la plus fine possible mais aussi avec l'avancement des recherches importantes (génération et compréhension de texte par exemple). 2.2 Analyse textuelleNous allons présenter les différents niveaux d’analyse d’information textuelle pour bien comprendre le fonctionnement du Tal. Pour illustrer ceci, nous allons analyser un bref texte dans une langue qui nous serait inconnue, représenté, par exemple, par la suite de caractères suivante : L ![]() 'analyse se décompose alors en 5 parties : Découper, Etiqueter, reconnaître la structure, évaluer le sens et mettre en contexte.
Il faut tout d'abord diviser le texte en segments afin de reconnaître des phrases et des mots. C’est le rôle des outils de segmentation, dont la complexité peut varier depuis la simple reconnaissance de caractères d’espace ou de ponctuations, à l’utilisation de dictionnaires complets. Un segmenteur pourra ainsi proposer le découpage en phrases et mots suivants pour le texte : ![]() Le texte est composé de deux phrases, la première étant constituée de quatre mots et la seconde de trois. Le point n’a ici pas été étiqueté comme un mot. Ce découpage, dans le cadre du TAL, dépend des objectifs de ce découpage et des ressources dont on dispose pour effectuer l’analyse. Ce niveau de traitement est souvent considéré comme suffisant pour différentes applications du TAL, notamment celles qui concernent les cas simples de recherche plein texte, la fouille de texte ou la cartographie d’information.
Les mots constituants une phrase sont porteurs d’informations telles que le nombre, le genre et la personne. L’étiquetage consiste à reconnaître ces informations. Un étiqueteur pourra, par exemple, proposer l’analyse suivante pour la première phrase : ![]() Ainsi, dans cet exemple, la chaîne ‘’Reoiajr oj’’ est reconnue comme une forme du verbe ‘’reoi’’, au singulier et au masculin (dans le Volapuk qui est une langue inventé il y a quelques années, les verbes portent la marque du genre). L’étiqueteur utilisé ici effectue à la fois la reconnaissance de ce qu’on peut appeler les mots du dictionnaire et l’attribution des étiquettes. La manière de procéder à l’étiquetage dépend largement des choix scientifiques, méthodologiques et applicatifs mais l’étiquetage est assez souvent une étape vers des traitements plus complexes.
Les mots entretiennent entre eux des relations, comme celles qui existent entre un verbe et son sujet ou encore entre un nom et son adjectif. L’analyse syntaxique a pour rôle de reconnaître ces relations, représentées ci-dessous sous la forme d’un arbre. ![]() Cet arbre nous indique que la suite « earoij reoa » est un groupe nominal constitué d’un nom et de son adjectif. Ce groupe nominal est lui-même le sujet du verbe, le sens de la phrase étant modifié par l’adverbe « e eo ao ». Evidemment, nous ne savons encore rien du sens de la phrase. Reconnaître des expressions, et notamment des groupes nominaux, est utile à des applications de diverses natures.
On peut considérer que la mise en relation d’un texte avec une structure représentant le sens des mots (base de connaissances) constitue une analyse sémantique (analyse du sens). Ces bases de connaissances organisent les mots entre eux, généralement en les associant à des concepts. Si une base de connaissances existe pour notre langue, une analyse sémantique de la phrase pourrait être représentée par la figure ci-dessous : ![]() Ce schéma nous dit que le verbe de la phrase a un rapport avec la douleur et que le nom signifie une dent. Un vrai système pourrait inclure des liens avec des synonymes (par exemple, en français « être douloureux » pour le verbe), des termes spécifiques (par exemple, « molaire » pour « dent ») ou d’autres types de relations. Ce niveau d’analyse est utile dans deux grands champs applicatifs. Celui de la recherche d’information et celui de la traduction automatique.
A ce stade, le sens général de la phrase est perçu mais il faut désormais la mettre en contexte pour évaluer son utilité. Ainsi, cette phrase pourra être prononcé par un patient chez le dentiste par exemple. Dans l'autre sens, l'analyse des suites de caractères peut être décrit pour ce que l’on appelle la génération, que ce soit pour des besoins de génération de résumés, de traductions ou de génération de textes, par exemple à partir de bases de données. 2.3 Analyse de la paroleLa Reconnaissance automatique de la parole (RAP) est en rapport avec le traitement automatique des langues, c'est pourquoi, il est interessant d'expliquer succintement la méthode d'analyse de la parole puisque l'on se rapproche du domaine du traitement du signal. L'enregistrement du signal lui-même ne suffit pas à identifier les prononciations étant donné l'extrême variabilité du signal due aux différents locuteurs et au milieu environnant. La solution adéquate réside dans une représentation du signal et l'élaboration d'un système réel de reconnaissance indépendant du vocabulaire et du locuteur. A l'heure actuelle, les modules classiques de reconnaissance de la parole les plus efficaces utilisent des approches statistiques et plus particulièrement des modèles de Markov cachés (MMC) (Il est bien évident que nous ne detaillerons pas les méthodes étant donné la complexité de celles-ci). Les recherches autour de ces modèles sont nombreuses mais le système ideal n'existe pas puisqu'il n'existe aucun système qui possède un taux de réussite supérieur à 96%. Bien sûr, certains chercheurs cherchent à developper d'autres modèles (modèles articulatoires, modèles dynamiques et fusion de données). Il existe deux méthodes de RAP : Tout d'abord la méthode globale où nous comparons globalement un message d'entrée aux différentes références stockées dans un dictionnaire en utilisant des algorithmes de programmation dynamique ou des modèles de Markov cachés. La reconnaissance consiste alors à trouver le meilleur chemin pour reconnaître une phrase prononcée. Il existe aussi la méthode analytique qui fait intervenir le modèle phonétique du langage puisque cette méthode consiste à identifier des unités minimales (syllabe par exemple) mais il y a tout de même une dépendance de la méthode de segmentation utilisé. L'identification de ces unités passe par la reconnaissance des formes (classification statistique, réseaux de neurones, etc...) ou des méthodes d'intelligence artificielle. Généralement, les premiers modules de la reconnaissance de la parole sont :
Petite expliquation : Le modèle de Markov caché permet de décrire un réseau reflétant une phrase avant de permettre à ce même réseau d'évoluer, c'est à dire réaliser un apprentissage des paramètres puis il finit par effectuer une reconnaisance par calcul de vraisemblance. Finalement l'analyse de la parole est un domaine assez complexe qui aurait besoin de plus en plus de recherches pour permettre peut etre un jour d'avoir des systèmes 100% fiables. 3 Applications du TAL3.1 Traitement de la paroleDès la fin des années 1970, du fait des limites des systèmes développés, le décodage de la parole, considéré comme le problème majeur de la reconnaissance, est à nouveau l'objectif prioritaire des recherches en reconnaissance. Trois approches sont envisagées : la première est fondée sur le traitement du signal et la reconnaissance de formes ; la seconde se fonde sur une approche de type intelligence artificielle (développement de systèmes experts en lecture de spectrogrammes); la dernière, toujours très fructueuse aujourd'hui, est axée sur une approche probabiliste du décodage de la parole.
On trouve aujourd'hui un grand nombre de produits fiables qui permettent de contrôler l'environnement grâce à une entrée vocale. Pour des raisons plus ergonomiques que purement techniques, la taille du vocabulaire, dont disposent au moment du décodage les systèmes de commande vocale, est de façon générale, limitée à quelques centaines de mots.
Ces systèmes permettent de produire un texte à partir de la voix de l'utilisateur en respectant au mieux les règles grammaticales et d'orthographes de la langue. Cependant, le système n'essaye pas de comprendre les phrases qui lui sont dictées. La société IBM a produit un logiciel (viavoice) qui réalise la dictée vocale. Ce logiciel présente des résultats mitigés car l'utilisateur doit faire preuve de concentration, bien articuler et éviter les hésitations. Les mots inconnus sont transformés en mots phonétiquement proche (exemple: transgénétique devient transe et hygiénique).
Un système de dialogue homme machine comporte, outre un module d'analyse et un module de génération, un module de raisonnement spécifique. Raisonner, en l'occurrence, suppose la capacité d'accéder à une base de connaissances quelconque (horaire des trains ou des avions, pages jaunes de l'annuaire, catalogue de vente par correspondance ...) de façon, à être capable de gérer un dialogue, c'est-à-dire une séquence indéterminée d'échanges, ce qui revient à être capable de mémoriser, de changer de sujet, de s'adapter à son interlocuteur. 3.2 Traitement à partir d'un texte
La traduction automatique ne produit qu'une traduction approximative du texte original, elle sert essentiellement à avoir une vision rapide du sens global d'un texte. Elle se fait en trois étapes: -le texte d'entrée est analysé. -à partir de cette analyse, le texte d'entrée est transformé en un langage intermédiaire indépendant de toute langue. -à partir du langage intermédiaire, le texte final est dans la langue désirée.
Comprendre un texte, c'est être capable de relier les phrases entre elles de façon à reconstruire un contenu ayant du sens et cohérent. C'est aussi être capable d'interpréter le message reçu par rapport à la situation et aux conditions d'énonciation. Aujourd'hui, on est capable de traiter des aspects limités du sens d'un texte quelconque, de manière à pouvoir par exemple l'indexer correctement dans une base de données. Par ailleurs, on peut aller plus loin pour obtenir une compréhension plus profonde, mais cela serait relatif à un domaine très précis.
Ce n'est qu'au début des années 80 que le problème de génération de textes, dans un acte de communication donné, est abordé. Dans ce cadre, le texte généré par la machine doit satisfaire des exigences : d'une part indiquer à l'utilisateur les informations qu'il désire, et d'autre part offrir une formulation de ces informations dans une langue correcte. Il s'en suit que le processus de génération comporte deux composants : le premier (système expert de raisonnement) traite la question "quoi dire ?" (détermination du contenu informatif), le second (module de génération linguistique) traite la question "comment le dire ?" (formulation du contenu informatif dans une langue correcte). 3.3 Services embarqués du TALLe traitement automatique des langues, qu'il concerne l'oral ou l'écrit, améliore la qualité de divers services d'information, parfois sans que l'utilisateur ou l'usager en ait conscience. Ces services peuvent être "embarqués" dans une variété assez large de systèmes.
Les produits bureautiques, extension artificielle de nos capacités de communication, embarquent des fonctions à vocation anthropomorphe, tentant ainsi d’optimiser nos propres actions. Elles simulent alors des activités associées au langage afin de nous soulager de leurs fardeaux. On peut citer dans ce domaine les logiciels de reconnaissance optique de caractères (OCR) qui nous libèrent de la lecture et la saisie des documents, les systèmes de correction orthographique et grammaticale, qui nous soulagent des relectures fastidieuses ou de la consultation des usuels, ainsi que les outils de résumé automatique, de traduction ou les systèmes de dictée vocale…
La téléphonie bénéficie grandement des traitements automatiques de la parole, qui vont au-delà de la simple possibilité de scander le nom sous lequel a été stocké le correspondant. Les systèmes de reconnaissance vocale indépendants du locuteur (IVR), alliés à des systèmes de gestion de dialogues plus ou moins sophistiqués, permettent de diminuer les coûts des centres d’appel.
Les systèmes d’analyse et de synthèse vocale ont été également mis à contribution pour assister le pilote dans sa tâche, afin d’améliorer son confort ou sa sécurité. Ainsi, les premières tentatives pour embarquer un système de commande vocale dans un avion de chasse datent de 1983. Depuis, les systèmes de GPS (Global Positioning System) sont devenus des accessoires standards des véhicules et fournissent en temps réel un guidage « par la voix » de manière extrêmement fiable. 4 Les performances du TAL4.1 Les limites du TALBien que le TAL soit un outil performant, celui-ci n'est pas parfait et comporte encore certains défauts dans divers domaines. Tout d'abord, dans le domaine vocal, il est nécessaire de parler lentement, clairement et de bien articuler pour obtenir un résultat satisfaisant. Et même malgré cela, des erreurs peuvent se produire, notamment à cause des homonymes (c’est-à-dire plusieurs mots ayant la même prononciation et une orthographe différente) ou lorsque l'on emploie des termes complexes ou spécifiques à un domaine précis (on risque alors d'avoir une écriture phonétique ou une chaîne de mots attachés). On a donc remarqué que le TAL est uniquement performant avec les mots courants (noms communs par exemple). En ce qui concerne le domaine de la traduction, il ne faut pas espérer une qualité "humaine" du TAL : la traduction, même si elle s'efforce de s’éloigner du mot à mot, n'est pas toujours cohérente et compréhensible. De plus, on rencontre fréquemment le problème de la traduction d'un mot ayant plusieurs sens distincts. Le TAL éprouve alors des difficultés à interpréter correctement le sens de certains termes. Enfin, pour ce qui est de l'autonomie du TAL, il subsiste encore un travail humain nécessaire que l'on ne parvient pas à supprimer. Notamment lorsqu'il s'agit de la recherche d'informations, la participation humaine reste importante, car les réponses sont souvent peu pertinentes ( et doivent donc être vérifiées par l'homme). 4.2 Les projets d'amélioration du TALOn constate donc que le TAL n'est pas parfait, c'est pourquoi ses prochaines améliorations ont pour but de repousser les limites que l'on vient de voir. Pour cela, il faudrait parvenir à définir la langue naturelle en l’exprimant au mieux sous forme de règles et de grammaires. Mais cela comporte quelques difficultés :
5 ConclusionLe Traitement Automatique du Langage est vraiment un domaine passionnant qui nécessite des recherches de plus en plus poussés. Il est assez simple de pouvoir utilisé un système de résumé automatique ou bien système de reconnaissance de parole mais en réalité les études scientifiques qui se cachent derrière de tels systèmes sont impressionantes. On remarquera qu'il existe de nos jours des groupes de chercheurs travaillant sur des bases de connaissances ou bien des lexiques afin d'améliorer les performances du TAL et il y a plusieurs réunions chaque années pour tenir compte de l'avancement des différents projets. Ainsi, le Traitement Automatique du Langage est un outil puissant qui permet aux entreprises de gagner énormément de temps dans certains travaux. Cependant, nous avons vu que cet outil n'est pas parfait et nécessite encore quelques améliorations, même si celles-ci ne sont toutefois pas très évidentes à mettre au point. On notera enfin que le TAL commence aussi à s'orienter vers une utilisation publique et domestique. Les entreprises ne sont plus les seules à utiliser cet outil, ce qui ouvre de nouvelles perspectives pour le marché du TAL… 6 Sources d'informationAFCP : Association Francophone de Communication Parlée www.afcp-parole.org AFNOR : Association Française de NORmalisation www.afnor.fr ATALA : Association pour le Traitement Automatique des Langues www.atala.org ELRA : European Language Resources association www.elra.info Le portail Technolangue : www.technolangue.net Expliquations brèves : http://perso.wanadoo.fr/laurence.zaysser/ Les enjeux du TAL : www.u-grenoble3.fr/les_enjeux/2002/Staii/home.html Implémentation des lexiques TAL : lexsynt.inria.fr/index.php Thèse sur le traitement de la parole : www.esinsa.free.fr/Rapport/TheseParole.pdf 7 AnnexesAnnexe A : Exemple d'une partie de programmation d'un lexique TAL. Annexe B : Quelques Sociétés du domaine du TAL en france. Annexe A Ceci représente un exemple de programmation des entrées du verbe désirer. ; choix du type lexical (sous-cat) ; + forme orthographique, relation s mantique desir_2 := tv-base-lex & [ORTH , YNSEM.LOC [CONT.KEY.RELN "desire",SEDGE.LIAIS no], STACK.FIRST er]. desir_3 := sent-v-base-lex & [ORTH , SYNSEM.LOC [CAT.ARG-ST.REST < [LOC.CAT.HEAD.VFORM subjunc] >, CONT.KEY.RELN "desire", EDGE.LIAIS no],STACK.FIRST er]. desir_1 := sc-bare-v-base-lex & [ORTH , SYNSEM.LOC [CONT.KEY.RELN "desire", EDGE.LIAIS no],STACK.FIRST er]. Annexe B Sociétés traitant du domaine du TAL (liste disponible sur L'APIL)
|