Apertium-dixtools (français)
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.
- Inversion d'un dictionnaire bilingue : n'est 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 (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 regrouper des listes de mots issus de plusieurs dictionnaires (morphologiques) unilingues.
Contents
Installation d'Apertium-dixtools
Prérequis logiciels
Vous devrez installer Ant et Java Development Kit 6 (JDK6)
$ sudo apt-get install ant sun-java6-jdk
Téléchargement
$ svn co https://svn.code.sf.net/p/apertium/svn/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.
... c'est que le programme a été construit correctement, mais 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 d'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: trouve 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 afficher l'aide sur une tâche, appelez-la sans paramètre.
Options génériques : (principalement pour les tâches qui envoient en sortie des fichiers .dix)
-debug affiche les informations supplémentaires de debug -noProcComments ne pas ajouter 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 l'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 multimots 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