Yohan Chalier Blog RSS

Souvenir d'enfance, correspondance phonétique et frugalité numérique

Sommaire

Mot long

À l'occasion de l'anniversaire d'une proche, j'ai développé une version numérique d'un jeu d'enfance, que nous nommions le « mot long ». Un jeu parfait quand on s'ennuie, qui se nécessite aucun accessoire, peut se jouer en marchant, en voiture, dans le noir. Il s'agit de construire, à tour de rôle, un mot-valise infini : une première personne donne un mot, la deuxième poursuit avec un autre pouvant se fusionner phonétiquement avec le précédent.

serveur → heureux → refaire → hérisson

On construit ainsi un long mot que l'on peut prononcer d'une seule traite, par exemple « serveurefairisson ». Nous appelons ça un « mot long », mais comme c'est souvent le cas avec ces petits jeux de patience, beaucoup de noms locaux doivent exister. Avec l'habitude, nous avions même autorisé quelques néologismes, comme la « teurpille », pratique pour suivre les nombreux -teur.

Breloque

Je voulais lui offrir un server charm hébergeant une page web présentant mon avatar et invitant à jouer au mot long. Une manière indirecte de garder un contact, un lien, disponible à toute heure (à condition d'être chargé). Le principal défi technique relèvait alors de la portabilité de mon implémentation : le microcontrôleur ESP32-C3 mini sur lequel serait hébergé la page ne possède qu'un faible espace mémoire (relativement aux standards actuels), compter environ 300 Ko de données pour le web.

       .-~~~-.
      (//´~`\\)
      !__   __!
     (~(_)-(_)~)
      !   J   !
       \ ´-` /
       !`._.´!
 _.-~´`-.___.-´`~-._
´                   `
Un premier autoportrait ASCII

Pour l'aspect graphique, l'ASCII art est une solution idéale si l'on souhaite minimiser la taille d'un dessin. Pour la réalisation d'un tel autoportrait, je me suis basé sur l'ASCII Face Maker d'Adel Faure. Mais pour la mécanique de correspondance phonétique, il faudra un peu plus d'astuce.

Correspondance phonétique

Car en effet, s'il existe de nombreuses méthodes avancées pour déterminer la prononciation d'un mot, les limites matérielles imposaient ici une approche adaptée et simplifiée, qui devrait donc être artisanale. Même si cela fonctionnerait très bien, je ne pouvais pas me permettre d'intégrer une version fine-tunée d'un LLM. Après un peu de réflexion et quelques essais, j'optais pour l'approche suivante :

Cette approche permet de dégager quelques hyperparamètres qui permettront d'ajuster la balance entre précision. Typiquement, lors de l'extraction des correspondances, pour une taille de suffixe et un nombre de phonèmes donnés, on extrait les derniers phonèmes les plus courants pour chaque suffixe. Plus ils sont longs, plus le nombre de suffixes potentiels augmente. Aussi, on ne sélectionne que les suffixes les plus courants, avec un autre paramètre. Pour la constitution du corpus, on peut également varier le nombre de mots conservés par combinaison de phonèmes.

Comme données d'entraînement, le Wiktionnaire contient beaucoup d'informations de prononcitations, mais des données plus structurées sont disponibles dans Lexique3, accompagnées de la fréquence d'apparition des mots, ce qui permettra de filtrer les mots les plus courants.

Je ne m'épancherai pas davantage sur les détails de l'implémentation, vous pouvez pour cela consulter le code source sur le dépôt Codeberg ychalier/mot-long. Je vous invite plutôt à essayer par vous-même !

Capture d'écran du mot long : un avatar en ASCII surplombe un champ de texte, fonte monospace, couleur de fond rose
Accès direct chalier.fr/mot-long