Traitement automatique des langues

La chaine TAL

Le traitement automatique des langues (TAL) ou du langage naturel ou de la langue naturelle (TALN) est un ensemble de techniques d’Intelligence Artificielle qui consiste à traiter par les algorithmes informatiques les divers aspects du langage humain. Il vise donc à analyser et à reproduire de manière artificielle le langage parlé avec toutes ses subtilités, en entrée (perception) comme en sortie (émission).

Ce sont les techniques du TALN qui s’attaquent aux applications très démocratisées du type dialogue homme-machine (chatbots), correction orthographique, interprétation de l’écriture manuscrite, traductions, résumés, moteurs de recherche, reconnaissance automatique des langues, classification de documents, etc…

Les méthodes de traitement du langage naturel

Le langage naturel ou « ordinaire » est celui parlé par les humains. Il s’oppose au langage formel comme ceux de la programmation informatique et à quelques langues bâties de toutes pièces comme l’esperanto. Il rassemble l’ensemble de l’expression, qu’elle soit écrite ou parlée. On l’appelle naturel ou normal, car il s’est formé puis a évolué naturellement au fil de l’histoire et des mouvements géopolitiques (exemple, le latin devenu ensuite la langue française, castillane ou encore transalpine).

On réduit trop souvent le traitement du langage aux seuls mots qui ne sont pourtant que l’expression d’une pensée. Le domaine du TALN semblerait de l’extérieur ne s’intéresser qu’à l’émission, voire à la réception des mots. Pourtant, c’est bien du domaine de l’idée dont traite avant tout le TALN, le mot n’étant qu’un véhicule porteur d’un principe beaucoup plus profond.

Plusieurs grandes techniques (ci-dessous les plus courantes) permettent de traiter le langage naturel pour le concevoir et le modéliser artificiellement :

La tokenization

La tokenization

La tokenization ou lexème consiste à séparer les propos en unités linguistiques (les tokens) en prenant également en compte les ponctuations et le marquage des fins de phrases. On essaie ainsi de trouver l’unité minimale d’information dans l’analyse lexicale. Par exemple, la phrase « Mardi, nous irons tous manger (et probablement dormir ensuite) au parc » est tokenizée de la façon suivante Mardi|,|nous|irons|tous|manger|(|et|probablement|dormir|ensuite|)|au|parc|.|

Cette segmentation de la phrase est un prémice pour la machine à la reconnaissance du sens qui a voulu être donné : elle peut ainsi savoir que « nousironstous » n’est pas un substantif à aller chercher en l’état dans un lexique.

La lemmatisation

La lemmatization

La lemmatisation vise à remplacer un mot par sa forme canonique. Pour un verbe, le lemme est la forme à l’infinitif. Pour un nom ou un adjectif, le lemme est la forme au masculin singulier. Il s’agit donc d’un traitement de simplification qui entraîne un manque de précision même si la technique est utile.

La lemmatisation de la phrase «Je mange des concombres», conduit également à lemmatiser chaque token : |je|manger|un| concombre|

Technique du pos-tagging

La technique du pos-tagging

Cette méthode consiste à étiqueter les mots en trouvant leur nature ou catégorie grammaticale (nom, verbe, adjectif, adverbe, article, pronom,…). Comme l’analyse syntaxique, elle présente l’inconvénient de ne pas prendre en compte la sémantique. Exemple : nous somme allées => Nous: pronom personnel Sommes: verbes au présent Allés Verbe au participe passé.
C’est ainsi que la machine va pouvoir savoir que le sujet de l’action est « nous » et que l’action décrite est celle d’ « être allé ». En effet, sans cet étape, la machine serait incapable de savoir si nous est un verbe ou un sujet.

Les traitements sémantiques

Les traitements sémantiques peuvent porter sur des documents de type Texte et permettre par exemple de :

  • Résumer
  • Emettre des évaluations positives ou négatives
  • Classifier/clustériser
  • Détecter des entités nommées. Dans ce cas, le programme est capable de reconnaître dans un texte que lorsqu’on parle de Monsieur Dominique, on parle bien d’une personne ou quand on mentionne « Les restos du cœur », il s’agit d’une organisation, ou encore que la Bretagne désigne un lieu. Il est également capable de trouver des relations entre ces entités nommées.
Traitements sémantiques
Traitements sémantiques

Ces traitements sémantiques s’opèrent à partir :

  • Des ressources linguistiques (souvent des listes de mots-clés associés à une catégorie sémantique)
  • Des ressources pré-existantes créées à la main ou extraites automatiquement (à partir de patterns syntaxiques) depuis un corpus de documents texte
  • Des règles basées sur les mots clés et les pos-tags
  • Du machine-learning statistique. On constitue un ensemble d’exemples d’apprentissage de grande taille pour chaque type de traitement

Les outils d’analyse syntaxique

La majorité des outils d’analyse syntaxique (Part Of Speech, Tagger) s’appuient sur des catégories grammaticales (sujet/verbe, etc.) doublées de machine-learning, une technologie qui permet de détecter des «sentiments» grâce à des lexiques de mots dits «à polarité» et de classer le message en positif ou négatif.

Plusieurs approches technologiques utilisées (par exemple en traduction automatique) sont souvent basées sur la statistique et les probabilités pour tenter de déceler le sens des phrases parmi les millions de possibilités d’interprétations (en particulier sur les phrases très longues) mais sans conceptualisation préalable. Pour résoudre ce problème la construction d’ontologies conceptuelles a débuté dans les années 70 et visait au moins à désambiguiser les lectures.

Ces outils ont un taux de réussite qui avoisine les 95%, ce qui semble être un résultat très correct. Cependant, ce taux correspond en réalité à la génération d’une erreur …tous les 20 mots, c’est-à-dire quasiment à toutes les phrases.

Le traitement du langage semble un peu plus subtil que celui de l’image en l’état actuel des choses. La justification est à la fois simple et complexe : les analyses du langage se font séparément ou de façon détachée de la sémantique. Pourtant, c’est en travaillant sur le langage avec l’ingénierie linguistique qui n’est au fond qu’une mise en forme de la pensée qu’on s’approchera le plus possible de l’intelligence et non uniquement par la reconnaissance d’images, très à la mode en ce moment dans les medias.

Ce n’est d’ailleurs pas un hasard si le célèbre Alan Turing a développé le principe de mesure d’intelligence autour du traitement du langage et non autour de la perception et de l’usage des sens.

Outils d’analyse syntaxique

D’autres articles sur le même thème

Systèmes experts

Les systèmes experts (ou moteurs de règles) sont une technique de l’IA, qui permettent de reproduire les mécanismes cognitifs d’une personne dans un domaine bien particulier.

Système multi agents et IA Distribuée

Le domaines complexes et hétérogènes tels que l’aide à la décision dans des situations subtiles, la reconnaissance et la compréhension de formes dans des environnements mouvants

La résolution de problèmes

L’Intelligence Artificielle se caractérise par une approche nouvelle dans le traitement informatique des problèmes.

Le Machine learning

« Il n’y a pas d’intelligence sans apprentissage », affirme Yann Le Cun, patron de l’Intelligence Artificielle (IA) chez Facebook. C’est dans cette logique que s’inscrit le machine learning.

Les réseaux neuronaux

De nos jours, on ne peut pas parler de machine learning sans parler de réseau de neurones artificiels, un ensemble d’algorithmes dont le fonctionnement est inspiré des neurones biologiques et qui s’appuie également sur les méthodes statistiques.

Le web sémantique

Le web sémantique permet à la machine de comprendre le langage humain et de le contextualiser.