Numberwang es una red neuronal compacta de 1,8 MB diseñada para determinar si una entrada textual corresponde a un número válido, independientemente del idioma o formato utilizado. El proyecto, alojado en GitHub, destaca por su simplicidad técnica: el modelo se almacena en un único archivo JSON y la inferencia se realiza mediante aproximadamente 100 líneas de código en Python estándar, sin dependencias externas como PyTorch o NumPy. Esto permite a los usuarios clonar el repositorio y ejecutar la herramienta localmente con solo Python 3.8 o superior.
El sistema clasifica las entradas en cuatro categorías: número válido, no número, no es un número (por ejemplo, frases sin contenido numérico) y 'Wangernumb' (números ficticios o rotaciones del tablero). La arquitectura del modelo utiliza 80.804 parámetros y procesa caracteres directamente mediante convoluciones y capas lineales, eliminando la necesidad de tokenizadores o normalizadores durante la inferencia. Los idiomas soportados incluyen alemán, español, neerlandés, francés, italiano, portugués, sueco, noruego, danés y finés, con soporte opcional para acentos.
En términos de rendimiento, el modelo alcanza un macro-F1 de 0,896 en un conjunto de datos de prueba, superando el 88,9% de precisión. Sin embargo, la precisión en operaciones aritméticas no vistas durante el entrenamiento es limitada (entre 44% y 72%), ya que la red memoriza patrones más que calcular resultados. Por ello, se recomienda evaluar expresiones aritméticas manualmente antes de pasarlas al modelo. La herramienta incluye una versión alojada en Hugging Face Spaces y una interfaz interactiva local con Gradio, aunque el núcleo del modelo no requiere estas dependencias.
