Test2.java 4.41 KB
import LIA_topic_seg.DefaultBoundaries;
import LIA_topic_seg.DefaultConfig;
import LIA_topic_seg.DefaultGapsScores;
import LIA_topic_seg.DefaultInputData;
import LIA_topic_seg.DefaultLexicalChainList;

public class Test2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try
	  	{
	  		//crŽation d'une configuration avec les paramtres 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 paramtres 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 paramtres en ligne de commande Žgalement (nom du fichier, nombre de frontires ˆ calculer, ...)
	  		
	  		//c.save("config.xml");
	  		
	  		/* 	pour passer un fichier de configuration en paramtre
	  		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());
	      
	      //--------------------------------------------------------------------------
	      DefaultInputData input = new DefaultInputData(c, c.getParam("file"));
	      //DefaultInputData input = new DefaultInputData(c, "0.xml");
	      
	      //--------------------------------------------------------------------------
	      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, 3);
	      DefaultBoundaries bound = new DefaultBoundaries(scores, new Integer(c.getParam("n")).intValue());
	      
	          // choix du systme de calcul des frontires, en fonction du calcul choisi prŽcŽdemment
	          // il faut en choisir 1 parmi les 3
	      //bound.compute_min_similarities(); //ˆ utiliser aprs compute_cos et/ou compute_smoothing
	     // bound.compute_loc_min(2); //ˆ utiliser aprs compute_cos et/ou compute_smoothing
	       bound.compute_max_depth(); //ˆ utiliser aprs compute_depth_scores
	      
	      
	      //--------------------------------------------------------------------------
	      //impression du rŽsultat ˆ l'Žcran
	      //System.out.println(bound.to_string()); //numŽros de phrases aprs lesquelles il y a une frontire thŽmatique
	      //System.out.println(input.result_lines(bound)); // sortie pour les application d'Žvaluation
	      System.out.println(input.result_complete(bound)); //sortie au mme format que l'entrŽe, avec les mmes 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();
	    }
	  }

}