Sous le capot

Les corpus du clavier, en chiffres

Les suggestions du Lëtzebuergesch Clavier ne sortent pas d'une intelligence artificielle entraînée ailleurs. Elles viennent de deux corpus de luxembourgeois écrit, publiés en accès libre sur Hugging Face, et comptés mot à mot par un script qu'on peut relancer. Voici ce qu'ils contiennent, et pourquoi il en faut deux.

Chiffres recalculés depuis les jeux de données publiés.

Les deux corpus

Aucun des deux ne remplace l'autre. Le premier apporte le vocabulaire et l'enchaînement des mots, le second la langue de tous les jours. Tous deux sont sous licence Creative Commons et exigent la citation de leurs auteurs : la voici, pour chacun.

LuxAlign

CC BY-NC 4.0 le volume et la syntaxe

Phrases d'articles de presse publiés par RTL.lu, appariées à leurs équivalents anglais et français. Fred Philippy, Siwen Guo, Jacques Klein, Tegawendé F. Bissyandé, COLING 2025.
huggingface.co/datasets/fredxlpy/LuxAlign · version v3 · l'article

Citation BibTeX

@inproceedings{philippy-etal-2025-luxembedder,
    title     = "{L}ux{E}mbedder: A Cross-Lingual Approach to Enhanced {L}uxembourgish Sentence Embeddings",
    author    = "Philippy, Fred and Guo, Siwen and Klein, Jacques and Bissyande, Tegawende",
    booktitle = "Proceedings of the 31st International Conference on Computational Linguistics",
    year      = "2025",
    address   = "Abu Dhabi, UAE",
    publisher = "Association for Computational Linguistics",
    url       = "https://aclanthology.org/2025.coling-main.753/",
    pages     = "11369--11379"
}

LETZ

CC BY 4.0 la langue du quotidien

Phrases d'exemple du Lëtzebuerger Online Dictionnaire, dont les données d'origine sont publiées en CC0 par la plateforme luxembourgeoise de données ouvertes. Fred Philippy, Shohreh Haddadan, Siwen Guo, SIGUL @ LREC-COLING 2024.
huggingface.co/datasets/fredxlpy/LETZ · configurations LETZ-SYN et LETZ-WoT · l'article

Citation BibTeX

@inproceedings{philippy-etal-2024-forget,
    title     = "Forget {NLI}, Use a Dictionary: Zero-Shot Topic Classification for Low-Resource Languages with Application to {L}uxembourgish",
    author    = "Philippy, Fred and Haddadan, Shohreh and Guo, Siwen",
    booktitle = "Proceedings of the 3rd Annual Meeting of the Special Interest Group on Under-resourced Languages @ LREC-COLING 2024",
    year      = "2024",
    address   = "Torino, Italia",
    publisher = "ELRA and ICCL",
    url       = "https://aclanthology.org/2024.sigul-1.13",
    pages     = "97--104"
}

Ce que la licence implique pour l'application. Le code du clavier et les fichiers de dictionnaire qu'il embarque ne sont pas sous la même licence, et c'est voulu : le code garde la sienne, les fichiers de dictionnaire sont des œuvres dérivées de LuxAlign et héritent donc de sa clause NonCommercial. « Open source » ne lève pas cette clause : les licences approuvées par l'OSI autorisent explicitement l'usage commercial, ce que CC BY-NC interdit. L'application est gratuite et le restera ; toute réutilisation commerciale des fichiers de dictionnaire demande l'accord préalable des ayants droit.

Pourquoi deux corpus et pas un

LuxAlign est soixante fois plus gros. On pourrait croire qu'il suffit. Mais un corpus de presse ne tutoie personne, et un clavier de téléphone ne fait presque que ça. Voici la même mesure sur les deux : la part de mots du registre familier (dech, däin, hues, bass, mamm, brudder…) ramenée à dix mille mots, pour que la différence de taille ne fausse pas la comparaison.

Mots du quotidien, pour dix mille mots de corpus

Vocabulaire partagé et vocabulaire propre à chacun

Une langue, pas trois

Le luxembourgeois s'écrit dans un pays où l'on parle aussi allemand et français, et beaucoup de corpus disponibles mélangent les trois. Un dictionnaire qui avale ce mélange finit par proposer de l'allemand à quelqu'un qui écrit en luxembourgeois. La mesure ci-dessous compte les mots allemands sans équivalent orthographique possible en luxembourgeois (und, wir, auch, ich, ist) : cela signale une bascule de langue et non un emprunt.

Mots allemands, pour dix mille mots de corpus

Pour situer : le corpus de conférences de presse gouvernementales qui servait jusqu'à la version 10.15 en comptait 272 pour dix mille, et les ministres passent régulièrement à l'allemand en pleine réponse. Il a été retiré pour cette raison.

Un faux ami à ne pas corriger : dass n'est pas de l'allemand. C'est une variante orthographique luxembourgeoise parfaitement légitime, présente dans les deux corpus retenus à raison d'une occurrence pour une et demie de datt. Elle reste donc au dictionnaire.

Les mots

Le découpage en mots est exactement celui du script qui fabrique le dictionnaire embarqué : lettres accentuées et traits d'union compris, deux caractères minimum, la ponctuation écartée.

Les 25 mots les plus fréquents

Combien de mots différents faut-il pour lire le corpus

Une poignée de mots outils porte la moitié du texte, puis la courbe s'aplatit : c'est la longue traîne du vocabulaire. C'est elle qui rend un gros dictionnaire utile, et elle aussi qui impose un seuil : les formes vues une seule fois sont écartées.

Les accents, et la disposition du clavier

Le clavier est en QWERTZ, la convention au Luxembourg, avec trois voyelles accentuées sur des touches à elles : é, ä et ë. Ce choix n'est pas esthétique, il vient du décompte ci-dessous.

Les lettres accentuées, par nombre d'occurrences

Les signes de ponctuation, par nombre d'occurrences

Les n‑grammes, ou comment le clavier devine la suite

Un n‑gramme, c'est une suite de mots observée dans les textes. En les comptant, on obtient un modèle qui répond à une question simple : après ces mots-là, qu'est-ce qui vient d'habitude ? C'est ici que LuxAlign compte le plus : ses phrases font dix-sept mots en moyenne, contre neuf pour LETZ, et seul un texte suivi apprend au clavier ce qui suit quoi.

Les 20 suites de deux mots les plus fréquentes

Les 15 suites de trois mots les plus fréquentes

Ce que le modèle propose après les contextes les plus courants

ContexteSuite la plus probableProbabilitéContexte vu

Du corpus au clavier

Les corpus ne sont pas embarqués tels quels. Un script les transforme en deux fichiers compacts, les seuls que l'application lit, et qui tiennent dans l'APK pour fonctionner sans aucune connexion.

01

Dédoublonnage

Chaque phrase n'est comptée qu'une fois : LuxAlign apparie la même phrase à l'anglais et au français, LETZ la réutilise des dizaines de fois.

02

Comptage

Chaque mot reçoit sa fréquence, chaque suite de deux ou trois mots la sienne.

03

Filtrage

Les mots vus moins de trois fois et les contextes vus moins de vingt fois sont écartés : citer un passage n'est pas prédire.

04

Embarquement

Deux fichiers JSON partent dans l'APK, relus hors ligne à chaque frappe.

Est-ce que ça prédit vraiment ?

Mesuré sur ParaLux, un jeu de phrases luxembourgeoises qui n'a servi ni de près ni de loin à fabriquer le clavier : aucune de ses phrases ne figure dans les corpus d'entraînement. Ce sont les fichiers réellement embarqués dans l'application qui sont interrogés : le chiffre annoncé est celui que vous obtenez.

Envie de voir le résultat sans rien installer ? Le simulateur fait tourner ce même dictionnaire et ces mêmes prédictions directement dans le navigateur, où le modèle est simplement réencodé plus compactement, à suggestions identiques, pour ne pas faire retélécharger cinq mégaoctets à chaque visite.

Méthode et limites

Les chiffres de cette page sont recalculés depuis les jeux de données publiés, avec la même expression régulière de découpage et les mêmes seuils que Dictionnaires/LuxembourgishComplet.py, le script qui produit les fichiers du clavier. Les totaux sont donc comparables terme à terme avec ce que l'application embarque.

Ce que ces corpus ne sont pas. LuxAlign est du journalisme : les chiffres, les pourcentages, les parenthèses et les guillemets y sont sur-représentés par rapport à ce qu'on tape sur un téléphone, et les points d'exclamation sous-représentés. LETZ est lexicographique : ses phrases sont construites pour illustrer une entrée de dictionnaire, donc riches en vocabulaire rare. Les deux ensemble corrigent une partie de ces biais, aucun ne les corrige seul.

Le jeu d'évaluation. Les chiffres de prédiction sont mesurés sur ParaLux, un banc d'essai de détection de paraphrase issu du même article que LuxAlign, et dont aucune phrase ne figure dans les corpus d'entraînement. Il ne sert jamais à construire le dictionnaire, et rien n'en est redistribué : 312 phrases authentiques y sont retenues, à l'exclusion des not_paraphrase, qui sont des altérations fabriquées exprès pour être fausses. Comme il partage l'article de LuxAlign, il partage sa citation, ci-dessus.

Le luxembourgeois reste une langue à faibles ressources : ces deux corpus réunis pèsent trois millions de mots, là où le français ou l'anglais se comptent en milliards. Le dictionnaire grandira avec eux.

Jeux de données : fredxlpy/LuxAlign · fredxlpy/LETZ · fredxlpy/ParaLux (évaluation)
Script de calcul : generate_corpus_stats.py · Attribution complète : CORPUS.md · Données brutes de cette page : corpus_stats.json