Le Gardien du Gazetteer : Quand l'IA a besoin d'une carte pour ne pas effacer les lieux
Comment une seule fausse correction a revele le besoin d'une autorite geographique locale dans les pipelines IA
Le nom qui a disparu
Six jours avant les elections municipales, en corrigeant les erreurs OCR des programmes des candidats, notre IA a pris une decision confiante : elle a change "Stiri" en "Stum".
Les deux sont de vrais quartiers d'Audierne. Le Stiri est l'un des plus anciens, nomme d'apres le breton steir pour les petits ruisseaux qui descendent en cascade depuis Kerivoas a travers la vallee. Les Audiernais disent encore "monter ou descendre le Stiri" pour decrire les lacets de la rue du 14 Juillet. Le Stum, a quelques centaines de metres, porte sa propre identite, ses propres histoires, ses propres habitants.
L'IA connaissait le Stum parce que nous l'avions mentionne dans nos tests. Elle ne connaissait pas le Stiri. Alors, face a un mot breton inconnu dans la proposition d'un candidat sur la renovation du quartier, elle a fait ce que font les modeles de langage : trouver la correspondance la plus proche dans son contexte et "corriger" vers elle. Un quartier a ete efface. Deux occurrences. Avec confiance.
Ce n'est pas un bug au sens classique. Le texte OCR etait reellement degrade — accents manquants, orthographe alteree, mots coupes entre les lignes. Le pipeline de correction faisait bien son travail sur des dizaines d'erreurs reelles : quarrier devenait quartier, municpal devenait municipal, cultureles devenait culturelles. Le probleme concernait specifiquement les noms propres que le modele n'avait jamais vus. Et a Audierne-Esquibien, les noms propres sont bretons.
La vieille solution du cartographe
Le concept dont nous avions besoin existe depuis 1693, quand l'historien britannique Laurence Echard publia The Gazetteer's: or Newsman's Interpreter — un index alphabetique de noms geographiques. Les cartographes maintiennent des gazetteers depuis des siecles. Le U.S. Board on Geographic Names en gere un depuis 1890. Tout pays qui prend sa geographie au serieux maintient une liste faisant autorite de ce que les lieux s'appellent.
Un gazetteer n'est pas une carte. C'est plus simple et plus fondamental : une liste de noms dont on sait qu'ils sont reels. Il ne dit pas ou se trouve le Stiri, ni comment y aller. Il dit : ce nom existe, il appartient a un lieu, ne le modifiez pas.
Ce dont nous avions besoin n'etait pas un modele plus intelligent. C'etait une idee plus ancienne.
98 noms dans un fichier texte
Nous avons construit notre gazetteer a partir de sources publiques — le guide des quartiers historiques d'audierne.info, l'index des rues de l'annuaire-mairie, les registres cadastraux officiels. Le resultat est un fichier texte : ext_data/gazetteer_audierne.txt, 98 entrees, un nom par ligne.
Les quartiers du vieil Audierne : Menez Bihan, Roz ar Prefed, Kerbuzulig, Le Kastell, Kermabon, Penn al Liorz, Le Stiri, Le Stum. Les lieux-dits d'Esquibien : Brenellec, Cosquer Bihan, Custren, Gorrequer, Landuguentel, Suguensou, Tromao. Les communes voisines : Plogoff, Cleden-Cap-Sizun, Primelin, Goulien.
Des noms qui ressemblent a des erreurs OCR pour un modele de langage entraine sur du francais standard. Des noms qui sont, en realite, plus anciens de plusieurs siecles que la Republique francaise.
Protection, pas correction
Le gazetteer entre dans le pipeline IA non pas comme donnee d'entrainement mais comme contrainte. Le prompt de correction OCR porte desormais une section intitulee NOMS PROTÉGÉS — NE JAMAIS MODIFIER, suivie des 98 noms. Les instructions sont explicites : si un mot du document correspond a un nom protege, le laisser tel quel. Si un mot inconnu ressemble a du breton, le laisser tel quel. Ne corriger que ce qui est manifestement du francais casse — accents manquants, mots courants deformes, lignes coupees.
Le resultat est un pipeline en deux passes. D'abord, les corrections deterministes — des motifs que nous connaissons avec certitude, comme "PIDER" vers "Didier" (le prenom d'un candidat deforme par l'OCR). Ensuite, la passe LLM, ou Mistral corrige l'orthographe francaise tandis que le gazetteer monte la garde sur la geographie bretonne.
Apres la correction, nous avons relance le meme test. Stiri est reste Stiri. Stum est reste Stum. Kerivoas, Kersudal, Trezkadeg — tous preserves. Et quarrier est toujours devenu quartier, municpal est toujours devenu municipal. L'IA a corrige ce qui etait casse et preserve ce qui etait reel.
Ce que la terre retient
Il y a un motif ici qui depasse l'OCR. Tout systeme IA qui traite du contenu local fait face a la meme tension : le modele connait le general mais pas le specifique. Il connait la grammaire francaise mais pas la toponymie bretonne. Il sait que la plupart des mots devraient etre dans le dictionnaire mais pas que Suguensou est un village, pas une coquille.
Le pipeline d'anonymisation a fait face a un defi similaire il y a quelques mois — distinguer "Jean Dupont" (une personne a proteger) de "Dupont SA" (une organisation a conserver). L'agent de validation de charte le rencontre quand un citoyen ecrit dans un registre qui ne correspond pas au francais standard. A chaque fois, la solution est la meme : donner a l'IA une reference faisant autorite pour le domaine specifique, et lui dire de s'y referer en cas de doute.
Un gazetteer est l'instance geographique d'un principe plus large : le savoir local doit etre encode comme contrainte, pas appris comme motif. On ne peut pas s'attendre a ce qu'un modele de langage apprenne chaque lieu-dit du Cap Sizun depuis son corpus d'entrainement. Mais on peut lui tendre une liste et dire : ces noms sont souverains. N'y touchez pas.
Les cartographes l'avaient compris il y a des siecles. Le pipeline IA ne fait que rattraper son retard.
En lien : Grounding AI in Reality | The RAG Adventure Begins
