DBnary : le Wiktionnaire en données structurées, et pourquoi la synonymie automatique ne tient pas

Prendre le Wiktionnaire, en extraire les définitions, les synonymes et les antonymes, et les publier en données exploitables : DBnary fait exactement cela, et le fait bien. Nous l'avons mis à l'épreuve sur des exercices de vocabulaire pour des enfants. Le résultat est un cas d'école — et la meilleure démonstration que le sens ne s'extrait pas.

Le Wiktionnaire contient des centaines de milliers d'entrées françaises : définitions, synonymes, antonymes, traductions. Le tout écrit par des contributeurs bénévoles, en texte libre. DBnary s'attaque au problème évident que cela pose : transformer ce texte en données structurées, requêtables, à jour.

C'est un excellent projet, techniquement soigné, et le point de départ naturel pour qui veut construire des exercices de vocabulaire. Nous sommes partis de là. Nous avons fini par écrire nos listes à la main — et le chemin qui mène de l'un à l'autre est instructif.

Cet article fait partie d'une série où nous passons en revue les bases de données linguistiques libres du français.

Ce que DBnary promet

Pour un mot donné, DBnary expose ses sens, ses définitions, et ses relations lexicales — synonymes, antonymes, dérivés. Le tout dans un format standardisé, interrogeable par requêtes, et régénéré régulièrement à partir des versions courantes du Wiktionnaire.

Sur le papier, cela résout d'un coup plusieurs besoins d'un outil pédagogique : proposer un mot et ses définitions concurrentes, construire un exercice sur les contraires, vérifier qu'une paire de synonymes en est bien une. Nous avons donc constitué un extrait de travail, restreint au vocabulaire courant, et nous l'avons testé.

Problème 1 — les définitions ne sont pas écrites pour des enfants

C'est le premier mur, et il est plus haut qu'il n'y paraît. Le Wiktionnaire est un dictionnaire de langue générale, qui recense les emplois attestés, y compris rares, techniques, régionaux ou argotiques. Rien ne hiérarchise ces emplois par usage courant.

Concrètement, dans notre extrait, moulin ressortait défini comme « Moteur. » et lapin comme « Soldat, homme. » Ces définitions ne sont pas fausses — ce sont des emplois réels, documentés. Elles sont simplement inutilisables devant une classe de CE2, où elles produiraient au mieux de l'incompréhension, au pire un contresens durable.

Aucun filtre automatique ne règle cela proprement, parce qu'il n'y a pas de marqueur formel séparant « sens qu'un enfant de huit ans doit connaître » de « sens attesté ». C'est un jugement, pas une propriété des données.

Problème 2 — un sens par mot, donc pas de polysémie

Le deuxième obstacle nous a semblé, sur le moment, presque ironique. Pour travailler la polysémie — un mot, plusieurs sens à départager selon le contexte — il faut au minimum deux sens par mot. Or l'extrait que nous avions constitué n'en retenait qu'un seul.

Pire : les étiquettes entre parenthèses qui précèdent souvent les définitions du Wiktionnaire — (Figuré), (Familier), (Vieilli) — avaient disparu au passage. Or « (Figuré) » est précisément l'information qu'on cherche quand on veut construire un exercice sur le sens propre et le sens figuré. Nous avions perdu, à l'extraction, la seule donnée qui nous intéressait.

La leçon ici n'est pas propre à DBnary : une chaîne d'extraction est aussi bonne que ce qu'elle décide de garder. Ce qui semble un détail de mise en forme peut être le cœur de l'information.

Problème 3 — les relations de sens sont trop bruitées

C'est le point décisif, celui qui nous a fait renoncer. Les paires de synonymes et d'antonymes extraites étaient truffées de rapprochements indéfendables dans un contexte scolaire :

  • chat donné comme contraire de sauvage — sans doute par la voie de « chat sauvage », mais le résultat est absurde ;
  • pied comme contraire de bas ;
  • maison comme synonyme d'appartement, alors qu'un appartement est un cas particulier de logement, pas un équivalent.

Ce dernier exemple mérite qu'on s'y arrête, car il illustre une confusion structurelle : le Wiktionnaire, comme la plupart des ressources collaboratives, mélange la synonymie (deux mots interchangeables) avec l'hyponymie (un mot désigne un cas particulier de l'autre). Pour un linguiste, la distinction va de soi. Pour un élève à qui l'on demande « quel est le synonyme de maison ? », proposer appartement comme bonne réponse est une faute pédagogique.

Nous avons tenté de nettoyer ce bruit automatiquement, en soumettant les paires à un modèle de langue chargé de rejeter les mauvaises. Deux passes de filtrage n'ont pas suffi : il restait assez d'erreurs pour qu'aucune paire ne puisse être servie sans relecture. Autrement dit, le coût de vérification était devenu supérieur au coût d'écriture.

Ce que nous avons fait à la place

Nous avons transcrit des listes depuis des supports pédagogiques déjà validés : documents d'exercices, listes de mots contraires par niveau, ressources d'éditeurs scolaires. Quelques centaines de paires, relues une par une.

Un déséquilibre s'est imposé de lui-même, et il est intéressant : les paires d'antonymes sont largement majoritaires, les synonymes nettement minoritaires. Ce n'est pas un manque de courage. La négation morphologique — dé-, in-, im-, ir-, mal- — est un motif régulier, abondamment documenté, et stable hors contexte. La synonymie, elle, est intrinsèquement partielle : vieux et âgé ne sont pas interchangeables partout, mauvais et méchant encore moins. On ne peut retenir que les paires qui restent vraies quel que soit le contexte, et elles sont rares.

Ce constat, au passage, n'est pas une découverte : les ressources pédagogiques sérieuses le disent depuis longtemps. Une base de données automatique, elle, ne le dit pas — elle livre des paires avec le même aplomb, qu'elles soient robustes ou circonstancielles.

Faut-il en conclure que DBnary est mauvais ?

Non, et ce serait mal comprendre le problème. DBnary fait correctement ce qu'il annonce : structurer le Wiktionnaire. Le défaut n'est pas dans l'extraction, il est en amont — dans la nature même de la source, et plus profondément dans la nature du sens.

Pour des usages où la couverture prime sur la précision — enrichir une recherche, suggérer des pistes à un humain qui tranchera, alimenter un travail de recherche linguistique — c'est une ressource précieuse et gratuite. Pour un usage où chaque paire servie doit être juste, comme un exercice noté proposé à un enfant, le taux d'erreur résiduel est disqualifiant.

C'est exactement la ligne que nous décrivons dans la synthèse de cette série. Une erreur de forme se détecte : on peut vérifier qu'une terminaison est fausse. Une erreur de sens ne se détecte pas mécaniquement — maison ↔ appartement a exactement la même tête qu'une bonne paire. Seul un humain qui lit fait la différence.

En résumé

  • Bon pour : explorer, suggérer, couvrir largement, alimenter un travail où un humain tranche ensuite.
  • Insuffisant pour : servir directement des relations de sens dans un contexte scolaire, où chaque paire doit être juste.
  • Trois obstacles : des définitions de langue générale inadaptées aux enfants, une extraction qui peut perdre les étiquettes essentielles, une confusion entre synonymie et hyponymie.
  • Ce que le filtrage automatique ne règle pas : deux passes de jugement par modèle de langue n'ont pas suffi à rendre les paires servables sans relecture.