Files
ola5doc/output/sources/redux_5.py
T

91 lines
2.6 KiB
Python

#!/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)