Le trai­te­ment au­to­ma­tique du langage naturel, abrégé en TALN, est une dis­ci­pline s’ap­pli­quant au domaine de l’in­for­ma­tique et du langage. Il est utilisé par exemple pour les tra­duc­tions, la re­con­nais­sance vocale ou encore les réponses au­to­ma­tiques aux questions. Ces domaines re­pré­sen­tent des défis majeurs, car les mots du langage sont souvent traités un à un par l’or­di­na­teur. Or, de nombreux mots sont po­ly­sé­miques et re­couvrent dif­fé­rentes réalités, en s’ins­cri­vant notamment dans des contextes ou ex­pres­sions qui peuvent changer com­plè­te­ment leur sens d’origine. A titre d’exemple, le verbe « rimer » ne va pas avoir la même sig­ni­fi­ca­tion entre « ne pas rimer » et « ne rimer à rien », tout comme le mot « film » ne va pas se référer à la pellicule pho­to­gra­phique dans l’ex­pres­sion « ne rien com­prendre au film ». Grâce au trai­te­ment du langage naturel, une cohérence tente d’être apportée aux textes en s’attachant au sens des phrases et formules. Ces avancées ne sont pas uni­que­ment utiles pour les tra­duc­teurs ou chatbots mais aussi lorsque les or­di­na­teurs exécutent des ordres oraux ou com­mu­ni­quent de manière vocale afin de faciliter par exemple la com­mu­ni­ca­tion pour les personnes aveugles. Pour pouvoir résumer des textes longs, ou extraire des in­for­ma­tions précises, les or­di­na­teurs ont besoin également de com­prendre la cohérence lin­guis­tique des textes.

Comment fonc­tionne le trai­te­ment au­to­ma­tique du langage naturel ?

Qu’il s’agisse de tra­duc­tion au­to­ma­tique ou d’une dis­cus­sion avec un chatbot, les méthodes de TALN prêtent attention aux hié­rar­chies afin de mettre en cohérence les mots entre eux. Ce n’est pas chose facile car beaucoup de mots ont plusieurs sens : une « souris » par exemple peut définir l’animal, le petit boîtier servant à se diriger sur un écran d’or­di­na­teur, ou même un morceau précis de viande d’agneau. Le trai­te­ment au­to­ma­tique du langage naturel re­pré­sente donc un défi colossal dans le domaine de l’in­for­ma­tique. Le langage peut en effet être à double sens et pour le com­prendre, il est né­ces­saire de bien connaître le contexte dans lequel il s’insère. De nombreux uti­li­sa­teurs ont d’ailleurs déjà fait l’ex­pé­rience de con­ver­sa­tions quelque peu chao­tiques avec les chatbots qui sont fré­quem­ment utilisés pour les chats des services clients. Toutefois, les or­di­na­teurs com­pren­nent de mieux en mieux le langage humain. Pour leur faire apprendre le langage, dif­fé­rents domaines d’ap­pli­ca­tion de la lin­guis­tique sont pris en compte :

  • La mor­pho­lo­gie, qui s’intéresse à la com­po­si­tion des mots et leur cor­ré­la­tion avec d’autres mots.
  • La syntaxe, qui définit comment les mots sont agencés dans une phrase.
  • La sé­man­tique, qui cor­res­pond à la sig­ni­fi­ca­tion des mots et des groupes de mots
  • La prag­ma­tique, grâce à laquelle le contexte est pris en compte.
  • Enfin la pho­no­lo­gie, qui s’occupe des sonorités de la langue orale, ce qui est important pour la re­con­nais­sance vocale.

L’éti­que­tage morpho-syn­taxique

Le trai­te­ment au­to­ma­tique du langage naturel prend dans un premier temps en con­si­dé­ra­tion la mor­pho­lo­gie : cela repose sur la fonction des mots. À l’école primaire, nous avons assimilé une forme sim­pli­fiée de ce processus en apprenant à dif­fé­ren­cier un subs­tan­tif d’un verbe ou d’un pronom. Ceci peut toutefois être compliqué pour les or­di­na­teurs car un mot peut, suivant la phrase dans laquelle il in­ter­vient, changer de fonction.

Pour passer outre ces am­bi­guï­tés, il existe dif­fé­rentes méthodes : les plus anciennes se basent sur de grands corpus lin­guis­tiques comme Brown Corpus ou le British National Corpus. Ces corpus de textes ras­semblent au total des millions de mots, qui sont étiquetés et à partir desquels des règles d’ap­pren­tis­sage pour l’éti­que­tage peuvent être déduites.

Les pro­grammes d’éti­que­tage morpho-syn­taxique les plus récents utilisent des al­go­rithmes « au­to­di­dactes », ce qui signifie qu’ils déduisent des règles au­to­ma­ti­que­ment des corpus de textes dis­po­nibles et les utilisent pour définir les fonctions d’autres mots. L’un des meilleurs exemples de méthodes d’éti­que­tage basées sur les al­go­rithmes, est le Brill tagger, qui alloue d’abord au mot sa fonction la plus utilisée pour ensuite déduire une autre fonction grâce à des règles définies. Une règle peut être par exemple : si le premier mot d’une phrase est un nom propre, le deuxième va pro­ba­ble­ment être un verbe.

Arbre syn­taxique / Ar­bo­res­cence

Dans un deuxième temps, un travail sur la syntaxe va être effectué pour com­prendre la structure des phrases. La lin­guis­tique in­for­ma­tique utilise ainsi des ar­bo­res­cences, dans les­quelles les syntagmes vont être dé­com­po­sés. On trouve par exemple des syntagmes nominaux qui peuvent se composer d’un nom propre ou subs­tan­tif et d’un article, ou de syntagmes verbaux composés d’un verbe et d’une phrase nominale.

Cette dé­com­po­si­tion de la phrase en syntagmes s’appelle en anglais le parsing, et le diagramme cor­res­pon­dant le parser tree. En français, on parle ha­bi­tuel­le­ment d’arbre syn­taxique. Chaque langue a sa propre grammaire, ce qui signifie que l’ordre des mots, la structure des phrases fonc­tion­nent dif­fé­rem­ment d’une langue à une autre. La grammaire d’une langue peut être  pro­gram­mée ma­nuel­le­ment pour un programme in­for­ma­tique ou peut être apprise à partir d’un corpus de texte sur lequel les struc­tures de phrases sont annotées.

La sé­man­tique

Dans un troisième temps, le TALN va amener les lin­guistes in­for­ma­ti­ciens à s’in­té­res­ser à la sé­man­tique. Même si un mot n’a qu’une seule fonction gram­ma­ti­cale et s’inscrit dans une syntaxe claire, il peut arriver qu’il ait plusieurs sig­ni­fi­ca­tions. On pourra dis­tin­guer des sens dif­fé­rents au mot « opéra » ou « addition » par exemple ci-dessous : L’opéra était très bien mis en scène. Il n’y avait plus d’opéra au menu. L’addition était salée. Pour cet exercice, une addition est né­ces­saire.  Pour une personne « réelle » et non un or­di­na­teur, il n’y pas de grande ambiguïté dans les deux phrases : alors que dans la première, l’opéra se réfère à une œuvre musicale, il s’agit bien sûr dans la deuxième du nom commun d’un gâteau. Cette dif­fé­ren­cia­tion est néanmoins plus complexe pour un or­di­na­teur. Plus troublant encore, la phrase « Je loue un ap­par­te­ment » ; on peut en effet se demander si la personne définie par « je » est locataire (et donc paie pour bé­né­fi­cier d’une surface habitable) ou pro­prié­taire (et donc reçoit de l’argent en échange d’un logement proposé à une autre personne). Afin de com­prendre la sig­ni­fi­ca­tion du mot, par exemple de « opéra » dans notre premier exemple, les or­di­na­teurs vont s‘in­té­res­ser aux mots qui sont placés avant ou après. Ainsi, la locution « mis en scène » va pouvoir lui supposer qu’il s’agit de l’œuvre musicale tandis que le mot « menu » va être assez explicite pour situer la phrase dans l’univers culinaire. Cet ap­pren­tis­sage est issu gé­né­ra­le­ment des corpus de textes qui per­met­tent de corriger la sig­ni­fi­ca­tion de chaque mot. Le TALN reste dans tous les cas un domaine d’expertise compliqué : les or­di­na­teurs doivent tra­vail­ler une batterie d’in­for­ma­tions, traiter chaque cas un à un et pour les mots po­ly­sé­miques, les erreurs arrivent très fa­ci­le­ment. La marge de progrès pour le domaine de la prag­ma­tique est encore grande, car le contexte n’est pas encore assez pris en compte. L’ironie, le sarcasme et les mé­ta­phores hu­mo­ris­tiques sont par­ti­cu­liè­re­ment dif­fi­ciles à com­prendre pour les or­di­na­teurs, malgré de nom­breuses re­cherches dans le domaine et un long travail de clas­si­fi­ca­tion.

Les outils de TALN

Pour s’initier au trai­te­ment au­to­ma­tique du langage naturel, il existe des outils et aides pratiques en ligne. Mais quel est l’outil le plus adapté pour vous ? Cela va dépendre de la langue et de la méthode TALN que vous souhaitez utiliser. Parmi les outils open-source les plus connus, on trouve :

  • Le Natural Language Toolkit est un ensemble d’outils TALN en langage Python. L’outil propose un accès à plus de 100 corpus de textes, parmi lesquels des textes en anglais, portugais, polonais, néer­lan­dais, catalan et basque. De plus, le kit peut effectuer le trai­te­ment de dif­fé­rents textes, comme l’éti­que­tage morpho-syn­taxique, l’arbre syn­taxique, la seg­men­ta­tion (to­ke­ni­za­tion en anglais, ce qui constitue souvent la première étape du TALN) et la synthèse de texte. Le kit d’outils TALN comporte également une in­tro­duc­tion à la pro­gram­ma­tion et une do­cu­men­ta­tion détaillée. Il est ainsi bien adapté aux étudiants, doc­to­rants et cher­cheurs.
  • Stanford NLP Group Software: l’un des groupes de recherche les plus im­por­tants dans le domaine du trai­te­ment au­to­ma­tique du langage naturel. De nombreux outils sont proposés. Ils per­met­tent de définir la forme de base des mots (seg­men­ta­tion en unité), la fonction des mots (éti­que­tage morpho-syn­taxique) et la structure des phrases (arbre syn­taxique). De plus, il existe des outils pour les process com­pli­qués comme le deep learning pour lequel le contexte de la phrase est pris en compte. Stanford CoreNLP présente la plupart des fonctions de base. L’ensemble des pro­grammes du Standford NLP sont écrits en langage Java et sont dis­po­nibles en français, anglais, allemand, espagnol et chinois.
  • Vi­sual­text est un ensemble d’outils écrits dans un langage de pro­gram­ma­tion propre au TALN : le langage NLP++. Ce langage de pro­gram­ma­tion a surtout été développé pour ce que l’on appelle les analystes Deep Text. Vi­sual­text sert surtout à extraire des in­for­ma­tions depuis une grande quantité de textes. Il permet par exemple de résumer des textes longs mais aussi de regrouper des évè­ne­ments sur un thème précis à partir de plusieurs sites Web et de créer un aperçu. Vi­sual­text peut être utilisé gra­tui­te­ment pour des fins non-com­mer­ciales.
Aller au menu principal