WangNet – 1.8 MB, zero-dependency Numberwang adjudication in 11 languages
Le modèle est fourni comme un fichier JSON de 1,8 Mo accompagné d'environ 100 lignes de code d'inférence en Python pur (aucune dépendance externe) et s'exécute via python3 numberwang.py en ligne de commande ou en mode interactif. Il accepte des chiffres et des mots pour les nombres (dans onze langues avec accents optionnels), des expressions arithmétiques, des unités, des nombres romains et ordinaux, ainsi que des mots construits sur un nombre ou des nombres fictifs, et renvoie l'un des quatre verdicts : "That's not Numberwang", "THAT'S NUMBERWANG", "That's not even a number" ou "That's Wangernumb". L'architecture lit directement les caractères via une embedding de taille 32, deux couches Conv1d de 128 filtres (noyau 3) séparées par des ReLU, un global max pool puis deux couches linéaires terminant par une softmax, pour environ 80 804 paramètres. Une démonstration est hébergée sur Hugging Face Spaces, la démo locale requiert gradio mais le modèle lui-même n'en dépend pas, et l'API permet de charger model.json et d'obtenir des probabilités avec load_model et wang_probabilities. Sur un jeu de 486 adjudications tenues à l'écart le modèle atteint 88,9 % de précision (macro-F1 0,896), avec des performances faibles sur l'arithmétique à opérandes inédits car le réseau tend à mémoriser plutôt qu'à calculer, et le projet est distribué sous licence MIT sans garantie.