Test.java
4.46 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import LIA_topic_seg.*;
import java.io.*;
import java.util.*;
/**
* 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.
*
*/
class Test
{
public static void main(String args[])
{
try
{
//création d'une configuration avec les paramètres par défaut
DefaultConfig c = new DefaultConfig();
// lorsque on veut utiliser un fichier de configuration connu à l'avance
//c.load("config3.xml");
//on peut récupérer également les paramètres en ligne de commande
//en cas de conflit avec le fichier de configuration, c'est la ligne de commande qui est prioritaire
//c.setParamsFromCmdLine(args); // on peut ajouter des paramètres en ligne de commande également (nom du fichier, nombre de frontières à calculer, ...)
//c.save("config.xml");
/* pour passer un fichier de configuration en paramètre
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"));
//DefaultInputData input = new DefaultInputData(c, "0.xml");
DefaultInputData input = new DefaultInputData(c, args[0]);
//--------------------------------------------------------------------------
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("\nDictionnaire des lemmes");
System.out.println("=======================");
System.out.println(input.lemmaDict.toString());
System.out.println("\nChaines lexicales");
System.out.println("=================");
System.out.println(chains.toString(false, false));
*/
//--------------------------------------------------------------------------
DefaultGapsScores scores = new DefaultGapsScores(chains, input.sentenceCount());
// choix du calcul des valeurs affectées aux intervalles
// fonction automatiquement lancée à l'initialisation : scores.compute_cos(); //similarités cosine
System.out.println(scores.to_string());
//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
System.out.println(scores.to_string());
//scores.compute_depth_scores(); //calcul des scores de profondeur de similarité, peut s'utiliser avec ou sans lissage
//System.out.println(scores.to_string());
//--------------------------------------------------------------------------
DefaultBoundaries bound = new DefaultBoundaries(scores, 9);
// DefaultBoundaries bound = new DefaultBoundaries(scores, c.getParam("n");
// choix du système de calcul des frontières, en fonction du calcul choisi précédemment
// il faut en choisir 1 parmi les 3
//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
//--------------------------------------------------------------------------
//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>
}
catch (Exception e)
{
e.printStackTrace();
}
}
}