begin process at 2012 05 27 16:35:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > GÉNÉRATEUR DE TEXTES ALÉATOIRES COHÉRENTS (CHAÎNES DE MARKOV)

GÉNÉRATEUR DE TEXTES ALÉATOIRES COHÉRENTS (CHAÎNES DE MARKOV)


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :Markov, Texte, Aléatoire Niveau :Débutant Date de création :14/09/2010 Vu / téléchargé :4 300 / 280

Auteur : CptPingu

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

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.


 Conclusion

Compilation:
g++ -W -Wall -pedantic -O3 main.cc TextGenerator.cc -o markov
Utilisation:
./markov [option] <files>

Options:
-c: Nombre de charactères maximale (0 => infini)
-w: Nombre de mots maximale (0 => infini)
-l: Nombre de lignes maximale (0 => infini)

Exemple:
./markov -w 100 fichier1.txt fichier2.txt fichier3.txt dossier/fichier4.txt
./markov -l 5 data/*.txt

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

ALIGNER TEXTE CONSOLE
Source avec Zip Source avec une capture COMPILATEUR DE PSEUDO PASCAL

 Sources de la même categorie

Source avec Zip KISIEL CD INFO DRIVE par kisiel0147852
Source avec une capture SUPPRESSION DES REDONDANCES DE FICHIERS par cyberntique
Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro

 Sources en rapport avec celle ci

Source avec Zip ANALYSEUR DE TEXTE (MAJ V2) par sholvaC
Source avec Zip Source avec une capture ALGORITHME DE CRYPTAGE/DECRYPTAGE par besilent
Source avec Zip Source avec une capture TRAITEMENT DE TEXTE par Cordok
Source avec Zip ANALYSE DES MOTS D'UN TEXTE par manta7
Source avec Zip GENERATEUR DE BITS ALÉATOIRES par pasty

Commentaires et avis

Commentaire de Patrice99 le 15/09/2010 09:16:49

Tu pourrais faire une version en C# ? (dans ce cas je ferai surement une version en VB, ça m'intéresse de voir ce que ça donne) ou alors mettre l'exe renommé en ._exe_ par exemple.

Commentaire de CptPingu le 15/09/2010 09:49:34 administrateur CS

Étant sous Linux, non je ne peux pas faire une version sous C#, et je ne peux que te donner un binaire Linux.

Commentaire de Patrice99 le 15/09/2010 10:24:07

Bon si qqun compile un binaire Win32, je suis preneur.

Commentaire de khephren666 le 16/09/2010 18:05:45 8/10

Bonjour,

Je trouve le concept vraiment intéressant, le code bien fait (il manque juste un #include <ctime> au main :-) ). Je me suis même vu passer du temps à lire des phrases générées avec le corpus fourni en me marrant devant certaines phrases vraiment bien tournées!

Bravo!

Commentaire de BumpMANN le 18/09/2010 18:26:05 7/10

"C'est même scientifiquement prouvé, tous les jours alors que tout le temps, voit tout ce qu'on veut, il faut le faire, oh oui ! Par exemple, l'abricot contient des vitamines A, connu pour ses bénéfices au niveau de la désencyclopédie. « Hier, j'ai mangé un abricot droit dans les détails, qui risqueraient de choquer plus d'un, je pourrais également dire qu'ils sont ignorés. Car on a beau dire tout ce qu'on peut, écrase vos os, vous éclate le c½ur, explose la boite crânienne, et après qu'on mélange vos tripes avec d'autres pour en faire une recherche sur Google et vous verrez aisément que la pomme possède 12 fois plus de résultats que l'abricot."

Je dirais que ça marche :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Générer un texte aléatoire [ par seven333 ] Pour créer un programme (avec plusieurs méthodes) de recherche d'un mot dans un texte, je souhaite générer un texte de 500 000 caractères...Mais je ne Récupération d'un mot aléatoire depuis un fichier texte [ par Mornaloce ] Bonjour à tous. Voilà je vous explique mon problème. J'aimerais faire un petit programme qui permet de récupérer un mot aléatoirement dans un fichier Segmentation d'un texte en lignes [ par haning ] Bonsoir, Je suis débutante en c++ et j'ai vraiment besoin de votre aide. J'ai un texte enregistré sous forme d'image en niveau de gris. Je veux se Lecture des variables dans une ligne d'un fichier texte. [ par moumouteb ] Bonjour. Voici mon problème : j'ai un fichier texte à plusieurs lignes. Je souhaite les lire ligne par ligne j'utilise donc une boucle et la fonction Utilisation de Cygwin [ par Defranco ] Bonjour, j'ai installé cygwin sur ma machine et j'aimerai utiliser nano, l'éditeur de texte. Je tape: bireme~$nano premiertexte et malheureusement l'é Lecture d'un fichier texte conversion en entiers [ par baptchr55 ] Bonjour à tous, j'ai un nouveau problème. Je dispose d'un fichier texte comme ceci : 0 1 -1 1 0 1 0 1 1 0 -1 -1 -2 1 0 1 et souhaiterais en extrair Hauteur de static [ par mogwai93 ] Bonjour j'ai un controle de type static contenant du texte la largeur de ce controle est fixe seule sa hauteur peut varier. la police peut changer (m lecture fichier texte et mettre le resulat dans un tableau. [ par walidaydi ] bonjour, j'ai un fichier texte qui contient des nombres réels séparés par un espace. comme ca: 124.31611622563169 161.22159929707496 186.9616408968881


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,747 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales