Comment repérer la langue d'un texte

Sur Quiproquo, nous avons déjà parlé d'au moins deux outils permettant d'identifier la langue d'un texte ou d'une phrase : LangID et Polyglot 3000. Mais comment fonctionnent-ils ? Et, plus généralement, comment peut-on reconnaître automatiquement la langue d'un texte ?

Les approches utilisées sont nombreuses. On peut ainsi :

  • Détecter des mots communs, et notamment des petits mots courants qui apparaissent fréquemment dans une langue donnée.
  • Détecter des jeux de caractères caractérisant une écriture et une ou plusieurs langues ('euc-kr' pour le coréen, 'big5' pour le chinois traditionnel, 'iso-8859-6' pour les caractères arabes, 'iso-8859-7' pour le grec, 'iso-8859-8' pour l'hébreu, 'koi8-r' ou 'iso-8859-5' pour les langues utilisant l'alphabet cyrillique, etc.). Pour des textes encodés en UTF-8, on pourra repérer des plages de caractères (U+0980 à U+09FF pour le bengali, U+0A00 à U+0A7F pour le gurmukhī, U+0F00 à U+0FFF pour l'écriture tibétaine, etc.). Cependant, un même système d'écriture peut servir à la notation de plusieurs langues : l'écriture arabe, par exemple, sert pour les langues arabes, mais aussi pour l'ourdou, le turc ottaman, le persan... ;
  • Détecter des caractères accentués propres à une ou plusieurs langues. Il s'agit là d'un raffinement de la technique précédente, qui peut servir à séparer des langues européennes (le français et l'allemand, par exemple, n'utilisent pas les mêmes lettres accentuées mais utilisent le même jeu de caractères).
  • Calculer la fréquence d'apparition de séquences de n lettres ou de n caractères (on parle ici de n-grammes). Cette méthode consiste à repérer des successions de lettres apparaissant plus souvent dans une langue que dans une autre (-ant, -ment, -ez ou -ons en français, -ed, -ck-, -th- ou -gh en anglais, -sch- en allemand).
  • Repérer des caractères morphologiques ou syntaxiques (une construction syntaxique ou des règles de ponctuation particulières, par exemple).

Certains outils de détection de langues utilisent une seule de ces approches, tandis que d'autres les combinent au moyen d'heuristiques plus ou moins raffinées.

Étiquettes: