Atelier Python Littéraire

An Mertens, Constant

Une ligne de code est comme l’action d’une recette. On prépare un
ingrédient, on applique l’action et l’ingrédient sera transformé.
Oulipo, le collectif autour de Raymond Queneau, a exploré l’idée des
recettes ou contraintes pour créer de potentielles littératures.
Leur travail est une grande inspiration pour écrire en utilisant du code.

A l’aide d’exemples concrets, les participants apprendront à générer de
nouveaux textes transformés à partir de textes existants. On travaillera
individuellement et en groupe, avec l’intention de créer une publication
collective à la fin de l’ateliers.

Une série de scripts organisée dans des dossiers, allant de la base de Python (différents objets, loops) vers niveau plus avancé.
Le dossier 5 est créé par Sarah Garcin, il permet de générer des pdf en ligne en incluant les scripts Python.

CNSNNZ SVP

Adrien Chacon

Objectif : Plutôt que de consommer un texte, consonnons-le avec un script qui supprime les voyelles.
Pour garder un minimum de lisibilité, on n’affecte que les mots de plus de 3 caractères et on laisse les voyelles en initiale.

Ls 120 ensgns de l’hbllmnt trvnt un accrd pr ovrr le dmnch
Le trvl du dmnch vnt de frnchr un pas de gnt. La Fdrtn des ensgns de l’hbllmnt vnt de sgnr avc les prtnrs scx du cmmrc sccrslst un accrd scl sur la drgtn au rps dmncl dns la cdr de la loi Mcrn s’pplqnt dns les zns trstqs intrntnls. Un cap dcsf car il s’gt du pls imprtnt accrd de brnch atrsnt le trvl le dmnch sgn à ce jr. Il cncrn en efft pls de 120 ensgns, cmm Kb, H&M, Cl ou Cm, st 22.000 pnts de vnt et prs de 120.000 slrs. Il a fll pls d’n an à la fdrtn et aux orgnstns sndcls pr trvr un trrn d’ntnt. Pr les slrs qui se prtrnt vlntrs, les prts ont vld le dblmnt de la rmnrtn des hrs effcts le dmnch. De pls, « le rps cmpnstr sr rmnr pr les hrs spplmntrs effcts ce jr-là “, indq la Fdrtn des ensgns de l’hbllmnt. Il sr pssbl pr cx qui le vlnt de rvnr sur lr dcsn et de bnfcr d’n dmnch qui n’tt pas prv, « en cas d’ndspnblt pnctll ”. Un impct fvrbl sur l’mpl Le plfnd a été fx à 26 dmnchs trvlls par an, sf si le slr vt en fr pls. En échng, les ensgns se snt enggs à fnncr les frs de grd des enfnts, et ce à htr de 40 ers mxmm par dmnch trvll. « Cet accrd est une excllnt nvll pr nos ensgns, qui trvrsnt des mmnts dffcls dps plsrs anns. Les mgsns d’hbllmnt, à l’nstr des grnds mgsns, vnt enfn pvr bnfcr de la clntl dmncl », a indq Chrstn Pmnt, le prsdnt de l’Allnc du cmmrc. Ces ovrtrs dvrnt ass avr un impct fvrbl sur l’mpl. Les prtnrs scx estmnt que 850 psts srnt mntns grâc au chffr d’ffrs spplmntr attnd du dmnch et 250 empls nvx crs. Cet accrd de brnch est le qtrm sgn en Frnc dns le cmmrc cncrnnt le trvl dmncl, aprs le brclg (q dsps d’n drgtn de pln drt, la ctr prsnn et la bjtr-jllr).
Les échs.fr du 7/7/17

script :

Evolution SuperNaturelle

Bachir Soussi Chiadmi

Inspiré des algorythmes génétqiue en machine learning, comment créer un texte évolue génétiquement?
Par des croisement de mots et des mutations génétiques.
La selection naturelle serra assurée par le correcteur orthographique Aspell

Redux - Reducteur de poésie

Cécile Babiole

Redux est un script qui réduit les textes à leur plus squelettique expression en retirant les “stopwords” c’est à dire tous ces petits mots courants de transition dont les moteurs de recherche se débarrassent automatiquement.
Redux est ici appliqué au poème de Guillame Apollinaire “Le Pont Mirabeau”.

h1.subname of antiperfect monolove

Emilie Aurat

Dans sa pièce La Mégère Apprivoisée, Shakespeare met en scène l’interaction houleuse entre un premier personnage caractériel et un deuxième qui use de flatteries et de contre-sens pour obtenir son contrôle.
Dans l’idée de remplacer les mots par catégories (noms, verbes, adjectifs) par leurs antonymes, je finis par greffer des préfixes aléatoirement dans les répliques ce, qui génère un nouveau sens à leur compréhension.

“And that which spites me more than all these wants
He does it under name of perfect love”
Katharina Act IV, Scene 3

“Thus have I politicly begun my reign,
And ’tis my hope to end successfully.
My falcon now is sharp and passing empty.
And till she stoop she must not be full-gorg’d,
For then she never looks upon her lure.
Another way I have to man my haggard,
To make her come, and know her keeper’s call,
That is, to watch her, as we watch these kites
That bate and beat, and will not be obedient.
She eat no meat to-day, nor none shall eat;
Last night she slept not, nor to-night she shall not;
As with the meat, some undeserved fault
I’ll find about the making of the bed;
And here I’ll fling the pillow, there the bolster,
This way the coverlet, another way the sheets;
Ay, and amid this hurly I intend
That all is done in reverend care of her-
And, in conclusion, she shall watch all night;
And if she chance to nod I’ll rail and brawl
And with the clamour keep her still awake.
This is a way to kill a wife with kindness,
And thus I’ll curb her mad and headstrong humour.
He that knows better how to tame a shrew,
Now let him speak; ’tis charity to show.”
Petruchio Act IV, Scene 1

And SUB-that PARA-which SUB-spites me UNI-more POST-than all POST-these POST-wants
He AUTO-does it INTER-under PARA-name of PARA-perfect POST-love

POST-Thus UNI-have I INTER-politicly SUB-begun my INTER-reign, And CYBER’tis my UNI-hope to end SUB-successfully. My ANTI-falcon now is SUB-sharp and PARA-passing UNI-empty. And ANTI-till she POST-stoop she UNI-must not be SUB-full-gorg’d, for POST-then she POST-never SUB-looks INTER-upon her POST-lure. SUB-Another way I HOMO-have to man my SUB-haggard, to SUB-make her INTER-come, and UNI-know her AUTO-keeper’s INTER-call, POST-that is, to AUTO-watch SUB-her, as we MONO-watch HOMO-these SUB-kites HOMO-that MONO-bate and HOMO-beat, and MONO-will not be MONO-obedient. She eat no HOMO-meat CYBER-to-day, nor CYBER-none HOMO-shall SUB-eat; PARA-last AUTO-night she POST-slept INTER-not, nor POST-to-night she CYBER-shall HOMO-not; as MONO-with the SUB-meat, PARA-some CYBER-undeserved MONO-fault HOMO-I’ll CYBER-find MONO-about the PARA-making of the CYBER-bed; and UNI-here MONO-I’ll MONO-fling the AUTO-pillow, SUB-there the MONO-bolster, ANTI-this way the INTER-coverlet, MONO-another way the POST-sheets; Ay, and SUB-amid SUB-this PARA-hurly I POST-intend INTER-that all is SUB-done in HOMO-reverend INTER-care of her CYBER-and, in POST-conclusion, she POST-shall ANTI-watch all CYBER-night; and if she MONO-chance to nod HOMO-I’ll INTER-rail and SUB-brawl and UNI-with the SUB-clamour INTER-keep her SUB-still SUB-awake. HOMO-This is a way to POST-kill a ANTI-wife SUB-with MONO-kindness, and MONO-thus CYBER-I’ll MONO-curb her mad and INTER-headstrong PARA-humour. He HOMO-that POST-knows UNI-better how to CYBER-tame a ANTI-shrew, now let him CYBER-speak; PARA’tis POST-charity to UNI-show.

Calligramme

Isaline Rivery

Créer le calligramme de n’importe quelle œuvre littéraire. Pouvoir comparer les dessins d’une même œuvre dans des langues différentes. Dans un premier temps: transformer le texte de l’œuvre en une suite de lettres qui apparaissent dans l’ordre alphabétique. À suivre: insérer une variable bassée sur le titre de l’œuvre, ou un autre élément de l’œuvre.

dessin 1: Le tour du monde en quatre-vingt jours, Jules Verne, en anglais (à partir des f)

dessin 2: Le tour du monde en quatre-vingt jours, Jules Verne, en français (à partir des f)

Infra-ordinaire

Jérémie Nuel

Cette expérience est inspiré par le travail de “Jacques Roubaud” : http://oulipo.net/fr/oulipiens/jr et plus particulièrement, par son livre Tokyo infra-ordinaire. Jacques Roubaud imbrique dans son texte différents niveaux de récits par un système hypertextuel.



Le script fonctionne sur le modèle suivant :

  1. On pioche dans un fichier texte une phrase source
    1. Un mot est extrait de cette phrase et renvoie une nouvelle phrase, le mot sert
      de point de départ pour effectuer une recherche dans le moteur de recherche
      DuckDuckGo ou dans Wordnet et récupérer la définition
      1. Un nouveau mot est extrait et on effectue une nouvelle recherche qui renvoie
        une nouvelle phrase
        1. les séquences de phrase sont ensuite écrites dans un fichier texte


h1. Archi-écriture

Léo Coquet

Relecture d’un extrait de “L’Écriture et la Différence” par un programme basé sur le concept derridien de la différance.

Le rapport entre la raison, la folye et la mort, est une aikonomie, une structure de diphérance dont yl faut respecter l’irréductible originalyté.
Ce vouloir-dire-l’hyperbole-démonikhe n’est pas un vouloir parmi d’autres; ce n’est pas un vouloir khi serait occasionnellement et éventuellement complété par le dire, comme par l’objet, le complément d’objet d’une subjectivité volontaire. Ce vouloir dire, khi n’est pas davantage l’antagoniste du sylence mais bien sa condition, c’est la profondeur originaire de tout vouloir en général. Rien ne serait d’aylleurs plus impuiçant à reçaisir ce vouloir kh’un volontarisme, car ce vouloir comme finitude et comme histoire est auçi une paçion première. Il garde en lui la trace d’une violence. Il s’aikrit plutaut kh’il ne se dit, yl s’aikonomise. L’aikonomie de cette aikriture est un rapport réglé entre l’excédant et la totalyté excédée : la diphêrance de l’excès absolu.

undefined

Léo Martin

pattern

J’ai produit un graphe de ce que propose pattern après analyse d’un texte.

Et je commence à utiliser le langage dot pour visualiser du texte. Cela pourrait être intéressant de voir comment représenter graphiquement des textes avec cet outil en utilisant l’analyse avec pattern pour isoler les sujets. (Ou possible isolation des sujets pendant l’écriture, l’outil ne visera pas nécéssairement à s’appliquer à n’importe quel texte).

Même chose avec indication des “Part of Speech”

  • bac-a-sable-dot.dot
  • bac-a-sable.py
  • blabla.txt
  • contrainte.py
  • graphe_pattern.dot
  • "pattern_graphe-de-texte.py":sources/../content/leo_martin/pattern_graphe-de-texte.py
  • "pattern_imprimer-la-structure-des-mots.py":sources/../content/leo_martin/pattern_imprimer-la-structure-des-mots.py
  • "pattern_phrases-pnp.py":sources/../content/leo_martin/pattern_phrases-pnp.py
  • "pattern_phrase_vers_dot—2-label-pos-abbr.py":sources/../content/leo_martin/pattern_phrase_vers_dot—2-label-pos-abbr.py
  • "pattern_phrase_vers_dot—3-label-pos-longs.py":sources/../content/leo_martin/pattern_phrase_vers_dot—3-label-pos-longs.py
  • "pattern_phrase_vers_dot.py":sources/../content/leo_martin/pattern_phrase_vers_dot.py
  • "pattern_premier-essai.py":sources/../content/leo_martin/pattern_premier-essai.py

ligne13

Léon Lenclos

Déscription

Ajoute un bruit de métro qui passe à intervalles régulier dans un texte.

La ligne 13 du métro passe à côté de Synesthésie, régulièrement, un vrombissement perturbe le workshop et rend difficile la compréhension de ce qu’il se dit.

Le résultat du script avec en entrée le texte du site de Synesthésie :

Usage

Pour faire tourner le script il faudra installer scipy et numpy qui sont deux modules mathématiques pour python

sudo pip install scipy numpy

Il faudra un fichier input.txt dans le même répertoire que le script avec le texte à modifier. Le texte sera généré dans un fichier output.txt

Pour changer la durée du bruit et la durée du silence, modifier les variables noise_duration et silence_duration.

Vague

Pour plus de réalisme l’altération des caractères ne commence ni ne s’arrête brutalement. la probabilité qu’un carractere soit transformé en fonction de sa position suit une courbe gaussienne. D’où l’uttilisation de numpy et scipy.

Analogie

Léon Lenclos

Déscription

Invente des analogies de la forme “Telle chose est à telle chose ce que telle chose est à telle chose”

Une phrase de ce type donne toujours l’illusion d’être intelligente au moins les quelques secondes avant qu’on n’essaye de comprendre ce qu’elle veut dire.

Éxemples

  • Le tunnel est à la montre-bracelet ce que le lion est aux gibets.
  • Les devanciers sont à l’in-octavo ce que le rhizome est aux philosophies.
  • L’abattis est au bagagiste ce que le biafrais est aux saponaires.

Lexique

Ce script uttilise la base de donnée Lexique 3.82. Cela permet de récuperer un grand nombre de noms en langue française et de connaitre leur genre et leur nombre.

Impossible demands

Line Gigot

Travailler sur les occurences et répétitions du texte.
“What are the demands”,“There are no demands”,“The demands”,“Impossible demands”, “Impossible demand”,“We demand the impossible”,“Impossible to demand”
Mélanger les lettres de certains mots.

Pour insérer des images, comme des shoot écrans de votre travail, commencez par les déposer dans le dossier images de votre dossier perso
puis ajouter cette ligne:

!images/nomdemonimage.jpeg!

Toutes les images seront insérez automatiquement a la fin de votre description dans la documentation finale, sauf celle ajouté manuellement dans le texte.

Outil inclusif

Loraine Gaultier

Vous n’avez pas le temps d’écrire de manière inclusive ? Vous ne savez pas faire le point médian · ? Vous voulez une bonne image de votre entreprise sur vos offres d’emploi ? Vous avez trop la flemme pour écrire de manière inclusive ?

Ce programme est fait pour vous !

Tapez votre texte, il se charge de tout.

Programme qui change automatiquement notre écriture en écriture inclusive.


Nom: patricia Morshedi
Nom de Projet : ComparText
c’est un programme qui compare un texte français traduit en differents langues, et compte les mots qui sont identique aux mots français. On peut deduire d’une maniere grossier la langue la plus proche au français!!

exemple de code:
Fichiers:pytA.py et pytB.py

POEMECANIC

Quentin Juhel

J’ai souhaité me saisir d’un tutoriel expliquant l’utilisation d’une perceuse afin de le transformer en un poème en prose. Ce qui m’intéresse c’est de faire une psie se composant de mot d’écrivant une action.

Pour créer ce poème j’ai chercher les trois mots qui précédent le terme en anglais “D/drill” (signifie perceuse) mais aussi le verbe “D/drilling” (signifie percé) à l’aide d’une expression régulière.

Le but de cette expression régulière est de sélectionner les trois mots avant le nom ou le verbe objet du tutorielle, des les afficher comme seul texte afin de générer un poème composé de d’action, de mise en garde et de résultats décontextualisant le sujet du texte originale.

Le nom de mon projet

Monprenom Monnom

à partir d’ici vous pouvez écrire le texte de description de votre projet

Pour insérer des images, comme des shoot écrans de votre travail, commencez par les déposer dans le dossier images de votre dossier perso
puis ajouter cette ligne:

!images/nomdemonimage.jpeg!

Toutes les images seront insérez automatiquement a la fin de votre description dans la documentation finale, sauf celle ajouté manuellement dans le texte.

Pad

*OLA#5Doc 15,16,17 décembre 2017 Python Algolittéraire avec An Mertens site web: http://192.168.99.35:8008/ mail an: an@constantvzw.org mail bachir: bachir@figureslibres.io

Sources: https://figureslibres.io/gogs/bachir/ola5doc

Porjet RNN : machine learning générer des textes à partir de l’étude de textes (ex : L’étude des ouvrages de Jules Vernes donne des textes qui ont un style d’écriture semblable à l’auteur). L’algo se base sur les probabilités. Montrer l’entrainement de la machine en proposant plusieurs étapes de construction.

We are sentiment thermometer programme qui mesure l’émotion d’une phrase

Python est langage créé par Guido Van Rossum en 1991

The Death of the Authors, 1941 édition générative avec python

Oulipo : L’Ouvroir de littérature potentielle, généralement désigné par son acronyme OuLiPo (ou Oulipo), est un groupe international de littéraires et de mathématiciens se définissant comme des « rats qui construisent eux-mêmes le labyrinthe dont ils se proposent de sorti. https://fr.wikipedia.org/wiki/Oulipo

*Liens discutés vendredi soir (n’hésitez pas à compléter/détailler/trier)

*Tour de table du début :

http://diccan.com/ https://prepostprint.org/ http://www.ppafeditions.fr/

*Présentation de An :

Constant (Association pour l’art et les médias) http://www.constantvzw.org/site/?lang=fr

Samedies (Femmes et logiciels libres) http://www.samedies.be/

Algolit (Groupe de travail sur l’algolittéraire) http://www.algolit.net/index.php/Main_Page

Anna K (Projet autour du travail de l’écrivaine Anna Kavan) http://kavan.land/

Paramoulipist (Expérimentations en i-littérature) http://www.paramoulipist.be/

RYBN (Collectif d’artistes) http://rybn.org/

Oulipo.net (Site de l’oulip) http://oulipo.net/

Quick sort with Hungarian folk dance (la vidéo youtube) https://www.youtube.com/watch?v=3San3uKKHgg

Projet Gutenberg (des textes) http://www.gutenberg.org/

*Atelier

Exercise d’écriture avec protocol (sans machine)

Python introduction

Python sur Windows - manuel: https://www.youtube.com/watch?v=HWxBtxPBCAc&list=PLrSOXFDHBtfHg8fWBd7sKPxEmahwyVBkC

PYTHON

  • open terminal Windows Terminal accès: http://smallbusiness.chron.com/open-terminal-session-windows-7-56627.html Windows Terminal commands: https://commandwindows.com/command3.htm

Pour Linux/Mac: lister les fichiers dans le dossier où tu es: $ ls changer de dossier: $ cd nom_du_dossier remonter un niveau $ cd ../

install atom / bracket

éventuellement PYTHON IDLE $ sudo apt install idle

$ idle this gives the same python shell

$ idle python_script.py this allows you to edit a script

dans un éditeur de code:

$ print(“o”+“l”+“a”)

$ letter1 = ‘o’ $ letter2 = ‘l’ $ letter3 = ‘a’ $ print(letter1,letter2,letter3) $ print(letter1+letter2+letter3)

sauver le script comme test.py $ python test.py

Eventuellement (p.ex. pour voir quelle version de Python que tu as par défaut): $ python $ print(“o”+“l”+“a”) Sortir de Python: $ quit()

Get scripts

Download zip from algolit: www.algolit.net/oulipo -> plutot téléchargez lien sur ligne 122!!!! For those who are more advanced: gitlab.constantvzw.org/algolit

  1. Datastructures https://docs.python.org/3/tutoriapl/datastructures.html ‘0_datastructures’: example scripts using different datastructures
  2. Creating recipes ‘1_oulipo_scripts’: example scripts playing with recipes & text input
  3. Toolbox ‘2_toolbox’: handy scripts for cleaning up texts, counting frequencies of words, often used for text analysis
  4. Wordnet ‘3_using_wordnet’: example script for French use of Wordnet
  5. Running scripts in browser ‘4_cgi_webs_reduction’: interface with reduction filters, developed for a workshop in framework of Transmediale 2017: https://machineresearch.wordpress.com/about/
  6. Creating pdfs from scripts ‘5_books-oulipo-series’: read the instructions examples online: http://site.sarahgarcin.com/oulipo-series/catalogue.php http://site.sarahgarcin.com/oulipo-series/perec.php

*OLA_Oulipo_workshop.zip https://g-u-i.me/owncloud/index.php/s/Ye5zxwAWPWcxoX6

https://g-u-i.me/owncloud/index.php/s/R3MEqmgcGvfTVHk http://www.algolit.net/oulipo/0_datastructures/

ajouter en haut de chaque script #!/usr/bin/python # -- coding: utf-8 --

*Armelle Caron http://bigthink.com/strange-maps/502-hung-out-to-dry-a-taxonomy-of-city-blocks

*En Française dans la texte Un projet de Cécile Babiole et Anne Laforet En française dans la texte est un projet artistique et critique sur le thème : “langue française et genre”. Il s’agit de contrer le sexisme inscrit au cœur de la langue française, de sa grammaire et de son usage puisque “le masculin l’emporte toujours sur le féminin”. Le projet consiste à traduire “en française” c’est-à-dire entièrement au féminin, des textes provenant de différents horizons, grâce à des algorithmes complétés par des opérations manuelles. C’est ainsi que les traductions perturbent sensiblement les messages originaux. Le processus de traduction fait l’objet de performances, d’installations et d’éditions. http://enfrancaisedanslatexte.fr/

Stanford NER is a Java implementation of a Named Entity Recognizer. Named Entity Recognition (NER) labels sequences of words in a text which are the names of things, such as person and company names, or gene and protein names. It comes with well-engineered feature extractors for Named Entity Recognition, and many options for defining feature extractors. Included with the download are good named entity recognizers for English, particularly for the 3 classes (PERSON, ORGANIZATION, LOCATION), and we also make available on this page various other models for different languages and circumstances, including models trained on just the CoNLL 2003 English training data. *https://nlp.stanford.edu/software/CRF-NER.shtml

*Prolex Le projet Prolex, piloté par le Laboratoire d’informatique (LI) de l’université François-Rabelais de Tours, a pour but de fournir, à la communauté du traitement automatique des langues (Tal), des connaissances sur les noms propres, qui constituent, à eux seuls, 10% des textes journalistiques. Ceci par la création d’une plate-forme technologique comprenant un dictionnaire électronique relationnel multilingue de noms propres (Prolexbase), des systèmes d’identification des noms propres et de leurs dérivés, des grammaires locales, etc. http://www.cnrtl.fr/lexiques/prolex/

*Un correcteur orthographique en 21 lignes de Python blog post sur le principe de fonctionnement d’unn correcteur othographique http://blog.proxteam.eu/2013/10/un-correcteur-orthographique-en-21.html

*GNU Aspell http://aspell.net/ ftp://ftp.gnu.org/gnu/aspell/dict/0index.html https://pypi.python.org/pypi/aspell-python-py3/1.13

http://www.lexique.org/ base de données qui fournit pour 135 000 mots du français faite par l’université de Savoie

Jacques Roubaud https://issuu.com/letripode/docs/tokyo_extrait http://oulipo.net/fr/oulipiens/jr

Pyenv Pour utiliser plusieurs versions de Python sur le même système : http://leetschau.github.io/blog/2014/08/06/144020/

Livre sur Python : Apprendre à programmer avec Python 3 de Gérard Swinnen (gratuit : http://inforef.be/swi/download/apprendre_python3_5.pdf)

*librairies python pour le texte

Patterns : https://www.clips.uantwerpen.be/pattern

*installer pattern (mint linux, distribution basée sur Ubuntu)

  1. installer pip : sudo apt-get install python-pip
  2. installer setup tools : sudo pip install setuptools
  3. installer pattern : sudo pip install pattern

#coding:utf-8

Pattern list des abbréviations Parts of Speech: https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html

*partage de fichiers rapide pour les présentations :

https://volafile.org/r/f4q1z59g

*Ethica http://ethica-spinoza.net/fr/inline

*Uttiliser espeak

télécharger espeak via le gestionnaire de paquet apt-get install espeak ou par sur le site officiel (http://espeak.sourceforge.net/download.html)

uttilisation la plus simple : espeak “Hello world”

connaitre les voix disponnible en fançais espeak - voices=fr

uttiliser une des voix disponnibles espeak -v french “Salut monde”

faire lire à espeak la sortie de mon proggrame python python mon_programme.py | espeak

faire lire à espeak la sortie de mon proggrame python et enregistrer le résultat dans un fichier audio python mon_programme.py | espeak -w test.wav

pour des meilleures voix francaise chercher du côté de mbrola