Plan de développement du logiciel Exit

 

À faire - par ordre décroissant d'importance

  1. Rendre non modifiable les expressions dès que l'on quitte le panneau "Expressions"
  2. Liste de choix dans la table des expressions
  3. Ajouter un élément au menu contextuel des listes de termes pour sélectionner toutes les lignes acceptés, rejetées ou indéfinies ou une expression quelconque. Positionne automatiquement sur la première occurrence trouvée.
  4. Vérifier que deux noms de relations, de formule ou de type ne sont pas identiques, utiliser la propriété inputVerifier interdire les "[" et "]" dans les types de termes
  5. Vérifier la syntaxe des expressions régulières dans le panneau des règles
  6. Compléter le calcul de tf*idf pour b, c, d, p1 et p2 ; utiliser les fréquences et non plus le nombre d'occurrences ? Comment calculer d sans relire le fichier d'entrée ?
  7. Permettre de donner n'importe quelle étiquette aux expressions groupées ? Notamment dans le cas d'une expression régulière sélectionnant l'étiquette.
  8. ne pas dégrouper un terme qui est déjà dégroupé dans le cas où l'utilisateur a accepté un terme rejeté ou indéfini puis l'a rejeté ou indéfini dans la même itération.
  9. Enregistrement et lecture des fichiers .iter sous forme compressée avec java.util.zip
  10. gestion des formules à partir de l'interface -> écrire dynamiquement une classe contenant les formules comme méthodes statiques et la compiler. Appeler ensuite les méthodes de la classe lors du calcul.
  11. règles contextuelles de correction des résultats classe ContextualRule avec méthode apply(...) les règles sont appliquées automatiquement lors de l'extraction et sélectionnent les termes acceptés et rejetés
  12. rajouter les lignes contenant des termes de type mot1mot2 aux termes déjà formés et aussi aux termes extraits
  13. tenir compte des étiquettes ajoutées par l'utilisateur pour les autres termes déjà formés sans étiquettes dans editTagsAlreadyFormedTerms
  14. permettre la modification du statut d'un terme accepté après groupement en recherchant les éventuels groupements ultérieurs l'utilisant et en dégroupant tous les termes dépendant de ce terme. Mais attention ! Les étiquettes des unités le formant devront être demandée à l'utilisateur
  15. élagage progressif, voir article [Roche, RSTI-RIA17 ECG2003] ? -> testé uniquement avec l'information mutuelle
  16. Éditeur d'expressions régulières

Dysfonctionnements - par ordre décroissant d'importance

  1. Une fois les termes sélectionnés avec le paramètre CIP, on ne peut pas leur donner une classe sans déselectionner un terme avec controle+clic
  2. Parfois quand on rajoute une expression de type ne met pas en couleur les occurrences dans la liste d'extraction pour le type rajouté
  3. Impossible parfois d'écrire dans les zones de texte après avoir utilisé "Tester l'expression régulière" plusieurs fois.
  4. Il existe parfois une erreur lors de la sélection d'un nouveau fichier à traiter l'itération 0 n'est pas sélectionnée automatiquement dans la liste déroulante ou alors des boites de dialogue d'erreur s'affichent disant que les fichiers n'existent pas pour des itérations successives. L'erreur n'est pas facilement visible dans le code, il semble qu'il s'agisse d'un problème de synchronisation lors de l'écriture des fichiers .info et .hist
  5. displayContext n'affiche pas en rouge certains termes groupés ex : biological/JJ functions/NNS (1, 1) -> biological/JJ functions-of-genes/NNS
  6. L'extraction est lente : une trentaine de seconde pour un texte de 10 Mo quelques soient les paramètres -> se rappeler des résultats précédants pour une même relation extraite et modifier les résultats des termes ayant été groupés

Historique 2005

18/07/2005 1h
  Correction des epressions régulières comprises entre \E et \Q en echappant
    les caractères '\', mais maintenant les termes contenant \E
    réapparaissent dans les extractions suivantes et l'affichage du
    contexte, la recherche de mot ne fonctionne pas pour ces termes.
09/07/2005 2h30
  Ne pas activer le panneau Prétraitements dans le Mode Expert si ce
    n'est pas l'itération 0
  Tester avec un autre séparateur que '/'
07/07/2005 2h
  mise à jour de l'aide, passage à la version 1.0
15/05/2005 2h
  options système séparées des options d'extraction ; utilisation de la
    classe java.util.Preferences
14/05/2005 3h
  Options d'affichage
12/05/2005 2h
  Options d'affichage
10/05/2005 2h
  Mettre le format, plutôt que dans chaque objet Occurrence, dans une
    variable globale qui détermine ainsi l'affichage du format des
    mesures pour toute l'interface
  Option d'affichage pour l'expert avec toutes les options disponibles
09/05/2005 1h
  Gestion de l'affichage des étiquettes et mesures dans les listes
08/05/2005 1h
  Gestion de l'affichage des étiquettes et mesures dans les listes
05/05/2005 0h30
  Menu affichage pour les étiquettes, les mesures et les options pour
    l'expert
29/01/2005 3h
  Case à cocher pour permettre de trier d'abord par nombre d'occurrences
  Normaliser les mesures affichées dans les résultats entre 0 et 1
  Renommer la mesure "Rien" par "Ordre alphabétique"
30/01/2005 2h
  Rajout dans les options de l'option "Occurrence d'abord", les options
    ancien format sont importées automatiquement et l'enregistrement se fait
    au nouveau format
31/01/2005 1h
  Correction de la normalisation dans le cas "Occurrence d'abord"

Historique 2004

02/01/2004 1h30 Thomas
   amélioration de l'aide
30/03/2004 3h Thomas
   tests : les règles ne marchent pas quand elles s'appliquent sur la
      deuxième  unités ? Dysfonctionnement non reproduit.
31/03/2004 3h30 Thomas
   réflexion sur la meilleure façon d'implementer les nouvelles
      fonctionnalités demandées
   rajouter une étiquette sur le panneau prétraitement pour la liste des
      termes déjà formés
   désactiver le bouton de commande "Ajout 2 unites" dans le panneau règles
      quand unité 3 est choisie
01/04/2004 7h30 Thomas
   correction d'une erreur de taille sur le tableau extractionProgress
   suppression de la zone de l'interface non implémentée de remplacement des
      chaines de caractères
03/04/2004 5h30 Thomas
   déplacer la zone d'entrée du "Séparateur" du panneau "Extraction" vers
      le panneau "Expressions"
04/04/2004 4h Thomas
   changement du schéma d'enregistrement des fichiers
05/04/2004 4h Thomas
   changement du schéma d'enregistrement des fichiers
07/04/2004 5h Thomas
   Enregistrer chaque extraction dans un fichier .iter différent dans le
   dossier nommé d'après le corpus en cours de traitement, enlever la
   demande de chargement de la sauvegarde automatique, enregistrer
   l'historique des extraction dans un fichier .hist, on ne peut plus
   sauvegarder les options car cela est fait à chaque extraction, il y
   maintenant 2 listes déroulantes pour les options, une pour le répertoire
   et une pour le fichier, dès que l'extraction a commencé le fichier
   d'options n'est plus modifiable, les fichiers .iter, .options, .memtbl et
   .hist sont enregistrés ensemble dans le répertoire portant le nom du
   corpus analysé, ces fichiers portent un nombre comme base du nom, le
   nombre maximum utilisé est écrit dans le fichier .info du répertoire.
08/04/2004 5h 2h Thomas
   afficher la dernière relation extraite dans la liste déroulante des
      itérations.
   suppression de la gestion de l'ordre des itérations
   n'extrait maintenant qu'une seule relation à la fois
   suppression de l'élément du menu de chargement d'un fichier d'options
   synchronisation de l'aide contextuelle avec le fichier d'aide
10/04/2004 3h Thomas
   tests
   vérifier que tous les termes sont bien extraits, même ceux nouvellement
      formés, notamment vérifier que les formules en log ne donne pas NaN
   mise à jour de l'aide
12/04/2004 2h30 Thomas
   lancement automatique de la sélection de fichier lors de la première
      utilisation du programme
14/04/2004 3h
   divers tests et corrections
   ajout de raccourcis clavier pour certains éléments du menu
17/06/2004 2h30
   ajouter une liste (concept, langage...) de type de termes acceptés pour
   pouvoir les différencier dans le panneau "Expressions"; de même pour
   les termes rejetés, rajouter un attribut dans l'objet Occurrence pour
   cela, ajouter une liste déroulante dans le panneau des termes acceptés
   et rejetés
19/06/2004 3h30
   ajouter deux listes dans le panneau des règles locales pour choisir
     le type de terme accepté ou rejeté
23/06/2004 4h30
   menu de sélection des types de termes dans le panneau extraction
26/04/2004 3h30
   sélection de "Tout" dans l'une des listes déroulantes de sélection des
      termes lorsque l'autre liste est modifiée
06/07/2004 2h30
   ajout d'un menu contextuel pour changer le type des termes acceptés,
      rejetés ou indéfinis et suppression des boutons de commande qui
      avaient ce rôle.
07/07/2004 4h
   modification des règles locales pour tenir compte des types de termes.
   rajout du numéro de l'itération aux noms des fichiers de sauvegarde des
      listes de termes.
09/07/2004 1h30
   diverses petites corrections et améliorations
   rajout des répertoires dans les sélecteurs de fichiers avec filtres
12/07/2004 3h30
   prise en compte des type de termes dans le chargement des listes en
      prétraitement
   permettre l'utilisation de "$g" avec g un chiffre entre 0 et 9 dans le
      corpus car c'est une expression de contrôle dans les expressions
      régulières
   changer l'intervalle pour le sélecteur du nombre de résultats de
      l'extraction
14/07/2004 1h30
   mise à jour de l'aide
18/07/2004 3h
   rajouter l'aide contextuelle pour les éléments du menu
   mise à jour de l'aide
25/07/2004 4h
   le panneau expression est maintenant accessible durant l'extraction
      mais on ne peut que rajouter des expressions
28/07/2004 3h30
   modification des règles pour qu'elles contiennent le type de terme et
      si le terme est accepté ou rejeté
   sauvegarder aussi le corpus itéré dans le répertoire racine lors de la
      sauvegarde des résultats
29/07/2004 3h
   permettre de dégrouper un terme accepté pour le rejeté ou l'indéfinir
      à condition seulement qu'il n'ait pas été inclus dans un autre terme
   échapper le caractère d'échappement '\' lors du regroupement pour qu'il
      puisse apparaitre dans les termes extraits
04/08/2004 2h
   Tests
05/08/2004 1h30
   vérifier le numéro de l'étiquette à garder dans la table des expressions
     régulières de termes
18/09/2004 1h30 Thomas
   Rendre possible de recommencer même si aucune extraction n'a eu
      lieu.
   Ne plus charger le nom du fichier de résultats à partir du fichier des
      options.
   Rajouter l'historique des relations extraites à la fin des résultats de
      l'extration
19/09/2004 2h Thomas
   indicateur de progression de l'extraction
20/09/2004 1h Thomas
   sauvegarder aussi les fichiers de règles avec les autres fichiers pour
      chaque itération.
21/09/2004 2h Thomas
   difficile de sauvegarder les règles au format XML car les objets
      LocalRule ne sont pas des objet Beans
   préparation de l'archive pour l'utilisateur final et utilisation d'un
      fichier jar pour les classes java
22/09/2004 5h Thomas
   mise à jour et amélioration de l'aide
   écriture d'un guide de premier démarrage, affichage lors du premier
      démarrage du logiciel

Historique 2003

27/06/2003 2h+1h+1h Thomas, Mathieu, Yves
   discussions sur le travail à effectuer pour ce stage
   documentation sur les classes Java utiles pour le traitement du langage
      java.util.regex, java.text, java.io.StreamTokenizer
   réflexions sur l'interface du logiciel
29/06/2003 3h Thomas
   recherche d'analyseurs de langages naturels en Java
   la classe BreakIterator est préférée a java.io.StreamTokenizer pour le
      langage naturel
   http://java.sun.com/docs/books/tutorial/i18n/text/boundaryintro.html
   http://java.sun.com/docs/books/tutorial/extra/regex/index.html
01/07/2003 2h+2h Thomas
   recherche d'analyseurs de coocurrences en Java
   lecture de la documentation des programmes récupérés
02/07/2003 2h+2h Thomas
   analyse des algorithmes pour la recherche de collocations
   première version du programme en Java
03/07/2003 2h+4h30+1h30 Thomas
   première version du programme en Java sans interface
04/07/2003 2h+3h Thomas, Mathieu
   discussion sur le programme
   rajout du saut des séparateurs d'expression et de phrase : .,;:!?()...
   correction du tri et de la clé de tri
05/07/2003 2h+5h Thomas
   correction du calcul de la vraissemblance
   optimisation (14 s contre 18 s précédemment pour un texte de 10 Mo pour
      le calcul de l'im et vraissemblance de tous les couples de termes)
   ajout des relations ternaires pour les calculs
      maintenant le test précédant prend 18 s
07/07/2003 3h Thomas
   sauvegarde du contexte
   le test précédant prend maintenant java.lang.OutOfMemoryError :-) avec
     256 Mo de mémoire vive
     j'ai plusieurs idées pour dimninuer la complexité tps/esp mais
     la sauvegarde du contexte est vraiment un gros problème
08/07/2003 3h+3h Thomas
   analyse du programme de gestion des textes étiquetés d'Ahmed
   optimisation de ExtractCollocations
09/07/2003 10h Thomas
   rajout d'un constructeur pour ExtractCollocations et d'une méthode
      extract()
   rajout d'une interface en ligne de commande ExtractCollocationsCL
   rajout d'un interface graphique ExtractCollocationsGUI
10/07/2003 3h+5h Thomas
   création de l'interface graphique
11/07/2003 3h+4h Thomas, Mathieu, Yves
   discussion sur le logiciel
   Écriture du manuel du logiciel
   Amélioration de l'interface
12/07/2003 10h Thomas
   rajout de commentaires dans le code source
   test du fichier du format du fichier d'options lors du chargement et de
     la sauvegarde
   rédaction du manuel du logiciel 8 Ko
   table pour la gestion des expressions régulières
   table pour la gestion des formules
   colonne de nommage pour les expressions régulières et formules
   colonne de pondération pour les formules
   version internationale de l'interface
13/07/2003 2h+7h Thomas
   version française de l'interface
   affichage du fichier d'aide HTML dans l'interface
   mise à jour de la sauvegarde/chargement des options
   optimiser lors du calcul suivant la valeur de a et de pruning
   modifier le calcul de la vraissemblance
   pour les collocations sauvegarder les noms des textes où les occurrences
      sont présentes et sauvegarder la ligne pour le contexte
   test de la validité des paramètres avant analyse
14/07/2003 5h Thomas
   augmentation des textes d'aide pour l'utilisateur
   affichage du nombre de fichier où l'occurrence apparait
15/07/2003 4h Thomas
   rédaction du manuel du logiciel 12 Ko
   ajout de la liste des étiquettes comme aide
   synchroniser le volet Extraction lors de la modification d'une expression
      ou formule
16/07/2003 8h Thomas
   gestion des itérations successives en écrivant des fichiers
      intermédiaires .xx.iter ou xE{0...9}
   public void group(...)
17/07/2003 4h+3h30 Thomas, Mathieu, Yves
   discussion sur l'extraction de terme, l'itération, les règles et
      le paramètre "termes précédents"
   changements terminologiques : collocation -> terme,
      bi/trilocation -> terme de 2/3 unités
      formule, fonction -> mesure (de pertinence)
      mot -> unité
18/07/2003 3h+6h Thomas
   méthodes getXxx pour la classe ExtractCollocations
   gestion de la sélection des termes dans la table des résultats
   créer une classe Occurrence comme objet pour les tables occFor2Words,
      occFor3Words et le tableau des résultats
19/07/2003 8h Thomas
   3 couleurs pour les termes : vert = retenus, jaune = possibles,
      rouge = exclus. Les termes non colorés sont indécis.
   sélection avec un menu contextuel
   nombre maximal de résultats à rajouter comme paramètre
   utilisation d'un deuxième fichier de réécriture du texte d'entrée pour
      les termes possibles où ceux-ci seront reliés par un '_'
20/07/2003 8h Thomas
   currentAcceptedTerms et currentRejectedTerms
   suppression des termes possibles remplacé par le dégroupement de termes
      déjà formés, ce qui permet de corriger un mauvais choix aux itérations
      précédantes
   vérification de l'extraction des termes, correction des expr regulières
   affichage des termes acceptés et rejetés dans un nouveau panneau
   affichage du contexte pour un terme dans une autre fenêtre
21/07/2003 5h30 Thomas
   tests et corrections de l'extraction itérative
22/07/2003 5h Thomas
   meilleure gestion des tables
   modification d'un terme rejeté vers indéfini ou accepté
23/07/2003 7h30 Thomas
   modification d'un terme accepté vers indéfini ou rejeté
   sauvegarde des termes acceptés et rejetés dans un fichier
   correction de l'affichage du contexte
24/07/2003 5h30 Thomas
   résolu : les cellules des tables du panneau des termes sont éditables et
      l'on perd l'objet contenu lors de l'édition.
   menu d'aide contextuelle
   des/activation de l'aide sous le curseur
25/07/2003 3h30 Thomas
   rédaction de l'aide 17 Ko
   divers tests et corrections
26/07/2003 5h Thomas
   amélioration de l'aide contextuelle
   affichage des lignes contenant une chaine de caractère donnée
27/07/2003 4h Thomas
   sauvegarde des termes indéfinis et ne pas les extraire de nouveau
   résolu :  quand on n'a accepté aucun terme à la dernière itération
      et qu'il n'y a plus de termes à classer on ne peut pas terminer
      l'itération en groupant
28/07/2003 5h Thomas
   internationaliser les titres de colonne
   listes d'acceptation et de rejet de termes
   menu chargement/sauvegarde des options
29/07/2003 6h Thomas
   test des expressions régulières
   résolu : les cellules sont éditables lors du chargement du fichier
      .memtbl
   gestion des termes indéfinis
30/07/2003 2h Thomas, Mathieu
   discussion sur les règles, le paramètre "termes précédents"
31/07/2003 4h Thomas
   amélioration des messages d'aide
   résolu : lorsque le seuil d'élagage est à 1 il manque des termes
01/08/2003 5h Thomas
   études des règles à implanter
   ajout de commentaires dans le code source
02/08/2003 3h Thomas
   ajout de commentaires dans le code source
   résolu : l'aide contextuelle ne marche pas pour les sélecteurs de valeur
07/08/2003 2h Thomas
   classe LocalRule sans la classe apply
09/07/2003 2h30 Thomas
   méthode apply de la classe LocalRule
10/07/2003 1h30 Thomas
   méthode apply de la classe LocalRule
11/07/2003 2h30 Thomas
   application des règles locales lors de l'extraction
12/07/2003 5h Thomas
   interface de gestion des règles locales : ajout et suppression d'une
      règle
13/05/2003 4h Thomas
   interface de gestion des règles locales : NOT, OR, AND
14/08/2003 4h30 Thomas
   interface de gestion des règles locales finie : Decomposer
   résolu : difficile de tester les exp reg du 2eme tableau
15/08/2003 3h Thomas
   résolu : afficher les termes en rouge dans leur contexte même lorsque les
      unités ont été groupées
   sauvegarde et chargement des règles locales dans le fichier .memtbl
16/08/2003 2h Thomas
   menu "Sauver tous les résultats"
   résolu : problèmes de focus dans la gestion des erreurs de
      newExtractTerms()
17/08/2003 2h Thomas
   test de la validité des expressions régulières dans newExtractTerms()
19/08/2003 2h Thomas
   phase préliminaire de recherche des termes déjà groupés et ajout à la
      liste des termes acceptés ainsi que le groupement de leurs unités
      si elles existent aussi séparées par un espace
21/08/2003 2h Thomas
   recherche des termes déjà groupés
22/08/2003 1h30 Thomas
   recherche des termes déjà groupés
   suppression du groupe de parenthèses dans l'expression régulière d'unité
24/08/2003 3h Thomas
   ajout d'aide
   ajout du séparateur mot/étiquette comme paramètre dans l'interface et le
      constructeur d'ExtractTerms mais pas comme champ d'une Occurrence
   sauver dans le fichier .options le séparateur, les listes d'acceptation
      et de rejet et l'affichage de l'aide sous le curseur
25/08/2003 3h30 Thomas
   recherche des termes déjà groupés : ajout des étiquettes
26/08/2003 2h Thomas
   ajout décomposer une règle finale pour les règles locales
27/08/2003 3h30 Thomas
   ajout des actions monter, descendre pour les règles locales
28/08/2003 2h Thomas
   ajout d'aide et amélioration de l'interface
29/08/2003 2h Thomas
   résolu : la modification des expressions régulières de sélecteurs de
      couple et triplet d'unités empêche de modifier un terme accepté ou
      rejeté lors d'une itérations précédentes.
30/08/2003 4h Thomas
   modification de ExtractTerms.group(...) pour ne plus nécessiter des
      expressions régulières avec groupes
   résolu : displayContext ne marche pas si les unités contiennent des
            tirets '-'
31/08/2003 7h30 Thomas
   ajout des lignes pour les termes déjà groupés dans
      searchAlreadyFormedTermsjButton
   résolu : des doublons apparaissent dans la liste des termes déjà groupés
01/09/2003 2h Thomas
   tests
   amélioration de l'aide
07/09/2003 2h Thomas
   ajout de la valeur tf*idf à la place du nombre d'occurrences
      version simplifiée
08/09/2003 2h30 Thomas
   résolu : la limitation du nombre maximum de résultats ne fonctionne plus
      :-( à cause du comparateur. Comparateur corrigé :-).
   normalement résolu : problème avec le comparateur d'Occurrence lors
      de la suppression de résultats des 2 unités
   amélioration de l'aide
09/09/2003 2h Thomas
   lecture de l'article [Roche, RSTI-RIA17 ECG2003] qui est le fondement
      théorique de ce logiciel
   reflexions sur les prochains développements du logiciel
16/09/2003 3h Thomas
   ne pas demander les étiquettes de chaque terme après la recherche des
      termes déjà formés ; l'utilisateur doit pouvoir sélectionner les
      termes qu'il veut étiqueter et enlever les autres.
   vérification du nom du fichier d'entrée lors de la sauvegarde
18/09/2003 1h30 Thomas
   premier essai d'implémentation du paramètre "termes précédants"
19/09/2003 2h Thomas, Mathieu, Yves
   présentation du logiciel et discussion
20/09/2003 2h Thomas
   résolu : les termes de 3 unités ne sont pas lu dans les fichiers
      d'acceptation ou de rejet
   tests
22/09/2003 1h30 Thomas
   tests et réflexions sur la conception
27/09/2003 3h Thomas
   la méthode ExtractTerms.replace(...) devient statique
   l'objet Occurrence contient le numéro du type de relation dans la liste
      déroulante, ex : ADV-Verbe -> 2ème élément de la liste -> 2-1 = 1
   l'objet Occurrence contient le numéro de l'itération mis à jour à chaque
      groupement et non extraction
   les listes de termes ne comportent maintenant plus qu'une seule liste qui
      pourra être triée si nécessaire par itération, relation...
28/09/2003 3h Thomas
   recherches sur l'interface et mise à jour de l'interface
29/09/2003 4h Thomas
   menu langage avec choix multiple dont l'élément "Automatique"
   le groupement est effectué automatiquement après la sélection de termes
      acceptés et juste avant une nouvelle extraction
   pour recommencer à partir de zéro une extraction des termes il faut
      utiliser le bouton de commande "Recommencer"
   les listes de termes peuvent être triées par relation ou itération
30/09/2003 4h Thomas
   extractTerms ne doit pas prendre l'itération mais extract(...)
   une fois l'extraction de termes pour une relation donnée commencée,
      on ne peut plus changer de relation jusqu'à ce que tous les termes de
      cette relation aient été extraits
   une fois la première extraction effectuée on ne peut plus modifier les
      expressions et formules de l'extraction
   fonction pour le paramètre "termes précédents" pour augmenter la
      pertinence des termes extraits en fonction des termes précédemment
      acceptés et rejetés
      occurrence * seuil -> accepté, rejeté ou indéfini
      Occurrence * int -> int
   le paramètre tenant compte des termes précédemment sélectionnés par
      l'expert est utilisable dans les listes des termes extraits et
      indéfinis
01/10/2003 7h30 Thomas
   mise à jour de l'aide
   plusieurs termes des listes de termes peuvent être sélectionnés
   ajout des lignes pour les termes acceptés dans addTermFileToMemoryTables
      addLinesToOccurrence(...)
   mise à jour de la sauvegarde des termes
   tests
02/10/2003 1h Thomas, Mathieu
   demonstration du programmes et tests
03/10/2003 5h Thomas
   removeRange remplace remove dans removeAlreadyFormedTerms, ce qui permet
      une meilleure efficacité
   tests et correction de petits dysfonctionnements
   sauvegarde automatique des termes et des options à chaque groupement
      et interrogation de l'utilisateur au chargement d'un fichier d'options
      pour la restauration de la sauvegarde
04/10/2003 3h30 Thomas
   annulation pour la boite de dialogue "Edite les étiquettes"
   "Aide sur les étiquettes" près de "Edite les étiquettes"
   chargement automatique des options lors de la sélection d'un élément de
      la liste déroulante des fichiers d'options
   résolu : le fond de l'étiquette "ligne d'état" n'est pas bien réaffiché
   dans les options ne jamais sauvegarder un fichier .iter mais .corpus
      (maintenant si 04/2004)
05/10/2003 5h Thomas
   relecture et correction du texte de l'interface
   sauvegarde des règles en même temps que les options
   displayContext affiche toujours les lignes des Occurrences même si le
      terme n'est pas trouvé
   meilleure gestion de la mise à jour des tableaux de termes
07/10/2003 1h Thomas
   résolu : problème avec les fichiers n'appartenant au répertoire courant
      dans la fonction updateFilesList ; rajouter acceptList, rejectList
   modifier les fileChooser acceptList, rejectList
08/10/2003 3h Thomas
   optionsComboBoxActionPerformed doit être déclenché uniquement par
      l'utilisateur
   résolu : les itérations sont mal sauvegardées dans les fichiers ASCII
   résolu : il manque l'itération finale dans les listes déroulantes des
      itérations
   tests
09/10/2003 3h Thomas
   relecture de l'aide
   amélioration de l'ergonomie du programme
10/10/2003 1h30 Thomas
   tests
11/10/2003 2h Thomas
   tests
   modification de tf*idf en tf*df
13/10/2003 2h Thomas
   test et affichage de la fin de l'extraction
14/10/2003 1h30 Thomas
   test et affichage de la fin de l'extraction
15/10/2003 3h Thomas
   l'extraction se fait sur les couple ou triplet d'unités que s'ils n'ont
   pas tous été extraits d'où une meilleure efficacité de l'extraction
   tests
17/10/2003 2h Thomas
   analyse des premiers résultats de test
   amélioration des messages durant l'extraction
21/10/2003 0h30 Thomas, Yves, Mathieu
   discussion sur le logiciel
23/10/2003 2h Thomas
   résolu : problème lors du chargement d'options avec un langue différente
   diverses petites améliorations d'ergonomie
28/10/2003 1h30 Thomas
   les listes d'acceptation et de rejet ne peuvent être les mêmes
   affichage de l'itération dans les listes de termes classées par relation
01/11/2003 2h Thomas
   affichage de l'itération dans les listes de termes
02/11/2003 2h Thomas
   permettre l'utilisation de 100 relations  pour la sélection des couples
      et triplets d'unités dans le panneau expressions
   résolu : la mise à jour à partir du panneau expressions vers le panneau
      extraction ne s'effectue pas immédiatement
   correction de défauts mineurs
03/11/2003 1h Thomas
   test des expressions régulières pour un groupe d'unités
   ajout d'un bouton de commande pour l'affichage de l'historique dans la
      boite de dialogue "À propos"
23/12/2003 0h30 Thomas
   réponses à diverses questions, servira pour l'aide

Dilemmes

  1. Les unités sont stockées sous forme d'une chaine de caractère avec leur étiquette dans les objets Occurrence. Serait-il utile de stocker les étiquettes à part pour pouvoir plus facilement les récupérer ? De même le séparateur n'est pas stocké. Par contre les comparaisons se font sur l'unité complète avec étiquette. Mais si on veut lemmatiser le texte avant analyse il faudrait pouvoir comparer les occurrences sur leur mots seuls et non leurs étiquettes, c'est-à-dire que pour un même relation extraite, les occurrences serait uniquement comparée sur leur mots mais il faudra alors conserver une liste des étiquettes possibles pour chaque mot et aussi un historique des étiquettes avec la position des occurrences dans le texte des mots regroupés pour pouvoir les dégrouper. Pour chercher une Occurrence il faut chercher aux lignes contenues dans celle-ci et pour chaque ligne chercher les mots qui lui correspondent et enfin vérifier que les étiquettes coincident avec les deux ou trois listes d'étiquettes. Pour grouper une Occurrence cela est identique à la recherche avec en plus lors du groupement le choix d'une des listes d'étiquettes à garder comme étiquette du groupe. Pour dégrouper une Occurrence cela est identique à la recherche avec en plus lors du dégroupement la vérification que la nouvelle étiquette du groupement appartient à la liste des étiquettes gardées comme étiquettes du groupe, mais il y a un problème pour retrouver l'étiquette du mot dont l'étiquette n'a pas été conservée !!! Une solution serait de comparé la ligne avec la même du fichier initial, c'est-à-dire à l'itération 0 pour retrouver quelle étaient les étiquettes. Ceci règlerait aussi le problème de l'historique qui n'est plus alors nécessaire lorsque l'on dégroupe une Occurrence qui est le résultat de plusieurs groupements successifs. Mais tout cela est fait de le but de pouvoir comparer les Occurrences uniquement sur leur mot et non leur étiquettes afin de pouvoire lemmatiser les mots du texte à analyser mais pas leur étiquettes ce qui permet à l'utilisateur de savoir quelle est la fonction du mot avant lemmatisation. Finalement, peut être serait il plus simple et suffisant d'écrire un programme de lemmatisation des mots et étiquettes du texte à analyser et un autre de délemmatisation qui comparerait mot à mot le texte traité avec Exit, dont certain mots/etiquettes auront été groupés avec un tiret, avec le texte d'origine non lemmatisé et récupèrerait ainsi les mots et étiquettes non lemmatisée. Ceci fonctionne aussi pour les expression groupées puisqu'on connait la version lemmatisée de chaque étiquette.
  2. L'historique des groupements de l'Occurrence n'est pas sauvegardée dans l'objet Occurrence. Cela pose un problème lorsque qu'on le veut décomposer puisqu'on ne connait plus les étiquettes de chaque unité.
  3. Utiliser un accès aux fichiers en lecture aléatoire plutôt que séquentielle pour plus d'efficacité et donc stocker le numéro d'octet plutôt que la ligne. N'améliorera pas la vitesse d'extraction :-( mais seulement le groupement et l'affichage du contexte -> problème : la position des mots varie à chaque groupement
  4. Simplifier les expressions régulières pour les sélecteurs d'unités en ne demandant que la partie concernant l'étiquette puisqu'on connait déjà le séparateur ? Mais restreint les possibilités du logiciel. Par exemple si on veut retenir des unités comportant un mot commençant par certaines lettres. Mieux vaut simplifier l'écriture de ces expressions plutôt que de limiter leur richesse.

Structure du logiciel

optionsComboBoxActionPerformed()
   loadOptions()
      chargement de .options
      chargement de .rules
      chargement de .memtbl

extractButtonActionPerformed()
   et = newExtractTerms()
   updateMemoryTermsTables()
   lecture/écriture de .info
   lecture/écriture de .hist
   et.replace()
   updateFilesList()
   saveOptions()
      sauvegarde de .options
      sauvegarde de .rules
      sauvegarde de .memtbl
   updateTermsTables()
   et.extract()

Last modified: Thu Jul 7 15:24:39 UTC 2005