langage naturel

"il faut quand même que l'utilisateur ait une certaine compréhension de la manière dont son système fonctionne"

olivier roumieux - novembre 2000 (Archimag)

Christian Fluhr est conseiller scientifique auprès de la direction des technologies de l'information du CEA (Commissariat à l'énergie atomique). Il dispose d'une grande expérience dans le domaine de l'ingénierie linguistique et a notamment participé en 1979 à la création de la société qui allait devenir Technologies Gid.

Archimag. Quels sont les concepts de base du langage naturel ?

Christian Fluhr. On utilise différents niveaux d'appréhension du traitement du langage naturel. De manière très simplifiée, on en distingue quatre : l'analyse morphologique, syntaxique, sémantique et pragmatique. Même une fonction du plus bas niveau morphologique, comme identifier un mot dans une chaîne de caractères, peut s'avérer complexe et ne se résoudre qu'aux niveaux supérieurs. C'est le cas des langues " agglutinantes " où les mots peuvent être concaténés ou enrichis par des particules. Chaque niveau a ainsi une importance plus ou moins grande selon les langues et les applications.
En ce qui concerne l'analyse morphologique, on part du texte codé sous la forme d'une suite de caractères qu'il faut segmenter, puis on vérifie que les mots obtenus appartiennent à la langue et on leur attribue des propriétés linguistiques. Certaines langues, comme l'allemand, le russe ou le latin, accordent une grande importance à la morphologie dans la mesure où le rôle des mots dans la phrase provoque une variation de la forme de ces mots. L'analyse syntaxique regarde l'agencement des classes de mots les unes par rapport aux autres. La même graphie peut avoir plusieurs significations selon les contextes. L'analyse syntaxique a donc pour but de déterminer la bonne catégorie grammaticale de chaque mot et de construire une ou plusieurs structures globales de la phrase. Il est bien sûr possible qu'il y ait plusieurs interprétations, comme dans la phrase " la belle porte le voile ". Mais relativisons les choses : autant en recherche linguistique on pourra s'intéresser à des phénomènes rares, autant en ingénierie de la langue on essaiera de traiter les cas qui ont le plus de chances de survenir. La finalité n'est pas la même. On ne saura pas traiter avant longtemps tous les cas, il faut donc savoir traiter les plus courants.
Certaines ambiguïtés subsistent après l'analyse syntaxique. Les deux phrases suivantes ont ainsi la même structure syntaxique : " servir des boissons aux fruits " et " servir des boissons aux invités ". On doit alors faire appel au sens des mots, à la sémantique. Certains mots sont polysémiques (plusieurs sens) avec la même catégorie grammaticale. Un café est à la fois une boisson et un lieu. C'est un problème plus difficile que la syntaxe. La sémantique utilisée dans les applications actuelles est assez élémentaire. Il s'agit de simples cooccurrences de termes ou de l'usage de réseaux de termes construits manuellement ou automatiquement à partir de corpus. La sémantique de corpus est assez fonctionnelle : on étudie les relations sémantiques dans un corpus existant puis on les utilisent sur d'autres textes.
Le niveau pragmatique permet quant à lui d'interpréter le sens du texte selon le contexte d'élocution. Si je dis " il fait froid ", vous allez comprendre que la température est basse, mais si c'est un ivrogne russe qui le dit, cela pourra vouloir dire " on va aller boire de la vodka ", surtout s'il fait chaud ! Je ne pense pas que beaucoup de systèmes opérationnels mettront en œuvre une telle analyse avant longtemps.
On se tourne de plus en plus vers une linguistique de corpus : on fait construire les outils à partir de corpus éventuellement pré-traités manuellement. Ces pré traitements consistent, en général, à fournir à la fois les données à traiter et le résultat du traitement comme par exemple l'attribution de la bonne catégorie grammaticale pour chaque mot d'un texte. Ces techniques font appel à l'apprentissage : les connaissances linguistiques utilisées ultérieurement dans les systèmes sont construites automatiquement à partir de ces corpus améliorés, annotés. Autre tendance intéressante : la place croissante de l'évaluation, à l'initiative notamment des Américains. On demande à chacun de travailler sur les mêmes données afin de réaliser des évaluations comparatives. Il y a un effet d'entraînement très important. Le projet Amaryllis fonctionne d'ailleurs sur cette idée (1).

Quelles sont les grands types d'applications autour du langage naturel ?

Le domaine le plus porteur est celui de la recherche d'information sur des bases de documents en texte intégral. Le Centre d'informatique juridique (CEDIJ, aujourd'hui la Direction des Journaux officiels) a créé des bases juridiques en texte intégral dès le milieu des années soixante-dix. Il y a eu des recherches, auxquelles j'ai participé, autour de l'indexation et l'interrogation en langage naturel de ces bases. Le logiciel Spirit est en quelque sorte né de ces travaux.
Un autre type d'application consiste à déduire d'une question en langage naturel une liste de mots-clés contrôlés ou de rubriques. C'est ce qu'a fait Erli (aujourd'hui Lexiquest) pour l'accès aux rubriques des Pages Jaunes de l'annuaire électronique. Cela suppose une description sémantique de l'univers sur lequel on travaille.
Toutes les applications liées à la traduction sont également importantes, du fait de la mondialisation. Actuellement d'énormes investissements américains sont faits sur des crédits militaires, on peut citer le projet Tides (Translingual Information Detection Extraction and Summarization). Un effort à mettre en perspective avec le fameux réseau mondial d'écoute Echelon. Les dernières évolutions dans le domaine portent sur les " mémoires de traduction ". Au lieu de faire des systèmes qui traduisent automatiquement, on élabore des systèmes qui doivent aider le traducteur dans son activité, en particulier pour les traductions répétitives, comme c'est le cas des manuels techniques. On traduit une première fois une documentation, on met en correspondance chaque phrase avec sa traduction pour optimiser les traductions ultérieures. C'est un peu comme si l'on apprenait à traduire en s'inspirant de ce qui a déjà été traduit. Plus il y a de recoupements entre les textes, plus la productivité est grande. A l'inverse, des travaux ont cours dans le domaine de la production automatique de documents multilingues. Ils visent à élaborer un langage pivot qui puisse se décliner dans différentes langues. L'Université des Nations Unies à Tokyo a créé un modèle baptisé UNL (Universal Networking Language). Le principe est très généreux : chaque pays se dévoue pour faire un analyseur et un générateur de sa propre langue. Les programmes se sont malheureusement ralentis suite à la crise asiatique.
Il y a un enjeu économique derrière tout ça : il n'est pas possible, pour des raisons financières et de temps, de développer des dictionnaires bilingues de toutes les langues à toutes les langues. Ce qui privilégie l'anglais qui deviendra le langage pivot. Cela pourrait avoir comme conséquence que les pays n'ayant pas l'anglais comme langue maternelle seront pénalisés dans la compétition commerciale internationale. A ne pas négliger non plus, l'aide à la production de textes, dans une idée de contrôle qualité. Lors de l'écriture d'un contrat, des outils peuvent signaler les phrases ambiguës qui pourraient être interprétées de deux façons différentes. Aux Etats-Unis, des outils aident à la production de textes "politiquement corrects". Un logiciel de traitement linguistique peut en effet s'avérer beaucoup moins cher qu'un procès !
Enfin, l'aide à la décision a un grand avenir, au travers de synthèses extrêmement précises : résumés automatiques, extraction automatique de connaissances (datamining, textmining), outils statistiques de cartographie et d'interprétation de documents. Il faut reconnaître que ces outils ne sont pas toujours faciles à utiliser.

Paradoxalement, l'utilisateur doit-il apprendre le " langage naturel " ?

Il est vrai que selon certains, il faudrait apprendre aux gens à parler comme les ordinateurs pour que ces derniers puissent les comprendre. Ça n'est pas du tout mon point de vue ! Normalement, le langage naturel doit être du langage tel qu'on l'écrit habituellement. Il n'empêche que sur certains types d'applications, il faut guider l'utilisateur pour qu'il utilise au mieux le système. Certains types de systèmes, permettent à l'utilisateur de poser des questions qui seront interprétées comme telles. D'autres se contentent de faire des intersections de concepts entre un texte qui définit ce que l'on cherche et les textes stockés. Si vous utilisez une structure interrogative dans ce cas, ça n'arrange rien. Il faut donc expliquer aux utilisateurs comment poser leurs questions. Cela peut se faire de manière simple : dans nos applications au CEA, nous n'écrivons pas " posez votre question ", mais plutôt " décrivez le sujet de votre recherche ". Puis vous avez tous les systèmes du Web qui prétendent être du langage naturel alors qu'ils n'en sont pas : ils ne font, par exemple, ni analyse morphologique ni analyse syntaxique.

N'est-on pas est passé de l'âge des ingénieurs à celui du marketing ?

Les acheteurs n'ont pas les moyens de comparer les produits. Donc ce qui fait vendre, c'est la présentation et le marketing. La seule défense possible des consommateurs est la mise en place de systèmes d'évaluation objectifs. On est passé d'un stade artisanal à un stade industriel : on ne peut plus bricoler, il faut de l'argent. Les idées seules ne suffisent plus, il faut les idées et les corpus de données pour les appliquer. La réalisation de ces derniers est très coûteuse ce qui justifie souvent l'intervention des pouvoirs publics.

Les systèmes de recherche linguistiques n'ont-ils que des avantages ?

L'inconvénient principal est qu'ils indexent beaucoup plus lentement que les autres. On observe donc deux stratégies au niveau de la recherche d'informations. Il existe les systèmes complètement autonomes, comme c'est le cas de Spirit, qui indexent le corpus de textes et permettent son interrogation en langage naturel, mais ces systèmes ne peuvent actuellement indexer des volumes comme la totalité d'Internet. D'autres logiciels sont des interfaces qui améliorent l'accès aux moteurs de recherche ayant indexé en texte intégral de manière extrêmement simple et donc rapide. Dans ce dernier cas, on gagne énormément de temps à l'indexation, puisqu'il n'y a quasiment aucun traitement. Mais est-il mieux de passer du temps à traiter les textes en amont ou à répondre à des utilisateurs très nombreux qui emploieront des technologies toujours plus sophistiquées pour démultiplier leurs requêtes ? Les serveurs vont avoir du mal à tenir.

N'est-il pas dangereux à terme de proposer des systèmes de recherche complètement opaques pour les utilisateurs ?

C'est une question difficile. Nous sommes parvenus à des systèmes élaborés dont je ne pense pas que le commun des mortels puisse maîtriser le fonctionnement. En revanche, il faut parvenir à lui faire connaître les étapes de raisonnement. L'utilisateur ne comprend pas toujours pourquoi le système lui renvoie un document comme pertinent. " Pertinence 99 % " : qu'est-ce que ça veut dire ?

Il est embêtant, finalement, cet utilisateur…

C'est bien connu que les informaticiens n'aiment pas beaucoup les utilisateurs (rire) ! Et c'est vrai que je dois parfois me battre avec les développeurs. Pour une bonne acceptabilité des systèmes, il faut quand même que l'utilisateur ait une certaine compréhension de la manière dont son système fonctionne, qu'il puisse avoir une maîtrise de ce qui se passe.

Qu'attendez-vous des cinq prochaines années ?

Les progrès qui vont être faits correspondent à la demande du marché, c'est-à-dire essentiellement le multilinguisme. Les Américains y travaillent à l'arme lourde, puisqu'ils ont compris que la seule maîtrise de l'anglais n'était pas suffisante dans le contexte de la mondialisation. Autre tendance, l'évolution de la recherche documentaire vers un système de questions-réponses : en combinant des techniques d'extraction de connaissances, de raisonnement automatique et d'interprétation fine des questions, on devrait arriver à répondre à un certain nombre de questions, alors que dans les systèmes de recherche textuels actuels l'utilisateur doit aller lire certains passages de textes pour y trouver sa réponse. Les Américains ont commencé à faire des tests comparatifs de systèmes dans ce domaine. En France également, des travaux sont menés. Et enfin on trouve tout ce qui concerne les synthèses et les résumés, parce qu'il y a un besoin de rendre l'information plus compacte et rapide à assimiler.

(1) cf. Archimag n°122

- Olivier Roumieux, page créée le 1er juillet 2001 -

Valid HTML 4.01! Valid CSS!