Robert Pasero & Paul Sabatier Laboratoire d Informatique Fondamentale, Marseille CNRS - Aix-Marseille Université Traitement automatique des langues 1. Principes L approche du traitement des langues que nous exposons ici obéit à un certain nombre de principes. Ce chapitre est consacré à leur présentation. Dans notre esprit, les expressions traitement automatique du langage naturel (TALN) et traitement automatique des langues (TAL) sont synonymes. Un langage est naturel (comme le français ou le latin) ou formel (comme la logique des prédicats ou un langage de programmation). Qu'elle soit «morte» ou «vivante», une langue est toujours naturelle. Les différentes langues maternelles constituent nos langages naturels. Nous appellerons objets linguistiques le matériau linguistique sur lequel porte le traitement automatique du langage naturel. Ecrits ou parlés, les mots, les syntagmes, les propositions, les phrases, les textes, les discours, les dialogues, Robert Pasero & Paul Sabatier, 1991-2009
2 Traitement automatique des langues etc., sont de tels objets. Dans la pratique, un système de traitement automatique du langage naturel doit permettre l'utilisation de moyens informatiques pour réaliser différentes tâches, comme par exemple : corriger dans un texte des fautes d'orthographe, de grammaire ou des maladresses stylistiques (correcteurs associés à des traitements de textes,...) analyser un texte pour en extraire des mots-clés en vue de son indexation (documentation automatique, moteurs de recherche, extraction d informations, veille technologique,...) interroger en langage naturel des données structurées (bases de connaissances, bases de données, etc.) (interfaces en langage naturel,...); analyser un texte pour en produire une représentation sous la forme de données structurées (création et mise à jour de bases de connaissances,...) ; produire un texte (récit, document technique, etc.) à partir de données structurées (génération automatique,...) ; conduire des systèmes, des automates, des robots à partir de formulation en langage naturel ; traduire un texte dans une autre langue (traduction automatique,...) ; résumer un texte (résumé automatique,...) ; analyser un texte pour y repérer des figures de style (métaphores, métonymies, etc.) (analyse stylistique,...) ; assister une personne dans l'apprentissage d'une langue (didactique des langues,...) ; assister une personne dans la production de documents (langage contrôlé,...) ; assister une personne handicapée dans la formulation d'énoncés (communication assistée,...) ; etc. La liste ci-dessus des applications pratiques n'est pas exhaustive. D une façon plus générale, un système de traitement automatique du langage naturel doit
Principes 3 permettre l'utilisation de moyens informatiques pour associer de façon automatique des représentations formelles à des objets linguistiques et/ou pour produire de tels objets à partir de représentations formelles. On parle dans le premier cas de systèmes d'analyse ; dans le second cas, de systèmes de synthèse (de production ou encore de génération). Parmi les applications qui associent dans leur déroulement les processus d'analyse et de synthèse, on peut citer en particulier les opérations suivantes : la correction automatique (ou assistée) de phrases et de textes aux niveaux orthographique, grammatical, stylistique, etc. ; la production de résumés de textes à partir de la compréhension de textes sources ; la traduction automatique (ou assistée) de phrases ou de textes en une ou plusieurs langues ; les interfaces dites intelligentes qui fonctionnent à la fois en analyse (compréhension de phrases, de questions, etc.) et en synthèse (production de messages, de réponses, aide à la formulation, etc.). Les traitements automatiques peuvent avoir aussi pour finalité l'aide à la constitution de bases de connaissances linguistiques : lexiques, dictionnaires monolingues ou multilingues, dictionnaires de fréquence, de concordances, thésaurus, grammaires, etc. Ces bases linguistiques pourront être utilisées comme ressources pour la réalisation des différents types d'applications mentionnés ci-dessus. Lorsque nous disons qu'un système d'analyse doit permettre d'associer de façon automatique des représentations formelles à des objets linguistiques, il nous faut ajouter que ces représentations serviront à d'autres traitements. Parmi toutes les applications du traitement automatique, certaines nécessitent la production de représentations permettant d'évaluer l'objet linguistique dans un monde de référence, réel ou imaginaire, peu importe C'est le cas en particulier des applications dont les objectifs sont l'interrogation en langage naturel de bases de connaissances (comme des bases de données), ou bien la création de ces bases de connaissances à partir de formulation en langage naturel, ou encore, la compréhension de discours et de dialogues. C'est à ce type d'applications que nous nous intéresserons ici. Il est important de préciser que l'évaluation d'un objet linguistique dans un univers de référence fait appel à des connaissances, à des procédures et à des techniques qui ne relèvent plus du
4 Traitement automatique des langues domaine du traitement automatique du langage mais d'autres domaines comme par exemple la démonstration automatique. L'analyse automatique du langage naturel s'arrête donc à la production de représentations nécessaires et suffisantes dans leurs formes et leurs contenus pour les traitements ultérieurs auxquels elles sont destinées. 1. Niveaux de formation et de représentation La tradition distingue plusieurs niveaux de bonne formation et de représentation d'une phrase. On peut les répartir en trois ensembles : deux ensembles qui sont propres aux modes de réalisation oral ou écrit, et un ensemble commun à ces deux modes. Ainsi, pour l'oral, on distingue en particulier les niveaux prosodique, phonétique et phonologique ; et pour l'écrit, les niveaux rendant compte de l'orthographe et de la ponctuation. L'ensemble dit commun est constitué en particulier par les niveaux lexical, syntaxique, sémantique et pragmatique. C'est ce dernier ensemble qui nous intéresse ici. L'étude des aspects lexicaux et syntaxiques permet de définir le caractère syntaxiquement bien formé des expressions linguistiques, et d'en donner une représentation syntaxique. Dans l'étude des aspects sémantiques, on distingue deux étapes. La première, purement formelle, consiste à étudier hors contexte le sens des expressions linguistiquement bien formées pour leur associer une représentation sémantique correspondant à leur sens littéral. C'est lors de cette étape que l'on rend compte des phénomènes conceptuels pour décider du caractère conceptuellement bien formé des représentations sémantiques, ou en d'autres termes, pour vérifier les présuppositions lexicales. La seconde étape a pour objet de compléter (voire de transformer) le sens littéral d'une expression en tenant compte du contexte, des intentions du locuteur et des attentes de l'interlocuteur. Vaste programme! Rendre compte au moyen de processus automatiques de tous ces aspects qui relèvent du domaine de la pragmatique reste une tâche difficilement envisageable. Mais la prise en compte du contexte permet néanmoins et c'est cet aspect qui nous intéresse ici, de rendre compte de la fonction référentielle du langage naturel. Les
Principes 5 expressions (mots, phrases, etc.) font référence à des objets. Réels ou imaginaires, ces objets sont les référents de ces expressions, et constituent ce que l'on appelle l'univers du discours, que l'on distingue de la réalité. Dans l'étude des aspects sémantiques, la seconde étape intègre en particulier la résolution des références dénotationnelles liées à l'emploi des expressions définies, des anaphores, des déictiques, ou, en d'autres termes, ce qu'on appelle la vérification des présuppositions existentielles. 1.2 Lexique et syntaxe On veut définir un sous-ensemble de phrases du français au moyen d un lexique et d une grammaire en vue d analyser ou de synthétiser automatiquement des phrases de ce sous-ensemble. Il n'est pas question pour nous de couvrir l'ensemble du vocabulaire et de la syntaxe du français. Deux contraintes définissent la couverture de notre grammaire : (1) cette grammaire doit être suffisamment générale pour constituer un noyau utilisable dans différentes applications. Sa définition formelle doit faciliter de futures extensions. Et (2) une représentation sémantique de type logique doit pouvoir être associée à chaque phrase définie par la grammaire. Un lexique définit l'ensemble des mots (et des expressions) au moyen desquels des phrases peuvent être construites. À chaque mot est associé un ensemble d'informations sur la base desquelles les autres niveaux de représentation et de bonne formation pourront être établis. Une grammaire définit au moyen de règles de réécriture les phrases d'un langage en les structurant en chaînes de constituants et de sous-constituants aussi appelées catégories. Parmi les catégories, on distingue les catégories lexicales et les catégories syntaxiques. Les catégories lexicales (comme exemple, article, préposition, nom commun, verbe) constituent les catégories de base. Les catégories syntaxiques (comme par exemple, phrase, groupe nominal, groupe verbal) constituent les catégories supérieures. Elles structurent des suites de catégories de base et/ou de catégories supérieures.
6 Traitement automatique des langues Le chapitre 2 est consacré d'une part aux principes et formalismes retenus pour définir un ensemble de phrases lexicalement et syntaxiquement bien formées, et d'autre part à la définition d'un tel ensemble pour un sous-ensemble de phrases du français. 1.3 Sémantique D'une façon générale, on s'intéresse au traitement automatique des expressions linguistiques de type phrase. Une assertion ou une question sont des types de phrase. Une assertion présuppose des connaissances sur un monde et en exprime d'autres. Une question présuppose des connaissances sur un monde et exprime une demande de connaissances sur ce monde. Qu'il s'agisse d'une assertion ou d'une question, une phrase formule donc des connaissances sur un monde, c'est-à-dire, exprime une situation particulière mettant en jeu des individus et des relations. La représentation sémantique d'une phrase donnée doit permettre d'exprimer sans ambiguïté et de façon précise cette situation particulière. Cette situation particulière est-elle ou non en contradiction avec celles précédemment décrites? La valeur sémantique de cette représentation doit nous permettre d'en décider, et cela en lui attribuant une valeur de vérité : vrai ou faux. On ne peut parler de valeur sémantique d'une phrase que par référence à un ensemble de situations. Pour nous, la représentation et la valeur sémantiques d'une phrase sont indissociables. On parlera alors du sens d'une phrase, et le traitement du langage naturel qui nous intéresse ici est celui qui consiste à obtenir automatiquement ce sens. À nos yeux, deux aspects restent fondamentaux dans la nature de la représentation sémantique recherchée. On s'intéresse d'une part à savoir quelle est la valeur d'une représentation sémantique particulière par rapport à un ensemble de connaissances décrivant un univers de référence. On peut appeler cet aspect évaluation. D'autre part, on s'intéresse aux façons dont les expressions de ce langage de représentation sont reliées entre elles, et plus particulièrement aux inférences réalisables au sein de l'ensemble des expressions. On peut appeler cet aspect déduction. Les deux aspects essentiels que sont l'évaluation et la déduction font de la logique le seul langage pertinent pour la représentation sémantique des phrases.
Principes 7 En effet, c'est le seul à posséder une syntaxe et une sémantique rigoureusement définies, et à offrir une théorie déductive rigoureuse. La syntaxe du langage de la logique définit les expressions correctes du langage : les termes et les formules. Parmi ces dernières, on distingue les formules atomiques qui sont les plus élémentaires. La sémantique du langage de la logique définit les règles de calcul permettant d'associer à toute formule une valeur de vérité (vrai ou faux) à partir des valeurs de vérité des formules atomiques. Les valeurs de vérité des formules atomiques constituent ce qu'on appelle une interprétation (ensemble de situations de référence). La théorie déductive permet de mettre en relation (implication logique) les représentations logiques. Pour un ensemble donné de connaissances représentées par un ensemble de formules, elle permet de déduire d'autres connaissances non explicites. Comment associer une représentation sémantique aux phrases d'un langage? On fait l'hypothèse que la représentation sémantique (de type logique ou non) d'une phrase se présente sous la forme d'une structure non ambiguë. Si une phrase est ambiguë, plusieurs représentations sémantiques non ambiguës lui seront donc associées. On fait aussi l'hypothèse que la représentation sémantique associée à une phrase est dépendante des éléments qui constituent cette phrase. Elle peut être alors composée sur la base des représentations sémantiques que l'on peut associer aux constituants de la phrase. On parle alors de sémantique compositionnelle. Le principe d'une sémantique compositionnelle consiste alors à : (1) associer à chaque catégorie (lexicale et syntaxique) un type de structure sémantique pour la construction de la représentation sémantique ; (2) associer à chaque règle de grammaire une règle de composition combinant les différentes structures sémantiques associées aux différentes catégories de la règle. Une telle composition peut être exprimée au moyen du formalisme du lambda-calcul. Dès qu'une phrase est lexicalement et syntaxiquement bien formée, une (ou plusieurs, en cas d'ambiguïté) représentation sémantique peut lui être ainsi associée. C'est sur la base de cette représentation qu'il sera décidé si la phrase est ou non conceptuellement et contextuellement bien formée. Dans le chapitre 3, nous définissons un formalisme de type logique adapté à la représentation sémantique des phrases et présentons les règles de construction
8 Traitement automatique des langues de cette représentation. Nous proposerons les règles de composition sémantiques associées aux règles syntaxiques de la grammaire noyau du français définie dans le chapitre précédent. 1.4 Modèle conceptuel Une phrase est conceptuellement bien formée si la représentation sémantique associée décrit une situation conceptuellement possible, c'est-à-dire si les relations et les individus ou objets qu'elle met en jeu sont compatibles. L'expression d'une telle compatibilité ne relève pas de contraintes syntaxiques ou grammaticales mais d'une modélisation extralinguistique de l'ensemble des situations de référence potentielles, modélisation spécifiée au moyen de ce qu'on appellera le modèle conceptuel. Une phrase comme : Une pomme dort. est syntaxiquement et grammaticalement bien formée, et on peut naturellement lui associer une représentation sémantique. Cependant si le modèle conceptuel exprime que seuls les individus animés peuvent dormir, et qu'une pomme n'est pas un individu animé, alors on dira que la phrase ci-dessus est conceptuellement mal formée. Un autre exemple, une expression comme : les dates de naissance du fils de Max est syntaxiquement et grammaticalement bien formée, et on peut donc lui associer une représentation sémantique. Cependant si le modèle conceptuel exprime qu'une seule date de naissance peut être associée à chaque personne, alors on dira que l'expression ci-dessus est conceptuellement mal formée. Le principe retenu est donc de ne pas exprimer directement le contenu des contraintes conceptuelles dans les règles de grammaire mais de définir pour chaque domaine d'application (ou monde) un modèle conceptuel, modèle auquel le système pourra faire appel pour vérifier le caractère conceptuellement bien formé des phrases. Le modèle conceptuel doit servir à compléter certains aspects de la représentation sémantique que jusque là les seuls critères syntaxiques et sémantiques n'ont pu préciser. C'est dans le cadre de ce modèle
Principes 9 que sont traités en particulier les présuppositions lexicales. Le modèle conceptuel est commun à toute application relevant du domaine qu'il décrit. Il exprime en termes de contraintes conceptuelles une vue générique du domaine de l'application mais reste indépendant du contenu même de l'application. La première partie du chapitre 4 est consacrée à l'étude de contraintes conceptuelles et à leur formalisation dans le cadre de ce l'on entend par modèle conceptuel. 1.5 Modèle contextuel Il est des phénomènes qui ne peuvent être résolus qu'en tenant compte du contexte dans lequel une phrase est formulée. Ce contexte est déterminé par le monde de référence (par exemple le contenu de la base de données interfacée) et par le discours, c'est-à-dire par l'ensemble des phrases précédemment énoncées. Les représentations du monde de référence et du discours forment le modèle contextuel. C'est dans le cadre de ce modèle que sont traités en particulier les présuppositions existentielles et les proformes. Par exemple, une expression comme : la date de naissance du fils de Max est conceptuellement bien formée mais présuppose l'existence (présupposition existentielle) de Max, du fils de Max (Max a au moins un fils). Cette existence ne peut être vérifiée qu'en consultant le monde de référence. Une phrase comme : Lesquels habitent Paris? n'a de sens que si les référents de la proforme lesquels existent. Cette existence doit être d'abord vérifiée en consultant les phrases (le discours) précédemment énoncées. Ce que nous appelons modèle contextuel relève du domaine de la pragmatique. Traditionnellement, on range aussi dans la pragmatique d'autres phénomènes difficilement formalisables comme les intentions du locuteur ou les attentes de
10 Traitement automatique des langues l'interlocuteur. Notre ambition n'est pas de rendre compte de l'ensemble des phénomènes relevant de la pragmatique, mais de nous limiter à l'étude de ceux qui nous paraissent essentiels dans les applications envisagées. La seconde partie du chapitre 4 est consacrée au modèle contextuel. Les différents niveaux de représentation et de bonne formation d'une phrase, les connaissances qui permettent de les établir et les principes qui régissent leurs interactions peuvent être illustrés par le schéma suivant : Phrase LEXICAL SEMANTIQUE SYNTAXIQUE Lexique Règles comp. sémantique Règles syntaxiques Représentation sémantique intermédiaire CONCEPTUEL Modèle conceptuel CONTEXTUEL Modèle contextuel Représentation sémantique finale Ce schéma illustre des principes théoriques indépendants de tout traitement automatique. 2. ANALYSE ET SYNTHÈSE DE PHRASES Pratiquement, on veut analyser et synthétiser automatiquement des phrases. Il y a bien sûr plusieurs façons de procéder. Ce que l'on sait, c'est que si une phrase
Principes 11 est bien formée à tous les niveaux, son analyse doit conduire à la production automatique d'une représentation permettant l'évaluation de la phrase dans un monde de référence. Le processus d'analyse peut être réalisé de plusieurs façons. Une façon de faire est (1) de fondre dans un même formalisme les différentes connaissances (lexicales, syntaxiques, sémantiques, conceptuelles, contextuelles) relevant des différents niveaux de représentation et de bonne formation, et (2) de réaliser l'analyse en une seule étape. Cette approche a l'inconvénient de conduire à la réalisation de systèmes difficilement extensibles et portables vers d'autres applications. Une autre façon de faire consiste (1) à séparer les différents types de connaissances dans des modules distincts, et (2) à réaliser séquentiellement, c'est-à-dire les unes après les autres, les différentes analyses propres aux différents niveaux de représentation et de bonne formation. Ce qui donne, dans l'ordre : analyse lexicale, analyse syntaxique, analyse conceptuelle, analyse contextuelle. Une autre approche, et c'est celle qui nous intéresse ici, consiste à séparer les différents types de connaissances dans des modules distincts et à conduire en même temps les différentes analyses correspondant aux niveaux de bonne formation et de représentation. Si la phrase contient par exemple une incohérence conceptuelle, le principe est d'interrompre au plus tôt l'analyse syntaxique du reste de la phrase. On s'intéresse aussi à synthétiser des phrases. Là aussi, on veut produire des phrases en utilisant en même temps, comme en analyse, les connaissances relevant des différents niveaux de représentation et de bonne formation. Mieux encore, on souhaite que le même système de traitement automatique puisse fonctionner en analyse et en synthèse. Ainsi, par exemple, lorsqu'une incohérence lexicale, syntaxique ou conceptuelle est détectée en analyse en un point particulier d'une phrase, le système doit être capable de produire en synthèse l'ensemble des mots attendus à ce point précis de la phrase et qui conduiront à la composition d'une phrase bien formée à tous les niveaux. Dans notre approche, les connaissances rendant compte des différents niveaux de bonne formation et de représentation (niveaux lexical, syntaxique, sémantique, conceptuel et contextuel) des phrases sont codées dans des modules distincts. Le principe retenu est de prendre en compte au plus tôt au cours de la production des différentes représentations (lexicales, syntaxiques, sémantiques, etc.) les contraintes exprimées sur ces représentations et entre ces
12 Traitement automatique des langues représentations. Les contraintes sont vérifiées ou exécutées au plus tôt, c'est-àdire au fur et à mesure que les structures des différentes représentations sur lesquelles elles s'appliquent sont construites. Les représentations sont produites selon une stratégie descendante ( top down ) et non déterministe. Cette façon de faire permet à la fois et en même temps d'analyser et de synthétiser des expressions (mots, syntagmes, propositions, phrases, etc.) et de guider si nécessaire leur composition par synthèse partielle. Le chapitre 5 est consacré au principe d'analyse, de synthèse et d'aide à la composition de phrases. Nous y présentons l'algorithme général et sa programmation en langage Prolog. 3. APPLICATIONS Illustrant les principes précédemment exposés, nous avons conçu et développé le logiciel générique ILLICO pour l'analyse, la synthèse et l'aide à la composition de phrases. Dans le chapitre 6, nous présentons ILLICO et différentes applications spécifiques que nous avons développées : des interfaces à des bases de données structurées, un système de compréhension de petits discours, des jeux linguistiques pour l'apprentissage de langues, etc.