Suite à une question sur le forum (http://www.cppfrance.com/forum/sujet-HELP-GETLINE -STRING-CHAR-CONVERSION-TYPES_1467414.aspx) et quelques échanges en message privé, je poste cette source.
Ce petit outil permet de générer un texte cohérent, aléatoirement, à partir d'un corpus de texte. L'algorithme utilisé exploite les chaînes de Markov. Derrière ce nom très technique se cache un algorithme très simple et pourtant très efficace.
Soit le texte suivant: "un gentil chien aime un gentil maître"
On peut donc générer la liste d'association suivante:
(un, gentil) => chien maître
(gentil, chien) => aime
(chien, aime) => un
(aime, un) => gentil
(gentil, maître) => EOF
Ensuite, en partant de (un, gentil):
On avance en choisissant un élément aléatoirement à chaque fois:
Ce qui ici donnera deux possibilités:
- un gentil maître. EOF
- un gentil chien aime un gentil maître. EOF
En utilisant de gros corpus, on peut arriver à de très bon résultat.