Générateur de Pornos de Gare (GPG) [TROUPWARE] - Divers - Programmation
Marsh Posté le 21-08-2003 à 13:56:17
Reprise des messages pertinents pour le projet GPG, anciennement sur le topic Apprentissage par la pratique, http://forum.hardware.fr/forum2.ph [...] subcat=388
ACut - Posté le 20-08-2003 14:28:16 a écrit : J'ai pas mal de petits "chantiers" de prog que je rêve d'attaquer sérieusement un jour, et en même temps j'ai conscience que c'est trop lourd pour un seul homme. Le pb, c'est que ce ne sont pas des idées "commerciales" mais plutôt des passions, donc je ne vois pas comment fédérer une équipe de travail sur des projets comme ça... [...] Ex: un générateur de "pornos de gare" (récits érotiques fortement codifiés sur le plan de la structure et du sens) pondant 300 feuillets à la demande [ça, c'est pour gagner ma vie facile jusqu'à la fin des temps...] Si vous avez des idées ou des envies sur des projets de ce tonneau-là, et si vous avez parfois du temps à perdre sur des choses non rentables, on peut toujours maintenir le contact... |
------------------------------------
tomlameche - Posté le 20-08-2003 14:49:05 a écrit : Excellente idée ! Je suis pret à tenter le truc. |
------------------------------------
ACut - Posté le 20-08-2003 19:42:51 a écrit : OK Tom. Un tel générateur suppose à mon avis: 1°) de formaliser une "grammaire" des objets (êtres, organes, accessoires, attributs...) couvrant de façon exhaustive l'ensemble des possibilités en termes de situations, d'actions, de prédicats, etc. 2°) d'intégrer un système d'écriture narrative (mots, phrases, dialogues, "intrigues" ) le moins prévisible possible -- donc important corpus lexical -- et capable de simuler une certaine intelligence du contexte (unité romanesque). J'en suis là de ma réflexion sur ce problème. Bien que l'érotisme soit un matériau assez pauvre selon les écrivains et les linguistes (le nombre de concepts élémentaires est de l'ordre de 50 seulement dans ce domaine), il faut signaler que chaque concept est décliné de façon exceptionnellement prolifique. Le lexicologue Pierre Guiraud, par ex., répertorie plus de 1300 synonymes du mot "coït", 600 du mot "pénis", etc. Et il va de soi que le lexique ne touche qu'une infime partie du cahier des charges, puisqu'un "générateur de romans" doit manier, au-delà du lexique, la cohérence des situations et du discours. Bref, cet exemple de programme a sans doute l'air trivial de prime abord; il pose en réalité de nombreux défis au programmeur. |
------------------------------------
Urd-sama - Posté le 21-08-2003 07:58:17 a écrit : très intéressant comme projet, la personne qui s'y met peut nous tenir au courant? |
------------------------------------
tomlameche - Posté le 21-08-2003 10:33:06 a écrit : Ca n'a pas l'air trivial du tout, au contraire ! Et je pense surtout que le gros du boulot n'est pas informatique, mais se situe au niveau de la méthode. En clair, il faut mettre en place un formalisme logique permettant de définir des contextes d'intrigues et comment ils peuvent être lié entre eux, avec en plus une notion de niveau d'intrigue ( introduction des personnages, description de décor, scénes d'action ( ), etc ... ). Je pense que pour commencer, il faut déjà avoir de bonnes notion d'ecriture romanesque pour en comprendre les rouages et les règles de narration. Il faut ensuite écrire à la main un ensemble de scènes, de description etc... qui peuvent être modifié via des mots clés, mais il faut alors être capable de construire une arborescence de dépendances entre les éléments modifiables et entre les scènes elles-même ... Bref, il est bien clair que c'est un gros boulot, dont la partie prog proprement dite ne représente a priori que 10-15% du projet ( à mon avis ). Y a un truc interessant dont on peut s'inspirer, c'est les livres des éditions comedia http://www.ed-comedia.com/ Ils font des romans personnalisés à partir de trames narratives existantes. Je vais pas expliquer le principe (faut que je bosse un peu quand même ) , mais jetez y un coup d'oueil, vous allez vite comprendre comment ça marche. |
Marsh Posté le 21-08-2003 à 14:03:00
Bonne idée, ça ! Comme ça, avec un peu de chance et de courage, on devrait pouvoir faire un semblant de truc un jour ou l'autre, ou au moins avoir bien creuser le sujet !
Marsh Posté le 21-08-2003 à 14:20:06
tomlameche a écrit : |
En matière de littérature générative, Comedia -- j'avais échangé qq mails avec son responsable -- mouline surtout sur le concept de CHAMPS paramétrables, càd que la trame du bouquin est déjà écrite de A à Z et que tu injectes simplement qq attributs pour personnaliser le récit (noms, caractères de persos, etc.).
Je pense que ça donne des résultats très peu flexibles, qui n'ont rien de commun avec ce qu'avait fait Jean-Pierre Balpe sur un Mac (avec HyperCard, je crois...), à savoir un roman aléatoire de A à Z. JP Balpe était le pdt de l'Alamo, un groupe de réflexion sur la littérature informatique.
Dans le même domaine, qq travaux de l'Oulipo -- notamment le célébrissime "Générateur d'aphorismes" -- sont à signaler, car le code du programme est extrêmement simple et pourrait vite s'adapter en PHP.
Il existe, par ailleurs, un site spécialisé dans la génération de textes (on y a trouvé le Pipotron et autres générateurs d'insultes assez marrants): www.charabia.net. Mais je ne pense pas que les bases théoriques soient assez solides pour étendre à la génération de récit.
Pour conclure, la "grammaire" possible du récit érotique pourrait peut-être s'inspirer, tout simplement, des 31 fonctions observées par Propp dans la structure des contes et légendes...
Marsh Posté le 21-08-2003 à 14:28:19
ACut a écrit : |
je n'ai pas ta culture du sujet, donc ce serait pas mal si tu pouvais donner quelque référence de bouquin ou de site pour que je me mette au niveau.
Marsh Posté le 21-08-2003 à 14:37:33
Il y avait deja Queneau qui avait fait le livre Cent Mille Milliards de Poemes, sur le principe des generateurs de texte ici decrits. Ca prendrait environ 200 Millions d'années pour tous les lires, en lisant 24h sur 24...
Vous connaissiez?
Il y en a une version html ici: http://x42.com/active/queneau.html
une autre ici:
http://www.parole.tv/cento.asp
ou là:
http://pages.infinit.net/mou/sonnets.htm
ou là (belle mise en pages):
http://www.unige.ch/infolipo/atelier/queneau.html
A+,
Marsh Posté le 21-08-2003 à 14:40:51
tomlameche a écrit : |
OK je vais essayer de rassembler des choses plus consistantes sur Propp (pas tout de suite faut que je bosse un peu là).
En attendant, un truc assez intéressant du jeune mathématicien David Madore qui, sur son blog, développe une sorte de "syntaxe" élémentaire des actes sexuels:
http://www.eleves.ens.fr:8080/home [...] Xdieck/sex
Marsh Posté le 21-08-2003 à 14:43:54
Un site qui regroupe tout plein de trucs du genre de ce que vous voulez faire.
ça pourrait vous servir :
http://www.charabia.net/gen/
Marsh Posté le 21-08-2003 à 14:47:11
Bon je vais lire tout ça et me renseigner ce week-end, et je reviendrais dans le topic avec quelques idées après !
Marsh Posté le 21-08-2003 à 14:52:22
gilou a écrit : Il y avait deja Queneau qui avait fait le livre Cent Mille Milliards de Poemes, sur le principe des generateurs de texte ici decrits. Ca prendrait environ 200 Millions d'années pour tous les lires, en lisant 24h sur 24... |
Merci pour les liens -- NB en passant: les ayants droit de Queneau ont gagné qq procès sanctionnant la contrefaçon en ligne de "10^14 poèmes", alors méfiance si vous implémentez ça sur votre site...
C'est un bon exemple de littérature générative basée exclusivement sur de la combinatoire de termes élémentaires (ici les vers). La génération de romans est plus compliquée parce qu'on ne peut pas se contenter de sortir des mots ou des phrases au hasard et de les concaténer pour simuler des effets de narration...
Cela dit, un bon départ pour générer des textes simples (érotiques ou non) est de pondre un échantillon servant de gabarit (le "prototype", comme Queneau l'a fait dans "Exercices de style" ) puis de remplacer aléatoirement les termes possédant un synonyme (plantureuse > généreuse, s'affûtant > s'astiquant, etc.) tout en respectant le contexte et la flexion grammaticale (genre, nombre, conjugaison...).
Marsh Posté le 21-08-2003 à 14:54:11
El_gringo a écrit : Un site qui regroupe tout plein de trucs du genre de ce que vous voulez faire. |
Merci Jean-Pierre (j'avais signalé Charabia un peu + haut mais c'est l'intention qui compte).
Marsh Posté le 21-08-2003 à 16:04:45
Dis, ACut, faudrait que t'apprennes à utiliser les tags [citation] et [i] hein
Marsh Posté le 21-08-2003 à 19:15:55
antp a écrit : Dis, ACut, faudrait que t'apprennes à utiliser les tags [citation] et [i] hein |
J'avoue je tâtonne méchamment en ces matières! Dans ton infinie miséricorde, tu voudrais pas m'exliquer comment ça fonctionne?
Marsh Posté le 21-08-2003 à 19:47:21
ACut a écrit : J'avoue je tâtonne méchamment en ces matières! Dans ton infinie miséricorde, tu voudrais pas m'exliquer comment ça fonctionne? |
1) les tags en minuscules
2) un [citation], s'il est suivi d'un [nom], doit absolument lui coller juste après et non à la ligne suivante, donc [citation][nom] (le tag nom devant se trouver en entier sur la même ligne je pense).
Marsh Posté le 21-08-2003 à 19:56:18
antp a écrit : Dis, ACut, faudrait que t'apprennes à utiliser les tags [citation] et [i] hein |
Faut dire qu'un petit lien "Documentation" à côté du lien "Rechercher" ne serait pas du luxe.
D'ailleur j'ai cherché comme un con au début, persuadé que c'était impossible de mettre à disposition du public un outil sans documentation. Mais finalement si, c'est possible.
Marsh Posté le 21-08-2003 à 21:46:45
drasche a écrit : |
Merci drasche. Grâce à toi j'ai pu rééditer l'amorce du topic de façon + lisible.
Marsh Posté le 21-08-2003 à 22:36:30
Générer du français correct de manière totalement aléatoire ce n'est pas une mince affaire.
J'ai un truc en php qui dispose de 55.000+ mots, mais le résultat n'est pas très satisfaisant, même pour des phrases simples?
Marsh Posté le 21-08-2003 à 22:53:30
Freekill a écrit : Générer du français correct de manière totalement aléatoire ce n'est pas une mince affaire. |
Pas satisfaisant de quel point de vue:
- orthographique?
- syntaxique?
- sémantique?
Marsh Posté le 21-08-2003 à 22:56:18
ACut a écrit : |
Othographique ça va encore, syntaxique c'est nettement plus dur, sémantique ce n'était même pas dans mes intentions?
Marsh Posté le 21-08-2003 à 23:06:43
LES FONCTIONS DE PROPP
Une recherche sur Google donne un nombre énorme de liens et bcp de déchets. J'ai trouvé 2 sites persos pas très élaborés mais qui offrent de quoi comprendre la logique de Vladimir Propp (définition d'une structure canonique des contes) tout en élargissant un peu l'idée de grammaire du récit:
1) LA SYNTAXE NARRATIVE
> http://membres.lycos.fr/simonnet/s [...] yntaxe.htm
Une bonne intro à la question, très bien vulgarisée pour les profanes.
2) LE MODELE ACTANCIEL
> http://www.ilch.uminho.pt/SDEF/modèle%20actantiel.htm
Légèrement plus corsé mais accessible, listing des 31 fonctions de Propp + intro au modèle de Greimas
BONUS. - Pour les experts, extrait d'un exposé de Daniel K. Schneider sur la théorie du récit, la branche intéressante est consacrée aux "grammaires génératrices":
> http://tecfa.unige.ch/tecfa/public [...] ode52.html
Texte intello, peu lisible et mal orthographié, MAIS avec des exemples concrets formulés en grammaire BNF... A tout hasard.
Marsh Posté le 21-08-2003 à 23:16:44
Voilà un truc qui vous sera peut-être utile :
Une liste des mots français, avec leur genre, type, etc.
http://freekill.free.fr/brols/words.rar
Marsh Posté le 21-08-2003 à 23:45:41
Citation : sujet: [TROUPWARE] Générateur de Pornos de Gare (GPG) |
il est ou le porno?
Marsh Posté le 25-08-2003 à 15:14:14
En cogitant ce w-e, je suis tombé sur Spirit, un méta-parser intégré aux librairies Boost:
> http://www.boost.org/libs/spirit/
Ce truc absolument génial est développé entièrement via des patrons C++ et s'appuie sur l'interpréteur C++ lui-même (le compilo) pour créer un parser pour n'importe quelle grammaire spécifiée dans la norme BNF.
Quel rapport avec notre projet? Eh bien, étant donnée une grammaire, un générateur de texte n'est pas autre chose qu'un parser à l'envers. Voilà déjà peut-être un moyen technique de coder un début de projet sans trop se prendre le chou.
Et puis, la doc de Spirit est très didactique pour ceux qui s'intéressent à la grammaire générative...
Marsh Posté le 25-08-2003 à 15:22:23
ACut a écrit : En cogitant ce w-e, je suis tombé sur Spirit, un méta-parser intégré aux librairies Boost: |
Au fait, tu as vu le générateur d'essai philosophique sur charabia.net ? Grosso-modo, c'est exactement ce qu'on veut faire, mais en mettant des scènes "x" à la place de philo. D'ailleurs, je pense qu'avec le même principe de graphe on devrait pouvoir générer tout type de texte structuré.
Marsh Posté le 25-08-2003 à 15:37:40
tomlameche a écrit : |
Sauf que tous les liens sont faits à la main.
Bon courage?
Marsh Posté le 25-08-2003 à 15:42:23
tomlameche a écrit : |
Oui. Historiquement, ce système a produit ses premières oeuvres avec le PostModernism Generator (http://www.elsewhere.org/cgi-bin/postmodern/) < si tu cliques sur cette url, tu as un nouveau texte à chaque fois, entièrement artificiel et assez cohérent néanmoins.
Le moteur utilisé s'appelait le Dada Engine et sa documentation complète est toujours disponible, depuis 1996, sur http://dev.null.org/dadaengine/man [...] a_toc.html. Là encore, une ressource très riche en bonnes idées, qui me semble avoir servi de base aux générateurs de Charabia.net.
A creuser, mais peut-être un peu court pour introduire une véritable sémantique (scènes, actions, évolution des personnages). Cela dit il y a certainement de bonnes astuces à choper...
Marsh Posté le 25-08-2003 à 15:46:42
Wow assez impressionant le générateur post-moderniste?
Marsh Posté le 25-08-2003 à 16:14:47
Freekill a écrit : |
Les liens fait "à la main" sont justement la définition de structure d'une "grammaire" ou des règles sémantique que tu veux introduire, il me semble. A partir du moment ou tu veux générer des textes dans un style particulier, tu dois forcément passer à ton programme la structure du bordel ( sans mauvais jeux de mots avec le sujet qui nous occupe ), et faut bien le faire à la main. Le programme doit être donc divisé en deux parties : un programme pour créer les structures sous forme de graphe, et un interpreteur qui génère les textes en partant d'une structure et d'une BDD permettant d'obtenir les atomes de texte.
M'enfin, c'est comme ça que je vois le truc pour l'instant, j'ai pas encore creuser la question.
Marsh Posté le 25-08-2003 à 16:22:51
tomlameche a écrit : |
Hum oui, définir la structure de la phrase à la main ok, mais dans le cas du générateur en question il me semble que ce sont toutes les possibilités de mots/expressions qui sont faites à la main?
Marsh Posté le 25-08-2003 à 16:23:40
Marsh Posté le 25-08-2003 à 16:31:26
Freekill a écrit : |
Oui, mais non, en fait. Ca c'est juste un exemple basic. Si tu regardes celui là http://www.charabia.net/gen/gendis [...] n=1&fonc=1 tu verras qu'il est nettement plus complet et montre mieux la qualité du moteur. L'exemple permet juste de comprendre le principe de lien par noeud, c'est tout.
Marsh Posté le 25-08-2003 à 16:35:53
tomlameche a écrit : |
Ah oui ok, mea culpa, j'avais pas regardé le schéma?
Marsh Posté le 31-05-2012 à 13:45:21
Un petit essai à la con que nous avons fait, en javascript : http://www.objetsdeplaisir.fr/2012 [...] es-robots/
Il se base sur des chaînes de caractères-templates du genre :
[[P1:artIndefMaj]] [[P1:sujet]] [[P1:adjectif]] [[P1:circonstance]] [[P1:conjonction]] [[P1:pronPers]] [[P1:verberencontre]] [[P2:artIndef]] [[P2:sujet]] [[P2:adjectif]].
Puis il substitue les balises par des mots sélectionnés au hasard dans une bibliothèque, en prenant en compte le genre (masculin ou féminin) du sujet afin d'accorder le tout. Et éventuellement, le genre du second personnage, s'il s'agit d'un bloc de mots décrivant une interaction.
En gros, la bibliothèque, c'est un ensemble d'objets constitués chacun d'un tableau de mots mixtes, un tableau de mots masculins, et un tableau de mots féminins, et d'une méthode "mots" qui renvoie un tableau de mots en fonction du genre passé en paramètre.
Ainsi,
mots(masculin) = tableau de mots mixtes concaténé avec tableau de mots masculins
mots(féminin) = tableau de mots mixtes concaténé avec tableau de mots féminins
Pour les blocs de mots décrivant une interaction, c'est le même principe, mais avec 5 tableaux de mots (mixtes, sujet 1 masculin sujet 2 féminin, sujet 1 masculin sujet 2 masculin, sujet 1 féminin sujet 2 féminin, sujet 1 féminin sujet 2 masculin), et une méthode "mots" qui prend deux paramètres (genre du sujet 1, genre du sujet 2) et renvoie également un tableau de mots.
C'est à partir du début de la balise [[P?:...]] que l'on détermine qui est le sujet concerné par celle-ci.
Il ne génère qu'un texte court de quelques phrases à l'aide d'une bibliothèque somme toute assez sommaire, mais la structure est là.
Les genres des sujets 1 et 2 sont sélectionnés au début, en fonction des options cochées (masculin, féminin, aléatoire).
Si quiconque souhaite récupérer le script pour le réutiliser (que ce soit pour faire un générateur de porno ou un générateur de pas porno du tout), you're welcome.
PS : n'ayez pas peur de l'interdiction aux moins de 18 piges lorsque vous arrivez (sauf si vous êtes mineur, auquel cas, bordel, ne tentez pas de générer des histoires de cul, c'est sale !) : le blog qui contient l'article dans lequel le script se trouve n'est certes pas un blog sur la programmation (ni sur le cyclimse) (En même temps, vu le sujet dont il est question, hein...). Mais y'a rien de crado / porno / publicitaire, et l'article en lien n e parle que de générateurs de phrases. En même temps, si je tentais de faire passer un site de boules pour un générateur de phrases, je pousserais le vice un peu loin
Marsh Posté le 31-05-2012 à 15:04:45
Vu le but du générateur, je me demande s'il ne faudrait pas renommer le sujet en [CROUPWARE]...
A+,
Marsh Posté le 05-06-2012 à 02:32:41
Pas faux... N'empêche que le thème est rigolo, pas d'une utilité flagrante, mais rigolo
Marsh Posté le 21-08-2003 à 13:55:31
Nota Bene:
L'idée de ce label [TROUPWARE]* est de répondre, d'une certaine façon, à l'appel lancé par Burgergold dans son topic "Apprentissage par la pratique" (http://forum.hardware.fr/forum2.php3?post=40540&cat=10&p=1&trash=&subcat=388).
Je propose de référencer sous cette étiquette des idées de programmes ou d'applicatifs "en puissance", chantiers, projets à l'état de brainstorming... à vocation disons ludique et sur lesquels nous invitons les forumistes à partager des idées (orientation générale, méthodes, algorithmes, commentaires, bouts de code).
C'est évidemment un échange d'idées "à la bonne franquette" et il n'engage les posteurs à rien d'autre qu'à la réflexion...
* "TROUPWARE" pour éviter la confusion avec GROUPWARE, recommandation de lorill ci-dessous (< edit).
GPG - Générateur de Pornos de Gare
----------------------------------
Ce projet d'application a été hasardé sur le topic "fondateur" de Burgergold. Je me contenterai dans le message suivant de restituer l'ensemble des posts à ce sujet...
Message édité par ACut le 21-08-2003 à 21:42:14
---------------
NOUVEAU! Le guide de l'édition en version ebook : http://marcautret.free.fr/autret/150q-ebook/