Palabras Aleatorias
Letras al azar
Pensarías que es fácil crear palabras aleatorias ... solo hay que elegir letras al azar y juntarlas, ¡y listo! Ya tienes una palabra al azar.
Bueno, aquí hay 20 palabras hechas de esa manera:
¡Resulta que esas palabras no solo no tienen sentido, sino que son bastante difíciles de pronunciar!
(Intenta decir "tldkl" o "oewkx")
Verás, la probabilidad de obtener una palabra con sentido es muy baja ... tendrías que probar muchas combinaciones aleatorias antes de tener suerte.
¿Por qué? Bueno, la cuestión es que el español cuenta con alrededor de 88,000 palabras identificadas en el Diccionario de la Real Academia Española y además otras 70,000 palabras en el Diccionario de Americanismos, por lo que podemos estimar que el español tiene unas 110,000 palabras ... pero ¿cuántas palabras diferentes se pueden formar con solo 5 letras?
27 × 27 × 27 × 27 × 27 = ¡14,348,907 palabras posibles de 5 letras!
Y esas son solo las palabras de 5 letras ...
Supongamos que hay 35,000 palabras en español que tienen 5 letras. Entonces la probabilidad de formar una palabra real al azar sería:
35,000 / 14,348,907 = 0.0024, o aproximadamente 0.2% de probabilidad
Entonces las palabras reales son raras. Y podemos ver que juntar letras al azar es muy poco probable que produzca una palabra real.
Vocales
Podemos mejorar nuestro éxito al exigir que una palabra tenga al menos una vocal, ya que casi todas las palabras en español tienen una. Algo así:
Esto es una gran mejora. Se pueden pronunciar más palabras.
Pero todavía hay muchas palabras extrañas como "zspsu" y "xuybk"
Frecuencia de las letras
Entonces, nuestra próxima mejora es usar menos letras como j, x, z y q y más letras como e, s y t.
De hecho, la frecuencia de las letras en el idioma español es bien conocida. Aquí está cuántas veces esperarías ver una letra por cada 1,000 letras:
| a | b | c | d | e | f | g | h | i | j | k | l | m | n | ñ | o | p | q | r | s | t | u | v | w | x | y | z |
| 124 | 14 | 46 | 59 | 137 | 7 | 10 | 7 | 62 | 4 | 0 | 50 | 31 | 67 | 3 | 86 | 25 | 9 | 69 | 80 | 46 | 39 | 9 | 0 | 2 | 9 | 5 |
¿Puedes ver que la "e" es común, pero la "w" es rara?
- Es probable que la "e" aparezca 137 veces por cada 1,000, o como una razón 137/1000 = .137 (=13.7%)
- Es probable que la "w" aparezca menos de una vez por cada 1,000. De hecho, 0.1 veces cada 1,000, es decir 0.1/1000 = .0001 (=0.01%)
Entonces, al seleccionar letras basadas en esa frecuencia (un poco como lanzar un dado de 1,000 caras, donde cada dado tiene 124 a, 14 b ... y ninguna k ni w), podemos obtener un resultado como este:
Todavía no hay palabras reales, pero algunas están cerca. Y la mayoría de ellas se pueden pronunciar. (¡Excelentes nombres si estás escribiendo una novela de ciencia ficción!)
¡Inténtalo tú mismo!
Puedes probar los tres métodos aquí ... a ver si tienes suerte y encuentras una palabra real:
pero podemos hacerlo mejor ...
Frecuencias de 2 letras
Podemos llevar la idea de la frecuencia de letras un paso más allá al preguntarnos
"¿cuál es la frecuencia de las letras que siguen a otra letra?"
Por ejemplo, si ya tenemos una "t", la siguiente letra es muy probable que sea una "h" (formando "th").
Para ilustrar esto, construí una Tabla de Frecuencias de Dos Letras (de Las aventuras de Alicia en el país de las maravillas).
Aquí está la fila para "t":
| Frec | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| t | 238 | 41 | 727 | 11 | 3197 | 459 | 275 | 18 | 12 | 990 | 149 | 153 | 333 | 125 | 65 | 54 |
Así, la "h" apareció 3,197 veces después de una "t" ("th") ... pero la "b" nunca siguió a una "t".
Bien, comencemos con una "t", y supongamos que elegimos una "h" para formar "th", luego usaríamos la fila de la "h" para elegir otra letra (quizás una "e" para formar "the"), y así sucesivamente ... bueno, aquí hay una muestra:
Los resultados son notables ... sin sentido, pero casi como un lenguaje extraño.
De hecho, no solo estamos haciendo palabras al azar ahora, ¡estamos haciendo oraciones al azar!
Frecuencias de más letras
¿Por qué detenerse ahí? Podemos hacer tablas de frecuencias de tres letras o más ...
Frecuencias de 3 letras
¿Cómo funcionan las frecuencias de 3 letras?
Bueno, digamos que ya tengo dos letras (como "mo") ... entonces:
- buscamos en el texto de muestra cada vez que aparezca "mo",
- elegimos una de ellas al azar,
- buscamos la letra que sigue a "mo" (posiblemente "n"),
- luego agregamos la "n" para formar "mon",
- y comenzamos de nuevo usando "on" (... siempre las dos últimas letras)
Aquí hay una muestra:
¡Ahora eso se ve bien! Al tomar muestras de una fuente real podemos obtener buenos resultados.
Frecuencias de 4 letras
Usando el mismo método, utilicé grupos de 3 letras para decidir la 4.ª letra y obtuve:
Frecuencias de 5 letras
Y con frecuencias de 5 letras:
¡Inténtalo tú mismo!
Sí, escribí algo para que juegues. Contiene los primeros 6 párrafos de Las aventuras de Alicia en el país de las maravillas, pero puedes poner tu propio texto fuente allí.
Busca algo de Shakespeare, Gabriel García Márquez o un discurso político y mira lo que resulta ... incluso podrías combinar citas de diferentes autores para ver qué escribirían sus hijos.
Y más allá
¿Y si tomáramos una enciclopedia entera y eligiéramos no solo secuencias de letras, sino fragmentos de palabras? Y no tienen que estar en orden, sino simplemente cerca unos de otros.
¿Podría Generar una buena respuesta usando esos datos Preentrenados, al Transformarlos? ¿Podríamos llamarlo GPT?