Bonjour,

je cherche à créer une fonction qui me renvoie à partir d'un fichier texte, une liste des mots significatifs.
Voilà le code que j'ai créé jusqu'à présent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def signif(adresse_texte):
    mon_fichier = open("adresse_texte", "r",encoding='utf-8')
    contenu = mon_fichier.read()
    liste=contenu.split(" ")
    mots=[]
    for i in range(0,len(liste)):#on supprime les mots de moins de 3 lettres
        if len(liste[i])>=3:
            mots.append(liste[i])
    for i in range(0,len(mots)):
        for k in range(0,len(mots[i])):#on passe les majuscules en minuscules
                       if ord(mots[i][k])>=65 and ord(mots[i][k])<=90:
                           mots[i]=mots[i][0:k]+chr(ord(mots[i][k])+32)+mots[i][k+1:]
    for i in range(0,len(mots)):#on enlève les caractères autres que des lettres
        for k in range(0,len(mots[i])):
                       if ord(mots[i][k])>122 or ord(mots[i][k])<97:
                           mots[i]=mots[i][0:k]+" "+mots[i][k+1:]
    for i in range(0,len(mots)):#on enlève les mots peu significatifs
        if mots[i]=="est" or mots[i]=="ils" or mots[i]=="eux" or mots[i]=="une" or mots[i]=="les" or mots[i]=="des" or mots[i]=="non" or mots[i]=="que" or mots[i]=="qui":
            mots.remove(mots[i])
    return(mots)
J'ai cependant encore des problèmes sur les indices (surement du au fait qu'on supprime des caractères au fur et à mesure) car il ne semble pas fonctionner avec tous mes fichiers.
De plus je ne sais pas comment traiter les apostrophes, comme pour "c'est" qui revient assez souvent.
Si vous avez des idées d'amélioration, ça me serait d'une grande aide.

Merci d'avance