Approche syntaxique

Certaines erreurs dépendant du contexte peuvent être détectées grâce à une analyse syntaxique de la phrase. Les algorithmes permettant une telle analyse relèvent du domaine du traitement automatique du langage naturel (TALN). D'après Kukich (1992[1]), un système de TALN est composé de deux entités :

  • Un lexique, où chaque mot est décrit par les différentes informations morphosyntaxiques le concernant (partie du discours, genre, nombre, etc.). Un mot peut appartenir à différentes catégories morphosyntaxiques, par exemple "porte" est à la fois un nom féminin singulier et un verbe conjugué à la première et troisième personne du singulier.

  • Une grammaire, qui définit les règles d'agencement des catégories morphosyntaxiques en syntagmes et des syntagmes en d'autres syntagmes plus complexes. Par exemple, un syntagme nominal peut être composé d'un déterminant suivi d'un nom du même genre et du même nombre ("la porte") ; un syntagme verbal consiste en un verbe éventuellement suivi d'un syntagme nominal jouant le rôle de complément d'objet direct ("ferme la porte") ; etc..

Pour vérifier la validité syntaxique d'une phrase, l'analyseur tente de la décomposer (parsing) en syntagmes pouvant être agencés selon les règles de la grammaire. Par exemple, la phrase "le pilote ferme la porte" est valide car elle peut se décomposer de la manière suivante :

Première décomposition (source : http://lecomte.al.free.fr/ressources/PARIS8_LSL/Cours1.pdf)

Notons par ailleurs que cette phrase est un exemple d'ambiguïté. En effet, "ferme" peut être vu comme un adjectif, "la" comme un pronom et "porte" comme un verbe :

Seconde décomposition (source : http://lecomte.al.free.fr/ressources/PARIS8_LSL/Cours1.pdf)

L'ambiguïté n'est pas un problème in fine pour la vérification syntaxique des phrases : en effet, le fait qu'une phrase admette plusieurs décompositions ne change rien à sa validité. En revanche, cela entraîne la nécessité pour l'analyseur syntaxique de construire plusieurs décompositions en parallèle, et ce jusqu'à ce que l'ambiguïté de la phrase soit (éventuellement) résolue (Kukich, 1992[1]). En théorie, une phrase qui ne peut pas être décomposée avec succès par l'analyseur syntaxique comporte une ou plusieurs erreurs qui pourront être détectées voire même corrigées dans certains cas : mauvais accord d'un verbe, répétition d'un mot, confusion entre deux homonymes correspondant à des parties du discours différentes... En pratique cependant, il est difficile de désigner précisément quelle règle syntaxique a causé l'échec de la décomposition, en ajoutant à cela le fait que la grammaire est souvent incomplète (ibid.[1]).