Por @Alvy — 4 de junio de 2003

Encontré finalmente en Col's Random Sentence Generator una explicación (y código fuente) de Colin Frayn sobre un algoritmo que genera frases aleatorias parecidas a la del virus/gusano/troyano comentado ayer. Que por otro lado sigo sin identificar (y no ha vuelto a enviar nada).

El algoritmo en cuestión se basa en una entrada suficientemente grande de texto sobre el que realiza un análisis de frecuencias («gramatical») y en un generador aleatorio que posteriormente encadena las mismas palabras, según dichas frecuencias.

Por ejemplo si a las palabras «Esta mañana» les suelen seguir dos veces de cada tres la palabra «desperté» y una vez «desayuné», se añaden dichas palabras al azar con esa probabilidad (2/3 y 1/3). Se repite el proceso y se generan frases más largas.

The larger the input set the better the results. If a correlation length of 3 words is used for the generation routine then the code has a tendency to life large chunks verbatim from the source material, unless a very large input dataset is used. Funniest results are produced using a correlation length of 1 or 2 words, though these are less likely to produce anything grammatically correct.
La clave está en las conexiones entre «frases», que se hacen mediante una correlación de las probabilidades de que una, dos o tres palabras aparezcan en el mismo orden. Dependiendo de la cantidad de texto original disposible, una correlación 3 da resultados muy curiosos, aunque a veces demasiado literales respecto al original. Una correlación 2 ó 1 genera resultados más divertidos, aunque probablemente incorrectos gramaticalmente.

Compartir en Flipboard Publicar / Tuitear Publicar