OK
AJAX error!

Les forumsLanguageToolConversion du lexique pour LanguageTool

Conversion du lexique pour LanguageTool

Salut

Je viens de télécharger le fichier "lexique-dicollecte-fr-v3.8.zip"
qui contient entre autre les fichiers "lexique-dicollecte-fr-v3.8.LT.txt"
et "tagset.LT.txt".

Deux questions :

1/ Je vois un tag "Z" dans lexique-dicollecte-fr-v3.8.LT.txt
Ce tag n'est pas documenté dans "tagset.LT.txt". Je suppose
que c'est pour les noms propres (ex : Paris). Pas sûr. Je vois
certains noms propres ont le tag N (pour "Nom", ex : France).
Il semble que "Z" soit pour les noms propres sans article.

2/ Est-il aussi possible de décrire comment utiliser le fichier
lexique-dicollecte-fr-v3.8.LT.txt pour créer le fichier french.dict
pour LanguageTool ?

Cordialement
-- Dominique
le 12 septembre 2010 à 17:33
Bonjour,

1. Si j’ai bonne mémoire, oui, j’ai créé le tag Z pour les noms propres sans article. Ceux avec un article sont étiquetés N m ou N f. J’avais fait ce choix en raison des règles existantes dans LT, mais ce n’est peut-être pas ce qui est le plus approprié.
J’ai vu sur la mailing-list de LT que vous vous étiez attelé à l’amélioration des règles grammaticales pour LT. Je pourrais modifier le script de conversion de notre lexique si vous le jugez souhaitable.

2. Il faut utiliser fsa:
languagetool.wikidot.com…
www.eti.pg.gda.pl…

Je n’ai utilisé ce logiciel qu’une seule fois il y a fort longtemps et je ne me souviens plus ce qu’il y a faire.
Le plus pénible fut de d’obtenir les exécutables pour Windows (je peux vous fournir les binaires que j’ai compilés avec Cygwin, si vous le désirez). Si vous êtes sous Linux, ça devrait être plus simple. :)
le 12 septembre 2010 à 18:14
Note: si vous utilisez LT 1.0, ce n’est pas le lexique de Dicollecte qui est inclus, mais inDico. Seules les versions de développement de LT incluent pour l’instant notre lexique (voir dans les archives de la mailing-list).

LanguageTool-1.0.1-dev-20100713.oxt :
www.languagetool.org…
le 12 septembre 2010 à 18:21
Admin a écrit :

> Je n’ai utilisé ce logiciel qu’une seule fois il y a fort longtemps et je ne me souviens plus ce qu’il y a faire.

J'ai réussi à transformer le fichier lexique-dicollect-fr-v3.8.LT.txt en fichier french.dict pour LanguageTool comme ceci sous Linux. Ca doit aussi fonctionner avec cygwin je pense (mais je n'ai pas Windows pour essayer).

1/ Télécharger les sources de 'Finite state utilities' et compiler :

$ wget ftp.pg.gda.pl…
$ tar zxvf fsa_current.tar.gz
$ cd s_fsa
$ make
$ sudo make install

2/ Télécharger lexique-dicollecte-fr-v3.8.zip et le transformer en fichier french.dict pour LanguageTool comme ceci :

$ wget www.dicollecte.org…
$ unzip lexique-dicollecte-fr-v3.8.zip
$ (export LANG=C ; gawk -f s_fsa/morph_data.awk lexique-dicollecte-fr-v3.8.LT.txt | sort -u | fsa_build -O -o french.dict)

3/ Le fichier french.dict peut ensuite être copié dans JLanguageTool/dist/resource/fr/french.dict pour l'utiliser avec LanguageTool.
le 13 septembre 2010 à 19:39
Dans le fichier lexique-dicollecte-fr-v3.8.LT.txt pour LanguageTool, je vois :

zéro zéro D e p
zéro zéro K
zéros zéro D e p
zéros zéro K

Pourquoi zéro est-il marqué comme un pluriel ?
Zéro devrait être singulier en français (mais pluriel en anglais).

La phrase "J'ai fait zéro erreur." devrait être correcte mais LanguageTool indique une erreur :

$ echo "J'ai fait zéro erreur." | java -jar JLanguageTool/dist/LanguageTool.jar -c utf-8 -l fr -
Expected text language: French
Working on STDIN...
1.) Line 1, column 11, Rule ID: ACCORD_NOMBRE[2]
Message: « zéro » et « erreur » ne semblent pas bien accordés en nombre
J'ai fait zéro erreur.
^^^^^^^^^^^

Comment est créé le fichier lexique-dicollecte-fr-v3.8.LT.txt ?
le 15 septembre 2010 à 20:57
Le lexique pour LT comporte deux parties:

1. une conversion de notre lexique selon les règles de LT. N'ayant pas modifié ces règles, je me suis contenté de reprendre les étiquettes déjà existantes. J'ai juste ajouté l'étiquette Z pour les noms propres sans genre, car il n'existait rien de tel dans le lexique précédent de LT.
Voir ici le code de conversion en Python :
pastebin.com…

2. Une reprise des mots grammaticaux de l'ancien lexique inDico. Car, pour l'instant, les mots grammaticaux de notre dictionnaire sont seulement étiquetés [mg], ce qui ne peut servir à LT.
Voici les entrées reprises de LT. J'ai apporté des rectifications aux erreurs qu'il y avait dans inDico:
pastebin.com…

N'hésite pas à corriger ce fichier et à m'en faire part.


En ce qui concerne l'erreur avec zéro, comme tu peux le constater dans le script de conversion pour les nombres, j'ai fait une exception pour un et j'ai oublié de prendre en compte zéro.
Je corrigerai ça à mon retour chez moi.
le 16 septembre 2010 à 10:26
Est-il possible de télécharger une version plus récente du lexique pour LanguageTool ? Quand je voie une erreur avec LanguageTool, je ne suis jamais sûr si elle a déjà été corrigée depuis la dernier version officielle (3.8). Utiliser une version récente "snapshot" serait très utile, si possible générée automatiquement tous les x jours.
le 19 septembre 2010 à 10:08
Le format Hunspell et LT n’ont guère de rapport. Pour créer le lexique, il faut générer les flexions de toutes les entrées du dictionnaire, ce qui est très coûteux en mémoire et en temps machine, trop pour un script PHP sur un serveur partagé. Sans compter qu’il est nécessaire d’adjoindre au résultat un morceau ad hoc qui n’existe pas dans la base de données.
En bref, il s’agit bien d’une conversion et non d’un simple export de la base de données. Cette conversion est effectuée hors-ligne par un script en Python qui génère les dictionnaires finaux, les archives zip, les extensions pour OOo et Mozilla, recalcule les occurrences des entrées et à la fin génère les lexiques.

Je t’envoie par mail le lexique du dump de la db.
Redemande au besoin.
le 19 septembre 2010 à 12:34
> Je t’envoie par mail le lexique du dump de la db.

Merci, c'est très utile.
Je l'ai transformé en database SQLite, ce qui est très pratique pour chercher des mots qui satisfonts certains critères en faisant de requêtes SQL.

Je remarqué quelque chose qui me semble anormal :

$ grep -w grâce lexique-dicollecte-fr-v3.8.1.txt
270378 grâce grâce [mg] 25369 57539 99 | 67010 67011 100 | +1 100
270379 grâce grâce [nf] 25369 57539 99 | 67010 67011 100 | +1 100
270380 grâces grâce [nf]/pl 4552 10326 80 | 873 874 54 | -26 67

$ grep -w grâce lexique-dicollecte-fr-v3.8.1.LT.txt
grâce grâce N f s
grâces grâce N f p

Hmmm, le fichier LT ne retient que le nom (N).

$ grep -w assez lexique-dicollecte-fr-v3.8.1.txt
36767 assez assez [mg] 78212 177386 100 | 50024 50024 97 | -3 99

$ grep -w assez lexique-dicollecte-fr-v3.8.1.LT.txt

Ici, le mot "assez" a disparu dans le fichier LT.

Autrement dit, les mots étiquetés [mg] (grâce, assez, ...) n'apparaissent pas dans le fichier lexique-dicollecte-fr-v3.8.1.LT.txt.

Le mot "assez" est classifié comme adverbe chez Larousse et CNRTL.
le 19 septembre 2010 à 18:09
Ce n’est pas anormal. Tout ce qui est tagué [mg] ou [?] disparaît dans la conversion pour LT (cf. le script en Python), car je ne peux présumer de ce que je dois y mettre.
Pour tout ce qui concerne les mots grammaticaux, complète le fichier :
pastebin.com…
Je m’en servirai pour les versions suivantes.

Il existe plusieurs types d’adverbes. Faut-il tous les étiqueter de la même façon, malgré des logiques d’emploi différentes? Je vais pas répondre à cette question ici, mais on peut présumer que ça va dépendre du correcteur grammatical.
Or, LT n’est pas le seul. Pour ma part, j’ai commencé à m’occuper du correcteur Lightproof qui utilise directement le dictionnaire Hunspell. Il y a aussi le correcteur d’Agnès Souque qui verra peut-être le jour tantôt (mais ça reste un mystère).

Je préfère que vous utilisiez votre propre système pour les mots grammaticaux afin de ne pas être coincé par de possibles divergences.
le 19 septembre 2010 à 18:31
OK, je comprend. Mais en même temps, supprimer des mots ou tags cause aussi des problèmes.

Par exemple, pour LT, le mot "grâce" devient un nom féminin uniquement, alors qu'en réalité, "grâce" n'est pas seulement un nom féminin.

Une phrase comme "... intelligent grâce à son travail..." peut donner une fausse erreur car pour LT, l'adjectif masculin "intelligent" n'est pas accordé en genre avec le nom féminin "grâce".

Peut-être faut-il introduire un nouveau tag dans LT correspondant à [mg] ?
J'avoue être nouveau à tout cela et je ne sais pas si cela est envisageable.
le 19 septembre 2010 à 18:53
[mg] peut correspondre à plusieurs choses dans LT : P C D R A.
Il faut ajouter ce qui est nécessaire au fichier que j’ai mentionné. (J’ai corrigé le lien plus haut.)

grâce grâce [tag qui vous convient]

Pour les mots grammaticaux, vous pouvez vous inspirez de ceci:
lisi.insa-lyon.fr…
Voir les pages advs.dat, det.dat, con.dat, pro.dat.
le 19 septembre 2010 à 19:39

Notification par e-mail    0