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

From Apertium
Jump to navigation Jump to search
(Introduction)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
[[Apertium-dixtools|In English]]
  +
 
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).
 
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).
   
Line 7: Line 9:
 
Parmi les ''tâches'' disponibles, on trouve :
 
Parmi les ''tâches'' disponibles, on trouve :
   
* [[Formatage de dictionnaires]] pour mettre en forme les définitions/traductions des mots, un mot par ligne.
+
* [[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.
+
* [[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.
+
* [[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.
+
* [[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.
+
* [[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.
+
* [[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.
+
* [[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.
+
* [[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.
+
* [[Fusion de dictionnaires]] : permet de regrouper des listes de mots issus de plusieurs dictionnaires (morphologiques) unilingues.
   
   
   
== Installation de Apertium-dixtools ==
+
== Installation d'Apertium-dixtools ==
   
=== Pré-requis logiciels ===
+
=== Prérequis logiciels ===
   
Vous aurez besoin d'installer [http://ant.apache.org/ Ant] et [http://java.sun.com/javase/downloads/index.jsp Java Development Kit 6 (JDK6)]
+
Vous devrez installer [http://ant.apache.org/ Ant] et [http://java.sun.com/javase/downloads/index.jsp Java Development Kit 6 (JDK6)]
   
 
$ sudo apt-get install ant sun-java6-jdk
 
$ sudo apt-get install ant sun-java6-jdk
Line 30: Line 32:
   
 
<pre>
 
<pre>
$ svn co https://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-dixtools
+
$ git clone https://github.com/apertium/apertium-dixtools
 
</pre>
 
</pre>
   
Line 46: Line 48:
   
 
Note :
 
Note :
* Si vous faites une mise à jour depuis SVN, c'est toujours une bonne idée de faire d'abord 'ant clean'.
+
* * Si vous faites une mise à jour depuis Github, 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.
+
'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 ====
 
==== Problèmes ====
Line 85: Line 87:
 
==== Si le test échoue ====
 
==== Si le test échoue ====
   
Si vous obtenez quelque-chose comme
+
Si vous obtenez quelque chose comme
   
 
<pre>
 
<pre>
Line 98: Line 100:
 
</pre>
 
</pre>
   
... alors le programme a été construit correctement, mais il ne passe pas les tests. Il peut toujours être installé et fonctionnera probablement bien.
+
... 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
 
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
Line 112: Line 114:
 
$ sudo ant install
 
$ sudo ant install
   
== Utilisation de Apertium-dixtools ==
+
== Utilisation d'Apertium-dixtools ==
   
 
Usage: apertium-dixtools [tache] [options génériques] [paramètres tache] ...
 
Usage: apertium-dixtools [tache] [options génériques] [paramètres tache] ...
Line 119: Line 121:
 
cross-param: croise 2 paires de langues (en utilisant les paramètres de ligne de commande) [[Crossdics : Génération d'une paire de langue à partir de 2 autres|Crossdics]]
 
cross-param: croise 2 paires de langues (en utilisant les paramètres de ligne de commande) [[Crossdics : Génération d'une paire de langue à partir de 2 autres|Crossdics]]
 
merge-morph: fusionne deux dictionnaires morphologiques (monodix) [[Fusion de dictionnaires]]
 
merge-morph: fusionne deux dictionnaires morphologiques (monodix) [[Fusion de dictionnaires]]
equiv-paradigms: trouves les [[paradigmes équivalents]] et met à jour les références
+
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]]
 
list: liste les entrées d'un dictionnaire - voir [[Examen d'un dictionnaire]]
 
dix2trie: crée un essai à partir d'un dictionnaire bilingue existant
 
dix2trie: crée un essai à partir d'un dictionnaire bilingue existant
Line 128: Line 130:
 
fix: "fixe" un dictionnaire (supprime les doublons, convertit les espaces)
 
fix: "fixe" un dictionnaire (supprime les doublons, convertit les espaces)
   
Pour l'aide sur une tache, appelez la sans paramètre.
+
Pour afficher l'aide sur une tâche, appelez-la sans paramètre.
   
   
Options génériques : (principalement pour les taches qui envoient en sortie des fichiers .dix)
+
Options génériques : (principalement pour les tâches qui envoient en sortie des fichiers .dix)
 
<pre>
 
<pre>
 
-debug affiche les informations supplémentaires de debug
 
-debug affiche les informations supplémentaires de debug
-noProcComments ne pas rajouter le traitement des commentaires (disant ce qui est fait)
+
-noProcComments ne pas ajouter le traitement des commentaires (disant ce qui est fait)
 
-stripEmptyLines supprime les lignes vides (venant du fichier original)
 
-stripEmptyLines supprime les lignes vides (venant du fichier original)
 
-alignBidix aligne un dictionnaire bilingue (&lt;p> ou &lt;i> à la colonne 10, &lt;r> à la colonne 55)
 
-alignBidix aligne un dictionnaire bilingue (&lt;p> ou &lt;i> à la colonne 10, &lt;r> à la colonne 55)
 
-alignMonodix aligne un dictionnaire unilingue (pardef 10, 30, autres entrées 25, 45)
 
-alignMonodix aligne un dictionnaire unilingue (pardef 10, 30, autres entrées 25, 45)
 
-align [[E] P R] alignement customisé (défaut &lt;p>/&lt;i> à la colonne 10, &lt;r> à la colonne 55)
 
-align [[E] P R] alignement customisé (défaut &lt;p>/&lt;i> à la colonne 10, &lt;r> à la colonne 55)
-alignpardef [[E] P R] alignement de paradigme (s'il diffère de d'alignement général)
+
-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)
 
Chaque option -align implique un 'style de sortie compact' (une entrée de dictionnaire par ligne)
Line 151: Line 153:
 
=== Liste de souhaits et notes pour Apertium-dixtools ===
 
=== 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é :
+
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 -- une ligne ou plusieurs
 
* multi-mots -- doivent ils être séparés
 
* 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
+
(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)
 
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 -- les verbes simples sont un par ligne

Latest revision as of 03:01, 26 October 2018

In English

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 d'Apertium-dixtools[edit]

Prérequis logiciels[edit]

Vous devrez installer Ant et Java Development Kit 6 (JDK6)

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

Téléchargement[edit]

$ git clone https://github.com/apertium/apertium-dixtools

Compilation[edit]

$ 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 Github, 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[edit]

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[edit]

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[edit]

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[edit]

$ sudo ant install

Utilisation d'Apertium-dixtools[edit]

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[edit]

Liste de souhaits et notes pour Apertium-dixtools[edit]

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