Generación de erratas basada en física — Cómo funciona LikelyTypo
Tus pruebas de autocorrección son tan buenas como tus datos de prueba. Si tus «erratas» parecen ruido aleatorio en lugar de errores humanos, tus pruebas te están mintiendo.
Piensa en la última vez que escribiste mal una palabra en tu teléfono. Probablemente pulsaste la tecla justo al lado de la que querías. Quizá duplicaste una letra, transpusiste dos caracteres o fallaste la barra espaciadora por completo. Lo que casi seguro no hiciste fue reemplazar una «e» por una «z» o cambiar una vocal por un signo de puntuación. Sin embargo, eso es exactamente lo que producen la mayoría de los enfoques de generación de erratas: basura estadísticamente improbable que ninguna mano humana crearía jamás.
LikelyTypo es un simulador de errores de teclado en línea que genera errores de escritura realistas modelando el acto físico de pulsar teclas en dispositivos reales. En lugar de lanzar dados sobre todo el conjunto de caracteres, simula lo que realmente sale mal cuando los dedos se encuentran con teclados, pantallas táctiles y tabletas. Puedes probarlo ahora mismo en la demo interactiva—sin instalación, sin registro, solo escribe y observa cómo aparecen erratas basadas en física en tiempo real.
El problema de las erratas falsas
La mayoría de los enfoques para generar erratas de prueba siguen el mismo patrón: elegir una posición aleatoria en una cadena y luego elegir un carácter aleatorio del alfabeto para sustituir, insertar o eliminar. La lógica es simple, y el resultado es inútil para cualquier prueba seria.
Consideremos la palabra «keyboard.» Un enfoque de mutación aleatoria podría convertirla en «keybxard», «keyb*ard» o «keyboapd.» Ninguna de estas se parece a algo que una persona real escribiría. Una persona real escribiría «keybiard» (tecla adyacente), «keybard» (letra omitida) o «keybaord» (par transpuesto). La diferencia importa porque los algoritmos de autocorrección, correctores ortográficos y motores de búsqueda difusa están específicamente ajustados para manejar los tipos de errores que los humanos realmente cometen. Cuando tus datos de prueba contienen errores que nunca ocurren en la realidad, tu suite de pruebas te da una falsa confianza.
La brecha en las herramientas es clara. Por un lado, existen métodos triviales de mutación aleatoria que producen ruido poco realista. Por otro lado, hay artículos académicos que describen modelos de errores sofisticados que nadie ha hecho accesibles. Las personas que necesitan erratas realistas para pruebas, generación de datos de entrenamiento o demostraciones de interfaz han tenido que construir sus propias soluciones desde cero. LikelyTypo llena ese vacío con una herramienta interactiva que cualquiera puede usar de inmediato.
Cómo ocurren realmente las erratas: física del teclado
Entender las erratas reales comienza por entender los teclados reales. Cada error de escritura tiene una causa física enraizada en la geometría del dispositivo de entrada, la biomecánica de los dedos humanos y la velocidad a la que alguien escribe. LikelyTypo modela estas causas directamente.
Teclas adyacentes, no caracteres aleatorios
El error de escritura más común es pulsar una tecla vecina en lugar de la prevista. En un teclado QWERTY, si apuntas a la «r» y fallas, pulsarás «e», «t», «f», «d» o «g»—nunca «m» ni «p.» Esto no es una tendencia estadística. Es una restricción física. Tu dedo solo puede desviarse hasta cierto punto de su objetivo antes de que el error se convierta en un tipo de fallo completamente diferente.
LikelyTypo mantiene un mapa completo de adyacencia para cada distribución de teclado soportada. Cuando el motor introduce un error de sustitución de tecla, selecciona exclusivamente entre teclas físicamente adyacentes, ponderadas por distancia. Las teclas directamente a la izquierda y derecha son objetivos más probables que las vecinas diagonales, porque la desviación horizontal es más común que la vertical al escribir rápido.
Para verlo en acción, abre la demo interactiva y escribe la palabra «the.» Podrías ver que se convierte en «thr» o «rhe»—porque «e» y «r» son adyacentes en QWERTY, y «t» y «r» están una al lado de la otra. Nunca verás que «the» se convierta en «thz» porque «z» no está cerca de «e» en ninguna distribución de teclado estándar.
Esta única decisión de diseño—restringir la sustitución a teclas adyacentes—transforma la salida de un sinsentido obvio en texto que parece escrito por una persona real con prisa.
El factor de forma del dispositivo lo cambia todo
Un teclado físico, una pantalla táctil de teléfono, un gesto de deslizamiento y una tableta producen patrones de error fundamentalmente diferentes. En un teclado de tamaño completo, los errores de transposición dominan porque los dedos en teclas vecinas se activan en el orden incorrecto. En una interfaz táctil de teléfono, las sustituciones de teclas adyacentes se disparan porque los objetivos táctiles son pequeños y los pulgares son imprecisos. La escritura por deslizamiento introduce errores completamente únicos: desviaciones de trayectoria a mitad de palabra que producen palabras plausibles pero incorrectas. La escritura en tableta se sitúa entre el teclado y el teléfono, con objetivos táctiles más grandes pero menos retroalimentación táctil que las teclas físicas.
LikelyTypo soporta múltiples modelos de dispositivo—teclado, toque de teléfono, deslizamiento de teléfono y tableta—cada uno con su propia distribución de probabilidad de error. El mismo texto de entrada produce diferentes patrones de error según el dispositivo que selecciones, porque las causas físicas de esos errores son diferentes. En la demo interactiva, puedes cambiar entre dispositivos con un solo clic y ver inmediatamente cómo cambian las erratas generadas. Prueba a escribir una frase, luego cambia de teclado a toque de teléfono y regenera. Los errores pasan de transposiciones a sustituciones de teclas adyacentes ante tus ojos.
Categorías de error más allá de la sustitución de teclas
La sustitución de teclas es solo uno de los muchos tipos de error que LikelyTypo modela. La escritura real involucra una gama mucho más amplia de errores:
- Transposición: Dos caracteres adyacentes intercambian su orden («teh» en lugar de «the»)
- Omisión: Un carácter se salta por completo («typng» en lugar de «typing»)
- Inserción: Aparece un carácter extra, generalmente vecino de la tecla prevista
- Duplicación: Una tecla se registra dos veces («keyboaard»)
- Espacio omitido: Dos palabras se unen («thequick»)
- Espacio extra: Aparece un espacio a mitad de palabra («key board»)
- Errores de mayúsculas: Problemas de sincronización con la tecla Shift producen una capitalización incorrecta
- Sustitución homófona: Se confunden teclas de sonido similar
Cada tipo de error tiene su propio peso de probabilidad que varía según el dispositivo y el perfil. Un mecanógrafo cuidadoso en un teclado completo raramente duplica teclas pero ocasionalmente transpone. Un mecanógrafo rápido en un teléfono omite caracteres y falla espacios con frecuencia. Estas distribuciones no son arbitrarias—reflejan patrones observados en datos de escritura del mundo real. Cuando generas erratas en la demo, el panel de detalles de errores te muestra exactamente qué tipo de error se aplicó en cada posición, para que puedas ver el desglose completo de lo que ocurrió y por qué.
Presentamos LikelyTypo
LikelyTypo es una herramienta web gratuita diseñada para cualquiera que necesite erratas realistas—ya sea para probar autocorrección, entrenar modelos de aprendizaje automático, poblar interfaces de demostración o simplemente entender cómo funcionan los errores de escritura humanos. La demo interactiva en likelytypo.com te permite generar erratas basadas en física instantáneamente sin ninguna configuración.
Principios fundamentales de diseño
Tres principios guían el diseño de la herramienta:
- Física sobre aleatoriedad. Cada tipo de error tiene una causa física. El motor nunca introduce un error que no pueda explicarse por la biomecánica humana y la geometría del dispositivo.
- Determinista cuando lo necesitas. Proporcionar una semilla produce una salida idéntica para una entrada idéntica, siempre. Esto hace que los resultados sean reproducibles, compartibles y verificables.
- Configurable sin complejidad. Los perfiles agrupan valores predeterminados sensatos para escenarios comunes. Puedes generar erratas realistas con un solo clic, o ajustar cada peso de error individualmente a través del panel de configuración avanzada.
Pruébalo tú mismo
La forma más rápida de entender LikelyTypo es usándolo. Ve a la demo interactiva, pega cualquier frase en el campo de entrada y pulsa el botón de generar. En una fracción de segundo, verás tu texto transformado con errores de escritura realistas. La vista de diferencias resalta cada cambio en color, haciendo inmediatamente obvio dónde se introdujeron los errores y de qué tipo son.
Prueba a pegar «The quick brown fox jumps over the lazy dog» y genera con la configuración predeterminada. Podrías ver algo como «The quikc brown fox jumsp over the lazy dog»—dos transposiciones que parecen exactamente el tipo de errores que comete un mecanógrafo rápido. Ahora cambia al dispositivo de toque de teléfono y regenera. Los errores cambian: en lugar de transposiciones, ves pulsaciones de teclas adyacentes, quizá «The quick brown foz jumps over the lazy dog» donde «x» se convirtió en «z» porque esas teclas son vecinas en un teclado de teléfono. Cada combinación de configuración produce un resultado diferente pero siempre plausible.
El panel de detalles de errores debajo de la salida muestra un desglose estructurado de cada modificación: el tipo de error, la posición en la cadena, el carácter original y el reemplazo. Esta transparencia te permite entender no solo qué cambió, sino por qué el motor eligió ese error particular en esa ubicación particular.
Perfiles de escritura: de sutil a furioso
No todos los mecanógrafos son iguales. Un escritor meticuloso redactando una carta de presentación comete errores muy diferentes a alguien tecleando furiosamente una respuesta a las 2 de la madrugada. LikelyTypo captura este espectro a través de perfiles de escritura, que son preajustes con nombre que controlan la tasa general de errores y la probabilidad relativa de cada tipo de error.
Perfiles integrados
La herramienta incluye varios perfiles integrados:
- Subtle — Tasa de error baja, principalmente transposiciones y omisiones de un solo carácter. Modela a un mecanógrafo cuidadoso que ocasionalmente se equivoca.
- Typing-fast — Tasa de error moderada con una variedad más amplia de tipos de error. Dominan las transposiciones y sustituciones de teclas adyacentes. Este es el perfil predeterminado.
- Angry-typing — Tasa de error alta, con muchos espacios omitidos, caracteres duplicados y errores de mayúsculas. Modela a alguien que escribe con fuerza y velocidad, sacrificando precisión por rendimiento emocional.
- Very-drunk — Tasa de error muy alta en todas las categorías. Desviación significativa hacia teclas adyacentes, omisiones frecuentes y espaciado errático. Modela un control motor severamente deteriorado.
Para ver la diferencia que hacen los perfiles, prueba la frase «Meeting tomorrow at nine in the conference room» con cada perfil seleccionado en la demo. El resultado sutil podría cambiar un solo carácter—quizá «Meetign» con una transposición. El resultado de typing-fast introduce unos cuantos errores más: una transposición aquí, una tecla adyacente allá, quizá un espacio omitido. El resultado de angry-typing está notablemente degradado, con caracteres duplicados, capitalización incorrecta y palabras que se unen. El resultado de very-drunk va aún más lejos, dispersando errores por casi cada palabra mientras sigue siendo reconocible como la frase original. Todas las salidas son escritura humana plausible—difieren en grado, no en tipo.
Patrones de error según el dispositivo
Los perfiles y dispositivos interactúan para producir firmas de error distintas. El mismo perfil en diferentes dispositivos produce resultados diferentes porque las restricciones físicas cambian. Un mecanógrafo typing-fast en un teclado físico transpone caracteres con frecuencia porque sus dedos superan su coordinación. El mismo perfil en toque de teléfono produce más sustituciones de teclas adyacentes porque los objetivos táctiles son más pequeños y la precisión del pulgar disminuye con la velocidad.
Puedes combinar cualquier perfil con cualquier dispositivo en la demo. Prueba a seleccionar angry-typing con el dispositivo de deslizamiento de teléfono, luego cambia a teclado y regenera con la misma semilla. El número total de errores puede ser similar, pero su carácter cambia completamente. Los errores de deslizamiento de teléfono tienden a producir palabras plausibles pero incorrectas por desviaciones de trayectoria, mientras que los errores de teclado se inclinan hacia transposiciones y teclas duplicadas por pulsaciones desincronizadas. Esta diversidad es exactamente lo que hace útil a la herramienta para pruebas exhaustivas: puedes verificar que tu aplicación maneja todo el espectro de entradas del mundo real.
LikelyTypo también soporta múltiples distribuciones de teclado—incluyendo QWERTY, AZERTY y QWERTZ—porque los mapas de adyacencia de teclas difieren entre distribuciones. Una «q» en un teclado QWERTY es adyacente a «w» y «a.» En un teclado AZERTY, esa misma tecla física es «a» y sus vecinas son completamente diferentes. Si tu aplicación sirve a usuarios en múltiples regiones, generar erratas con la distribución correcta asegura que tus datos de prueba coincidan con la realidad. Cambia distribuciones en el menú desplegable de la demo y observa cómo los errores basados en adyacencia se ajustan en consecuencia.
Salida determinista con semillas
La aleatoriedad es útil para la exploración pero destructiva para las pruebas. Si una errata generada difiere cada vez, una prueba que pasa hoy podría fallar mañana—no porque tu lógica cambió, sino porque el generador de números aleatorios produjo una secuencia diferente. LikelyTypo resuelve esto con semillas deterministas.
Cuando introduces un valor de semilla en la demo, se garantiza que la salida sea idéntica para una entrada idéntica. Escribe el mismo texto, usa el mismo perfil, dispositivo, distribución y semilla, y obtendrás exactamente las mismas erratas cada vez. Esta propiedad hace que los resultados sean completamente reproducibles y compartibles. Puedes enviar a un colega el texto, la configuración y la semilla, y verán la misma salida en su pantalla.
Cuando dejas el campo de semilla vacío, el motor genera una automáticamente y la muestra junto al resultado. Si una errata generada aleatoriamente revela algo interesante—un patrón de error particularmente complicado, una combinación que rompe tu corrector ortográfico—puedes anotar la semilla y volver a ese resultado exacto cuando lo necesites. Este flujo de trabajo transforma la exploración libre en una referencia repetible sin esfuerzo.
El mecanismo de semillas en el panel de configuración avanzada también facilita demostrar comportamientos específicos. Si estás escribiendo un artículo sobre casos límite de autocorrección, presentando una demo a interesados o reportando un error, puedes incluir la semilla para que tu ejemplo sea permanentemente reproducible en lugar de depender de una captura de pantalla de un resultado transitorio.
Qué viene después
LikelyTypo está diseñado para ser explorado y extendido. Los perfiles integrados cubren los escenarios más comunes, pero el motor subyacente acepta configuraciones de pesos completamente personalizadas a través del panel de configuración avanzada. Puedes definir tu propia distribución de errores ajustando las probabilidades de cada tipo de error, controlar la tasa general de errores con precisión y combinar pesos personalizados con cualquier combinación de dispositivo y distribución.
La arquitectura permite añadir nuevos modelos de dispositivo, nuevas distribuciones de teclado y nuevos tipos de error con el tiempo. Los mapas de adyacencia están basados en datos, lo que significa que nuevas distribuciones son cuestión de definir posiciones de teclas en lugar de rediseñar el motor. A medida que la herramienta evolucione, espera ver distribuciones adicionales para teclados regionales y nuevos perfiles de dispositivo que reflejen métodos de entrada emergentes.
La demo interactiva te permite experimentar con cada parámetro en tiempo real. Escribe o pega cualquier texto, selecciona un perfil y dispositivo, opcionalmente establece una semilla, y observa cómo LikelyTypo transforma tu entrada en erratas realistas. La vista de diferencias resalta cada cambio, y el panel de detalles de errores muestra exactamente qué tipo de error se aplicó en cada posición. Es la forma más rápida de desarrollar una intuición sobre cómo la generación de erratas basada en física difiere de la mutación aleatoria de caracteres.
Véalo en acción
Experimenta con perfiles, dispositivos, distribuciones y semillas en la demo interactiva. Observa cómo aparecen erratas basadas en física en tiempo real con una vista completa de diferencias.
Prueba la demo interactivaSi estás desarrollando autocorrección, corrección ortográfica, búsqueda difusa o cualquier funcionalidad que maneje texto escrito por usuarios, LikelyTypo te proporciona datos de prueba que realmente se parecen a lo que producen los usuarios reales. Sin más ruido aleatorio. Sin más falsa confianza. Solo erratas realistas, basadas en física y deterministas—disponibles instantáneamente en tu navegador.