Coder Social home page Coder Social logo

texte's Introduction

texte

Ceci est une tentative de créer un logiciel d'assistance à la production d'un roman. Il s'agit donc d'utiliser ici le code comme ouvroir de littérature potentiel, de créer une littérature qui en produit d'autres, aléatoirement ou selon des contraintes fixées dans des algorithmes. Ceci est aussi l'occasion d'apprendre la programmation, en Python dans un premier temps.

Précédents

Infinite Monkey Theorem

Les Cent mille milliards de poèmes de Raymond Queneau avaient été adaptés sous forme informatique par Dmitri Starynkevitch en 1961. Mais la dimension entièrement aléatoire du procédé informatique avait d'abord repoussé les Oulipiens. Une autre adaptation informatique de Cent mille milliards de poèmes dont le générateur était basé sur le nom de la personne qui lançait l'application avait été mieux reconnue par le groupe. Natalie Berkman écrit un article intéressant à ce sujet.

Plutôt que la littérature "potentielle", les algorithmes permettent une forme de littérature "exponentielle", telle qu'évoquée ici. Parmi les exemples concrets et actifs de cette littérature exponentielle algorithmique, il est possible d'évoquer la version robot de dril sur Twitter.

Le développement de programmes de génération langage "naturel" est très lié aux chatbots et interraction commerciales. Après une période exploratoire, je vais essayer de construire ce programme à partir de la bibliothèque spaCy.

Approche

L'idée est d'élaborer un corpus d'environ 15'000 vocables. Ce nombre a été choisi à la louche, en considérant les statistiques de vocables de piliers ronflants de la littérature française. C'est un nombre empiriquement suffisant pour garantir une œuvre si ce programme se mettait à fonctionner un jour. Ce répertoire de vocables est réparti entre des lexiques de différentes fonctions syntaxiques. Les détails sont à voir dans le dépôt, mais je parle ici de verbes, de substantifs, d'adverbes, d'adjectifs, etc. - mais aussi des mots rares, hapax, etc.

Il s'agit ensuite de créer un moteur à générer des phrases - de différentes variétés, avec différentes contraintes, différents rythmes. À ce générateur de phrases, s'ajoute un générateur de chapitres qui répète un certain nombre de fois le générateur de phrases selon certaines contraintes. Par exemple, il générera 1000 phrases différentes avec une moyenne de 5 mots, une variance de x, etc. offrant au lecteur un chapitre de roman.

L'idée derrière ce petit programme est de tenter une approche inversée du processus d'écriture, de considérer l'édition comme le travail central de production d'un roman. L'algorithme génère donc un surplus de texte sur lequel intervient ensuite l'humain, l'éditeur, qui le reforme pour le rendre lisible.

Pistes à développer

Un élément central de ce projet et le peuplement des lexiques - leur champ, leur origine, leur sélection, etc. va déterminer la couleur du texte produit. Dans un second temps, il serait intéressant de mettre au point des outils pour faciliter, voir automatiser le peuplement des lexiques. Le travail d'édition du texte mentionné plus haute se jouerait donc autant dans la relecture du produit généré que dans la relecture des lexiques générés.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.