INFORMATION GENERALE
Logiciel: LGExtract
Auteurs: Matthieu Constant et Elsa Tolone
Organisation: Université Paris-Est, LIGM
License: LGPL
Version: 3.4
Date: 2011/10/05
URL: http://infolingu.univ-mlv.fr/

REFERENCES
Constant, Matthieu & Tolone, Elsa (2010). A generic tool to generate a lexicon 
for NLP from Lexicon-Grammar tables. Lingue d'Europa e del Mediterraneo, 
Grammatica comparata, vol. 1, pp. 79--93. Edité par Michele De Gioia. Aracne.

Tolone, Elsa (2011). Analyse syntaxique à l'aide des tables du Lexique-Grammaire 
du français. Thèse de doctorat, LIGM, Université Paris-Est. 340 pp.


DESCRIPTION
LGExtract est un logiciel libre consacré à convertir les tables du 
Lexique-Grammaire en lexique syntaxique LGLex structuré en XML. 
Il est implémenté en Java.


USAGE
Usage: java fr.umlv.lgextract.LGExtract --script <script> --tableDirPath 
<tableDirPath> --headerColumn <headerColumn> --headerRow <headerRow> [--debug] 
[--tdtValues <tdtValues>] [--values <values>] [--output <output>] <tdt>
  --script <script>
        Chemin du script (le script doit être encodé en UTF-8)

  --tableDirPath <tableDirPath>
        Chemin du répertoire contenant les tables

  --headerColumn <headerColumn>
        Numéro de colonne où commencent les en-têtes de propriétés dans la 
        table des classes (la première colonne est 0)

  --headerRow <headerRow>
        Numéro de ligne où commencent les en-têtes de tables dans la tables 
        des classes (la première ligne est 0)

  [--debug]
        indique que le programme est lancé en mode debug (si n'est pas présent, 
        il est lancé en mode normal)

  [--tdtValues <tdtValues>]
        Chemin du fichier contenant les interprétations des valeurs dans la 
        table des classes. Par défaut : interprétation de la valeur du 
        Lexique-Grammaire standard

  [--values <values>]
        Chemin du fichier contenant les interprétations des valeurs dans les 
        tables du Lexique-Grammaire. Par défaut : interprétation de la valeur 
        du Lexique-Grammaire standard

  [--output <output>]
        Types de sorties : texte (txt) ou XML (xml). Valeur par défaut : txt

  [--tableFormat <tableFormat>]
        Format des tables : Excel (xls) ou CSV (csv).  Valeur par défaut : csv
  <tdt>
        Liste des tables des classes utilisées

BIBLIOTHEQUES EXTERNES
- Tatoo (http://tatoo.univ-mlv.fr/): utilisé pour parcourir le script de 
configuration [tatoo-runtime.jar]
- Velocity-dep (http://mvnrepository.com/artifact/velocity/velocity-dep): 
utilisé par Tatoo [velocity-dep-1.4.jar]
- JDom  (http://www.jdom.org/): utilisé pour généré la sortie XML [jdom.jar]
- JExcelApi (http://jexcelapi.sourceforge.net/): utilisé pour parcourir les 
fichiers Excel [jxl.jar]
- JSAP (http://martiansoftware.com/jsap/): utilisé pour parcourir la ligne de 
commande des arguments [JSAP-2.1.jar]

Les fichiers d'archive jar de ces bibliotèques sont inclus dans le répertoire 
'jar'. Ils doivent être ajouté à la variable CLASSPATH pour utiliser LGExtract.
Exemple:
export CLASSPATH=$CLASSPATH:classes:jar/tatoo-runtime.jar:jar/velocity-dep-1.4.jar:jar/jxl.jar:jar/JSAP-2.1.jar:jar/jdom.jar


CONTENU DU REPERTOIRE:

* Scripts prédéfinis
8 scripts prédéfinis sont donné dans le répertoire LGExtract, ils permettent 
de lancer le programme LGExtract sur une catégorie donnée (verbes, noms 
prédicatifs, expressions figées ou adverbes) et de créer le lexique LGLex 
au format texte ou XML. Attention : l'utilisation de ces scripts requiert 
la création de la variable d'environnement TABLESPATH indiquant le chemin 
du répertoire principal contenant toutes les données (tables) et le logiciel.
Exemples :
./launch affiche l'aide
./launch_verbes > $TABLESPATH/lglex/verbes-lglex.txt
./launch_noms-predicatifs > $TABLESPATH/lglex/noms-predicatifs-lglex.txt
./launch_figees > $TABLESPATH/lglex/figees-lglex.txt
./launch_adverbes > $TABLESPATH/lglex/adverbes-lglex.txt
./launch_verbes_xml > $TABLESPATH/lglex/verbes-lglex.xml
./launch_noms-predicatifs_xml > $TABLESPATH/lglex/noms-predicatifs-lglex.xml
./launch_figees_xml > $TABLESPATH/lglex/figees-lglex.xml
./launch_adverbes_xml > $TABLESPATH/lglex/adverbes-lglex.xml

Bugs connus :
Parfois, le programme essaye de lire une ligne vide (à la suite des lignes 
pleines). Il suffit de supprimer un certain nombre de lignes vides juste 
après les lignes pleines pour que le programme fonctionne. Quand le problème 
arrive, l'erreur générée contient le numéro de la ligne où il y a une ligne 
problématique. Attention, la numérotation des lignes commence à 0, donc il 
y a un décalage de 1 avec la numérotation des lignes sous Excel.


* Fichiers de configuration
4 fichiers de configuration (avec l'extension .lg), un par catégorie 
(lgc_verbes.lg, lgc_noms-predicatif.lg, lgc_figees.lg et lgc_adverbes.lg).
Les fichiers de configuration sont encodé en UTF-8.

* Fichiers de spécification des valeurs dans les tables
2 fichiers spécifiant la signification des différentes valeurs dans les tables 
(tables-values.txt, tablesOfClasses-values.txt)
Leur format est : symbole s suivi d'un espace, suivi de la signification 'true' 
ou 'false'.

* Misc
1 excécutable makeTableOfClasses permettant de construire la table des classes 
au format Excel
Usage: java LGExtractTableOfTables <dirpath of tables> <output xls file>
Exemple : ./makeTableOfTables ../verbes tdt-verbes.xls

1 script perl list2code.pl permettant de générer automatiquement du code .lg 
à partir d'un fichier .txt contenant des constructions (1 par ligne)
