26 lines
931 B
Python
Executable File
26 lines
931 B
Python
Executable File
from collections import defaultdict
|
|
from random import choice, randrange
|
|
|
|
suivants = defaultdict(list)
|
|
for path in (
|
|
"fra_wikipedia_2021_10K-sentences.txt",
|
|
):
|
|
with open(path, "r", encoding="utf-8") as fichier:
|
|
for phrase in fichier:
|
|
antepenultieme, penultieme = "", ""
|
|
for word in phrase.split():
|
|
suivants[(antepenultieme, penultieme)].append(word)
|
|
antepenultieme, penultieme = penultieme, word
|
|
|
|
def parle(nb_phrases=1):
|
|
phrases = []
|
|
for _ in range(nb_phrases):
|
|
antepenultieme, penultieme = "", ""
|
|
phrase = []
|
|
while mots_possibles := suivants[(antepenultieme, penultieme)]:
|
|
mot_suivants = choice(mots_possibles)
|
|
phrase.append(mot_suivants)
|
|
antepenultieme, penultieme = penultieme, mot_suivants
|
|
phrases.append(" ".join(phrase))
|
|
return "\n".join(phrases)
|