Blame view

tools/SIGMUND/LIA_topic_seg/src/Test.java 4.46 KB
e6be5137b   Jean-François Rey   reinitialized pro...
1
2
3
4
5
6
  
  import LIA_topic_seg.*;
  import java.io.*;
  import java.util.*;
  
  /**
a564ec1e5   Jean-François Rey   bugfix
7
8
   * Cet exemple recense la plupart des possibilités pour une utilisation minimale de l'application
   * l'exécution directe applique les paramètres par défaut.
e6be5137b   Jean-François Rey   reinitialized pro...
9
10
11
12
13
14
15
16
   *
   */
  class Test
  {
    public static void main(String args[])
    {
    	try
    	{
a564ec1e5   Jean-François Rey   bugfix
17
    		//création d'une configuration avec les paramètres par défaut
e6be5137b   Jean-François Rey   reinitialized pro...
18
19
    		DefaultConfig c = new DefaultConfig();
    		
a564ec1e5   Jean-François Rey   bugfix
20
    		//  	lorsque on veut utiliser un fichier de configuration connu à l'avance
e6be5137b   Jean-François Rey   reinitialized pro...
21
22
    		//c.load("config3.xml");
    		
a564ec1e5   Jean-François Rey   bugfix
23
    		//on peut récupérer également les paramètres en ligne de commande
e6be5137b   Jean-François Rey   reinitialized pro...
24
    		//en cas de conflit avec le fichier de configuration, c'est la ligne de commande qui est prioritaire
a564ec1e5   Jean-François Rey   bugfix
25
           //c.setParamsFromCmdLine(args); // on peut ajouter des paramètres en ligne de commande également (nom du fichier, nombre de frontières à calculer, ...)
e6be5137b   Jean-François Rey   reinitialized pro...
26
27
28
    		
    		//c.save("config.xml");
    		
a564ec1e5   Jean-François Rey   bugfix
29
    		/* 	pour passer un fichier de configuration en paramètre
e6be5137b   Jean-François Rey   reinitialized pro...
30
31
32
33
34
35
36
37
38
39
40
41
    		DefaultConfig cc = new DefaultConfig(); 
    		cc.setParamsFromCmdLine(args);
    		DefaultConfig c = new DefaultConfig();  		
    		if (cc.getParam("config") != null)
    			c.load(cc.getParam("config"));
    		c.setParamsFromCmdLine(args);
    		c.save("config3.xml");
    		*/
        System.out.println(c.toString());
        
        //--------------------------------------------------------------------------
        //InputData input = new InputData(c, c.getParam("file"));
a564ec1e5   Jean-François Rey   bugfix
42
43
        //DefaultInputData input = new DefaultInputData(c, "0.xml");
        DefaultInputData input = new DefaultInputData(c, args[0]);
e6be5137b   Jean-François Rey   reinitialized pro...
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
        
        //--------------------------------------------------------------------------
        DefaultLexicalChainList chains = new DefaultLexicalChainList(input);
  
    /* impression de la trace du calcul des liens lexicaux   
        System.out.println("Liste des phrases");
        System.out.println("=================");
        System.out.println(input.toString());
  
        System.out.println("
  Dictionnaire des lemmes");
        System.out.println("=======================");
        System.out.println(input.lemmaDict.toString());
  
        System.out.println("
  Chaines lexicales");
        System.out.println("=================");
        System.out.println(chains.toString(false, false));
  */      
        //--------------------------------------------------------------------------
        
        DefaultGapsScores scores = new DefaultGapsScores(chains, input.sentenceCount());
        
a564ec1e5   Jean-François Rey   bugfix
67
68
        // choix du calcul des valeurs affectées aux intervalles
       // fonction automatiquement lancée à l'initialisation : scores.compute_cos(); //similarités cosine
e6be5137b   Jean-François Rey   reinitialized pro...
69
70
        System.out.println(scores.to_string());
        
a564ec1e5   Jean-François Rey   bugfix
71
72
        //les autres fonctions de calcul des scores sont facultatives, et peuvent être lancées successivement.
        scores.compute_smoothing(1); //lissage du calcul des similarités
e6be5137b   Jean-François Rey   reinitialized pro...
73
        System.out.println(scores.to_string());     
a564ec1e5   Jean-François Rey   bugfix
74
         //scores.compute_depth_scores(); //calcul des scores de profondeur de similarité, peut s'utiliser avec ou sans lissage
e6be5137b   Jean-François Rey   reinitialized pro...
75
76
77
78
79
80
81
        //System.out.println(scores.to_string());
       
        
        //--------------------------------------------------------------------------
            DefaultBoundaries bound = new DefaultBoundaries(scores, 9);
       // DefaultBoundaries bound = new DefaultBoundaries(scores, c.getParam("n");
        
a564ec1e5   Jean-François Rey   bugfix
82
            // choix du système de calcul des frontières, en fonction du calcul choisi précédemment
e6be5137b   Jean-François Rey   reinitialized pro...
83
            // il faut en choisir 1 parmi les 3
a564ec1e5   Jean-François Rey   bugfix
84
85
86
        //bound.compute_min_similarities(); //à utiliser après compute_cos et/ou compute_smoothing
        bound.compute_loc_min(2); //à utiliser après compute_cos et/ou compute_smoothing
        // bound.compute_max_depth(); //à utiliser après compute_depth_scores
e6be5137b   Jean-François Rey   reinitialized pro...
87
88
89
        
        
        //--------------------------------------------------------------------------
a564ec1e5   Jean-François Rey   bugfix
90
91
92
93
94
        //impression du résultat à l'écran
        System.out.println(bound.to_string()); //numéros de phrases après lesquelles il y a une frontière thématique
        System.out.println(input.result_lines(bound)); // sortie pour les application d'évaluation
       // System.out.println(input.result_complete(bound)); //sortie au même format que l'entrée, avec les mêmes informations
       // System.out.println(input.result_text_only(bound)); //sortie au format xml, avec uniquement le texte délimité par des balises <seg>
e6be5137b   Jean-François Rey   reinitialized pro...
95
96
97
98
99
100
101
102
103
        
        
      }
      catch (Exception e)
      {
        e.printStackTrace();
      }
    }
  }