commited all contents created by participants

This commit is contained in:
Bachir Soussi Chiadmi
2017-12-21 18:12:40 +01:00
parent cefd1c2ad0
commit b936b1e616
2137 changed files with 1076319 additions and 730 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

+10
View File
@@ -0,0 +1,10 @@
---
Author: Cécile Babiole
Title: Redux - Reducteur de poésie ou la littérature vue par les moteurs de recherche.
Src: sources/mirabeau_reduit.txt
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"; la balourdise de la réduction est d'autant plus flagrante que tout le monde a en mémoire l'original si élégant.
S'applique avec sadomasochisme à toute littérature raffinée.
+8
View File
@@ -0,0 +1,8 @@
h1. Redux - Reducteur de poésie
h2. 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".
!images/Redux_terminal.jpg!
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,8 @@
https://pypi.python.org/pypi/wikipedia
Wikipedia is a Python library that makes it easy to access and parse data from Wikipedia.
Search Wikipedia, get article summaries, get data like links and images from a page, and more. Wikipedia wraps the MediaWiki API so you can focus on using Wikipedia data, not getting it.
https://wikipedia.readthedocs.io/en/latest/
https://wikipedia.readthedocs.io/en/latest/quickstart.html#quickstart
@@ -0,0 +1,29 @@
#!/usr/bin/python
# -*- coding: utf-8
# this is a shebang: https://en.wikipedia.org/wiki/Shebang_%28Unix%29
'''
This script takes a sentence you write in the terminal, and gives it back in alphabetical order
A list is ordered and changeable. It is less efficient than a set/tuple. But it allows to work with index numbers.
Check out other options for list comprehension: https://docs.python.org/3/tutorial/datastructures.html
Made for OLA #5, Paris, 15-17 décembre 2017
'''
# Ask to write a sentence
sentence = "Les gouvernements suspectent la littérature parce quelle est une force qui leur échappe"
sentence1 ="Le gouvernement impose au CNNum lexclusion de Rokhaya Diallo."
print(sentence1[-1])
sentence1 = sentence1[: -1]
# print sentence
print("phrase originale:", sentence1)
# Split sentence into words
words = sentence1.lower().split()
print(words)
# sort words of list
words.sort()
# print sorted wordlist as string
print("phrase alphabétique:", " ".join(words).capitalize()+'.')
@@ -0,0 +1,7 @@
#déclarer les variables
letter1 = "S"
letter2 = "N"
letter3 = "C"
letter4 = "F"
print(letter1+letter2+letter3+letter4)
# print(letter1, letter2, letter3, letter4)
@@ -0,0 +1,45 @@
#!/usr/bin/env python
# encoding=utf8
# Copyright (C) 2016 Constant, Algolit
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details: <http://www.gnu.org/licenses/>.
# Reduction of letters
# From string to list & back
# A string: a list of characters, unchangeable, but treatable
# See: https://www.tutorialspoint.com/python3/python_strings.htm
# Write sentence as string
sentence = "Je vois La Vie en rose..."
# Print sentence
print("phrase originale:", sentence)
# define new word as list
new_word = []
# Convert sentence in list of words
words = sentence.split(" ")
print(words)
# For each word in word list
for word in words:
# remove capital letters (string operation)
word = word.lower().strip(" ;''?:,()!.\").”-")
# Clean punctuation (string operation)
# word = word.strip(" ;''?:,()!.\").”-")
# add word to new word list
new_word.append(word)
# Write words as one, without punctuation
print("phrase mise en mots:", ''.join(new_word))
@@ -0,0 +1,12 @@
#!/usr/bin/env python
# coding: utf8
# More options with Wordnet: http://www.nltk.org/howto/wordnet.html
from nltk.corpus import wordnet as wn
print([synset.lemma_names('fra') for synset in wn.synsets('société', lang='fra')])
'''
[['canis_familiaris', 'chien'], ['aboyeur', 'chien', 'chienchien', 'clébard', 'toutou'], ['chien', 'chien_de_chasse'], ['chien'], ['chien', 'clic', 'cliquer', 'cliquet'], ['chien', 'franc', 'hot-dog'], ['achille', 'chien', 'quignon', 'talon'], ['chien'], ['chien']
'''
@@ -0,0 +1,7 @@
import wikipedia
wikipedia.set_lang("fr")
#wikipedia.search("Barack")
paris = wikipedia.page("Paris")
print(paris.content)
@@ -0,0 +1,7 @@
Du côté de chez Swann
Première partie
Combray
Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me dire : "Je m'endors." Et, une demiheure après, la pensée qu'il était temps de chercher le sommeil m'éveillait ; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière ; je n'avais pas cessé en dormant de faire des réflexions sur ce que je venais de lire, mais ces réflexions avaient pris un tour un peu particulier ; il me semblait que j'étais moimême ce dont parlait l'ouvrage : une église, un quatuor, la rivalité de François ier et de Charlesquint. Cette croyance survivait pendant quelques secondes à mon réveil ; elle ne choquait pas ma raison, mais pesait comme des écailles sur mes yeux et les empêchait de se rendre compte que le bougeoir n'était plus allumé. Puis elle commençait à me devenir inintelligible, comme après la métempsycose les pensées d'une existence antérieure ; le sujet du livre se détachait de moi, j'étais libre de m'y appliquer ou non ; aussitôt je recouvrais la vue et j'étais bien étonné de trouver autour de moi une obscurité, douce et reposante pour mes yeux, mais peut−être plus encore pour mon esprit, à qui elle apparaissait comme une chose sans cause, incompréhensible, comme une chose vraiment obscure. Je me demandais quelle heure il pouvait être ; j'entendais le sifflement des trains qui, plus ou moins éloigné, comme le chant d'un oiseau dans une forêt, relevant les distances, me décrivait l'étendue de la campagne déserte où le voyageur se hâte vers la station prochaine ; et le petit chemin qu'il suit va être gravé dans son souvenir par l'excitation qu'il doit à des lieux nouveaux, à des actes inaccoutumés, à la causerie récente et aux adieux sous la lampe étrangère qui le suivent encore dans le silence de la nuit, à la douceur prochaine du retour.
J'appuyais tendrement mes joues contre les belles joues de l'oreiller qui, pleines et fraîches, sont comme les joues de notre enfance. Je frottais une allumette pour regarder ma montre. Bientôt minuit. C'est l'instant où le malade qui a été obligé de partir en voyage et a dû coucher dans un hôtel inconnu, réveillé par une crise, se réjouit en apercevant sous la porte une raie de jour. Quel bonheur, c'est déjà le matin ! Dans un moment les domestiques seront levés, il pourra sonner, on viendra lui porter secours. L'espérance d'être soulagé lui donne du courage pour souffrir. Justement il a cru entendre des pas ; les pas se rapprochent, puis s'éloignent. Et la raie de jour qui était sous sa porte a disparu. C'est minuit ; on vient d'éteindre le gaz ; le dernier domestique est parti et il faudra rester toute la nuit à souffrir sans remède.
@@ -0,0 +1,8 @@
Côté Swann
Partie
Combray
, couché bonne heure., peine bougie éteinte, yeux fermaient vite temps : "endors.", demiheure, pensée temps chercher sommeil éveillait ; voulais poser volume croyais mains souffler lumière ; cessé dormant faire réflexions venais lire, réflexions pris tour ; semblait moimême parlait ouvrage : église, quatuor, rivalité François ier Charlesquint. croyance survivait secondes réveil ; choquait raison, pesait écailles yeux empêchait compte bougeoir allumé. commençait devenir inintelligible, métempsycose pensées existence ; livre détachait, libre appliquer ; aussitôt recouvrais vue étonné trouver autour obscurité, douce reposante yeux, peut−être esprit, apparaissait chose cause, incompréhensible, chose vraiment obscure. demandais heure ; entendais sifflement trains, éloigné, chant oiseau forêt, relevant distances, décrivait étendue campagne déserte voyageur hâte station prochaine ; petit chemin gravé souvenir excitation lieux, actes inaccoutumés, causerie récente adieux lampe étrangère suivent silence nuit, douceur prochaine.
Appuyais tendrement joues belles joues oreiller, pleines fraîches, joues enfance. frottais allumette regarder montre. Bientôt minuit. instant malade obligé partir voyage dû coucher hôtel inconnu, réveillé crise, réjouit apercevant porte raie jour. bonheur, matin ! moment domestiques levés, pourra sonner, viendra porter secours. espérance soulagé donne courage souffrir. Justement cru entendre ; rapprochent, éloignent. raie jour porte disparu. minuit ; vient éteindre gaz ; domestique parti faudra rester nuit souffrir remède.
@@ -0,0 +1,33 @@
Le pont Mirabeau
Sous le pont Mirabeau coule la Seine
Et nos amours
Faut-il qu'il m'en souvienne
La joie venait toujours après la peine
Vienne la nuit sonne l'heure
Les jours s'en vont je demeure
Les mains dans les mains restons face à face
Tandis que sous
Le pont de nos bras passe
Des éternels regards l'onde si lasse
Vienne la nuit sonne l'heure
Les jours s'en vont je demeure
L'amour s'en va comme cette eau courante
L'amour s'en va
Comme la vie est lente
Et comme l'Espérance est violente
Vienne la nuit sonne l'heure
Les jours s'en vont je demeure
Passent les jours et passent les semaines
Ni temps passé
Ni les amours reviennent
Sous le pont Mirabeau coule la Seine
Vienne la nuit sonne l'heure
Les jours s'en vont je demeure
@@ -0,0 +1,34 @@
Pont Mirabeau
Pont Mirabeau coule Seine
Amours
Faut souvienne
Joie venait peine
Vienne nuit sonne heure
Jours demeure
Mains mains restons face face
Pont bras passe
Éternels regards onde lasse
Vienne nuit sonne heure
Jours demeure
Amour eau courante
Amour
Vie lente
Espérance violente
Vienne nuit sonne heure
Jours demeure
Passent jours passent semaines
Temps
Amours reviennent
Pont Mirabeau coule Seine
Vienne nuit sonne heure
Jours demeure
File diff suppressed because it is too large Load Diff
+76
View File
@@ -0,0 +1,76 @@
#!/usr/bin/env python
# coding: utf8
#pour installer nltk stopWords tout est là : http://www.nltk.org/data.html
#finalement je n'utilise pas nltk stopWords qui est lacunaire mais ma propre liste
import re
#from nltk.tokenize import sent_tokenize, word_tokenize
#from nltk.corpus import stopwords
POEME_A_REDUIRE = "mirabeau.txt"
def load_stopwords():
with open("stopwords-fr.txt", "r") as sw:
text_stopwords = sw.read()
text_stopwords = text_stopwords[:-1] # pour enlever le retour charriot à la fin
return text_stopwords.split("\n")
#print("stopwords_list : ", load_stopwords() )
def load_texte_a_reduire():
with open(POEME_A_REDUIRE, "r") as source:
texte_original = source.read()
return texte_original
#print("texte original :", texte_original)
def nettoyer(texte_original):
# enlever les traits d'union et les apostrophes
texte_net = texte_original.replace("'", " ")
texte_net = texte_net.replace("-", " ")
return texte_net
def verses_list(texte_net): # sépare les vers sur le retour charriot
return texte_net.split("\n")
def decoupage_en_mots(verses):
tous_les_mots =[]
for verse in verses:
mots_du_vers = verse.split(" ")
tous_les_mots.append(mots_du_vers)
tous_les_mots = tous_les_mots[1:]
return tous_les_mots
def reduction(tous_les_mots): # retourne les mots qui ne sont pas dans stopwords
liste_reduite =[]
for mot in tous_les_mots :
if mot not in mots_interdits:
liste_reduite.append(mot)
return liste_reduite
#def majuscule( ):# #ré-introduire les majuscules en debut de vers
# for i in range( len ( liste_reduit ) ):
# mot_split = liste_reduit[i].split("\n")
# #print("mot_split", mot_split)
# if ( len(mot_split) == 2):
# mot_split[1] = mot_split[1].capitalize()
# liste_reduit[i] = mot_split[0] + "\n" + mot_split[1]
# if ( i > 0 and liste_reduit[i-1] == '' ):
# liste_reduit[i] = liste_reduit[i].capitalize()
#
#
# poeme_reduit = " ".join(liste_reduit)
# #print("version réduite du poeme :", poeme_reduit)
#
# with open("mirabeau_reduit.txt", "w") as destination :
# destination.write(" ".join(liste_reduit))
#Appel des fonctions
texte_original = load_texte_a_reduire()
mots_interdits = load_stopwords()
texte_net = nettoyer(texte_original)
verses = verses_list(texte_net)
tous_les_mots = decoupage_en_mots(verses)
liste_reduite = reduction(tous_les_mots)
#print("la liste des vers : ", verses)
#print("la liste de tous les mots séparés :", tous_les_mots)
#print("mots interdit : ", mots_interdits)
print("liste des mots réduite :", liste_reduite)
+90
View File
@@ -0,0 +1,90 @@
#!/usr/bin/env python
# coding: utf8
#pour installer nltk stopWords tout est là : http://www.nltk.org/data.html
#finalement je n'utilise pas nltk stopWords qui est lacunaire mais ma propre liste
import re
#from nltk.tokenize import sent_tokenize, word_tokenize
#from nltk.corpus import stopwords
POEME_A_REDUIRE = "mirabeau.txt"
def load_stopwords():
with open("stopwords-fr.txt", "r") as sw:
text_stopwords = sw.read()
text_stopwords = text_stopwords[:-1] # pour enlever le retour charriot à la fin
return text_stopwords.split("\n")
#print("stopwords_list : ", load_stopwords() )
def load_texte_a_reduire():
with open(POEME_A_REDUIRE, "r") as source:
texte_original = source.read()
texte_original = texte_original[2:]
return texte_original
#print("texte original :", texte_original)
def nettoyer(texte_original):
# enlever les traits d'union et les apostrophes
texte_net = texte_original.replace("'", " ")
texte_net = texte_net.replace("-", " ")
return texte_net
def verses_list(texte_net): # sépare les vers sur le retour charriot
return texte_net.split("\n")
def decoupage(verses, mots_interdits): #découpage et réduction
# verses est une liste de chaque phrase
# mots interdit est une liste de mots
l_verses = []
for verse in verses:
le_reste =[]
mots_du_vers = verse.split(" ") # liste
for mot in mots_du_vers:
if mot.lower() not in mots_interdits:
le_reste.append(mot)
l_verses.append(le_reste)
return l_verses
def capitalisation(reste):
for l in reste:
#new_l = l
for i, mot in enumerate(l):
if mot:# si le mot existe
mot = mot.capitalize()
l[i] = mot
break
return reste
def create_poeme_reduit(reste_capitalize):
texte = ''
for l_verse_reste in reste_capitalize:
verse_restant = ' '.join(l_verse_reste)
texte += verse_restant + '\n'
return texte
#def majuscule(verse)
#
# poeme_reduit = " ".join(le_reste)
# #print("version réduite du poeme :", poeme_reduit)
#
# with open("mirabeau_reduit.txt", "w") as destination :
# destination.write(" ".join(le_reste))
#Appel des fonctions
texte_original = load_texte_a_reduire()
mots_interdits = load_stopwords()
texte_net = nettoyer(texte_original)
verses = verses_list(texte_net)
#tous_les_mots = decoupage_en_mots(verses)
#liste_reduite = reduction(tous_les_mots)
#print("la liste des vers : ", verses)
#print("la liste de tous les mots séparés :", tous_les_mots)
#print("mots interdit : ", mots_interdits)
#print("liste des mots réduite :", liste_reduite)
reste = decoupage(verses, mots_interdits)
reste_capitalize = capitalisation(reste)
texte_final = create_poeme_reduit(reste_capitalize)
print ("texte final : ", texte_final)
@@ -0,0 +1,31 @@
#!/usr/bin/env python
# coding: utf8
#pour installer nltk stopWords tout là : http://www.nltk.org/data.html
import re
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
with open("mirabeau.txt", "r") as source:
texte = source.read()
texte = str.lower(texte)
print(texte)
#enlever les traits d'union et les apostrophes
texte = texte.replace("'", " ")
texte = texte.replace("-", " ")
#print(texte)
liste_phrase = texte.split(" ")
print("liste des mots originaux séparés:", liste_phrase)
liste_reduit = []
stopWords = set(stopwords.words('french'))
for w in liste_phrase:
if w not in stopWords:
liste_reduit.append(w)
#print("liste des mots réduit :", liste_reduit)
poeme_reduit = (" ".join(liste_reduit))
print("version réduite du poeme :", poeme_reduit)
with open("mirabeau_reduit.txt", "w") as destination :
destination.write(" ".join(liste_reduit))
@@ -0,0 +1,45 @@
#!/usr/bin/env python
# coding: utf8
#pour installer nltk stopWords tout est là : http://www.nltk.org/data.html
import re
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
with open("mirabeau.txt", "r") as source:
texte = source.read()
#print("texte or", texte)
#enlever les traits d'union et les apostrophes
texte = texte.replace("'", " ")
texte = texte.replace("-", " ")
#print(texte)
liste_phrase = texte.lower().split(" ")
#print("liste des mots originaux séparés:", liste_phrase)
liste_reduit = []
#liste_phrase = str.lower(texte)
stopWords = set(stopwords.words('french'))
for w in liste_phrase:
if w not in stopWords:
print("no stopword", w)
liste_reduit.append(w)
print("liste des mots réduite :", liste_reduit)
#ré-introduire les majuscules en debut de vers
for i in range( len ( liste_reduit ) ):
mot_split = liste_reduit[i].split("\n")
#print("mot_split", mot_split)
if ( len(mot_split) == 2):
mot_split[1] = mot_split[1].capitalize()
liste_reduit[i] = mot_split[0] + "\n" + mot_split[1]
if ( i > 0 and liste_reduit[i-1] == '' ):
liste_reduit[i] = liste_reduit[i].capitalize()
#if (elt.endswith("\n") and elt != " " ):
#mot = elt.capitalize()
poeme_reduit = " ".join(liste_reduit)
print("version réduite du poeme :", poeme_reduit)
with open("mirabeau_reduit.txt", "w") as destination :
destination.write(" ".join(liste_reduit))
@@ -0,0 +1,78 @@
#!/usr/bin/env python
# coding: utf8
#pour installer nltk stopWords tout est là : http://www.nltk.org/data.html
#finalement je n'utilise pas nltk stopWords qui est lacunaire mais ma propre liste
import re
#from nltk.tokenize import sent_tokenize, word_tokenize
#from nltk.corpus import stopwords
POEME_A_REDUIRE = "mirabeau.txt"
def load_stopwords():
with open("stopwords-fr.txt", "r") as sw:
text_stopwords = sw.read()
text_stopwords = text_stopwords[:-1] # pour enlever le retour charriot à la fin
return text_stopwords.split("\n")
#print("stopwords_list : ", load_stopwords() )
#mots_interdits = load_stopwords()
def load_texte_a_reduire():
with open(POEME_A_REDUIRE, "r") as source:
texte_original = source.read()
return texte_original
#print("texte original :", texte_original)
def verses_list(texte_original): # sépare les vers sur le retour charriot
return texte_original.split("\n")
# verses = verses_list(texte_original)
def words_list(verses):
for verse in verses:
liste_mots = verse.split(" ")
return liste_mots
#print("texte original :", texte_original)
#enlever les traits d'union et les apostrophes
# texte = texte.replace("'", " ")
# texte = texte.replace("-", " ")
# #print(texte)
# liste_phrase = texte.lower().split(" ")
# print("liste des mots originaux séparés:", liste_phrase)
#
# liste_reduit = []
# #liste_phrase = str.lower(texte)
# stopWords = set(stopwords.words('french'))
# for w in liste_phrase:
# if w not in stopWords:
# liste_reduit.append(w)
# #print("liste des mots réduite :", liste_reduit)
#
# #ré-introduire les majuscules en debut de vers
# for i in range( len ( liste_reduit ) ):
# mot_split = liste_reduit[i].split("\n")
# #print("mot_split", mot_split)
# if ( len(mot_split) == 2):
# mot_split[1] = mot_split[1].capitalize()
# liste_reduit[i] = mot_split[0] + "\n" + mot_split[1]
# if ( i > 0 and liste_reduit[i-1] == '' ):
# liste_reduit[i] = liste_reduit[i].capitalize()
#
# #if (elt.endswith("\n") and elt != " " ):
# #mot = elt.capitalize()
# poeme_reduit = " ".join(liste_reduit)
# #print("version réduite du poeme :", poeme_reduit)
#
# with open("mirabeau_reduit.txt", "w") as destination :
# destination.write(" ".join(liste_reduit))
#Appel des fonctions
texte_original = load_texte_a_reduire()
mots_interdits = load_stopwords()
verses = verses_list(texte_original)
mots = words_list(verses)
print(mots)
@@ -0,0 +1,98 @@
#!/usr/bin/env python
# coding: utf8
#pour installer nltk stopWords tout est là : http://www.nltk.org/data.html
#finalement je n'utilise pas nltk stopWords qui est lacunaire mais ma propre liste
import re
#from nltk.tokenize import sent_tokenize, word_tokenize
#from nltk.corpus import stopwords
#POEME_A_REDUIRE = "mirabeau.txt"
POEME_A_REDUIRE = "du_cote_de_chez_swann.txt"
def load_stopwords():
with open("stopwords-fr.txt", "r") as sw:
text_stopwords = sw.read()
text_stopwords = text_stopwords[:-1] # pour enlever le retour charriot à la fin
return text_stopwords.split("\n")
#print("stopwords_list : ", load_stopwords() )
def load_texte_a_reduire():
with open(POEME_A_REDUIRE, "r") as source:
texte_original = source.read()
texte_original = texte_original[2:]
return texte_original
#print("texte original :", texte_original)
def nettoyer(texte_original):
# enlever les traits d'union et les apostrophes et éloigner ponctuation
texte_net = texte_original.replace("'", " ")
texte_net = texte_net.replace("-", " ")
texte_net = texte_net.replace(".", " .")
texte_net = texte_net.replace(",", " ,")
texte_net = texte_net.replace(";", " ;")
texte_net = texte_net.replace('"', ' " ')
return texte_net
def verses_list(texte_net): # sépare les vers sur le retour charriot
return texte_net.split("\n")
def decoupage(verses, mots_interdits): #découpage et réduction
# verses est une liste de chaque phrase
# mots interdit est une liste de mots
l_verses = []
for verse in verses:
le_reste =[]
mots_du_vers = verse.split(" ") # liste des mots d'un vers
for mot in mots_du_vers:
if mot.lower() not in mots_interdits:
le_reste.append(mot)
l_verses.append(le_reste)
return l_verses
def capitalisation(reste):
for l_mot_restant in reste:
for i, mot in enumerate(l_mot_restant):
if mot:# si le mot existe
l_mot_restant[i] = mot.capitalize()
break #sort de la dernière boucle et donc ne capitalize
#que le premier mot non vide rencontré"""
return reste
def create_poeme_reduit(reste_capitalize):
texte = ''
for l_verse_reste in reste_capitalize:
verse_restant = ' '.join(l_verse_reste)
texte += verse_restant + '\n'
return texte
def ponctuer(texte_ponctue):
texte_ponctue = texte_ponctue.replace(" .", ".")
texte_ponctue = texte_ponctue.replace(" ,", ",")
texte_ponctue = texte_ponctue.replace(" ;", ";")
texte_ponctue = texte_ponctue.replace(' " ', '"')
return texte_ponctue
#Appel des fonctions
texte_original = load_texte_a_reduire()
mots_interdits = load_stopwords()
texte_net = nettoyer(texte_original)
verses = verses_list(texte_net)
#tous_les_mots = decoupage_en_mots(verses)
#liste_reduite = reduction(tous_les_mots)
#print("la liste des vers : ", verses)
#print("la liste de tous les mots séparés :", tous_les_mots)
#print("mots interdit : ", mots_interdits)
#print("liste des mots réduite :", liste_reduite)
reste = decoupage(verses, mots_interdits)
reste_capitalize = capitalisation(reste)
texte_final = create_poeme_reduit(reste_capitalize)
texte_def_def = ponctuer(texte_final)
#with open("mirabeau_reduit.txt", "w") as destination :
with open("du_cote_de_chez_swann_reduit.txt", "w") as destination :
destination.write(texte_def_def)
print ("texte definitif : ", texte_def_def)
@@ -0,0 +1,98 @@
#!/usr/bin/env python
# coding: utf8
#pour installer nltk stopWords tout est là : http://www.nltk.org/data.html
#finalement je n'utilise pas nltk stopWords qui est lacunaire mais ma propre liste
import re
#from nltk.tokenize import sent_tokenize, word_tokenize
#from nltk.corpus import stopwords
#POEME_A_REDUIRE = "mirabeau.txt"
POEME_A_REDUIRE = "du_cote_de_chez_swann.txt"
def load_stopwords():
with open("stopwords-fr.txt", "r") as sw:
text_stopwords = sw.read()
text_stopwords = text_stopwords[:-1] # pour enlever le retour charriot à la fin
return text_stopwords.split("\n")
#print("stopwords_list : ", load_stopwords() )
def load_texte_a_reduire():
with open(POEME_A_REDUIRE, "r") as source:
texte_original = source.read()
texte_original = texte_original[2:]
return texte_original
#print("texte original :", texte_original)
def nettoyer(texte_original):
# enlever les traits d'union et les apostrophes et éloigner ponctuation
texte_net = texte_original.replace("'", " ")
texte_net = texte_net.replace("-", " ")
#texte_net = texte_net.replace(".", " .")
#texte_net = texte_net.replace(",", " ,")
#texte_net = texte_net.replace(";", " ;")
#texte_net = texte_net.replace('"', ' " ')
return texte_net
def verses_list(texte_net): # sépare les vers sur le retour charriot
return texte_net.split("\n")
def decoupage(verses, mots_interdits): #découpage et réduction
# verses est une liste de chaque phrase
# mots interdit est une liste de mots
l_verses = []
for verse in verses:
le_reste =[]
mots_du_vers = verse.split(" ") # liste des mots d'un vers
for mot in mots_du_vers:
if mot.lower() not in mots_interdits:
le_reste.append(mot)
l_verses.append(le_reste)
return l_verses
def capitalisation(reste):
for l_mot_restant in reste:
for i, mot in enumerate(l_mot_restant):
if mot:# si le mot existe
l_mot_restant[i] = mot.capitalize()
break #sort de la dernière boucle et donc ne capitalize
#que le premier mot non vide rencontré"""
return reste
def create_poeme_reduit(reste_capitalize):
texte = ''
for l_verse_reste in reste_capitalize:
verse_restant = ' '.join(l_verse_reste)
texte += verse_restant + '\n'
return texte
# def ponctuer(texte_ponctue):
# texte_ponctue = texte_ponctue.replace(" .", ".")
# texte_ponctue = texte_ponctue.replace(" ,", ",")
# texte_ponctue = texte_ponctue.replace(" ;", ";")
# texte_ponctue = texte_ponctue.replace(' " ', '"')
# return texte_ponctue
#Appel des fonctions
texte_original = load_texte_a_reduire()
mots_interdits = load_stopwords()
texte_net = nettoyer(texte_original)
verses = verses_list(texte_net)
#tous_les_mots = decoupage_en_mots(verses)
#liste_reduite = reduction(tous_les_mots)
#print("la liste des vers : ", verses)
#print("la liste de tous les mots séparés :", tous_les_mots)
#print("mots interdit : ", mots_interdits)
#print("liste des mots réduite :", liste_reduite)
reste = decoupage(verses, mots_interdits)
reste_capitalize = capitalisation(reste)
texte_final = create_poeme_reduit(reste_capitalize)
#texte_def_def = ponctuer(texte_final)
#with open("mirabeau_reduit.txt", "w") as destination :
with open("du_cote_de_chez_swann_reduit.txt", "w") as destination :
destination.write(texte_final)
print ("texte definitif : ", texte_final)
@@ -0,0 +1,28 @@
#!/usr/bin/env python
# coding: utf8
import re
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
phrase = "Sous le pont Mirabeau coule la Seine Et nos amours Faut-il qu'il m'en souvienne..."
print("poeme original:", phrase)
phrase = str.lower(phrase)
phrase = phrase.replace("'", " ")
phrase = phrase.replace("-", " ")
print(phrase)
liste_phrase = phrase.split(" ")
print("liste des mots originaux séparés:", liste_phrase)
# liste vide pour recevoir la liste de mots reduits
liste_reduit = []
stopWords = set(stopwords.words('french'))
for w in liste_phrase:
if w not in stopWords:
liste_reduit.append(w)
print("liste des mots réduit", liste_reduit)
poeme_reduit = " ".join(liste_reduit)
print("version réduite du poeme", poeme_reduit)
@@ -0,0 +1,675 @@
a
abord
absolument
afin
ah
ai
aie
aient
aies
ailleurs
ainsi
ait
allaient
allons
allô
alors
antérieur
antérieure
antérieures
après
as
assez
attendu
au
aucun
aucune
aucuns
aujourd
auprès
auquel
aura
aurai
auraient
aurais
aurait
auras
aurez
auriez
aurions
aurons
auront
aussi
autre
autrefois
autrement
autres
autrui
aux
auxquelles
auxquels
avaient
avais
avait
avant
avec
avez
aviez
avions
avoir
avons
ayant
ayez
ayons
b
bah
bas
basée
bat
beau
beaucoup
bien
bigre
bon
boum
bravo
brrr
c
car
ce
ceci
cela
celle
celle-ci
celle-là
celles
celles-ci
celles-là
celui
celui-ci
celui-là
cela
cent
cependant
certain
certaine
certaines
certains
certes
ces
cet
cette
ceux
ceux-ci
ceux-là
chacun
chacune
chaque
cher
chers
chez
chiche
chut
chère
chères
ci
cinq
cinquantaine
cinquante
cinquantième
cinquième
clac
clic
combien
comme
comment
comparable
comparables
compris
concernant
contre
couic
crac
d
dans
de
debout
dedans
dehors
déjà
delà
depuis
dernier
dernière
derrière
derrière
des
désormais
desquelles
desquels
dessous
dessus
deux
deuxième
deuxièmement
devant
devers
devra
devrait
différent
différentes
différents
différente
dire
directe
directement
dit
dite
dits
divers
diverse
diverses
dix
dix-huit
dix-neuf
dix-sept
dixième
doit
doivent
donc
dont
dos
douze
douzième
dring
droite
du
duquel
durant
dès
début
désormais
e
effet
égale
également
égales
eh
elle
elle-même
elles
elles-mêmes
en
encore
enfin
entre
envers
environ
es
essai
est
et
étant
etc
être
eu
eue
eues
euh
eurent
eus
eusse
eussent
eusses
eussiez
eussions
eut
eux
eux-mêmes
exactement
excepté
extenso
extérieur
extérieure
extérieurs
extérieures
eûmes
eût
eûtes
f
fais
faisaient
faisant
fait
faites
façon
feront
fi
flac
floc
fois
font
force
furent
fus
fusse
fussent
fusses
fussiez
fussions
fut
fûmes
fût
fûtes
g
gens
h
ha
haut
hein
hem
hep
hi
ho
holà
hop
hormis
hors
hou
houp
hue
hui
huit
huitième
hum
hurrah
hélas
i
ici
il
ils
importe
j
je
jusqu
jusque
juste
k
l
la
laisser
laquelle
las
le
lequel
les
lesquelles
lesquels
leur
leurs
longtemps
lors
lorsque
lui
lui-même
lès
m
ma
maint
maintenant
mais
malgré
maximale
me
merci
mes
mien
mienne
miennes
miens
mille
mince
mine
minimale
moi
moi-même
moindres
moins
mon
mot
moyennant
multiple
multiples
même
mêmes
n
na
naturel
naturelle
naturelles
ne
néanmoins
nécessaire
nécessairement
neuf
neuvième
ni
nombreuses
nombreux
nommés
non
nos
notamment
notre
nous
nous-mêmes
nouveau
nouveaux
nul
néanmoins
nôtre
nôtres
o
oh
ohé
ollé
olé
on
ont
onze
onzième
ou
ouf
oust
ouste
outre
ouvert
ouverte
ouverts
o|
p
paf
pan
par
parce
parfois
parle
parlent
parler
parmi
parole
parsemé
partant
particulier
particulière
particulièrement
pas
passé
pendant
pense
permet
personne
personnes
peu
peut
peuvent
peux
pff
pfft
pfut
pif
pire
pièce
plein
plouf
plupart
plus
plusieurs
plutôt
possessif
possessifs
possible
possibles
pouah
pour
pourquoi
pourrais
pourrait
pouvait
préalable
précisément
premier
première
premièrement
prés
probable
probante
procédant
proche
près
psitt
pu
puis
puisque
pur
pure
q
qu
quand
quant
quant-à-soi
quanta
quarante
quatorze
quatre
quatre-vingt
quatrième
quatrièmement
que
quel
quelconque
quelle
quelles
quelqu'un
quelque
quelques
quels
qui
quiconque
quinze
quoi
quoique
r
rare
rarement
rares
relative
relativement
remarquable
rend
rendre
restant
reste
restent
restrictif
retour
revoici
revoilà
rien
s
sa
sacrebleu
sait
sans
sapristi
sauf
se
sein
seize
selon
semblable
semblaient
semble
semblent
sent
sept
septième
sera
serai
seraient
serais
serait
seras
serez
seriez
serions
serons
seront
ses
seul
seule
seulement
si
sien
sienne
siennes
siens
sinon
six
sixième
soi
soi-même
soient
sois
soit
soixante
sommes
son
sont
sous
souvent
soyez
soyons
spécifique
spécifiques
spéculatif
stop
strictement
subtiles
suffisant
suffisante
suffit
suis
suit
suivant
suivante
suivantes
suivants
suivre
sujet
superpose
sur
surtout
t
ta
tac
tandis
tant
tardive
te
tel
telle
tellement
telles
tels
tenant
tend
tenir
tente
tes
tic
tien
tienne
tiennes
tiens
toc
toi
toi-même
ton
touchant
toujours
tous
tout
toute
toutefois
toutes
treize
trente
très
trois
troisième
troisièmement
trop
très
tsoin
tsouin
tu
u
un
une
unes
uniformément
unique
uniques
uns
v
va
vais
valeur
vas
vers
via
vif
vifs
vingt
vivat
vive
vives
vlan
voici
voie
voient
voilà
vont
vos
votre
vous
vous-mêmes
vu
vôtre
vôtres
w
x
y
z
zut
à
ça
ès
étaient
étais
était
étant
état
étiez
étions
été
étés
êtes
être
ô