Difference between revisions of "Apertium-dixtools (français)"

From Apertium
Jump to navigation Jump to search
(réorganisation des paragraphes)
(Introduction)
Line 1: Line 1:
Apertium-dixtools est une commande shell qui permet de lancer l'exécution de différents outils développés en java. Ces outils permettent de faire des traitements automatiques sur un fichier dictionnaire (ou quelquefois plusieurs).

La syntaxe d'appel est :

apertium-dixtools tâche options paramètres (notamment des noms de fichier dictionnaire comme paramètre)

Parmi les ''tâches'' disponibles, on trouve :

* [[Formatage de dictionnaires]] pour mettre en forme les définitions/traductions des mots, un mot par ligne.
* [[Tri d'un dictionnaire]] les mots sont plus faciles à trouver s'ils sont dans l'ordre alphabétique.
* [[Examen d'un dictionnaire]] pour extraire des listes de lemmes, paradigmes, définitions etc... d'un dictionnaire.
* [[Retournement d'un dictionnaire bilingue]] pas nécessaire pour pouvoir traduire dans les deux sens, mais peut être utile pour la tâche qui suit.
* [[Crossdics : Génération d'une paire de langue à partir de 2 autres]] plus précisément un dictionnaire bilingue entre les langues A et C est fabriqué à partir des dictionnaires pour les paires de langues A-B et B-C.
* [[Couverture du dictionnaire]] pour faire des statistiques sur l'utilisation des différents mots d'un dictionnaire.
* [[Autoconcord|Autoconcord (français)]] pour faire concorder les dictionnaires bilingues avec les dictionnaire unilingues lorsque des problèmes d'analyse se posent pour passer d'une langue à l'autre.
* [[Paradigmes équivalents]] pour trouver les paradigmes inutilisés et les doublons dans un dictionnaire.
* [[Fusion de dictionnaires]] permet de regroupper des liste de mots issus de plusieurs dictionnaires (morphologiques) uniligue.



== Installation de Apertium-dixtools ==
== Installation de Apertium-dixtools ==



Revision as of 19:40, 24 June 2012

Apertium-dixtools est une commande shell qui permet de lancer l'exécution de différents outils développés en java. Ces outils permettent de faire des traitements automatiques sur un fichier dictionnaire (ou quelquefois plusieurs).

La syntaxe d'appel est :

apertium-dixtools tâche options paramètres (notamment des noms de fichier dictionnaire comme paramètre)

Parmi les tâches disponibles, on trouve :


Installation de Apertium-dixtools

Pré-requis logiciels

Vous aurez besoin d'installer Ant et Java Development Kit 6 (JDK6)

$ sudo apt-get install ant sun-java6-jdk

Téléchargement

$ svn co https://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-dixtools

Compilation

$ cd apertium-dixtools
$ ant jar

Vous pouvez aussi construire et installer en utilisant Maven 2 (http://maven.apache.org), en tapant :

mvn install

Note :

  • Si vous faites une mise à jour depuis SVN, c'est toujours une bonne idée de faire d'abord 'ant clean'.
  • 'ant jar' s'attend aussi à faire de l'auto-test. Cela peut échouer, si quelqu'un fait des modifications sans s'assurer que les tests fonctionnent. Continuez juste l'installation et reportez les échecs de test sur la liste.

Problèmes

Si vous obtenez une erreur "The J2SE Platform is not correctly set up." avec la propriété "platforms.default_platform.home" is not found, alors essayez

$ ant -Dplatforms.default_platform.home=/usr jar

ou si son f.ex. annonce une erreur avec la propriété "platforms.JDK_1.6.home" is not found, et que vous voulez pointer version Java spécifique, alors essayez

$ ant -Dplatforms.JDK_1.6.home=/usr/lib/jvm/java-6-sun jar

(Sur Mac : si vous voulez indiquer le chemin complet "/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/" (ou n'importe quel autre), commencez par faire un lien symbolique du répertoire .../1.6.0/Commands vers .../1.6.0/bin, puisque ant s'attend à ce que javac soit dans le sous répertoire bin de platforms...home)

Test

Le test est assez bavard. Les sorties ressemblent à :

-do-test-run:
    [junit] Testsuite: dictools.CrossDictTest
    [junit] [1] Loading bilingual AB (regression_test_data/crossdict/input/apertium-es-ca.es-ca.dix)
    [junit] Reading file regression_test_data/crossdict/input/apertium-es-ca.es-ca.dix

... 200 lignes de texte

    [junit] ------------- ---------------- ---------------
    [junit] Testsuite: misc.eoen.SubstractBidixTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.073 sec
    [junit] 
    [junit] ------------- Standard Error -----------------
    [junit] checkEarlierAndRestrict
    [junit] ------------- ---------------- ---------------
    [junit] checkEarlierAndRestrict

Si le test échoue

Si vous obtenez quelque-chose comme

    [junit] ------------- ---------------- ---------------

test-report:

-post-test-run:

BUILD FAILED
/home/j/esperanto/apertium/apertium-dixtools/nbproject/build-impl.xml:595: Some tests failed; see details above.

... alors le programme a été construit correctement, mais il ne passe pas les tests. Il peut toujours être installé et fonctionnera probablement bien.

La raison la plus probable (sauf si quelqu'un a changé le programme d'une manière qui casse les tests), est que vous n'utilisez pas Unicode. Essayez en écrivant

export LANG=fr_FR.UTF-8

(ou n'importe quel autre langage Unicode installé - l'auteur de la page anglaise utilise eo.UTF-8 au lieu de en_US.UTF-8) et relancez les tests. Si ça ne vous aide pas, parlez en à la mailing list.

Installation

$ sudo ant install

Utilisation de Apertium-dixtools

Usage: apertium-dixtools [tache] [options génériques] [paramètres tache] ...

 Taches :
   cross:              croise 2 paires de langues (en utilisant les ressources linguistiques, et les fichiers XML - voir Modèle croisé)
   cross-param:        croise 2 paires de langues (en utilisant les paramètres de ligne de commande) Crossdics
   merge-morph:        fusionne deux dictionnaires morphologiques (monodix) Fusion de dictionnaires
   equiv-paradigms:    trouves les paradigmes équivalents et met à jour les références
   list:               liste les entrées d'un dictionnaire - voir Examen d'un dictionnaire
   dix2trie:           crée un essai à partir d'un dictionnaire bilingue existant
   dix2tiny:           crée des données pour les plate-formes mobiles (j2me, palm) à partir des dictionnaires bilingues
   reverse-bil:        retourne un dictionnaire bilingue - voir Retournement d'un dictionnaire bilingue
   sort:               trie (et groupe par catégorie) un dictionnaire - voir Tri d'un dictionnaire
   format:             Formatage de dictionnaires (par rapport à des options génériques)
   fix:                "fixe" un dictionnaire (supprime les doublons, convertit les espaces)

Pour l'aide sur une tache, appelez la sans paramètre.


Options génériques : (principalement pour les taches qui envoient en sortie des fichiers .dix)

    -debug              affiche les informations supplémentaires de debug
    -noProcComments     ne pas rajouter le traitement des commentaires (disant ce qui est fait)
    -stripEmptyLines    supprime les lignes vides (venant du fichier original)
    -alignBidix         aligne un dictionnaire bilingue (<p> ou <i> à la colonne 10, <r> à la colonne 55)
    -alignMonodix       aligne un dictionnaire unilingue (pardef 10, 30, autres entrées 25, 45)
    -align [[E] P R]    alignement customisé (défaut <p>/<i> à la colonne 10, <r> à la colonne 55)
    -alignpardef [[E] P R] alignement de paradigme (s'il diffère de d'alignement général)

  Chaque option -align implique un 'style de sortie compact' (une entrée de dictionnaire par ligne)
  dans le cas contraire la sortie n'est pas compacte (style XML : une balise par ligne, beaucoup d'indentations)

  Utiliser - comme nom de fichier pour "piper" (fichiers .dix lus/écrits sur l'entrée/sortie standard)

Notes pour développeurs

Liste de souhaits et notes pour Apertium-dixtools

Il devrait y avoir plusieurs autres options, et TOUTES les sous commandes devraient accepter un paramètre -fmt où tout pourrait être spécifié :

  • multi-mots -- une ligne ou plusieurs
  • multi-mots -- doivent ils être séparés

(parce que quelquefois avec les multi-mots complexes que vous voulez avoir se traitent (?) différemment et séparément ex: vous avez une section pour des verbes qui contient d'abord les verbes "simples", puis les verbes multi-mots)

  • multi-mots -- les verbes simples sont un par ligne
  • multi-mots -- et les verbes multi-mots sont sur plusieurs lignes

Voir aussi Crossdics : Génération d'une paire de langue à partir de 2 autres