Qu'est-ce que la normalisation de textes ?

Quand est-il nécessaire de normaliser des textes ?

La nor­ma­li­sa­tion de textes consiste à pré­pa­rer les textes pour effec­tuer un trai­te­ment auto­ma­tique du conte­nu de plus haut niveau.

Cette étape est néces­saire lorsque les texte four­nis aux outils de trai­te­ment du lan­gage pro­viennent de sources peu fiables quant à la forme du texte, par exemple dans le cas d’enquêtes d’o­pi­nions, de docu­ments acquis par recon­nais­sance optique de carac­tères ou bien d’en­vi­ron­ne­ments logi­ciels tiers. 

Dif­fé­rents trai­te­ments de nor­ma­li­sa­tion des textes peuvent être envisagés :

Comment traiter les différents jeux de caractères ?

Outre le fait qu’il existe un large éven­tail d’al­pha­bets, et de familles d’al­pha­bets dif­fé­rents – arabe, cyril­lique, latin, idéo­gram­ma­tiques…, les jeux de carac­tères peuvent être codés de plu­sieurs façons dif­fé­rentes au niveau infor­ma­tique. Les pre­miers jeux de carac­tères – ASCII -, ne per­met­taient de repré­sen­ter qu’un nombre limi­té de carac­tères. Ces 128 carac­tères se sont révé­lés insuf­fi­sants pour repré­sen­ter toute la gamme de carac­tères dis­po­nibles. Il a donc été néces­saire d’é­tendre ces pre­miers jeux de caractères.

Cepen­dant, ces exten­sions, en fonc­tion des besoins, et mal­gré la nor­ma­li­sa­tion au niveau inter­na­tio­nal, ne couvrent pas toutes les mêmes carac­tères. Cela nuit à la com­pa­ti­bi­li­té entre jeux de carac­tères, en par­ti­cu­lier dans le cas de docu­ments multilingues. 

Le cas des caractères en html

Par ailleurs, cer­tains modes de repré­sen­ta­tion de textes en machine pos­sèdent leurs propres jeux de carac­tères. C’est le cas du lan­gage HTML – Hyper­Text Mar­kup Lan­guage – uti­li­sé pour repré­sen­ter et trans­por­té les pages sur le Web (cette page, par exemple).

Ain­si, le carac­tère è est codé par la chaîne de carac­tères è mais peut éga­le­ment être codé dans le jeu de carac­tères de la page elle-même. 

Comment normaliser les jeux de caractères ?

On le voit, la nor­ma­li­sa­tion des jeux de carac­tères est un préa­lable néces­saire à de nom­breux trai­te­ments infor­ma­tiques et ne doit pas être négli­gée lors de la mise en place d’une solution. 

choisir un jeu de caractères pour le traitement linguistique

La pre­mière chose à faire est de choi­sir le jeu de carac­tères à uti­li­ser pour le trai­te­ment lin­guis­tique, qui doit prendre en compte d’une part les sources de docu­ments dis­po­nibles et, d’autre part, les pla­te­formes logi­cielles sur les­quelles ces trai­te­ments seront effectués. 

faire converger les sources

Autant que pos­sible, il est sou­hai­table que l’en­semble de la chaîne de trai­te­ments uti­lise le même jeu de carac­tères et donc, autant que pos­sible, faire en sorte que les textes soient pro­duits dans le même jeux de carac­tères que celui uti­li­sé pour le traitement. 

convertir les jeux de caractères des documents sources

Il existe un cer­tain nombres d’u­ti­li­taires qui effec­tuent la conver­sion d’un jeu de carac­tères à un autre, uti­li­sables dans des petits pro­grammes de trai­te­ments. Un pro­gramme pour­ra, par exemple, dans un pre­mier temps, iden­ti­fier le jeu de carac­tères dans lequel est écrit le docu­ment, puis conver­tir d’un jeu à l’autre. Comme on l’a vu, il peut y avoir perte d’in­for­ma­tion en fonc­tion des jeux de carac­tères uti­li­sés, par exemple lorsque le jeu de carac­tères cible contient moins de carac­tères que le jeu source.

cas particulier d’Unicode

Le stan­dard Uni­code vise à repré­sen­ter tous les sys­tèmes d’é­cri­ture. Par son uni­ver­sa­lisme, il tend à s’im­po­ser dans les échanges infor­ma­tiques modernes. En revanche, il pré­sente au moins deux difficultés:

  • il existe trois jeux de carac­tères pour l’U­ni­code : UTF‑8, UTF-16 et UTF-32. Ce der­nier repré­sente un carac­tère Uni­code sur un entier de 32 bits. Les deux autres sont des jeux de carac­tères à taille variable, c’est-à-dire qu’un carac­tère peut occu­per 32, 16 ou (dans le cas d’UTF‑8) 8 bits sui­vant sa « posi­tion » dans Unicode;
  • l’en­co­dage Uni­code per­met de coder le même carac­tère de dif­fé­rentes façons : par exemple, le carac­tère è peut être enco­dé comme un seul carac­tère (de code U+00E8) ou deux carac­tères : e (U+0065) sui­vi de accent grave (U+0300)

Des outils dédiés à Uni­code per­mettent la nor­ma­li­sa­tion de ces variantes d’encodage.

Comment corriger l’orthographe et les coquilles d’un texte ?

La cor­rec­tion des textes couvre une large gamme de ques­tions, par exemple :

  • la cor­rec­tion des erreurs de frappe
  • la cor­rec­tion de cer­tains codes typo­gra­phiques, tels que les césures
  • la cor­rec­tion des erreurs de recon­nais­sance de carac­tères lors de l’u­ti­li­sa­tion d’un logi­ciel d’OCR
  • la cor­rec­tion des erreurs de syntaxe
  • la recon­nais­sances de mots inconnus

Qu’est-ce que la distance d’édition ?

Les erreurs de frappe et les erreurs de recon­nais­sance peuvent être cor­ri­gées par des mesures de dis­tance d’é­di­tion par rap­port à des termes connus dans l’en­vi­ron­ne­ment appli­ca­tif. Cette dis­tance d’é­di­tion est éva­luée en comp­tant le nombre d’o­pé­ra­tions (ajout, sup­pres­sion ou sub­sti­tu­tion) néces­saires et suf­fi­santes pour pas­ser du terme pré­sent dans le texte au terme connu.

Ain­si, par exemple, la dis­tance d’é­di­tion entre les termes carat­cères et carac­tères est de 2, car 2 opé­ra­tions sont néces­saires pour pas­ser de l’un à l’autre :

  • sub­sti­tuer c à t
  • sub­sti­tuer t à c

Comment corriger les erreurs de syntaxe dans une phrase ?

Cer­tains textes, par exemple lors­qu’ils sont col­lec­tés en ligne, comme dans le cas des réseaux sociaux, d’en­quêtes d’o­pi­nions ou d’a­vis client, peuvent conte­nir des licences de syn­taxe : accord d’un adjec­tif, par­ti­cipe pas­sé hasar­deux voire expres­sion idio­ma­tique. Ce type de licences néces­site, pour être cor­ri­gées, d’ef­fec­tuer une ana­lyse lin­guis­tique de haut niveau, qui doit donc être effec­tuée en fin de chaîne de trai­te­ment de nor­ma­li­sa­tion de texte. 

Qu’est-ce que la reconnaissance de segments remarquables ?

La recon­nais­sance de seg­ments remar­quables consiste à iden­ti­fier des seg­ments textes par­ti­cu­liers, qu’il est pré­fé­rable de nor­ma­li­ser : suites de carac­tères spé­ci­fiques, adresses mails, dates, adresses pos­tales, numé­ros de télé­phones, réfé­rences pro­duits, acro­nymes, points médians de l’é­cri­ture inclusive…

Ces seg­ments remar­quables sont géné­ra­le­ment iden­ti­fiables, et iden­ti­fiés, au moyen de gram­maires locales qui recon­naissent la struc­ture de ces segments.

Par exemple, une adresse de cour­riel est consti­tuée des élé­ments ordon­nés suivants :

  • une suite de carac­tères : lettres, chiffres et cer­tains carac­tères spéciaux
  • une aro­base (@)
  • une suite de carac­tères alpha-numériques
  • un point
  • une suite de carac­tères alphabétiques

Des gram­maires locales, sou­vent plus com­plexes, sont néces­saires pour iden­ti­fier les autres seg­ments remar­quables.

L’ap­pli­ca­tion de ces gram­maires locales sur le texte d’en­trée va per­mettre d’i­den­ti­fier les seg­ments remar­quables et, soit de les trans­for­mer en une forme nor­male, soit d’a­jou­ter une éti­quette (par exemple, ajou­ter une balise XML). 

Par Alain Couillault
PhD Chargé de Mission Innovation APIL

Études de cas associés

Qualifier automatiquement les leads : un gain de temps et de précision

Je suis responsable commercial du service de ventes en ligne pour une entreprise de vente de produits sportifs, et dans le cadre du processus de gestion de nos leads, je souhaite disposer d'une solution pour aider les commerciaux de mon équipe à qualifier automatiquement les leads et à les classer en fonction de leur profil ou de leurs intentions d'achat.

Comprendre le fonctionnement et les limites des correcteurs orthographique et grammatical

Dans ma pratique professionnelle, je dois rédiger de nombreux rapports. La correction orthographique et grammaticale amène un gain de temps considérable. Souvent surpris par l'efficacité de ce type d'outils, j'aimerais comprendre comment ils fonctionnent afin de mieux jauger les corrections proposées.

Mettre à disposition immédiatement les réponses adéquates dans une documentation technique multilingue

Je suis chef de produit dans une entreprise industrielle multinationale et dans un domaine de haute technicité, où l'accès aux notices de maintenance est critique par ses enjeux financiers, environnementaux, ses risques associés en termes de sécurité ou d'image. Comment s'assurer que les équipes de production ou de maintenance trouvent immédiatement la réponse adéquate dans leur langue au sein de la documentation technique des installations et des outils ?

Produire et publier des centaines de commentaires d'actualité en quelques minutes

Responsable d'un domaine de publication, je dois assurer la mise en ligne en temps quasiment réel de bulletins d’analyse et de synthèse de données chiffrées massives telles que des résultats de rencontres sportives locales ou d'élections, les derniers chiffres de la pandémie COVID ou les prévisions météorologiques régionales et nationales.