Bonjour,
Je suis étudiante en Sciences du Langage et nous devons faire un devoir en informatique avec Python.
Nous devons faire deux scripts, le premier servira à extraire nos deux fichiers textes, à les modifier avec certaines conditions pour en faire deux lexiques : un général et un spécialisé.
Nous avons un problème avec le premier script, je vous mets ci-dessous mes avancées sur ce script car je n'ai pas l'impression qu'il fonctionne.
Par la suite il faudra relier ce script à notre second script pour le faire jouer.
Voici tout d'abord les consigne que j'ai reçu pour mon premier script :
1. Lecture des fichiers de base
2. Extraction des corpus : qui sont nos deux lexiques
3.Lecture des fichiers de base
4.Normalisation ( utilisation des expression régulière pour remplacer tous les caractères spéciaux)
Voici nos codes :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#coding: utf-8
from tkinter import *
from tkinter.messagebox import *
import codecs, random
import re 
 
def extraire (): 
    with codecs.open("sport.txt", "r", "utf8") as f:
        text = f.readlines()
        mots_spe = []
        for w in text:
            mots_spe.append(w.strip())
        mots_spe = find_word (corpus_spe)
 
    with codecs.open("sortie.txt", "r", "utf8") as s:
        text = f.readlines()
        mots_gene = []
        for d in text:
            mots_gene.append(d.strip())
        mots_gene = find_word(corpus_gene)
    return mots_gene, mots_spe 
 
 
 
#Code pour nettoyer le corpus (éviter les doublons, neutraliser les accents, 9 lettres etc) 
def find_word (corpus_spe,corpus_gene) :
    corpus_spe = mots_spe.replace("'", "' ")
    words_spe = corpus_spe.split() #découpe le texte
    print(words)
    spe = []
    for w in words_spe: #pour chaque élément de words, donc chaque mot découpé du corpus
        if not "-" in w: #s'il n'y a pas de tiret dans l'élément 
            w = w.replace("_", "")
            w = w.replace(",","")
            w = w.replace(".","")
            w=re.sub("éèëê", "e",w)
            w=re.sub("àäâ", "a", w)
            w=re.sub("öô", "o", w)
            w=re.sub("üûù", "u", w)
            w=re.sub("îï", "i", w)
            w=re.sub("ç","c",w)
            if w.isalpha() and len(w) <= 9 and w.islower(): #si c'est un mot ET qu'il est < ou = à 9 ET qu'il est en minuscule
                spe.append(w.strip())#ajoute cet éléments sans les espaces à la liste mots
                final = set(spe) #supprime les doublons et transforme en ensemble
                print(final) #affiche l'ensemble final
                print("Le corpus contient au final", len(final), "mots différents (sans doublons)")
 
 
    corpus_gene = mots_gene.replace("'", "' ")
    words_gene = corpus_spe.split() #découpe le texte
    print(words_gene)
    gene= []
    for w in words_gene: #pour chaque élément de words, donc chaque mot découpé du corpus
        if not "-" in w: #s'il n'y a pas de tiret dans l'élément 
            w = w.replace("_", "")
            w = w.replace(",","")
            w = w.replace(".","")
            w=re.sub("éèëê", "e",w)
            w=re.sub("àäâ", "a", w)
            w=re.sub("öô", "o", w)
            w=re.sub("üûù", "u", w)
            w=re.sub("îï", "i", w)
            if w.isalpha() and len(w) <= 9 and w.islower(): #si c'est un mot ET qu'il est < ou = à 9 ET qu'il est en minuscule
                gene.append(w.strip())#ajoute cet éléments sans les espaces à la liste mots
                final = set(gene) #supprime les doublons et transforme en ensemble
                print(final) #affiche l'ensemble final
    return gene, spe
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#coding: utf-8
from tkinter import *
from tkinter.messagebox import *
import codecs, random
import re 
 
 
 
def make_lexique (fichier): # fonction qui permet d'extraire notre texte et de l'inclure dans python 
    with codecs.open(fichier, "r", "utf8") as inputF:
        corpus = inputF.readlines()
        mots_corpus = make_lexique(fichier) #cherche les mots dans notre corpus
        mots= []
        for d in corpus:
            mots.append(d.strip())
            print(mots)
            corpus = corpus.replace ("'", "'")
            words = corpus.split()
        for w in words: #pour chaque élément de words, donc chaque mot découpé du corpus
            if not "-" in w: #s'il n'y a pas de tiret dans l'élément 
                w = w.replace("_", "")
                w = w.replace(",","")
                w = w.replace(".","")
                w=re.sub("éèëê", "e",w)
                w=re.sub("àäâ", "a", w)
                w=re.sub("öô", "o", w)
                w=re.sub("üûù", "u", w)
                w=re.sub("îï", "i", w)
                w=re.sub("ç","c",w)
                if w.isalpha() and len(w) <= 9 and w.islower(): #si c'est un mot ET qu'il est < ou = à 9 ET qu'il est en minuscule
                    mots.append(w.strip())#ajoute cet éléments sans les espaces à la liste mots
                    final = set(mots) #supprime les doublons et transforme en ensemble
    return mots_corpus
 
 
lexsgen= make_lexique("sortie.txt")
lexspé= make_lexique("sport.txt")
Nom : consigne.png
Affichages : 149
Taille : 371,7 Ko
Pouvez vous si vous plais nous dire ce qui ne va dans notre code et comment on relie deux python ensemble ?
Merci d'avance pour votre aide