Pourquoi rechercher « ucet » devrait aussi retrouver « účet »
Saisir vite, sans un signe diacritique dont vous connaissez la place, est courant. Une bonne recherche de documents ne devrait pas vous pénaliser pour cela : voici une explication simple de son fonctionnement, avec des exemples concrets dans quatre langues.
Le problème : un signe, deux façons de saisir un mot
De nombreuses langues modifient la prononciation d’une lettre à l’aide d’un accent, d’un crochet, d’un rond ou d’une ligature : á, é, ě, š, č, ř, ž, ů en tchèque, ä, ö, ü, ß en allemand, é, è, ç en français, á, é, í, ó, ú, ñ en espagnol. Sur un clavier de téléphone réglé en anglais ou en saisissant rapidement de mémoire, il est facile d’omettre un signe : saisir ucet alors que le document indique účet, le mot tchèque pour une facture ou un compte. Pour un système de recherche qui compare exactement les caractères, ce sont deux chaînes différentes, et rechercher l’une ne retrouvera pas un document qui ne contient que l’autre.
La solution : neutraliser les signes diacritiques
L’idée est simple : avant de comparer deux textes, neutraliser leurs signes diacritiques — accents, háčeks et cédilles compris — et comparer ce qui reste. Cette neutralisation consiste à ramener une lettre marquée comme á à sa forme simple, a. En appliquant systématiquement ce procédé aux mots saisis et à ceux stockés dans l’index, ucet et účet deviennent le même terme de recherche, quelle que soit la forme que vous avez saisie et celle qui figure sur la page. C’est une technique bien établie de recherche textuelle, qui n’est pas propre à une application ; elle repose sur la même idée qu’un moteur de recherche retrouvant « cafe » sur une page qui indique « café ».
Cette neutralisation a un coût qu’il faut expliquer clairement : elle considère deux graphies comme équivalentes pour la recherche ; un mot totalement différent qui se réduit à la même forme peut donc parfois correspondre aussi. Le tchèque en offre un exemple clair : smlouva (un contrat) et smlouvá (négocie, une forme verbale) sont des mots différents, pas le même mot auquel on ajoute un accent ; mais une fois leurs signes diacritiques neutralisés, rechercher l’un peut aussi faire apparaître un document contenant l’autre. C’est le compromis de cette technique pour éviter de perdre de vraies correspondances à cause d’un accent oublié.
L’autre problème : l’allemand construit des mots en les assemblant
L’allemand (et, dans une moindre mesure, les autres langues évoquées ici) forme de longs mots composés en assemblant directement des mots plus courts, sans espace. La résiliation d’un bail est une Mietvertragskündigung, formée de Mietvertrag (bail) et de Kündigung (résiliation), reliés par un « s » de liaison. Un index de recherche qui ne fait correspondre que des mots entiers ne trouvera pas Vertrag dans Mietvertragskündigung, même si le contrat est précisément ce que vous cherchez.
Deux techniques se complètent ici, chacune pour une raison différente. La première est la correspondance par préfixe : saisir Vertrag retrouve aussi tout mot qui commence par Vertrag, ce qui permet de trouver Vertragsunterlagen (documents contractuels) à lui seul. Cela ne résout toutefois pas le cas de Mietvertragskündigung, car Vertrag n’est pas le début de ce mot : c’est Miet qui l’est. Dans ce cas, la recherche recourt à une correspondance par sous-chaîne, essayée uniquement lorsque la recherche par préfixe ne donne aucun résultat ; c’est ce recours qui permet de retrouver Vertrag dans un mot composé, où qu’il se trouve et pas seulement au début.
Exemples dans quatre langues
- Tchèque : saisir ucet retrouve účet (une facture ou un compte) ; saisir vyuctovani retrouve vyúčtování (un décompte de charges ou de consommation).
- Allemand : saisir Vertrag retrouve Vertragsunterlagen; saisir Grundstuck retrouve Grundstück (un terrain).
- Français : saisir deces retrouve décès (un décès, comme sur un acte de décès) ; saisir francais retrouve français.
- Espagnol : saisir camion retrouve camión (un camion) ; saisir informacion retrouve información.
Le même principe fonctionne aussi en sens inverse : si vous saisissez correctement le signe diacritique, la recherche retrouve quand même une version du document où il a été reconnu sans ce signe, ce qui peut arriver lorsque la numérisation est pâle ou que la reconnaissance omet une petite marque au-dessus d’une lettre.
Votre façon de saisir n’est pas seule en cause
Jusqu’ici, il a été question de l’écart entre ce que vous saisissez et ce qu’indique le document. Il existe un second écart, plus discret, qu’il est utile de connaître : la reconnaissance de texte ne lit pas toujours correctement un accent. Une numérisation pâle, une photo de faible résolution ou une police inhabituelle peut rendre la petite marque au-dessus d’une lettre difficile à distinguer d’une tache ou d’une ombre, et la reconnaissance peut l’omettre alors qu’une personne lisant la même page n’aurait aucune difficulté. Dans ce cas, le texte reconnu stocké pour le document ne comporte pas l’accent, même si vous saisissez votre recherche très soigneusement. La neutralisation des signes diacritiques aide aussi ici, dans le même sens : si la recherche neutralise aussi le texte auquel elle compare votre requête, un účet correctement saisi retrouve quand même une page dont le texte reconnu est ucet. Autrement dit, cette neutralisation vous protège des erreurs des deux côtés du champ de recherche, et pas seulement de celles que vous pourriez faire en saisissant.
Comment la recherche de Pocket Aurora Papers applique ce principe
La recherche hors ligne de Pocket Aurora Papers neutralise les signes diacritiques pour établir les correspondances et procède en deux passes : elle recherche d’abord les débuts de mots, puis recourt à une correspondance par sous-chaîne uniquement si elle ne trouve rien, ce qui permet aussi de retrouver un mot enfoui au milieu d’un composé allemand. Les deux passes sont testées sur un corpus couvrant les cinq langues de reconnaissance : anglais, tchèque, allemand, français et espagnol. Tout s’exécute sur l’appareil, comme l’étape de reconnaissance de texte qui permet initialement de rechercher dans une page numérisée. L’interface de l’application reste uniquement en anglais pour le moment ; c’est le fonctionnement de la recherche, et non les menus et boutons, qui comprend les quatre autres langues.
Envie d’essayer ?
Nous vous écrirons lorsqu’il y aura quelque chose à essayer et vous demanderons ce qui compte le plus pour vous avant le lancement.