Identification linguistique

Malgré la prédominance évidente de l'anglais, plusieurs dizaines de langues différentes ont maintenant une présence significative et croissante dans cette masse. Chaque langue peut apparaître sous divers jeux de caractères. Par exemple, le même texte français pourra être encodé d'une certaine manière sous MS-DOS (jeu cp850), d'une autre sous MS-WINDOWS (jeu cp1252) et d'une autre encore sous MacIntosh (jeu macintosh).

Un système informatique utilisé pour manipuler des documents sur l'internet doit en principe savoir dans quelle langue chaque document est écrit et comment cette langue est encodée. Car s'il ignore avec quel jeu de caractères un document est encodé, il ne saura pas l'afficher ou l'imprimer correctement. Et s'il ignore dans quelle langue les documents d'une base documentaire sont écrits, il pourra difficilement y effectuer une recherche documentaire intelligente. Par exemple, lorsqu'un utilisateur s'intéresse à une recherche sur le mot français lime (l'outil), le système devrait éviter de lui ramener des documents qui contiennent le mot anglais lime (le fruit). De même, s'il ignore dans quelle langue un document est écrit, il pourra difficilement initier un processus de traduction automatique.

La norme HTML prévoit un marquage explicite de la langue et du jeu de caractères, mais en pratique ce marquage est rarement présent dans les documents. Par ailleurs, le système informatique pourrait difficilement exiger de son utilisateur qu'il lui fournisse ces marques : la très grande majorité des utilisateurs ne sauraient en effet reconnaître avec certitude plus d'une poignée de langues différentes. La meilleure solution consiste par conséquent à développer des systèmes capables de reconnaître automatiquement la langue et l'encodage d'un document.

C'est exactement ce que fait le système SILC. Lorsqu'on lui soumet un texte quelconque, SILC tente de déterminer dans quelle langue ce document est écrit et avec quel jeu de caractères il est encodé. À cette fin, il dispose pour chaque couple langue/encodage connu, d'un modèle qui associe une certaine probabilité au texte soumis et de critères qui lui permettent de choisir le modèle gagnant.

La performance de SILC est presque sans faille lorsqu'on lui soumet des textes suffisamment longs (plus de 50 caractères). Le système reconnaît 25 langues différentes encodées chacune avec deux ou trois jeux de caractères différents.

Une interface de démonstration de notre système d'identification linguistique est disponible.

Contact : Guy Lapalme