L'informatique pour les littéraires

Générateur de citation

Merci à Ramtin Alami qui nous offre ce très simple programme pour créer des citations à partir d’un texte. Ne ratez pas son superbe article (en anglais) pour tout comprendre de sa méthode:
How I generated inspirational quotes with less than 20 lines of python code

#http://www.ramtin.xyz/post/4

#Training Section

dataset_file  = open('C:/Users/blabla/Documents/datasetFile.txt')
model = {}
for line in dataset_file:    #dataset_file is a txt file with training quotes
    line = line.lower().split()
    for i, word in enumerate(line):
        if i == len(line)-1:
            model['END'] = model.get('END', []) + [word]
        else:
            if i == 0:
                model['START'] = model.get('START', []) + [word]
            model[word] = model.get(word, []) + [line[i+1]]


#Generator Section
import random

generated = []
while True:
    if not generated:
        words = model['START']
    elif generated[-1] in model['END']:
        break
    else:
        words = model[generated[-1]]
    generated.append(random.choice(words))
print(generated)

Le détail du programme est disponible sur son site http://www.ramtin.xyz/post/4. J’ai juste ajouté les éléments manquants comme la déclartion du « model ».

Pensez si à modifier les antislash de windows en slash normaux quand vous collerez le chemin vers le fichier « dataset_file ».