IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Devoir : génération de deux lexiques (général et spécialisé) à partir de fichiers textes


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1
    Par défaut Devoir : génération de deux lexiques (général et spécialisé) à partir de fichiers textes
    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 : 150
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

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 754
    Par défaut
    Salut,

    Citation Envoyé par Roxane33 Voir le message
    Pouvez vous si vous plais nous dire ce qui ne va dans notre code et comment on relie deux python ensemble ?
    Ce qui ne va pas mérite d'être illustré par des messages d'erreurs ou des résultats inattendus.

    Pour la deuxième question, si dans le script A.py vous avez définit une fonction f, pour l'utiliser dans le script B.py (dans le même répertoire), vous avez import. B.py doit ressembler à:
    ou a
    La première solution étant préférable à la 2nde.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [XL-2007] Génération de deux tableaux a l'aide d'un tableau initial
    Par zferes dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/04/2013, 23h49
  2. Réponses: 9
    Dernier message: 12/07/2011, 17h25
  3. Réponses: 3
    Dernier message: 10/06/2009, 21h29
  4. Réponses: 2
    Dernier message: 10/07/2008, 11h26
  5. création de deux "menu général"
    Par panro dans le forum Modélisation
    Réponses: 21
    Dernier message: 03/10/2007, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo