SEGMENTATION AUTOMATIQUE (janvier 2004) Gaetan Peaquin - gaetan.peaquin@free.fr Cyril Labbe - cyril.labbe@imag.fr Dominique Labbe - dominique.labbe@iep.upmf-grenoble.fr D'après : Pierre HUBERT, Jean-Pierre CARBONNEL et Ali CHAOUCHE, "Segmentation des séries hydrométéorologiques", Journal of hydrology, 110, 1989,349-367. Et Pierre HUBERT, Cyril LABBE et Dominique LABBE, "Segmentation automatique des corpus", in Annie MORIN et Pascale SEBILLOT (eds), VIe Journées d'Analyse des Données Textuelles, Rennes, IRISA-INRIA, 2002, vol 1, 359-369. Segmenter est un programme de segmentation d'une série ordonnée décrite par ses valeurs réelles (format C standard) dans un ficher texte brut a raison d'une valeur par ligne, éventuellement précédée d'une "étiquette" entière (séparateur : espace ou tabulation). Ce document explique la formulation des requêtes et le lancement du programme dans le cadre de son utilisation sans ligne de commande. Les adeptes de celle-ci pourront consulter le manuel segmenter.man (man ./segmenter.man) pour en savoir plus cet autre mode de fonctionnement. FORMULATION DE REQUETES, LANCEMENT DU PROGRAMME ET EXECUTION L'exécution du programme sans ligne de commande requiert la présence d'un fichier de requêtes intitule "ProgSegmen.txt" et devant se trouver dans le même répertoire que l'exécutable. La composition de ce fichier doit être la suivante. Le fichier de requêtes est composé de sept lignes : - Ligne 1 : La première ligne est le nom (ou chemin d'accès) du fichier de données; à savoir le fichier décrivant les éléments de la série que l'on veut soumettre au programme. Par exemple, 'c:/chemin/d/accès/nom_du_fichier' ou 'nom_du_fichier' sont des valeurs correctes (dans ce cas : "ProgSegmen.txt" doit impérativement se trouver dans le même répertoire que le programme et le fichier de données). - Ligne 2 : La deuxième ligne regroupe l'ensemble des informations relatives au test de Scheffe et comporte 1 a 3 valeurs selon le cas. La première peut prendre les valeurs '0', '1' ou '2' désignant respectivement la désactivation du test de Scheffe, le test a seuil statique ou a seuil dynamique. Dans le premier cas, aucune autre valeur n'est attendue. Dans le second, l'utilisateur doit préciser le numéro de version '1' ou '2' (respectivement version globale ou locale) du test de Scheffe puis la valeur du seuil a utiliser soit un réel compris entre 0 et 1 (des valeurs classiques sont .01 ou .002 par exemple). Enfin, dans le cas du test de Scheffe dynamique, seul le numéro de la version ('1' ou '2') est attendu, le seuil variant automatiquement. Des exemples de ligne correcte sont '0', '1 1 .01' '1 2 .01', '2 1' ou encore '2 2'. - Ligne 3 : Il s'agit de l'ordre maximal de segmentation autorise. On attend un entier strictement positif. Naturellement, pour présenter un intérêt, cette valeur sera strictement supérieure a 1. - Ligne 4 : La quatrième ligne informe le programme sur la taille minimale des segments. L'utilisateur a le choix entre deux possibilités : donner cette taille en nombre éléments ou en pourcentage de la taille de la série complète. Dans le premier cas, il spécifiera la lettre 't' suivie du nombre éléments (un entier strictement positif) ; dans le second, il utilisera la lettre 'p' suivie du pourcentage (un réel compris dans l'intervalle ]0;100[). - Ligne 5 : Il s'agit d'une valeur booléenne ('0' ou '1') précisant l'absence ou la présence d'étiquettes dans le fichier décrivant la série Dans le premier cas, le programme utilise automatiquement les entiers de 1 à n en guise d'étiquettes. - Ligne 6 : Une valeur booléenne ('0' ou '1') précisant la désactivation ou l'activation du mode verbeux. Ce mode permet d'afficher des informations sur la sortie standard au cours du déroulement du programme. - Ligne 7 : Elle définit le nom (ou chemin accès) du fichier de sortie du programme. S'il existe déjà, ce fichier est détruit et remplace de manière silencieuse. Exemple de fichier de requêtes valide : ../tests/series_aleatoires/120/serie1.txt 1 2 .002 10 t 5 1 1 Output.txt Une fois que vous avez composé le fichier, vérifiez bien qu'il est dans le même répertoire que exécutable Pour le lancement du programme, cliquez sur celui-ci. Le programme lira automatiquement le contenu du fichier ProgSegmen.txt. En cas, d'erreurs de syntaxe ou autres, un message de type ERROR (que nous avons voulu aussi explicite que possible) vous aide a déterminer d'ou vient le problème et a le résoudre. Bien entendu, dans ce cas exécution s'arrête. En revanche, l'affichage de message WARNING vous averti de certaines libertés que pourrait prendre le programme par rapport aux paramètres fournis tout en continuant exécution Lorsque la phase d'initialisation est réussie, l'utilisateur n'a plus besoin d'intervenir au cours de exécution Une exécution "normale" prendra de quelques secondes a quelques minutes selon les caractéristiques de la série fournie. Le programme crée un fichier texte brut exploitable facilement avec les logiciels de type tableur de n'importe quelle suite bureautique. Il recapitaliser les caractéristiques de exécution puis décrit les segmentations produites. En cas de difficultés, n'hésitez pas à prendre contact avec nous.