chargement...

Journal de bord
Semaine - 3

15/02

Xiaohua:

En classe, on m'a dit que je dois segmenter le contenu chinois avec jieba. Enfin j'ai suivi les conseils du professeur et j'ai remplacé le corpus dans la branche xiaohua par 10 fichiers texte chinois qui avaient déjà été segmentés. J'ai mis à jour la branche xiaohua et l'ai reétiqueter. Aussi les autres membres du groupe ont à nouveau pull et merge ces nouveaux fichiers chinois. Après avoir résolu ce problème, j'ai fait à nouveau le merge des autres deux fonctions.

Yingzi:

Les membres de notre groupe ont eu un désaccord lors de la fusion de nos scripts respectifs, nous sommes toujours en train de les modifier, j'ai constaté que lorsque je fusionne le script r3, mes scripts disparaissent complètement (les parties qui ne sont pas en conflit sont également manquantes), je ne sais pas quelle en est la raison, ce problème doit encore être résolu.

16/02

Xiaohua:

Chacun a fait sa fonction. Donc Ex2 de S1 (Extraction du lexique en python) enfin fini. Réussi à affichier le lexique sous forme de trois colonnes. mot | mot_freq | mot_occurence . Les autres ont aussi réussi à le afficher avec leur script, et le mien est fusionné vers la branche main, commit id:8b2c1ceb. Et un tag s1ex2fin est crée et est envoyé vers le remote origin.

17/02

Xiaohua:

Rename des tags selon le nouveau pdf.
Début des exercices S2, commençant par la création d'une nouvelle branche XC-s2. Avant le changement du groupe, j'avais trouvé qu'on a pas remarqué une défaute pendant la fusion des 3 fonctions (je remarquais que la longueur des deux dictionnaires de r2 et r3 est différente, ce qui m'empêche de continuer le TD2)

18/02

Xiaohua:

Basés sur les indications de TP1, j'ai vérifié encore une fois le type du résultat de chaque fonction, et avec le nouveau script de s1ex2r3, j'ai généré deux dictionnaires de longueur similaire et ai ainsi créé le lexique complet du corpus.
ex1r1 du TD2 fini (les resultats des autres membres restent à merge), tag XC-s3-e1 étiquitté.
Journal enregistré dans XC-p-s2, fusionné vers la branche page.

Yingzi:

Nous nous sommes référés au script donné par les profs et j'ai trouvé que la partie de ma r1 était fondamentalement la même idée que celle donnée par les profs et qu'aucun changement n'était nécessaire, j'ai fini par garder le script que j'avais écrit auparavant, version tag ex2r1. Ensuite, après que le membre de mon équipe ait modifié son script, j'ai fusionné le leur, puis j'ai apporté des modifications au script du prof après que les trois scripts aient été combinés.

19/02

Yingzi:

TP2 exo1-r3 terminée. Dans mon script, l'idée est de construire une liste de chaînes de caractères à partir du contenu de plusieurs fichiers, en lisant les noms des fichiers à partir de l'entrée standard. Pour cela, j'ai importé le module sys(evoqué en cours). Pour chaque nom de fichier, il ouvre le fichier et lit son contenu dans une chaîne de caractères. Ensuite, il ajoute cette chaîne à une liste appelée list_contenu. Finalement, la fonction construit_liste_de_chaines() renvoie la liste complète de chaînes de caractères, contenant le contenu de tous les fichiers lus. En fait, cela renvoie le même résultat que exo2-r1 dans TP1. A la fin de cet exercice, je lui ai ajouté la tag YL-s3-e1.

20/02

Yingzi:

TP2 exo1-r2 terminée. Pour réaliser cette partie, j'ai d'abord écrit un script bash pour enlever les retours à la ligne de tous les fichiers dans le répertoire “Corpus"(“Corpus” est copié à partir du corpus précédent créé par TP1).
Dans le script bash: cd Corpus: change le répertoire de travail actuel en "Corpus". for file in *: itère sur tous les fichiers dans le répertoire courant. tr -d '\n' < "$file" > "$file.tmp" : supprime tous les retours à la ligne de chaque fichier et les redirige vers un fichier temporaire $file.tmp. echo >> "$file.tmp": ajoute une nouvelle ligne à la fin du fichier temporaire. mv "$file.tmp" "$file": renomme le fichier temporaire en écrasant le fichier d'origine.
Ainsi, tous les fichiers dans le répertoire “Corpus" auront été modifiés pour avoir une seule ligne sans aucun retour à la ligne, mais avec une nouvelle ligne à la fin.

Xiaohua:

J'ai ensuite fait une modification du script python de TP1 similaire à celui de TP2 r3, l'idée est de lire les lignes de chaque fichier du "Corpus" depuis l'entrée standard (stdin) et de les stocker dans une liste de chaînes de caractères.

21/02

Yingzi :

Après avoir fusionné r1 dans ma branche YL-s2, j'ai rajouté du code pour comibner les trois options r1, r2 et r3. En gros, le programme final que j'ai écrit peut être appelé avec des arguments de ligne de commande spécifiant les chemins des fichiers, ou il peut être utilisé en mode interactif, où les noms de fichiers sont fournis sur l'entrée standard.
La première partie du code définie un analyseur d'arguments de ligne de commande utilisant le module argparse pour récupérer les chemins des fichiers( Cette partie était réalisée par Xiaohua).
J'ai combiné le cas r2 et r3 dans la deuxième partie du code. Cette partie définit une fonction pour construire une liste de chaînes de caractères à partir des fichiers texte. Cette fonction prend en compte deux cas différents :
Cas r1 : si l'argument chemin est spécifié à partir de la ligne de commande, les fichiers texte sont lus à partir des chemins spécifiés. Cas r2 et r3 : si aucun argument chemin n'est spécifié, les noms de fichiers sont lus à partir de l'entrée standard. Dans ce cas, la fonction vérifie si chaque nom de fichier se termine par l'extension ".txt". Si oui, elle lit le contenu du fichier correspondant. Sinon, elle considère que le nom de fichier est lui-même une chaîne de caractères à inclure dans la liste.
La partie suivante est ce que nous avons fait dans TP1.
Enfin, la dernière fonction construit le lexique final en imprimant les résultats dans un format de tableau lisible. Elle utilise les dictionnaires construits précédemment pour calculer la fréquence et la fréquence de document pour chaque mot, et les imprime dans un format tabulaire.
Le problème que j'ai rencontré: dans l'exo r1 le argument "chemin" est obligatoire et j'essaie de le rendre optionnel, mais finalement quand je lance le programme dans le terminal je dois ajouter un script bash pour traiter le fichier: python extraire_lexique.py --chemin Corpus/*.txt ce n'est pas la même command suggerée dans les consignes pour TP2 r1: python extraire_lexique.py --chemin Corpus/*.txt Je ne sais pas comment résoudre ce problème.